Skip to content
RallyHere Docs
GitHub

Session

Summary

MembersDescriptions
class URH_PlatformSessionSyncerSynchronization object to sync state between a RallyHere Session and a Platform Session (such as a Steam session)
class URH_SessionBrowserCacheSimple container class to hold session view data, does not have its own auth context, relies upon getting it from elsewhere during calls, so that it can be used to cache across multiple players.
class URH_SessionViewBase class providing functionality for viewing session data and interacting with it from blueprint. Specifically does not have an “owner” meaning it cannot do “work” - it is read only. The subclasses have owners.
class URH_InvitedSessionInvited Sessions are sessions that the player has been invited to.
class URH_OfflineSessionOffline Sessions are sessions the session owner is actively a member of that are unsynchronized with the API. This is primarily intended as a utility class to allow for the session flow to be used globally, even when not running API based sessions (ex: tutorial / practice area before login).
class URH_OnlineSessionOnline Sessions are sessions that are synchronized from the API (and since it is a joined session, the Session Owner is a member)
class URH_SessionOwnerInterfaceSession Owner Interface class.
class IRH_SessionOwnerInterfaceSession Owner Interface.
struct FRH_SessionBrowserSearchParamsStruct containing the search paramaters for Session Browsers.
struct FRH_SessionMemberStatusStateUtility struct to wrapper a player state for a player state update change.
struct TRH_DataWithETagWrapperUtility struct to wrapper the tuple of a data typeand etag.
struct FRH_DeferredSessionPollPoll for deferred sessions.

class URH_PlatformSessionSyncer

class URH_PlatformSessionSyncer
  : public UObject

Synchronization object to sync state between a RallyHere Session and a Platform Session (such as a Steam session)

Summary

MembersDescriptions
public FRH_PlatformSessionSyncerCleanupDelegate OnCleanupCompleteNotification delegates for when cleanup of this object has completed.
public FRH_PlatformSessionSyncerCleanupDynamicDelegate BLUEPRINT_OnCleanupComplete
public bool Initialize(const FString & InSessionId,FRH_SessionOwnerPtr InOwner)Initialize the sycnrhonization object with a RallyHere session id and a session owner - requires that the owner contain that session.
public void Cleanup(FSimpleDelegate CompletionDelegate)Clean up the synchronization object, typically used when the RallyHere session is expired.
public inline FORCEINLINE FString GetRHSessionId() constGet the RallyHere session id that this object is synchronizing to.
public URH_JoinedSession*GetRHSession() constHelper function to get the RallyHere session objcet from the session owner (based on the result of GetRHSessionId())
public bool GetPlatformSessionIdFromRHSession(FUniqueNetIdRepl & PlatformSessionId) constHelper function to get the Platform Session Id from the RallyHere session object (based on the result of GetRHSession())
public FNamedOnlineSession * GetPlatformSession() constGet the platform session object that this object is synchronizing to from the OnlineSubsystem.
public bool GetPlatformSessionIdFromPlatformSession(FUniqueNetIdRepl & PlatformSessionId) constHelper function to get the Platform Session Id from the platform session object (based on the result of GetPlatformSession())
public inline TScriptInterface< IRH_SessionOwnerInterface>GetSessionOwner() constGet the session owner interface that this object is using to look up session information.
public bool IsLocalPlayerScout() constGet whether the local player is the “scout” - the player responsible for creation of the platform session if one does not exist.
public inline bool IsCleaningUp() constWhether this object is in the process of, or has completed, cleanup.
public inline bool IsCleanupComplete() constWhether this object has completed, cleanup.
public bool StartPlatformSession()Marks the session as started (note - asynchronous)
public bool EndPlatformSession()Marks the session as ended (note - asynchronous)
public void OnPlatformSessionCreated(bool bSuccess)Notification helper to let the synchronization object know that a session has been created (from the session owner, as the synchronization object does not bind the callback directly)
public void OnPlatformSessionJoined(EOnJoinSessionCompleteResult::Type Result)Notification helper to let the synchronization object know that a session has been joined (from the session owner, as the synchronization object does not bind the callback directly)
public void OnPlatformSessionStarted(bool bSuccess)Notification helper to let the synchronization object know that a session has been started (from the session owner, as the synchronization object does not bind the callback directly)
public void OnPlatformSessionEnded(bool bSuccess)Notification helper to let the synchronization object know that a session has been ended (from the session owner, as the synchronization object does not bind the callback directly)
public void OnPlatformSessionDestroyed(bool bSuccess)Notification helper to let the synchronization object know that a session has been destroyed (from the session owner, as the synchronization object does not bind the callback directly)
public void OnRHSessionUpdated(URH_SessionView * UpdatedSession)Handler for whenever the associated session is updated.
public void SetCachedPlatformSessionInvite(const FOnlineSessionSearchResult & SessionInvite)
protected ESyncActionState CurrentSyncActionStateThe current state of the syncer.
protected FRH_SessionOwnerPtr SessionOwnerOwner of the session.
protected FString RHSessionIdRallyHere session Id.
protected FName OSSSessionNameName of the session.
protected ERHAPI_Platform RHPlatformInternal platoform for the session.
protected TOptional< FOnlineSessionSearchResult > CachedSessionInviteThe cached platform session invite.
protected bool bDeferCleanupwhether cleanup is deferred until the end of the current action
protected void CheckState()Check our current state against the session, and decide if we need to take any action.
protected void KickOffState(ESyncActionState NewState)Change to a new state.
protected void SyncActionComplete(bool bSuccess,bool bDeferFrame)Called when a Sync Action State is complete.
protected void UpdateRHSessionWithPlatformSession()Take in information from the paired platform session into the RH Session.
protected void CreatePlatformSession()Create a platform session.
protected void JoinPlatformSession()Join the platform session.
protected void JoinFoundPlatformSession(const FOnlineSessionSearchResult & SearchResult)Used by Join Platform session once found to join it.
protected void LeavePlatformSession()Leave the platform session.
protected void CleanupInternal()Cleanup internal state of the session syncer.
protected bool SetSyncActionState(ESyncActionState NewState)Sets the new action state for the syncer.
protected FUniqueNetIdWrapper GetOSSUniqueId() constGet the unique net id of the session owner.
protected IOnlineSubsystem * GetOSS() constGet the online subsystem for the platform session.
protected IOnlineSessionPtr GetOSSSessionInterface() constGet the online subsystem session interface for the platform session.

Members

public FRH_PlatformSessionSyncerCleanupDelegate OnCleanupComplete

Notification delegates for when cleanup of this object has completed.

public FRH_PlatformSessionSyncerCleanupDynamicDelegate BLUEPRINT_OnCleanupComplete

public bool Initialize(const FString & InSessionId,FRH_SessionOwnerPtr InOwner)

Initialize the sycnrhonization object with a RallyHere session id and a session owner - requires that the owner contain that session.

Parameters

  • InSessionId The RallyHere session id for which we are synchronizing state

  • InOwner Session owner interface for use in looking up the session and other information

Returns

Whether initialization was successful. If initialization was successful, Cleanup() must be called to properly clean up state

public void Cleanup(FSimpleDelegate CompletionDelegate)

