Main Page | Modules | Class List | File List | Class Members | File Members

Callbacks
[Lobby Service]

The lobby service function callbacks. More...

Typedefs

typedef GSvoid(* CBLobbyRcv_LoginReply )(GSubyte ubType, GSint iReason)
 Receive status of the login request.

typedef GSvoid(* CBLobbyRcv_LobbyDisconnection )(GSint iLobbySrvID)
 Client as been disconnected from lobby server.

typedef GSvoid(* CBLobbyRcv_LobbyDisconnectAll )()
 Client as been disconnected from lobby server.

typedef GSvoid(* CBLobbyRcv_CreateRoomReply )(GSubyte ubType, GSint iReason, GSchar *szRoom, GSint iGroupID, GSint iLobbySrvID)
 Receive status of the create room request.

typedef GSvoid(* CBLobbyRcv_NewRoom )(GSshort sGroupType, GSchar *szGroupName, GSint iGroupID, GSint iLobbySrvID, GSint iParentID, GSint iConfig, GSshort sGroupLevel, GSchar *szMaster, GSchar *szAllowedGames, GSchar *szGames, GSchar *szGameVersion, GSchar *szGSVersion, GSvoid *vpInfo, GSint iSize, GSuint uiMaxPlayer, GSuint uiNbrPlayer, GSuint uiMaxVisitor, GSuint uiNbrVisitor, GSchar *szIPAddress, GSchar *szAltIPAddress, GSint iEventID)
 Receive a message informing of a newly created room.

typedef GSvoid(* CBLobbyRcv_NewLobby )(GSshort sGroupType, GSchar *szGroupName, GSint iGroupID, GSint iLobbySrvID, GSint iParentID, GSint iConfig, GSshort siGroupLevel, GSchar *szMaster, GSchar *szAllowedGames, GSchar *szGames, GSvoid *vpInfo, GSint iSize, GSuint uiMaxMember, GSuint uiNbrMember, GSint iEventID)
 Receive a message informing of a newly created lobby.

typedef GSvoid(* CBLobbyRcv_RoomInfo )(GSshort sGroupType, GSchar *szGroupName, GSint iGroupID, GSint iLobbySrvID, GSint iParentID, GSint iConfig, GSshort sGroupLevel, GSchar *szMaster, GSchar *szAllowedGames, GSchar *szGames, GSchar *szGameVersion, GSchar *szGSVersion, GSvoid *vpInfo, GSint iSize, GSuint uiMaxPlayer, GSuint uiNbrPlayer, GSuint uiMaxVisitor, GSuint uiNbrVisitor, GSchar *szIPAddress, GSchar *szAltIPAddress, GSint iEventID)
 Receive a message about updated room infomations.

typedef GSvoid(* CBLobbyRcv_LobbyInfo )(GSshort siGroupType, GSchar *szGroupName, GSint iGroupID, GSint iLobbySrvID, GSint iParentID, GSint iConfig, GSshort siGroupLevel, GSchar *szMaster, GSchar *szAllowedGames, GSchar *szGames, GSvoid *vpInfo, GSint iSize, GSuint uiMaxMember, GSuint uiNbrMember, GSint iEventID)
 Receive a message about updated room infomations.

typedef GSvoid(* CBLobbyRcv_GroupInfoGet )(GSubyte ubType, GSint iLobbyID, GSint iRoomID)
 Received when a call to LobbySend_GroupInfoGet fails.

typedef GSvoid(* CBLobbyRcv_GroupRemove )(GSint iGroupID, GSint iLobbySrvID)
 Receive a indication that a group as been removed.

typedef GSvoid(* CBLobbyRcv_JoinRoomReply )(GSubyte ubType, GSint iReason, GSchar *szReason, GSint iGroupID, GSint iLobbySrvID)
 Receive status of the join room request.

typedef GSvoid(* CBLobbyRcv_JoinLobbyReply )(GSubyte ubType, GSint iReason, GSchar *szReason, GSint iGroupID, GSint iLobbySrvID)
 Receive status of the join lobby request.

typedef GSvoid(* CBLobbyRcv_MemberJoined )(GSchar *szUsername, GSbool bVisitor, GSint *piGroupID, GSushort usNbGroups, GSint iLobbySrvID, GSchar *szIPAddress, GSchar *szAltIPAddress, GSushort usPing, GSvoid *vpPlayerData, GSint iPlayerDataSize, GSbool bJoin, GSushort usPlayerStatus)
 Receive a message informaing of a new member.

