gpg::RealTimeMultiplayerManager

#include <real_time_multiplayer_manager.h>

Fetches, modifies, handles messaging for, and creates RealTimeRoom objects.

Summary

Public types

FetchInvitationsCallback typedef
std::function< void(const FetchInvitationsResponse &)>
Defines a callback that can be used to receive a WaitingRoomUIResponse from one of the real-time multiplayer operations.
LeaveRoomCallback typedef
std::function< void(const ResponseStatus &)>
Defines a callback that can receive a ResponseStatus from LeaveRoom.
PlayerSelectUICallback typedef
std::function< void(const PlayerSelectUIResponse &)>
Defines a callback that can receive a PlayerSelectUIResponse from ShowPlayerSelectUI.
PlayerSelectUIResponse typedef
Data and ResponseStatus for the ShowPlayerSelectUI operation.
RealTimeRoomCallback typedef
std::function< void(const RealTimeRoomResponse &)>
Defines a callback that can be used to receive a RealTimeRoomResponse struct from one of the turn-based multiplayer operations.
RoomInboxUICallback typedef
std::function< void(const RoomInboxUIResponse &)>
Defines a callback that can receive a RoomInboxUIResponse from ShowRoomInboxUI.
SendReliableMessageCallback typedef
std::function< void(const MultiplayerStatus &)>
Defines a callback that can receive a ResponseStatus from SendReliableMessage.
WaitingRoomUICallback typedef
std::function< void(const WaitingRoomUIResponse &)>
Defines a callback that can be used to receive a WaitingRoomUIResponse from one of the real-time multiplayer operations.

Public functions

