Package sfs2x.client.requests
Class ChangeRoomPasswordStateRequest
- java.lang.Object
-
- sfs2x.client.requests.BaseRequest
-
- sfs2x.client.requests.ChangeRoomPasswordStateRequest
-
- All Implemented Interfaces:
sfs2x.client.requests.IRequest
public class ChangeRoomPasswordStateRequest extends BaseRequest
Changes the password of a Room. This request not only changes the password of a Room, but also its "password state", which indicates if the Room is password protected or not.If the operation is successful, the roomPasswordStateChange event is dispatched to all the users who subscribed the Group to which the target Room belongs, including the requester user himself. If the user is not the creator (owner) of the Room the roomPasswordStateChangeError event if fired. An administrator or moderator can override the constraint (he is not requested to be the Room's owner).
If the Room was configured so that password change is not allowed (see the RoomSettings.permissions parameter), the request is ignored and no error is fired.
Example
The following example changes the password of an existing Room:private void someMethod() { sfs.addEventListener(SFSEvent.ROOM_PASSWORD_STATE_CHANGE, new IEventListener() { public void dispatch(BaseEvent evt) throws SFSException { System.out.println("The password of Room " + ((Room)evt.getArguments().get("room")).getName() + " was changed successfully"); } }); sfs.addEventListener(SFSEvent.ROOM_PASSWORD_STATE_CHANGE_ERROR, new IEventListener() { public void dispatch(BaseEvent evt) throws SFSException { System.out.println("Room password change failed: " + evt.getArguments().get("errorMessage")); } }); Room theRoom = sfs.getRoomByName("Gonzo's Room"); // Change the Room's password state, so that it becomes password protected sfs.send(new ChangeRoomPasswordStateRequest(theRoom, "mammamia")); }
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
KEY_PASS
* API internal usage only *static java.lang.String
KEY_ROOM
* API internal usage only *-
Fields inherited from class sfs2x.client.requests.BaseRequest
AddBuddy, AdminMessage, AutoJoin, BanUser, BlockBuddy, CallExtension, ChangeRoomCapacity, ChangeRoomName, ChangeRoomPassword, ClusterInviteUsers, ClusterJoinOrCreate, CreateRoom, CreateSFSGame, FindRooms, FindUsers, GameServerConnectionRequired, GenericMessage, GetRoomList, GoOnline, Handshake, InitBuddyList, InvitationReply, InviteUser, JoinRoom, JoinRoomInvite, KEY_ERROR_CODE, KEY_ERROR_PARAMS, KickUser, LeaveRoom, Login, Logout, ManualDisconnection, ModeratorMessage, ObjectMessage, PingPong, PlayerToSpectator, PrivateMessage, PublicMessage, QuickJoinGame, QuickJoinOrCreateRoom, RemoveBuddy, SetBuddyVariables, SetRoomVariables, SetUserPosition, SetUserVariables, SpectatorToPlayer, SubscribeRoomGroup, UnsubscribeRoomGroup
-
-
Constructor Summary
Constructors Constructor Description ChangeRoomPasswordStateRequest(Room room, java.lang.String newPass)
Creates a new ChangeRoomPasswordStateRequest instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(ISmartFox sfs)
* API internal usage only *void
validate(ISmartFox sfs)
* API internal usage only *-
Methods inherited from class sfs2x.client.requests.BaseRequest
getId, getMessage, getTargetController, isEncrypted, setEncrypted, setId, setTargetController
-
-
-
-
Field Detail
-
KEY_ROOM
public static final java.lang.String KEY_ROOM
* API internal usage only *- See Also:
- Constant Field Values
-
KEY_PASS
public static final java.lang.String KEY_PASS
* API internal usage only *- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ChangeRoomPasswordStateRequest
public ChangeRoomPasswordStateRequest(Room room, java.lang.String newPass)
Creates a new ChangeRoomPasswordStateRequest instance. The instance must be passed to the SmartFox.send() method for the request to be performed.- Parameters:
room
- The Room object corresponding to the Room whose password should be changed.newPass
- The new password to be assigned to the Room; an empty string or thenull
value can be passed to remove the Room's password.- See Also:
SmartFox.send(sfs2x.client.requests.IRequest)
-
-