typedef GSvoid(* CBLobbyRcv_MemberLeave )(GSchar *szUsername, GSint iGroupID, GSint iLobbySrvID)
 Receive a message informaing member leaving a group.

typedef GSvoid(* CBLobbyRcv_StartMatchReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID)
 Receive status of the start match request.

typedef GSvoid(* CBLobbyRcv_MasterChanged )(GSint iGroupID, GSint iLobbySrvID, GSchar *szUsername, GSchar *szIPAddress, GSchar *szAltIPAddress)
 Receive a member join message.

typedef GSvoid(* CBLobbyRcv_MasterNewReply )(GSubyte ubType, GSint iReason, GSchar *szUsername, GSint iGroupID, GSint iLobbyServerID)
 Receive a member join message.

typedef GSvoid(* CBLobbyRcv_MatchFinishReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID)
 Receive a member join message.

typedef GSvoid(* CBLobbyRcv_PlayerKickReply )(GSubyte ubType, GSint iReason, GSchar *szUsername, GSint iGroupID, GSint iLobbyServerID)
 Receive a PlayerKick message.

typedef GSvoid(* CBLobbyRcv_KickOut )(GSint iGroupID, GSint iLobbySrvID, GSchar *szReason)
 Receive a KickOut message.

typedef GSvoid(* CBLobbyRcv_ParentGroupIDReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID, GSint iParentGroupID)
 Receive a ParentGroupID message.

typedef GSvoid(* CBLobbyRcv_GetAlternateGroupInfoReply )(GSubyte ubType, GSint iReason, const GSvoid *pcAltGroupInfo, GSint iAltGroupInfoSize, GSint iGroupID, GSint iLobbyServerID)
 Receive a ParentGroupID message.

typedef GSvoid(* CBLobbyRcv_GroupLeaveReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID)
 Receive a GroupLeave message.

typedef GSvoid(* CBLobbyRcv_GroupConfigUpdate )(GSint iGroupID, GSint iLobbySrvID, GSint iFlags)
 Receive a GroupConfigUpdate message.

typedef GSvoid(* CBLobbyRcv_MatchStarted )(GSint iGroupID, GSint iLobbyServerID, GSuint uiMatchID)
 Receive a MatchStarted message.

typedef GSvoid(* CBLobbyRcv_UpdateRoomConfigReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID)
 Receive a GroupConfigUpdateResult message.

typedef GSvoid(* CBLobbyRcv_SubmitMatchResultReply )(GSubyte ubType, GSint iReason, GSint iMatchID)
 Receive a SubmitMatchResult message.

typedef GSvoid(* CBLobbyRcv_UpdatePing )(GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername, GSushort usPing)
 Receive a UpdatePing message.

typedef GSvoid(* CBLobbyRcv_StartGameReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID)
 Receive a StartGame message.

typedef GSvoid(* CBLobbyRcv_GameReadyReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID)
 Receive a GameReady message.

typedef GSvoid(* CBLobbyRcv_GameStarted )(GSint iGroupID, GSint iLobbyServerID, GSvoid *vpGameData, GSint iSize, GSchar *szIPAddress, GSchar *szAltIPAddress, GSushort usPort)
 Receive a GameStarted message.

typedef GSvoid(* CBLobbyRcv_NewGameMember )(GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername, GSbool bVisitor)
 Receive a NewGameMember message.

typedef GSvoid(* CBLobbyRcv_UpdateGameInfoReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID)
 Receive a UpdateGameInfoReply message.

typedef GSvoid(* CBLobbyRcv_PlayerBanReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername)
 Receive a PlayerBanReply message.

typedef GSvoid(* CBLobbyRcv_PlayerUnBanReply )(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername)
 Receive a PlayerUnBanReply message.

typedef GSvoid(* CBLobbyRcv_PlayerBanList )(GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername)
 Receive a PlayerUnBanReply message.

typedef GSvoid(* CBLobbyRcv_PlayerBanned )(GSint iGroupID, GSint iLobbySrvID, GSchar *szReason)
 Receive a PlayerBan message.

typedef GSvoid(* CBLobbyRcv_MatchReady )(GSint iGroupID, GSint iLobbySrvID)
 Receive a MatchReady message.

typedef GSvoid(* CBLobbyRcv_InfoRefresh )(GSint iLobbySrvID)
 Receive a InfoRefresh message telling that it would be good to refresh all group and player related information.