Clean up the synchronization object, typically used when the RallyHere session is expired.

Parameters

  • CompletionDelegate Delegate to call when cleanup is complete

public inline FORCEINLINE FString GetRHSessionId() const

Get the RallyHere session id that this object is synchronizing to.

public URH_JoinedSession*GetRHSession() const

Helper function to get the RallyHere session objcet from the session owner (based on the result of GetRHSessionId())

public bool GetPlatformSessionIdFromRHSession(FUniqueNetIdRepl & PlatformSessionId) const

Helper function to get the Platform Session Id from the RallyHere session object (based on the result of GetRHSession())

Parameters

  • PlatformSessionId The platform session id to fill in

Returns

Whether the platform session id was successfully filled in

public FNamedOnlineSession * GetPlatformSession() const

Get the platform session object that this object is synchronizing to from the OnlineSubsystem.

public bool GetPlatformSessionIdFromPlatformSession(FUniqueNetIdRepl & PlatformSessionId) const

Helper function to get the Platform Session Id from the platform session object (based on the result of GetPlatformSession())

Parameters

  • PlatformSessionId The platform session id to fill in

Returns

Whether the platform session id was successfully filled in

public inline TScriptInterface< IRH_SessionOwnerInterface>GetSessionOwner() const

Get the session owner interface that this object is using to look up session information.

public bool IsLocalPlayerScout() const

Get whether the local player is the “scout” - the player responsible for creation of the platform session if one does not exist.

public inline bool IsCleaningUp() const

Whether this object is in the process of, or has completed, cleanup.

public inline bool IsCleanupComplete() const

Whether this object has completed, cleanup.

public bool StartPlatformSession()

Marks the session as started (note - asynchronous)

public bool EndPlatformSession()

Marks the session as ended (note - asynchronous)

public void OnPlatformSessionCreated(bool bSuccess)

Notification helper to let the synchronization object know that a session has been created (from the session owner, as the synchronization object does not bind the callback directly)

public void OnPlatformSessionJoined(EOnJoinSessionCompleteResult::Type Result)

Notification helper to let the synchronization object know that a session has been joined (from the session owner, as the synchronization object does not bind the callback directly)

public void OnPlatformSessionStarted(bool bSuccess)

Notification helper to let the synchronization object know that a session has been started (from the session owner, as the synchronization object does not bind the callback directly)

public void OnPlatformSessionEnded(bool bSuccess)

Notification helper to let the synchronization object know that a session has been ended (from the session owner, as the synchronization object does not bind the callback directly)

public void OnPlatformSessionDestroyed(bool bSuccess)

Notification helper to let the synchronization object know that a session has been destroyed (from the session owner, as the synchronization object does not bind the callback directly)

public void OnRHSessionUpdated(URH_SessionView * UpdatedSession)

Handler for whenever the associated session is updated.

Parameters

  • UpdatedSession The session that was updated.

public void SetCachedPlatformSessionInvite(const FOnlineSessionSearchResult & SessionInvite)

protected ESyncActionState CurrentSyncActionState

The current state of the syncer.

protected FRH_SessionOwnerPtr SessionOwner

Owner of the session.

protected FString RHSessionId

RallyHere session Id.

protected FName OSSSessionName

Name of the session.

protected ERHAPI_Platform RHPlatform

Internal platoform for the session.

protected TOptional< FOnlineSessionSearchResult > CachedSessionInvite

The cached platform session invite.

protected bool bDeferCleanup

whether cleanup is deferred until the end of the current action

protected void CheckState()

Check our current state against the session, and decide if we need to take any action.

protected void KickOffState(ESyncActionState NewState)

Change to a new state.

Parameters

  • NewState Target new state.

protected void SyncActionComplete(bool bSuccess,bool bDeferFrame)

Called when a Sync Action State is complete.

Parameters

  • bSuccess Whether the action was successful.

  • bDeferFrame Whether to defer the frame before checking the state again.

protected void UpdateRHSessionWithPlatformSession()

Take in information from the paired platform session into the RH Session.

protected void CreatePlatformSession()

Create a platform session.

protected void JoinPlatformSession()

Join the platform session.

protected void JoinFoundPlatformSession(const FOnlineSessionSearchResult & SearchResult)

Used by Join Platform session once found to join it.

Parameters

  • SearchResult The search result to join.

protected void LeavePlatformSession()

Leave the platform session.

protected void CleanupInternal()

Cleanup internal state of the session syncer.

protected bool SetSyncActionState(ESyncActionState NewState)

Sets the new action state for the syncer.

Parameters

  • NewState New State to be in.

protected FUniqueNetIdWrapper GetOSSUniqueId() const

Get the unique net id of the session owner.

protected IOnlineSubsystem * GetOSS() const

Get the online subsystem for the platform session.

protected IOnlineSessionPtr GetOSSSessionInterface() const

Get the online subsystem session interface for the platform session.

class URH_SessionBrowserCache

class URH_SessionBrowserCache
  : public URH_SandboxedSubsystemPlugin
  : public IRH_SessionOwnerInterface

Simple container class to hold session view data, does not have its own auth context, relies upon getting it from elsewhere during calls, so that it can be used to cache across multiple players.

Summary

MembersDescriptions
public URH_SessionBrowserCache()Default constructor.
public void Search(const FRH_SessionBrowserSearchParams & params,FRH_OnSessionSearchCompleteDelegateBlock Delegate)Makes a call to search for session browsers.
public inline void BLUEPRINT_Search(const FRH_SessionBrowserSearchParams & params,FRH_OnSessionSearchCompleteDynamicDelegate Delegate)
public inline void ClearCache(bool bClearTemplates)Clears the cached sessions, and optionally the cached templates.
public virtual FAuthContextPtr GetSessionAuthContext() constGets the auth context to use for API calls for the session owner.
public virtual void ImportAPISession(const FRH_APISessionWithETag & Session)Adds a session into the session cache.
public virtual void ImportAPITemplate(const FRHAPI_SessionTemplate & Template)Adds a new session template type to the templates.
public inline virtual void ReconcileAPISessions(const TArray< FString > & SessionIds,const TOptional< FString > ETag)Updates the list of sessions to only those that are active.
public inline virtual void ReconcileAPITemplates(const TArray< FString > & InTemplates,const TOptional< FString > ETag)Updates the list of session templates to those that are active.
public virtual class URH_PlayerInfoSubsystem*GetPlayerInfoSubsystem() constGets the PlayerInfo Subsystem.
public inline virtual IOnlineSubsystem * GetOSS() constGets the Online Subsystem to use for OSS calls.
public inline virtual FUniqueNetIdWrapper GetOSSUniqueId() constGets the Online Subsystem Unique Id to use for OSS calls.
public inline virtual TOptional< FString > GetETagForAllTemplatesPoll() constGets the etag to use for a “Get all Templates” type query.
public inline virtual TOptional< FString > GetETagForAllSessionsPoll() constGets the etag to use for a “Get all Sessions” type query.
public inline virtual TArray< URH_SessionView* >GetAllSessionsForPolling() constUsed to get all sessions, primarily for get all sessions polling where etag matches.
public inline virtual URH_SessionView*GetSessionById(const FString & SessionId) constGets a session by its id.
public virtual bool GetTemplate(const FString & Type,FRHAPI_SessionTemplate & Template) constGets a session template by type.
public inline virtual URH_PlatformSessionSyncer*GetPlatformSyncerByRHSessionId(const FString & SessionId) constGets the platform synchronization object using the RallyHere session id.
public inline virtual URH_PlatformSessionSyncer*GetPlatformSyncerByPlatformSessionId(const FUniqueNetIdRepl & PlatformSessionId) constGets the platform synchronization object using the platform session id.

