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(
>>>>>>>>>>>> +
>>>>>>>>>>>>
ChatRoomLocalUserParticipationListener listener);
>>>>>>>>>>>>
>>>>>>>>>>>> /**
>>>>>>>>>>>> - *
Removes a listener that was being notified of
>>>>>>>>>>>> changes in
our status
>>>>>>>>>>>> in
>>>>>>>>>>>> - * the
room such as us being kicked, banned, or granted
>>>>>>>>>>>> admin
>>>>>>>>>>>>
permissions.
>>>>>>>>>>>> + *
Removes a listener that was being 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 removeLocalUserStatusListener(
>>>>>>>>>>>> -
>>>>>>>>>>>>
ChatRoomLocalUserStatusListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> + public
void removeLocalUserParticipationListener(
>>>>>>>>>>>> +
>>>>>>>>>>>>
ChatRoomLocalUserParticipationListener listener);
>>>>>>>>>>>>
>>>>>>>>>>>> /**
>>>>>>>>>>>> - * 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 participant status listener.
>>>>>>>>>>>> + * param
listener a member participation listener.
>>>>>>>>>>>> */
>>>>>>>>>>>> - public
void addMemberListener(ChatRoomMemberListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> + public
void
>>>>>>>>>>>>
addMemberParticipationListener(ChatRoomMemberParticipationLi
stener
>>>>>>>>>>>>
>>>>>>>>>>>> listener);
>>>>>>>>>>>>
>>>>>>>>>>>> /**
>>>>>>>>>>>> - *
Removes a listener that was being notified of
>>>>>>>>>>>> changes in
the status
>>>>>>>>>>>> of
>>>>>>>>>>>> - *
other chat room participants such as users being
>>>>>>>>>>>> kicked,
banned, or
>>>>>>>>>>>> - *
granted admin permissions.
>>>>>>>>>>>> + *
Removes a listener that was being notified of changes
>>>>>>>>>>>> in the
>>>>>>>>>>>>
participation of
>>>>>>>>>>>> + *
other chat room participants such as users being
>>>>>>>>>>>> kicked,
join,
>>>>>>>>>>>> left.
>>>>>>>>>>>> *
>>>>>>>>>>>> - * param
listener a participant status listener.
>>>>>>>>>>>> + * param
listener a member participation listener.
>>>>>>>>>>>> */
>>>>>>>>>>>> - public
void removeMemberListener(
>>>>>>>>>>>> -
>>>>>>>>>>>>
ChatRoomMemberListener listener);
>>>>>>>>>>>> -
>>>>>>>>>>>> + public
void
>>>>>>>>>>>>
removeMemberParticipationListener(ChatRoomMemberParticipatio
nListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Adds a listener that will be notified of changes in
>>>>>>>>>>>> our role
>>>>>>>>>>>> in the
room
>>>>>>>>>>>> + *
such as us being granded operator.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param listener a local user role listener.
>>>>>>>>>>>> + */
>>>>>>>>>>>> +
public void
>>>>>>>>>>>>
addLocalUserRoleListener(ChatRoomLocalUserRoleListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Removes a listener that was being notified of
>>>>>>>>>>>> changes in
our role
>>>>>>>>>>>> in
>>>>>>>>>>>> + *
this chat room such as us being granded operator.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param listener a local user role listener.
>>>>>>>>>>>> + */
>>>>>>>>>>>> +
public void
>>>>>>>>>>>>
removelocalUserRoleListener(ChatRoomLocalUserRoleListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Adds a listener that will be notified of changes
>>>>>>>>>>>> of a
member
>>>>>>>>>>>> role in the
room
>>>>>>>>>>>> + *
such as being granded operator.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param listener a member role listener.
>>>>>>>>>>>> + */
>>>>>>>>>>>> +
public void
>>>>>>>>>>>>
addMemberRoleListener(ChatRoomMemberRoleListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Removes a listener that was being notified of
>>>>>>>>>>>> changes of
a
>>>>>>>>>>>> member role
in
>>>>>>>>>>>> + *
this chat room such as us being granded operator.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param listener a member role listener.
>>>>>>>>>>>> + */
>>>>>>>>>>>> +
public void
>>>>>>>>>>>>
removeMemberRoleListener(ChatRoomMemberRoleListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> +
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Adds a listener that will be notified of changes in
>>>>>>>>>>>> the
>>>>>>>>>>>> property of
the room
>>>>>>>>>>>> + *
such as the subject being change or the room
>>>>>>>>>>>> state
being changed.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param listener a property change listener.
>>>>>>>>>>>> + */
>>>>>>>>>>>> +
public void
>>>>>>>>>>>>
addPropertyChangeListener(ChatRoomPropertyChangeListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Removes a listener that was being notified of
>>>>>>>>>>>> changes in
the
>>>>>>>>>>>> property
of
>>>>>>>>>>>> + *
the chat room such as the subject being change or
>>>>>>>>>>>> the room
>>>>>>>>>>>> state being
changed.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param listener a property change listener.
>>>>>>>>>>>> + */
>>>>>>>>>>>> +
public void
>>>>>>>>>>>>
removePropertyChangeListener(ChatRoomPropertyChangeListener
>>>>>>>>>>>> listener);
>>>>>>>>>>>> +
>>>>>>>>>>>> /**
>>>>>>>>>>>> * Invites
another user to this room.
>>>>>>>>>>>> *
<p>
>>>>>>>>>>>>  -285,6
+312,82 
>>>>>>>>>>>> */
>>>>>>>>>>>> public
ProtocolProviderService getParentProvider();
>>>>>>>>>>>>
>>>>>>>>>>>> -
//include - roominfo
>>>>>>>>>>>> - /**
todo
include room info */
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Sets the password of this chat room. If the user
>>>>>>>>>>>> does not
have
>>>>>>>>>>>> the right
>>>>>>>>>>>> + * to
change the room password, or the protocol does
>>>>>>>>>>>> not
support
>>>>>>>>>>>> this, or
>>>>>>>>>>>> + * the
operation fails for some other reason, the
>>>>>>>>>>>> method
throws an
>>>>>>>>>>>> + *
<tt>OperationFailedException</tt> with the
>>>>>>>>>>>>
corresponding code.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param password the new password that we'd like
>>>>>>>>>>>> this room
to have
>>>>>>>>>>>> + *
throws OperationFailedException
>>>>>>>>>>>> + */
>>>>>>>>>>>> + public
void setPassword(final String password)
>>>>>>>>>>>> +
throws OperationFailedException;
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Adds a ban mask to the list fo ban masks of this
>>>>>>>>>>>> chat room.
If
>>>>>>>>>>>> the user
does
>>>>>>>>>>>> + * not
have the right to change the room ban list, or the
>>>>>>>>>>>> protocol
does not
>>>>>>>>>>>> + *
support this, or the operation fails for some other
>>>>>>>>>>>> reason,
>>>>>>>>>>>> the method
throws an
>>>>>>>>>>>> + *
<tt>OperationFailedException</tt> with the
>>>>>>>>>>>>
corresponding code.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param banMask the new ban mask that we'd like to
>>>>>>>>>>>> add to
this
>>>>>>>>>>>> room ban
list
>>>>>>>>>>>> + *
throws OperationFailedException
>>>>>>>>>>>> + */
>>>>>>>>>>>> + public
void addBanMask(final String banMask)
>>>>>>>>>>>> +
throws OperationFailedException;
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Remove a ban mask of the list fo ban masks of this
>>>>>>>>>>>> chat room.
>>>>>>>>>>>> If the user
does
>>>>>>>>>>>> + * not
have the right to change the room ban list, or the
>>>>>>>>>>>> protocol
does not
>>>>>>>>>>>> + *
support this, or the operation fails for some other
>>>>>>>>>>>> reason,
>>>>>>>>>>>> the method
throws an
>>>>>>>>>>>> + *
<tt>OperationFailedException</tt> with the
>>>>>>>>>>>>
corresponding code.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param banMask the ban mask that we'd like to
>>>>>>>>>>>> remove from
this
>>>>>>>>>>>> room ban
list
>>>>>>>>>>>> + *
throws OperationFailedException
>>>>>>>>>>>> + */
>>>>>>>>>>>> + public
void removeBanMask(final String banMask)
>>>>>>>>>>>> +
throws OperationFailedException;
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Sets the user limit of this chat room. If the user
>>>>>>>>>>>> does not
>>>>>>>>>>>> have the
right
>>>>>>>>>>>> + * to
change the room user limit, or the protocol does not
>>>>>>>>>>>> support
this, or
>>>>>>>>>>>> + * the
operation fails for some other reason, the
>>>>>>>>>>>> method
throws an
>>>>>>>>>>>> + *
<tt>OperationFailedException</tt> with the
>>>>>>>>>>>>
corresponding code.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param userLimit the new user limit that we'd like
>>>>>>>>>>>> this
room to
>>>>>>>>>>>> have
>>>>>>>>>>>> + *
throws OperationFailedException
>>>>>>>>>>>> + */
>>>>>>>>>>>> + public
void setUserLimit(final int userLimit)
>>>>>>>>>>>> +
throws OperationFailedException;
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Sets a state of this chat room. If the user does
>>>>>>>>>>>> not have
the
>>>>>>>>>>>> right
>>>>>>>>>>>> + * to
change the room state, or the protocol does not
>>>>>>>>>>>> support
this,
>>>>>>>>>>>> or
>>>>>>>>>>>> + * the
operation fails for some other reason, the
>>>>>>>>>>>> method
throws an
>>>>>>>>>>>> + *
<tt>OperationFailedException</tt> with the
>>>>>>>>>>>>
corresponding code.
>>>>>>>>>>>> + *
>>>>>>>>>>>> + *
param state the new state that we'd like this room
>>>>>>>>>>>> to have
>>>>>>>>>>>> + *
throws OperationFailedException
>>>>>>>>>>>> + */
>>>>>>>>>>>> + public
void setState(ChatRoomState state)
>>>>>>>>>>>> +
throws OperationFailedException;
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Returns the list of ban mask that are currently of
>>>>>>>>>>>> this
chat room.
>>>>>>>>>>>> + *
return List the ban list of this room.
>>>>>>>>>>>> + */
>>>>>>>>>>>> + public
List getBanList();
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Returns the list of states that this chat room is
>>>>>>>>>>>> currently
in.
>>>>>>>>>>>> + *
return List the list of states of this chat room.
>>>>>>>>>>>> + */
>>>>>>>>>>>> + public
List getStateList();
>>>>>>>>>>>> +
>>>>>>>>>>>> + /**
>>>>>>>>>>>> + *
Returns the limit of user of this chat room, of
>>>>>>>>>>>> returns -1
if
>>>>>>>>>>>> there is
>>>>>>>>>>>> + * no
limit.
>>>>>>>>>>>> + *
return List the list of states of this chat room.
>>>>>>>>>>>> + */
>>>>>>>>>>>> + public
int getUserLimit();
>>>>>>>>>>>> }
>>>>>>>>>>>> Index:
>>>>>>>>>>>>
>>>>>>>>>>>>
src/net/java/sip/communicator/service/protocol/OperationSetM
ultiUserChat.java
>>>>>>>>>>>>
============================================================
=======
>>>>>>>>>>>> RCS
file:
>>>>>>>>>>>>
>>>>>>>>>>>>
/cvs/sip-communicator/src/net/java/sip/communicator/service/
protocol/OperationSetMultiUserChat.java,v
>>>>>>>>>>>> retrieving
revision 1.4
>>>>>>>>>>>> diff -u
-r1.4 OperationSetMultiUserChat.java
>>>>>>>>>>>> ---
>>>>>>>>>>>>
src/net/java/sip/communicator/service/protocol/OperationSetM
ultiUserChat.java
>>>>>>>>>>>> 23 Apr 2007
18:12:44
>>>>>>>>>>>> -0000
1.4
>>>>>>>>>>>> +++
>>>>>>>>>>>>
src/net/java/sip/communicator/service/protocol/OperationSetM
ultiUserChat.java
>>>>>>>>>>>> 21 May 2007
07:05:35
>>>>>>>>>>>> -0000
>>>>>>>>>>>>  -45,11
+45,11  |