typedef GSvoid(* CBLobbyRcv_SetPlayerInfoReply )(GSubyte ubType, GSint iReason)
 Receive a reply after having sent a request to change player information.

typedef GSvoid(* CBLobbyRcv_PlayerInfoUpdate )(GSchar *szUsername, GSvoid *vpPlayerData, GSint iPlayerDataSize)
 Receive a reply after having sent a request to change player information.

typedef GSvoid(* CBLobbyRcv_PlayerStatusUpdate )(GSchar *szUsername, GSushort usPlayerStatus)
 Receive an update of the player's status.

typedef GSvoid(* CBLobbyRcv_PlayerGroupList )(GSchar *szUsername, GSint iGroupID, GSint iLobbySrvID)
 Receive a message telling that a player is member of a specific group.

typedef GSvoid(* CBLobbyRcv_FinalMatchResults )(GSuint uiMatchId, GSubyte ubType, GSint iReason, const LADDER_ROW *pResults, GSuint uiNumResult)
 Official results of a match.


Detailed Description


Typedef Documentation

typedef GSvoid( * CBLobbyRcv_CreateRoomReply)(GSubyte ubType, GSint iReason, GSchar* szRoom, GSint iGroupID, GSint iLobbySrvID)
 

Description:
This callback will be called when the client receive a response from the lobby server after asking to reate a new room
Related Function:
LobbySend_CreateRoom()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The Parent group doesn't exist.
ERRORLOBBYSRV_NOTINGROUP: The player isn't in the parent group.
ERRORLOBBYSRV_INVALIDGROUPNAME: The room name isn't valid.
ERRORLOBBYSRV_GROUPALREADYEXIST: The room already exists.
ERRORLOBBYSRV_GAMENOTALLOWED: The gamename is not allowed in the parent lobby.
ERRORLOBBYSRV_NOMOREPLAYERS: The usMaxPlayers was to big.
ERRORLOBBYSRV_SPECTATORNOTALLOWED: Spectators are not allowed.
ERRORLOBBYSRV_NOMORESPECTATORS: The usMaxVisitors was to big.
ERRORLOBBYSRV_WRONGGROUPTYPE: The usRoomType was the wrong type.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
szRoom The name of the newly created room
iGroupID The group id of the newly created room
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_FinalMatchResults)(GSuint uiMatchId, GSubyte ubType, GSint iReason, const LADDER_ROW *pResults, GSuint uiNumResult)
 

Description:
This callback is called once the submitted match results have been submitted, validated, and stored in the ladder database. It contains the official results of the match or the error that occured during the submission process.
Parameters:
uiMatchId The match to who the results apply
ubType The type of notification - GSSUCCESS or GSFAIL
iReason The reason of a GSFAIL. The possible values are:
  • ERRSS_BADFORMAT
    Internal error. The messages between the parts of the service where corrupted.
  • ERRSS_DBFAILURE
    An error occured on the DB. The ubi.com server log will contain the exact nature of the error.
  • ERRSS_SUBMISSIONFAILED
    The results could not be submitted successfully. The exact nature of the error will be logged in the database along with the submitted values
  • ERRSS_VALIDATIONFAILED
    The results could not be validated. The exact nature of the error will be logged in the database along with the submitted values.
pResults An array of data rows containing the results values. You do not have ownership of this array. The memory will be freed when the callback function returns.
uiNumResult The number of rows in the result array

typedef GSvoid( * CBLobbyRcv_GameReadyReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID)
 

Description:
This callback will be called when the client receive a response from the lobby server after a GameReady message
Related Function:
LoginSend_StartGame()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_GAMENOTINITIATED: The game has not been started.
ERRORLOBBYSRV_NOTMASTER: The player is not the master.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group which has been updated
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_GameStarted)(GSint iGroupID, GSint iLobbyServerID, GSvoid *vpGameData, GSint iSize, GSchar *szIPAddress, GSchar *szAltIPAddress, GSushort usPort)
 

Description:
This callback will be called when the client receive a response from the lobby server after a GameReady message
Related Function:
LoginSend_StartGame()
Parameters:
iGroupID The id of the group in wich the game has started.
iLobbySrvID The id of the server on which the specified group is located
vpGameData The id of the group in wich the game has started.
iSize The id of the server on which the specified group is located
szIPAddress The ip address of the host.
szAltIPAddress The alternate ip address of the host if no connection is successful on the first that one should be used.
usPort The port to connect to on the host.