AcceptInvitation(const MultiplayerInvitation & invitation, IRealTimeEventListener *listener, RealTimeRoomCallback callback)
void
Asynchronously accepts a MultiplayerInvitation, and returns the result via a RealTimeRoomCallback.
AcceptInvitation(const MultiplayerInvitation & invitation, RealTimeEventListenerHelper helper, RealTimeRoomCallback callback)
void
Asynchronously accepts a MultiplayerInvitation, and returns the result via a RealTimeRoomCallback.
AcceptInvitationBlocking(Timeout timeout, const MultiplayerInvitation & invitation, IRealTimeEventListener *listener)
Blocking version of AcceptInvitation.
AcceptInvitationBlocking(const MultiplayerInvitation & invitation, IRealTimeEventListener *listener)
Overload of AcceptInvitationBlocking, which uses a default timeout of 10 years.
AcceptInvitationBlocking(Timeout timeout, const MultiplayerInvitation & invitation, RealTimeEventListenerHelper helper)
Blocking version of AcceptInvitation.
AcceptInvitationBlocking(const MultiplayerInvitation & invitation, RealTimeEventListenerHelper helper)
Overload of AcceptInvitationBlocking, which uses a default timeout of 10 years.
CreateRealTimeRoom(const gpg::RealTimeRoomConfig & config, IRealTimeEventListener *listener, RealTimeRoomCallback callback)
void
Asynchronously creates a RealTimeRoom object using the provided RealTimeRoomConfig class.
CreateRealTimeRoom(const gpg::RealTimeRoomConfig & config, RealTimeEventListenerHelper helper, RealTimeRoomCallback callback)
void
Asynchronously creates a RealTimeRoom object using the provided RealTimeRoomConfig class.
CreateRealTimeRoomBlocking(Timeout timeout, const RealTimeRoomConfig & config, IRealTimeEventListener *listener)
Blocking version of CreateRealTimeRoom.
CreateRealTimeRoomBlocking(const RealTimeRoomConfig & config, IRealTimeEventListener *listener)
Overload of CreateRealTimeRoomBlocking, which uses a default timeout of 10 years.
CreateRealTimeRoomBlocking(Timeout timeout, const RealTimeRoomConfig & config, RealTimeEventListenerHelper helper)
Blocking version of CreateRealTimeRoom.
CreateRealTimeRoomBlocking(const RealTimeRoomConfig & config, RealTimeEventListenerHelper helper)
Overload of CreateRealTimeRoomBlocking, which uses a default timeout of 10 years.
DeclineInvitation(const MultiplayerInvitation & invitation)
void
DismissInvitation(const MultiplayerInvitation & invitation)
void
FetchInvitations(FetchInvitationsCallback callback)
void
Fetches any MultiplayerInvitations for real time rooms.
FetchInvitationsBlocking(Timeout timeout)
Blocking version of FetchInvitations.
FetchInvitationsBlocking()
Overload of FetchInvitationsBlocking, which uses a default timeout of 10 years.
LeaveRoom(const RealTimeRoom & room, LeaveRoomCallback callback)
void
Leaves a RealTimeRoom.
LeaveRoomBlocking(Timeout timeout, const RealTimeRoom & room)
Blocking version of LeaveRoom.
LeaveRoomBlocking(const RealTimeRoom & room)
Overload of LeaveRoomBlocking, which uses a default timeout of 10 years.
SendReliableMessage(const RealTimeRoom & room, const MultiplayerParticipant & participant, std::vector< uint8_t > data, SendReliableMessageCallback callback)
void
Sends a message to the specified MultiplayerParticipant.
SendReliableMessageBlocking(Timeout timeout, const RealTimeRoom & room, const MultiplayerParticipant & participant, std::vector< uint8_t > data)
Blocking version of SendReliableMessage.
SendReliableMessageBlocking(const RealTimeRoom & room, const MultiplayerParticipant & participant, std::vector< uint8_t > data)
Overload of SendReliableMessageBlocking, which uses a default timeout of 10 years.
SendUnreliableMessage(const RealTimeRoom & room, const std::vector< MultiplayerParticipant > & participants, std::vector< uint8_t > data)
void
Sends a message to the specified MultiplayerParticipants.
SendUnreliableMessageToOthers(const RealTimeRoom & room, std::vector< uint8_t > data)
void
Sends a message to all participants other than the current user.
ShowPlayerSelectUI(uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch, PlayerSelectUICallback callback)
void
Asynchronously shows the player select UI, allowing the player to select other players to join a room with.
ShowPlayerSelectUIBlocking(Timeout timeout, uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch)
Blocking version of ShowPlayerSelectUI.
ShowPlayerSelectUIBlocking(uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch)
Overload of ShowPlayerSelectUIBlocking, which uses a default timeout of 10 years.
ShowRoomInboxUI(RoomInboxUICallback callback)
void
Asynchronously shows the room inbox UI, allowing the player to select a multiplayer invitation.
ShowRoomInboxUIBlocking(Timeout timeout)
Blocking version of ShowRoomInboxUI.
ShowRoomInboxUIBlocking()
Overload of ShowRoomInboxUIBlocking, which uses a default timeout of 10 years.
ShowWaitingRoomUI(const RealTimeRoom & room, uint32_t min_participants_to_start, WaitingRoomUICallback callback)
void
Shows a waiting room UI which displays the status of MultiplayerParticipants joining this room.
ShowWaitingRoomUIBlocking(Timeout timeout, const RealTimeRoom & room, uint32_t min_participants_to_start)
Blocking version of ShowWaitingRoomUI.
ShowWaitingRoomUIBlocking(const RealTimeRoom & room, uint32_t min_participants_to_start)
Overload of ShowWaitingRoomUIBlocking, which uses a default timeout of 10 years.

Structs

gpg::RealTimeMultiplayerManager::FetchInvitationsResponse

Data and ResponseStatus for the FetchInvitations operation.

gpg::RealTimeMultiplayerManager::RealTimeRoomResponse

Data and ResponseStatus for a specific RealTimeRoom object.

gpg::RealTimeMultiplayerManager::RoomInboxUIResponse

Data and ResponseStatus for the ShowRoomInboxUI operation.

gpg::RealTimeMultiplayerManager::WaitingRoomUIResponse

Data and ResponseStatus for the ShowWaitingRoomUI operation.

Public types

FetchInvitationsCallback

