GOG GALAXY SDK Documentation
IMatchmaking Class Referenceabstract

The interface for managing game lobbies. More...

#include <IMatchmaking.h>

Public Member Functions

virtual void CreateLobby (LobbyType lobbyType, uint32_t maxMembers, bool joinable, LobbyTopologyType lobbyTopologyType, ILobbyCreatedListener *const lobbyCreatedListener=NULL, ILobbyEnteredListener *const lobbyEnteredListener=NULL)=0
 Creates a lobby. More...
 
virtual void RequestLobbyList (bool allowFullLobbies=false, ILobbyListListener *const listener=NULL)=0
 Performs a request for a list of relevant lobbies. More...
 
virtual void AddRequestLobbyListResultCountFilter (uint32_t limit)=0
 Sets the maximum number of lobbies to be returned next time you call RequestLobbyList(). More...
 
virtual void AddRequestLobbyListStringFilter (const char *keyToMatch, const char *valueToMatch, LobbyComparisonType comparisonType)=0
 Adds a string filter to be applied next time you call RequestLobbyList(). More...
 
virtual void AddRequestLobbyListNumericalFilter (const char *keyToMatch, int32_t valueToMatch, LobbyComparisonType comparisonType)=0
 Adds a numerical filter to be applied next time you call RequestLobbyList(). More...
 
virtual void AddRequestLobbyListNearValueFilter (const char *keyToMatch, int32_t valueToBeCloseTo)=0
 Adds a near value filter to be applied next time you call RequestLobbyList(). More...
 
virtual GalaxyID GetLobbyByIndex (uint32_t index)=0
 Returns GalaxyID of a retrieved lobby by index. More...
 
virtual void JoinLobby (GalaxyID lobbyID, ILobbyEnteredListener *const listener=NULL)=0
 Joins a specified existing lobby. More...
 
virtual void LeaveLobby (GalaxyID lobbyID, ILobbyLeftListener *const listener=NULL)=0
 Leaves a specified lobby. More...
 
virtual void SetMaxNumLobbyMembers (GalaxyID lobbyID, uint32_t maxNumLobbyMembers, ILobbyDataUpdateListener *const listener=NULL)=0
 Sets the maximum number of users that can be in a specified lobby. More...
 
virtual uint32_t GetMaxNumLobbyMembers (GalaxyID lobbyID)=0
 Returns the maximum number of users that can be in a specified lobby. More...
 
virtual uint32_t GetNumLobbyMembers (GalaxyID lobbyID)=0
 Returns the number of users in a specified lobby. More...
 
virtual GalaxyID GetLobbyMemberByIndex (GalaxyID lobbyID, uint32_t index)=0
 Returns the GalaxyID of a user in a specified lobby. More...
 
virtual void SetLobbyType (GalaxyID lobbyID, LobbyType lobbyType, ILobbyDataUpdateListener *const listener=NULL)=0
 Sets the type of a specified lobby. More...
 
virtual LobbyType GetLobbyType (GalaxyID lobbyID)=0
 Returns the type of a specified lobby. More...
 
virtual void SetLobbyJoinable (GalaxyID lobbyID, bool joinable, ILobbyDataUpdateListener *const listener=NULL)=0
 Sets if a specified lobby is joinable. More...
 
virtual bool IsLobbyJoinable (GalaxyID lobbyID)=0
 Checks if a specified lobby is joinable. More...
 
virtual void RequestLobbyData (GalaxyID lobbyID, ILobbyDataRetrieveListener *const listener=NULL)=0
 Refreshes info about a specified lobby. More...
 
virtual const char * GetLobbyData (GalaxyID lobbyID, const char *key)=0
 Returns an entry from the properties of a specified lobby. More...
 
virtual void GetLobbyDataCopy (GalaxyID lobbyID, const char *key, char *buffer, uint32_t bufferLength)=0
 Copies an entry from the properties of a specified lobby. More...
 
virtual void SetLobbyData (GalaxyID lobbyID, const char *key, const char *value, ILobbyDataUpdateListener *const listener=NULL)=0
 Creates or updates an entry in the properties of a specified lobby. More...
 