Members

public URH_SessionBrowserCache()

Default constructor.

public void Search(const FRH_SessionBrowserSearchParams & params,FRH_OnSessionSearchCompleteDelegateBlock Delegate)

Makes a call to search for session browsers.

Parameters

  • params The search paramaters to use.

  • Delegate Callback delegate for when the search is completed.

public inline void BLUEPRINT_Search(const FRH_SessionBrowserSearchParams & params,FRH_OnSessionSearchCompleteDynamicDelegate Delegate)

public inline void ClearCache(bool bClearTemplates)

Clears the cached sessions, and optionally the cached templates.

Parameters

  • bClearTemplates If true, clear the templates as well.

public virtual FAuthContextPtr GetSessionAuthContext() const

Gets the auth context to use for API calls for the session owner.

public virtual void ImportAPISession(const FRH_APISessionWithETag & Session)

Adds a session into the session cache.

Parameters

  • Session The session to add.

public virtual void ImportAPITemplate(const FRHAPI_SessionTemplate & Template)

Adds a new session template type to the templates.

Parameters

  • Template The template ot add.

public inline virtual void ReconcileAPISessions(const TArray< FString > & SessionIds,const TOptional< FString > ETag)

Updates the list of sessions to only those that are active.

Parameters

  • SessionIds The list of sessions that we are reconciling against.

  • ETag The ETag to use for the update.

public inline virtual void ReconcileAPITemplates(const TArray< FString > & InTemplates,const TOptional< FString > ETag)

Updates the list of session templates to those that are active.

Parameters

  • InTemplates The list of templates that we are reconciling against.

  • ETag The ETag to use for the update.

public virtual class URH_PlayerInfoSubsystem*GetPlayerInfoSubsystem() const

Gets the PlayerInfo Subsystem.

public inline virtual IOnlineSubsystem * GetOSS() const

Gets the Online Subsystem to use for OSS calls.

public inline virtual FUniqueNetIdWrapper GetOSSUniqueId() const

Gets the Online Subsystem Unique Id to use for OSS calls.

public inline virtual TOptional< FString > GetETagForAllTemplatesPoll() const

Gets the etag to use for a “Get all Templates” type query.

public inline virtual TOptional< FString > GetETagForAllSessionsPoll() const

Gets the etag to use for a “Get all Sessions” type query.

public inline virtual TArray< URH_SessionView* >GetAllSessionsForPolling() const

Used to get all sessions, primarily for get all sessions polling where etag matches.

public inline virtual URH_SessionView*GetSessionById(const FString & SessionId) const

Gets a session by its id.

Parameters

  • SessionId The Session Id to get.

Returns

The Session with the given Id.

public virtual bool GetTemplate(const FString & Type,FRHAPI_SessionTemplate & Template) const

Gets a session template by type.

Parameters

  • Type the Type of template to get.

  • Template The session template being retrieved.

Returns

If true, the template was found.

public inline virtual URH_PlatformSessionSyncer*GetPlatformSyncerByRHSessionId(const FString & SessionId) const

Gets the platform synchronization object using the RallyHere session id.

public inline virtual URH_PlatformSessionSyncer*GetPlatformSyncerByPlatformSessionId(const FUniqueNetIdRepl & PlatformSessionId) const

Gets the platform synchronization object using the platform session id.

class URH_SessionView

class URH_SessionView
  : public UObject

Base class providing functionality for viewing session data and interacting with it from blueprint. Specifically does not have an “owner” meaning it cannot do “work” - it is read only. The subclasses have owners.

Summary

MembersDescriptions
public FRH_OnSessionUpdatedMulticastDelegate OnSessionUpdatedDelegateDelegate fired whenever the session is updated.
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionUpdatedDelegateBlueprint compatible delegate fired whenever the session is updated.
public FRH_OnSessionUpdatedMulticastDelegate OnSessionNotFoundDelegateDelegate fired whenever the session is not found.
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionNotFoundDelegateBlueprint compatible delegate fired whenever the session is not found.
public FRH_OnSessionMemberStateChangedDelegate OnSessionMemberStateChangedDelegateDelegate fired whenever the session member list changes with details about the change.
public FRH_OnSessionMemberStateChangedDynamicDelegate BLUEPRINT_OnSessionMemberStateChangedDelegateBlueprint compatible delegate fired whenever the session member list changes with details about the change.
public inline FORCEINLINE const FRH_APISessionWithETag&GetSessionWithETag() constGets the Session Data and its ETag.
public inline const FRHAPI_Session&GetSessionData() constGets the Session Data.
public inline const FRHAPI_InstanceInfo*GetInstanceData() constGets the Instance Data.
public inline FORCEINLINE const FRHAPI_SessionPlayer*GetSessionPlayer(const FGuid & PlayerUuid) constGets a session player if they are part of the session.
public inline FORCEINLINE bool GetSessionPlayer(const FGuid & PlayerUuid,FRHAPI_SessionPlayer & OutPlayer) constGets a session player if they are part of the session.
public inline FORCEINLINE const FRHAPI_SessionPlayer*GetSessionLeader() constGets the leader of the session if one exists.
public inline FORCEINLINE bool GetSessionLeader(FRHAPI_SessionPlayer & OutPlayer) constGets the leader of the session if one exists.
public inline FORCEINLINE bool IsCreatedByMatchmaking() constGets if the session was created through matchmaking.
public inline FORCEINLINE int32 GetSessionPlayerCount() constGets the number of players in the session.
public inline virtual bool IsOffline() constGets if the session is offline.
public inline FORCEINLINE bool IsOnline() constGets if the session is online.
public inline virtual bool IsJoined() constGets if the session is a one the local player has joined.
public inline bool IsInQueue() constGets if the session is currently in matchmaking.
public inline FORCEINLINE FRHAPI_SessionTemplate GetTemplate() constGets the session template.
public inline FORCEINLINE FString GetETag() constGets the session ETag.
public inline FORCEINLINE FString GetSessionId() constGets the session Id.
public inline FORCEINLINE FString GetSessionType() constGets the session type.
public TMap< FString, FString > GetCustomData() constGets session custom data.
public bool GetCustomDataValue(const FString & Key,FString & OutValue) constGets a session custom data value.
public TMap< FString, FString > GetInstanceCustomData() constGets intance custom data.
public bool GetInstanceCustomDataValue(const FString & Key,FString & OutValue) constGets an instance custom data value.
public TMap< FString, FString > GetBrowserCustomData() constGets session browser custom data.
public virtual void ImportAPISession(const FRH_APISessionWithETag& newSessionData,constFRHAPI_SessionTemplate & newTemplate)Update a session from the owner, implies a template update.
public virtual void ImportTemplate(const FRHAPI_SessionTemplate & newTemplate)Update the session template .
public virtual void Expire(FRH_OnSessionExpiredDelegate Delegate)Called when the session was removed from our session list. Cleans up state then trigger callback on owner.
public TScriptInterface< IRH_SessionOwnerInterface>GetSessionOwner() constGets the session owner.
public void StartPolling()Starts the polling of session updates.
public void StopPolling()Stops the polling for session updates.
public void DeferPolling()Defers the polling for session updates (in case an out-of-band update was received)
public float GetPollTimeRemaining()Gets the current time remaining in the poll cycle in seconds. Returns -1.f if poll is inactive or is executing.
public void ForcePollForUpdate(bool bClearETag)Forces a polling call even if the polling is waiting till next time to pulse.
public void AddDeferredPoll(const FRH_DeferredSessionPoll & DeferredPoll)Add a deferred poll to the list of polls to run in sequence.
public void CheckDeferredPolls()Check and potentially kick off a deferred poll.
protected FRH_APISessionWithETag SessionDataThe Session Data with Etag.
protected FRHAPI_SessionTemplate TemplateA reference copy of the Template (in case the template is deleted from the managed template list)
protected FRH_AutoPollerPtr PollerPoller in charge of polling for the session.
protected TArray< FRH_DeferredSessionPoll>DeferredPollsArray of stored poll requests that have not yet been processed.
protected TArray< FRH_DeferredSessionPoll>WaitingPollsArray of stored poll requests that are waiting on the result of the current poll.
protected void PollForUpdate(const FRH_PollCompleteFunc & Delegate)Triggers a poll for a session update, automatically called as part of the polling loop.

