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.
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?
- 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?
That's all.
Also, any comments and corrections are appreciated )
Yana
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 
>>>>> public List
getCurrentlyJoinedChatRooms();
>>>>>
>>>>> /**
>>>>> - * Returns a list of the chat
rooms that <tt>contact</tt> has
>>>>> joined and is
>>>>> + * Returns a list of the chat
rooms that <tt>chatRoomMember</tt>
>>>>> has joined and is
>>>>> * currently active in.
>>>>> *
>>>>> - * param contact the contact
whose current ChatRooms we will be
>>>>> querying.
>>>>> - * return a list of the chat
rooms that <tt>contact</tt> has
>>>>> joined and is
>>>>> + * param chatRoomMember the
chatRoomMember whose current
>>>>> ChatRooms we will be querying.
>>>>> + * return a list of the chat
rooms that <tt>chatRoomMember</tt>
>>>>> has joined and is
>>>>> * currently active in.
>>>>> *
>>>>> * throws
OperationFailedException if an error occurs while
>>>>> trying
>>>>> to
>>>>>  -57,7 +57,7 
>>>>> * throws
OperationNotSupportedException if the server does not
>>>>> support
>>>>> * multi user chat
>>>>> */
>>>>> - public List
getCurrentlyJoinedChatRooms(Contact contact)
>>>>> + public List
getCurrentlyJoinedChatRooms(ChatRoomMember
>>>>> chatRoomMember)
>>>>> throws
OperationFailedException,
>>>>> OperationNotSupportedException;
>>>>>
>>>>> /**
>>>>>  -110,7 +110,7 
>>>>> *
>>>>> * param listener an
invitation listener.
>>>>> */
>>>>> - public void
addInvitationListener(InvitationListener listener);
>>>>> + public void
addInvitationListener(ChatRoomInvitationListener
>>>>> listener);
>>>>>
>>>>> /**
>>>>> * Removes
<tt>listener</tt> from the list of invitation
listeners
>>>>>  -118,7 +118,7 
>>>>> *
>>>>> * param listener the
invitation listener to remove.
>>>>> */
>>>>> - public void
removeInvitationListener(InvitationListener
>>>>> listener);
>>>>> + public void
removeInvitationListener(ChatRoomInvitationListener
>>>>> listener);
>>>>>
>>>>> /**
>>>>> * Adds a listener to invitation
notifications. The listener
>>>>> will be fired
>>>>>  -127,7 +127,7 
>>>>> * param listener an
invitation listener.
>>>>> */
>>>>> public void
addInvitationRejectionListener(
>>>>> -
InvitationRejectionListener
>>>>> listener);
>>>>> +
>>>>> ChatRoomInvitationRejectionListener
listener);
>>>>>
>>>>> /**
>>>>> * Removes
<tt>listener</tt> from the list of invitation
listeners
>>>>>  -136,14 +136,5 
>>>>> * param listener the
invitation listener to remove.
>>>>> */
>>>>> public void
removeInvitationRejectionListener(
>>>>> -
InvitationRejectionListener
>>>>> listener);
>>>>> -
>>>>> - /**
>>>>> - * Returns true if
<tt>contact</tt> supports multi user chat
>>>>> sessions.
>>>>> - *
>>>>> - * param contact reference to
the contact whose support for chat
>>>>> rooms
>>>>> - * we are currently querying.
>>>>> - * return a boolean indicating
whether <tt>contact</tt> supports
>>>>> chatrooms.
>>>>> - */
>>>>> - public boolean
isMultiChatSupportedByContact(Contact contact);
>>>>> +
>>>>> ChatRoomInvitationRejectionListener
listener);
>>>>> }
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserParticipationListener.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserParticipationListener.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserParticipationListener.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserParticipationListener.java
>>>>> 1
>>>>> Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,25 
>>>>> +/*
>>>>> + * 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
>>>>> participation in the room
>>>>> + * such as us being kicked, join,
left.
>>>>> + *
>>>>> + * author Emil Ivov
>>>>> + */
>>>>> +public interface
ChatRoomLocalUserParticipationListener
>>>>> + extends EventListener
>>>>> +{
>>>>> + /**
>>>>> + * Called to notify interested
parties that a change in our
>>>>> participation in the
>>>>> + * source soom has occured.
Changes may include us being kicked,
>>>>> join, left.
>>>>> + */
>>>>> + public void
>>>>>
localUserParticipationChanged(ChatRoomLocalUserParticipation
ChangeEvent
>>>>>
>>>>> evt);
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationListener.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationListener.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationListener.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationListener.java
>>>>> 1
>>>>> Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,24 
>>>>> +/*
>>>>> + * 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;
>>>>> +
>>>>> +/**
>>>>> + * A listener that is fired anytime an
invitation to join a MUC room
>>>>> is received.
>>>>> + *
>>>>> + * author Emil Ivov
>>>>> + */
>>>>> +public interface
ChatRoomInvitationListener
>>>>> +{
>>>>> + /**
>>>>> + * Called when we receive an
invitation to join an existing
>>>>> ChatRoom.
>>>>> + * <p>
>>>>> + * param evt the
<tt>ChatRoomInvitationReceivedEvent</tt> that
>>>>> contains the newly
>>>>> + * received invitation and its
source provider.
>>>>> + */
>>>>> + public abstract void
>>>>>
invitationReceived(ChatRoomInvitationReceivedEvent evt);
>>>>> +
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserRoleListener.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserRoleListener.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserRoleListener.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserRoleListener.java
>>>>> 1 Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,28 
>>>>> +/*
>>>>> + * 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 role of
>>>>> the
>>>>> chat
>>>>> + * participants in a particular chat
room, such as us being
>>>>> granded any
>>>>> of
>>>>> + * the roles you can see in
ChatRoomMemberRole.
>>>>> + *
>>>>> + * see ChatRoomMemberRole
>>>>> + *
>>>>> + * author Remy Stéphane
>>>>> + */
>>>>> +public interface
ChatRoomLocalUserRoleListener
>>>>> + extends EventListener
>>>>> +{
>>>>> + /**
>>>>> + * Called to notify interested
parties that a change in the
>>>>> role of
>>>>> the
>>>>> + * source room participant has
changed.
>>>>> + */
>>>>> + public void
localUserRoleChanged(ChatRoomLocalUserRoleChangeEvent
>>>>> evt);
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserParticipationChangeEvent.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserParticipationChangeEvent.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserParticipationChangeEvent.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserParticipationChangeEvent.java
>>>>> 1 Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,112 
>>>>> +/*
>>>>> + * 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.EventObject;
>>>>> +import
net.java.sip.communicator.service.protocol.*;
>>>>> +
>>>>> +/**
>>>>> + * Dispatched to notify interested
parties that a change in our
>>>>> paticipation in the
>>>>> + * source room has occured. Changes
may include us being kicked,
>>>>> join, left...
>>>>> + *
>>>>> + * author Emil Ivov
>>>>> + * author Stéphane Remy
>>>>> + */
>>>>> +public class
ChatRoomLocalUserParticipationChangeEvent
>>>>> + 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 = "MemberLeft";
>>>>> +
>>>>> + /**
>>>>> + * 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";
>>>>> +
>>>>> + /**
>>>>> + * Indicates that this event was
triggered as a result of the
>>>>> source
>>>>> + * participant beein deconnected
from the server brutally, or
>>>>> ping timeout.
>>>>> + */
>>>>> + public static final String
MEMBER_QUIT = "MemberQuit";
>>>>> +
>>>>> + /**
>>>>> + * 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
ChatRoomLocalUserParticipationChangeEvent(ChatRoom
>>>>> sourceRoom,
>>>>> +
>>>>> String eventType,
>>>>> +
>>>>> String reason)
>>>>> + {
>>>>> + super(sourceRoom);
>>>>> + 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();
>>>>> + }
>>>>> +
>>>>> + /**
>>>>> + * 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
"ChatRoomLocalUserStatusChangeEvent[type="
>>>>> + + getEventType()
>>>>> + + "
sourceRoom="
>>>>> + + getChatRoom()
>>>>> + + "]";
>>>>> + }
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberParticipationChangeEvent.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberParticipationChangeEvent.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberParticipationChangeEvent.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberParticipationChangeEvent.java
>>>>> 1
>>>>> Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,131 
>>>>> +/*
>>>>> + * 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
>>>>> participation of the
>>>>> + * source room participant has
changed. Changes may include the
>>>>> participant
>>>>> + * being kicked, join, left...
>>>>> + *
>>>>> + * author Emil Ivov
>>>>> + */
>>>>> +public class
ChatRoomMemberParticipationChangeEvent
>>>>> + 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 leaving the source
chat room.
>>>>> + */
>>>>> + public static final String
MEMBER_LEFT = "MemberLeft";
>>>>> +
>>>>> + /**
>>>>> + * 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_KICKED = "MemberKicked";
>>>>> +
>>>>> + /**
>>>>> + * Indicates that this event was
triggered as a result of the
>>>>> source
>>>>> + * participant beein deconnected
from the server brutally, or
>>>>> ping timeout.
>>>>> + */
>>>>> + public static final String
MEMBER_QUIT = "MemberQuit";
>>>>> +
>>>>> + /**
>>>>> + * 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
ChatRoomMemberParticipationChangeEvent(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().toString()
>>>>> + + " member="
>>>>> + +
getChatRoomMember().toString()
>>>>> + + "]";
>>>>> + }
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationRejectionListener.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationRejectionListener.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationRejectionListener.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationRejectionListener.java
>>>>> 1 Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,27 
>>>>> +/*
>>>>> + * 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.*;
>>>>> +
>>>>> +/**
>>>>> + * A listener that dispatches events
notifying that an invitation
>>>>> which
>>>>> was
>>>>> + * sent earlier has been rejected by
the invitee.
>>>>> + *
>>>>> + * author Emil Ivov
>>>>> + */
>>>>> +public interface
ChatRoomInvitationRejectionListener {
>>>>> +
>>>>> + /**
>>>>> + * Called when an invitee rejects
an invitation previously
>>>>> sent by
>>>>> us.
>>>>> + *
>>>>> + * param evt the instance of
the
>>>>>
<tt>ChatRoomInvitationRejectedEvent</tt>
>>>>> + * containing the rejected chat
room invitation as well as the
>>>>> source
>>>>> + * provider where this happened.
>>>>> + */
>>>>> + public void
invitationRejected(ChatRoomInvitationRejectedEvent
>>>>> evt);
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberParticipationListener.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberParticipationListener.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberParticipationListener.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mMemberParticipationListener.java
>>>>> 1 Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,27 
>>>>> +/*
>>>>> + * 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
>>>>> participation of the chat
>>>>> + * member in a particular chat room,
such as us being kicked,
>>>>> join, left.
>>>>> + *
>>>>> + * author Emil Ivov
>>>>> + */
>>>>> +public interface
ChatRoomMemberParticipationListener
>>>>> + extends EventListener
>>>>> +{
>>>>> + /**
>>>>> + * Called to notify interested
parties that a change in the
>>>>> participation of the
>>>>> + * source room member has changed.
Changes may include the
>>>>> participant
>>>>> + * being kicked, join, left.
>>>>> + */
>>>>> + public void
>>>>>
memberParticipationChanged(ChatRoomMemberParticipationChange
Event
>>>>> evt );
>>>>> +
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationRejectedEvent.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationRejectedEvent.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationRejectedEvent.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationRejectedEvent.java
>>>>> 1 Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,114 
>>>>> +/*
>>>>> + * 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.*;
>>>>> +
>>>>> +/**
>>>>> + *
<tt>ChatRoomInvitationRejectedEvent</tt>s
indicate reception of a
>>>>> rejection of
>>>>> + * an invitation.
>>>>> + *
>>>>> + * author Emil Ivov
>>>>> + * author Stéphane Remy
>>>>> + */
>>>>> +public class
ChatRoomInvitationRejectedEvent
>>>>> + extends EventObject
>>>>> +{
>>>>> + /**
>>>>> + * The chat room member that has
sent this rejection.
>>>>> + */
>>>>> + private ChatRoomMember from =
null;
>>>>> +
>>>>> + /**
>>>>> + * The chat room member that is
the target of this rejection.
>>>>> + */
>>>>> + private ChatRoomMember to = null;
>>>>> +
>>>>> + /**
>>>>> + * The reason why this invitation
is rejected or null if there is
>>>>> no reason
>>>>> + */
>>>>> + private String reason = null;
>>>>> +
>>>>> + /**
>>>>> + * A timestamp indicating the
exact date when the event occurred.
>>>>> + */
>>>>> + private Date timestamp = null;
>>>>> +
>>>>> + /**
>>>>> + * Creates a
<tt>ChatRoomInvitationRejectedEvent</tt>
>>>>> representing the rejection of the
>>>>> + * <tt>source</tt>
invitation rejected from the specified
>>>>> <tt>from</tt>
>>>>> + * chat room member.
>>>>> + *
>>>>> + * param source the
<tt>Invitation</tt> whose reception this
>>>>> event represents.
>>>>> + * param from the
<tt>ChatRoomMember</tt> that has sent this
>>>>> invitation rejection.
>>>>> + * param to the
<tt>ChatRoomMember</tt> that is the target of
>>>>> this invitation rejection.
>>>>> + * param timestamp the exact
date when the event ocurred.
>>>>> + */
>>>>> + public
ChatRoomInvitationRejectedEvent(ChatRoomInvitation source,
>>>>> ChatRoomMember from, ChatRoomMember to,
String reason, Date timestamp)
>>>>> + {
>>>>> + super(source);
>>>>> +
>>>>> + this.from = from;
>>>>> + this.to = to;
>>>>> + this.reason = reason;
>>>>> + this.timestamp = timestamp;
>>>>> + }
>>>>> +
>>>>> + /**
>>>>> + * Returns a reference to the
<tt>ChatRoomMember</tt> that has
>>>>> send the rejection
>>>>> + * of the
<tt>Invitation</tt> whose reception this event
>>>>> represents.
>>>>> + *
>>>>> + * return a reference to the
<tt>ChatRoomMember</tt> that has
>>>>> send the rejection
>>>>> + * of the
<tt>Invitation</tt> whose reception this event
>>>>> represents.
>>>>> + */
>>>>> + public ChatRoomMember getFrom()
>>>>> + {
>>>>> + return from;
>>>>> + }
>>>>> +
>>>>> + /**
>>>>> + * Returns a reference to the
<tt>ChatRoomMember</tt> that is the
>>>>> target of this rejection
>>>>> + * of the
<tt>Invitation</tt> whose reception this event
>>>>> represents.
>>>>> + *
>>>>> + * return a reference to the
<tt>ChatRoomMember</tt> that is the
>>>>> target of this rejection
>>>>> + * of the
<tt>Invitation</tt> whose reception this event
>>>>> represents.
>>>>> + */
>>>>> + public ChatRoomMember getTo()
>>>>> + {
>>>>> + return to;
>>>>> + }
>>>>> +
>>>>> + /**
>>>>> + * Returns the reason why this
<tt>Invitation</tt> is rejected.
>>>>> + *
>>>>> + * return the reason why this
<tt>Invitation</tt> is rejected.
>>>>> + */
>>>>> + public String getReason()
>>>>> + {
>>>>> + return reason;
>>>>> + }
>>>>> +
>>>>> + /**
>>>>> + * Returns the invitation that was
rejected.
>>>>> + * return the
<tt>Invitation</tt> that was rejected.
>>>>> + */
>>>>> + public ChatRoomInvitation
getSourceInvitation()
>>>>> + {
>>>>> + return
(ChatRoomInvitation)getSource();
>>>>> + }
>>>>> +
>>>>> + /**
>>>>> + * A timestamp indicating the
exact date when the event ocurred.
>>>>> + * return a Date indicating
when the event ocurred.
>>>>> + */
>>>>> + public Date getTimestamp()
>>>>> + {
>>>>> + return timestamp;
>>>>> + }
>>>>> +
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserRoleChangeEvent.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserRoleChangeEvent.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserRoleChangeEvent.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mLocalUserRoleChangeEvent.java
>>>>> 1
>>>>> Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,77 
>>>>> +/*
>>>>> + * 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 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
ChatRoomLocalUserRoleChangeEvent
>>>>> + extends EventObject
>>>>> +{
>>>>> + /**
>>>>> + * The previous role that this
member had.
>>>>> + */
>>>>> + private ChatRoomMemberRole
previousRole = null;
>>>>> +
>>>>> + /**
>>>>> + * The new role that this
member get.
>>>>> + */
>>>>> + private ChatRoomMemberRole
newRole = null;
>>>>> +
>>>>> + public
ChatRoomLocalUserRoleChangeEvent(ChatRoom sourceRoom,
>>>>> +
>>>>> ChatRoomMemberRole previousRole,
>>>>> +
>>>>> ChatRoomMemberRole newRole)
>>>>> + {
>>>>> + super(sourceRoom);
>>>>> + 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();
>>>>> + }
>>>>> +}
>>>>> Index:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationReceivedEvent.java
>>>>>
============================================================
=======
>>>>> RCS file:
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationReceivedEvent.java
>>>>> diff -N
>>>>>
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationReceivedEvent.java
>>>>> --- /dev/null 1 Jan 1970 00:00:00
-0000
>>>>> +++
>>>>>
src/net/java/sip/communicator/service/protocol/event/ChatRoo
mInvitationReceivedEvent.java
>>>>> 1 Jan 1970 00:00:00
>>>>> -0000
>>>>>  -0,0 +1,97 
>>>>> +/*
>>>>> + * 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.*;
>>>>> +
>>>>> +/**
>>>>> + *
<tt>ChatRoomInvitationReceivedEvent</tt>s
indicate reception of
>>>>> + * an invitation to join a chat room.
>>>>> + *
>>>>> + * author Emil Ivov
>>>>> + * author Stéphane Remy
>>>>> + */
>>>>> +public class
ChatRoomInvitationReceivedEvent
>>>>> + extends EventObject
>>>>> +{
>>>>> + /**
>>>>> + * The chat room member that has
sent this invitation.
>>>>> + */
>>>>> + private ChatRoomMember from =
null;
>>>>> +
>>>>> + /**
>>>>> + * The chat room member that is
the target of this invitation.
>>>>> + */
>>>>> + private ChatRoomMember to = null;
>>>>> +
>>>>> + /**
>>>>> + * A timestamp indicating the
exact date when the event occurred.
>>>>> + */
>>>>> + private Date timestamp = null;
>>>>> +
>>>>> + /**
>>>>> + * Creates a
<tt>InvitationReceivedEvent</tt> representing
>>>>> reception of the
>>>>> + * <tt>source</tt>
invitation received from the specified
>>>>> <tt>from</tt>
>>>>> + * chat room member.
>>>>> + *
>>>>> + * param source the
<tt>Invitation</tt> whose reception this
>>>>> event represents.
>>>>> + * param from the
<tt>ChatRoomMember</tt> that has sent this
>>>>> invitation.
>>>>> + * param to the
<tt>ChatRoomMember</tt> that is the target of
>>>>> this invitation.
>>>>> + * param timestamp the exact
date when the event ocurred.
>>>>> + */
>>>>> + public
ChatRoomInvitationReceivedEvent(ChatRoomInvitation source,
>>>>> ChatRoomMember from, ChatRoomMember to,
Date timestamp)
>>>>> + |