LootLocker Unreal SDK 10.4.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
ULootLockerAsyncStartRemoteSession Class Reference

#include <LootLockerRemoteSessionRequestHandler.h>

Inheritance diagram for ULootLockerAsyncStartRemoteSession:
Collaboration diagram for ULootLockerAsyncStartRemoteSession:

Public Member Functions

virtual void Activate () override
 Execute the actual operation.
 

Static Public Member Functions

static ULootLockerAsyncStartRemoteSessionAsyncStartRemoteSession (UObject *WorldContextObjectfloat, float PollingIntervalSeconds, float TimeOutAfterMinutes, ELootLockerAccountProvider Provider=ELootLockerAccountProvider::Guest)
 Start a remote session If you want to let your local user sign in using another device then you use this method.
 
static ULootLockerAsyncStartRemoteSessionAsyncStartRemoteSessionForLinking (UObject *WorldContextObject, FString ForPlayerWithUlid, float PollingIntervalSeconds, float TimeOutAfterMinutes, ELootLockerAccountProvider Provider=ELootLockerAccountProvider::Guest)
 Start a remote session with the intent to use the remote session for connecting accounts If you want to let your local user sign in using another device then you use this method.
 

Data Fields

FLootLockerAsyncRemoteSessionMulticastDelegate OnProcessStarted
 Triggered once the lease process has successfully been started and the LeaseData property has been populated with the necessary information.
 
FLootLockerAsyncRemoteSessionMulticastDelegate OnLeaseClaimed
 Triggered once the remote lease has been claimed (external process)
 
FLootLockerAsyncRemoteSessionMulticastDelegate OnLeaseVerified
 Triggered once the remote lease has been verified (external process)
 
FLootLockerAsyncRemoteSessionMulticastDelegate OnProcessCancelled
 Triggered if the process was canceled using the CancelRemoteSessionProcess method.
 
FLootLockerAsyncRemoteSessionMulticastDelegate OnProcessTimedOut
 Triggered if the process times out.
 
FLootLockerAsyncRemoteSessionMulticastDelegate OnProcessFailed
 Triggered if the process has concluded and was not a success.
 
FLootLockerAsyncRemoteSessionMulticastDelegate OnProcessFinished
 Triggered if the process concluded successfully.
 

Protected Member Functions

virtual void HandleLeaseProcessStarted (const FLootLockerLeaseRemoteSessionResponse &LeaseProcessStartedResponse)
 
virtual void HandleLeaseProcessUpdate (const FLootLockerRemoteSessionStatusPollingResponse &LeaseProcessUpdateResponse)
 
virtual void HandleLeaseProcessCompleted (const FLootLockerStartRemoteSessionResponse &LeaseProcessCompletedResponse)
 

Protected Attributes

FString ForPlayerWithUlid = ""
 
ELootLockerRemoteSessionLeaseIntent Intent = ELootLockerRemoteSessionLeaseIntent::login
 
ELootLockerAccountProvider Provider = ELootLockerAccountProvider::Guest
 
FString LeaseProcessID = ""
 
float PollingIntervalInSeconds = 0.0f
 
float TimeoutAfterMinutes = 0.0f
 
FLootLockerRemoteSessionLeaseData LeaseData
 

Member Function Documentation

◆ Activate()

virtual void ULootLockerAsyncStartRemoteSession::Activate ( )
overridevirtual

Execute the actual operation.

◆ AsyncStartRemoteSession()

static ULootLockerAsyncStartRemoteSession * ULootLockerAsyncStartRemoteSession::AsyncStartRemoteSession ( UObject *  WorldContextObjectfloat,
float  PollingIntervalSeconds,
float  TimeOutAfterMinutes,
ELootLockerAccountProvider  Provider = ELootLockerAccountProvider::Guest 
)
static

Start a remote session If you want to let your local user sign in using another device then you use this method.

First you will get the lease information (the LeaseData property will be populated) needed to allow a secondary device to authenticate and the OnProcessStarted event will trigger.

Once the lease process status changes, the corresponding event will be triggered.

When the process has come to an end successfully, the OnProcessFinished event will trigger and the SessionTokenOnSuccess, RefreshTokenOnSuccess, and PlayerDataOnSuccess properties will be populated if present in the response.

If the process is cancelled by the user, the OnProcessCanceled event will trigger.

If the process times out, the OnProcessTimedOut event will trigger.

If the process fails, the OnProcessFailed event will trigger and the ResponseOnFailure property will be populated and contain error data.

Parameters
WorldContextObjectNon input: Automatic context for async node
PollingIntervalSecondsOptional: How often to poll the status of the remote session process
TimeOutAfterMinutesOptional: How long to allow the process to take in its entirety
ProviderOptional: Preloads the connection flow with which account provider to use for linking, so the user does not have to select it manually. Leave as Guest to let the user choose.

◆ AsyncStartRemoteSessionForLinking()