Members

public FRH_OnSessionUpdatedMulticastDelegate OnSessionUpdatedDelegate

Delegate fired whenever the session is updated.

public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionUpdatedDelegate

Blueprint compatible delegate fired whenever the session is updated.

public FRH_OnSessionUpdatedMulticastDelegate OnSessionNotFoundDelegate

Delegate fired whenever the session is not found.

public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionNotFoundDelegate

Blueprint compatible delegate fired whenever the session is not found.

public FRH_OnSessionMemberStateChangedDelegate OnSessionMemberStateChangedDelegate

Delegate fired whenever the session member list changes with details about the change.

public FRH_OnSessionMemberStateChangedDynamicDelegate BLUEPRINT_OnSessionMemberStateChangedDelegate

Blueprint compatible delegate fired whenever the session member list changes with details about the change.

public inline FORCEINLINE const FRH_APISessionWithETag&GetSessionWithETag() const

Gets the Session Data and its ETag.

public inline const FRHAPI_Session&GetSessionData() const

Gets the Session Data.

public inline const FRHAPI_InstanceInfo*GetInstanceData() const

Gets the Instance Data.

public inline FORCEINLINE const FRHAPI_SessionPlayer*GetSessionPlayer(const FGuid & PlayerUuid) const

Gets a session player if they are part of the session.

Parameters

  • PlayerUuid The unique Id of the player to get.

Returns

The player if they exist in the session, otherwise null.

public inline FORCEINLINE bool GetSessionPlayer(const FGuid & PlayerUuid,FRHAPI_SessionPlayer & OutPlayer) const

Gets a session player if they are part of the session.

Parameters

  • PlayerUuid The unique Id of the player to get.

  • OutPlayer The player if they exist in the session.

Returns

If true, the player was found.

public inline FORCEINLINE const FRHAPI_SessionPlayer*GetSessionLeader() const

Gets the leader of the session if one exists.

public inline FORCEINLINE bool GetSessionLeader(FRHAPI_SessionPlayer & OutPlayer) const

Gets the leader of the session if one exists.

Parameters

  • OutPlayer The leader if they exist in the session.

Returns

If true, the leader was found.

public inline FORCEINLINE bool IsCreatedByMatchmaking() const

Gets if the session was created through matchmaking.

public inline FORCEINLINE int32 GetSessionPlayerCount() const

Gets the number of players in the session.

public inline virtual bool IsOffline() const

Gets if the session is offline.

public inline FORCEINLINE bool IsOnline() const

Gets if the session is online.

public inline virtual bool IsJoined() const

Gets if the session is a one the local player has joined.

public inline bool IsInQueue() const

Gets if the session is currently in matchmaking.

public inline FORCEINLINE FRHAPI_SessionTemplate GetTemplate() const

Gets the session template.

public inline FORCEINLINE FString GetETag() const

Gets the session ETag.

public inline FORCEINLINE FString GetSessionId() const

Gets the session Id.

public inline FORCEINLINE FString GetSessionType() const

Gets the session type.

public TMap< FString, FString > GetCustomData() const

Gets session custom data.

public bool GetCustomDataValue(const FString & Key,FString & OutValue) const

Gets a session custom data value.

Parameters

  • Key The custom data being requested.

  • Value The value of the custom data.

Returns

If true, the custom data was found.

public TMap< FString, FString > GetInstanceCustomData() const

Gets intance custom data.

public bool GetInstanceCustomDataValue(const FString & Key,FString & OutValue) const

Gets an instance custom data value.

Parameters

  • Key The custom data being requested.

  • Value The value of the custom data.

Returns

If true, the custom data was found.

public TMap< FString, FString > GetBrowserCustomData() const

Gets session browser custom data.

public virtual void ImportAPISession(const FRH_APISessionWithETag& newSessionData,constFRHAPI_SessionTemplate & newTemplate)

Update a session from the owner, implies a template update.

Parameters

  • newSessionData The new session data.

  • newTemplate The new session template.

public virtual void ImportTemplate(const FRHAPI_SessionTemplate & newTemplate)

Update the session template .

Parameters

  • newTemplate The new session template.

public virtual void Expire(FRH_OnSessionExpiredDelegate Delegate)

Called when the session was removed from our session list. Cleans up state then trigger callback on owner.

Parameters

  • Delegate The delegate to call when the session is removed.

public TScriptInterface< IRH_SessionOwnerInterface>GetSessionOwner() const

Gets the session owner.

public void StartPolling()

Starts the polling of session updates.

public void StopPolling()

Stops the polling for session updates.

public void DeferPolling()

Defers the polling for session updates (in case an out-of-band update was received)

public float GetPollTimeRemaining()

Gets the current time remaining in the poll cycle in seconds. Returns -1.f if poll is inactive or is executing.

public void ForcePollForUpdate(bool bClearETag)

Forces a polling call even if the polling is waiting till next time to pulse.

Parameters

  • bClearETag If true, the ETag will be cleared before the poll.

public void AddDeferredPoll(const FRH_DeferredSessionPoll & DeferredPoll)

Add a deferred poll to the list of polls to run in sequence.

public void CheckDeferredPolls()

Check and potentially kick off a deferred poll.

protected FRH_APISessionWithETag SessionData

The Session Data with Etag.

protected FRHAPI_SessionTemplate Template

A reference copy of the Template (in case the template is deleted from the managed template list)

protected FRH_AutoPollerPtr Poller

Poller in charge of polling for the session.

protected TArray< FRH_DeferredSessionPoll>DeferredPolls