std::function< void(const FetchInvitationsResponse &)> FetchInvitationsCallback

Defines a callback that can be used to receive a WaitingRoomUIResponse from one of the real-time multiplayer operations.

LeaveRoomCallback

std::function< void(const ResponseStatus &)> LeaveRoomCallback

Defines a callback that can receive a ResponseStatus from LeaveRoom.

PlayerSelectUICallback

std::function< void(const PlayerSelectUIResponse &)> PlayerSelectUICallback

Defines a callback that can receive a PlayerSelectUIResponse from ShowPlayerSelectUI.

PlayerSelectUIResponse

TurnBasedMultiplayerManager::PlayerSelectUIResponse PlayerSelectUIResponse

Data and ResponseStatus for the ShowPlayerSelectUI operation.

This is shared with Turn Based multiplayer.

RealTimeRoomCallback

std::function< void(const RealTimeRoomResponse &)> RealTimeRoomCallback

Defines a callback that can be used to receive a RealTimeRoomResponse struct from one of the turn-based multiplayer operations.

RoomInboxUICallback

std::function< void(const RoomInboxUIResponse &)> RoomInboxUICallback

Defines a callback that can receive a RoomInboxUIResponse from ShowRoomInboxUI.

SendReliableMessageCallback

std::function< void(const MultiplayerStatus &)> SendReliableMessageCallback

Defines a callback that can receive a ResponseStatus from SendReliableMessage.

WaitingRoomUICallback

std::function< void(const WaitingRoomUIResponse &)> WaitingRoomUICallback

Defines a callback that can be used to receive a WaitingRoomUIResponse from one of the real-time multiplayer operations.

Public functions

AcceptInvitation

void AcceptInvitation(
  const MultiplayerInvitation & invitation,
  IRealTimeEventListener *listener,
  RealTimeRoomCallback callback
)

Asynchronously accepts a MultiplayerInvitation, and returns the result via a RealTimeRoomCallback.

AcceptInvitation

void AcceptInvitation(
  const MultiplayerInvitation & invitation,
  RealTimeEventListenerHelper helper,
  RealTimeRoomCallback callback
)

Asynchronously accepts a MultiplayerInvitation, and returns the result via a RealTimeRoomCallback.

AcceptInvitationBlocking

RealTimeRoomResponse AcceptInvitationBlocking(
  Timeout timeout,
  const MultiplayerInvitation & invitation,
  IRealTimeEventListener *listener
)

Blocking version of AcceptInvitation.

Allows the caller to specify a timeout in ms. After the specified time elapses, the function returns ERROR_TIMEOUT.

AcceptInvitationBlocking

RealTimeRoomResponse AcceptInvitationBlocking(
  const MultiplayerInvitation & invitation,
  IRealTimeEventListener *listener
)

Overload of AcceptInvitationBlocking, which uses a default timeout of 10 years.

AcceptInvitationBlocking

RealTimeRoomResponse AcceptInvitationBlocking(
  Timeout timeout,
  const MultiplayerInvitation & invitation,
  RealTimeEventListenerHelper helper
)

Blocking version of AcceptInvitation.

Allows the caller to specify a timeout in ms. After the specified time elapses, the function returns ERROR_TIMEOUT.

AcceptInvitationBlocking

RealTimeRoomResponse AcceptInvitationBlocking(
  const MultiplayerInvitation & invitation,
  RealTimeEventListenerHelper helper
)

Overload of AcceptInvitationBlocking, which uses a default timeout of 10 years.

CreateRealTimeRoom

void CreateRealTimeRoom(
  const gpg::RealTimeRoomConfig & config,
  IRealTimeEventListener *listener,
  RealTimeRoomCallback callback
)

Asynchronously creates a RealTimeRoom object using the provided RealTimeRoomConfig class.

If creation is successful, this function returns the RealTimeRoom object via the provided RealTimeRoomCallback.

CreateRealTimeRoom

void CreateRealTimeRoom(
  const gpg::RealTimeRoomConfig & config,
  RealTimeEventListenerHelper helper,
  RealTimeRoomCallback callback
)