typedef GSvoid( * CBLobbyRcv_GetAlternateGroupInfoReply)( GSubyte ubType, GSint iReason, const GSvoid* pcAltGroupInfo, GSint iAltGroupInfoSize, GSint iGroupID, GSint iLobbyServerID )
 

Description:
This callback will be called when the client receive a response from the lobby server after sending the ParentGroupID message.
Related Function:
LoginSend_GetParentGroupID()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group that was queried
iLobbySrvID The id of the server on which the specified group is located
pcAltGroupInfo Pointer to the alternate group info buffer.
iAltGroupInfoSize Size of the alternate group info buffer.

typedef GSvoid( * CBLobbyRcv_GroupConfigUpdate)(GSint iGroupID, GSint iLobbySrvID, GSint iFlags)
 

Description:
This callback will be called when the client receive a message from the lobby server telling him that a group of which he is a member has been through configuration changes.
Parameters:
iGroupID The id of the group which has been updated
iLobbySrvID The id of the server on which the specified group is located
iFlags The new configuration flags for the specified group

typedef GSvoid( * CBLobbyRcv_GroupInfoGet)(GSubyte ubType, GSint iLobbyID,GSint iRoomID)
 

Description:
This callback will be called when the client tried to get the group info on a group that doesn't exist.
Related Function:
LobbySend_GroupInfoGet()
Parameters:
ubType Always GSFAIL
iLobbyID The id of the server on which the specified group is located
iRoomID The id of the Grou

typedef GSvoid( * CBLobbyRcv_GroupLeaveReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID)
 

Description:
This callback will be called when the client receive a response from the lobby server after sending a request to leave a group.
Related Function:
LoginSend_LeaveGroup()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The Group doesn't exist.
ERRORLOBBYSRV_NOTINGROUP: The player is not in the group.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group the player left
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_GroupRemove)(GSint iGroupID, GSint iLobbySrvID)
 

Description:
This callback will be called when the client receive a message indicating that a group has been removed
Related Function:
LoginSend_JoinRoom() LoginSend_JoinLobby()
Parameters:
iGroupID The id of the group.
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_InfoRefresh)(GSint iLobbySrvID)
 

Description:
Parameters:
iLobbySrvID The id of the lobby server from wich we received the message

typedef GSvoid( * CBLobbyRcv_JoinLobbyReply)(GSubyte ubType, GSint iReason, GSchar *szReason, GSint iGroupID, GSint iLobbySrvID)
 

Description:
This callback will be called when the client receive a response from the lobby server after asking to join a lobby.
Related Function:
LoginSend_JoinLobby()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The lobby doesn't exist.
ERRORLOBBYSRV_NOMOREMEMBERS: The lobby is full.
ERRORLOBBYSRV_PASSWORDNOTCORRECT: The password is not correct.
ERRORLOBBYSRV_ALREADYINGROUP: The player is already in the lobby.
ERRORLOBBYSRV_MEMBERBANNED: The player is banned from the lobby.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
szReason The reason the player was given if he was banned of that group
iGroupID The id of the lobby the client has (or tried to) joined.
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_JoinRoomReply)(GSubyte ubType, GSint iReason, GSchar *szReason, GSint iGroupID, GSint iLobbySrvID)
 

Description:
This callback will be called when the client receive a response from the lobby server after asking to join a room.
Related Function:
LoginSend_JoinRoom()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The lobby doesn't exist.
ERRORLOBBYSRV_NOMOREMEMBERS: The room is full.
ERRORLOBBYSRV_PASSWORDNOTCORRECT: The password is not correct.
ERRORLOBBYSRV_ALREADYINGROUP: The player is already in the room.
ERRORLOBBYSRV_MEMBERBANNED: The player is banned from the room.
ERRORLOBBYSRV_GROUPCLOSE: The room is closed.
ERRORLOBBYSRV_GAMEINPROGRESS: The game has already started. ERRORLOBBYSRV_NOMORESPECTATORS: The maximum number of visitors has been reached.
ERRORLOBBYSRV_NOMOREPLAYERS: The maximum number of players has been reached.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
szReason The reason the player was given if he was banned of that group
iGroupID The id of the room the client has (or tried to) joined.
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_KickOut)(GSint iGroupID, GSint iLobbySrvID, GSchar *szReason)
 

Description:
This callback will be called when the client receive a message from the lobby server telling him that he as been kicked out of a group.
Related Function:
LoginSend_PlayerKick()
Parameters:
iGroupID The id of the group the player was kicked out from.
iLobbySrvID The id of the server on which the specified group is located
szUsername The reason given by the group master for kicking the player.