Array of stored poll requests that have not yet been processed.

protected TArray< FRH_DeferredSessionPoll>WaitingPolls

Array of stored poll requests that are waiting on the result of the current poll.

protected void PollForUpdate(const FRH_PollCompleteFunc & Delegate)

Triggers a poll for a session update, automatically called as part of the polling loop.

Parameters

  • Delegate Callback delegate for when the poll completes.

class URH_InvitedSession

class URH_InvitedSession
  : public URH_SessionView

Invited Sessions are sessions that the player has been invited to.

Summary

MembersDescriptions
public inline virtual bool IsOffline() constGets that an invited session is not an offline session.
public virtual void Join(const FRH_OnSessionUpdatedDelegateBlock Delegate)Accepts to join the session.
public inline void BLUEPRINT_Join(const FRH_OnSessionUpdatedDynamicDelegate & Delegate)Blueprint compatible version of Join.
public virtual void Leave(const FRH_OnSessionUpdatedDelegateBlock Delegate)Declines to join the session.
public inline void BLUEPRINT_Leave(const FRH_OnSessionUpdatedDynamicDelegate & Delegate)Blueprint compatible version of Leave.

Members

public inline virtual bool IsOffline() const

Gets that an invited session is not an offline session.

public virtual void Join(const FRH_OnSessionUpdatedDelegateBlock Delegate)

Accepts to join the session.

Parameters

  • Delegate The callback delegate for the session being updated by the join.

public inline void BLUEPRINT_Join(const FRH_OnSessionUpdatedDynamicDelegate & Delegate)

Blueprint compatible version of Join.

Parameters

  • Delegate The callback delegate for the session being updated by the join.

public virtual void Leave(const FRH_OnSessionUpdatedDelegateBlock Delegate)

Declines to join the session.

Parameters

  • Delegate The callback delegate for the session being updated by the leave.

public inline void BLUEPRINT_Leave(const FRH_OnSessionUpdatedDynamicDelegate & Delegate)

Blueprint compatible version of Leave.

Parameters

  • Delegate The callback delegate for the session being updated by the leave.

class URH_OfflineSession

class URH_OfflineSession
  : public URH_JoinedSession

Offline Sessions are sessions the session owner is actively a member of that are unsynchronized with the API. This is primarily intended as a utility class to allow for the session flow to be used globally, even when not running API based sessions (ex: tutorial / practice area before login).

Summary

MembersDescriptions
public inline virtual bool IsOffline() constGets that the session is offline.
public virtual void InvitePlayer(const FGuid & PlayerUuid,int32 Team,const TMap< FString, FString > & CustomData,const FRH_OnSessionUpdatedDelegateBlock Delegate)Currently not supported for offline sessions.
public virtual void KickPlayer(const FGuid & PlayerUuid,FRH_OnSessionUpdatedDelegateBlock Delegate)Currently not supported for offline sessions.
public virtual void SetLeader(const FGuid & PlayerUuid,const FRH_OnSessionUpdatedDelegateBlock Delegate)Currently not supported for offline sessions.
public virtual void ChangePlayerTeam(const FGuid & PlayerUuid,int32 Team,const FRH_OnSessionUpdatedDelegateBlock Delegate)Changes the team a given player is associated with in the session.
public virtual void UpdatePlayerCustomData(const FGuid & PlayerUuid,const TMap< FString, FString > & CustomData,const FRH_OnSessionUpdatedDelegateBlock Delegate)Currently not supported for offline sessions.
public virtual void Leave(bool bFromOSSSession,FRH_OnSessionUpdatedDelegateBlock Delegate)Leaves the session.
public virtual void RequestInstance(const FRHAPI_InstanceRequest & InstanceRequest,FRH_OnSessionUpdatedDelegateBlock Delegate)Attempt to create a new instance for the session.
public virtual void EndInstance(FRH_OnSessionUpdatedDelegateBlock Delegate)Shutdown the existing instance for the session.
public virtual void StartMatch(FRH_OnSessionUpdatedDelegateBlock Delegate)Starts the match of the instance on the session.
public virtual void EndMatch(FRH_OnSessionUpdatedDelegateBlock Delegate)Ends the match of the instance on the session.
public virtual void UpdateSessionInfo(const FRHAPI_SessionUpdate & Update,FRH_OnSessionUpdatedDelegateBlock Delegate)Updates the session info.
public virtual void UpdateInstanceInfo(const FRHAPI_InstanceInfoUpdate & Update,FRH_OnSessionUpdatedDelegateBlock Delegate)Updates the sessions instance info.
public virtual void UpdateBrowserInfo(bool bEnable,const TMap< FString, FString > & CustomData,FRH_OnSessionUpdatedDelegateBlock Delegate)Updates the sessions browser info.
protected void ImportSessionUpdateToAllPlayers(const FRH_APISessionWithETag & Update)

Members

public inline virtual bool IsOffline() const

Gets that the session is offline.