Asynchronously creates a RealTimeRoom object using the provided RealTimeRoomConfig class.

If creation is successful, this function returns the RealTimeRoom object via the provided RealTimeRoomCallback.

CreateRealTimeRoomBlocking

RealTimeRoomResponse CreateRealTimeRoomBlocking(
  Timeout timeout,
  const RealTimeRoomConfig & config,
  IRealTimeEventListener *listener
)

Blocking version of CreateRealTimeRoom.

Allows the caller to specify a timeout in ms. After the specified time elapses, the function returns ERROR_TIMEOUT.

CreateRealTimeRoomBlocking

RealTimeRoomResponse CreateRealTimeRoomBlocking(
  const RealTimeRoomConfig & config,
  IRealTimeEventListener *listener
)

Overload of CreateRealTimeRoomBlocking, which uses a default timeout of 10 years.

CreateRealTimeRoomBlocking

RealTimeRoomResponse CreateRealTimeRoomBlocking(
  Timeout timeout,
  const RealTimeRoomConfig & config,
  RealTimeEventListenerHelper helper
)

Blocking version of CreateRealTimeRoom.

Allows the caller to specify a timeout in ms. After the specified time elapses, the function returns ERROR_TIMEOUT.

CreateRealTimeRoomBlocking

RealTimeRoomResponse CreateRealTimeRoomBlocking(
  const RealTimeRoomConfig & config,
  RealTimeEventListenerHelper helper
)

Overload of CreateRealTimeRoomBlocking, which uses a default timeout of 10 years.

DeclineInvitation

void DeclineInvitation(
  const MultiplayerInvitation & invitation
)

Declines a MultiplayerInvitation to a RealTimeRoom.

Doing so cancels the room for the other participants, and removes the room from the local player's device.

DismissInvitation

void DismissInvitation(
  const MultiplayerInvitation & invitation
)

Dismisses a MultiplayerInvitation to a RealTimeRoom.

This does not change the visible state of the RealTimeRoom for the other participants, but removes it from the local player's device.

FetchInvitations

void FetchInvitations(
  FetchInvitationsCallback callback
)

Fetches any MultiplayerInvitations for real time rooms.

The fetched MultiplayerInvitations are returned via the provided FetchInvitationsCallback.

FetchInvitationsBlocking

FetchInvitationsResponse FetchInvitationsBlocking(
  Timeout timeout
)

Blocking version of FetchInvitations.

Allows the caller to specify a timeout in ms. After the sepcified time elapses, the function will return ERROR_TIMEOUT.

FetchInvitationsBlocking

FetchInvitationsResponse FetchInvitationsBlocking()

Overload of FetchInvitationsBlocking, which uses a default timeout of 10 years.

LeaveRoom

void LeaveRoom(
  const RealTimeRoom & room,
  LeaveRoomCallback callback
)

Leaves a RealTimeRoom.

You should not create a new room or attempt to join another room until this operation has completed. The result of this operation is returned via a LeaveRoomCallback.

LeaveRoomBlocking

ResponseStatus LeaveRoomBlocking(
  Timeout timeout,
  const RealTimeRoom & room
)

Blocking version of LeaveRoom.

Allows the caller to specify a timeout in ms. After the specified time elapses, the function returns ERROR_TIMEOUT.

LeaveRoomBlocking

ResponseStatus LeaveRoomBlocking(
  const RealTimeRoom & room
)

Overload of LeaveRoomBlocking, which uses a default timeout of 10 years.

SendReliableMessage

void SendReliableMessage(
  const RealTimeRoom & room,
  const MultiplayerParticipant & participant,
  std::vector< uint8_t > data,
  SendReliableMessageCallback callback
)

Sends a message to the specified MultiplayerParticipant.

Uses a reliable method to send the message. This method of sending data may take longer than sending a message unreliably. The result of the send is reported via the provided callback.

SendReliableMessageBlocking