typedef GSvoid( * CBLobbyRcv_LobbyDisconnectAll)()
 

Description:
This callback will be called when the client has been disconnected from all the available lobby server
Related Function:
LobbySend_DisconnectAll()

typedef GSvoid( * CBLobbyRcv_LobbyDisconnection)(GSint iLobbySrvID)
 

Description:
This callback will be called when the client has been disconnected from a specific lobby server
Related Function:
LobbySend_Disconnection()

typedef GSvoid( * CBLobbyRcv_LobbyInfo)(GSshort siGroupType, GSchar *szGroupName, GSint iGroupID, GSint iLobbySrvID, GSint iParentID, GSint iConfig, GSshort siGroupLevel, GSchar *szMaster, GSchar *szAllowedGames, GSchar *szGames, GSvoid *vpInfo, GSint iSize, GSuint uiMaxMember, GSuint uiNbrMember, GSint iEventID)
 

Description:
This callback will be called when the client receive a message from the lobby server updating lobby information.
Related Function:
LoginSend_CreateLobby()
Parameters:
sGroupType The type of lobby.
szGroupName The name of the lobby.
iGroupID The id of the lobby.
iLobbySrvID The id of the server on which the specified lobby is located
iParentID The id of the parent group.
iConfig The lobby configuration flag.
szMaster The name of the master of the lobby.
szAllowedGames The games allowed in this lobby and in the child groups.
szGames The games that can be played in the lobby.
vpInfo A pointer to the game data.
iSize The size of the game data structure.
uiMaxMember The maximum number of members allowed in that lobby.
uiNbrMember The number of member currently in that lobby.
iEventID The event id for that lobby and its childs groups

typedef GSvoid( * CBLobbyRcv_LoginReply)(GSubyte ubType, GSint iReason)
 

Description:
This callback will be called when the client receive a response from the router after asking to join the lobby server
Related Function:
LobbySend_Login()
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
lReason The reason of failure if ubType is GSFAIL

typedef GSvoid( * CBLobbyRcv_MasterChanged)(GSint iGroupID, GSint iLobbySrvID, GSchar *szUsername, GSchar *szIPAddress, GSchar *szAltIPAddress)
 

Description:
This callback will be called when the client receive a message from the lobby server indicating that a new master has been nominated in the specified group.
Related Function:
LoginSend_MasterNew()
Parameters:
iGroupID The id of the group where the new master is.
iLobbySrvID The id of the server on which the specified group is located
szUsername The alias of the new master.
szIPAddress The IP address of the host
szAltIPAddress The alternate ip address of the new master, this will often be the internal network address of the player. If one can't connect to the first ip address, this on should be used.

typedef GSvoid( * CBLobbyRcv_MasterNewReply)(GSubyte ubType, GSint iReason, GSchar *szUsername, GSint iGroupID, GSint iLobbyServerID)
 

Description:
This callback will be called when the client receive a response from the lobby server after sending the MasterNew message
Related Function:
LoginSend_MasterNew()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTMASTER: The player is not the master of the room.
ERRORLOBBYSRV_MEMBERNOTFOUND: The new master isn't in the room.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
szUsername The alias of the player that is now master of the specified group
iGroupID The id of the concerned group
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_MatchFinishReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID)
 

Description:
This callback will be called when the client receive a response from the lobby server after sending the MatchFinish message
Related Function:
LoginSend_MatchFinish()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTMASTER: The player is not the master.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The group in which the match took place
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_MatchReady)(GSint iGroupID, GSint iLobbySrvID)
 

Description:
Parameters:
iGroupID The id of the group where the match takes place
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_MatchStarted)(GSint iGroupID, GSint iLobbyServerID, GSuint uiMatchID)
 

Description:
This is sent after the lobby server receive a Match Start message from the master or the game server. The Lobby Server tells eveyones in the Group than the Match has sarted and gives the Match Id used for the score submition.
Parameters:
iGroupID The id of the group in which a game as started
iLobbySrvID The id of the server on which the specified group is located
uiMatchID The unique id for the started match ( used for the score submission )

typedef GSvoid( * CBLobbyRcv_MemberJoined)(GSchar* szUsername, GSbool bVisitor, GSint* piGroupID, GSushort usNbGroups, GSint iLobbySrvID, GSchar *szIPAddress, GSchar *szAltIPAddress, GSushort usPing, GSvoid *vpPlayerData, GSint iPlayerDataSize, GSbool bJoin, GSushort usPlayerStatus )
 

