Session
Summary
| Members | Descriptions |
|---|---|
class URH_PlatformSessionSyncer | Synchronization object to sync state between a Rally Here Session and a Platform Session (such as a Steam session) |
class URH_SessionBrowserCache | 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. |
class URH_SessionView | 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. |
class URH_InvitedSession | Invited Sessions are sessions that the player has been invited to. |
class URH_OfflineSession | 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). |
class URH_OnlineSession | Online Sessions are sessions that are synchronized from the API (and since it is a joined session, the Session Owner is a member) |
class URH_SessionOwnerInterface | Session Owner Interface class. |
class IRH_SessionOwnerInterface | Session Owner Interface. |
struct FRH_SessionBrowserSearchParams | Struct containing the search paramaters for Session Browsers. |
struct FRH_SessionMemberStatusState | Utility struct to wrapper a player state for a player state update change. |
struct TRH_DataWithETagWrapper | Utility struct to wrapper the tuple of a data typeand etag. |
struct FRH_DeferredSessionPoll | Poll for deferred sessions. |
class URH_PlatformSessionSyncer
class URH_PlatformSessionSyncer
: public UObject
Synchronization object to sync state between a Rally Here Session and a Platform Session (such as a Steam session)
Summary
| Members | Descriptions |
|---|---|
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. |
public void Cleanup(FSimpleDelegate CompletionDelegate) | Clean up the synchronization object, typically used when the RallyHere session is expired. |
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()) |
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()) |
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. |
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 | Rally Here 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. |
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() 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. |
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
-
InSessionIdThe Rally Here session id for which we are synchronizing state -
InOwnerSession 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
CompletionDelegateDelegate 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
PlatformSessionIdThe 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
PlatformSessionIdThe 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
UpdatedSessionThe 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
Rally Here 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
NewStateTarget new state.
protected void SyncActionComplete(bool bSuccess,bool bDeferFrame)
Called when a Sync Action State is complete.
Parameters
-
bSuccessWhether the action was successful. -
bDeferFrameWhether 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
SearchResultThe 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
NewStateNew 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
| Members | Descriptions |
|---|---|
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() 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. |
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() 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. |
public virtual bool GetTemplate(const FString & Type,FRHAPI_SessionTemplate & Template) const | Gets a session template by type. |
public inline virtual URH_PlatformSessionSyncer*GetPlatformSyncerByRHSessionId(const FString & SessionId) const | Gets the platform synchronization object using the rally here session id. |
public inline virtual URH_PlatformSessionSyncer*GetPlatformSyncerByPlatformSessionId(const FUniqueNetIdRepl & PlatformSessionId) const | Gets 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
-
paramsThe search paramaters to use. -
DelegateCallback 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
bClearTemplatesIf 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
SessionThe session to add.
public virtual void ImportAPITemplate(const FRHAPI_SessionTemplate & Template)
Adds a new session template type to the templates.
Parameters
TemplateThe 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
-
SessionIdsThe list of sessions that we are reconciling against. -
ETagThe 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
-
InTemplatesThe list of templates that we are reconciling against. -
ETagThe 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
SessionIdThe 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
-
Typethe Type of template to get. -
TemplateThe 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 rally here 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
| Members | Descriptions |
|---|---|
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. |
public inline FORCEINLINE bool GetSessionPlayer(const FGuid & PlayerUuid,FRHAPI_SessionPlayer & OutPlayer) const | Gets a session player if they are part of the session. |
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. |
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. |
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. |
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. |
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() 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. |
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. |
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
PlayerUuidThe 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
-
PlayerUuidThe unique Id of the player to get. -
OutPlayerThe 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
OutPlayerThe 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
-
KeyThe custom data being requested. -
ValueThe 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
-
KeyThe custom data being requested. -
ValueThe 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
-
newSessionDataThe new session data. -
newTemplateThe new session template.
public virtual void ImportTemplate(const FRHAPI_SessionTemplate & newTemplate)
Update the session template .
Parameters
newTemplateThe 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
DelegateThe 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
bClearETagIf 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
DelegateCallback 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
| Members | Descriptions |
|---|---|
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. |
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
DelegateThe 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
DelegateThe callback delegate for the session being updated by the join.
public virtual void Leave(const FRH_OnSessionUpdatedDelegateBlock Delegate)
Declines to join the session.
Parameters
DelegateThe 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
DelegateThe 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
| Members | Descriptions |
|---|---|
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. |
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
-
PlayerUuidThe unique player Id to invite to the session. -
TeamThe target team that the player will be associated with in the session. -
DelegateCallback 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
-
bFromOSSSessionIf true, then leave the OSS Session. Otherwise, just leave the session. -
DelegateCallback 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
-
InstanceRequestDetails for the instance being requested. -
DelegateCallback 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
DelegateCallback 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
DelegateCallback 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
DelegateCallback 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
-
UpdateThe session info for the update. -
DelegateCallback 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
-
UpdateThe instance info for the update. -
DelegateCallback 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
-
bEnableIf true, sets the browser info. Otherwise, clear it out. -
CustomDataThe new browser data for the update. -
DelegateCallback 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
| Members | Descriptions |
|---|---|
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. |
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) const | Blueprint 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
-
newSessionDataThe new session data. -
newTemplateThe 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
DelegateThe 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
-
RequestThe request for joining the queue. -
DelegateCallback 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
-
QueueIdThe Id of the queue being joined. -
MatchmakingTagsSpecific data to be passed in as extra params for matchmaking. -
DelegateCallback delegate on the session being updated from joining matchmaking.
public UFUNCTION(BlueprintCallable,Category,meta) const
Blueprint copmatible version of JoinQueue.
Parameters
-
QueueIdThe Id of the queue being joined. -
MatchmakingTagsSpecific data to be passed in as extra params for matchmaking. -
DelegateCallback 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
-
RequestThe request for joining the queue. -
DelegateCallback delegate on the session being updated from joining matchmaking.
public virtual void LeaveQueue(const FRH_OnSessionUpdatedDelegateBlock Delegate)
Leaves the currently active matchmaking queue.
Parameters
DelegateCallback delegate on the session being updated from leaving matchmaking.
public inline void BLUEPRINT_LeaveQueue(const FRH_OnSessionUpdatedDynamicDelegate & Delegate)
Blueprint compatible version of LeaveQueue.
Parameters
DelegateCallback 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
-
PlayerUuidThe unique player Id to invite to the session. -
CustomDataThe custom data for the invite -
TeamThe target team that the player will be associated with in the session. -
DelegateCallback 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
-
PlayerUuidThe unique player Id to kick from the session. -
DelegateCallback 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
-
PlayerUuidThe unique player Id to become the session leader. -
DelegateCallback 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
-
PlayerUuidThe unique player Id to invite to the session. -
TeamThe target team that the player will be associated with in the session. -
DelegateCallback 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
-
PlayerUuidThe unique player Id whose custom data will be updated -
CustomDataThe custom data map to set the player’s to -
DelegateCallback delegate for the session being updated by the player update
public virtual void Leave(bool bFromOSSSession,FRH_OnSessionUpdatedDelegateBlock Delegate)
Leaves the session.
Parameters
-
bFromOSSSessionIf true, then leave the OSS Session. Otherwise, just leave the session. -
DelegateCallback 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
-
InstanceRequestDetails for the instance being requested. -
DelegateCallback 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
DelegateCallback 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
DelegateCallback 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
DelegateCallback 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
-
UpdateThe session info for the update. -
DelegateCallback 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
-
UpdateThe instance info for the update. -
DelegateCallback 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
-
bEnableIf true, sets the browser info. Otherwise, clear it out. -
CustomDataThe new browser data for the update. -
DelegateCallback delegate for the session being updated with new browser data.
class URH_SessionOwnerInterface
class URH_SessionOwnerInterface
: public UInterface
Session Owner Interface class.
Summary
| Members | Descriptions |
|---|
Members
class IRH_SessionOwnerInterface
Session Owner Interface.
Summary
| Members | Descriptions |
|---|---|
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). |
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() 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. |
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. |
public bool GetTemplate(const FString & Type,FRHAPI_SessionTemplate & Template) const | Gets a session template by type. |
public URH_PlatformSessionSyncer*GetPlatformSyncerByRHSessionId(const FString & SessionId) const | Gets the platform synchronization object using the rally here session id. |
public URH_PlatformSessionSyncer*GetPlatformSyncerByPlatformSessionId(const FUniqueNetIdRepl & SessionId) const | Gets 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
SessionThe Session to import.
public void ImportAPITemplate(const FRHAPI_SessionTemplate & Template)
Imports the template into the owner’s template list (ex: from polling).
Parameters
TemplateWrapperThe 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
-
SessionIdsThe list of sessions that we are reconciling against. -
ETagThe 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
-
InTemplatesThe list of templates that we are reconciling against. -
ETagThe 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
SessionIdThe 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
SessionIdThe 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
-
Typethe Type of template to get. -
TemplateThe 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 rally here 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
| Members | Descriptions |
|---|---|
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. |
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
| Members | Descriptions |
|---|---|
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. |
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
| Members | Descriptions |
|---|---|
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. |
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
| Members | Descriptions |
|---|---|
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
| Values | Descriptions |
|---|---|
| Forced | |
| Modification | |
| Notification |