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