Hi Stephane,
Every ChatRoomPropertyChangeEvent has a name that is
supposed to carry
the name of the property that has changed.
PROPERTY_CONFIG_CHANGED seems
a bit too generic so I guess we won't be keeping it and will
define a
property name for every property that has setter and getter
methods.
Once you have set the property name, you are indeed supposed
to set true
or false for old and new value.
Does this make sense?
Emil
Stéphane Remy wrote:
> Hi Emil,
>
> If you look at the ChatRoomPropertyChangeEvent you can
see a property
> PROPERTY_CONFIG_CHANGED if a config change event occurs
this type of
> event is made but here i need to specifie which
property has changed i
> can not just put true or false in oldValue and
newValue, and my
> problem is how do i define this property if the
property are defined
> nowhere because the class ChatRoomConfigParam does not
exist anymore.
>
> Stéphane
>
> Emil Ivov <emcho emcho.com> a écrit :
>
>> Hey Stephane,
>>
>> I don't quite understand your concern.
>>
>> As far as I understand there will be a set and a
get method for every
>> major chat room property. Every time someone calls
the set method for a
>> particular property you'd send the request to the
server, and generate
>> a ChatRoomPropertyChangeEvent with the old value
(that has so far been
>> accessible through the get method) and the new one
that you have just
>> received as a param inside the set method.
>>
>> Doesn't this make sense?
>>
>> Emil
>>
>> Stéphane Remy wrote:
>>> re,
>>>
>>> I mean in ChatRoomPropertyChangeEvent i have to
put an oldValue and
>>> a newValue, and i don't know what to put here
if the config list
>>> dosen't exist anymore, i could put a String
representation of the
>>> property set but i think it is to specific to
the multi chat
>>> protocol, so the config list would help here.
>>>
>>> Stéphane
>>>
>>> Yana Stamcheva <yana sip-communicator.org> a
écrit :
>>>
>>>> Hi Stephane,
>>>>
>>>> Stéphane Remy wrote:
>>>>> Hi again Yana,
>>>>>
>>>>> After having read the code more
precisely, i think it is not a
>>>>> good idee to remove the
ChatRoomConfigParam class, i think at
>>>>> least for the "official"
property you have put now in the
>>>>> ChatRoom class because:
>>>>>
>>>>> -When a chat room property event occurs
i need to send back the
>>>>> previous config and the new config
after the changes, i can
>>>>> simply send a string like
"+tnr" and after the change "+tnri"
>>>>> but i think that makes the
implementation to dependent of the
>>>>> multi chat protocol.
>>>>>
>>>> I don't understand, could you please
explain in details what you mean?
>>>>
>>>> Yana
>>>>
>>>>> -I think it is more clear in the
ChatRoom class to have only
>>>>> these two methods:
>>>>>
>>>>> void setProperty(ChatRoomConfigParam
x)
>>>>> boolean
isPropertySet(ChatRoomConfigParam x)
>>>>>
>>>>> -But i think it is a good idee to limit
the number of property to
>>>>> the most important ones, so the
advanced method is a good
>>>>> choice for the other property.
>>>>>
>>>>> Stéphane
>>>>>
>>>>> Stéphane Remy <stephane.remy ulp.u-strasbg.fr> a écrit :
>>>>>
>>>>>> Hi Yana,
>>>>>>
>>>>>> Thanks that's what i wanted to know
>>>>>>
>>>>>> Stéphane
>>>>>>
>>>>>>
>>>>>> Yana Stamcheva <yana sip-communicator.org> a écrit :
>>>>>>
>>>>>>> Hi Stephane,
>>>>>>>
>>>>>>> Stéphane Remy wrote:
>>>>>>>> Hi Yana,
>>>>>>>>
>>>>>>>> I was wrong in my previous
mail, i did not see that you
>>>>>>>> commited a new ChatRoom
service a few hours before my mail
>>>>>>>> :/ Ok now i understand
what you mean, but can you explain
>>>>>>>> me what is for you an
advanced config property and who
>>>>>>>> decide the property names
and the value? It's not really
>>>>>>>> clear for me.
>>>>>>> The ChatRoom contains a number
of properties which could be set, but we
>>>>>>> have created these properties
considering what is needed for the IRC
>>>>>>> and Jabber implementations of
the Multi Chat. However another
>>>>>>> implementation could need some
different configurations to set. Then
>>>>>>> the addAdvancedConfigProperty
method can be used and it depend on the
>>>>>>> implementation what would be
the name and the value of the property.
>>>>>>> These advanced properties would
not be visible for the GUI for example,
>>>>>>> but they would be usable for
anyone who knows that they exist (it could
>>>>>>> be a gui plugin that add some
more functionality in the chat window
>>>>>>> only for the given protocol
provider).
>>>>>>>
>>>>>>>> And i've seen that you
added a join listener in ChatRoom, but
>>>>>>>> the
MemberPresenceListener does it already, maybe you
>>>>>>>> meant to add it in
OperationSetMultiUserChat to know when
>>>>>>>> a ChatRoom is joined.
>>>>>>>>
>>>>>>> Actually it was the
ChatRoomLocalUserPresenceListener which was exactly
>>>>>>> what I needed. I've removed the
JoinListener. Thanks
>>>>>>>
>>>>>>> Yana
>>>>>>>
>>>>>>>> Stéphane
>>>>>>>>
>>>>>>>> Yana Stamcheva <yana sip-communicator.org> a écrit :
>>>>>>>>
>>>>>>>>> Hi Stephane,
>>>>>>>>>
>>>>>>>>> I've added some inline
comments.
>>>>>>>>>
>>>>>>>>> Yana
>>>>>>>>>
>>>>>>>>> Stéphane Remy wrote:
>>>>>>>>>> Hi Yana
>>>>>>>>>>
>>>>>>>>>> Yana Stamcheva
<yana sip-communicator.org> a écrit :
>>>>>>>>>>
>>>>>>>>>>> Hi Stéphane,
>>>>>>>>>>>
>>>>>>>>>>> I understand
what is bothering you. When I started renaming
>>>>>>>>>>> the fields
>>>>>>>>>>> as you proposed
I couldn't get rid of the idea that all these are
>>>>>>>>>>> actually
properties of the chat room. Finally after an off-list
>>>>>>>>>>> discussion with
Emil we've decided to make all known configuration
>>>>>>>>>>> params -
properties in the chat room and to have a method
>>>>>>>>>>> that allows
>>>>>>>>>>> to add advanced
configuration properties by specifying a
>>>>>>>>>>> property name
>>>>>>>>>>> and value. You
could have a look at the ChatRoom interface
>>>>>>>>>>> and see how
>>>>>>>>>>> it looks after
the modifications.
>>>>>>>>>> Yep, i've undersand
that if that was your question
>>>>>>>>>>
>>>>>>>>>>> I have some
doubts about some of the properties and I would
>>>>>>>>>>> like to ask
>>>>>>>>>>> you to have a
more detailed look at the following methods:
>>>>>>>>>>>
>>>>>>>>>>> -
isAllowInvitationSend, isAllowInvitationReceive
>>>>>>>>>>> (respectively
the set
>>>>>>>>>>> methods) -
these methods correspond the following params:
>>>>>>>>>>>
CHATROOM_INVITATION_ALLOWED,
>>>>>>>>>>>
CHATROOM_INVITATION_REQUEST_ALLOWED. The
>>>>>>>>>>> names of the
properties were a little confusing (the
>>>>>>>>>>> direction of
the
>>>>>>>>>>> invitation is
not clear) and I've tried to make them more
>>>>>>>>>>> understandable,
but I'm not sure if I understand correctly their
>>>>>>>>>>> meaning. Also
if you have another suggestion for the name
>>>>>>>>>>> if you don't
>>>>>>>>>>> like that?
>>>>>>>>>> I would modify the
isAllowInvitationSend into
>>>>>>>>>> isInvitationAllowed
because the
>>>>>>>>>>
CHATROOM_INVITATION_ALLOWED means that you can invite
>>>>>>>>>> someone on a
chatroom but i meant in my previous mail
>>>>>>>>>> that it is better
to put this into
>>>>>>>>>>
CHATROOM_INVITATION_REFUSED because by default invitation
>>>>>>>>>> are allowed so
it is easier for me to put in a list of
>>>>>>>>>> configs what is
not allowed than all the configs that
>>>>>>>>>> are allowed.
>>>>>>>>>>
>>>>>>>>> Ok, I think I haven't
explain very well in my previous mail
>>>>>>>>> the changes
>>>>>>>>> I've made in the code.
>>>>>>>>>
>>>>>>>>> As it was implemented
before you needed to worry about what is the
>>>>>>>>> default value in IRC,
because it would be easier for you not
>>>>>>>>> to specify
>>>>>>>>> explicitly the given
property. That's why I said that I
>>>>>>>>> understand what
>>>>>>>>> is bothering you. Now
the situation is completely different. Now
>>>>>>>>> configurations are
moved to the ChatRoom and each ChatRoom
>>>>>>>>> implementation should
implement all get and set methods. So for you is
>>>>>>>>> the same, whether the
isInvitationAllowed would return false
>>>>>>>>> or true by
>>>>>>>>> defalt. Am I right?
>>>>>>>>>
>>>>>>>>>> For
CHATROOM_INVITATION_REQUEST_ALLOWED that means when you
>>>>>>>>>> are not on a
chatroom and you need an invitation to get
>>>>>>>>>> into it you can
ask someone which is in the chatroom to
>>>>>>>>>> invite you by
sending a request on this chatroom. By
>>>>>>>>>> default is this
allowed for IRC. So i would put a method
>>>>>>>>>>
isInvitationDemandAllowed or isInvitationRequestAllowed.
>>>>>>>>>>
>>>>>>>>> Now for the name, I
understand better what the two properties mean, so
>>>>>>>>> we could name them as
you proposed isInvitationAllowed and
>>>>>>>>>
isInvitationRequestAllowed. I'll just add some more javadoc
comments.
>>>>>>>>>
>>>>>>>>>>> -
isAllowMessageFormatting, isFilterMessageFormatting - these
two
>>>>>>>>>>> correspond to
CHATROOM_MESSAGE_FORMAT_ALLOWED,
>>>>>>>>>>>
CHATROOM_MESSAGE_FORMAT_FILTERED. Is it possible to be in a
message
>>>>>>>>>>> format allowed
mode and to have formatted messages filtered?
>>>>>>>>>>
CHATROOM_MESSAGE_FORMAT_ALLOWED means that when you write a
>>>>>>>>>> message with
color, underlined etc... the message will
>>>>>>>>>> be send on the
chatroom so if this mode is not set the
>>>>>>>>>> server will
destroy the message and it will never be
>>>>>>>>>> displayed.
>>>>>>>>>>
>>>>>>>>>>
CHATROOM_MESSAGE_FORMAT_FILTERED means that when you write a
>>>>>>>>>> message with
color, underlined etc... the message will
>>>>>>>>>> be send on the
chatroom but without any color or
>>>>>>>>>> underline, it will
be black.
>>>>>>>>>>
>>>>>>>>>> So it is possible
to have a format allowed mode and to have
>>>>>>>>>> a filtered mode
at the same time.
>>>>>>>>>>
>>>>>>>>> Ok, I understand now.
>>>>>>>>>
>>>>>>>>>> I will try to
explain what was the aim of my previous mail,
>>>>>>>>>> for example
when you join an irc chat room this mode can
>>>>>>>>>> be set +tnr,
that means:
>>>>>>>>>>
>>>>>>>>>> t: the subject is
locked
>>>>>>>>>> n: you must be on
this chat room to write a message (you
>>>>>>>>>> cannot be only on
the server and send /msg #channel message)
>>>>>>>>>> r: this room is
registered with the Chanserv service
>>>>>>>>>>
>>>>>>>>>> So i meant that the
irc protocol gives me a string with all
>>>>>>>>>> the config that
are set on this chatroom so it is easier
>>>>>>>>>> for me if the
chat room services config match with this,
>>>>>>>>>> but that's only
to make me the life easier but if
>>>>>>>>>> you don't want to
change them i can make a list of all
>>>>>>>>>> the configs
allowed each time and filter with what this
>>>>>>>>>> string says...
>>>>>>>>>>
>>>>>>>>> Yes, I understood
perfectly what you meant in your last mail. I hope
>>>>>>>>> that after explaining
it better here, you agree that now there's no
>>>>>>>>> matter how the method
is called - ..Refused or Allowed,
>>>>>>>>> because for you
>>>>>>>>> it changes only that
you return false and not true. The idea is that I
>>>>>>>>> prefer that all methods
that restrict or allow something are named in
>>>>>>>>> one manner.
>>>>>>>>>
>>>>>>>>>> And if you wanna
more informations about the irc modes here
>>>>>>>>>> is a link:
>>>>>>>>>>
>>>>>>>>>> http://wiki.sur
-la-toile.com/Mode_IRC
>>>>>>>>> Thanks for the link It will be
usefull!
>>>>>>>>>
>>>>>>>>>>> That's all.
>>>>>>>>>>>
>>>>>>>>>>> Also, any
comments and corrections are appreciated )
>>>>>>>>>> I hope that all
i've said is clear enough otherwise don't
>>>>>>>>>> hesitate to say
that my english is bad :p And of course if
>>>>>>>>>> you have an
other question don't hesitate to ask.
>>>>>>>>>>
>>>>>>>>>> Ah and i have seen
that a service is missing or i've not
>>>>>>>>>> found it for
the chat room members statut, for example
>>>>>>>>>> when a member
change his nickname or is set in away mode
>>>>>>>>>> there are no
events, i will see if i find something...
>>>>>>>>>>
>>>>>>>>>>> Yana
>>>>>>>>>> Stéphane
>>>>>>>>>>
>>>>>>>>>>> Stéphane Remy
wrote:
>>>>>>>>>>>> Hi Yana,
>>>>>>>>>>>>
>>>>>>>>>>>> I've found
other problems in the services, can you changes
>>>>>>>>>>>> this
in ChatRoomConfigParam:
>>>>>>>>>>>>
>>>>>>>>>>>> -Change
CHAT_ROOM_EXTERNAL_MESSAGE_ALLOWED into
>>>>>>>>>>>>
CHAT_ROOM_EXTERNAL_MESSAGE_REFUSED
>>>>>>>>>>>>
>>>>>>>>>>>> -Change
CHAT_ROOM_VISIBLE into CHAT_ROOM_INVISIBLE
>>>>>>>>>>>>
>>>>>>>>>>>> -Change
CHAT_ROOM_SPECIAL_MESSAGES_ALLOWED into
>>>>>>>>>>>>
CHAT_ROOM_SPECIAL_MESSAGES_REFUSED
>>>>>>>>>>>>
>>>>>>>>>>>> -Change
CHAT_ROOM_NICKNAME_LIST_VISIBLE into
>>>>>>>>>>>>
CHAT_ROOM_NICKNAME_LIST_INVISIBLE
>>>>>>>>>>>>
>>>>>>>>>>>> -Change
CHAT_ROOM_INVITATION_ALLOWED into
>>>>>>>>>>>>
CHAT_ROOM_INVITATION_REFUSED
>>>>>>>>>>>>
>>>>>>>>>>>> -Change
CHAT_ROOM_MESSAGE_FORMAT_ALLOWED into
>>>>>>>>>>>>
CHAT_ROOM_MESSAGE_FORMAT_BLOCKED
>>>>>>>>>>>>
>>>>>>>>>>>> -Change
CHAT_ROOM_INVITATION_REQUEST_ALLOWED into
>>>>>>>>>>>>
CHAT_ROOM_INVITATION_REQUEST_REFUSED
>>>>>>>>>>>>
>>>>>>>>>>>> This
changes are because by default they are allowed or visible.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
Yana
>>>>>>>>>>>>
>>>>>>>>>>>> Stéphane
>>>>>>>>>>>>
>>>>>>>>>>>> Yana
Stamcheva <yana sip-communicator.org> a écrit :
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi
Stephane,
>>>>>>>>>>>>>
>>>>>>>>>>>>> thanks
for the remarks! I've just applied your fixes and
>>>>>>>>>>>>>
committed them
>>>>>>>>>>>>> to the
CVS.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Yana
>>>>>>>>>>>>>
>>>>>>>>>>>>>
Stéphane Remy wrote:
>>>>>>>>>>>>>> Hi
Yana,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
Sorry for the late answer. I updated my code with your
>>>>>>>>>>>>>>
changes and i'm ok with all you've done. I just
>>>>>>>>>>>>>>
noticed two things you forgot to change:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In
ChatRoomPropertyChangeEvent:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You
forgot to change PROPERTY_STATE_CHANGED into
>>>>>>>>>>>>>>
PROPERTY_CONFIG_CHANGED.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In
ChatRoomConfigParam:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You
forgot to remove _CHAT_ROOM_NOT_VISIBLE.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
Stéphane
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
Yana Stamcheva <yana sip-communicator.org> a écrit :
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
Hi Stephane,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
very well structured and complete code! You've done a
>>>>>>>>>>>>>>>
very good work!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
I have just committed your code to the cvs. I had to
>>>>>>>>>>>>>>>
make some minor
>>>>>>>>>>>>>>>
modifications so the code fit better to SIP
>>>>>>>>>>>>>>>
Communicator conventions, you
>>>>>>>>>>>>>>>
could see the list of changes below.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
General modifications
>>>>>>>>>>>>>>>
==============
>>>>>>>>>>>>>>>
- Removed special characters from author name -
>>>>>>>>>>>>>>>
Stéphane was renamed to
>>>>>>>>>>>>>>>
Stephane
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Added additional comments where needed
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Renamed
>>>>>>>>>>>>>>>
- ChatRoomLocalUserParticipationChangeEvent to
>>>>>>>>>>>>>>>
ChatRoomLocalUserPresenceChangeEvent
>>>>>>>>>>>>>>>
- ChatRoomLocalUserParticipationListener to
>>>>>>>>>>>>>>>
ChatRoomLocalUserPresenceListener -
>>>>>>>>>>>>>>>
- ChatRoomMemberParticipationChangeEvent to
>>>>>>>>>>>>>>>
ChatRoomMemberPresenceChangeEvent
>>>>>>>>>>>>>>>
- ChatRoomMemberParticipationListener to
>>>>>>>>>>>>>>>
ChatRoomMemberPresenceListener
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
After a discussion with Emil we decided to take the
>>>>>>>>>>>>>>>
"Presence" name, it
>>>>>>>>>>>>>>>
appears more intuitive
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
ChatRoom
>>>>>>>>>>>>>>>
========
>>>>>>>>>>>>>>>
- Added some additional comments to setUserLimit,
>>>>>>>>>>>>>>>
addBanMask, removeBanMask,
>>>>>>>>>>>>>>>
getBanList, getUserLimit - to explain some more details
>>>>>>>>>>>>>>>
on what ban mask or
>>>>>>>>>>>>>>>
ban list is, what is the user limit about, etc.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Renamed setState to addConfigParam - we renamed also
>>>>>>>>>>>>>>>
the ChatRoomState
>>>>>>>>>>>>>>>
class to ChatRoomConfigParam. I had a look in the
>>>>>>>>>>>>>>>
ChatRoomState class and I
>>>>>>>>>>>>>>>
would say that properties there are rather
>>>>>>>>>>>>>>>
configuration patameters and not
>>>>>>>>>>>>>>>
chat room states.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Added removeConfigParam, getSupportedConfigurationParams
and
>>>>>>>>>>>>>>>
getConfiguration - in order to be able to remove a
>>>>>>>>>>>>>>>
configuration parameter,
>>>>>>>>>>>>>>>
to obtain the list of configuration paramaters
>>>>>>>>>>>>>>>
supported by the current
>>>>>>>>>>>>>>>
implementation and to obtain the current chat room
>>>>>>>>>>>>>>>
configuration.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Added getPassword method - it was only a setPassword.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Removed final modifiers for String and int parameters
>>>>>>>>>>>>>>>
- Java API says that
>>>>>>>>>>>>>>>
"Strings are constant; their values cannot be changed
>>>>>>>>>>>>>>>
after they are
>>>>>>>>>>>>>>>
created" . And ints are not objects and they're copied
>>>>>>>>>>>>>>>
by value (i.e. a
>>>>>>>>>>>>>>>
brand new copy is created and is passed to the method),
>>>>>>>>>>>>>>>
so the final
>>>>>>>>>>>>>>>
modifier is redundant in this case.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
ChatRoomState
>>>>>>>>>>>>>>>
=============
>>>>>>>>>>>>>>>
- Renamed to ChatRoomConfigParam - as I already
>>>>>>>>>>>>>>>
mentioned the name wasn't
>>>>>>>>>>>>>>>
very well fitting the content of the class, so we tried
>>>>>>>>>>>>>>>
to make it more
>>>>>>>>>>>>>>>
intuitive
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Formatted the code - lines were longer than 80 columns
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Added additional comments
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Removed CHAT_ROOM_PASSWORD_NOT_REQUIRED,
>>>>>>>>>>>>>>>
CHATROOM_INVITATION_NOT_REQUIRED,
>>>>>>>>>>>>>>>
CHATROOM_USER_NUMBER_NOT_LIMITED, CHATROOM_NOT_MUTE,
>>>>>>>>>>>>>>>
CHATROOM_EXTERNAL_MESSAGES_NOT_ALLOWED,
CHATROOM_NOT_REGISTERED,
>>>>>>>>>>>>>>>
CHATROOM_SUBJECT_NOT_LOCKED,
>>>>>>>>>>>>>>>
CHATROOM_MESSAGE_FORMAT_NOT_ALLOWED,
>>>>>>>>>>>>>>>
CHATROOM_MESSAGE_FORMAT_NOT_FILTERED,
>>>>>>>>>>>>>>>
CHATROOM_JOIN_TIME_NOT_LIMITED, etc.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Renamed CHAT_ROOM_USER_REGISTERED to
>>>>>>>>>>>>>>>
CHAT_ROOM_ONLY_REGISTERED_USER - I
>>>>>>>>>>>>>>>
think it's more intuitive this way
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- All _XXX String constants are changed to protected -
>>>>>>>>>>>>>>>
they will be used
>>>>>>>>>>>>>>>
only internaly and may be by descendants
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
ChatRoomInvitation
>>>>>>>>>>>>>>>
==================
>>>>>>>>>>>>>>>
- get back the name of the author of the class - should
>>>>>>>>>>>>>>>
not remove the name
>>>>>>>>>>>>>>>
of the author even if the class was almost empty and we
>>>>>>>>>>>>>>>
wrote the whole
>>>>>>>>>>>>>>>
implementation
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
ChatRoomPropertyChangeEvent
>>>>>>>>>>>>>>>
===========================
>>>>>>>>>>>>>>>
- get back the name of the author of the class
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Removed the getProtocolProvider method - the protocol
>>>>>>>>>>>>>>>
provider could be
>>>>>>>>>>>>>>>
obtained from the chat room and has nothing to do in
>>>>>>>>>>>>>>>
the context of this
>>>>>>>>>>>>>>>
event
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Removed the reason field - I don't think we need to
>>>>>>>>>>>>>>>
have the String
>>>>>>>>>>>>>>>
reason, I don't really see for what it could be used.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
- Added getOldValue and getNewValue methods - in order
>>>>>>>>>>>>>>>
to be able to obtain
>>>>>>>>>>>>>>>
previous and new property values
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
That's all for now.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
Thanks again Stephane and Loic for the great work! I'll
>>>>>>>>>>>>>>>
continue with the
>>>>>>>>>>>>>>>
irc implementation now and soon we'll have all your work on
cvs.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
If you have any remarks on above changes you're welcome
>>>>>>>>>>>>>>>
to express yourself.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
Regards,
>>>>>>>>>>>>>>>
Yana
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
On 5/21/07, Stéphane Remy
>>>>>>>>>>>>>>>
<stephane.remy ulp.u-strasbg.fr> wrote:
>>>>>>>>>>>>>>>
> Hi Yana,
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> I have made a lot of changes again to this services, i
>>>>>>>>>>>>>>>
> hope i didn't
>>>>>>>>>>>>>>>
> forget something, otherwise don't hesitate to tell it
>>>>>>>>>>>>>>>
> to me i will
>>>>>>>>>>>>>>>
> fixe it.
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> Quoting Yana Stamcheva <yana sip-communicator.org>:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>> Hi Stephane,
>>>>>>>>>>>>>>>
>>
>>>>>>>>>>>>>>>
>> Sorry for the late response. You have done really
>>>>>>>>>>>>>>>
>> good work here. Bravo!
>>>>>>>>>>>>>>>
>>
>>>>>>>>>>>>>>>
>> I would propose just some minor changes to
discuss:
>>>>>>>>>>>>>>>
>> - In ChatRoomMemberRoleListener we should called
the method
>>>>>>>>>>>>>>>
>> memberRoleChanged, instead of memberStatusChanged.
(I
>>>>>>>>>>>>>>>
>> think it's a copy
>>>>>>>>>>>>>>>
>> paste error)
>>>>>>>>>>>>>>>
> I have changed that.
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>> - In ChatRoomInvitatioXXXEvent we should rename the
method
>>>>>>>>>>>>>>>
>> getSourceMessage to getSourceInvitation or
>>>>>>>>>>>>>>>
>> getChatRoomInvitation,
>>>>>>>>>>>>>>>
>> because actually it returns a ChatRoomInvitation.
>>>>>>>>>>>>>>>
> It's fixed too.
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>> - After a discussion with Emil we think that it
would
>>>>>>>>>>>>>>>
>> be correct that
>>>>>>>>>>>>>>>
>> ChatRoomPropertyChangeEvent extends
>>>>>>>>>>>>>>>
>> java.beans.PropertyChangeEvent and
>>>>>>>>>>>>>>>
>> thus it should implement getOldValue and
getNewValue methods.
>>>>>>>>>>>>>>>
> For this part i have made a lot of changes, i have used
the
>>>>>>>>>>>>>>>
> java.beans.PropertyChangeEvent, but i have also
>>>>>>>>>>>>>>>
> created a class name
>>>>>>>>>>>>>>>
> ChatRoomState which contains all the possible states
>>>>>>>>>>>>>>>
> for a chat room.
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>> - We have some doubts for the name TOPIC_CHANGED.
In
>>>>>>>>>>>>>>>
>> the ChatRoom we
>>>>>>>>>>>>>>>
>> already have a property called "subject",
so may be
>>>>>>>>>>>>>>>
>> it's better to call
>>>>>>>>>>>>>>>
>> it SUBJECT_CHANGED here also.
>>>>>>>>>>>>>>>
> It's fixed too.
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>> - In fact all the names of properties in the
>>>>>>>>>>>>>>>
>> ChatRoomPropertyChangeEvent are not very well
>>>>>>>>>>>>>>>
>> matching the convention
>>>>>>>>>>>>>>>
>> used for property names. We should change them may
be
>>>>>>>>>>>>>>>
>> by replacing MODE
>>>>>>>>>>>>>>>
>> with PROPERTY and further more by adjusting better
>>>>>>>>>>>>>>>
>> the names so that
>>>>>>>>>>>>>>>
>> they are more intuitive.
>>>>>>>>>>>>>>>
> I have made them as intuitive as possible this time,
>>>>>>>>>>>>>>>
> but if you find
>>>>>>>>>>>>>>>
> better words to make them more intuitive just tell me.
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>> - And finally all properties defined in the
>>>>>>>>>>>>>>>
>> ChatRoomPropertyChangeEvent
>>>>>>>>>>>>>>>
>> should also exist as properties in the ChatRoom,
>>>>>>>>>>>>>>>
>> because they are
>>>>>>>>>>>>>>>
>> actually properties of the chat room and we should
be
>>>>>>>>>>>>>>>
>> able to get and
>>>>>>>>>>>>>>>
>> set their value from there.
>>>>>>>>>>>>>>>
> I have changed this too.
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>> That's all for now. May be Emil will have something
to add.
>>>>>>>>>>>>>>>
>>
>>>>>>>>>>>>>>>
>> I should say one more time congratulations for the
work
>>>>>>>>>>>>>>>
>>
>>>>>>>>>>>>>>>
>> Yana
>>>>>>>>>>>>>>>
> Fot the ChatRoomState class i'm not sure if it is the
>>>>>>>>>>>>>>>
> best way to do,
>>>>>>>>>>>>>>>
> so tell me what do you think about it.
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> Stéphane
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> here is the patch:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> ### Eclipse Workspace Patch 1.0
>>>>>>>>>>>>>>>
> #P sip-communicator
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserStatusChangeEvent.java
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserStatusChangeEvent.java diff
>>>>>>>>>>>>>>>
> -N
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserStatusChangeEvent.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserStatusChangeEvent.java
>>>>>>>>>>>>>>>
> 22
>>>>>>>>>>>>>>>
> Feb 2007 12:36:02
>>>>>>>>>>>>>>>
> -0000 1.1
>>>>>>>>>>>>>>>
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
>>>>>>>>>>>>>>>
>  -1,23 +0,0 
>>>>>>>>>>>>>>>
> -/*
>>>>>>>>>>>>>>>
> - * SIP Communicator, the OpenSource Java VoIP and
>>>>>>>>>>>>>>>
> Instant Messaging
>>>>>>>>>>>>>>>
> client.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * Distributable under LGPL license.
>>>>>>>>>>>>>>>
> - * See terms of license at gnu.org.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -package
net.java.sip.communicator.service.protocol.event;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -/**
>>>>>>>>>>>>>>>
> - * Dispatched to notify interested parties that a
>>>>>>>>>>>>>>>
> change in our status in
>>>>>>>>>>>>>>>
> the
>>>>>>>>>>>>>>>
> - * source room has changed. Changes may include us
>>>>>>>>>>>>>>>
> being kicked, banned,
>>>>>>>>>>>>>>>
> or
>>>>>>>>>>>>>>>
> - * granted admin permissions.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * author Emil Ivov
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -public class ChatRoomLocalUserStatusChangeEvent
>>>>>>>>>>>>>>>
> -{
>>>>>>>>>>>>>>>
> - public ChatRoomLocalUserStatusChangeEvent()
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - super();
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -}
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberListener.java
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberListener.java diff
>>>>>>>>>>>>>>>
> -N
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberListener.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberListener.java
>>>>>>>>>>>>>>>
> 23
>>>>>>>>>>>>>>>
> Apr 2007 18:11:29
>>>>>>>>>>>>>>>
> -0000 1.1
>>>>>>>>>>>>>>>
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
>>>>>>>>>>>>>>>
>  -1,27 +0,0 
>>>>>>>>>>>>>>>
> -/*
>>>>>>>>>>>>>>>
> - * SIP Communicator, the OpenSource Java VoIP and
>>>>>>>>>>>>>>>
> Instant Messaging
>>>>>>>>>>>>>>>
> client.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * Distributable under LGPL license.
>>>>>>>>>>>>>>>
> - * See terms of license at gnu.org.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -package
net.java.sip.communicator.service.protocol.event;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -import java.util.*;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -/**
>>>>>>>>>>>>>>>
> - * Adds a listener that will be notified of changes
>>>>>>>>>>>>>>>
> in the status of the
>>>>>>>>>>>>>>>
> chat
>>>>>>>>>>>>>>>
> - * participants in a particular chat room, such as us
>>>>>>>>>>>>>>>
> being kicked,
>>>>>>>>>>>>>>>
> banned, or
>>>>>>>>>>>>>>>
> - * granted admin permissions.
>>>>>>>>>>>>>>>
> - * author Emil Ivov
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -public interface ChatRoomMemberListener
>>>>>>>>>>>>>>>
> - extends EventListener
>>>>>>>>>>>>>>>
> -{
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Called to notify interested parties that a
>>>>>>>>>>>>>>>
> change in the status of
>>>>>>>>>>>>>>>
> the
>>>>>>>>>>>>>>>
> - * source room participant has changed. Changes
>>>>>>>>>>>>>>>
> may include the
>>>>>>>>>>>>>>>
> participant
>>>>>>>>>>>>>>>
> - * being kicked, banned, or granted admin
permissions.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public void memberStatusChanged(
>>>>>>>>>>>>>>>
> ChatRoomMemberEvent evt );
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -}
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mPropertyChangeEvent.java
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
/cvs/sip-communicator/src/net/java/sip/communicator/service/
protocol/event/ChatRoomPropertyChangeEvent.java,v retrieving
revision
>>>>>>>>>>>>>>>
> 1.1
>>>>>>>>>>>>>>>
> diff -u -r1.1 ChatRoomPropertyChangeEvent.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mPropertyChangeEvent.java 22 Feb 2007
>>>>>>>>>>>>>>>
> 12:37:18
>>>>>>>>>>>>>>>
> -0000 1.1
>>>>>>>>>>>>>>>
> +++
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mPropertyChangeEvent.java 21 May 2007
>>>>>>>>>>>>>>>
> 07:05:35
>>>>>>>>>>>>>>>
> -0000
>>>>>>>>>>>>>>>
>  -6,22 +6,114 
>>>>>>>>>>>>>>>
> */
>>>>>>>>>>>>>>>
> package
net.java.sip.communicator.service.protocol.event;
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> -import java.util.*;
>>>>>>>>>>>>>>>
> +import
net.java.sip.communicator.service.protocol.ChatRoom;
>>>>>>>>>>>>>>>
> +import
>>>>>>>>>>>>>>>
>
net.java.sip.communicator.service.protocol.ProtocolProviderS
ervice
>>>>>>>>>>>>>>>
> ;
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> /**
>>>>>>>>>>>>>>>
> * <tt>ChatRoomChangeEvent</tt>s are fired
to indicate
>>>>>>>>>>>>>>>
> that a property
>>>>>>>>>>>>>>>
> of
>>>>>>>>>>>>>>>
> - * the corresponding chat room (e.g. its subject or
>>>>>>>>>>>>>>>
> type) have been
>>>>>>>>>>>>>>>
> modified.
>>>>>>>>>>>>>>>
> + * the corresponding chat room (e.g. its subject or
>>>>>>>>>>>>>>>
> state) have been
>>>>>>>>>>>>>>>
> modified.
>>>>>>>>>>>>>>>
> * The event contains references to the source chat room
and
>>>>>>>>>>>>>>>
> provider, the name
>>>>>>>>>>>>>>>
> * of the property that has just changed as well as its
>>>>>>>>>>>>>>>
> old and new
>>>>>>>>>>>>>>>
> values.
>>>>>>>>>>>>>>>
> *
>>>>>>>>>>>>>>>
> - * author Emil Ivov
>>>>>>>>>>>>>>>
> + * author Stéphane Remy
>>>>>>>>>>>>>>>
> */
>>>>>>>>>>>>>>>
> public class ChatRoomPropertyChangeEvent
>>>>>>>>>>>>>>>
> - extends EventObject
>>>>>>>>>>>>>>>
> + extends java.beans.PropertyChangeEvent
>>>>>>>>>>>>>>>
> {
>>>>>>>>>>>>>>>
> - public ChatRoomPropertyChangeEvent(Object source)
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Indicates that this event was triggered as a
>>>>>>>>>>>>>>>
> result of the source
>>>>>>>>>>>>>>>
> + * chat room subject being changed.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public static final String
PROPERTY_SUBJECT_CHANGED =
>>>>>>>>>>>>>>>
> "SubjectChanged";
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Indicates that this event was triggered as a
>>>>>>>>>>>>>>>
> result of the source
>>>>>>>>>>>>>>>
> + * chat room ban list being changed.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public static final String
PROPERTY_BAN_LIST_CHANGED =
>>>>>>>>>>>>>>>
> "BanListChanged";
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Indicates that this event was triggered as a
>>>>>>>>>>>>>>>
> result of the source
>>>>>>>>>>>>>>>
> + * chat room user limit being changed.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public static final String
PROPERTY_USER_LIMIT_CHANGED =
>>>>>>>>>>>>>>>
> "UserLimitChanged";
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Indicates that this event was triggered as a
>>>>>>>>>>>>>>>
> result of the source
>>>>>>>>>>>>>>>
> + * chat room state changed.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public static final String PROPERTY_STATE_CHANGED
>>>>>>>>>>>>>>>
> = "StateChanged";
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Indicates that this event was triggered as a
>>>>>>>>>>>>>>>
> result of the source
>>>>>>>>>>>>>>>
> + * chat room password being changed.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public static final String
PROPERTY_PASSWORD_CHANGED =
>>>>>>>>>>>>>>>
> "PasswordChanged";
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * An optional String indicating a possible
>>>>>>>>>>>>>>>
> reason why the event
>>>>>>>>>>>>>>>
> + * might have occurred.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + private String reason = null;
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + public ChatRoomPropertyChangeEvent(ChatRoom
source,
>>>>>>>>>>>>>>>
> +
String
>>>>>>>>>>>>>>>
> propertyName,
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> Object oldValue,
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> Object newValue,
>>>>>>>>>>>>>>>
> + String reason)
>>>>>>>>>>>>>>>
> + {
>>>>>>>>>>>>>>>
> + super(source, propertyName, oldValue,
newValue);
>>>>>>>>>>>>>>>
> + this.reason = reason;
>>>>>>>>>>>>>>>
> + }
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the source chat room for this event.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * return the <tt>ChatRoom</tt>
associated with this
>>>>>>>>>>>>>>>
> + * event.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public ChatRoom getSourceChatRoom()
>>>>>>>>>>>>>>>
> + {
>>>>>>>>>>>>>>>
> + return (ChatRoom)getSource();
>>>>>>>>>>>>>>>
> + }
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns a reference to the protocol provider
>>>>>>>>>>>>>>>
> where the event has
>>>>>>>>>>>>>>>
> + * originated.
>>>>>>>>>>>>>>>
> + * <p>
>>>>>>>>>>>>>>>
> + * return a reference to the
>>>>>>>>>>>>>>>
> ProtocolProviderService instance where
>>>>>>>>>>>>>>>
> this
>>>>>>>>>>>>>>>
> + * event originated.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public ProtocolProviderService
getProtocolProvider()
>>>>>>>>>>>>>>>
> + {
>>>>>>>>>>>>>>>
> + return
getSourceChatRoom().getParentProvider();
>>>>>>>>>>>>>>>
> + }
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * A reason string indicating a human readable
>>>>>>>>>>>>>>>
> reason for this event.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * return a human readable String containing
the
>>>>>>>>>>>>>>>
> reason for this
>>>>>>>>>>>>>>>
> event,
>>>>>>>>>>>>>>>
> + * or null if no particular reason was specified.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public String getReason()
>>>>>>>>>>>>>>>
> + {
>>>>>>>>>>>>>>>
> + return reason;
>>>>>>>>>>>>>>>
> + }
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns a String representation of this event.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public String toString()
>>>>>>>>>>>>>>>
> {
>>>>>>>>>>>>>>>
> - super(source);
>>>>>>>>>>>>>>>
> + return
"ChatRoomPropertyChangeEvent[type="
>>>>>>>>>>>>>>>
> + + this.getPropertyName()
>>>>>>>>>>>>>>>
> + + " sourceRoom="
>>>>>>>>>>>>>>>
> + + this.getSource().toString()
>>>>>>>>>>>>>>>
> + + "oldValue="
>>>>>>>>>>>>>>>
> + + this.getOldValue().toString()
>>>>>>>>>>>>>>>
> + + "newValue="
>>>>>>>>>>>>>>>
> + + this.getNewValue().toString()
>>>>>>>>>>>>>>>
> + + "]";
>>>>>>>>>>>>>>>
> }
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> }
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberEvent.java
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberEvent.java diff
>>>>>>>>>>>>>>>
> -N
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberEvent.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberEvent.java 23 Apr 2007
>>>>>>>>>>>>>>>
> 18:11:22
>>>>>>>>>>>>>>>
> -0000 1.1
>>>>>>>>>>>>>>>
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
>>>>>>>>>>>>>>>
>  -1,124 +0,0 
>>>>>>>>>>>>>>>
> -/*
>>>>>>>>>>>>>>>
> - * SIP Communicator, the OpenSource Java VoIP and
>>>>>>>>>>>>>>>
> Instant Messaging
>>>>>>>>>>>>>>>
> client.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * Distributable under LGPL license.
>>>>>>>>>>>>>>>
> - * See terms of license at gnu.org.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -package
net.java.sip.communicator.service.protocol.event;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -import java.util.*;
>>>>>>>>>>>>>>>
> -import net.java.sip.communicator.service.protocol.*;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -/**
>>>>>>>>>>>>>>>
> - * Dispatched to notify interested parties that a
>>>>>>>>>>>>>>>
> change in the status of
>>>>>>>>>>>>>>>
> the
>>>>>>>>>>>>>>>
> - * source room participant has changed. Changes may
>>>>>>>>>>>>>>>
> include the
>>>>>>>>>>>>>>>
> participant
>>>>>>>>>>>>>>>
> - * being kicked, banned, or granted admin
permissions.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * author Emil Ivov
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -public class ChatRoomMemberEvent
>>>>>>>>>>>>>>>
> - extends EventObject
>>>>>>>>>>>>>>>
> -{
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Indicates that this event was triggered as a
>>>>>>>>>>>>>>>
> result of the source
>>>>>>>>>>>>>>>
> - * participant joining the source chat room.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public static final String MEMBER_JOINED =
"MemberJoined";
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Indicates that this event was triggered as a
>>>>>>>>>>>>>>>
> result of the source
>>>>>>>>>>>>>>>
> - * participant being "kicked" out of the
chat room.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public static final String MEMBER_LEFT =
"MemberJoined";
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Indicates that this event was triggered as a
>>>>>>>>>>>>>>>
> result of the source
>>>>>>>>>>>>>>>
> - * participant leaving the source chat room.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public static final String MEMBER_KICKED =
"MemberKicked";
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * The member that the event relates to.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - private ChatRoomMember sourceMember = null;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * The type of this event. Values can be any of
>>>>>>>>>>>>>>>
> the MEMBER_XXX-ED
>>>>>>>>>>>>>>>
> fields.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - private String eventType = null;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * An optional String indicating a possible
>>>>>>>>>>>>>>>
> reason as to why the
>>>>>>>>>>>>>>>
> event
>>>>>>>>>>>>>>>
> - * might have occurred.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - private String reason = null;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - public ChatRoomMemberEvent(ChatRoom
sourceRoom,
>>>>>>>>>>>>>>>
> - ChatRoomMember
sourceMember,
>>>>>>>>>>>>>>>
> - String
eventType,
>>>>>>>>>>>>>>>
> - String reason
)
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - super(sourceRoom);
>>>>>>>>>>>>>>>
> - this.sourceMember = sourceMember;
>>>>>>>>>>>>>>>
> - this.eventType = eventType;
>>>>>>>>>>>>>>>
> - this.reason = reason;
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Returns the source chat room for this event.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * return the <tt>ChatRoom</tt>
associated with
>>>>>>>>>>>>>>>
> that is the
>>>>>>>>>>>>>>>
> source of this
>>>>>>>>>>>>>>>
> - * event and that the corresponding
>>>>>>>>>>>>>>>
> ChatRoomMemberBelongs to.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public ChatRoom getChatRoom()
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - return (ChatRoom)getSource();
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Returns the member that this event is
pertaining to.
>>>>>>>>>>>>>>>
> - * return the
<tt>ChatRoomMember</tt> that this
>>>>>>>>>>>>>>>
> event is pertaining
>>>>>>>>>>>>>>>
> to.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public ChatRoomMember getChatRoomMember()
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - return sourceMember;
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * A reason string indicating a human readable
>>>>>>>>>>>>>>>
> reason for this event.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * return a human readable String containing
the
>>>>>>>>>>>>>>>
> reason for this
>>>>>>>>>>>>>>>
> event,
>>>>>>>>>>>>>>>
> - * or null if no particular reason was specified.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public String getReason()
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - return reason;
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Returns the type of this event which could be
>>>>>>>>>>>>>>>
> one of the
>>>>>>>>>>>>>>>
> MEMBER_XXX-ed
>>>>>>>>>>>>>>>
> - * member field values.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * return one of the MEMBER_XXXed member
field
>>>>>>>>>>>>>>>
> values indicating
>>>>>>>>>>>>>>>
> the type
>>>>>>>>>>>>>>>
> - * of this event.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public String getEventType()
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - return eventType;
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Returns a String representation of this event.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public String toString()
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - return "ChatRoomMemberEvent[type="
>>>>>>>>>>>>>>>
> - + getEventType()
>>>>>>>>>>>>>>>
> - + " sourceRoom="
>>>>>>>>>>>>>>>
> - + getChatRoom()
>>>>>>>>>>>>>>>
> - + " member="
>>>>>>>>>>>>>>>
> - + getChatRoomMember()
>>>>>>>>>>>>>>>
> - + "]";
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -}
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserStatusListener.java
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserStatusListener.java diff
>>>>>>>>>>>>>>>
> -N
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserStatusListener.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserStatusListener.java 22 Feb 2007
>>>>>>>>>>>>>>>
> 12:36:09
>>>>>>>>>>>>>>>
> -0000 1.1
>>>>>>>>>>>>>>>
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
>>>>>>>>>>>>>>>
>  -1,25 +0,0 
>>>>>>>>>>>>>>>
> -/*
>>>>>>>>>>>>>>>
> - * SIP Communicator, the OpenSource Java VoIP and
>>>>>>>>>>>>>>>
> Instant Messaging
>>>>>>>>>>>>>>>
> client.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * Distributable under LGPL license.
>>>>>>>>>>>>>>>
> - * See terms of license at gnu.org.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -package
net.java.sip.communicator.service.protocol.event;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -import java.util.*;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -/**
>>>>>>>>>>>>>>>
> - * Adds a listener that will be notified of changes
>>>>>>>>>>>>>>>
> in our status in the
>>>>>>>>>>>>>>>
> room
>>>>>>>>>>>>>>>
> - * such as us being kicked, banned, or granted admin
>>>>>>>>>>>>>>>
> permissions.
>>>>>>>>>>>>>>>
> - * author Emil Ivov
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -public interface ChatRoomLocalUserStatusListener
>>>>>>>>>>>>>>>
> - extends EventListener
>>>>>>>>>>>>>>>
> -{
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Called to notify interested parties that a
>>>>>>>>>>>>>>>
> change in our status in
>>>>>>>>>>>>>>>
> the
>>>>>>>>>>>>>>>
> - * source soom has changed. Changes may include
>>>>>>>>>>>>>>>
> us being kicked,
>>>>>>>>>>>>>>>
> banned, or
>>>>>>>>>>>>>>>
> - * granted admin permissions.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public void
>>>>>>>>>>>>>>>
>
localUserStatusChanged(ChatRoomLocalUserStatusChangeEvent
evt);
>>>>>>>>>>>>>>>
> -}
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberRoleChangeEvent.java
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
/cvs/sip-communicator/src/net/java/sip/communicator/service/
protocol/event/ChatRoomMemberRoleChangeEvent.java,v
retrieving revision
>>>>>>>>>>>>>>>
> 1.1
>>>>>>>>>>>>>>>
> diff -u -r1.1 ChatRoomMemberRoleChangeEvent.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberRoleChangeEvent.java 23 Apr 2007
>>>>>>>>>>>>>>>
> 18:11:36
>>>>>>>>>>>>>>>
> -0000 1.1
>>>>>>>>>>>>>>>
> +++
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberRoleChangeEvent.java 21 May 2007
>>>>>>>>>>>>>>>
> 07:05:35
>>>>>>>>>>>>>>>
> -0000
>>>>>>>>>>>>>>>
>  -1,23 +1,94 
>>>>>>>>>>>>>>>
> +/*
>>>>>>>>>>>>>>>
> + * SIP Communicator, the OpenSource Java VoIP and
>>>>>>>>>>>>>>>
> Instant Messaging
>>>>>>>>>>>>>>>
> client.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * Distributable under LGPL license.
>>>>>>>>>>>>>>>
> + * See terms of license at gnu.org.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> package
net.java.sip.communicator.service.protocol.event;
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> import java.util.*;
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> +import net.java.sip.communicator.service.protocol.*;
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> /**
>>>>>>>>>>>>>>>
> - * <p> </p>
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * <p> </p>
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * <p> </p>
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * <p> </p>
>>>>>>>>>>>>>>>
> + * Dispatched to notify interested parties that a
>>>>>>>>>>>>>>>
> change in our role in
>>>>>>>>>>>>>>>
> the
>>>>>>>>>>>>>>>
> + * source room has changed. Changes may include us
>>>>>>>>>>>>>>>
> being granted
>>>>>>>>>>>>>>>
> admin permissions,
>>>>>>>>>>>>>>>
> + * or other permissions.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * see ChatRoomMemberRole
>>>>>>>>>>>>>>>
> *
>>>>>>>>>>>>>>>
> * author Emil Ivov
>>>>>>>>>>>>>>>
> + * author Stéphane Remy
>>>>>>>>>>>>>>>
> */
>>>>>>>>>>>>>>>
> public class ChatRoomMemberRoleChangeEvent
>>>>>>>>>>>>>>>
> extends EventObject
>>>>>>>>>>>>>>>
> {
>>>>>>>>>>>>>>>
> - public ChatRoomMemberRoleChangeEvent(Object
source)
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * The member that the event relates to.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + private ChatRoomMember sourceMember = null;
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * The previous role that this member had.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + private ChatRoomMemberRole previousRole =
null;
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * The new role that this member get.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + private ChatRoomMemberRole newRole = null;
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + public ChatRoomMemberRoleChangeEvent(ChatRoom
sourceRoom,
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> ChatRoomMember sourceMember,
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> ChatRoomMemberRole previousRole,
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> ChatRoomMemberRole newRole)
>>>>>>>>>>>>>>>
> {
>>>>>>>>>>>>>>>
> - super(source);
>>>>>>>>>>>>>>>
> + super(sourceRoom);
>>>>>>>>>>>>>>>
> + this.sourceMember = sourceMember;
>>>>>>>>>>>>>>>
> + this.previousRole = previousRole;
>>>>>>>>>>>>>>>
> + this.newRole = newRole;
>>>>>>>>>>>>>>>
> }
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the new role given to this member.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * return newRole the new role given to this
>>>>>>>>>>>>>>>
> member for this chat
>>>>>>>>>>>>>>>
> + * room.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public ChatRoomMemberRole getNewRole()
>>>>>>>>>>>>>>>
> + {
>>>>>>>>>>>>>>>
> + return newRole;
>>>>>>>>>>>>>>>
> + }
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the previous role that this member had
in this
>>>>>>>>>>>>>>>
> + * chat room.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * return previousRole the previous role that
this member
>>>>>>>>>>>>>>>
> + * had in this chat room.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public ChatRoomMemberRole getPreviousRole()
>>>>>>>>>>>>>>>
> + {
>>>>>>>>>>>>>>>
> + return previousRole;
>>>>>>>>>>>>>>>
> + }
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the source chat room for this event.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * return the <tt>ChatRoom</tt>
associated with
>>>>>>>>>>>>>>>
> that is the
>>>>>>>>>>>>>>>
> source of this
>>>>>>>>>>>>>>>
> + * event and that the corresponding
>>>>>>>>>>>>>>>
> ChatRoomMemberBelongs to.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public ChatRoom getSourceChatRoom()
>>>>>>>>>>>>>>>
> + {
>>>>>>>>>>>>>>>
> + return (ChatRoom)getSource();
>>>>>>>>>>>>>>>
> + }
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the member that this event is
pertaining to.
>>>>>>>>>>>>>>>
> + * return the
<tt>ChatRoomMember</tt> that this
>>>>>>>>>>>>>>>
> event is pertaining
>>>>>>>>>>>>>>>
> to.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public ChatRoomMember getSourceMember()
>>>>>>>>>>>>>>>
> + {
>>>>>>>>>>>>>>>
> + return sourceMember;
>>>>>>>>>>>>>>>
> + }
>>>>>>>>>>>>>>>
> }
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/ChatRoomInvit
ation.java
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
/cvs/sip-communicator/src/net/java/sip/communicator/service/
protocol/ChatRoomInvitation.java,v retrieving revision
>>>>>>>>>>>>>>>
> 1.1
>>>>>>>>>>>>>>>
> diff -u -r1.1 ChatRoomInvitation.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/ChatRoomInvit
ation.java
>>>>>>>>>>>>>>>
> 22
>>>>>>>>>>>>>>>
> Feb
>>>>>>>>>>>>>>>
> 2007 12:35:34 -0000 1.1
>>>>>>>>>>>>>>>
> +++
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/ChatRoomInvit
ation.java
>>>>>>>>>>>>>>>
> 21
>>>>>>>>>>>>>>>
> May
>>>>>>>>>>>>>>>
> 2007 07:05:34 -0000
>>>>>>>>>>>>>>>
>  -7,13 +7,42 
>>>>>>>>>>>>>>>
> package net.java.sip.communicator.service.protocol;
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> /**
>>>>>>>>>>>>>>>
> - * author Emil Ivov
>>>>>>>>>>>>>>>
> + * This interface representes an invitation, which is
>>>>>>>>>>>>>>>
> send from a
>>>>>>>>>>>>>>>
> chat room member
>>>>>>>>>>>>>>>
> + * to an other in order to invite this chat room
>>>>>>>>>>>>>>>
> member to join the
>>>>>>>>>>>>>>>
> chat room this invitation
>>>>>>>>>>>>>>>
> + * have for target.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * author Stéphane Remy
>>>>>>>>>>>>>>>
> */
>>>>>>>>>>>>>>>
> -public class ChatRoomInvitation
>>>>>>>>>>>>>>>
> +public interface ChatRoomInvitation
>>>>>>>>>>>>>>>
> {
>>>>>>>>>>>>>>>
> - public ChatRoomInvitation()
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - super();
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the chat room target of this
invitation
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * return the <tt>ChatRoom</tt>
target of this invitation
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public ChatRoom getTarget();
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the reason of this invitation, or null
>>>>>>>>>>>>>>>
> if there is no
>>>>>>>>>>>>>>>
> reason
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * return the reason of this invitation, or
null
>>>>>>>>>>>>>>>
> if there is no
>>>>>>>>>>>>>>>
> reason
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public String getReason();
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the subject of this invitation or null
if the
>>>>>>>>>>>>>>>
> invitation contains no
>>>>>>>>>>>>>>>
> + * subject.
>>>>>>>>>>>>>>>
> + * return the subject of this invitation or
null if the
>>>>>>>>>>>>>>>
> invitation contains no
>>>>>>>>>>>>>>>
> + * subject.
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public String getSubject();
>>>>>>>>>>>>>>>
> +
>>>>>>>>>>>>>>>
> + /**
>>>>>>>>>>>>>>>
> + * Returns the protocol provider instance that
>>>>>>>>>>>>>>>
> this invitation
>>>>>>>>>>>>>>>
> has originated
>>>>>>>>>>>>>>>
> + * in.
>>>>>>>>>>>>>>>
> + *
>>>>>>>>>>>>>>>
> + * return the
<tt>ProtocolProviderService</tt>
>>>>>>>>>>>>>>>
> instance that
>>>>>>>>>>>>>>>
> created this
>>>>>>>>>>>>>>>
> + * invitation
>>>>>>>>>>>>>>>
> + */
>>>>>>>>>>>>>>>
> + public ProtocolProviderService
getProtocolProvider();
>>>>>>>>>>>>>>>
> }
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/InvitationRec
eivedEvent.java
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/InvitationRec
eivedEvent.java diff
>>>>>>>>>>>>>>>
> -N
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/InvitationRec
eivedEvent.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/InvitationRec
eivedEvent.java
>>>>>>>>>>>>>>>
> 22
>>>>>>>>>>>>>>>
> Feb 2007 12:35:41 -0000 1.1
>>>>>>>>>>>>>>>
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
>>>>>>>>>>>>>>>
>  -1,26 +0,0 
>>>>>>>>>>>>>>>
> -/*
>>>>>>>>>>>>>>>
> - * SIP Communicator, the OpenSource Java VoIP and
>>>>>>>>>>>>>>>
> Instant Messaging
>>>>>>>>>>>>>>>
> client.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * Distributable under LGPL license.
>>>>>>>>>>>>>>>
> - * See terms of license at gnu.org.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -package net.java.sip.communicator.service.protocol;
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> -/**
>>>>>>>>>>>>>>>
> - * Delivered when we receive an invitation for
>>>>>>>>>>>>>>>
> joining an existing chat
>>>>>>>>>>>>>>>
> room.
>>>>>>>>>>>>>>>
> - * If the corresponding chat room requires a
>>>>>>>>>>>>>>>
> password, then it could be
>>>>>>>>>>>>>>>
> - * retreived by the getPassword() method. The method
>>>>>>>>>>>>>>>
> would return null if
>>>>>>>>>>>>>>>
> no
>>>>>>>>>>>>>>>
> - * password is necessary to join the specified chat
room.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * author Emil Ivov
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> -public class InvitationReceivedEvent
>>>>>>>>>>>>>>>
> - extends java.util.EventObject
>>>>>>>>>>>>>>>
> -{
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - public
>>>>>>>>>>>>>>>
> InvitationReceivedEvent(ProtocolProviderService
>>>>>>>>>>>>>>>
> srcProvider,
>>>>>>>>>>>>>>>
> - ChatRoom chatRoom)
>>>>>>>>>>>>>>>
> - {
>>>>>>>>>>>>>>>
> - super(srcProvider);
>>>>>>>>>>>>>>>
> - }
>>>>>>>>>>>>>>>
> -}
>>>>>>>>>>>>>>>
> Index:
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/ChatRoom.java
>>>>>>>>>>>>>>>
>
============================================================
======= RCS
>>>>>>>>>>>>>>>
> file:
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
>
/cvs/sip-communicator/src/net/java/sip/communicator/service/
protocol/ChatRoom.java,v retrieving revision
>>>>>>>>>>>>>>>
> 1.4
>>>>>>>>>>>>>>>
> diff -u -r1.4 ChatRoom.java
>>>>>>>>>>>>>>>
> ---
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/ChatRoom.java
>>>>>>>>>>>>>>>
> 24
>>>>>>>>>>>>>>>
> Apr 2007 12:31:25 -0000 1.4
>>>>>>>>>>>>>>>
> +++
>>>>>>>>>>>>>>>
>
src/net/java/sip/communicator/service/protocol/ChatRoom.java
>>>>>>>>>>>>>>>
> 21
>>>>>>>>>>>>>>>
> May 2007 07:05:34 -0000
>>>>>>>>>>>>>>>
>  -17,7 +17,6 
>>>>>>>>>>>>>>>
> */
>>>>>>>>>>>>>>>
> public interface ChatRoom
>>>>>>>>>>>>>>>
> {
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> /**
>>>>>>>>>>>>>>>
> * Returns the name of this
<tt>ChatRoom</tt>.
>>>>>>>>>>>>>>>
> *
>>>>>>>>>>>>>>>
>  -95,25 +94,6 
>>>>>>>>>>>>>>>
> public void leave();
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> /**
>>>>>>>>>>>>>>>
> - * Adds <tt>listener</tt> to the list
of
>>>>>>>>>>>>>>>
> listeners registered to
>>>>>>>>>>>>>>>
> receive
>>>>>>>>>>>>>>>
> - * events upon modification of chat room
>>>>>>>>>>>>>>>
> properties such as its
>>>>>>>>>>>>>>>
> subject
>>>>>>>>>>>>>>>
> - * for example.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * param listener ChatRoomChangeListener
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public void addChatRoomPropertyChangeListener(
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> ChatRoomPropertyChangeListener
>>>>>>>>>>>>>>>
> listener);
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> - * Removes <tt>listener</tt> from the
list of
>>>>>>>>>>>>>>>
> listeneres current
>>>>>>>>>>>>>>>
> registered
>>>>>>>>>>>>>>>
> - * for chat room modification events.
>>>>>>>>>>>>>>>
> - *
>>>>>>>>>>>>>>>
> - * param listener the
>>>>>>>>>>>>>>>
> <tt>ChatRoomChangeListener</tt> to
remove.
>>>>>>>>>>>>>>>
> - */
>>>>>>>>>>>>>>>
> - public void removeChatRoomPropertyChangeListener(
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> ChatRoomPropertyChangeListener
>>>>>>>>>>>>>>>
> listener);
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> - /**
>>>>>>>>>>>>>>>
> * Returns the last known room subject/theme or
>>>>>>>>>>>>>>>
> <tt>null</tt> if the
>>>>>>>>>>>>>>>
> user
>>>>>>>>>>>>>>>
> * hasn't joined the room or the room does not have a
>>>>>>>>>>>>>>>
> subject yet.
>>>>>>>>>>>>>>>
> * <p>
>>>>>>>>>>>>>>>
>  -163,41 +143,88 
>>>>>>>>>>>>>>>
> throws OperationFailedException;
>>>>>>>>>>>>>>>
>
>>>>>>>>>>>>>>>
> /**
>>>>>>>>>>>>>>>
> - * Adds a listener that will be notified of
>>>>>>>>>>>>>>>
> changes in our status
>>>>>>>>>>>>>>>
> in the room
>>>>>>>>>>>>>>>
> - * such as us being kicked, banned, or granted
>>>>>>>>>>>>>>>
> admin permissions.
>>>>>>>>>>>>>>>
> + * Adds a listener that will be notified of changes
in our
>>>>>>>>>>>>>>>
> participation in the room
>>>>>>>>>>>>>>>
> + * such as us being kicked, join, left.
>>>>>>>>>>>>>>>
> *
>>>>>>>>>>>>>>>
> - * param listener a local user status listener.
>>>>>>>>>>>>>>>
> + * param listener a local user participation listener.
>>>>>>>>>>>>>>>
> */
>>>>>>>>>>>>>>>
> - public void addLocalUserStatusListener(
>>>>>>>>>>>>>>>
> -
>>>>>>>>>>>>>>>
> ChatRoomLocalUserStatusListener
>>>>>>>>>>>>>>>
> listener);
>>>>>>>>>>>>>>>
> + public void addLocalUserParticipationListener(
>>>>>>>>>>>>>>>
> +
>>>& |