public virtual void InvitePlayer(const FGuid & PlayerUuid,int32 Team,const TMap< FString, FString > & CustomData,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Currently not supported for offline sessions.

public virtual void KickPlayer(const FGuid & PlayerUuid,FRH_OnSessionUpdatedDelegateBlock Delegate)

Currently not supported for offline sessions.

public virtual void SetLeader(const FGuid & PlayerUuid,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Currently not supported for offline sessions.

public virtual void ChangePlayerTeam(const FGuid & PlayerUuid,int32 Team,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Changes the team a given player is associated with in the session.

Parameters

  • PlayerUuid The unique player Id to invite to the session.

  • Team The target team that the player will be associated with in the session.

  • Delegate Callback delegate for the session being updated by the team change.

public virtual void UpdatePlayerCustomData(const FGuid & PlayerUuid,const TMap< FString, FString > & CustomData,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Currently not supported for offline sessions.

public virtual void Leave(bool bFromOSSSession,FRH_OnSessionUpdatedDelegateBlock Delegate)

Leaves the session.

Parameters

  • bFromOSSSession If true, then leave the OSS Session. Otherwise, just leave the session.

  • Delegate Callback delegate for the session being updated by the leave.

public virtual void RequestInstance(const FRHAPI_InstanceRequest & InstanceRequest,FRH_OnSessionUpdatedDelegateBlock Delegate)

Attempt to create a new instance for the session.

Parameters

  • InstanceRequest Details for the instance being requested.

  • Delegate Callback delegate for the session being updated with the instance creation, or failure.

public virtual void EndInstance(FRH_OnSessionUpdatedDelegateBlock Delegate)

Shutdown the existing instance for the session.

Parameters

  • Delegate Callback delegate for the session being updated with the instance ending.

public virtual void StartMatch(FRH_OnSessionUpdatedDelegateBlock Delegate)

Starts the match of the instance on the session.

Parameters

  • Delegate Callback delegate for the session being updated with the match start.

public virtual void EndMatch(FRH_OnSessionUpdatedDelegateBlock Delegate)

Ends the match of the instance on the session.

Parameters

  • Delegate Callback delegate for the session being updated with the match end.

public virtual void UpdateSessionInfo(const FRHAPI_SessionUpdate & Update,FRH_OnSessionUpdatedDelegateBlock Delegate)

Updates the session info.

Parameters

  • Update The session info for the update.

  • Delegate Callback delegate for the session being updated with new session data.

public virtual void UpdateInstanceInfo(const FRHAPI_InstanceInfoUpdate & Update,FRH_OnSessionUpdatedDelegateBlock Delegate)

Updates the sessions instance info.

Parameters

  • Update The instance info for the update.

  • Delegate Callback delegate for the session being updated with new instance data.

public virtual void UpdateBrowserInfo(bool bEnable,const TMap< FString, FString > & CustomData,FRH_OnSessionUpdatedDelegateBlock Delegate)

Updates the sessions browser info.

Parameters

  • bEnable If true, sets the browser info. Otherwise, clear it out.

  • CustomData The new browser data for the update.

  • Delegate Callback delegate for the session being updated with new browser data.

protected void ImportSessionUpdateToAllPlayers(const FRH_APISessionWithETag & Update)

class URH_OnlineSession

class URH_OnlineSession
  : public URH_JoinedSession

Online Sessions are sessions that are synchronized from the API (and since it is a joined session, the Session Owner is a member)

Summary

MembersDescriptions
public const TArray< FString > & MatchmakingTags
public const TArray< FString > const FRH_OnSessionUpdatedDynamicDelegate & Delegate
public inline virtual bool IsOffline() constGets that an online session is not an offline session.
public virtual void ImportAPISession(const FRH_APISessionWithETag& newSessionData,constFRHAPI_SessionTemplate & newTemplate)Update a session from the owner, implies a template update.
public virtual void Expire(FRH_OnSessionExpiredDelegate Delegate)Called when the session was removed from our session list. Cleans up state then trigger callback on owner.
public virtual void JoinQueue(const FRHAPI_QueueJoinRequest & Request,const FRH_OnSessionUpdatedDelegateBlock Delegate)Joins a specific queue with the session to be matchmade with others.
public inline virtual void JoinQueue(const FString & QueueId,const TArray< FString > MatchmakingTags,const FRH_OnSessionUpdatedDelegateBlock Delegate)Simplified version of queue join, joins a specific queue with the session to be matchmade with others.
public UFUNCTION(BlueprintCallable,Category,meta) constBlueprint copmatible version of JoinQueue.
public inline void BLUEPRINT_JoinQueueEx(const FRHAPI_QueueJoinRequest & Request,const FRH_OnSessionUpdatedDynamicDelegate & Delegate)Blueprint copmatible version of JoinQueue.
public virtual void LeaveQueue(const FRH_OnSessionUpdatedDelegateBlock Delegate)Leaves the currently active matchmaking queue.
public inline void BLUEPRINT_LeaveQueue(const FRH_OnSessionUpdatedDynamicDelegate & Delegate)Blueprint compatible version of LeaveQueue.
public virtual void InvitePlayer(const FGuid & PlayerUuid,int32 Team,const TMap< FString, FString > & CustomData,const FRH_OnSessionUpdatedDelegateBlock Delegate)Invites a player to the session.
public virtual void KickPlayer(const FGuid & PlayerUuid,FRH_OnSessionUpdatedDelegateBlock Delegate)Kicks a player from the session.
public virtual void SetLeader(const FGuid & PlayerUuid,FRH_OnSessionUpdatedDelegateBlock Delegate)Sets a new leader for the session.
public virtual void ChangePlayerTeam(const FGuid & PlayerUuid,int32 Team,const FRH_OnSessionUpdatedDelegateBlock Delegate)Changes the team a given player is associated with in the session.
public virtual void UpdatePlayerCustomData(const FGuid & PlayerUuid,const TMap< FString, FString > & CustomData,const FRH_OnSessionUpdatedDelegateBlock Delegate)Changes the session player’s custom data.
public virtual void Leave(bool bFromOSSSession,FRH_OnSessionUpdatedDelegateBlock Delegate)Leaves the session.
public virtual void RequestInstance(const FRHAPI_InstanceRequest & InstanceRequest,FRH_OnSessionUpdatedDelegateBlock Delegate)Attempt to create a new instance for the session.
public virtual void EndInstance(FRH_OnSessionUpdatedDelegateBlock Delegate)Shutdown the existing instance for the session.
public virtual void StartMatch(FRH_OnSessionUpdatedDelegateBlock Delegate)Starts the match of the instance on the session.
public virtual void EndMatch(FRH_OnSessionUpdatedDelegateBlock Delegate)Ends the match of the instance on the session.
public virtual void UpdateSessionInfo(const FRHAPI_SessionUpdate & Update,FRH_OnSessionUpdatedDelegateBlock Delegate)Updates the session info.
public virtual void UpdateInstanceInfo(const FRHAPI_InstanceInfoUpdate & Update,FRH_OnSessionUpdatedDelegateBlock Delegate)Updates the sessions instance info.
public virtual void UpdateBrowserInfo(bool bEnable,const TMap< FString, FString > & CustomData,FRH_OnSessionUpdatedDelegateBlock Delegate)Updates the sessions browser info.

Members

public const TArray< FString > & MatchmakingTags

public const TArray< FString > const FRH_OnSessionUpdatedDynamicDelegate & Delegate

public inline virtual bool IsOffline() const

Gets that an online session is not an offline session.

public virtual void ImportAPISession(const FRH_APISessionWithETag& newSessionData,constFRHAPI_SessionTemplate & newTemplate)

Update a session from the owner, implies a template update.

Parameters

  • newSessionData The new session data.

  • newTemplate The new session template.

public virtual void Expire(FRH_OnSessionExpiredDelegate Delegate)

Called when the session was removed from our session list. Cleans up state then trigger callback on owner.

Parameters

  • Delegate The delegate to call when the session is removed.

public virtual void JoinQueue(const FRHAPI_QueueJoinRequest & Request,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Joins a specific queue with the session to be matchmade with others.

Parameters

  • Request The request for joining the queue.

  • Delegate Callback delegate on the session being updated from joining matchmaking.

public inline virtual void JoinQueue(const FString & QueueId,const TArray< FString > MatchmakingTags,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Simplified version of queue join, joins a specific queue with the session to be matchmade with others.

Parameters

  • QueueId The Id of the queue being joined.

  • MatchmakingTags Specific data to be passed in as extra params for matchmaking.

  • Delegate Callback delegate on the session being updated from joining matchmaking.

public UFUNCTION(BlueprintCallable,Category,meta) const

Blueprint copmatible version of JoinQueue.

Parameters

  • QueueId The Id of the queue being joined.

  • MatchmakingTags Specific data to be passed in as extra params for matchmaking.

  • Delegate Callback delegate on the session being updated from joining matchmaking.

public inline void BLUEPRINT_JoinQueueEx(const FRHAPI_QueueJoinRequest & Request,const FRH_OnSessionUpdatedDynamicDelegate & Delegate)

Blueprint copmatible version of JoinQueue.

Parameters

  • Request The request for joining the queue.

  • Delegate Callback delegate on the session being updated from joining matchmaking.

public virtual void LeaveQueue(const FRH_OnSessionUpdatedDelegateBlock Delegate)

Leaves the currently active matchmaking queue.

Parameters

  • Delegate Callback delegate on the session being updated from leaving matchmaking.

public inline void BLUEPRINT_LeaveQueue(const FRH_OnSessionUpdatedDynamicDelegate & Delegate)

Blueprint compatible version of LeaveQueue.

Parameters

  • Delegate Callback delegate on the session being updated from leaving matchmaking.

public virtual void InvitePlayer(const FGuid & PlayerUuid,int32 Team,const TMap< FString, FString > & CustomData,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Invites a player to the session.

Parameters

  • PlayerUuid The unique player Id to invite to the session.

  • CustomData The custom data for the invite

  • Team The target team that the player will be associated with in the session.

  • Delegate Callback delegate for the session being updated by the invite.

public virtual void KickPlayer(const FGuid & PlayerUuid,FRH_OnSessionUpdatedDelegateBlock Delegate)

Kicks a player from the session.

Parameters

  • PlayerUuid The unique player Id to kick from the session.

  • Delegate Callback delegate for the session being updated by the kick.

public virtual void SetLeader(const FGuid & PlayerUuid,FRH_OnSessionUpdatedDelegateBlock Delegate)

Sets a new leader for the session.

Parameters

  • PlayerUuid The unique player Id to become the session leader.

  • Delegate Callback delegate for the session being updated by the leader change.

public virtual void ChangePlayerTeam(const FGuid & PlayerUuid,int32 Team,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Changes the team a given player is associated with in the session.

Parameters

  • PlayerUuid The unique player Id to invite to the session.

  • Team The target team that the player will be associated with in the session.

  • Delegate Callback delegate for the session being updated by the team change.

public virtual void UpdatePlayerCustomData(const FGuid & PlayerUuid,const TMap< FString, FString > & CustomData,const FRH_OnSessionUpdatedDelegateBlock Delegate)

Changes the session player’s custom data.

Parameters

  • PlayerUuid The unique player Id whose custom data will be updated

  • CustomData The custom data map to set the player’s to

  • Delegate Callback delegate for the session being updated by the player update

public virtual void Leave(bool bFromOSSSession,FRH_OnSessionUpdatedDelegateBlock Delegate)

Leaves the session.

Parameters

  • bFromOSSSession If true, then leave the OSS Session. Otherwise, just leave the session.

  • Delegate Callback delegate for the session being updated by the leave.

public virtual void RequestInstance(const FRHAPI_InstanceRequest & InstanceRequest,FRH_OnSessionUpdatedDelegateBlock Delegate)

Attempt to create a new instance for the session.

Parameters

  • InstanceRequest Details for the instance being requested.

  • Delegate Callback delegate for the session being updated with the instance creation, or failure.

public virtual void EndInstance(FRH_OnSessionUpdatedDelegateBlock Delegate)

Shutdown the existing instance for the session.

Parameters

  • Delegate Callback delegate for the session being updated with the instance ending.

public virtual void StartMatch(FRH_OnSessionUpdatedDelegateBlock Delegate)

Starts the match of the instance on the session.

Parameters

  • Delegate Callback delegate for the session being updated with the match start.

public virtual void EndMatch(FRH_OnSessionUpdatedDelegateBlock Delegate)

Ends the match of the instance on the session.

Parameters

  • Delegate Callback delegate for the session being updated with the match end.

public virtual void UpdateSessionInfo(const FRHAPI_SessionUpdate & Update,FRH_OnSessionUpdatedDelegateBlock Delegate)

Updates the session info.

Parameters

  • Update The session info for the update.

  • Delegate Callback delegate for the session being updated with new session data.

public virtual void UpdateInstanceInfo(const FRHAPI_InstanceInfoUpdate & Update,FRH_OnSessionUpdatedDelegateBlock Delegate)

Updates the sessions instance info.

Parameters

  • Update The instance info for the update.

  • Delegate Callback delegate for the session being updated with new instance data.

public virtual void UpdateBrowserInfo(bool bEnable,const TMap< FString, FString > & CustomData,FRH_OnSessionUpdatedDelegateBlock Delegate)

Updates the sessions browser info.

Parameters

  • bEnable If true, sets the browser info. Otherwise, clear it out.

  • CustomData The new browser data for the update.

  • Delegate Callback delegate for the session being updated with new browser data.

class URH_SessionOwnerInterface

class URH_SessionOwnerInterface
  : public UInterface

Session Owner Interface class.

Summary

MembersDescriptions

Members

class IRH_SessionOwnerInterface

Session Owner Interface.

Summary

MembersDescriptions
public FAuthContextPtr GetSessionAuthContext() constGets the auth context to use for API calls for the session owner.
public void ImportAPISession(const FRH_APISessionWithETag & Session)Imports a session object from the API into the owner (ex: from polling).
public void ImportAPITemplate(const FRHAPI_SessionTemplate & Template)Imports the template into the owner’s template list (ex: from polling).
public void ReconcileAPISessions(const TArray< FString > & SessionIds,const TOptional< FString > ETag)Updates the list of sessions to only those that are active.
public void ReconcileAPITemplates(const TArray< FString > & InTemplates,const TOptional< FString > ETag)Updates the list of session templates to those that are active.
public class URH_PlayerInfoSubsystem*GetPlayerInfoSubsystem() constGets the PlayerInfo Subsystem.
public IOnlineSubsystem * GetOSS() constGets the Online Subsystem to use for OSS calls.
public FUniqueNetIdWrapper GetOSSUniqueId() constGets the Online Subsystem Unique Id to use for OSS calls.
public inline virtual FGuid GetPlayerUuid() constGets the Player UUID to use for player related calls (can be invalid)
public inline TOptional< FString > GetETagForSession(const FString & SessionId) constGets the Etag for a given Session.
public TOptional< FString > GetETagForAllTemplatesPoll() constGets the etag to use for a “Get all Templates” type query.
public TOptional< FString > GetETagForAllSessionsPoll() constGets the etag to use for a “Get all Sessions” type query.
public TArray< URH_SessionView* >GetAllSessionsForPolling() constUsed to get all sessions, primarily for get all sessions polling where etag matches.
public URH_SessionView*GetSessionById(const FString & SessionId) constGets a session by its id.
public bool GetTemplate(const FString & Type,FRHAPI_SessionTemplate & Template) constGets a session template by type.
public URH_PlatformSessionSyncer*GetPlatformSyncerByRHSessionId(const FString & SessionId) constGets the platform synchronization object using the RallyHere session id.
public URH_PlatformSessionSyncer*GetPlatformSyncerByPlatformSessionId(const FUniqueNetIdRepl & SessionId) constGets the platform synchronization object using the platform session id.

Members

public FAuthContextPtr GetSessionAuthContext() const

Gets the auth context to use for API calls for the session owner.

public void ImportAPISession(const FRH_APISessionWithETag & Session)

Imports a session object from the API into the owner (ex: from polling).

Parameters

  • Session The Session to import.

public void ImportAPITemplate(const FRHAPI_SessionTemplate & Template)

Imports the template into the owner’s template list (ex: from polling).

Parameters

  • TemplateWrapper The Template to import.

public void ReconcileAPISessions(const TArray< FString > & SessionIds,const TOptional< FString > ETag)

Updates the list of sessions to only those that are active.

Parameters

  • SessionIds The list of sessions that we are reconciling against.

  • ETag The ETag to use for the update.

public void ReconcileAPITemplates(const TArray< FString > & InTemplates,const TOptional< FString > ETag)

Updates the list of session templates to those that are active.

Parameters

  • InTemplates The list of templates that we are reconciling against.

  • ETag The ETag to use for the update.

public class URH_PlayerInfoSubsystem*GetPlayerInfoSubsystem() const

Gets the PlayerInfo Subsystem.

public IOnlineSubsystem * GetOSS() const

Gets the Online Subsystem to use for OSS calls.

public FUniqueNetIdWrapper GetOSSUniqueId() const

Gets the Online Subsystem Unique Id to use for OSS calls.

public inline virtual FGuid GetPlayerUuid() const

Gets the Player UUID to use for player related calls (can be invalid)

public inline TOptional< FString > GetETagForSession(const FString & SessionId) const

Gets the Etag for a given Session.

Parameters

  • SessionId The Session Id to get the ETag for.

Returns

The ETag for the session.

public TOptional< FString > GetETagForAllTemplatesPoll() const

Gets the etag to use for a “Get all Templates” type query.

public TOptional< FString > GetETagForAllSessionsPoll() const

Gets the etag to use for a “Get all Sessions” type query.

public TArray< URH_SessionView* >GetAllSessionsForPolling() const

Used to get all sessions, primarily for get all sessions polling where etag matches.

public URH_SessionView*GetSessionById(const FString & SessionId) const

Gets a session by its id.

Parameters

  • SessionId The Session Id to get.

Returns

The Session with the given Id.

public bool GetTemplate(const FString & Type,FRHAPI_SessionTemplate & Template) const

Gets a session template by type.

Parameters

  • Type the Type of template to get.

  • Template The session template being retrieved.

Returns

If true, the template was found.

public URH_PlatformSessionSyncer*GetPlatformSyncerByRHSessionId(const FString & SessionId) const

Gets the platform synchronization object using the RallyHere session id.

public URH_PlatformSessionSyncer*GetPlatformSyncerByPlatformSessionId(const FUniqueNetIdRepl & SessionId) const

Gets the platform synchronization object using the platform session id.

struct FRH_SessionBrowserSearchParams

Struct containing the search paramaters for Session Browsers.

Summary

MembersDescriptions
public FString SessionTypeThe Type of Session to search for.
public TArray< FString > SessionIdsIf specified, skip search lookup and instead query these specific session ids.
public int32 CursorThe indicator of what page to request of results.
public int32 PageSizeThe size of each page of results.
public bool bCacheSessionDetailsWhether to query and cache the session data from the search result.
public inline FRH_SessionBrowserSearchParams()Default constructor.
public inline FString GetDescription() constReturns display of search params for toolings/logging.

Members

public FString SessionType

The Type of Session to search for.

public TArray< FString > SessionIds

If specified, skip search lookup and instead query these specific session ids.

public int32 Cursor

The indicator of what page to request of results.

public int32 PageSize

The size of each page of results.

public bool bCacheSessionDetails

Whether to query and cache the session data from the search result.

public inline FRH_SessionBrowserSearchParams()

Default constructor.

public inline FString GetDescription() const

Returns display of search params for toolings/logging.

struct FRH_SessionMemberStatusState

Utility struct to wrapper a player state for a player state update change.

Summary

MembersDescriptions
public FGuid PlayerUuidPlayer Uuid for this state.
public bool bIsValidWhether the state is valid (a state is not valid if a player is not associated with the session)
public ERHAPI_SessionPlayerStatus StatusStatus of the player at the time of recording the state.
public int32 TeamIdTeam of the player at the time of recording the state.
public inline FRH_SessionMemberStatusState()Default Constructor.
public inline FORCEINLINE bool operator==(const FRH_SessionMemberStatusState & Comparator) constEquivalence check used to determine if a notification should be dispatched.
public inline FORCEINLINE bool operator!=(const FRH_SessionMemberStatusState & Comparator) constInequivalence check used to determine if a notification should be dispatched.

Members

public FGuid PlayerUuid

Player Uuid for this state.

public bool bIsValid

Whether the state is valid (a state is not valid if a player is not associated with the session)

public ERHAPI_SessionPlayerStatus Status

Status of the player at the time of recording the state.

public int32 TeamId

Team of the player at the time of recording the state.

public inline FRH_SessionMemberStatusState()

Default Constructor.

public inline FORCEINLINE bool operator==(const FRH_SessionMemberStatusState & Comparator) const

Equivalence check used to determine if a notification should be dispatched.

public inline FORCEINLINE bool operator!=(const FRH_SessionMemberStatusState & Comparator) const

Inequivalence check used to determine if a notification should be dispatched.

struct TRH_DataWithETagWrapper

Utility struct to wrapper the tuple of a data typeand etag.

Summary

MembersDescriptions
public T DataThe wrapped Data.
public TOptional< FString > ETagThe Datas ETag.
public inline TRH_DataWithETagWrapper()Default Constructor.
public inline TRH_DataWithETagWrapper(const T & InData)Various constructors for ease of use.
public inline TRH_DataWithETagWrapper(T && InData)Various constructors for ease of use.
public inline TRH_DataWithETagWrapper(T & InData,const FString & InETag)Various constructors for ease of use.
public inline TRH_DataWithETagWrapper(T && InData,FString && InETag)Various constructors for ease of use.
public inline TRH_DataWithETagWrapper(const T & InData,const TOptional< FString > & InETag)Various constructors for ease of use.
public inline TRH_DataWithETagWrapper(T && InData,TOptional< FString > && InETag)Various constructors for ease of use.

Members

public T Data

The wrapped Data.

public TOptional< FString > ETag

The Datas ETag.

public inline TRH_DataWithETagWrapper()

Default Constructor.

public inline TRH_DataWithETagWrapper(const T & InData)

Various constructors for ease of use.

public inline TRH_DataWithETagWrapper(T && InData)

Various constructors for ease of use.

public inline TRH_DataWithETagWrapper(T & InData,const FString & InETag)

Various constructors for ease of use.

public inline TRH_DataWithETagWrapper(T && InData,FString && InETag)

Various constructors for ease of use.

public inline TRH_DataWithETagWrapper(const T & InData,const TOptional< FString > & InETag)

Various constructors for ease of use.

public inline TRH_DataWithETagWrapper(T && InData,TOptional< FString > && InETag)

Various constructors for ease of use.

struct FRH_DeferredSessionPoll

Poll for deferred sessions.

Summary

MembersDescriptions
public Type PollType
public FRH_PollCompleteFunc Delegate
public TOptional< FString > ETag
public inline FRH_DeferredSessionPoll(Type InPollType,const FRH_PollCompleteFunc & InDelegate,const TOptional< FString > & InETag)
enum Type

Members

public Type PollType

public FRH_PollCompleteFunc Delegate

public TOptional< FString > ETag

public inline FRH_DeferredSessionPoll(Type InPollType,const FRH_PollCompleteFunc & InDelegate,const TOptional< FString > & InETag)

enum Type

ValuesDescriptions
Forced
Modification
Notification