-
Notifications
You must be signed in to change notification settings - Fork 9
CPP API Reference
- initialize
- SetPollingMode
- update
- connect
- disconnect
- joinLobby
- leaveLobby
- subscribeLobby
- unsubscribeLobby
- joinRoom
- joinRoomWithNUser
- joinRoomInUserRange
- leaveRoom
- createRoom
- deleteRoom
- subscribeRoom
- unsubscribeRoom
- sendChat
- sendPrivateChat
- sendUpdatePeers
- getLiveRoomInfo
- getLiveUserInfo
- getLiveLobbyInfo
- setCustomUserData
- setCustomRoomData
- updateRoomProperties
- lockProperties
- unlockProperties
- getOnlineUsers
- getAllRooms
- getRoomWithNUser
- getRoomsInUserRange
- getRoomWithProperties
- setZoneRequestListener
- setRoomRequestListener
- setLobbyRequestListener
- setNotificationListener
- setConnectionRequestListener
- setUpdateRequestListener
- setChatRequestListener
###initialize
static void initialize(std::string apiKey, std::string secretKey);
Initializes the singleton instance of WarpClient with the developer credentials. This has to be called only once during the lifetime of the application. It is required before you can call any other API.
Parameters
apiKey - The Application key given when the application was created.
secretKey - The secret key corresponding to the application key given when the application was created.
Returns
void
###SetPollingMode
void SetPollingMode(bool mode);
Marmalade Only You can either run AppWarp in a separate thread or in main thread. If you want to run it in main thread then you have to Set Polling Mode to true. By default, this is set to true. If you are running AppWarp in main thread then, you have to call Update() function at-least once in your game loop.
Parameters
mode - True / False
Returns
void
###Update
void Update();
Marmalade Only Call this function at least once in your game loop if you have set polling mode to true. By, default polling mode is set to true. This function will check if there's any update from the AppWarp server.
Parameters
Returns
void
###connect
void connect(std::string username);
Sets up your connection with the AppWarp cloud server. The username passed in this method must be unique across all other concurrently connected users. If two users with the same name try to connect at the same time, then the last one will win and the older one will get disconnected. The result of the operation is provided in the onConnectDone callback of the ConnectionRequestListener.
Parameters
username - Username of the player
Returns
void
###disconnect
void disconnect();
Disconnects the connection with the AppWarp server. The result for this request will be provided in the onDisConnectDone callback of the ConnectionRequestListener.
Parameters
Returns
void
###joinLobby
void joinLobby();
Sends a join lobby request to the server. Result of the request is provided in the onJoinLobbyDone callback of the registered LobbyRequestListener objects.
Parameters
Returns
void
###leaveLobby
void leaveLobby();
Sends a leave lobby request to the server. Result of the request is provided in the onLeaveLobbyDone callback of the registered LobbyRequestListener objects.
Parameters
Returns
void
###subscribeLobby
void subscribeLobby();
Sends a subscribe lobby request to the server. Result of the request is provided in the onSubscribeLobbyDone callback of the registered LobbyRequestListener objects. Users which have subscribed to the lobby receive chat events from other users in the lobby as well as join/leave notifications about all players to and fro the lobby and all the rooms. In addition, lobby subscribers get notifications when a new room is created or deleted. All these notification events are given in the registered NotifyListener objects.
Parameters
Returns
void
###unsubscribeLobby
void unsubscribeLobby();
Sends a unsubscribe lobby request to the server. Result of the request is provided in the onUnsubscribeLobbyDone callback of the LobbyRequestListener.
Parameters
Returns
void
###joinRoom
void joinRoom(std::string roomId);
Sends a join room request to the server. Result of the request is provided in the onJoinRoomDone callback of the registered RoomRequestListener objects. A user can only be joined in one location (room or lobby) at a time. If a user joins a room, it will automatically be removed from its current location.
Parameters
roomId - Id of the room to be joined
Returns
void
###joinRoomWithNUser
void joinRoomWithNUser(int userCount);
Deprecated Sends a join room request to the server with the condition that the room must have at least the given number of users. Result of the request is provided in the onJoinRoomDone callback of the registered RoomRequestListener. This is useful is supporting quick play modes.
Parameters
userCount- number of users in room to be joined
Returns
void
###joinRoomInUserRange
void joinRoomInUserRange(int minJoinedUsers, int maxJoinedUsers, bool maxPreferred);
sends a join room request to the server for any room that currently has joined users in the range given. maxPreferred indicates the preference in the case that multiple rooms with the desired params are found. The result of the request is provided in the onJoinRoomDone callback of the registered RoomRequestListener. This is useful is supporting quick play modes.
Parameters
userCount- number of users in room to be joined
Returns
void
###joinRoomWithProperties
void joinRoomWithProperties(std::map<std::string,std::string> tableProperties);
Sends a join room request to the server with the condition that the room must have a matching set of property value pairs associated with it. This is useful in match making. Result of the request is provided in the onJoinRoomDone callback of the registered RoomRequestListener.
Parameters
tableProperties- properties of the room to be joined
Returns
void
###leaveRoom
void leaveRoom(std::string roomId);
Sends a leave room request to the server. Result of the request is provided in the onLeaveRoomDone callback of the registered RoomRequestListener.
Parameters
roomId - Id of the room to be left
Returns
void
###createRoom
void createRoom(std::string name, std::string owner, int maxUsers, std::map<std::string,std::string> tableProperties);
Sends a create room request to the server with the given meta data. Result of the request is provided in the onCreateRoomDone callback of the registered ZoneRequestListener objects. If successful, this will create a dynamic room at the server. These rooms lifetime is limited till the time users are inside it. Read more about Rooms here.
Parameters
name - name of the room
owner - administrator of the room
maxUsers - number of maximum users allowed in the room
tableProperties - properties of room for matchmaking (pass null if not required)
Returns
void
###deleteRoom
void deleteRoom(std::tring roomId);
Sends a delete room request to the server. Result of the request is provided in the onDeleteRoomDone callback of the registered ZoneRequestListener objects. Only dynamic rooms can be deleted through this API. Static rooms (created from AppHQ) can not be deleted through this. Read more about Rooms here.
Parameters
roomId - Id of the room to be deleted
Returns
void
###subscribeRoom
void subscribeRoom(std::string roomId);
Sends a subscribe room request to the server. Result of the request is provided in the onSubscribeRoomDone callback of the registered RoomRequestListener objects. Once subscribed, the client will receive all notifications from the room such as chat, update and property change events. In addition the client will also receive notifications when a user joins or leaves the subscribed room. These notifications are given in the registered NotifyListener objects.
Parameters
roomId - Id of the room to be subscribed
Returns
'void'
###unsubscribeRoom
void unsubscribeRoom(std::string roomId);
Sends a unsubscribe room request to the server. Result of the request is provided in the onUnSubscribeRoomDone callback of the registered RoomRequestListener objects.
Parameters
roomId - Id of the room to be subscribed
Returns
void
###sendChat
void sendChat(std::string message);
Sends a chat message to the room (or lobby) in which the user is currently joined. Result of the request is provided in the onSendChatDone callback of the registered ChatRequestListener objects. All users who are subscribed to the location in which the message is sent will get a onChatReceived event on their registered NotifyListener objects.
Parameters
message - message to be send
Returns
void
###sendPrivateChat
void sendPrivateChat(std::string toUser, std::string message)
Sends a private message to the given user if its online. Result of the request is provided in the onSendPrivateChatDone callback of the registered ChatRequestListener objects. The sender and receiver don't need to be in the same room or lobby for the private message to be delivered. This is useful in building invite/challenge friend like scenarios. If successful, the receiver will get a onPrivateChatReceived event on its registered NotifyListener objects.
Parameters
toUser - the recipient of the private chat
message - message to be send
Returns
void
###sendUpdatePeers
void sendUpdatePeers(byte* update, int updateLength);
Sends a byte array update message to room in which the user is currently joined. Result of the request is provided in the onSendUpdateDone callback of the registered UpdateRequestListener objects. All users who are subscribed to the room in which the update is sent will get a onUpdatePeersReceived event on their registered NotifyListener objects. This is useful if developers want to send their own binary encoded data across and is useful in minimizing the payload exchanged between the clients and AppWarp cloud server. The size of each message should be limited to 1000 bytes. The frequency at which these messages can be processed is not restricted by the server. However, the latency involved is largely determined by the client's bandwidth.
Parameters
update - binary data to be send
Returns
void
###getLiveRoomInfo
void getLiveRoomInfo(std::string roomId);
Retrieves the live information of the given room from the server. Result is provided in the onGetLiveRoomInfoDone callback of the registered RoomRequestListener objects. The information includes the names of the currently joined users, the rooms properties and any associated customData. This is useful in getting a snapshot of a rooms state.
Parameters
roomId - Id of the room
Returns
void
###getLiveUserInfo
void getLiveUserInfo(std::string username);
Retrieves the live information of the user from the server. Result is provided in the onGetLiveUserInfo callback of the registered ZoneRequestListener objects. The information (if user is online) includes the current location of the user and any associated custom data. It is useful in building scenarios where you want to find if a users friends are online or not and then join their room if found online.
Parameters
username - user who's information is requested
Returns
void
###getLiveLobbyInfo
void getLiveLobbyInfo();
Retrieves live information of the lobby from the server. Result is provided in the onGetLiveLobbyInfo callback of the registered LobbyRequestListener objects. The information returned includes the names of the users who are currently joined in the lobby.
Parameters
Returns
void
###setCustomUserData
void setCustomUserData(std::string userName, std::string customData);
Updates the custom data associated with the given user on the server (if the given user is online). Result is provided in the onSetCustomUserDataDone callback of the registered ZoneRequestListener objects. It can be useful in setting status messages or avatar url's etc for online users.
Parameters
userName - user for whom custom data has to be update
customData - custom data that will be set for the user
Returns
void
###SetCustomRoomData
Updates the custom data associated with the given room on the server. The result is provided in the onSetCustomRoomDataDone callback of the registered RoomRequestListener objects. It is recommended you use the room's properties where ever possible. Use this when you need to associate data with a room which can not be represented as key value pairs.
void SetCustomRoomData(std::string roomId, std::string customRoomData)
Parameters
roomId - Id of the room
customRoomData - custom data that will be set for the room
Returns
void
###updateRoomProperties
void updateRoomProperties(std::string roomID, std::map<std::string,std::string> tableProperties, std::vector<std::string> removeArray);
Updates the properties associated with the given room on the server. Result is provided in the onUpdatePropertyDone callback of the registered RoomRequestListener objects. Properties which are not found on the server, will be added while properties which are already present will simply be updated with the new values. You can also specify the list of properties that you want to remove from the remove. This request (if successful) will also result in an onUserChangeRoomProperty notification on the registered NotifyListener objects to be triggered for all subscribed users of the room.
Parameters
roomId - Id of the room
tableProperties - properties that will be set for the room
removeArray - properties that will be removed for the room
Returns
void
###lockProperties
void lockProperties(std::map<std::string, std::string> properties);
Lock the properties associated with the joined room on the server for requested user. Result is provided in the onLockPropertyDone callback of the registered RoomRequestListener objects. Lock properties will fail if any other user has lock on same property, otherwise property will be added in lockTable with owner name. This request (if successful) will also result in an onUserChangeRoomProperty notification on the registered NotifyListener objects to be triggered for all subscribed users of the room.
Parameters
properties - properties and their values to be locked
Returns
void
###unlockProperties
void unlockProperties(std::vector<std::string> properties);
Unlock the properties associated with the joined room on the server for requested user. Result is provided in the onUnlockPropertyDone callback of the registered RoomRequestListener objects. Unlock properties will fail if any other user has lock on same property, otherwise property will be removed from lock table. This request (if successful) will also result in an onUserChangeRoomProperty notification on the registered NotifyListener objects to be triggered for all subscribed users of the room.
Parameters
properties - vector of properties to be unlocked
Returns
void
###getOnlineUsers
void getOnlineUsers();
Retrieves usernames of all the users connected (online) to the server. Result is provided in the onGetOnlineUsers callback of the registered ZoneRequestListener objects.
Parameters
Returns
void
###getAllRooms
void getAllRooms();
Retrieves the room ids of all the rooms on the server. Result is provided in the onGetAllRoomsDone callback of the registered ZoneRequestListener objects. To get a filtered list of rooms, use the GetRoomWithNUser or GetRoomWithProperties APIs.
Parameters
Returns
void
###getRoomWithNUser
void getRoomWithNUser(int userCount);
Deprecated Retrieves information of the rooms that contain at least n users in them. Result is provided in the onGetMatchedRoomsDone callback of the registered ZoneRequestListener objects. This is useful in building a filtered list of rooms.
Parameters
userCount- number of users in room to be joined
Returns
void
###getRoomsInUserRange
void getRoomsInUserRange(int minJoinedUsers, int maxJoinedUsers);
Retrieves information of the rooms that contain currently have joined users in the range given. Result is provided in the onGetMatchedRoomsDone callback of the registered ZoneRequestListener objects. This is useful in building a filtered list of rooms.
Parameters
minJoinedUsers- minimum number of users in room to be joined
maxJoinedUsers- maximum number of users in room to be joined
Returns
void
###getRoomWithProperties
void getRoomWithProperties(std::map<std::string,std::string> properties);
Retrieves information of the room that contain properties which match with the given properties. Result is provided in the onGetMatchedRoomsDone callback of the registered ZoneRequestListener objects. This is useful in building a filtered list of rooms.
Parameters
properties- properties of the room to be joined
Returns
void
###setZoneRequestListener
void setZoneRequestListener(ZoneRequestListener *listener);
Registers the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for zone level requests such as create/delete room or live user info requests. The object must implement the ZoneRequestListener interface.
Parameters
listener - method for listening to the request
Returns
void
###setRoomRequestListener
void setRoomRequestListener(RoomRequestListener *listener);
Registers the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for requests pertaining to a room. The object must implement the RoomRequestListener interface.
Parameters
listener - method for listening to the request
Returns
void
###setLobbyRequestListener
void setLobbyRequestListener(LobbyRequestListener *listener);
Registers the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for lobby level request. The object must implement the LobbyRequestListener interface.
Parameters
listener - method for listening to the request
Returns
void
###setNotificationListener
public void setNotificationListener(NotifyListener *listener);
Registers the given listener object to the list of objects on which callbacks will be invoked when a notification is received from the server from any subscribed location (room or lobby). The object must implement the NotifyListener interface.
Parameters
listener - method for listening to the request
Returns
void
###setConnectionRequestListener
void addConnectionRequestListener(ConnectionRequestListener *listener)
Registers the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for Connect and Disconnect APIs. The object must implement the ConnectionRequestListener interface.
Parameters
listener - method for listening to the request
Returns
void
###setUpdateRequestListener
Registers the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for a SendUpdatePeers request. The object must implement the UpdateRequestListener interface.
void AddUpdateRequestListener(UpdateRequestListener *listener)
Parameters
listener - listener object
Returns
void
###setChatRequestListener
Registers the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for a SendChat request. The object must implement the ChatRequestListener interface.
public void AddChatRequestListener(ChatRequestListener *listener)
Parameters
listener - listener object
Returns
void
- AllRoomsEvent
- AllUsersEvent
- ChatEvent
- ConnectEvent
- LiveRoomInfoEvent
- LiveUserInfoEvent
- LobbyEvent
- RoomEvent
- UpdateEvent
- MatchedRoomEvent
###AllRoomsEvent
This event is raised in response to the getAllRooms request. It is passed in the registered ZoneRequestListener's onGetAllRoomsDone request. It exposes the following properties
-
int result
- Result status of the request. -
std::vector<std::string> list
- room id array of all the rooms.
struct liveresult_struct
{
int result;
std::vector<std::string> list;
};
typedef liveresult_struct liveresult;
###AllUsersEvent
This event is raised in response to the getOnlineUsers request. It is passed in the registered ZoneRequestListener's onGetOnlineUsersDone method. It exposes the following properties
-
int result
- Result status of the request. -
std::vector<std::string> list
- array of usernames for all the online users.
struct liveresult_struct
{
int result;
std::vector<std::string> list;
};
typedef liveresult_struct liveresult;
Represents an array of usernames for all the online users if the request is successful.
###ChatEvent
This event is raised when a chat notification is received from a subscribed location such as room or lobby. It is passed in registered NotifyListener's onChatReceived method. It exposes the following properties
-
std::string message
- The string message sent by the sender. -
std::string sender
- The sender of the message. -
std::string locationId
- The id of the location in which the message was sent (eg: room id) -
bool isLocationLobby
- Is the location a room or lobby.
struct chat_struct
{
std::string chat;
std::string sender;
int locationId;
bool isLocationLobby;
int result;
};
typedef chat_struct chat;
###ConnectEvent
This event is raised in response to a connect request. It is passed in the registered ConnectionRequestListener's onConnectDone method. It exposes the following properties
-
int result
- Result status of the request.
int result
###LiveRoomInfoEvent
This event is raised in response to the getLiveRoomInfo or getLiveLobbyInfo request. It is passed in the registered RoomRequestListener's onGetLiveRoomInfoDone method and in the LobbyRequestListener's onGetLiveLobbyInfoDone method. It exposes the following properties
-
std::vector<std::string> users
- Array of usernames who are joined in the room -
std::string customData
- Custom data associated with the room -
std::map<std::string, std::string> properties
- Properties associated with the room (empty for lobby). -
room rm
- The static information structure of the room (or lobby). -
int result
- Result status of the request.
struct liveroom_struct
{
room rm;
std::string customData;
std::vector<std::string> users;
std::map<std::string, std::string> properties;
int result;
};
typedef liveroom_struct liveroom;
###LiveUserInfoEvent
This event is raised in response to the getLiveUserInfo request. It is passed in the registered ZoneRequestListener's onGetLiverUserInfo request method. It exposes the following properties
-
int result
- Result status of the request. -
std::string locationId
- The id of the location in which the user is present. -
std::string name
- The username of the user -
std::string customData
- The custom data associated with the user
struct liveuser_struct
{
std::string name;
std::string locationId;
std::string customData;
int result;
};
typedef liveuser_struct liveuser;
###LobbyEvent
This event is raised in response to requests for join/leave/subscribe/unsubscribe lobby. It is passed in the corresponding methods of the registered LobbyRequestListener. It exposes the following properties.
-
std::string lobbyid
- The id of the lobby. This is always 0 and is reserved for future if multi-lobby support is added. -
std::string owner
- The owner of the lobby. -
int maxUsers
- The max concurrent users allowed in the lobby. -
std::string nam
e - The name of the lobby. -
bool isPrimary
- Is the lobby the primary one. This is always true and is reserved for future if multi-lobby support is added. -
int result
- Result status of the request.
struct lobby_struct
{
std::string lobbyid;
std::string owner;
int maxUsers;
std::string name;
bool isPrimary;
int result;
};
typedef lobby_struct lobby;
###RoomEvent
This event is raised in response to requests for join/leave/subscribe/unsubscribe room. It is passed in the corresponding methods of the registered RoomRequestListener. It exposes the following properties.
-
std::string roomId
- Unique id of a room. It is unique across all the rooms. -
std::string owner
- owner of the room (behavior and usage of this meta property is up to the developer) -
int maxUsers
- number of maximum users allowed in the room -
std::string name
- name of the room -
int result
- Result status of the request.
struct room_struct
{
std::string roomId;
std::string owner;
int maxUsers;
std::string name;
int result;
};
typedef room_struct room;
###UpdateEvent
This event is raised when a updatePeers notification is received from a subscribed location such as room or lobby. It is passed in registered NotifyListener's onUpdatePeersReceived method. It exposes the following properties
-
AppWarp::byte update[]
- The byte array sent in the room. -
int len
- Lenght of the update array
AppWarp::byte update[]
int len
###MatchedRoomEvent
This event is raised in response to requests for matchmaking request(getRoomwithNUsers/getRoomWithProperties). It is passed in the corresponding methods of the registered ZoneRequestListener. It exposes the following properties.
-
int result
- Result status of the request. -
std::vector<room> roomData
- Array RoomData objects representing each of the matched rooms.
struct matchedroom_struct
{
int result;
std::vector<room> roomData;
};
typedef matchedroom_struct matchedroom;
- ConnectionRequestListener
- RoomRequestListener
- ZoneRequestListener
- LobbyRequestListener
- UpdateRequestListener
- ChatRequestListener
- NotifyListener
###ConnectionRequestListener
/**
* Invoked in response to a connect request.
* @param event
*/
public void onConnectDone(int event);
/**
* Invoked in response to a disconnect request.
* @param event
*/
public void onDisconnectDone(int event);
###RoomRequestListener
/**
* Invoked in response to a subscribeRoom request.
* @param event
*/
public void onSubscribeRoomDone(AppWarp::room event);
/**
* Invoked in response to a UnSubscribeRoom request.
* @param event
*/
public void onUnSubscribeRoomDone(AppWarp::room event);
/**
* Invoked in response to a joinRoom request.
* @param event
*/
public void onJoinRoomDone(AppWarp::room event);
/**
* Invoked in response to a leaveRoom request.
* @param event
*/
public void onLeaveRoomDone(AppWarp::room event);
/**
* Invoked in response to a getLiveRoomInfo request.
* @param event
*/
public void onGetLiveRoomInfoDone(AppWarp::liveroom event);
/**
* Invoked in response to a setCustomRoomData request.
* @param event
*/
public void onSetCustomRoomDataDone(AppWarp::liveroom event);
/* TODO Added by saurav for match making
* Invoked in response to add property to any room
*/
public void onUpdatePropertyDone(AppWarp::liveroom event);
###ZoneRequestListener
/**
* Invoked in response to a deleteRoom request.
* @param event
*/
public void onDeleteRoomDone(AppWarp::room event);
/**
* Invoked in response to a getAllRooms request.
* @param event
*/
public void onGetAllRoomsDone(AppWarp::liveresult event);
/**
* Invoked in response to a createRoom request.
* @param event
*/
public void onCreateRoomDone(AppWarp::room event);
/**
* Invoked in response to a getOnlineUsers request.
* @param event
*/
public void onGetOnlineUsersDone(AppWarp::liveresult event);
/**
* Invoked in response to a getLiveUserInfo request.
* @param event
*/
public void onGetLiveUserInfoDone(AppWarp::liveuser event);
/**
* Invoked in response to a setCustomRoomData request.
* @param event
*/
public void onSetCustomUserDataDone(AppWarp::liveuser event);
/**
* Invoked in response to a getMatchMaking Rooms request.
* @param event
*/
public void onGetMatchedRoomsDone(AppWarp::matchedroom event);
###LobbyRequestListener
/**
* Invoked in response to a joinLobby request.
* @param event
*/
public void onJoinLobbyDone(AppWarp::lobby event);
/**
* Invoked in response to a leaveLobby request.
* @param event
*/
public void onLeaveLobbyDone(AppWarp::lobby event);
/**
* Invoked in response to a subscribeLobby request.
* @param event
*/
public void onSubscribeLobbyDone(AppWarp::lobby event);
/**
* Invoked in response to a UnSubscribeLobby request.
* @param event
*/
public void onUnSubscribeLobbyDone(AppWarp::lobby event);
/**
* Invoked in response to a getLiveLobbyInfo request.
* @param event
*/
public void onGetLiveLobbyInfoDone(AppWarp::livelobby event);
###UpdateRequestListener
/**
* Result of SendUpdatePeers request. The result value maps to a WarpResponseResultCode
* @param result
*/
public void onSendUpdateDone(int result);
###ChatRequestListener
/**
* Result of SendChat request. The result value maps to a WarpResponseResultCode
* @param result
*/
public void onSendChatDone(int result);
/**
* Result of SendPrivateChat request. The result value maps to a WarpResponseResultCode
* @param result
*/
public void onSendPrivateChatDone(int result);
###NotifyListener
/**
* Invoked when a room is created. Lobby subscribers will receive this.
* @param event
*/
public void onRoomCreated(AppWarp::room event);
/**
* Invoked when a room is deleted. Lobby subscribers will receive this.
* @param event
*/
public void onRoomDestroyed(AppWarp::room event);
/**
* Invoked when a user leaves a room. Lobby and the concerned room subscribers
* will receive this.
* @param event
* @param username
*/
public void onUserLeftRoom(AppWarp::room event, std::string username);
/**
* Invoked when a user joins a room. Lobby and the concerned room subscribers
* will receive this.
* @param event
* @param username
*/
public void onUserJoinedRoom(AppWarp::room event, std::string username);
/**
* Invoked when a user leaves a lobby. Lobby subscribers will receive this.
* @param event
* @param username
*/
public void onUserLeftLobby(AppWarp::lobby event, std::string username);
/**
* Invoked when a user joins a lobby. Lobby subscribers will receive this.
* @param event
* @param username
*/
public void onUserJoinedLobby(AppWarp::lobby event, std::string username);
/**
* Invoked when a joined user sends a chat. Rooms subscribers will receive this.
* @param event
*/
public void onChatReceived(AppWarp::chat event);
/**
* Invoked when a joined user sends a updatePeers request. Rooms subscribers
* will receive this.
* @param update
* @param len
*/
public void onUpdatePeersReceived(AppWarp::byte update[], int len);
/**
* Invoked when a user change room property. Lobby and the concerned room subscribers
* will receive this.
* @param event
* @param username
* @param properties
*/
public void onUserChangeRoomProperty(AppWarp::room event, std::string username,std::map<std::string, std::string> properties, std::map<std::string, std::string> lockTable);
AppWarp::ResultCode::success = 0;
AppWarp::ResultCode::auth_error = 1;
AppWarp::ResultCode::resource_not_found = 2;
AppWarp::ResultCode::resource_moved = 3;
AppWarp::ResultCode::bad_request = 4;
AppWarp::ResultCode::connection_error = 5;
AppWarp::ResultCode::unknown_error = 6;
AppWarp::ResultCode::size_error = 7;
AppWarp::ResultCode::api_not_found = 8;
SUCCESS
The request was successfully received and processed by the server.
AUTH_ERROR
The session id sent in the request was incorrect. This can happen if the client connects without initializing with the correct keys.
RESOURCE_NOT_FOUND
The resource for which the request was intended is not known to the server. For example a bad room id is given to a joinRoom request.
RESOURCE_MOVED
The resource for which the request was intended to has moved to a state where it can't process the request. For example, if a client sends a chat or updatePeers message and the connected user is not present in any room.
UNKNOWN_ERROR
This is an unexpected error. Retrying the request is recommended if this happens.
BAD_REQUEST
This occurs if the parameters passed to the request are invalid. For example if null or empty string is passed in the roomId parameter of a joinRoom request.
CONNECTION_ERR
This occurs if the underlying TCP connection with AppWarp cloud service got broken. The client will need to reconnect to the service and retry the operation.
API NOT FOUND
This occurs if invalid API Key was used during initialization