static ULootLockerAsyncStartRemoteSession * ULootLockerAsyncStartRemoteSession::AsyncStartRemoteSessionForLinking ( UObject *  WorldContextObject,
FString  ForPlayerWithUlid,
float  PollingIntervalSeconds,
float  TimeOutAfterMinutes,
ELootLockerAccountProvider  Provider = ELootLockerAccountProvider::Guest 
)
static

Start a remote session with the intent to use the remote session for connecting accounts If you want to let your local user sign in using another device then you use this method.

First you will get the lease information (the LeaseData property will be populated) needed to allow a secondary device to authenticate and the OnProcessStarted event will trigger.

Once the lease process status changes, the corresponding event will be triggered.

When the process has come to an end successfully, the OnProcessFinished event will trigger and the SessionTokenOnSuccess, RefreshTokenOnSuccess, and PlayerDataOnSuccess properties will be populated if present in the response.

If the process is cancelled by the user, the OnProcessCanceled event will trigger.

If the process times out, the OnProcessTimedOut event will trigger.

If the process fails, the OnProcessFailed event will trigger and the ResponseOnFailure property will be populated and contain error data.

Parameters
WorldContextObjectNon input: Automatic context for async node
ForPlayerWithUlidExecute the request for the specified player (the player that you intend to link the remote account into).
PollingIntervalSecondsOptional: How often to poll the status of the remote session process
TimeOutAfterMinutesOptional: How long to allow the process to take in its entirety
ProviderOptional: Preloads the connection flow with which account provider to use for linking, so the user does not have to select it manually. Leave as Guest to let the user choose.
Returns

◆ HandleLeaseProcessCompleted()

virtual void ULootLockerAsyncStartRemoteSession::HandleLeaseProcessCompleted ( const FLootLockerStartRemoteSessionResponse LeaseProcessCompletedResponse)
protectedvirtual

◆ HandleLeaseProcessStarted()

virtual void ULootLockerAsyncStartRemoteSession::HandleLeaseProcessStarted ( const FLootLockerLeaseRemoteSessionResponse LeaseProcessStartedResponse)
protectedvirtual

◆ HandleLeaseProcessUpdate()

virtual void ULootLockerAsyncStartRemoteSession::HandleLeaseProcessUpdate ( const FLootLockerRemoteSessionStatusPollingResponse LeaseProcessUpdateResponse)
protectedvirtual

Field Documentation

◆ ForPlayerWithUlid

FString ULootLockerAsyncStartRemoteSession::ForPlayerWithUlid = ""
protected

◆ Intent

ELootLockerRemoteSessionLeaseIntent ULootLockerAsyncStartRemoteSession::Intent = ELootLockerRemoteSessionLeaseIntent::login
protected

◆ LeaseData

FLootLockerRemoteSessionLeaseData ULootLockerAsyncStartRemoteSession::LeaseData
protected

◆ LeaseProcessID

FString ULootLockerAsyncStartRemoteSession::LeaseProcessID = ""
protected

◆ OnLeaseClaimed

FLootLockerAsyncRemoteSessionMulticastDelegate ULootLockerAsyncStartRemoteSession::OnLeaseClaimed

Triggered once the remote lease has been claimed (external process)

◆ OnLeaseVerified

FLootLockerAsyncRemoteSessionMulticastDelegate ULootLockerAsyncStartRemoteSession::OnLeaseVerified

Triggered once the remote lease has been verified (external process)

◆ OnProcessCancelled

FLootLockerAsyncRemoteSessionMulticastDelegate ULootLockerAsyncStartRemoteSession::OnProcessCancelled

Triggered if the process was canceled using the CancelRemoteSessionProcess method.

◆ OnProcessFailed

FLootLockerAsyncRemoteSessionMulticastDelegate ULootLockerAsyncStartRemoteSession::OnProcessFailed

Triggered if the process has concluded and was not a success.

The ResponseOnFailure will be populated with the relevant error information

◆ OnProcessFinished

FLootLockerAsyncRemoteSessionMulticastDelegate ULootLockerAsyncStartRemoteSession::OnProcessFinished

Triggered if the process concluded successfully.

The SessionTokenOnSuccess, RefreshTokenOnSuccess, and PlayerDataOnSuccess properties will be populated (if present in the response).

◆ OnProcessStarted

FLootLockerAsyncRemoteSessionMulticastDelegate ULootLockerAsyncStartRemoteSession::OnProcessStarted

Triggered once the lease process has successfully been started and the LeaseData property has been populated with the necessary information.

◆ OnProcessTimedOut

FLootLockerAsyncRemoteSessionMulticastDelegate ULootLockerAsyncStartRemoteSession::OnProcessTimedOut

Triggered if the process times out.

◆ PollingIntervalInSeconds

float ULootLockerAsyncStartRemoteSession::PollingIntervalInSeconds = 0.0f
protected

◆ Provider

ELootLockerAccountProvider ULootLockerAsyncStartRemoteSession::Provider = ELootLockerAccountProvider::Guest
protected

◆ TimeoutAfterMinutes

float ULootLockerAsyncStartRemoteSession::TimeoutAfterMinutes = 0.0f
protected