LocalPlayer
Summary
Members | Descriptions |
---|---|
enum ERHAPI_LoginResult | Login Results. |
enum ERHAPI_LocalPlayerLoginOSS | Login Online Subsystem Type. |
class URH_LocalPlayerLoginSubsystem | Login Subsystem for the local player. |
class URH_LocalPlayerPresenceSubsystem | Subsystem to manage the local players presence. |
class URH_LocalPlayerSessionSubsystem | Subsystem to manage sessions for the local player. |
class URH_LocalPlayerSubsystem | Subsystem to manage the local player. |
struct FRH_LoginResult | Struct for the login results. |
Members
enum
ERHAPI_LoginResult
Values | Descriptions |
---|---|
Success | Login was a success. |
Fail_PartialInstall | Login denied because a partial install is underway. |
Fail_LoginAlreadyPending | There is already a pending login for this LocalPlayer. |
Fail_OSSMissing | There is no OnlineSubsystem to login with. Check that the LoginOSS is valid, and the OSS was started correctly |
Fail_OSSNotSupported | OSS Is not supported by Rally Here |
Fail_OSSLoginUINotShown | OSS Login UI could not be opened |
Fail_OSSLoginUINoUserSelected | OSS Login UI could not be opened |
Fail_OSSLogin | OnlineSubsystem login failed due to an OSS-specific reason. See the OSSErrorMessage for more details |
Fail_OSSLogout | OSS User was logged out during our login operation. Login can be retried. |
Fail_OSSNeedsProfile | OnlineSubsystem needs a valid selected profile. Call ShowProfileSelectionUI before logging in again |
Fail_OSSAccountTypeNotSufficient | OSS User’s account type is not sufficient (e.g. they do not have Xbox Live Gold or PS+) |
Fail_OSSUserNotFound | OSS User was not found, even after OSS Login completed. This usually means that there is no connection to Xbox Live/PSN/etc |
Fail_OSSAgeRestriction | OSS User does not meet age requirements for online play |
Fail_OSSPrivilegeCheck | OSS User does not meet requirements for online play. See FRH_LoginResult::PrivilegeResults and IOnlineIdentity::EPrivilegeResults |
Fail_OSSAuthToken | OSS AuthToken could not be retrieved for a user that was logged into the OSS. This can be caused by a few reasons, such as the OSS account not being able to talk to the OSS network but being able to log into the account locally to the client machine |
Fail_MustAcceptAgreements | User must accept all required agreements. See FRH_LoginResult::bMustAcceptEULA, FRH_LoginResult::bMustAcceptTOS, FRH_LoginResult::bMustAcceptPP |
Fail_RHDenied | RH web login was denied. There are many reasons that can cause this, including misconfiguration of OSS IDs with the Rally Here APIs |
Fail_LocalPlayerMissing | Local player went missing during login process |
Fail_ReloginWithoutSavedCredentials | Relogin called without saved credentials |
Fail_RHUnknown | RH web login failed for an unknown reason. This usually means there was a server error of some kind. |
Login Results.
enum
ERHAPI_LocalPlayerLoginOSS
Values | Descriptions |
---|---|
None | No type, means RallyHere. |
Login | Uses the Login OSS. |
Nickname | Uses the Nickname OSS. |
Login Online Subsystem Type.
class URH_LocalPlayerLoginSubsystem
Login Subsystem for the local player.
Summary
Members | Descriptions |
---|---|
public FRH_OnLoginCompleteMulticast OnLoginComplete | Multicast delegate that gets broadcasted on login complete. |
public FRH_OnLoginCompleteDynamicMulticast BLUEPRINT_OnLoginComplete | Multicast delegate that gets broadcasted on login complete. |
public FRH_GeneralSettingChangedMulticast OnCrossplaySettingChanged | Multicast delegate that gets broadcasted when a player’s crossplay setting is changed. |
public FRH_GeneralSettingChangedDynamicMulticast BLUEPRINT_OnCrossplaySettingChanged | Multicast delegate that gets broadcasted when a player’s crossplay setting is changed. |
public FName LoginOSSName | Online Subsystem to use for login. If not provided, will use the default OSS. |
public FName NicknameOSSName | Online Subsystem to use for getting the user’s display name for Rally Here. If not provided, will use the Login OSS. |
public bool bLoginAllowStoredRefreshToken | Is the login process allowed to load/store a refresh token for future login attempts? |
public bool bLoginDuringPartialInstall | Does the game allow logins before full installation has completed? (Only supported with HIREZ ENGINE changes) |
public bool bLoginOSSRequireLoginUIFirst | Should the OSS require show the login UI before the login attempt? |
public bool bNicknameOSSRequireLoginUIFirst | Should the OSS require show the login UI before the login attempt? |
public bool bLoginOSSRequireOnlinePlayToLogin | Does the game require access to play online (meeting the OSS age and purchase requirements, like Xbox Live and PSN) before completing login. |
public bool bNicknameOSSRequireOnlinePlayToLogin | Does the game require access to play online (meeting the OSS age and purchase requirements, like Xbox Live and PSN) before completing login. |
public bool bLoginOSSPromptAccountUpgradeIfInsufficient | Should the OSS prompt to upgrade the user’s account during login, if they failed due to invalid account type (e.g. not PS+ or Xbox Live Gold) |
public bool bNicknameOSSPromptAccountUpgradeIfInsufficient | Should the OSS prompt to upgrade the user’s account during login, if they failed due to invalid account type (e.g. not PS+ or Xbox Live Gold) |
public bool bLoginOSSRequireValidUserIdForFailedLogin | Should the OSS require a valid user id, even for failed logins. |
public bool bNicknameOSSRequireValidUserIdForFailedLogin | Should the OSS require a valid user id, even for failed logins. |
public bool bLogoutAndRetryLoginIfRefreshLoginFailed | Should we logout of the OSS and retry the login (that included a refresh token) failed? |
public bool bLoginOSSUseIDTokenAsPortalParentAccessToken | Should we use the ID Token for populating the PARENT Portal Access Token. |
public bool bLoginOSSUseIDTokenAsPortalAccessToken | Should we use the ID Token for populating the Portal Access Token. |
public bool bResolveRallyHereBaseURLAfterOSSLogin | Should an OSS Login trigger a Base URL Resolve on the FRH_Integration? This is necessary for some OSSes (e.g. Switch/PS4) that don’t have environment information until after a login is attempted. |
public FString SavedCredentialPrefix | Prefix applied to the saved credentials on platforms that support storing the refresh token. |
public virtual void Initialize () | Initialize the subsystem. |
public virtual void Deinitialize () | Safely tears down the subsystem. |
public virtual void OnUserChanged (const FGuid & OldPlayerUuid,class URH_PlayerInfo * OldLocalPlayerInfo) | Base handling when the local user changes, override to provide functionality. |
public virtual void HandleNotification (const struct FRHAPI_Notification & Notification,const FString & APIName,const TArray< FString > & APIParams) | Handle a notification from the notification API. |
public void SubmitAutoLogin (bool bAcceptEULA,bool bAcceptTOS,bool bAcceptPP,const FRH_OnLoginComplete & OnLoginCompleteDelegate) | Begins a complete multi-phased login to the OnlineSubsystem with the credentials provided on the command line, checking if the user has appropriate permissions, and logging into RallyHere. |
public void ResubmitLastSuccessfulLogin (const FRH_OnLoginComplete & OnLoginCompleteDelegate) | Submits a complete multi-phased login using the last successful set of login parameters. |
public void SubmitLogin (const FOnlineAccountCredentials & Credentials,FString CredentialRefreshToken,bool bAcceptEULA,bool bAcceptTOS,bool bAcceptPP,FRH_OnLoginComplete OnLoginCompleteDelegate) | Begins a complete multi-phased login to the OnlineSubsystem with the provided credentials, checking if the user has appropriate permissions, and logging into RallyHere. |
public void Logout () | Requests a logout on the server clearing the players auth credentials. |
public bool ShowLoginProfileSelectionUI (bool bShowOnlineOnly,const FRH_OnProfileSelectionUIClosed & OnClosed, ERHAPI_LocalPlayerLoginOSS OSSType) | Show an OSS-specific profile selection UI to the user. This is for Xbox and other platforms that support profile swapping. A valid profile is required to login on those platforms. |
public bool ShouldUseSavedCredentials () const | Are saved credentials allowed for auto-login? |
public IOnlineSubsystem * GetOSS ( ERHAPI_LocalPlayerLoginOSS OSSType) const | Get the fully resolved OSS by type. |
public IOnlineSubsystem * GetLoginOSS () const | Get the fully resolved OSS to use for Login. |
public IOnlineSubsystem * GetNicknameOSS () const | Get the fully resolved OSS to use for getting a player’s display name for login. This triggers a second OSS login. |
public inline virtual bool IsCrossplayEnabled () const | Gets if crossplay is enabled. |
public inline virtual bool IsCommunicationEnabled () const | Gets if cvommunication is enabled. |
protected TArray< FString > IgnoreSavedCredentialsCommandLineKeys | Configurations to skip saved credentials. |
protected FDelegateHandle OnOSSLoginCompleteDelegateHandle | Delegate to listen for OSS login completion. |
protected bool bCrossplayEnabled | Stores if crossplay is enabled. |
protected TOptional< FRH_PendingLoginRequest > LastSuccessfulLoginRequest | Stores the last successful login result, for use when refresh token expires. |
protected bool bCommunicationEnabled | Stores if communication is enabled. |
protected virtual void PostResults ( FRH_PendingLoginRequest & Req,const FRH_LoginResult & Res) | Posts the results from a login request. |
protected virtual void DoShowLoginOSSLoginUI ( FRH_PendingLoginRequest & Req) | Prompts the online subsystem to show login UI. |
protected virtual void DoShowNicknameOSSLoginUI ( FRH_PendingLoginRequest & Req) | Prompts the online subsystem to show the choose nickname login UI. |
protected virtual void NicknameOSSLoginUIClosed (TSharedPtr< const FUniqueNetId > UniqueId,const FOnlineError & Error, FRH_PendingLoginRequest Req) | Callback from the user closing the nickname selection on the online subsystem. |
protected virtual void LoginOSSLoginUIClosed (TSharedPtr< const FUniqueNetId > UniqueId,const FOnlineError & Error, FRH_PendingLoginRequest Req) | Callback from the user closing the login UI of the online subsystem. |
protected virtual void DoLoginOSSLogin ( FRH_PendingLoginRequest & Req) | Starts the online subsystem login. |
protected virtual void DoNicknameOSSLogin ( FRH_PendingLoginRequest & Req) | Starts the online subsystem nickname login. |
protected virtual void DoOSSLogin ( FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,OSSLoginCompleteFn OnComplete) | Starts the online subsystem login. |
protected virtual void OSSLoginComplete (int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage, FRH_PendingLoginRequest Req) | Handler for OSS Login Completion. |
protected virtual void OSSNicknameLoginComplete (int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage, FRH_PendingLoginRequest Req) | Handler for OSS Nickname Login Completion. |
protected virtual bool OnOSSLoginComplete (int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage, FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,PendingLoginUniqueIdRef UniqueIdPtr,bool bOSSRequireValidUserIdForFailedLogin) | Handler for OSS Login Completion. |
protected virtual void ExternalUI_ShowLoginUIClosed (TSharedPtr< const FUniqueNetId > UniqueId,const int ControllerIndex,const FOnlineError & Error,FRH_OnProfileSelectionUIClosed OnClosed) | Callback for when the OSS login UI is closed. |
protected virtual void DoLoginOSSPrivilegeCheck ( FRH_PendingLoginRequest & Req) | Checks users Privileges for OSS Login. |
protected virtual void DoNicknameOSSPrivilegeCheck ( FRH_PendingLoginRequest & Req) | Checks users Privileges for OSS Nickname Login. |
protected virtual void DoOSSPrivilegeCheck ( FRH_PendingLoginRequest & Req,IOnlineSubsystem * OSS,PendingLoginUniqueIdRef UniqueIdPtr,OSSPrivilegeResultsFn OnPrivilegeResults) | Checks users Privileges for OSS Login. |
protected virtual void OnLoginOSSPrivilegeResults (const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults, FRH_PendingLoginRequest Req) | Handler for online subsystem callback for OSS Privilege check. |
protected virtual void OnNicknameOSSPrivilegeResults (const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults, FRH_PendingLoginRequest Req) | Handler for online subsystem callback for OSS Nickname Privilege check. |
protected virtual bool OnOSSPrivilegeResults (const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults, FRH_PendingLoginRequest Req,IOnlineSubsystem * OSS,bool bPromptForAccountUpgradeIfInsufficient) | Handler for online subsystem callback for OSS Privilege check. |
protected virtual void RetrieveOSSAuthToken ( FRH_PendingLoginRequest & Req) | Start the retrieval of the OSS Auth Token. |
protected virtual void RetrieveOSSAuthTokenComplete (int32 LocalUserNum,bool bWasSuccessful,const FExternalAuthToken & AuthToken, FRH_PendingLoginRequest Req) | Start the login to Rally Here. |
protected virtual void DoRallyHereLogin ( FRH_PendingLoginRequest & Req,const FExternalAuthToken & AuthToken) | Start the login to Rally Here. |
protected virtual void RallyHereLoginComplete (const RallyHereAPI::FResponse_Login & Resp, FRH_PendingLoginRequest Req) | Handle the response from the login to Rally Here. |
protected virtual FString GetSavedCredentialEnvironment (FName OSSName) const | Gets the cached credentials for the given online subsystem. |
protected virtual void CheckCrossplayPrivilege (const FUniqueNetId & UniqueId) | Checks the users OSS privileges for crossplay. |
protected virtual void HandleCheckCrossPlayPrivilegeComplete (const FUniqueNetId & UserId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults) | Handles the response of the OSS crossplay privilege check. |
protected virtual void CheckCommunicationPrivilege (const FUniqueNetId & UniqueId) | Checks the users OSS privileges for communicataion. |
protected virtual void HandleCheckCommunicationPrivilegeComplete (const FUniqueNetId & UserId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults) | Handles the response of the OSS communicaation privilege check. |
protected virtual void HandleAppReactivated () | Handles the app being restored from being suspended. |
protected virtual void HandleAppReactivatedGameThread () | Handles the app game thread being restored from being suspended. |
typedef TLogout | Type Define for logout calls. |
Members
public FRH_OnLoginCompleteMulticast
OnLoginComplete
Multicast delegate that gets broadcasted on login complete.
#### `public FRH_OnLoginCompleteDynamicMulticast `[`BLUEPRINT_OnLoginComplete`](#classURH__LocalPlayerLoginSubsystem_1a75fecc81fac520458fa441c2d06d09d2)
Multicast delegate that gets broadcasted on login complete.
#### `public FRH_GeneralSettingChangedMulticast `[`OnCrossplaySettingChanged`](#classURH__LocalPlayerLoginSubsystem_1ab039522171ab500f9c26d0e224bde938)
Multicast delegate that gets broadcasted when a player’s crossplay setting is changed.
#### `public FRH_GeneralSettingChangedDynamicMulticast `[`BLUEPRINT_OnCrossplaySettingChanged`](#classURH__LocalPlayerLoginSubsystem_1ab0c4b2144b8fdc1abb63450117f16674)
Multicast delegate that gets broadcasted when a player’s crossplay setting is changed.
#### `public FName `[`LoginOSSName`](#classURH__LocalPlayerLoginSubsystem_1a01d07f25f0c0000420aeaa3a9a124a85)
Online Subsystem to use for login. If not provided, will use the default OSS.
#### `public FName `[`NicknameOSSName`](#classURH__LocalPlayerLoginSubsystem_1a1328f2314ce4640fa291c3ea6722c286)
Online Subsystem to use for getting the user’s display name for Rally Here. If not provided, will use the Login OSS.
#### `public bool `[`bLoginAllowStoredRefreshToken`](#classURH__LocalPlayerLoginSubsystem_1a37770d7b5203f211cdbb6aa79147393a)
Is the login process allowed to load/store a refresh token for future login attempts?
#### `public bool `[`bLoginDuringPartialInstall`](#classURH__LocalPlayerLoginSubsystem_1a48d9066d47e46f02ce854b99adf0c8d2)
Does the game allow logins before full installation has completed? (Only supported with HIREZ ENGINE changes)
#### `public bool `[`bLoginOSSRequireLoginUIFirst`](#classURH__LocalPlayerLoginSubsystem_1a2313c3e5a982d6bb4d8d27636b9ad384)
Should the OSS require show the login UI before the login attempt?
#### `public bool `[`bNicknameOSSRequireLoginUIFirst`](#classURH__LocalPlayerLoginSubsystem_1aa48fefd9f000fde0f8020800d3a72863)
Should the OSS require show the login UI before the login attempt?
#### `public bool `[`bLoginOSSRequireOnlinePlayToLogin`](#classURH__LocalPlayerLoginSubsystem_1a75a3157fecc25b6b82d90aab3ba43041)
Does the game require access to play online (meeting the OSS age and purchase requirements, like Xbox Live and PSN) before completing login.
#### `public bool `[`bNicknameOSSRequireOnlinePlayToLogin`](#classURH__LocalPlayerLoginSubsystem_1a8b294ac15cd5f2d1c75b8c092a593905)
Does the game require access to play online (meeting the OSS age and purchase requirements, like Xbox Live and PSN) before completing login.
#### `public bool `[`bLoginOSSPromptAccountUpgradeIfInsufficient`](#classURH__LocalPlayerLoginSubsystem_1aa82d05952f1e26b805d9c6ae9b2addd7)
Should the OSS prompt to upgrade the user’s account during login, if they failed due to invalid account type (e.g. not PS+ or Xbox Live Gold)
#### `public bool `[`bNicknameOSSPromptAccountUpgradeIfInsufficient`](#classURH__LocalPlayerLoginSubsystem_1a02788d0e33ad37faecda684ac3058862)
Should the OSS prompt to upgrade the user’s account during login, if they failed due to invalid account type (e.g. not PS+ or Xbox Live Gold)
#### `public bool `[`bLoginOSSRequireValidUserIdForFailedLogin`](#classURH__LocalPlayerLoginSubsystem_1a61dd1b6a2b1d6ea234d3ee722ef45e8e)
Should the OSS require a valid user id, even for failed logins.
#### `public bool `[`bNicknameOSSRequireValidUserIdForFailedLogin`](#classURH__LocalPlayerLoginSubsystem_1aea1502da749e3a887d5e854302f9b11f)
Should the OSS require a valid user id, even for failed logins.
#### `public bool `[`bLogoutAndRetryLoginIfRefreshLoginFailed`](#classURH__LocalPlayerLoginSubsystem_1a1f638ff5b5f352dfffdb315e30478d3c)
Should we logout of the OSS and retry the login (that included a refresh token) failed?
#### `public bool `[`bLoginOSSUseIDTokenAsPortalParentAccessToken`](#classURH__LocalPlayerLoginSubsystem_1ae7c66f0f89b289dff65c385c23f0590d)
Should we use the ID Token for populating the PARENT Portal Access Token.
#### `public bool `[`bLoginOSSUseIDTokenAsPortalAccessToken`](#classURH__LocalPlayerLoginSubsystem_1a2ddbbfbcad16d8ae949cfcbed714eef1)
Should we use the ID Token for populating the Portal Access Token.
#### `public bool `[`bResolveRallyHereBaseURLAfterOSSLogin`](#classURH__LocalPlayerLoginSubsystem_1a92a9774beae64448f7c0895a7e6eacff)
Should an OSS Login trigger a Base URL Resolve on the FRH_Integration? This is necessary for some OSSes (e.g. Switch/PS4) that don’t have environment information until after a login is attempted.
#### `public FString `[`SavedCredentialPrefix`](#classURH__LocalPlayerLoginSubsystem_1a5ff0051c770983ee18208136805b9754)
Prefix applied to the saved credentials on platforms that support storing the refresh token.
#### `public virtual void `[`Initialize`](#classURH__LocalPlayerLoginSubsystem_1a938bd41c5c5fa6b5eacbeb43d0758a63)`()`
Initialize the subsystem.
#### `public virtual void `[`Deinitialize`](#classURH__LocalPlayerLoginSubsystem_1a363bdf9386b7854ed44a03cfe6faea18)`()`
Safely tears down the subsystem.
#### `public virtual void `[`OnUserChanged`](#classURH__LocalPlayerLoginSubsystem_1ab6d2f50070d3611329243a43e898785b)`(const FGuid & OldPlayerUuid,class `[`URH_PlayerInfo`](PlayerInfo.md#classURH__PlayerInfo)` * OldLocalPlayerInfo)`
Base handling when the local user changes, override to provide functionality.
Parameters
-
OldPlayerUuid
The old player Uuid. -
OldLocalPlayerInfo
The old local player info.
#### `public virtual void `[`HandleNotification`](#classURH__LocalPlayerLoginSubsystem_1ad80279dbf8a8ae3b3c1a022afb109985)`(const struct `[`FRHAPI_Notification`](models/RHAPI_Notification.md#structFRHAPI__Notification)` & Notification,const FString & APIName,const TArray< FString > & APIParams)`
Handle a notification from the notification API.
Parameters
-
Notification
The notification to handle. -
APIName
The name of the API that sent the notification. -
APIParams
The parameters for the API that sent the notification.
#### `public void `[`SubmitAutoLogin`](#classURH__LocalPlayerLoginSubsystem_1aec27fd534d794470e4eb893de8d722c4)`(bool bAcceptEULA,bool bAcceptTOS,bool bAcceptPP,const FRH_OnLoginComplete & OnLoginCompleteDelegate)`
Begins a complete multi-phased login to the OnlineSubsystem with the credentials provided on the command line, checking if the user has appropriate permissions, and logging into RallyHere.
#### `public void `[`ResubmitLastSuccessfulLogin`](#classURH__LocalPlayerLoginSubsystem_1a937e6ee9e5592c699ff28bbf89344532)`(const FRH_OnLoginComplete & OnLoginCompleteDelegate)`
Submits a complete multi-phased login using the last successful set of login parameters.
#### `public void `[`SubmitLogin`](#classURH__LocalPlayerLoginSubsystem_1a8feda49ddf6a5f48448d4f989eca3d57)`(const FOnlineAccountCredentials & Credentials,FString CredentialRefreshToken,bool bAcceptEULA,bool bAcceptTOS,bool bAcceptPP,FRH_OnLoginComplete OnLoginCompleteDelegate)`
Begins a complete multi-phased login to the OnlineSubsystem with the provided credentials, checking if the user has appropriate permissions, and logging into RallyHere.
Parameters
-
Credentials
- Credentials to use to login with the LoginOSS -
CredentialRefreshToken
- RefreshToken to associate with the credentials. If included will be used for the RallyHere login -
OnLoginComplete
- Delegate called after login completes
#### `public void `[`Logout`](#classURH__LocalPlayerLoginSubsystem_1ae3394f883c697e57a705c23d8b0be23a)`()`
Requests a logout on the server clearing the players auth credentials.
#### `public bool `[`ShowLoginProfileSelectionUI`](#classURH__LocalPlayerLoginSubsystem_1a6b569dc65fc1a0a0b6bb9f03a5c33ca9)`(bool bShowOnlineOnly,const FRH_OnProfileSelectionUIClosed & OnClosed,`[`ERHAPI_LocalPlayerLoginOSS`](undefined.md#group__LocalPlayer_1ga0aae9d7dd1467ba0ef09be86df25b7a2)` OSSType)`
Show an OSS-specific profile selection UI to the user. This is for Xbox and other platforms that support profile swapping. A valid profile is required to login on those platforms.
#### `public bool `[`ShouldUseSavedCredentials`](#classURH__LocalPlayerLoginSubsystem_1a508f8e109c3ec8be8a8b3fc2cb4ded58)`() const`
Are saved credentials allowed for auto-login?
#### `public IOnlineSubsystem * `[`GetOSS`](#classURH__LocalPlayerLoginSubsystem_1aa90dc3aaf0dd07ac57aab97b3d300e8d)`(`[`ERHAPI_LocalPlayerLoginOSS`](undefined.md#group__LocalPlayer_1ga0aae9d7dd1467ba0ef09be86df25b7a2)` OSSType) const`
Get the fully resolved OSS by type.
#### `public IOnlineSubsystem * `[`GetLoginOSS`](#classURH__LocalPlayerLoginSubsystem_1a9e877c23c0e17ff59e45c9690b319da0)`() const`
Get the fully resolved OSS to use for Login.
#### `public IOnlineSubsystem * `[`GetNicknameOSS`](#classURH__LocalPlayerLoginSubsystem_1aaa99f329af713816b4c175c0f7671e49)`() const`
Get the fully resolved OSS to use for getting a player’s display name for login. This triggers a second OSS login.
#### `public inline virtual bool `[`IsCrossplayEnabled`](#classURH__LocalPlayerLoginSubsystem_1a311a51ee03f291f4c236f1983e0b3f7c)`() const`
Gets if crossplay is enabled.
#### `public inline virtual bool `[`IsCommunicationEnabled`](#classURH__LocalPlayerLoginSubsystem_1a1412124dc14c386e02ce52bbcb2671c0)`() const`
Gets if cvommunication is enabled.
#### `protected TArray< FString > `[`IgnoreSavedCredentialsCommandLineKeys`](#classURH__LocalPlayerLoginSubsystem_1a807481151c1204a711576e7372534dc1)
Configurations to skip saved credentials.
#### `protected FDelegateHandle `[`OnOSSLoginCompleteDelegateHandle`](#classURH__LocalPlayerLoginSubsystem_1a646e2be986b89238b1f25a9de4578e96)
Delegate to listen for OSS login completion.
#### `protected bool `[`bCrossplayEnabled`](#classURH__LocalPlayerLoginSubsystem_1a7c85f34c2500e512c00bb4d424948069)
Stores if crossplay is enabled.
#### `protected TOptional< `[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` > `[`LastSuccessfulLoginRequest`](#classURH__LocalPlayerLoginSubsystem_1af7d7ed1e837db9861c24dc7100fcac2c)
Stores the last successful login result, for use when refresh token expires.
#### `protected bool `[`bCommunicationEnabled`](#classURH__LocalPlayerLoginSubsystem_1a80a9112506cf7920ab1945062b2eb7ca)
Stores if communication is enabled.
#### `protected virtual void `[`PostResults`](#classURH__LocalPlayerLoginSubsystem_1aa8588e2a9f530a54818aeb56fd091e7d)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req,const `[`FRH_LoginResult`](LocalPlayer.md#structFRH__LoginResult)` & Res)`
Posts the results from a login request.
Parameters
-
Req
The login request. -
Res
The login results.
#### `protected virtual void `[`DoShowLoginOSSLoginUI`](#classURH__LocalPlayerLoginSubsystem_1ac38e03f331309d47d734f788930ed3f4)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req)`
Prompts the online subsystem to show login UI.
Parameters
Req
The pending login request.
#### `protected virtual void `[`DoShowNicknameOSSLoginUI`](#classURH__LocalPlayerLoginSubsystem_1a8c668ea60d6d684d3f66cf96ac5a6914)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req)`
Prompts the online subsystem to show the choose nickname login UI.
Parameters
Req
The pending login request.
#### `protected virtual void `[`NicknameOSSLoginUIClosed`](#classURH__LocalPlayerLoginSubsystem_1a3a8c0c7cb777ae735eaf5816b5c1442c)`(TSharedPtr< const FUniqueNetId > UniqueId,const FOnlineError & Error,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req)`
Callback from the user closing the nickname selection on the online subsystem.
Parameters
-
UniqueId
Unique Net Id player selected. -
Error
Error message if any. -
Req
The pending login request.
#### `protected virtual void `[`LoginOSSLoginUIClosed`](#classURH__LocalPlayerLoginSubsystem_1a3ed944e354b67a3253fc3b266d2d74f3)`(TSharedPtr< const FUniqueNetId > UniqueId,const FOnlineError & Error,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req)`
Callback from the user closing the login UI of the online subsystem.
Parameters
-
UniqueId
Unique Net Id player selected. -
Error
Error message if any. -
Req
The pending login request.
#### `protected virtual void `[`DoLoginOSSLogin`](#classURH__LocalPlayerLoginSubsystem_1a1348a27ffee35644cd6b1ffaaa992ff0)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req)`
Starts the online subsystem login.
Parameters
Req
The pending login request.
#### `protected virtual void `[`DoNicknameOSSLogin`](#classURH__LocalPlayerLoginSubsystem_1aaec0f125f3a1b048f96dd9f0b15c8378)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req)`
Starts the online subsystem nickname login.
Parameters
Req
The pending login request.
#### `protected virtual void `[`DoOSSLogin`](#classURH__LocalPlayerLoginSubsystem_1a4a4d560752f5f6d1eee297d1b0d533a4)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req,IOnlineSubsystem * OSS,OSSLoginCompleteFn OnComplete)`
Starts the online subsystem login.
Parameters
-
Req
The pending login request. -
OSS
The online subsystem being logged into. -
OnComplete
Callback delegate for when login finishes.
#### `protected virtual void `[`OSSLoginComplete`](#classURH__LocalPlayerLoginSubsystem_1a09d25f9ea9975061d1c66c113bfb6339)`(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req)`
Handler for OSS Login Completion.
Parameters
-
ControllerId
Controller Id of the local player logging in. -
bSuccessful
Was the login successful. -
UniqueId
Unique Net Id of the player logging in. -
ErrorMessage
Error message if any. -
Req
The pending login request.
#### `protected virtual void `[`OSSNicknameLoginComplete`](#classURH__LocalPlayerLoginSubsystem_1a37bae042ff553fd98f3770c129a45949)`(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req)`
Handler for OSS Nickname Login Completion.
Parameters
-
ControllerId
Controller Id of the local player logging in. -
bSuccessful
Was the login successful. -
UniqueId
Unique Net Id of the player logging in. -
ErrorMessage
Error message if any. -
Req
The pending login request.
#### `protected virtual bool `[`OnOSSLoginComplete`](#classURH__LocalPlayerLoginSubsystem_1af158781b3e66c68f16de41e6149e6b2e)`(int32 ControllerId,bool bSuccessful,const FUniqueNetId & UniqueId,const FString & ErrorMessage,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req,IOnlineSubsystem * OSS,PendingLoginUniqueIdRef UniqueIdPtr,bool bOSSRequireValidUserIdForFailedLogin)`
Handler for OSS Login Completion.
Parameters
-
ControllerId
Controller Id of the local player logging in. -
bSuccessful
Was the login successful. -
UniqueId
Unique Net Id of the player logging in. -
ErrorMessage
Error message if any. -
Req
The pending login request. -
OSS
The online subsystem being logged into. -
UniqueIdPtr
Pending Login pointer reference. -
bOSSRequireValidUserIdForFailedLogin
If the login failed due to no valid user id.
#### `protected virtual void `[`ExternalUI_ShowLoginUIClosed`](#classURH__LocalPlayerLoginSubsystem_1a333418b1fa9eb68991567bac31129339)`(TSharedPtr< const FUniqueNetId > UniqueId,const int ControllerIndex,const FOnlineError & Error,FRH_OnProfileSelectionUIClosed OnClosed)`
Callback for when the OSS login UI is closed.
Parameters
-
UniqueId
Unique Net Id of the player logging in. -
ControllerIndex
Controller Id of the local player logging in. -
Error
Error message if any. -
OnClosed
Callback delegate for when the login UI is closed.
#### `protected virtual void `[`DoLoginOSSPrivilegeCheck`](#classURH__LocalPlayerLoginSubsystem_1a7b65ebe24a9e0bf8d0a1cf5813c28c96)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req)`
Checks users Privileges for OSS Login.
Parameters
Req
The pending login request.
#### `protected virtual void `[`DoNicknameOSSPrivilegeCheck`](#classURH__LocalPlayerLoginSubsystem_1a59711795bf74e953d9efab8f66eecc03)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req)`
Checks users Privileges for OSS Nickname Login.
Parameters
Req
The pending login request.
#### `protected virtual void `[`DoOSSPrivilegeCheck`](#classURH__LocalPlayerLoginSubsystem_1a529bf4977cd385ddc75ca33b711ef914)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req,IOnlineSubsystem * OSS,PendingLoginUniqueIdRef UniqueIdPtr,OSSPrivilegeResultsFn OnPrivilegeResults)`
Checks users Privileges for OSS Login.
Parameters
-
Req
The pending login request. -
OSS
The online subsystem being logged into. -
UniqueIdPtr
Pending Login pointer reference. -
OnPrivilegeResults
Callback delegate for when the privilege check is complete.
#### `protected virtual void `[`OnLoginOSSPrivilegeResults`](#classURH__LocalPlayerLoginSubsystem_1a2381665262c193523ec0bfae00b073af)`(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req)`
Handler for online subsystem callback for OSS Privilege check.
Parameters
-
UniqueId
Unique Net Id of the player being checked in. -
Privilege
Privilege being checked. -
PrivilegeResults
Privilege check results. -
Req
The pending login request.
#### `protected virtual void `[`OnNicknameOSSPrivilegeResults`](#classURH__LocalPlayerLoginSubsystem_1a650fbeb427bb5c402e36bef9c793342a)`(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req)`
Handler for online subsystem callback for OSS Nickname Privilege check.
Parameters
-
UniqueId
Unique Net Id of the player being checked in. -
Privilege
Privilege being checked. -
PrivilegeResults
Privilege check results. -
Req
The pending login request.
#### `protected virtual bool `[`OnOSSPrivilegeResults`](#classURH__LocalPlayerLoginSubsystem_1a8d1c57f00dd702f3739e5e2f18665542)`(const FUniqueNetId & UniqueId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req,IOnlineSubsystem * OSS,bool bPromptForAccountUpgradeIfInsufficient)`
Handler for online subsystem callback for OSS Privilege check.
Parameters
-
UniqueId
Unique Net Id of the player being checked in. -
Privilege
Privilege being checked. -
PrivilegeResults
Privilege check results. -
Req
The pending login request. -
OSS
The online subsystem being logged into. -
bPromptForAccountUpgradeIfInsufficient
If true, prompt user to upgrade their platform account.
#### `protected virtual void `[`RetrieveOSSAuthToken`](#classURH__LocalPlayerLoginSubsystem_1abe4cba66bc2a21657b730e9c456a8297)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req)`
Start the retrieval of the OSS Auth Token.
Parameters
Req
The pending login request.
#### `protected virtual void `[`RetrieveOSSAuthTokenComplete`](#classURH__LocalPlayerLoginSubsystem_1a27fbe50ee06ccb5822c1edbf773d81a8)`(int32 LocalUserNum,bool bWasSuccessful,const FExternalAuthToken & AuthToken,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req)`
Start the login to Rally Here.
Parameters
-
LocalUserNum
Local user number of the player logging in. -
bWasSuccessful
Was the retrieval successful. -
AuthTokenWrapper
The auth token wrapper. -
Req
The pending login request.
#### `protected virtual void `[`DoRallyHereLogin`](#classURH__LocalPlayerLoginSubsystem_1ac566c5385eac7117a5562ba0010cf4fc)`(`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` & Req,const FExternalAuthToken & AuthToken)`
Start the login to Rally Here.
Parameters
Req
The pending login request.
#### `protected virtual void `[`RallyHereLoginComplete`](#classURH__LocalPlayerLoginSubsystem_1a7b877ea539a11d526e488f43a1044cd4)`(const RallyHereAPI::FResponse_Login & Resp,`[`FRH_PendingLoginRequest`](undefined.md#structURH__LocalPlayerLoginSubsystem_1_1FRH__PendingLoginRequest)` Req)`
Handle the response from the login to Rally Here.
Parameters
-
Resp
Response from the login to Rally Here. -
Req
The pending login request.
#### `protected virtual FString `[`GetSavedCredentialEnvironment`](#classURH__LocalPlayerLoginSubsystem_1a159afb852506a24c40a44f315debfbc6)`(FName OSSName) const`
Gets the cached credentials for the given online subsystem.
Parameters
OSSName
Name of the online subsystem.
Returns
Credentials token for the subsystem.
#### `protected virtual void `[`CheckCrossplayPrivilege`](#classURH__LocalPlayerLoginSubsystem_1a56da439941bdce891cbe97ebf75d5666)`(const FUniqueNetId & UniqueId)`
Checks the users OSS privileges for crossplay.
Parameters
UniqueId
Unique Net Id of the player being checked in.
#### `protected virtual void `[`HandleCheckCrossPlayPrivilegeComplete`](#classURH__LocalPlayerLoginSubsystem_1a9695dff647ab1d5f81acbf29f38882e6)`(const FUniqueNetId & UserId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults)`
Handles the response of the OSS crossplay privilege check.
Parameters
-
UserId
Unique Net Id of the player being checked in. -
Privilege
Privilege being checked. -
PrivilegeResults
Privilege check results.
#### `protected virtual void `[`CheckCommunicationPrivilege`](#classURH__LocalPlayerLoginSubsystem_1af758cbf06c5f4a9a5ab87367cb69d60a)`(const FUniqueNetId & UniqueId)`
Checks the users OSS privileges for communicataion.
Parameters
UniqueId
Unique Net Id of the player being checked in.
#### `protected virtual void `[`HandleCheckCommunicationPrivilegeComplete`](#classURH__LocalPlayerLoginSubsystem_1a941c8ad7a2ca3204ce9ac44bad2b7986)`(const FUniqueNetId & UserId,EUserPrivileges::Type Privilege,uint32 PrivilegeResults)`
Handles the response of the OSS communicaation privilege check.
Parameters
-
UserId
Unique Net Id of the player being checked in. -
Privilege
Privilege being checked. -
PrivilegeResults
Privilege check results.
#### `protected virtual void `[`HandleAppReactivated`](#classURH__LocalPlayerLoginSubsystem_1aa8c118625fd0a61d8ee5283d539d6d00)`()`
Handles the app being restored from being suspended.
#### `protected virtual void `[`HandleAppReactivatedGameThread`](#classURH__LocalPlayerLoginSubsystem_1a60779ab08578f6978df960d7d3877782)`()`
Handles the app game thread being restored from being suspended.
#### `typedef `[`TLogout`](#classURH__LocalPlayerLoginSubsystem_1a8eb4169e49a752b5334dbfb87e7d5c93)
Type Define for logout calls.
## class `URH_LocalPlayerPresenceSubsystem`
Subsystem to manage the local players presence.
Summary
Members | Descriptions |
---|---|
public virtual void Initialize () | Initialize the subsystem. |
public virtual void Deinitialize () | Safely tears down the subsystem. |
public void UpdatePlayerPresenceSelf (RallyHereAPI::FRequest_UpdatePlayerPresenceSelf & Request,const RallyHereAPI::FDelegate_UpdatePlayerPresenceSelf & Delegate) | Calls the Presence API to update a players personal presence information. |
public void GetPlayerPresenceSelf (RallyHereAPI::FRequest_GetPlayerPresenceSelf & Request,const RallyHereAPI::FDelegate_GetPlayerPresenceSelf & Delegate) | Calls the Presence API to get your own player presence information. |
public void GetSettings (RallyHereAPI::FRequest_GetPresenceSettings & Request,const RallyHereAPI::FDelegate_GetPresenceSettings & Delegate) | Calls the Presence API to get the presence settings data. |
public inline void SetDesiredStatus (ERHAPI_OnlineStatus NewStatus) | Requests an update of your presence status to be set to the desired status. |
public inline ERHAPI_OnlineStatus GetDesiredStatus () const | Gets the desired status that the player wants to be set to. |
public inline void SetDesiredMessage (FString NewMessage) | Requests an update of your presence message to be set to the desired message. |
public inline FString GetDesiredMessage () const | Gets the desired message that the player wants to be set to. |
public inline void SetDesiredDoNotDisturb (bool NewDoNotDisturb) | Requests an update of your presence do not disturb setting to be set to the desired setting. |
public inline bool GetDesiredDoNotDisturb () const | Gets the desired do not disturb setting that the player wants to be set to. |
public void StartRefreshTimer () | Starts polling to refresh the player’s presence status. |
public void StopRefreshTimer () | Stops polling to refresh the player’s presence status. |
public void RefreshStatus () | Forces an update of the players presence with a status change. |
public bool IsRefreshTimerActive (float & TimeRemaining) const | Returns whether the refresh timer is active. param [in]. |
protected FRH_AutoPollerPtr Poller | Poller for the local presence. |
protected ERHAPI_OnlineStatus DesiredStatus | The Status that the local player is being changed to. |
protected FString DesiredMessage | The presence message that the local player is being changed to. |
protected bool DesiredDoNotDisturb | The do not disturb setting that the local player is being changed to. |
protected virtual void OnUserChanged () | Callback that occurs whenever the local player this subsystem is associated with changes. |
protected virtual void InitPropertiesWithDefaultValues () | Initializes the subsystem with defaults for its cached data. |
protected void PollRefreshStatus (const FRH_PollCompleteFunc & Delegate) | Polls the status of the players presence. |
Members
public virtual void
Initialize
()
Initialize the subsystem.
#### `public virtual void `[`Deinitialize`](#classURH__LocalPlayerPresenceSubsystem_1a6c5c5b743483e94ddce8383032cccabe)`()`
Safely tears down the subsystem.
#### `public void `[`UpdatePlayerPresenceSelf`](#classURH__LocalPlayerPresenceSubsystem_1a83c721326ab8300a7bbd7c7e5137ca6c)`(RallyHereAPI::FRequest_UpdatePlayerPresenceSelf & Request,const RallyHereAPI::FDelegate_UpdatePlayerPresenceSelf & Delegate)`
Calls the Presence API to update a players personal presence information.
Parameters
-
Request
Request object containing the information to update. -
Delegate
Callback delegate for if the request was successful or not.
#### `public void `[`GetPlayerPresenceSelf`](#classURH__LocalPlayerPresenceSubsystem_1ab096cb0926b3e19efa5be81186292fce)`(RallyHereAPI::FRequest_GetPlayerPresenceSelf & Request,const RallyHereAPI::FDelegate_GetPlayerPresenceSelf & Delegate)`
Calls the Presence API to get your own player presence information.
Parameters
-
Request
Request object containing needed data for the call. -
Delegate
Callback delegate with the player presence information.
#### `public void `[`GetSettings`](#classURH__LocalPlayerPresenceSubsystem_1ad4ea4f754634f475f0dc22b2cff65ef0)`(RallyHereAPI::FRequest_GetPresenceSettings & Request,const RallyHereAPI::FDelegate_GetPresenceSettings & Delegate)`
Calls the Presence API to get the presence settings data.
Parameters
-
Request
Request object containing needed data for the call. -
Delegate
Callback delegate with the presence settings data.
#### `public inline void `[`SetDesiredStatus`](#classURH__LocalPlayerPresenceSubsystem_1ab6e29c7025a2ba472476ed0ce806f746)`(ERHAPI_OnlineStatus NewStatus)`
Requests an update of your presence status to be set to the desired status.
Parameters
NewStatus
The new status to set.
#### `public inline ERHAPI_OnlineStatus `[`GetDesiredStatus`](#classURH__LocalPlayerPresenceSubsystem_1a9a1748ca16136289f3764459ee8cae4e)`() const`
Gets the desired status that the player wants to be set to.
#### `public inline void `[`SetDesiredMessage`](#classURH__LocalPlayerPresenceSubsystem_1a4317fe9af04ece94f342908b2eb84d08)`(FString NewMessage)`
Requests an update of your presence message to be set to the desired message.
Parameters
NewMessage
The new message to set.
#### `public inline FString `[`GetDesiredMessage`](#classURH__LocalPlayerPresenceSubsystem_1af295bb46e499c2c8aa1f208a30f722d5)`() const`
Gets the desired message that the player wants to be set to.
#### `public inline void `[`SetDesiredDoNotDisturb`](#classURH__LocalPlayerPresenceSubsystem_1a7f8a9a266c0ab29d1da24f836a3a58ba)`(bool NewDoNotDisturb)`
Requests an update of your presence do not disturb setting to be set to the desired setting.
Parameters
NewDoNotDisturb
The new do not disturb setting desired.
#### `public inline bool `[`GetDesiredDoNotDisturb`](#classURH__LocalPlayerPresenceSubsystem_1aec49acc65c1627bcfb9b95eb29b1c2dc)`() const`
Gets the desired do not disturb setting that the player wants to be set to.
#### `public void `[`StartRefreshTimer`](#classURH__LocalPlayerPresenceSubsystem_1a32af15e5eafaf94bdea501e1dc02d90b)`()`
Starts polling to refresh the player’s presence status.
#### `public void `[`StopRefreshTimer`](#classURH__LocalPlayerPresenceSubsystem_1a95919d768be0b60ad1134052aff7ef2c)`()`
Stops polling to refresh the player’s presence status.
#### `public void `[`RefreshStatus`](#classURH__LocalPlayerPresenceSubsystem_1a409192cc26f0fb395231023cf4449fa7)`()`
Forces an update of the players presence with a status change.
#### `public bool `[`IsRefreshTimerActive`](#classURH__LocalPlayerPresenceSubsystem_1ac786e4bb032fc9711ec196868c6c6b30)`(float & TimeRemaining) const`
Returns whether the refresh timer is active. param [in].
#### `protected FRH_AutoPollerPtr `[`Poller`](#classURH__LocalPlayerPresenceSubsystem_1ab76093aeb1b7ae4313b979bfb5981f04)
Poller for the local presence.
#### `protected ERHAPI_OnlineStatus `[`DesiredStatus`](#classURH__LocalPlayerPresenceSubsystem_1acf40e5a58f306238baf322baa860c101)
The Status that the local player is being changed to.
#### `protected FString `[`DesiredMessage`](#classURH__LocalPlayerPresenceSubsystem_1afbd63003cbfa2accf1475d7af1146bae)
The presence message that the local player is being changed to.
#### `protected bool `[`DesiredDoNotDisturb`](#classURH__LocalPlayerPresenceSubsystem_1a02b64db5884e0d75087d69e11d7ae4a2)
The do not disturb setting that the local player is being changed to.
#### `protected virtual void `[`OnUserChanged`](#classURH__LocalPlayerPresenceSubsystem_1a39281ccf81d020bce677a4687ac61d16)`()`
Callback that occurs whenever the local player this subsystem is associated with changes.
#### `protected virtual void `[`InitPropertiesWithDefaultValues`](#classURH__LocalPlayerPresenceSubsystem_1a41e97dcb80554d54d25008f03d407e1f)`()`
Initializes the subsystem with defaults for its cached data.
#### `protected void `[`PollRefreshStatus`](#classURH__LocalPlayerPresenceSubsystem_1a12037a7eca5aa1bd88eb909748cf1a8e)`(const FRH_PollCompleteFunc & Delegate)`
Polls the status of the players presence.
Parameters
Delegate
Callback delegate when the poll completes.
## class `URH_LocalPlayerSessionSubsystem`
Subsystem to manage sessions for the local player.
Summary
Members | Descriptions |
---|---|
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionUpdatedDelegate | Multicast delegate triggered when a session managed by this subsystem is updated. |
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionAddedDelegate | Multicast delegate triggered when a session managed by this subsystem is added. |
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionRemovedDelegate | Multicast delegate triggered when a session managed by this subsystem is removed. |
public FRH_OnSessionUpdatedMulticastDynamicDelegate BLUEPRINT_OnSessionExpirationCompleteDelegate | Multicast delegate triggered when a session managed by this subsystem is fully expired (happens after removal) |
public FRH_OnLoginPollSessionsCompleteMulticastDynamicDelegate BLUEPRINT_OnLoginPollSessionsCompleteDelegate | Multicast delegate triggered when the initial poll after login is complete, to do first-time setup. |
public FRH_OnFailedToJoinPlatformSessionMulticastDynamicDelegate BLUEPRINT_OnFailedToJoinPlatformSessionDelegate | Multicast delegate triggered when we fail to join a platform session that we’ve accepted an invite to. |
public FRH_OnSessionUpdatedMulticastDelegate OnSessionUpdatedDelegate | Multicast delegate triggered when a session managed by this subsystem is updated. |
public FRH_OnSessionUpdatedMulticastDelegate OnSessionAddedDelegate | Multicast delegate triggered when a session managed by this subsystem is added. |
public FRH_OnSessionUpdatedMulticastDelegate OnSessionRemovedDelegate | Multicast delegate triggered when a session managed by this subsystem is removed. |
public FRH_OnSessionUpdatedMulticastDelegate OnSessionExpirationCompleteDelegate | Multicast delegate triggered when a session managed by this subsystem is fully expired (happens after removal) |
public FRH_OnLoginPollSessionsCompleteMulticastDelegate OnLoginPollSessionsCompleteDelegate | Multicast delegate triggered when the initial poll after login is complete, to do first-time setup. |
public FRH_OnFailedToJoinPlatformSessionMulticastDelegate OnFailedToJoinPlatformSessionDelegate | Multicast delegate triggered when we fail to join a platform session that we’ve accepted an invite to. |
public URH_LocalPlayerSessionSubsystem () | |
public virtual void Initialize () | Initialize the subsystem. |
public virtual void Deinitialize () | Deinitialize the subsystem. |
public inline virtual FAuthContextPtr GetSessionAuthContext () const | Get auth context for session (IRH_SessionOwnerInterface requirement) |
public inline virtual URH_SessionView * GetSessionById (const FString & SessionId) const | Get session by its Session Id. |
public TArray< URH_SessionView * > GetSessionsByType (const FString & Type) const | Get all joined and invited sessions by SessionType. |
public TArray< URH_InvitedSession * > GetInvitedSessionsByType (const FString & Type) const | Get all invited sessions by SessionType. |
public TArray< URH_JoinedSession * > GetJoinedSessionsByType (const FString & Type) const | Get all joined sessions by SessionType. |
public inline FORCEINLINE URH_SessionView * GetFirstSessionByType (const FString & Type) const | Get first joined or invited sessions by SessionType (useful for titles that ensure only one of a given session type will exist) |
public inline FORCEINLINE URH_InvitedSession * GetFirstInvitedSessionByType (const FString & Type) const | Get first invited sessions by SessionType (useful for titles that ensure only one of a given session type will exist) |
public inline FORCEINLINE URH_JoinedSession * GetFirstJoinedSessionByType (const FString & Type) const | Get first joined sessions by SessionType (useful for titles that ensure only one of a given session type will exist) |
public URH_JoinedSession * GetFirstActiveSession () const | Get first “active” session (session which is IsActive()) |
public inline FORCEINLINE TArray< URH_SessionView * > GetSessions () const | Get an array of all sessions controlled by this system. |
public virtual void RemoveSessionById (const FString & SessionId) | Removes a cached session for the local player, this does NOT try to leave it. |
public inline FORCEINLINE bool IsInSession (const FString & SessionId) | Utility function to determine if local player is a member of that session. |
public virtual class URH_PlayerInfoSubsystem * GetPlayerInfoSubsystem () const | Utility function to look up the player info subsystem (IRH_SessionOwnerInterface requirement) |
public virtual IOnlineSubsystem * GetOSS () const | Utility function to look up the OnlineSubsystem to use for session calls (IRH_SessionOwnerInterface requirement) |
public virtual FUniqueNetIdWrapper GetOSSUniqueId () const | Utility function to look up the UniqueNetId to use for OnlineSubsystem calls (IRH_SessionOwnerInterface requirement) |
public virtual FPlatformUserId GetOSSPlatformUserId () const | Gets the Online Subsystem PlatformUserId to use for OSS calls (equivalent to controller index) |
public virtual FGuid GetPlayerUuid () const | Gets the Player UUID to use for player related calls (can be invalid) |
public inline virtual URH_PlatformSessionSyncer * GetPlatformSyncerByRHSessionId (const FString & SessionId) const | Gets the platform session synchronization object for a given session id (IRH_SessionOwnerInterface requirement) |
public virtual URH_PlatformSessionSyncer * GetPlatformSyncerByPlatformSessionId (const FUniqueNetIdRepl & PlatformSessionId) const | Gets the platform session synchronization object for a given platform session id. |
public inline virtual void SetPlatformSessionToJoinOnUserChange (const FOnlineSessionSearchResult & Session) | Set a platform session to join upon the next user change. |
public inline virtual void ClearPlatformSessionToJoinOnUserChange () | Clear a platform session to join upon the next user change. |
public inline void CreateOrJoinSessionByType (const FRHAPI_CreateOrJoinRequest & CreateParams,const FRH_OnSessionUpdatedDelegateBlock & Delegate) | Utility function to Create or Join a session by a given SessionType (most times will create a session, but Hub join rules may do a Join instead) |
public inline void BLUEPRINT_CreateOrJoinSessionByType (const FRHAPI_CreateOrJoinRequest & CreateParams,const FRH_OnSessionUpdatedDynamicDelegate & Delegate) | Blueprint compatible version of CreateOrJoinSessionByType. |
public inline void JoinSessionById (const FString & SessionId,const FRH_OnSessionUpdatedDelegateBlock & Delegate) | Utility function to Join a session by SessionId. |
public inline void BLUEPRINT_JoinSessionById (const FString & SessionId,const FRH_OnSessionUpdatedDynamicDelegate & Delegate) | Blueprint compatible version of JoinSessionById. |
public virtual void ImportAPISession (const FRH_APISessionWithETag & Session) | Imports a new or updated session from the API into this subsystem (IRH_SessionOwnerInterface requirement) |
public virtual void ImportAPITemplate (const FRHAPI_SessionTemplate & Template) | Imports a new session template from the API into this subsystem (IRH_SessionOwnerInterface requirement) |
public virtual void ReconcileAPISessions (const TArray< FString > & SessionIds,const TOptional< FString > & ETag) | Reconciles the list of session ids with this subsystem, removing any sessions that are no longer in the list, then updates the stored ETag for the local player’s session list (IRH_SessionOwnerInterface requirement) |
public virtual void ReconcileAPITemplates (const TArray< FString > & InTemplates,const TOptional< FString > & ETag) | Reconciles the list of template SessionTypes with this subsystem, removing any templates that are no longer in the list, then updates the stored ETag for the local player’s templatelist (IRH_SessionOwnerInterface requirement) |
public virtual bool GetTemplate (const FString & Type, FRHAPI_SessionTemplate & Template) const | Looks up a template from within this subsystem (IRH_SessionOwnerInterface requirement) |
public inline FORCEINLINE TArray< FRHAPI_SessionTemplate > GetTemplates () const | Gets a list of all templates in this subsystem. |
public inline virtual TOptional< FString > GetETagForAllSessionsPoll () const | Looks up a ETag to use when querying for session membership (IRH_SessionOwnerInterface requirement) |
public inline virtual TOptional< FString > GetETagForAllTemplatesPoll () const | Looks up a ETag to use when querying for template information (IRH_SessionOwnerInterface requirement) |
public inline virtual TArray< URH_SessionView * > GetAllSessionsForPolling () const | Looks up all sessions to process when polling if ETags match (IRH_SessionOwnerInterface requirement) |
public void SearchForSessions (const FRH_SessionBrowserSearchParams & Params,const FRH_OnSessionSearchCompleteDelegateBlock & Delegate) | Utility function that searches the session browser cache for information on browser sessions. |
public inline void BLUEPRINT_SearchForSessions (const FRH_SessionBrowserSearchParams & Params,const FRH_OnSessionSearchCompleteDynamicDelegate & Delegate) | Blueprint compatible version of SearchForSessions. |
public void StartPolling () | Start polling for session template and membership updates. |
public void StopPolling () | Stop polling for session template and membership updates. |
public void PollForUpdate (const FRH_PollCompleteFunc & Delegate) | Poll function for use with FRH_AutoPoller. |
public void ForcePollForUpdate (bool bClearETag) | Force an immediate poll. |
public float GetPollTimeRemaining () const | Get the current time remaining on poll cycle, or -1.f if not polling. |
protected FRH_AutoPollerPtr Poller | Poller for sessions. |
protected TMap< FString, FRHAPI_SessionTemplate > Templates | Map of Template Ids to Session Templates. |
protected TOptional< FString > AllSessionsETag | ETag of last QueryAllSessions call response. |
protected TOptional< FString > AllTemplatesETag | ETag of last QueryAllSessionTemplates call response. |
protected TOptional< FOnlineSessionSearchResult > PlatformSessionToJoinOnUserChange | OSS Session that we need to join upon user change (ex: login). |
protected TMap< FString, URH_SessionView * > Sessions | Map of Session Ids to Sessions we are in. |
protected TMap< FString, URH_SessionView * > ExpiringSessions | Map of Session Ids to Sessions objects that may be in the process of cleaning themselves up. |
protected TMap< FString, FRH_APISessionWithETag > DeferredSessionUpdates | Map of Session Ids to Sessions updates we could not process for some reason, such as race conditions. |
protected TMap< FString, URH_PlatformSessionSyncer * > PlatformSyncers | Map of Session Ids to their Platform Session Syncers. |
protected virtual URH_SessionView * CreateOrUpdateRHSession (const FRH_APISessionWithETag & Session,const ERHAPI_SessionPlayerStatus & LocalPlayerStatus) | Creates or updates a specific session for the local player. |
protected virtual bool LocalPlayerStatusFromSession (const FRHAPI_Session & Session,ERHAPI_SessionPlayerStatus & Status) const | Gets the local player status in a specific session. |
protected inline virtual void RemoveSession (const URH_SessionView * Session) | Removes a cached session for the local player, this does NOT try to leave it. |
protected virtual void OnExpirationComplete ( URH_SessionView * Session) | Called when a session the local player is part of expires. |
protected virtual bool PreprocessAPISessionImport (const FRHAPI_Session & Session,ERHAPI_SessionPlayerStatus & Status) | Attepts to preprocess an API session. |
protected virtual void OnUserChanged (const FGuid & OldPlayerUuid,class URH_PlayerInfo * OldLocalPlayerInfo) | Base handling when the local user changes, override to provide functionality. |
protected virtual void InitPropertiesWithDefaultValues () | Initializes the subsystem with defaults for its cached data. |
protected virtual void HandleNotification (const struct FRHAPI_Notification & Notification,const FString & APIName,const TArray< FString > & APIParams) | Handle a notification from the notification API. |
protected URH_PlatformSessionSyncer * CreatePlatformSyncer ( URH_JoinedSession * Session) | Creates a Platform Session Syncer for the local player. |
protected virtual bool FilterOSSCallbackUser (const int32 ControllerId) | Checks if the online subsystem call is for the local user. |
protected virtual bool FilterOSSCallbackUser (const FUniqueNetId & UniqueNetId) | Checks if the online subsystem call is for the local user. |
protected virtual void OnPlatformActivityActivation (const FUniqueNetId & LocalUserId,const FString & ActivityId,const FOnlineSessionSearchResult * SessionInfo) | Handles the response of an online subsystem activity activation. |
protected virtual void OnPlatformSessionInviteAccepted (const bool bSuccesful,const int32 ControllerId,FUniqueNetIdPtr UserId,const FOnlineSessionSearchResult & Session) | Handles the response of an online subsystem session invite. |
protected virtual void OnPlatformSessionCreated (FName SessionName,bool bSuccess) | Handles the response of an online subsystem session creation. |
protected virtual void OnPlatformSessionJoined (FName SessionName,EOnJoinSessionCompleteResult::Type Result) | Handles the response of an online subsystem session join. |
protected virtual void OnPlatformSessionStarted (FName SessionName,bool bSuccess) | Handles the response of an online subsystem session started. |
protected virtual void OnPlatformSessionEnded (FName SessionName,bool bSuccess) | Handles the response of an online subsystem session ended. |
protected virtual void OnPlatformSessionDestroyed (FName SessionName,bool bSuccess) | Handles the response of an online subsystem session destroy. |
protected virtual void OnPlatformSessionParticipantsChanged (FName SessionName,const FUniqueNetId & UniqueNetId,bool bJoined) | Called from other Platform Session Participant functions to reconcile the state of the platform syncer. |
protected virtual void OnPlatformSessionParticipantChange (FName SessionName,const FUniqueNetId & UniqueNetId,bool bJoined) | Handles the response of an online subsystem session participant change. |
protected virtual void OnPlatformSessionParticipantRemoved (FName SessionName,const FUniqueNetId & UniqueNetId) | Handles the response of an online subsystem session participant remove. |
protected virtual void HandlePollAllSessionsComplete (bool bSuccess,const TArray< FString > & SessionIds) | Handles the response of polling all sessions. |
Members
public FRH_OnSessionUpdatedMulticastDynamicDelegate
BLUEPRINT_OnSessionUpdatedDelegate
Multicast delegate triggered when a session managed by this subsystem is updated.
#### `public FRH_OnSessionUpdatedMulticastDynamicDelegate `[`BLUEPRINT_OnSessionAddedDelegate`](#classURH__LocalPlayerSessionSubsystem_1a612a36a3c5862b352bea9c20b157fb1e)
Multicast delegate triggered when a session managed by this subsystem is added.
#### `public FRH_OnSessionUpdatedMulticastDynamicDelegate `[`BLUEPRINT_OnSessionRemovedDelegate`](#classURH__LocalPlayerSessionSubsystem_1a66e481e48c38b559766e07cf4b89b4f9)
Multicast delegate triggered when a session managed by this subsystem is removed.
#### `public FRH_OnSessionUpdatedMulticastDynamicDelegate `[`BLUEPRINT_OnSessionExpirationCompleteDelegate`](#classURH__LocalPlayerSessionSubsystem_1a5eb7d010dfe8a9c83b977c694c3f8fd3)
Multicast delegate triggered when a session managed by this subsystem is fully expired (happens after removal)
#### `public FRH_OnLoginPollSessionsCompleteMulticastDynamicDelegate `[`BLUEPRINT_OnLoginPollSessionsCompleteDelegate`](#classURH__LocalPlayerSessionSubsystem_1a4ad0823710a468816be02f3e600164ad)
Multicast delegate triggered when the initial poll after login is complete, to do first-time setup.
#### `public FRH_OnFailedToJoinPlatformSessionMulticastDynamicDelegate `[`BLUEPRINT_OnFailedToJoinPlatformSessionDelegate`](#classURH__LocalPlayerSessionSubsystem_1a9c5890ac06e22e12e436ab439603a57a)
Multicast delegate triggered when we fail to join a platform session that we’ve accepted an invite to.
#### `public FRH_OnSessionUpdatedMulticastDelegate `[`OnSessionUpdatedDelegate`](#classURH__LocalPlayerSessionSubsystem_1a87ec0a5447e17ebbbda133342770d960)
Multicast delegate triggered when a session managed by this subsystem is updated.
#### `public FRH_OnSessionUpdatedMulticastDelegate `[`OnSessionAddedDelegate`](#classURH__LocalPlayerSessionSubsystem_1a34c015e300be4c0474addf8f6d6d947b)
Multicast delegate triggered when a session managed by this subsystem is added.
#### `public FRH_OnSessionUpdatedMulticastDelegate `[`OnSessionRemovedDelegate`](#classURH__LocalPlayerSessionSubsystem_1af13b47604f229daf45aa56fdb25554cc)
Multicast delegate triggered when a session managed by this subsystem is removed.
#### `public FRH_OnSessionUpdatedMulticastDelegate `[`OnSessionExpirationCompleteDelegate`](#classURH__LocalPlayerSessionSubsystem_1a897c37a8854ad40a5ab9f75129a57e74)
Multicast delegate triggered when a session managed by this subsystem is fully expired (happens after removal)
#### `public FRH_OnLoginPollSessionsCompleteMulticastDelegate `[`OnLoginPollSessionsCompleteDelegate`](#classURH__LocalPlayerSessionSubsystem_1adf39311c4affa07453f6dd6cfeab6203)
Multicast delegate triggered when the initial poll after login is complete, to do first-time setup.
#### `public FRH_OnFailedToJoinPlatformSessionMulticastDelegate `[`OnFailedToJoinPlatformSessionDelegate`](#classURH__LocalPlayerSessionSubsystem_1aaa731f4db12fb478a38ca11784438b63)
Multicast delegate triggered when we fail to join a platform session that we’ve accepted an invite to.
#### `public `[`URH_LocalPlayerSessionSubsystem`](#classURH__LocalPlayerSessionSubsystem_1a038813e71ac05adf08f219b29d703891)`()`
#### `public virtual void `[`Initialize`](#classURH__LocalPlayerSessionSubsystem_1a0f380ce4b08ba9e13a06496939bc14d7)`()`
Initialize the subsystem.
#### `public virtual void `[`Deinitialize`](#classURH__LocalPlayerSessionSubsystem_1a120580f60e2559621a29074257000119)`()`
Deinitialize the subsystem.
#### `public inline virtual FAuthContextPtr `[`GetSessionAuthContext`](#classURH__LocalPlayerSessionSubsystem_1a6eb6370bc861ae0aa43831888996e885)`() const`
Get auth context for session (IRH_SessionOwnerInterface requirement)
#### `public inline virtual `[`URH_SessionView`](Session.md#classURH__SessionView)` * `[`GetSessionById`](#classURH__LocalPlayerSessionSubsystem_1ae9b547c5444917b422f0faf4f9f302f7)`(const FString & SessionId) const`
Get session by its Session Id.
Parameters
SessionId
Session Id to look up
Returns
Session object, if it exists
#### `public TArray< `[`URH_SessionView`](Session.md#classURH__SessionView)` * > `[`GetSessionsByType`](#classURH__LocalPlayerSessionSubsystem_1ada97ad5b91df96d7c12906654dff2efc)`(const FString & Type) const`
Get all joined and invited sessions by SessionType.
Parameters
SessionType
SessionType to filter for
Returns
Array of session objects of the specified SessionType
#### `public TArray< `[`URH_InvitedSession`](Session.md#classURH__InvitedSession)` * > `[`GetInvitedSessionsByType`](#classURH__LocalPlayerSessionSubsystem_1a2062f6db160d2e691043384daba8a0c7)`(const FString & Type) const`
Get all invited sessions by SessionType.
Parameters
SessionType
SessionType to filter for
Returns
Array of session objects of the specified SessionType
#### `public TArray< `[`URH_JoinedSession`](undefined.md#classURH__JoinedSession)` * > `[`GetJoinedSessionsByType`](#classURH__LocalPlayerSessionSubsystem_1a8ef4d278c989d7ce7d27066f763d6a6b)`(const FString & Type) const`
Get all joined sessions by SessionType.
Parameters
SessionType
SessionType to filter for
Returns
Array of session objects of the specified SessionType
#### `public inline FORCEINLINE `[`URH_SessionView`](Session.md#classURH__SessionView)` * `[`GetFirstSessionByType`](#classURH__LocalPlayerSessionSubsystem_1a01900cd4029717129f2a9b58ed0393bf)`(const FString & Type) const`
Get first joined or invited sessions by SessionType (useful for titles that ensure only one of a given session type will exist)
Parameters
SessionType
SessionType to filter for
Returns
Session object of the specified SessionType, if it exists
#### `public inline FORCEINLINE `[`URH_InvitedSession`](Session.md#classURH__InvitedSession)` * `[`GetFirstInvitedSessionByType`](#classURH__LocalPlayerSessionSubsystem_1a6425315f9172f8dfa5f8c91c134906cf)`(const FString & Type) const`
Get first invited sessions by SessionType (useful for titles that ensure only one of a given session type will exist)
Parameters
SessionType
SessionType to filter for
Returns
Session object of the specified SessionType, if it exists
#### `public inline FORCEINLINE `[`URH_JoinedSession`](undefined.md#classURH__JoinedSession)` * `[`GetFirstJoinedSessionByType`](#classURH__LocalPlayerSessionSubsystem_1aa414c134992b703f331750fb0efe7ad6)`(const FString & Type) const`
Get first joined sessions by SessionType (useful for titles that ensure only one of a given session type will exist)
Parameters
SessionType
SessionType to filter for
Returns
Session object of the specified SessionType, if it exists
#### `public `[`URH_JoinedSession`](undefined.md#classURH__JoinedSession)` * `[`GetFirstActiveSession`](#classURH__LocalPlayerSessionSubsystem_1a520c98308877db871add24d0dd4b4b54)`() const`
Get first “active” session (session which is IsActive())
Parameters
SessionType
SessionType to filter for
Returns
Session object of the specified SessionType, if it exists
#### `public inline FORCEINLINE TArray< `[`URH_SessionView`](Session.md#classURH__SessionView)` * > `[`GetSessions`](#classURH__LocalPlayerSessionSubsystem_1ae82fb3ff0c18d5c55cc163b935ff56f8)`() const`
Get an array of all sessions controlled by this system.
Returns
Array of session objects
#### `public virtual void `[`RemoveSessionById`](#classURH__LocalPlayerSessionSubsystem_1a7e790f89c514d7210c5b58b947cebec2)`(const FString & SessionId)`
Removes a cached session for the local player, this does NOT try to leave it.
Parameters
SessionId
The Session Id to remove.
#### `public inline FORCEINLINE bool `[`IsInSession`](#classURH__LocalPlayerSessionSubsystem_1ad5bfcc3b466927d7d92f94bff1ba31d5)`(const FString & SessionId)`
Utility function to determine if local player is a member of that session.
Parameters
SessionId
Session Id to check
Returns
whether or not the player is in the session
#### `public virtual class `[`URH_PlayerInfoSubsystem`](PlayerInfo.md#classURH__PlayerInfoSubsystem)` * `[`GetPlayerInfoSubsystem`](#classURH__LocalPlayerSessionSubsystem_1a8978774a71778d9d5a9b4f20f1ee85f6)`() const`
Utility function to look up the player info subsystem (IRH_SessionOwnerInterface requirement)
#### `public virtual IOnlineSubsystem * `[`GetOSS`](#classURH__LocalPlayerSessionSubsystem_1a236725daa5e1b49d96c04a2da868be04)`() const`
Utility function to look up the OnlineSubsystem to use for session calls (IRH_SessionOwnerInterface requirement)
#### `public virtual FUniqueNetIdWrapper `[`GetOSSUniqueId`](#classURH__LocalPlayerSessionSubsystem_1a242dea7f5ff3092050c7d15ba05dc8a0)`() const`
Utility function to look up the UniqueNetId to use for OnlineSubsystem calls (IRH_SessionOwnerInterface requirement)
#### `public virtual FPlatformUserId `[`GetOSSPlatformUserId`](#classURH__LocalPlayerSessionSubsystem_1a381885585853e65604470259e8a053ff)`() const`
Gets the Online Subsystem PlatformUserId to use for OSS calls (equivalent to controller index)
#### `public virtual FGuid `[`GetPlayerUuid`](#classURH__LocalPlayerSessionSubsystem_1aaf5587019c1eb05ce9e42c72541dd802)`() const`
Gets the Player UUID to use for player related calls (can be invalid)
#### `public inline virtual `[`URH_PlatformSessionSyncer`](Session.md#classURH__PlatformSessionSyncer)` * `[`GetPlatformSyncerByRHSessionId`](#classURH__LocalPlayerSessionSubsystem_1a4ed75c6f69c267d419355a48e64db6fe)`(const FString & SessionId) const`
Gets the platform session synchronization object for a given session id (IRH_SessionOwnerInterface requirement)
Parameters
SessionId
RallyHere Session Id to look up the synchornization object wiht
Returns
Platform Session synchronization object
#### `public virtual `[`URH_PlatformSessionSyncer`](Session.md#classURH__PlatformSessionSyncer)` * `[`GetPlatformSyncerByPlatformSessionId`](#classURH__LocalPlayerSessionSubsystem_1a498582f9ba28c7472e33004de090efe7)`(const FUniqueNetIdRepl & PlatformSessionId) const`
Gets the platform session synchronization object for a given platform session id.
Parameters
PlatformSessionId
Platform Session Id (as string) to look up the synchornization object wiht
Returns
Platform Session synchronization object
#### `public inline virtual void `[`SetPlatformSessionToJoinOnUserChange`](#classURH__LocalPlayerSessionSubsystem_1a7b32f021e042bf401d2156764df2babc)`(const FOnlineSessionSearchResult & Session)`
Set a platform session to join upon the next user change.
#### `public inline virtual void `[`ClearPlatformSessionToJoinOnUserChange`](#classURH__LocalPlayerSessionSubsystem_1afa5db7d0b7302957dd89c4a7b9f78cb5)`()`
Clear a platform session to join upon the next user change.
#### `public inline void `[`CreateOrJoinSessionByType`](#classURH__LocalPlayerSessionSubsystem_1ae987d7bbdbc819106e7e00a06a08d918)`(const `[`FRHAPI_CreateOrJoinRequest`](models/RHAPI_CreateOrJoinRequest.md#structFRHAPI__CreateOrJoinRequest)` & CreateParams,const FRH_OnSessionUpdatedDelegateBlock & Delegate)`
Utility function to Create or Join a session by a given SessionType (most times will create a session, but Hub join rules may do a Join instead)
Parameters
-
CreateParams
Creation paramters for the session -
Delegate
delegate to trigger when complete
#### `public inline void `[`BLUEPRINT_CreateOrJoinSessionByType`](#classURH__LocalPlayerSessionSubsystem_1a3cd18e8fb059a7844a60c3deebd8acb5)`(const `[`FRHAPI_CreateOrJoinRequest`](models/RHAPI_CreateOrJoinRequest.md#structFRHAPI__CreateOrJoinRequest)` & CreateParams,const FRH_OnSessionUpdatedDynamicDelegate & Delegate)`
Blueprint compatible version of CreateOrJoinSessionByType.
Parameters
-
CreateParams
Creation paramters for the session -
Delegate
delegate to trigger when complete
#### `public inline void `[`JoinSessionById`](#classURH__LocalPlayerSessionSubsystem_1a81439a14711f1519f5a4c109574d0527)`(const FString & SessionId,const FRH_OnSessionUpdatedDelegateBlock & Delegate)`
Utility function to Join a session by SessionId.
Parameters
-
SessionId
The session id to join -
Delegate
delegate to trigger when complete
#### `public inline void `[`BLUEPRINT_JoinSessionById`](#classURH__LocalPlayerSessionSubsystem_1a1d00b98420ce2333f9f19313998a139d)`(const FString & SessionId,const FRH_OnSessionUpdatedDynamicDelegate & Delegate)`
Blueprint compatible version of JoinSessionById.
Parameters
-
SessionId
The session id to join -
Delegate
delegate to trigger when complete
#### `public virtual void `[`ImportAPISession`](#classURH__LocalPlayerSessionSubsystem_1a21c227f5c4a783adacd79c25714aa2e3)`(const `[`FRH_APISessionWithETag`](Session.md#structTRH__DataWithETagWrapper)` & Session)`
Imports a new or updated session from the API into this subsystem (IRH_SessionOwnerInterface requirement)
Parameters
Session
The session data to import
#### `public virtual void `[`ImportAPITemplate`](#classURH__LocalPlayerSessionSubsystem_1ae7616f99c6aa669e529aad3cd0a0451f)`(const `[`FRHAPI_SessionTemplate`](models/RHAPI_SessionTemplate.md#structFRHAPI__SessionTemplate)` & Template)`
Imports a new session template from the API into this subsystem (IRH_SessionOwnerInterface requirement)
Parameters
Template
the template data to import
#### `public virtual void `[`ReconcileAPISessions`](#classURH__LocalPlayerSessionSubsystem_1aede0956db4c8e8626fa239c16cb3d61e)`(const TArray< FString > & SessionIds,const TOptional< FString > & ETag)`
Reconciles the list of session ids with this subsystem, removing any sessions that are no longer in the list, then updates the stored ETag for the local player’s session list (IRH_SessionOwnerInterface requirement)
Parameters
-
SessionIds
The list of session ids to reconcile against -
ETag
optional ETag to use when querying all sessions for optimization
#### `public virtual void `[`ReconcileAPITemplates`](#classURH__LocalPlayerSessionSubsystem_1a4f63fd2f8b8a6f34c01cc45022eeee71)`(const TArray< FString > & InTemplates,const TOptional< FString > & ETag)`
Reconciles the list of template SessionTypes with this subsystem, removing any templates that are no longer in the list, then updates the stored ETag for the local player’s templatelist (IRH_SessionOwnerInterface requirement)
Parameters
-
InTemplates
The list of template names (SessionType) ids to reconcile against -
ETag
optional ETag to use when querying all templates for optimization
#### `public virtual bool `[`GetTemplate`](#classURH__LocalPlayerSessionSubsystem_1a237eee46e92fabeb77c426fce7e857d8)`(const FString & Type,`[`FRHAPI_SessionTemplate`](models/RHAPI_SessionTemplate.md#structFRHAPI__SessionTemplate)` & Template) const`
Looks up a template from within this subsystem (IRH_SessionOwnerInterface requirement)
Parameters
-
Type
The SessionType to look up -
Template
The template information, if found
Returns
Whether or not the template was found
#### `public inline FORCEINLINE TArray< `[`FRHAPI_SessionTemplate`](models/RHAPI_SessionTemplate.md#structFRHAPI__SessionTemplate)` > `[`GetTemplates`](#classURH__LocalPlayerSessionSubsystem_1a4c06df84a31add059852a36de3959038)`() const`
Gets a list of all templates in this subsystem.
Returns
Array of all templates
#### `public inline virtual TOptional< FString > `[`GetETagForAllSessionsPoll`](#classURH__LocalPlayerSessionSubsystem_1a95c37ca700d9e30f3cc46c79055208b2)`() const`
Looks up a ETag to use when querying for session membership (IRH_SessionOwnerInterface requirement)
#### `public inline virtual TOptional< FString > `[`GetETagForAllTemplatesPoll`](#classURH__LocalPlayerSessionSubsystem_1aa3e56b3a6b8466282f98f33fa444b814)`() const`
Looks up a ETag to use when querying for template information (IRH_SessionOwnerInterface requirement)
#### `public inline virtual TArray< `[`URH_SessionView`](Session.md#classURH__SessionView)` * > `[`GetAllSessionsForPolling`](#classURH__LocalPlayerSessionSubsystem_1a4dbf97c53be79cdeced20be7d9176378)`() const`
Looks up all sessions to process when polling if ETags match (IRH_SessionOwnerInterface requirement)
#### `public void `[`SearchForSessions`](#classURH__LocalPlayerSessionSubsystem_1a2d981ffabd1a06a57e12cf2f64e991c5)`(const `[`FRH_SessionBrowserSearchParams`](Session.md#structFRH__SessionBrowserSearchParams)` & Params,const FRH_OnSessionSearchCompleteDelegateBlock & Delegate)`
Utility function that searches the session browser cache for information on browser sessions.
Parameters
-
Params
Search parameters for the browser search -
Delegate
Delegate to trigger once complete
#### `public inline void `[`BLUEPRINT_SearchForSessions`](#classURH__LocalPlayerSessionSubsystem_1a1fc6352551fdde138995e52ccdf9cb66)`(const `[`FRH_SessionBrowserSearchParams`](Session.md#structFRH__SessionBrowserSearchParams)` & Params,const FRH_OnSessionSearchCompleteDynamicDelegate & Delegate)`
Blueprint compatible version of SearchForSessions.
Parameters
-
Params
Search parameters for the browser search -
Delegate
Delegate to trigger once complete
#### `public void `[`StartPolling`](#classURH__LocalPlayerSessionSubsystem_1a46f1de5fd5535924cb742f82878b949a)`()`
Start polling for session template and membership updates.
#### `public void `[`StopPolling`](#classURH__LocalPlayerSessionSubsystem_1ae11fbca181c0c52bd17cc06b701a12e1)`()`
Stop polling for session template and membership updates.
#### `public void `[`PollForUpdate`](#classURH__LocalPlayerSessionSubsystem_1a1a13b1d7c4f1993e553f95ec10966c5b)`(const FRH_PollCompleteFunc & Delegate)`
Poll function for use with FRH_AutoPoller.
Parameters
PollComplete
delegate to restart the poll
#### `public void `[`ForcePollForUpdate`](#classURH__LocalPlayerSessionSubsystem_1a6f7a77ff7630f1beb1aa58e3943adda1)`(bool bClearETag)`
Force an immediate poll.
#### `public float `[`GetPollTimeRemaining`](#classURH__LocalPlayerSessionSubsystem_1a27ce3d0bc063b3466f74c6b5e735696c)`() const`
Get the current time remaining on poll cycle, or -1.f if not polling.
#### `protected FRH_AutoPollerPtr `[`Poller`](#classURH__LocalPlayerSessionSubsystem_1a042e9dee585644aa339fd3b3b8e6ad12)
Poller for sessions.
#### `protected TMap< FString, `[`FRHAPI_SessionTemplate`](models/RHAPI_SessionTemplate.md#structFRHAPI__SessionTemplate)` > `[`Templates`](#classURH__LocalPlayerSessionSubsystem_1a78953314d26e12a0aa43abd5828fe912)
Map of Template Ids to Session Templates.
#### `protected TOptional< FString > `[`AllSessionsETag`](#classURH__LocalPlayerSessionSubsystem_1a3b99704446608834a66a9def184c133b)
ETag of last QueryAllSessions call response.
#### `protected TOptional< FString > `[`AllTemplatesETag`](#classURH__LocalPlayerSessionSubsystem_1a5479e5160d85fc15ecfc553a897d5bea)
ETag of last QueryAllSessionTemplates call response.
#### `protected TOptional< FOnlineSessionSearchResult > `[`PlatformSessionToJoinOnUserChange`](#classURH__LocalPlayerSessionSubsystem_1afcd78f39dfd5aebd442d959d6212fbaa)
OSS Session that we need to join upon user change (ex: login).
#### `protected TMap< FString, `[`URH_SessionView`](Session.md#classURH__SessionView)` * > `[`Sessions`](#classURH__LocalPlayerSessionSubsystem_1a134d1e08da7eae1d03ba4b5a1ee419d6)
Map of Session Ids to Sessions we are in.
#### `protected TMap< FString, `[`URH_SessionView`](Session.md#classURH__SessionView)` * > `[`ExpiringSessions`](#classURH__LocalPlayerSessionSubsystem_1ad1bcc3afd124b033ccfba4b001cebbe2)
Map of Session Ids to Sessions objects that may be in the process of cleaning themselves up.
#### `protected TMap< FString, `[`FRH_APISessionWithETag`](Session.md#structTRH__DataWithETagWrapper)` > `[`DeferredSessionUpdates`](#classURH__LocalPlayerSessionSubsystem_1a9f22ebb821fcb358e5e277acbef28010)
Map of Session Ids to Sessions updates we could not process for some reason, such as race conditions.
#### `protected TMap< FString, `[`URH_PlatformSessionSyncer`](Session.md#classURH__PlatformSessionSyncer)` * > `[`PlatformSyncers`](#classURH__LocalPlayerSessionSubsystem_1ab601abbf8833c31cb45ccde7d481d3de)
Map of Session Ids to their Platform Session Syncers.
#### `protected virtual `[`URH_SessionView`](Session.md#classURH__SessionView)` * `[`CreateOrUpdateRHSession`](#classURH__LocalPlayerSessionSubsystem_1a2efe4a073341684f83e5da781df7a9f0)`(const `[`FRH_APISessionWithETag`](Session.md#structTRH__DataWithETagWrapper)` & Session,const ERHAPI_SessionPlayerStatus & LocalPlayerStatus)`
Creates or updates a specific session for the local player.
Parameters
-
Session
Session information to create or update. -
LocalPlayerStatus
The status of the local player in the session.
Returns
The session that is created or updated.
#### `protected virtual bool `[`LocalPlayerStatusFromSession`](#classURH__LocalPlayerSessionSubsystem_1aa0bec72de8c9da10cb97e78730c5cb79)`(const `[`FRHAPI_Session`](models/RHAPI_Session.md#structFRHAPI__Session)` & Session,ERHAPI_SessionPlayerStatus & Status) const`
Gets the local player status in a specific session.
Parameters
-
Session
The Session to get the local player status from. -
Status
The status of the local player in the session.
Returns
True if the player is part of that session.
#### `protected inline virtual void `[`RemoveSession`](#classURH__LocalPlayerSessionSubsystem_1ac956ad61bb35b46c9cb067e247e8b06f)`(const `[`URH_SessionView`](Session.md#classURH__SessionView)` * Session)`
Removes a cached session for the local player, this does NOT try to leave it.
Parameters
Session
The Session to remove.
#### `protected virtual void `[`OnExpirationComplete`](#classURH__LocalPlayerSessionSubsystem_1ae8b9736ce9f79dd68014b3f01df9fd1f)`(`[`URH_SessionView`](Session.md#classURH__SessionView)` * Session)`
Called when a session the local player is part of expires.
Parameters
Session
The session that expired.
#### `protected virtual bool `[`PreprocessAPISessionImport`](#classURH__LocalPlayerSessionSubsystem_1a9c559f45b88f7a21f62dcdf6476fcbea)`(const `[`FRHAPI_Session`](models/RHAPI_Session.md#structFRHAPI__Session)` & Session,ERHAPI_SessionPlayerStatus & Status)`
Attepts to preprocess an API session.
Parameters
-
Session
The session to preprocess. -
Status
The status of the local player to that session.
Returns
False if deferred or dropped, true if it can be processed.
#### `protected virtual void `[`OnUserChanged`](#classURH__LocalPlayerSessionSubsystem_1a26fbf14bcba6e280614f699fb5e3711c)`(const FGuid & OldPlayerUuid,class `[`URH_PlayerInfo`](PlayerInfo.md#classURH__PlayerInfo)` * OldLocalPlayerInfo)`
Base handling when the local user changes, override to provide functionality.
Parameters
-
OldPlayerUuid
The old player Uuid. -
OldLocalPlayerInfo
The old local player info.
#### `protected virtual void `[`InitPropertiesWithDefaultValues`](#classURH__LocalPlayerSessionSubsystem_1a8d62c9d3f5c42d59b77fa894ce226ad4)`()`
Initializes the subsystem with defaults for its cached data.
#### `protected virtual void `[`HandleNotification`](#classURH__LocalPlayerSessionSubsystem_1aa1277f7aa4d99bb48c64153da9b8574f)`(const struct `[`FRHAPI_Notification`](models/RHAPI_Notification.md#structFRHAPI__Notification)` & Notification,const FString & APIName,const TArray< FString > & APIParams)`
Handle a notification from the notification API.
Parameters
-
Notification
The notification to handle. -
APIName
The name of the API that sent the notification. -
APIParams
The parameters for the API that sent the notification.
#### `protected `[`URH_PlatformSessionSyncer`](Session.md#classURH__PlatformSessionSyncer)` * `[`CreatePlatformSyncer`](#classURH__LocalPlayerSessionSubsystem_1a689a1f5d6391c55118c8467e5fe2e9ce)`(`[`URH_JoinedSession`](undefined.md#classURH__JoinedSession)` * Session)`
Creates a Platform Session Syncer for the local player.
Parameters
Session
The Session assocaited with the syncer.
Returns
The Platform Session Syncer.
#### `protected virtual bool `[`FilterOSSCallbackUser`](#classURH__LocalPlayerSessionSubsystem_1ac3f8a2189935d62ddee4f0c523028264)`(const int32 ControllerId)`
Checks if the online subsystem call is for the local user.
Parameters
ControllerId
The controller Id to check against.
Returns
True if the callback is allowed.
#### `protected virtual bool `[`FilterOSSCallbackUser`](#classURH__LocalPlayerSessionSubsystem_1a499f53a4e277ea57c023eca530e7edd1)`(const FUniqueNetId & UniqueNetId)`
Checks if the online subsystem call is for the local user.
Parameters
UniqueNetId
The Unique Net Id to check against.
Returns
True if the callback is allowed.
#### `protected virtual void `[`OnPlatformActivityActivation`](#classURH__LocalPlayerSessionSubsystem_1aa06aadafbc3aebee2e79d0114db792a3)`(const FUniqueNetId & LocalUserId,const FString & ActivityId,const FOnlineSessionSearchResult * SessionInfo)`
Handles the response of an online subsystem activity activation.
Parameters
-
LocalUserId
The Unique Net Id associated with the activity. -
ActivityId
The Id of the activity. -
SessionInfo
The session info associated with the activity.
#### `protected virtual void `[`OnPlatformSessionInviteAccepted`](#classURH__LocalPlayerSessionSubsystem_1a8dc7b270d5a63dc6024cc5a0422ea032)`(const bool bSuccesful,const int32 ControllerId,FUniqueNetIdPtr UserId,const FOnlineSessionSearchResult & Session)`
Handles the response of an online subsystem session invite.
Parameters
-
bSuccesful
True if the invite was successful. -
ControllerId
The controller Id of the invited player. -
UserId
Unique Net Id of the invited player. -
Session
The Session the invite was for.
#### `protected virtual void `[`OnPlatformSessionCreated`](#classURH__LocalPlayerSessionSubsystem_1a58f090980ad25944e7f9fc974b6d3ed2)`(FName SessionName,bool bSuccess)`
Handles the response of an online subsystem session creation.
Parameters
-
SessionName
The name of the created session. -
bSuccess
True if the creation was successful.
#### `protected virtual void `[`OnPlatformSessionJoined`](#classURH__LocalPlayerSessionSubsystem_1a407cb4e27d487bbc1f9530a7b8a3f802)`(FName SessionName,EOnJoinSessionCompleteResult::Type Result)`
Handles the response of an online subsystem session join.
Parameters
-
SessionName
The name of the associated session. -
Result
The resule of the join attempt.
#### `protected virtual void `[`OnPlatformSessionStarted`](#classURH__LocalPlayerSessionSubsystem_1a0c299fea961f369123ca438e318ba266)`(FName SessionName,bool bSuccess)`
Handles the response of an online subsystem session started.
Parameters
-
SessionName
The name of the associated session. -
bSuccess
True if the creation was successful.
#### `protected virtual void `[`OnPlatformSessionEnded`](#classURH__LocalPlayerSessionSubsystem_1af0572f80f29da197fabf336175c8fcb2)`(FName SessionName,bool bSuccess)`
Handles the response of an online subsystem session ended.
Parameters
-
SessionName
The name of the associated session. -
bSuccess
True if the creation was successful.
#### `protected virtual void `[`OnPlatformSessionDestroyed`](#classURH__LocalPlayerSessionSubsystem_1a635b650a45ccde86c301b7f88aa0484d)`(FName SessionName,bool bSuccess)`
Handles the response of an online subsystem session destroy.
Parameters
-
SessionName
The name of the associated session. -
bSuccess
True if the creation was successful.
#### `protected virtual void `[`OnPlatformSessionParticipantsChanged`](#classURH__LocalPlayerSessionSubsystem_1a7d2554778e7116195c8c783eab1b1488)`(FName SessionName,const FUniqueNetId & UniqueNetId,bool bJoined)`
Called from other Platform Session Participant functions to reconcile the state of the platform syncer.
Parameters
-
SessionName
The name of the associated session. -
UniqueNetId
Unique Net Id of the participant that joined, changed, left, or was removed.
#### `protected virtual void `[`OnPlatformSessionParticipantChange`](#classURH__LocalPlayerSessionSubsystem_1a18ac6fdc4538f89361f5e23d27b0fcd3)`(FName SessionName,const FUniqueNetId & UniqueNetId,bool bJoined)`
Handles the response of an online subsystem session participant change.
Parameters
-
SessionName
The name of the associated session. -
UniqueNetId
Unique Net Id of the participant that changed. -
bJoined
If that participant joined the session.
#### `protected virtual void `[`OnPlatformSessionParticipantRemoved`](#classURH__LocalPlayerSessionSubsystem_1a19fcc5c2c30710932f1757dbe0ce3666)`(FName SessionName,const FUniqueNetId & UniqueNetId)`
Handles the response of an online subsystem session participant remove.
Parameters
-
SessionName
The name of the associated session. -
UniqueNetId
Unique Net Id of the participant that was removed.
#### `protected virtual void `[`HandlePollAllSessionsComplete`](#classURH__LocalPlayerSessionSubsystem_1a723518fadb2e8fb85f0a624debb53b91)`(bool bSuccess,const TArray< FString > & SessionIds)`
Handles the response of polling all sessions.
Parameters
-
bSuccess
True if the poll was successful. -
SessionIds
Session Ids updated from the polling.
## class `URH_LocalPlayerSubsystem`
Subsystem to manage the local player.
Summary
Members | Descriptions |
---|---|
public FRH_AutoInventoryCompleteDelegate OnAutoInventorySessionCreated | Broadcast delegate for when intial inventory session is created, if using auto creation. |
public FRH_AutoInventoryCompleteDelegate OnAutoEntitlementsProcessed | Broadcast delegate for when intial platform entitlements are processed, if using auto processing. |
public void Initialize (FSubsystemCollectionBase & Collection) | Initialize the subsystem. |
public void Deinitialize () | Safely tears down the subsystem. |
public bool IsLoggedIn () const | Gets if the player is currently logged in. |
public FGuid GetPlayerUuid () const | Gets the player’s unique player id. |
public ERHAPI_PlatformTypes_DEPRECATED GetLoggedInPlatformType () const | Gets the platform type for the player if logged in. |
public ERHAPI_Platform GetLoggedInPlatform () const | Gets the platform type for the player if logged in. |
public FUniqueNetIdWrapper GetOSSUniqueId () const | Gets the player’s OSS unique id. |
public int32 GetPlatformUserId () const | Gets the player’s platform id. |
public inline virtual TSharedPtr< class IAnalyticsProvider > GetAnalyticsProvider () const | Gets the player’s analytics provider. |
public virtual TSharedPtr< class IAnalyticsProvider > CreateAnalyticsProvider () | Gets the player’s analytics provider. |
public URH_PlayerInfo * GetLocalPlayerInfo () const | Gets the player’s player info. |
public FRH_PlayerPlatformId GetPlayerPlatformId () const | Gets the player’s platform id wrapped with platform type. |
public inline FAuthContextPtr GetAuthContext () const | Gets the player’s auth context. |
public IOnlineSubsystem * GetOSS (const FName & SubsystemName) const | Get a specific OSS by name for this local player’s world. In editor, this allows each world/game instance to have a different OSS. |
public inline FORCEINLINE URH_LocalPlayerLoginSubsystem * GetLoginSubsystem () const | Gets the player’s login subsystem. |
public inline FORCEINLINE URH_AdSubsystem * GetAdSubsystem () const | Gets the player’s ad subsystem. |
public inline FORCEINLINE URH_FriendSubsystem * GetFriendSubsystem () const | Gets the player’s friend subsystem. |
public inline FORCEINLINE URH_LocalPlayerSessionSubsystem * GetSessionSubsystem () const | Gets the player’s session subsystem. |
public inline FORCEINLINE URH_LocalPlayerPresenceSubsystem * GetPresenceSubsystem () const | Gets the player’s presence subsystem. |
public inline FORCEINLINE URH_PurgeSubsystem * GetPurgeSubsystem () const | Gets the player’s purge subsystem. |
public inline FORCEINLINE URH_EntitlementSubsystem * GetEntitlementSubsystem () const | Gets the player’s entitlement subsystem. |
public URH_PlayerNotifications * GetPlayerNotifications () const | Gets the player’s notification subsystem. |
public URH_PlayerInfoSubsystem * GetPlayerInfoSubsystem () const | Gets the player’s player info. |
public void CustomEndpoint (const FRH_CustomEndpointRequestWrapper & Request,const RallyHereAPI::FDelegate_CustomEndpointSend & Delegate) | Custom Endpoint wrapper (for custom endpoints that require authentication) |
public void CustomEndpoint (const FRH_CustomEndpointRequestWrapper & Request,const FRH_CustomEndpointDelegateBlock & Delegate) | Custom Endpoint wrapper (for custom endpoints that require authentication) |
public inline void BLUEPRINT_CustomEndpoint (const FRH_CustomEndpointRequestWrapper & Request,const FRH_CustomEndpointDynamicDelegate & Delegate) | Custom Endpoint wrapper (for custom endpoints that require authentication) |
protected TArray< URH_LocalPlayerSubsystemPlugin * > SubsystemPlugins | Array of plugins for the Local Player Subsystem. |
protected TArray< URH_SandboxedSubsystemPlugin * > SandboxedSubsystemPlugins | Array of plugins for the Local Player Subsystem. |
protected URH_LocalPlayerLoginSubsystem * LoginSubsystem | The Login Subsystem for the player. |
protected URH_AdSubsystem * AdSubsystem | The Ad Subsystem for the player. |
protected URH_FriendSubsystem * FriendSubsystem | The Friend Subsystem for the player. |
protected URH_LocalPlayerSessionSubsystem * SessionSubsystem | The Session Subsystem for the player. |
protected URH_LocalPlayerPresenceSubsystem * PresenceSubsystem | The Presence Subsystem for the player. |
protected URH_PurgeSubsystem * PurgeSubsystem | The Purge Subsystem for the player. |
protected URH_EntitlementSubsystem * EntitlementSubsystem | The Entitlement Subsystem for the player. |
protected URH_PlayerInfoSubsystem * SandboxedPlayerInfoSubsystem | The Sandboxed PlayerInfo Subsystem for the player. |
protected TWeakObjectPtr< URH_PlayerInfo > PlayerInfoCache | The Player Info associated with the local player. |
protected FAuthContextPtr AuthContext | The Local Players auth context. |
protected TSharedPtr< class IAnalyticsProvider > AnalyticsProvider | The Analytics Provider for the player. |
protected TOptional< FDateTime > AnalyticsStartTime | The start time of the AnalyticsProvider |
protected template<> inline UClassToUse * AddSubsystemPlugin (const FSoftClassPath & SubsystemClassPath) | Adds a plugin to the Game Instance Subsystem. |
protected template<> inline UClassToUse * AddSandboxedSubsystemPlugin (const FSoftClassPath & SubsystemClassPath) | Adds a plugin to the Game Instance Subsystem. |
protected virtual void OnUserLoggedIn (bool bSuccess) | Called whenever the user logs in. |
protected virtual void OnUserLoggedOut (bool bRefreshTokenExpired) | Called whenever the user logs out explicitly. |
protected virtual void OnUserChanged () | Callback that occurs whenever the local player this subsystem is associated with changes. |
protected virtual void OnUserRefreshTokenExpired (FSimpleDelegate CompletionDelegate) | Callback that occurs when the player’s refresh token expires while logged in. |
Members
public FRH_AutoInventoryCompleteDelegate
OnAutoInventorySessionCreated
Broadcast delegate for when intial inventory session is created, if using auto creation.
#### `public FRH_AutoInventoryCompleteDelegate `[`OnAutoEntitlementsProcessed`](#classURH__LocalPlayerSubsystem_1af051878305aecdec83c71ea862099d47)
Broadcast delegate for when intial platform entitlements are processed, if using auto processing.
#### `public void `[`Initialize`](#classURH__LocalPlayerSubsystem_1aa2c904ac8c9e4e1e89d2f44f56297f19)`(FSubsystemCollectionBase & Collection)`
Initialize the subsystem.
#### `public void `[`Deinitialize`](#classURH__LocalPlayerSubsystem_1a2eb5553bdd14a18a7496048e4fd8de60)`()`
Safely tears down the subsystem.
#### `public bool `[`IsLoggedIn`](#classURH__LocalPlayerSubsystem_1a3b7ce92eb8ce587f9da1bddd333d83a8)`() const`
Gets if the player is currently logged in.
#### `public FGuid `[`GetPlayerUuid`](#classURH__LocalPlayerSubsystem_1aa4f9ff67952acaac6cff21344e009ab0)`() const`
Gets the player’s unique player id.
#### `public `[`ERHAPI_PlatformTypes_DEPRECATED`](undefined.md#group__Common_1ga8d2aa1d87e398a5548531751e8cea759)` `[`GetLoggedInPlatformType`](#classURH__LocalPlayerSubsystem_1a42fa36a5163bc8f1000945c19f5efeb7)`() const`
Gets the platform type for the player if logged in.
#### `public ERHAPI_Platform `[`GetLoggedInPlatform`](#classURH__LocalPlayerSubsystem_1a05e6f540d539db2c2e32711a71b3ea0d)`() const`
Gets the platform type for the player if logged in.
#### `public FUniqueNetIdWrapper `[`GetOSSUniqueId`](#classURH__LocalPlayerSubsystem_1aaa4e0609a714252747d19e0bda2228de)`() const`
Gets the player’s OSS unique id.
#### `public int32 `[`GetPlatformUserId`](#classURH__LocalPlayerSubsystem_1af730a768c92209cd06f97b2ca3de6e2c)`() const`
Gets the player’s platform id.
#### `public inline virtual TSharedPtr< class IAnalyticsProvider > `[`GetAnalyticsProvider`](#classURH__LocalPlayerSubsystem_1a971e67d99251ee5a805fc339f48ab66d)`() const`
Gets the player’s analytics provider.
#### `public virtual TSharedPtr< class IAnalyticsProvider > `[`CreateAnalyticsProvider`](#classURH__LocalPlayerSubsystem_1a3b2f8337c43926cb688c16d15916ad03)`()`
Gets the player’s analytics provider.
#### `public `[`URH_PlayerInfo`](PlayerInfo.md#classURH__PlayerInfo)` * `[`GetLocalPlayerInfo`](#classURH__LocalPlayerSubsystem_1a5d9ea1d7b17a08d3a5c887f1331871bd)`() const`
Gets the player’s player info.
#### `public `[`FRH_PlayerPlatformId`](Common.md#structFRH__PlayerPlatformId)` `[`GetPlayerPlatformId`](#classURH__LocalPlayerSubsystem_1ad821ccae7dc5dda771a939765510acf3)`() const`
Gets the player’s platform id wrapped with platform type.
#### `public inline FAuthContextPtr `[`GetAuthContext`](#classURH__LocalPlayerSubsystem_1a487eb72cbed66aac3e1673c06b1fefd1)`() const`
Gets the player’s auth context.
#### `public IOnlineSubsystem * `[`GetOSS`](#classURH__LocalPlayerSubsystem_1a411f7a0f814cd1df1fbd00e9fc277fc4)`(const FName & SubsystemName) const`
Get a specific OSS by name for this local player’s world. In editor, this allows each world/game instance to have a different OSS.
#### `public inline FORCEINLINE `[`URH_LocalPlayerLoginSubsystem`](LocalPlayer.md#classURH__LocalPlayerLoginSubsystem)` * `[`GetLoginSubsystem`](#classURH__LocalPlayerSubsystem_1aa6d9e0d8f6462d16b6c0eab3e8c445b9)`() const`
Gets the player’s login subsystem.
#### `public inline FORCEINLINE `[`URH_AdSubsystem`](Ads.md#classURH__AdSubsystem)` * `[`GetAdSubsystem`](#classURH__LocalPlayerSubsystem_1a4b0be8bb978e72e755f383b5ca519c5a)`() const`
Gets the player’s ad subsystem.
#### `public inline FORCEINLINE `[`URH_FriendSubsystem`](Friends.md#classURH__FriendSubsystem)` * `[`GetFriendSubsystem`](#classURH__LocalPlayerSubsystem_1ad49c347f8117e9c66f0c40564bbe9ad8)`() const`
Gets the player’s friend subsystem.
#### `public inline FORCEINLINE `[`URH_LocalPlayerSessionSubsystem`](LocalPlayer.md#classURH__LocalPlayerSessionSubsystem)` * `[`GetSessionSubsystem`](#classURH__LocalPlayerSubsystem_1af7588ae73890bd95a0d4b8ce240ecff9)`() const`
Gets the player’s session subsystem.
#### `public inline FORCEINLINE `[`URH_LocalPlayerPresenceSubsystem`](LocalPlayer.md#classURH__LocalPlayerPresenceSubsystem)` * `[`GetPresenceSubsystem`](#classURH__LocalPlayerSubsystem_1ac43dba7fff9bf907ae5e17675cc65c77)`() const`
Gets the player’s presence subsystem.
#### `public inline FORCEINLINE `[`URH_PurgeSubsystem`](Purge.md#classURH__PurgeSubsystem)` * `[`GetPurgeSubsystem`](#classURH__LocalPlayerSubsystem_1a5c2884b8b405e18804009f8b8cfeb245)`() const`
Gets the player’s purge subsystem.
#### `public inline FORCEINLINE `[`URH_EntitlementSubsystem`](Entitlement.md#classURH__EntitlementSubsystem)` * `[`GetEntitlementSubsystem`](#classURH__LocalPlayerSubsystem_1a3553f6723f3c694a2bf15f3bfd647774)`() const`
Gets the player’s entitlement subsystem.
#### `public `[`URH_PlayerNotifications`](Notifications.md#classURH__PlayerNotifications)` * `[`GetPlayerNotifications`](#classURH__LocalPlayerSubsystem_1a690473c3123f603e2122e66ceb9f2e7f)`() const`
Gets the player’s notification subsystem.
#### `public `[`URH_PlayerInfoSubsystem`](PlayerInfo.md#classURH__PlayerInfoSubsystem)` * `[`GetPlayerInfoSubsystem`](#classURH__LocalPlayerSubsystem_1a83ad712487ec862359de2aad0cfdae27)`() const`
Gets the player’s player info.
#### `public void `[`CustomEndpoint`](#classURH__LocalPlayerSubsystem_1a12825ba4b3fc959d767fa24fdd42ac4a)`(const `[`FRH_CustomEndpointRequestWrapper`](Common.md#structFRH__CustomEndpointRequestWrapper)` & Request,const RallyHereAPI::FDelegate_CustomEndpointSend & Delegate)`
Custom Endpoint wrapper (for custom endpoints that require authentication)
Parameters
-
[FRH_CustomEndpointRequestWrapper](Common.md#structFRH__CustomEndpointRequestWrapper)
Wrapper struct containing call information -
Delegate
The delegate to call when the call is complete (contains raw response)
#### `public void `[`CustomEndpoint`](#classURH__LocalPlayerSubsystem_1a0245b6c80572e106cdba6424306b4e5a)`(const `[`FRH_CustomEndpointRequestWrapper`](Common.md#structFRH__CustomEndpointRequestWrapper)` & Request,const FRH_CustomEndpointDelegateBlock & Delegate)`
Custom Endpoint wrapper (for custom endpoints that require authentication)
Parameters
-
[FRH_CustomEndpointRequestWrapper](Common.md#structFRH__CustomEndpointRequestWrapper)
Wrapper struct containing call information -
Delegate
The delegate to call when the call is complete
#### `public inline void `[`BLUEPRINT_CustomEndpoint`](#classURH__LocalPlayerSubsystem_1aa5c9cef7544050e91abe15452526fbd7)`(const `[`FRH_CustomEndpointRequestWrapper`](Common.md#structFRH__CustomEndpointRequestWrapper)` & Request,const FRH_CustomEndpointDynamicDelegate & Delegate)`
Custom Endpoint wrapper (for custom endpoints that require authentication)
Parameters
-
[FRH_CustomEndpointRequestWrapper](Common.md#structFRH__CustomEndpointRequestWrapper)
Wrapper struct containing call information -
Delegate
The delegate to call when the call is complete
#### `protected TArray< `[`URH_LocalPlayerSubsystemPlugin`](SubsystemBase.md#classURH__LocalPlayerSubsystemPlugin)` * > `[`SubsystemPlugins`](#classURH__LocalPlayerSubsystem_1aa1e0f18bd03b9082f4dfa3b87e294111)
Array of plugins for the Local Player Subsystem.
#### `protected TArray< `[`URH_SandboxedSubsystemPlugin`](SubsystemBase.md#classURH__SandboxedSubsystemPlugin)` * > `[`SandboxedSubsystemPlugins`](#classURH__LocalPlayerSubsystem_1a17f7feb3081a6a9ddd60220806af4101)
Array of plugins for the Local Player Subsystem.
#### `protected `[`URH_LocalPlayerLoginSubsystem`](LocalPlayer.md#classURH__LocalPlayerLoginSubsystem)` * `[`LoginSubsystem`](#classURH__LocalPlayerSubsystem_1a4c91f163e0d3ce122ff5945e94fbfd42)
The Login Subsystem for the player.
#### `protected `[`URH_AdSubsystem`](Ads.md#classURH__AdSubsystem)` * `[`AdSubsystem`](#classURH__LocalPlayerSubsystem_1a7828f1874dcd91a147856a6919086273)
The Ad Subsystem for the player.
#### `protected `[`URH_FriendSubsystem`](Friends.md#classURH__FriendSubsystem)` * `[`FriendSubsystem`](#classURH__LocalPlayerSubsystem_1a71f593fae588e9f7afa7733eae6aafac)
The Friend Subsystem for the player.
#### `protected `[`URH_LocalPlayerSessionSubsystem`](LocalPlayer.md#classURH__LocalPlayerSessionSubsystem)` * `[`SessionSubsystem`](#classURH__LocalPlayerSubsystem_1a86df20cf68d8618951ae19a98c3fb5fd)
The Session Subsystem for the player.
#### `protected `[`URH_LocalPlayerPresenceSubsystem`](LocalPlayer.md#classURH__LocalPlayerPresenceSubsystem)` * `[`PresenceSubsystem`](#classURH__LocalPlayerSubsystem_1a1bc3544d5e09905d1a20b7d83af5087e)
The Presence Subsystem for the player.
#### `protected `[`URH_PurgeSubsystem`](Purge.md#classURH__PurgeSubsystem)` * `[`PurgeSubsystem`](#classURH__LocalPlayerSubsystem_1a7e1beadec9fe8b854a37e4518b77c9cc)
The Purge Subsystem for the player.
#### `protected `[`URH_EntitlementSubsystem`](Entitlement.md#classURH__EntitlementSubsystem)` * `[`EntitlementSubsystem`](#classURH__LocalPlayerSubsystem_1abbb158bc2cd5dd965ba03363d64723ba)
The Entitlement Subsystem for the player.
#### `protected `[`URH_PlayerInfoSubsystem`](PlayerInfo.md#classURH__PlayerInfoSubsystem)` * `[`SandboxedPlayerInfoSubsystem`](#classURH__LocalPlayerSubsystem_1a2f8620e8c3c50fdfea4ec0c39678b476)
The Sandboxed PlayerInfo Subsystem for the player.
#### `protected TWeakObjectPtr< `[`URH_PlayerInfo`](PlayerInfo.md#classURH__PlayerInfo)` > `[`PlayerInfoCache`](#classURH__LocalPlayerSubsystem_1a48fa6f3ba219852b90b6eaa9bf0ec5e4)
The Player Info associated with the local player.
#### `protected FAuthContextPtr `[`AuthContext`](#classURH__LocalPlayerSubsystem_1a7db0fee21f61da0729bba78d7a892430)
The Local Players auth context.
#### `protected TSharedPtr< class IAnalyticsProvider > `[`AnalyticsProvider`](#classURH__LocalPlayerSubsystem_1a9ece424deff5492e8d400a01c3295514)
The Analytics Provider for the player.
#### `protected TOptional< FDateTime > `[`AnalyticsStartTime`](#classURH__LocalPlayerSubsystem_1a4035dec7f2a4568acd091f0058fbf0b3)
The start time of the AnalyticsProvider
#### `protected template<>`
`inline UClassToUse * `[`AddSubsystemPlugin`](#classURH__LocalPlayerSubsystem_1ab757058d891a562b63869377edf607bf)`(const FSoftClassPath & SubsystemClassPath)`
Adds a plugin to the Game Instance Subsystem.
Parameters
SubsystemClassPath
The class path of the plugin to add.
Returns
The plugin that was added.
#### `protected template<>`
`inline UClassToUse * `[`AddSandboxedSubsystemPlugin`](#classURH__LocalPlayerSubsystem_1a2de7a5eafd696d509f653192edd9a09f)`(const FSoftClassPath & SubsystemClassPath)`
Adds a plugin to the Game Instance Subsystem.
Parameters
SubsystemClassPath
The class path of the plugin to add.
Returns
The plugin that was added.
#### `protected virtual void `[`OnUserLoggedIn`](#classURH__LocalPlayerSubsystem_1a9ef1338417d75dfc9f463538e2515d72)`(bool bSuccess)`
Called whenever the user logs in.
Parameters
bSuccess
True if the login was successful, false otherwise.
#### `protected virtual void `[`OnUserLoggedOut`](#classURH__LocalPlayerSubsystem_1a8486ce5ac38cd0baa2d1a3d8ed319fd5)`(bool bRefreshTokenExpired)`
Called whenever the user logs out explicitly.
#### `protected virtual void `[`OnUserChanged`](#classURH__LocalPlayerSubsystem_1a8a159f043f9aaed47f06d7c6706cb6b7)`()`
Callback that occurs whenever the local player this subsystem is associated with changes.
#### `protected virtual void `[`OnUserRefreshTokenExpired`](#classURH__LocalPlayerSubsystem_1a822659671e98773c0c03a3eed95e5b56)`(FSimpleDelegate CompletionDelegate)`
Callback that occurs when the player’s refresh token expires while logged in.
## struct `FRH_LoginResult`
Struct for the login results.
Summary
Members | Descriptions |
---|---|
public ERHAPI_LoginResult Result | Login Result. |
public ERHAPI_LocalPlayerLoginOSS OSSType | Login OSS Type. |
public FString OSSErrorMessage | Login Error Message. |
public FString RallyHereErrorCode | RallyHere API Auth Error Code. |
public TSharedPtr< const FUniqueNetId > OSSUniqueId | Unique Net Id for the player. |
public TSharedPtr< const FUniqueNetId > NicknameOSSUniqueId | Unique Net ID for the player when using Nickname Login. |
public uint32 PrivilegeResults | Privilege Result for the login. |
public bool bMustAcceptEULA | If true, the user needs to accept the EULA. |
public bool bMustAcceptTOS | If true, the user needs to accept the TOS. |
public bool bMustAcceptPP | If true, the user needs to accept the PP. |
public inline FRH_LoginResult () | Default constructor. |
Members
public
ERHAPI_LoginResult
Result
Login Result.
#### `public `[`ERHAPI_LocalPlayerLoginOSS`](undefined.md#group__LocalPlayer_1ga0aae9d7dd1467ba0ef09be86df25b7a2)` `[`OSSType`](#structFRH__LoginResult_1a8639eb11fe9d1f489df4247f94480ad6)
Login OSS Type.
#### `public FString `[`OSSErrorMessage`](#structFRH__LoginResult_1a415022baa86bf765be7ae7c8ce50fa8f)
Login Error Message.
#### `public FString `[`RallyHereErrorCode`](#structFRH__LoginResult_1ac43de6491cea17e487ef4fa572f42dfa)
RallyHere API Auth Error Code.
#### `public TSharedPtr< const FUniqueNetId > `[`OSSUniqueId`](#structFRH__LoginResult_1a4961ad93a8bf87858fcf3a0b7d41ba26)
Unique Net Id for the player.
#### `public TSharedPtr< const FUniqueNetId > `[`NicknameOSSUniqueId`](#structFRH__LoginResult_1a0badf8d64f580c391a152642ed9b2ff8)
Unique Net ID for the player when using Nickname Login.
#### `public uint32 `[`PrivilegeResults`](#structFRH__LoginResult_1a0348a5f8c7982ea7a648276df7096998)
Privilege Result for the login.
#### `public bool `[`bMustAcceptEULA`](#structFRH__LoginResult_1a3b1a5425c4ad3df85754d7828afa429f)
If true, the user needs to accept the EULA.
#### `public bool `[`bMustAcceptTOS`](#structFRH__LoginResult_1a662f76700fe5dd56560bb7df514b0b6a)
If true, the user needs to accept the TOS.
#### `public bool `[`bMustAcceptPP`](#structFRH__LoginResult_1a0f6674180918672b79770379a8af937c)
If true, the user needs to accept the PP.
#### `public inline `[`FRH_LoginResult`](#structFRH__LoginResult_1ae2afa140ce5f64ea98bddda688ebc1b9)`()`
Default constructor.