virtual uint32_t GetLobbyDataCount (GalaxyID lobbyID)=0
 Returns the number of entries in the properties of a specified lobby. More...
 
virtual bool GetLobbyDataByIndex (GalaxyID lobbyID, uint32_t index, char *key, uint32_t keyLength, char *value, uint32_t valueLength)=0
 Returns a property of a specified lobby by index. More...
 
virtual void DeleteLobbyData (GalaxyID lobbyID, const char *key, ILobbyDataUpdateListener *const listener=NULL)=0
 Clears a property of a specified lobby by its name. More...
 
virtual const char * GetLobbyMemberData (GalaxyID lobbyID, GalaxyID memberID, const char *key)=0
 Returns an entry from the properties of a specified member of a specified lobby. More...
 
virtual void GetLobbyMemberDataCopy (GalaxyID lobbyID, GalaxyID memberID, const char *key, char *buffer, uint32_t bufferLength)=0
 Copies an entry from the properties of a specified member of a specified lobby. More...
 
virtual void SetLobbyMemberData (GalaxyID lobbyID, const char *key, const char *value, ILobbyMemberDataUpdateListener *const listener=NULL)=0
 Creates or updates an entry in the user's properties (as a lobby member) in a specified lobby. More...
 
virtual uint32_t GetLobbyMemberDataCount (GalaxyID lobbyID, GalaxyID memberID)=0
 Returns the number of entries in the properties of a specified member of a specified lobby. More...
 
virtual bool GetLobbyMemberDataByIndex (GalaxyID lobbyID, GalaxyID memberID, uint32_t index, char *key, uint32_t keyLength, char *value, uint32_t valueLength)=0
 Returns a property of a specified lobby member by index. More...
 
virtual void DeleteLobbyMemberData (GalaxyID lobbyID, const char *key, ILobbyMemberDataUpdateListener *const listener=NULL)=0
 Clears a property of a specified lobby member by its name. More...
 
virtual GalaxyID GetLobbyOwner (GalaxyID lobbyID)=0
 Returns the owner of a specified lobby. More...
 
virtual bool SendLobbyMessage (GalaxyID lobbyID, const void *data, uint32_t dataSize)=0
 Sends a message to all lobby members, including the sender. More...
 
virtual uint32_t GetLobbyMessage (GalaxyID lobbyID, uint32_t messageID, GalaxyID &senderID, char *msg, uint32_t msgLength)=0
 Receives a specified message from one of the members of a specified lobby. More...
 

Detailed Description

The interface for managing game lobbies.

Member Function Documentation

◆ AddRequestLobbyListNearValueFilter()

virtual void AddRequestLobbyListNearValueFilter ( const char *  keyToMatch,
int32_t  valueToBeCloseTo 
)
pure virtual

Adds a near value filter to be applied next time you call RequestLobbyList().

You can add multiple filters. All filters operate on lobby properties.

Remarks
After each call to RequestLobbyList() all filters are cleared.
Parameters
[in]keyToMatchThe key to match.
[in]valueToBeCloseToThe value to be close to.

◆ AddRequestLobbyListNumericalFilter()

virtual void AddRequestLobbyListNumericalFilter ( const char *  keyToMatch,
int32_t  valueToMatch,
LobbyComparisonType  comparisonType 
)
pure virtual

Adds a numerical filter to be applied next time you call RequestLobbyList().

You can add multiple filters. All filters operate on lobby properties.

Remarks
After each call to RequestLobbyList() all filters are cleared.
Parameters
[in]keyToMatchThe key to match.
[in]valueToMatchThe value to match.
[in]comparisonTypeThe type of comparison.

◆ AddRequestLobbyListResultCountFilter()

virtual void AddRequestLobbyListResultCountFilter ( uint32_t  limit)
pure virtual

Sets the maximum number of lobbies to be returned next time you call RequestLobbyList().

You can add multiple filters. All filters operate on lobby properties.

Remarks
After each call to RequestLobbyList() all filters are cleared.
Parameters
[in]limitThe maximum non-zero number of lobbies to retrieve.

◆ AddRequestLobbyListStringFilter()

