LootLocker Unreal SDK 10.4.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
LootLockerConnectedAccountsRequestHandler.h
Go to the documentation of this file.
1// Copyright (c) 2021 LootLocker
2
3#pragma once
4
5
6#include "CoreMinimal.h"
9#include "LootLockerConnectedAccountsRequestHandler.generated.h"
10
11//==================================================
12// Data Type Definitions
13//==================================================
16UENUM(BlueprintType, Category = "LootLocker")
21{
22 Guest = 0,
23 Google = 1,
24 Apple = 2,
25 Steam = 3,
26 Epic_games = 4,
27 Credentials = 5, // White Label Login
28 Nintendo = 6,
29 Xbox = 7,
30 Playstation = 8,
31 Twitch = 9,
32 Discord = 10,
34};
36
39UENUM(BlueprintType, Category = "LootLocker")
44{
45 web = 0,
46 android = 1,
47 ios = 2,
48 desktop = 4
49};
51
55USTRUCT(BlueprintType, Category = "LootLocker")
57{
58 GENERATED_BODY()
62 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
67 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
68 FString Provider_name = "";
69};
70
71//==================================================
72// Request Definitions
73//==================================================
77USTRUCT(BlueprintType, Category = "LootLocker")
79{
80 GENERATED_BODY()
84 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
85 FString Id_token = "";
86};
87
91USTRUCT(BlueprintType, Category = "LootLocker")
93{
94 GENERATED_BODY()
98 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
99 FString Id_token = "";
103 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
104 FString Platform = "";
105};
106
110USTRUCT(BlueprintType, Category = "LootLocker")
112{
113 GENERATED_BODY()
117 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
118 FString Authorization_code = "";
119};
120
124USTRUCT(BlueprintType, Category = "LootLocker")
126{
127 GENERATED_BODY()
131 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
132 FString Token = "";
133};
134
138USTRUCT(BlueprintType, Category = "LootLocker")
140{
141 GENERATED_BODY()
145 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
146 FString Environment = "";
150 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
151 FString Code = "";
152};
153
157USTRUCT(BlueprintType, Category = "LootLocker")
159{
160 GENERATED_BODY()
164 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
165 FString Token = "";
166};
167
171USTRUCT(BlueprintType, Category = "LootLocker")
173{
174 GENERATED_BODY()
178 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
179 FString Authorization_code = "";
180};
181
185USTRUCT(BlueprintType, Category = "LootLocker")
187{
188 GENERATED_BODY()
192 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
193 FString Code = "";
197 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
198 FString Nonce = "";
199};
200
204USTRUCT(BlueprintType, Category = "LootLocker")
206{
207 GENERATED_BODY()
211 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
212 FString Source_token = "";
216 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
217 FString Target_token = "";
221 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
222 TArray<FString> Identity_providers;
223};
224
228USTRUCT(BlueprintType, Category = "LootLocker")
230{
231 GENERATED_BODY()
235 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
240 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
241 FString Provider_name = "";
242};
243
244//==================================================
245// Response Definitions
246//==================================================
247
251USTRUCT(BlueprintType, Category = "LootLocker")
253{
254 GENERATED_BODY()
258 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
260};
261
265USTRUCT(BlueprintType, Category = "LootLocker")
267{
268 GENERATED_BODY()
272 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
273 TArray<FLootLockerConnectedAccountProvider> Connected_accounts;
274};
275
276//==================================================
277// Delegate Definitions
278//==================================================
281
289
290//==================================================
291// API Class Definition
292//==================================================
293
295UCLASS()
296class LOOTLOCKERSDK_API ULootLockerConnectedAccountsRequestHandler : public UObject
297{
298 GENERATED_BODY()
299public:
301
303 static FString DisconnectAccount(const FLootLockerPlayerData& PlayerData, const ELootLockerAccountProvider AccountToDisconnect, const FLootLockerDefaultDelegate& OnComplete);
304 static FString ConnectGoogleAccount(const FLootLockerPlayerData& PlayerData, const FString& IdToken, const FLootLockerAccountConnectedResponseDelegate& OnComplete);
305 static FString ConnectGoogleAccount(const FLootLockerPlayerData& PlayerData, const FString& IdToken, EGoogleAccountProviderPlatform Platform, const FLootLockerAccountConnectedResponseDelegate& OnComplete);
306 static FString ConnectAppleAccountByRestSignIn(const FLootLockerPlayerData& PlayerData, const FString& AuthorizationCode, const FLootLockerAccountConnectedResponseDelegate& OnComplete);
307 static FString ConnectEpicAccount(const FLootLockerPlayerData& PlayerData, const FString& Token, const FLootLockerAccountConnectedResponseDelegate& OnComplete);
308 static FString ConnectPlaystationAccount(const FLootLockerPlayerData& PlayerData, const FString& Environment, const FString& Code, const FLootLockerAccountConnectedResponseDelegate& OnComplete);
309 static FString ConnectDiscordAccount(const FLootLockerPlayerData& PlayerData, const FString& Token, const FLootLockerAccountConnectedResponseDelegate& OnComplete);
310 static FString ConnectTwitchAccount(const FLootLockerPlayerData& PlayerData, const FString& AuthorizationCode, const FLootLockerAccountConnectedResponseDelegate& OnComplete);
311 static FString ConnectRemoteSessionAccount(const FLootLockerPlayerData& PlayerData, const FString& Code, const FString& Nonce, const FLootLockerAccountConnectedResponseDelegate& OnComplete);
312 static FString TransferIdentityProvidersBetweenAccounts(const FLootLockerPlayerData& SourcePlayerData, const FLootLockerPlayerData& TargetPlayerData, TArray<ELootLockerAccountProvider> ProvidersToTransfer, const FLootLockerListConnectedAccountsResponseDelegate& OnComplete);
313};
void(* FLootLockerDefaultDelegate)(FLootLockerResponse)
Definition LootLockerResponse.h:38
Definition LootLockerConnectedAccountsRequestHandler.h:297
ULootLockerConnectedAccountsRequestHandler()
Definition LootLockerConnectedAccountsRequestHandler.h:300
static FString ConnectTwitchAccount(const FLootLockerPlayerData &PlayerData, const FString &AuthorizationCode, const FLootLockerAccountConnectedResponseDelegate &OnComplete)
static FString ConnectRemoteSessionAccount(const FLootLockerPlayerData &PlayerData, const FString &Code, const FString &Nonce, const FLootLockerAccountConnectedResponseDelegate &OnComplete)
static FString ListConnectedAccounts(const FLootLockerPlayerData &PlayerData, const FLootLockerListConnectedAccountsResponseDelegate &OnComplete)
static FString ConnectGoogleAccount(const FLootLockerPlayerData &PlayerData, const FString &IdToken, EGoogleAccountProviderPlatform Platform, const FLootLockerAccountConnectedResponseDelegate &OnComplete)
static FString ConnectPlaystationAccount(const FLootLockerPlayerData &PlayerData, const FString &Environment, const FString &Code, const FLootLockerAccountConnectedResponseDelegate &OnComplete)
static FString ConnectEpicAccount(const FLootLockerPlayerData &PlayerData, const FString &Token, const FLootLockerAccountConnectedResponseDelegate &OnComplete)
static FString TransferIdentityProvidersBetweenAccounts(const FLootLockerPlayerData &SourcePlayerData, const FLootLockerPlayerData &TargetPlayerData, TArray< ELootLockerAccountProvider > ProvidersToTransfer, const FLootLockerListConnectedAccountsResponseDelegate &OnComplete)
static FString DisconnectAccount(const FLootLockerPlayerData &PlayerData, const ELootLockerAccountProvider AccountToDisconnect, const FLootLockerDefaultDelegate &OnComplete)
static FString ConnectAppleAccountByRestSignIn(const FLootLockerPlayerData &PlayerData, const FString &AuthorizationCode, const FLootLockerAccountConnectedResponseDelegate &OnComplete)
static FString ConnectDiscordAccount(const FLootLockerPlayerData &PlayerData, const FString &Token, const FLootLockerAccountConnectedResponseDelegate &OnComplete)
static FString ConnectGoogleAccount(const FLootLockerPlayerData &PlayerData, const FString &IdToken, const FLootLockerAccountConnectedResponseDelegate &OnComplete)
ELootLockerAccountProvider
Account providers possible to use for connected accounts.
Definition LootLockerConnectedAccountsRequestHandler.h:21
void(* FLootLockerListConnectedAccountsResponseDelegate)(FLootLockerListConnectedAccountsResponse)
C++ response delegate for listing connected accounts.
Definition LootLockerConnectedAccountsRequestHandler.h:288
void(* FLootLockerAccountConnectedResponseDelegate)(FLootLockerAccountConnectedResponse)
C++ response delegate for connecting a provider to an account.
Definition LootLockerConnectedAccountsRequestHandler.h:284
EGoogleAccountProviderPlatform
Google OAuth2 Client platform.
Definition LootLockerConnectedAccountsRequestHandler.h:44
Response returned after connecting a provider to a player account, containing the details of the newl...
Definition LootLockerConnectedAccountsRequestHandler.h:253
Holds the provider type and display name of an account that was successfully connected to a player ac...
Definition LootLockerConnectedAccountsRequestHandler.h:230
Request to connect an Apple account to the current player account using an Apple REST Sign In authori...
Definition LootLockerConnectedAccountsRequestHandler.h:112
Request to connect a Discord account to the current player account using a Discord sign-in token.
Definition LootLockerConnectedAccountsRequestHandler.h:159
Request to connect an Epic Games account to the current player account using an Epic sign-in token.
Definition LootLockerConnectedAccountsRequestHandler.h:126
Request to connect a Google account to the current player account using a Google sign-in ID token.
Definition LootLockerConnectedAccountsRequestHandler.h:79
Request to connect a Google account to the current player account using an ID token and a specific OA...
Definition LootLockerConnectedAccountsRequestHandler.h:93
Request to connect a PlayStation account to the current player account using a sign-in code and envir...
Definition LootLockerConnectedAccountsRequestHandler.h:140
Request to connect a remote session lease to the current player account using the lease code and its ...
Definition LootLockerConnectedAccountsRequestHandler.h:187
Request to connect a Twitch account to the current player account using a Twitch authorization code.
Definition LootLockerConnectedAccountsRequestHandler.h:173
Represents an account provider that can be connected to a LootLocker account, identified by provider ...
Definition LootLockerConnectedAccountsRequestHandler.h:57
Response containing the list of account providers currently connected to the player's LootLocker acco...
Definition LootLockerConnectedAccountsRequestHandler.h:267
Definition LootLockerPlayerData.h:12
Base response struct — every SDK callback receives a struct that derives from this.
Definition LootLockerResponse.h:19
Request to transfer one or more identity providers from a source player account to a target player ac...
Definition LootLockerConnectedAccountsRequestHandler.h:206