Description:
This callback will be called when the client receive a message from the lobby server informing of a new member in the group
Parameters:
szUsername The alias of the player that has joined the group
bVisitor Vistor flag; if the member joined as a visitor, it is true.
piGroupID The List of the group id were the player is. ( NB the variables bVisitor, usPlayerStatus, bJoin, usPing, vpPlayerData are related to the first group id of the list )
usNbGroups The Number of GroupId.
iLobbySrvID The id of the server on which the specified group is located
szIPAddress The local ip address detected by the client itself
szAltIPAddress The local ip address detected by the client itself
usPing The ping of the player, 0xFFFF is the value returned in case of error or if the ping is not available.
vpPlayerData Pointer to the player specific data buffer.
iPlayerDataSize Size of the player specific data buffer.
bJoin This flag tells the client if the player has just joined the group (TRUE) or if he was already member of the group when the client joined (FALSE)
usPlayerStatus The status of the player as describe in LobbyDefine.h

typedef GSvoid( * CBLobbyRcv_MemberLeave)(GSchar *szUsername, GSint iGroupID, GSint iLobbySrvID)
 

Description:
This callback will be called when the client receive a message from the lobby server informing that a member has left the group
Parameters:
szUsername The alias of the player that has left the group
iGroupID The id of the group the member has left
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_NewGameMember)(GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername, GSbool bVisitor)
 

Description:
This callback will be called when the client receive a response from the lobby server after a GameReady message
Related Function:
LoginSend_StartGame()
Parameters:
iGroupID The group id in wich the specified player will play the game
iLobbySrvID The id of the server on which the specified group is located
szUsername The alias of the player
bVisitor The visitor flag, true if the player is a visitor, false else.

typedef GSvoid( * CBLobbyRcv_NewLobby)(GSshort sGroupType, GSchar *szGroupName, GSint iGroupID, GSint iLobbySrvID, GSint iParentID, GSint iConfig, GSshort siGroupLevel, GSchar *szMaster, GSchar *szAllowedGames, GSchar *szGames, GSvoid *vpInfo, GSint iSize, GSuint uiMaxMember, GSuint uiNbrMember, GSint iEventID)
 

Description:
This callback will be called when the client receive a message from the lobby server informing of a newly created lobby.
Related Function:
LoginSend_CreateLobby()
Parameters:
sGroupType The type of lobby.
szGroupName The name of the lobby.
iGroupID The id of the lobby.
iLobbySrvID The id of the server on which the specified lobby is located
iParentID The id of the parent group.
iConfig The lobby configuration flag.
szMaster The name of the master of the lobby.
szAllowedGames The games allowed in this lobby and in the child groups.
szGames The games that can be played in the lobby.
vpInfo A pointer to the game data.
iSize The size of the game data structure.
usMaxMember The maximum number of members allowed in that lobby.
usNbrMember The number of member currently in that lobby.
iEventID The event id for that lobby and its childs groups

typedef GSvoid( * CBLobbyRcv_NewRoom)(GSshort sGroupType, GSchar *szGroupName, GSint iGroupID, GSint iLobbySrvID, GSint iParentID, GSint iConfig, GSshort sGroupLevel, GSchar *szMaster, GSchar *szAllowedGames, GSchar *szGames, GSchar *szGameVersion, GSchar *szGSVersion, GSvoid *vpInfo, GSint iSize, GSuint uiMaxPlayer, GSuint uiNbrPlayer, GSuint uiMaxVisitor, GSuint uiNbrVisitor, GSchar *szIPAddress, GSchar *szAltIPAddress, GSint iEventID)
 

Description:
This callback will be called when the client receive a message from the lobby server informing of a newly created room.
Related Function:
LoginSend_CreateRoom()
Parameters:
sGroupType The type of room. (ROOM_DIRECTPLAY, ROOM_GAMEMODULE, ROOM_P2P, ROOM_CLIENTHOST)
szGroupName The name of the room
iGroupID The id of the room.
iLobbySrvID The id of the server on which the specified room is located
iParentID The id of the parent group.
iConfig The room configuration flag
szMaster The name of the master of the room.
szAllowedGames The games allowed in this room.
szGames The games that can be played in the room.
szGameVersion The version of the game (information only)
szGSVersion The version of the gs-game (important, this correct version must be used to join the room)
vpInfo A pointer to the game data
iSize The size of the game data structure
usMaxPlayer The maximum number of players allowed in that room
usNbrPlayer The number of players currently in that room
usMaxVisitor The maximum number of visitors allowed in that room
usNbrVisitor The number of visitors currently in that room
szIPAddress The ip address of the host (master) of the room
szAltIPAddress The alternate ip address of the host (master) of the room
usNbrMember The event id for that room