virtual void AddRequestLobbyListStringFilter ( const char *  keyToMatch,
const char *  valueToMatch,
LobbyComparisonType  comparisonType 
)
pure virtual

Adds a string filter to be applied next time you call RequestLobbyList().

You can add multiple filters. All filters operate on lobby properties.

Remarks
After each call to RequestLobbyList() all filters are cleared.
Parameters
[in]keyToMatchThe key to match.
[in]valueToMatchThe value to match.
[in]comparisonTypeThe type of comparison.

◆ CreateLobby()

virtual void CreateLobby ( LobbyType  lobbyType,
uint32_t  maxMembers,
bool  joinable,
LobbyTopologyType  lobbyTopologyType,
ILobbyCreatedListener *const  lobbyCreatedListener = NULL,
ILobbyEnteredListener *const  lobbyEnteredListener = NULL 
)
pure virtual

Creates a lobby.

Depending on the lobby type specified, the lobby will be visible for other users and joinable either for everyone or just specific users.

This call is asynchronous. Responses come to the ILobbyCreatedListener, as well as ILobbyEnteredListener, provided that the lobby was created successfully, in which case the owning user enters it automatically.

Parameters
[in]lobbyTypeThe type of the lobby.
[in]maxMembersThe maximum number of members allowed for the lobby with the limit of 250 members.
[in]joinableIs the lobby joinable.
[in]lobbyTopologyTypeThe type of the lobby topology.
[in]lobbyCreatedListenerThe lobby creation listener for specific operation call.
[in]lobbyEnteredListenerThe lobby entering listener for specific operation call.

◆ DeleteLobbyData()

virtual void DeleteLobbyData ( GalaxyID  lobbyID,
const char *  key,
ILobbyDataUpdateListener *const  listener = NULL 
)
pure virtual

Clears a property of a specified lobby by its name.

This is the same as calling SetLobbyData() and providing an empty string as the value of the property that is to be altered.

Each user that is a member of the lobby will receive a notification when the properties of the lobby are changed. The notifications come to ILobbyDataListener.

Parameters
[in]lobbyIDThe ID of the lobby.
[in]keyThe name of the property of the lobby.
[in]listenerThe listener for specific operation.

◆ DeleteLobbyMemberData()

virtual void DeleteLobbyMemberData ( GalaxyID  lobbyID,
const char *  key,
ILobbyMemberDataUpdateListener *const  listener = NULL 
)
pure virtual

Clears a property of a specified lobby member by its name.

This is the same as calling SetLobbyMemberData() and providing an empty string as the value of the property that is to be altered.

Each user that is a member of the lobby will receive a notification when the lobby member properties are changed. The notifications come to ILobbyDataListener.

Parameters
[in]lobbyIDThe ID of the lobby.
[in]keyThe name of the property of the lobby member.
[in]listenerThe listener for specific operation.

◆ GetLobbyByIndex()

virtual GalaxyID GetLobbyByIndex ( uint32_t  index)
pure virtual

Returns GalaxyID of a retrieved lobby by index.

Use this call to iterate over last retrieved lobbies, indexed from 0.

Remarks
This method can be used only inside of ILobbyListListener::OnLobbyList().
Precondition
In order to retrieve lobbies and get their count, you need to call RequestLobbyList() first.
Parameters
[in]indexIndex as an integer in the range of [0, number of lobbies fetched).
Returns
The ID of the lobby, valid only if the index is valid.

◆ GetLobbyData()

virtual const char* GetLobbyData ( GalaxyID  lobbyID,
const char *  key 
)
pure virtual

Returns an entry from the properties of a specified lobby.

It returns an empty string if there is no such property of the lobby, or if the ID of the lobby is invalid.

Remarks
This call is not thread-safe as opposed to GetLobbyDataCopy().
Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
[in]keyThe name of the property of the lobby.
Returns
The value of the property, or an empty string if failed.

◆ GetLobbyDataByIndex()

virtual bool GetLobbyDataByIndex ( GalaxyID  lobbyID,
uint32_t  index,
char *  key,
uint32_t  keyLength,
char *  value,
uint32_t  valueLength 
)
pure virtual

