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)
>>> + {
>>> + super(source);
>>> +
>>> + this.from = from;
>>> + this.to = to;
>>> + this.timestamp = timestamp;
>>> + }
>>> +
>>> + /**
>>> + * Returns a reference to the
<tt>ChatRoomMember</tt> that has send
>>> the
>>> + * <tt>Invitation</tt> whose
reception this event represents.
>>> + *
>>> + * return a reference to the
<tt>ChatRoomMember</tt> that has send
>>> 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 the
>>> + * <tt>Invitation</tt> whose
reception this event represents.
>>> + *
>>> + * return a reference to the
<tt>ChatRoomMember</tt> that is the
>>> target of the
>>> + * <tt>Invitation</tt> whose
reception this event represents.
>>> + */
>>> + public ChatRoomMember getTo()
>>> + {
>>> + return to;
>>> + }
>>> +
>>> + /**
>>> + * Returns the invitation that triggered
this event
>>> + * return the <tt>Invitation</tt>
that triggered this event.
>>> + */
>>> + 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/ChatRoomState
.java
>>>
============================================================
=======
>>> RCS file:
>>>
src/net/java/sip/communicator/service/protocol/ChatRoomState
.java
>>> diff -N
>>>
src/net/java/sip/communicator/service/protocol/ChatRoomState
.java
>>> --- /dev/null 1 Jan 1970 00:00:00 -0000
>>> +++
>>>
src/net/java/sip/communicator/service/protocol/ChatRoomState
.java
>>> 1
>>> Jan 1970 00:00:00 -0000
>>>  -0,0 +1,589 
>>> +/*
>>> + * 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;
>>> +
>>> +/**
>>> + * The ChatRoomState class reflects the
current state of a chat room.
>>> + *
>>> + * author Stéphane Remy
>>> + */
>>> +public class ChatRoomState
>>> +{
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_VISIBLE state.
>>> + * <p>
>>> + * This constant has the String value
"Visible".
>>> + */
>>> + public static final String
_CHATROOM_VISIBLE = "Visible";
>>> +
>>> + /**
>>> + * This constant value indicates that the
associated chat room is
>>> currently in
>>> + * a visible state.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_VISIBLE = new
>>> ChatRoomState(_CHATROOM_VISIBLE);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_NOT_VISIBLE state.
>>> + * <p>
>>> + * This constant has the String value
"Not Visible".
>>> + */
>>> + public static final String
_CHATROOM_NOT_VISIBLE = "Not
>>> Visible";
>>> +
>>> + /**
>>> + * This constant value indicates that the
associated chat room is
>>> currently not in
>>> + * a visible state.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_NOT_VISIBLE = new
>>> ChatRoomState(_CHATROOM_NOT_VISIBLE);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_PASSWORD_REQUIRED state.
>>> + * <p>
>>> + * This constant has the String value
"Password Required".
>>> + */
>>> + public static final String
_CHATROOM_PASSWORD_REQUIRED =
>>> "Password
>>> Required";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in a
>>> + * password required state.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_PASSWORD_REQUIRED
>>> = new
>>> ChatRoomState(_CHATROOM_PASSWORD_REQUIRED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_PASSWORD_NOT_REQUIRED state.
>>> + * <p>
>>> + * This constant has the String value
"Password Not Required".
>>> + */
>>> + public static final String
_CHATROOM_PASSWORD_NOT_REQUIRED =
>>> "Password Not Required";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently not in a
>>> + * password required state.
>>> + */
>>> + public static final ChatRoomState
>>> CHATROOM_PASSWORD_NOT_REQUIRED =
>>> new
ChatRoomState(_CHATROOM_PASSWORD_NOT_REQUIRED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_INVITATION_REQUIRED state.
>>> + * <p>
>>> + * This constant has the String value
"Invitation Required".
>>> + */
>>> + public static final String
_CHATROOM_INVITATION_REQUIRED =
>>> "Invitation Required";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in an
>>> + * invitation required state.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_INVITATION_REQUIRED =
>>> new
>>> ChatRoomState(_CHATROOM_INVITATION_REQUIRED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_INVITATION_NOT_REQUIRED
state.
>>> + * <p>
>>> + * This constant has the String value
"Invitation Not Required".
>>> + */
>>> + public static final String
_CHATROOM_INVITATION_NOT_REQUIRED =
>>> "Invitation Not Required";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently not in an
>>> + * invitation required state.
>>> + */
>>> + public static final ChatRoomState
>>> CHATROOM_INVITATION_NOT_REQUIRED
>>> =
>>> new
ChatRoomState(_CHATROOM_INVITATION_NOT_REQUIRED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_USER_NUMBER_LIMITED state.
>>> + * <p>
>>> + * This constant has the String value
"User Number Limited".
>>> + */
>>> + public static final String
_CHATROOM_USER_NUMBER_LIMITED = "User
>>> Number Limited";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in a
>>> + * user number limited state.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_USER_NUMBER_LIMITED =
>>> new
>>> ChatRoomState(_CHATROOM_USER_NUMBER_LIMITED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_USER_NUMBER_NOT_LIMITED
state.
>>> + * <p>
>>> + * This constant has the String value
"User Number Not Limited".
>>> + */
>>> + public static final String
_CHATROOM_USER_NUMBER_NOT_LIMITED =
>>> "User
>>> Number Not Limited";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently not in a
>>> + * user number limited state.
>>> + */
>>> + public static final ChatRoomState
>>> CHATROOM_USER_NUMBER_NOT_LIMITED
>>> =
>>> new
ChatRoomState(_CHATROOM_USER_NUMBER_NOT_LIMITED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_MUTE state.
>>> + * <p>
>>> + * This constant has the String value
"Mute".
>>> + */
>>> + public static final String
_CHATROOM_MUTE = "Mute";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in a
>>> + * mute state no messages are get from
this chat room.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_MUTE = new
>>> ChatRoomState(_CHATROOM_MUTE);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_NOT_MUTE state.
>>> + * <p>
>>> + * This constant has the String value
"Not Mute".
>>> + */
>>> + public static final String
_CHATROOM_NOT_MUTE = "Not Mute";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently not in a
>>> + * mute state messages can be get from
this chat room.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_NOT_MUTE = new
>>> ChatRoomState(_CHATROOM_NOT_MUTE);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_EXTERNAL_MESSAGES_ALLOWED
state.
>>> + * <p>
>>> + * This constant has the String value
"External Messages Allowed".
>>> + */
>>> + public static final String
_CHATROOM_EXTERNAL_MESSAGES_ALLOWED =
>>> "External Messages Allowed";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in an
>>> + * external messages allowed state,
this chat room can receive
>>> messages from user which
>>> + * are not on this chat room.
>>> + */
>>> + public static final ChatRoomState
>>> CHATROOM_EXTERNAL_MESSAGES_ALLOWED
>>> = new
ChatRoomState(_CHATROOM_EXTERNAL_MESSAGES_ALLOWED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_EXTERNAL_MESSAGES_NOT_ALLOWED
state.
>>> + * <p>
>>> + * This constant has the String value
"External Messages Not
>>> Allowed".
>>> + */
>>> + public static final String
>>> _CHATROOM_EXTERNAL_MESSAGES_NOT_ALLOWED
>>> =
>>> "External Messages Not Allowed";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently not in an
>>> + * external messages allowed state,
this chat room can not
>>> receive
>>> messages from user which
>>> + * are not on this chat room.
>>> + */
>>> + public static final ChatRoomState
>>> CHATROOM_EXTERNAL_MESSAGES_NOT_ALLOWED = new
>>>
ChatRoomState(_CHATROOM_EXTERNAL_MESSAGES_NOT_ALLOWED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_REGISTERED state.
>>> + * <p>
>>> + * This constant has the String value
"Registered".
>>> + */
>>> + public static final String
_CHATROOM_REGISTERED = "Registered";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in a
>>> + * registered state.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_REGISTERED = new
>>> ChatRoomState(_CHATROOM_REGISTERED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_NOT_REGISTERED state.
>>> + * <p>
>>> + * This constant has the String value
"Not Registered".
>>> + */
>>> + public static final String
_CHATROOM_NOT_REGISTERED = "Not
>>> Registered";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently not in a
>>> + * registered state.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_NOT_REGISTERED = new
>>> ChatRoomState(_CHATROOM_NOT_REGISTERED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_SUBJECT_LOCKED state.
>>> + * <p>
>>> + * This constant has the String value
"Subject Locked".
>>> + */
>>> + public static final String
_CHATROOM_SUBJECT_LOCKED = "Subject
>>> Locked";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in a
>>> + * subject locked state, only admin
users can change the subject
>>> of
>>> this chat room.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_SUBJECT_LOCKED = new
>>> ChatRoomState(_CHATROOM_SUBJECT_LOCKED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_SUBJECT_NOT_LOCKED state.
>>> + * <p>
>>> + * This constant has the String value
"Subject Not locked".
>>> + */
>>> + public static final String
_CHATROOM_SUBJECT_NOT_LOCKED =
>>> "Subject
>>> Not locked";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently not in a
>>> + * subject locked state, all users can
change the subject of
>>> this
>>> chat room.
>>> + */
>>> + public static final ChatRoomState
CHATROOM_SUBJECT_NOT_LOCKED =
>>> new
>>> ChatRoomState(_CHATROOM_SUBJECT_NOT_LOCKED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_MESSAGE_FORMAT_ALLOWED state.
>>> + * <p>
>>> + * This constant has the String value
"Message Format Allowed".
>>> + */
>>> + public static final String
_CHATROOM_MESSAGE_FORMAT_ALLOWED =
>>> "Message Format Allowed";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in a
>>> + * message format allowed, all colored,
underlined...
>>> messages are
>>> allowed.
>>> + */
>>> + public static final ChatRoomState
>>> CHATROOM_MESSAGE_FORMAT_ALLOWED
>>> =
>>> new
ChatRoomState(_CHATROOM_MESSAGE_FORMAT_ALLOWED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_MESSAGE_FORMAT_NOT_ALLOWED
state.
>>> + * <p>
>>> + * This constant has the String value
"Message Format Not Allowed".
>>> + */
>>> + public static final String
>>> _CHATROOM_MESSAGE_FORMAT_NOT_ALLOWED =
>>> "Message Format Not Allowed";
>>> +
>>> + /**
>>> + * This constant value indicates that
the associated chat
>>> room is
>>> currently in a
>>> + * message format not allowed, all
colored, underlined...
>>> messages
>>> are not allowed.
>>> + */
>>> + public static final ChatRoomState
>>> CHATROOM_MESSAGE_FORMAT_NOT_ALLOWED = new
>>>
ChatRoomState(_CHATROOM_MESSAGE_FORMAT_NOT_ALLOWED);
>>> +
>>> + /**
>>> + * This constant containing a String
representation of the
>>> + * CHATROOM_MESSAGE_FORMAT_FILTERED
state.
>>> + * <p>
>>> + * This c |