• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * $RCSfile$
3  * $Revision$
4  * $Date$
5  *
6  * Copyright 2003-2007 Jive Software.
7  *
8  * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 package org.jivesoftware.smackx.muc;
22 
23 /**
24  * A listener that is fired anytime a participant's status in a room is changed, such as the
25  * user being kicked, banned, or granted admin permissions.
26  *
27  * @author Gaston Dombiak
28  */
29 public interface ParticipantStatusListener {
30 
31     /**
32      * Called when a new room occupant has joined the room. Note: Take in consideration that when
33      * you join a room you will receive the list of current occupants in the room. This message will
34      * be sent for each occupant.
35      *
36      * @param participant the participant that has just joined the room
37      * (e.g. room@conference.jabber.org/nick).
38      */
joined(String participant)39     public abstract void joined(String participant);
40 
41     /**
42      * Called when a room occupant has left the room on its own. This means that the occupant was
43      * neither kicked nor banned from the room.
44      *
45      * @param participant the participant that has left the room on its own.
46      * (e.g. room@conference.jabber.org/nick).
47      */
left(String participant)48     public abstract void left(String participant);
49 
50     /**
51      * Called when a room participant has been kicked from the room. This means that the kicked
52      * participant is no longer participating in the room.
53      *
54      * @param participant the participant that was kicked from the room
55      * (e.g. room@conference.jabber.org/nick).
56      * @param actor the moderator that kicked the occupant from the room (e.g. user@host.org).
57      * @param reason the reason provided by the actor to kick the occupant from the room.
58      */
kicked(String participant, String actor, String reason)59     public abstract void kicked(String participant, String actor, String reason);
60 
61     /**
62      * Called when a moderator grants voice to a visitor. This means that the visitor
63      * can now participate in the moderated room sending messages to all occupants.
64      *
65      * @param participant the participant that was granted voice in the room
66      * (e.g. room@conference.jabber.org/nick).
67      */
voiceGranted(String participant)68     public abstract void voiceGranted(String participant);
69 
70     /**
71      * Called when a moderator revokes voice from a participant. This means that the participant
72      * in the room was able to speak and now is a visitor that can't send messages to the room
73      * occupants.
74      *
75      * @param participant the participant that was revoked voice from the room
76      * (e.g. room@conference.jabber.org/nick).
77      */
voiceRevoked(String participant)78     public abstract void voiceRevoked(String participant);
79 
80     /**
81      * Called when an administrator or owner banned a participant from the room. This means that
82      * banned participant will no longer be able to join the room unless the ban has been removed.
83      *
84      * @param participant the participant that was banned from the room
85      * (e.g. room@conference.jabber.org/nick).
86      * @param actor the administrator that banned the occupant (e.g. user@host.org).
87      * @param reason the reason provided by the administrator to ban the occupant.
88      */
banned(String participant, String actor, String reason)89     public abstract void banned(String participant, String actor, String reason);
90 
91     /**
92      * Called when an administrator grants a user membership to the room. This means that the user
93      * will be able to join the members-only room.
94      *
95      * @param participant the participant that was granted membership in the room
96      * (e.g. room@conference.jabber.org/nick).
97      */
membershipGranted(String participant)98     public abstract void membershipGranted(String participant);
99 
100     /**
101      * Called when an administrator revokes a user membership to the room. This means that the
102      * user will not be able to join the members-only room.
103      *
104      * @param participant the participant that was revoked membership from the room
105      * (e.g. room@conference.jabber.org/nick).
106      */
membershipRevoked(String participant)107     public abstract void membershipRevoked(String participant);
108 
109     /**
110      * Called when an administrator grants moderator privileges to a user. This means that the user
111      * will be able to kick users, grant and revoke voice, invite other users, modify room's
112      * subject plus all the partcipants privileges.
113      *
114      * @param participant the participant that was granted moderator privileges in the room
115      * (e.g. room@conference.jabber.org/nick).
116      */
moderatorGranted(String participant)117     public abstract void moderatorGranted(String participant);
118 
119     /**
120      * Called when an administrator revokes moderator privileges from a user. This means that the
121      * user will no longer be able to kick users, grant and revoke voice, invite other users,
122      * modify room's subject plus all the partcipants privileges.
123      *
124      * @param participant the participant that was revoked moderator privileges in the room
125      * (e.g. room@conference.jabber.org/nick).
126      */
moderatorRevoked(String participant)127     public abstract void moderatorRevoked(String participant);
128 
129     /**
130      * Called when an owner grants a user ownership on the room. This means that the user
131      * will be able to change defining room features as well as perform all administrative
132      * functions.
133      *
134      * @param participant the participant that was granted ownership on the room
135      * (e.g. room@conference.jabber.org/nick).
136      */
ownershipGranted(String participant)137     public abstract void ownershipGranted(String participant);
138 
139     /**
140      * Called when an owner revokes a user ownership on the room. This means that the user
141      * will no longer be able to change defining room features as well as perform all
142      * administrative functions.
143      *
144      * @param participant the participant that was revoked ownership on the room
145      * (e.g. room@conference.jabber.org/nick).
146      */
ownershipRevoked(String participant)147     public abstract void ownershipRevoked(String participant);
148 
149     /**
150      * Called when an owner grants administrator privileges to a user. This means that the user
151      * will be able to perform administrative functions such as banning users and edit moderator
152      * list.
153      *
154      * @param participant the participant that was granted administrator privileges
155      * (e.g. room@conference.jabber.org/nick).
156      */
adminGranted(String participant)157     public abstract void adminGranted(String participant);
158 
159     /**
160      * Called when an owner revokes administrator privileges from a user. This means that the user
161      * will no longer be able to perform administrative functions such as banning users and edit
162      * moderator list.
163      *
164      * @param participant the participant that was revoked administrator privileges
165      * (e.g. room@conference.jabber.org/nick).
166      */
adminRevoked(String participant)167     public abstract void adminRevoked(String participant);
168 
169     /**
170      * Called when a participant changed his/her nickname in the room. The new participant's
171      * nickname will be informed with the next available presence.
172      *
173      * @param participant the participant that was revoked administrator privileges
174      * (e.g. room@conference.jabber.org/nick).
175      * @param newNickname the new nickname that the participant decided to use.
176      */
nicknameChanged(String participant, String newNickname)177     public abstract void nicknameChanged(String participant, String newNickname);
178 
179 }
180