Returns a property of a specified lobby by index.

Parameters
[in]lobbyIDThe ID of the lobby.
[in]indexIndex as an integer in the range of [0, number of entries).
[in,out]keyThe name of the property of the lobby.
[in]keyLengthThe length of the name of the property of the lobby.
[in,out]valueThe value of the property of the lobby.
[in]valueLengthThe length of the value of the property of the lobby.
Returns
true if succeeded, false when there is no such property.

◆ GetLobbyDataCopy()

virtual void GetLobbyDataCopy ( GalaxyID  lobbyID,
const char *  key,
char *  buffer,
uint32_t  bufferLength 
)
pure virtual

Copies an entry from the properties of a specified lobby.

It copies an empty string if there is no such property of the lobby, or if the ID of the lobby is invalid.

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
[in]keyThe name of the property of the lobby.
[in,out]bufferThe output buffer.
[in]bufferLengthThe size of the output buffer.

◆ GetLobbyDataCount()

virtual uint32_t GetLobbyDataCount ( GalaxyID  lobbyID)
pure virtual

Returns the number of entries in the properties of a specified lobby.

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
Returns
The number of entries, or 0 if failed.

◆ GetLobbyMemberByIndex()

virtual GalaxyID GetLobbyMemberByIndex ( GalaxyID  lobbyID,
uint32_t  index 
)
pure virtual

Returns the GalaxyID of a user in a specified lobby.

Precondition
The user must be in the lobby in order to retrieve the lobby members.
Parameters
[in]lobbyIDThe ID of the lobby.
[in]indexIndex as an integer in the range of [0, number of lobby members).
Returns
The ID of the lobby member, valid only if the index is valid.

◆ GetLobbyMemberData()

virtual const char* GetLobbyMemberData ( GalaxyID  lobbyID,
GalaxyID  memberID,
const char *  key 
)
pure virtual

Returns an entry from the properties of a specified member of a specified lobby.

It returns an empty string if there is no such property of the member of the lobby, or if any of the specified IDs are invalid (including false membership).

Remarks
This call is not thread-safe as opposed to GetLobbyMemberDataCopy().
Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
[in]memberIDThe ID of the lobby member.
[in]keyThe name of the property of the lobby member.
Returns
The value of the property, or an empty string if failed.

◆ GetLobbyMemberDataByIndex()

virtual bool GetLobbyMemberDataByIndex ( GalaxyID  lobbyID,
GalaxyID  memberID,
uint32_t  index,
char *  key,
uint32_t  keyLength,
char *  value,
uint32_t  valueLength 
)
pure virtual

Returns a property of a specified lobby member by index.

Parameters
[in]lobbyIDThe ID of the lobby.
[in]memberIDThe ID of the lobby member.
[in]indexIndex as an integer in the range of [0, number of entries).
[in,out]keyThe name of the property of the lobby member.
[in]keyLengthThe length of the name of the property of the lobby member.
[in,out]valueThe value of the property of the lobby member.
[in]valueLengthThe length of the value of the property of the lobby member.
Returns
true if succeeded, false when there is no such property.

◆ GetLobbyMemberDataCopy()

virtual void GetLobbyMemberDataCopy ( GalaxyID  lobbyID,
GalaxyID  memberID,
const char *  key,
char *  buffer,
uint32_t  bufferLength 
)
pure virtual

Copies an entry from the properties of a specified member of a specified lobby.

It copies an empty string if there is no such property of the member of the lobby, or if any of the specified IDs are invalid (including false membership).

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
[in]memberIDThe ID of the lobby member.
[in]keyThe name of the property of the lobby member.
[in,out]bufferThe output buffer.
[in]bufferLengthThe size of the output buffer.

◆ GetLobbyMemberDataCount()

virtual uint32_t GetLobbyMemberDataCount ( GalaxyID  lobbyID,
GalaxyID  memberID 
)
pure virtual

Returns the number of entries in the properties of a specified member of a specified lobby.

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
[in]memberIDThe ID of the lobby member.
Returns
The number of entries, or 0 if failed.

◆ GetLobbyMessage()