typedef GSvoid( * CBLobbyRcv_ParentGroupIDReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID, GSint iParentGroupID)
 

Description:
This callback will be called when the client receive a response from the lobby server after sending the ParentGroupID message.
Related Function:
LoginSend_GetParentGroupID()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group that was queried
iLobbySrvID The id of the server on which the specified group is located
iParentGroupID The id of the parent group.

typedef GSvoid( * CBLobbyRcv_PlayerBanList)(GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername)
 

Description:
This callback will be called for each player that was banned for a group, it is the response from the lobby server after having called LobbySendPlayerBanList()
Related Function:
LobbySend_PlayerBanList()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
szUsername The alias of the player that was banned

typedef GSvoid( * CBLobbyRcv_PlayerBanned)(GSint iGroupID, GSint iLobbySrvID, GSchar *szReason)
 

Description:
This callback will be called when a player gets banned from a group.
Related Function:
LobbySend_PlayerBan()
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
szReason The reason the player was banned.

typedef GSvoid( * CBLobbyRcv_PlayerBanReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername)
 

Description:
This callback will be called when the client receive a response from the lobby server after a PlayerBan message
Related Function:
LoginSend_PlayerBan()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTMASTER: The player isn't the master of the room.
ERRORLOBBYSRV_MEMBERNOTFOUND: The banned player isn't in the room.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group which has been updated
iLobbySrvID The id of the server on which the specified group is located
szUsername The alias of the player that was banned

typedef GSvoid( * CBLobbyRcv_PlayerGroupList)(GSchar *szUsername, GSint iGroupID, GSint iLobbySrvID)
 

Description:
Receive a message telling that a player is member of a specific group
Parameters:
szUsername The alias of the player
iGroupID The group id
iLobbySrvID The id of the lobby server the group is hosted

typedef GSvoid( * CBLobbyRcv_PlayerInfoUpdate)(GSchar *szUsername, GSvoid *vpPlayerData, GSint iPlayerDataSize)
 

Description:
Parameters:
szUsername The alias of the player who's personal data has changed
vpPlayerData Pointer to the player data buffer
iPlayerDataSize The data buffer size

typedef GSvoid( * CBLobbyRcv_PlayerKickReply)(GSubyte ubType, GSint iReason, GSchar *szUsername, GSint iGroupID, GSint iLobbyServerID)
 

Description:
This callback will be called when the client receive a response from the lobby server after sending the PlayerKick message
Related Function:
LoginSend_PlayerKick()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTMASTER: The player is not the master.
ERRORLOBBYSRV_MEMBERNOTFOUND: The kicked player isn't in the room.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
szUsername Alias of the kicked player
iGroupID The id of the group the player has been kicked of
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_PlayerStatusUpdate)( GSchar* szUsername, GSushort usPlayerStatus )
 

Description:
Receive an update of the player's status
Parameters:
szUsername The alias of the player who's personal status has changed
usPlayerStatus The Player's status

typedef GSvoid( * CBLobbyRcv_PlayerUnBanReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername)
 

Description:
This callback will be called when the client receive a response from the lobby server after a PlayerUnBan message
Related Function:
LoginSend_PlayerUnBan()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTMASTER: The player isn't the master of the room.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group which has been updated
iLobbySrvID The id of the server on which the specified group is located
szUsername The alias of the player that was un-banned

typedef GSvoid( * CBLobbyRcv_RoomInfo)(GSshort sGroupType, GSchar *szGroupName, GSint iGroupID, GSint iLobbySrvID, GSint iParentID, GSint iConfig, GSshort sGroupLevel, GSchar *szMaster, GSchar *szAllowedGames,GSchar *szGames, GSchar *szGameVersion, GSchar *szGSVersion, GSvoid *vpInfo, GSint iSize, GSuint uiMaxPlayer, GSuint uiNbrPlayer, GSuint uiMaxVisitor, GSuint uiNbrVisitor, GSchar *szIPAddress, GSchar *szAltIPAddress, GSint iEventID)
 