MultiplayerStatus SendReliableMessageBlocking(
  Timeout timeout,
  const RealTimeRoom & room,
  const MultiplayerParticipant & participant,
  std::vector< uint8_t > data
)

Blocking version of SendReliableMessage.

Allows the caller to specify a timeout in ms. After the specified time elapses, the function returns ERROR_TIMEOUT.

SendReliableMessageBlocking

MultiplayerStatus SendReliableMessageBlocking(
  const RealTimeRoom & room,
  const MultiplayerParticipant & participant,
  std::vector< uint8_t > data
)

Overload of SendReliableMessageBlocking, which uses a default timeout of 10 years.

SendUnreliableMessage

void SendUnreliableMessage(
  const RealTimeRoom & room,
  const std::vector< MultiplayerParticipant > & participants,
  std::vector< uint8_t > data
)

Sends a message to the specified MultiplayerParticipants.

Uses an unreliable method to send the message. This method of sending data is faster than sending data reliably and should be preferred if possible.

SendUnreliableMessageToOthers

void SendUnreliableMessageToOthers(
  const RealTimeRoom & room,
  std::vector< uint8_t > data
)

Sends a message to all participants other than the current user.

Uses an unreliable method to send the message. This method of sending data is faster than sending data reliably and should be preferred if possible.

ShowPlayerSelectUI

void ShowPlayerSelectUI(
  uint32_t minimum_players,
  uint32_t maximum_players,
  bool allow_automatch,
  PlayerSelectUICallback callback
)

Asynchronously shows the player select UI, allowing the player to select other players to join a room with.

Upon completion, the selected players will be returned via the PlayerSelectUICallback.

ShowPlayerSelectUIBlocking

PlayerSelectUIResponse ShowPlayerSelectUIBlocking(
  Timeout timeout,
  uint32_t minimum_players,
  uint32_t maximum_players,
  bool allow_automatch
)

Blocking version of ShowPlayerSelectUI.

Allows the caller to specify a timeout in ms. After the specified time elapses, the function returns ERROR_TIMEOUT.

ShowPlayerSelectUIBlocking

PlayerSelectUIResponse ShowPlayerSelectUIBlocking(
  uint32_t minimum_players,
  uint32_t maximum_players,
  bool allow_automatch
)

Overload of ShowPlayerSelectUIBlocking, which uses a default timeout of 10 years.

ShowRoomInboxUI

void ShowRoomInboxUI(
  RoomInboxUICallback callback
)

Asynchronously shows the room inbox UI, allowing the player to select a multiplayer invitation.

Upon completion, the selected invitation is returned via the RoomInboxUIResponse.

ShowRoomInboxUIBlocking

RoomInboxUIResponse ShowRoomInboxUIBlocking(
  Timeout timeout
)

Blocking version of ShowRoomInboxUI.

Allows the caller to specify a timeout in ms. After the specified time elapses, the function returns ERROR_TIMEOUT.

ShowRoomInboxUIBlocking

RoomInboxUIResponse ShowRoomInboxUIBlocking()

Overload of ShowRoomInboxUIBlocking, which uses a default timeout of 10 years.

ShowWaitingRoomUI

void ShowWaitingRoomUI(
  const RealTimeRoom & room,
  uint32_t min_participants_to_start,
  WaitingRoomUICallback callback
)

Shows a waiting room UI which displays the status of MultiplayerParticipants joining this room.

ShowWaitingRoomUIBlocking

WaitingRoomUIResponse ShowWaitingRoomUIBlocking(
  Timeout timeout,
  const RealTimeRoom & room,
  uint32_t min_participants_to_start
)

Blocking version of ShowWaitingRoomUI.

Allows the caller to specify a timeout in ms. After the sepcified time elapses, the function will return ERROR_TIMEOUT.

ShowWaitingRoomUIBlocking

WaitingRoomUIResponse ShowWaitingRoomUIBlocking(
  const RealTimeRoom & room,
  uint32_t min_participants_to_start
)

Overload of ShowWaitingRoomUIBlocking, which uses a default timeout of 10 years.