virtual uint32_t GetLobbyMessage ( GalaxyID  lobbyID,
uint32_t  messageID,
GalaxyID senderID,
char *  msg,
uint32_t  msgLength 
)
pure virtual

Receives a specified message from one of the members of a specified lobby.

Parameters
[in]lobbyIDThe ID of the lobby.
[in]messageIDThe ID of the message.
[out]senderIDThe ID of the sender.
[in,out]msgThe buffer to pass the data to.
[in]msgLengthThe size of the buffer.
Returns
The number of bytes written to the buffer.

◆ GetLobbyOwner()

virtual GalaxyID GetLobbyOwner ( GalaxyID  lobbyID)
pure virtual

Returns the owner of a specified lobby.

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
Returns
The ID of the lobby member who is also its owner, valid only when called by a member.

◆ GetLobbyType()

virtual LobbyType GetLobbyType ( GalaxyID  lobbyID)
pure virtual

Returns the type of a specified lobby.

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
Returns
lobbyType The type of the lobby.

◆ GetMaxNumLobbyMembers()

virtual uint32_t GetMaxNumLobbyMembers ( GalaxyID  lobbyID)
pure virtual

Returns the maximum number of users that can be in a specified lobby.

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby to check.
Returns
The maximum number of members allowed for the lobby.

◆ GetNumLobbyMembers()

virtual uint32_t GetNumLobbyMembers ( GalaxyID  lobbyID)
pure virtual

Returns the number of users in a specified lobby.

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby to check.
Returns
The number of members of the lobby.

◆ IsLobbyJoinable()

virtual bool IsLobbyJoinable ( GalaxyID  lobbyID)
pure virtual

Checks if a specified lobby is joinable.

Precondition
If not currently in the lobby, retrieve the data first by calling RequestLobbyData().
Parameters
[in]lobbyIDThe ID of the lobby.
Returns
If the lobby is joinable.

◆ JoinLobby()

virtual void JoinLobby ( GalaxyID  lobbyID,
ILobbyEnteredListener *const  listener = NULL 
)
pure virtual

Joins a specified existing lobby.

This call is asynchronous. Responses come to the ILobbyEnteredListener.

For other lobby members notifications come to the ILobbyMemberStateListener.

Parameters
[in]lobbyIDThe ID of the lobby to join.
[in]listenerThe listener for specific operation call.

◆ LeaveLobby()

virtual void LeaveLobby ( GalaxyID  lobbyID,
ILobbyLeftListener *const  listener = NULL 
)
pure virtual

Leaves a specified lobby.

ILobbyLeftListener will be called when lobby is left. For other lobby members notifications come to the ILobbyMemberStateListener.

Lobby data and lobby messages will not be reachable for lobby that we left.

Parameters
[in]lobbyIDThe ID of the lobby to leave.
[in]listenerThe listener for specific operation call.

◆ RequestLobbyData()

virtual void RequestLobbyData ( GalaxyID  lobbyID,
ILobbyDataRetrieveListener *const  listener = NULL 
)
pure virtual

Refreshes info about a specified lobby.

This is needed only for the lobbies that the user is not currently in, since for entered lobbies any info is updated automatically.

This call is asynchronous. Responses come to the ILobbyDataListener and ILobbyDataRetrieveListener.

Parameters
[in]lobbyIDThe ID of the lobby.
[in]listenerThe listener for specific operation call.

◆ RequestLobbyList()

virtual void RequestLobbyList ( bool  allowFullLobbies = false,
ILobbyListListener *const  listener = NULL 
)
pure virtual

Performs a request for a list of relevant lobbies.

This call is asynchronous. When the list is received, a notification will come to the ILobbyListListener. The notification contains only the number of lobbies that were found and are available for reading.

In order to read subsequent lobbies, call GetLobbyByIndex().

Remarks
The resulting list of lobbies is filtered according to all the filters that were specified prior to this call and after the previous request for lobby list, since filters are consumed only once and not used again.
Full lobbies are never included in the list.
Parameters
[in]allowFullLobbiesAre full lobbies allowed.
[in]listenerThe listener for specific operation call.

◆ SendLobbyMessage()

