Session
Summary
Members | Descriptions |
---|---|
class URH_PlatformSessionSyncer | Synchronization object to sync state between a RallyHere 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 RallyHere 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 | 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. |
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
-
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
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 RallyHere 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
-
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
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,const FRHAPI_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
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,const
FRHAPI_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
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
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
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
-
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
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,const FRHAPI_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,const
FRHAPI_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
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 RallyHere 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
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
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 |