Description:
This callback will be called when the client receive a message from the lobby server updating room information.
Related Function:
LoginSend_CreateRoom()
Parameters:
siGroupType The type of room. (ROOM_DIRECTPLAY, ROOM_GAMEMODULE, ROOM_P2P, ROOM_CLIENTHOST)
szGroupName The name of the room
iGroupID The id of the room.
iLobbySrvID The id of the server on which the specified room is located
iParentID The id of the parent group.
iConfig The room configuration flag
szMaster The name of the master of the room.
szAllowedGames The games allowed in this room.
szGames The games that can be played in the room
szGameVersion The version of the game (information only)
szGSVersion The version of the gs-game (important, this correct version must be used to join the room)
vpInfo A pointer to the game data
iSize The size of the game data structure
usMaxPlayer The maximum number of players allowed in that room
usNbrPlayer The number of players currently in that room
usMaxVisitor The maximum number of visitors allowed in that room
usNbrVisitor The number of visitors currently in that room
szIPAddress The ip address of the host (master) of the room
szAltIPAddress The alternate ip address of the host (master) of the room
usNbrMember The event id for that room

typedef GSvoid( * CBLobbyRcv_SetPlayerInfoReply)(GSubyte ubType, GSint iReason)
 

Description:
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL

typedef GSvoid( * CBLobbyRcv_StartGameReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID)
 

Description:
This callback will be called when the client receive a response from the lobby server after a Start Game message
Related Function:
LoginSend_StartGame()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTMASTER: The player is not the master of the room.
ERRORLOBBYSRV_BEGINALREADYDONE: The game has already been started.
ERRORLOBBYSRV_GAMENOTFINISHED: The game has not finished.
ERRORLOBBYSRV_MINPLAYERSNOTREACH: The minimum number of players hasn't been reached.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group which has been updated
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_StartMatchReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbySrvID)
 

Description:
This callback will be called when the client receive a response from the lobby server after sending the start match message
Related Function:
LoginSend_StartMatch()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTMASTER: The player is not the master of the room.
ERRORLOBBYSRV_GAMENOTINITIATED: The game has not started.
ERRORLOBBYSRV_MATCHNOTFINISHED: The match has already been started.
ERRORLOBBYSRV_MATCHSCORESSUBMISSIONEVENTFAIL: The match could not be created.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the concerned group
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_SubmitMatchResultReply)(GSubyte ubType, GSint iReason, GSint iMatchID)
 

Description:
This callback will be called when the client receive a response from the lobby server after sending a request to submit the score results.
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_MATCHNOTEXIST: The match doesn't exist.
ERRORLOBBYSRV_MATCHALREADYFINISHEDFORYOU: The match was already finished.
ERRORLOBBYSRV_MATCHSCORESSUBMISSIONALREDYSENT: The player has already submited their scores.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iMatchID The unique match id that was used to submit the scores.

typedef GSvoid( * CBLobbyRcv_UpdateGameInfoReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID)
 

Description:
This callback will be called when the client receive a response from the lobby server after a UpdateGameInfoReply message
Related Function:
LoginSend_UpdateGameInfo()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTINGROUP: The player isn't in the room.
ERRORLOBBYSRV_NOTMASTER: The player isn't the master of the room.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group which has been updated
iLobbySrvID The id of the server on which the specified group is located

typedef GSvoid( * CBLobbyRcv_UpdatePing)(GSint iGroupID, GSint iLobbyServerID, GSchar *szUsername, GSushort usPing)
 

Description:
This callback will be called when the client receive a message from the lobby server about a new player ping. This tell the client to refresh the ping value (ping between client and the host of the game server) of the specific player.
Parameters:
iGroupID The id of the group which has been updated with result
iLobbySrvID The id of the server on which the specified group is located
szUsername The alias of the concerned player
usPing The new ping of the player

typedef GSvoid( * CBLobbyRcv_UpdateRoomConfigReply)(GSubyte ubType, GSint iReason, GSint iGroupID, GSint iLobbyServerID)
 

Description:
This callback will be called when the client receive a response from the lobby server after sending a request to change group config flags.
Related Function:
LoginSend_UpdateGroupConfig()
Errors:
ERRORLOBBYSRV_GROUPNOTEXIST: The group doesn't exist.
ERRORLOBBYSRV_NOTMASTER: The player isn't the master of the room.
Parameters:
ubType The status of the message received back (GSSUCCESS or GSFAIL)
iReason The reason of failure if ubType is GSFAIL
iGroupID The id of the group which has been updated
iLobbySrvID The id of the server on which the specified group is located


Ubi.com GameService SDK - ©UbiSoft Entertainment 2002
GameService development team