virtual bool SendLobbyMessage ( GalaxyID  lobbyID,
const void *  data,
uint32_t  dataSize 
)
pure virtual

Sends a message to all lobby members, including the sender.

For all the lobby members there comes a notification to the ILobbyMessageListener. Since that moment it is possible to retrieve the message by ID using GetLobbyMessage().

Precondition
The user needs to be in the lobby in order to send a message to its members.
Parameters
[in]lobbyIDThe ID of the lobby.
[in]dataThe data to send.
[in]dataSizeThe length of the data.
Returns
true if the message was scheduled for sending, false otherwise.

◆ SetLobbyData()

virtual void SetLobbyData ( GalaxyID  lobbyID,
const char *  key,
const char *  value,
ILobbyDataUpdateListener *const  listener = NULL 
)
pure virtual

Creates or updates an entry in the properties of a specified lobby.

The properties can be used for matchmaking or broadcasting any lobby data (e.g. the name of the lobby) to other Galaxy Peers.

The properties are assigned to the lobby and available for matchmaking. Each user that is a member of the lobby will receive a notification when the properties of the lobby are changed. The notifications come to ILobbyDataListener.

Any user that joins the lobby will be able to read the data.

Remarks
To clear a property, set it to an empty string.
Precondition
Only the owner of the lobby can edit its properties.
Parameters
[in]lobbyIDThe ID of the lobby.
[in]keyThe name of the property of the lobby with the limit of 1023 bytes.
[in]valueThe value of the property to set with the limit of 4095 bytes.
[in]listenerThe listener for specific operation.

◆ SetLobbyJoinable()

virtual void SetLobbyJoinable ( GalaxyID  lobbyID,
bool  joinable,
ILobbyDataUpdateListener *const  listener = NULL 
)
pure virtual

Sets if a specified lobby is joinable.

Remarks
When a lobby is not joinable, no user can join in even if there are still some empty slots for lobby members. The lobby is also hidden from matchmaking.
Newly created lobbies are joinable by default. Close a lobby by making it not joinable e.g. when the game has started and no new lobby members are allowed.
Parameters
[in]lobbyIDThe ID of the lobby.
[in]joinableIs the lobby joinable.
[in]listenerThe listener for specific operation.

◆ SetLobbyMemberData()

virtual void SetLobbyMemberData ( GalaxyID  lobbyID,
const char *  key,
const char *  value,
ILobbyMemberDataUpdateListener *const  listener = NULL 
)
pure virtual

Creates or updates an entry in the user's properties (as a lobby member) in a specified lobby.

The properties can be used for broadcasting any data as the lobby member data (e.g. the name of the user in the lobby) to other lobby members.

The properties are assigned to the user as a lobby member in the lobby. Each user that is a member of the lobby will receive a notification when the lobby member properties are changed. The notifications come to ILobbyDataListener.

Any user that joins the lobby will be able to read the data.

Remarks
To clear a property, set it to an empty string.
Parameters
[in]lobbyIDThe ID of the lobby.
[in]keyThe name of the property of the lobby member with the limit of 1023 bytes.
[in]valueThe value of the property to set with the limit of 4095 bytes.
[in]listenerThe listener for specific operation.

◆ SetLobbyType()

virtual void SetLobbyType ( GalaxyID  lobbyID,
LobbyType  lobbyType,
ILobbyDataUpdateListener *const  listener = NULL 
)
pure virtual

Sets the type of a specified lobby.

Parameters
[in]lobbyIDThe ID of the lobby.
[in]lobbyTypeThe type of the lobby.
[in]listenerThe listener for specific operation.

◆ SetMaxNumLobbyMembers()

virtual void SetMaxNumLobbyMembers ( GalaxyID  lobbyID,
uint32_t  maxNumLobbyMembers,
ILobbyDataUpdateListener *const  listener = NULL 
)
pure virtual

Sets the maximum number of users that can be in a specified lobby.

Parameters
[in]lobbyIDThe ID of the lobby to check.
[in]maxNumLobbyMembersThe maximum number of members allowed for the lobby with the limit of 250 members.
[in]listenerThe listener for specific operation.