SDKs code references for Unreal Engine
Easily embed Xsolla services with this ready-to-use libraries for Unreal Engine applications and games.
XsollaOrderCheckObject.h
1// Copyright 2024 Xsolla Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "XsollaStoreDataModel.h"
7#include "Engine/EngineTypes.h"
8#include "Engine/World.h"
9#include "TimerManager.h"
10#include "XsollaUtilsHttpRequestHelper.h"
11#include "XsollaOrderCheckObject.generated.h"
12
13struct FOrderStatusData;
14
15DECLARE_DELEGATE_OneParam(FOnOrderCheckSuccess, int32);
16DECLARE_DELEGATE_ThreeParams(FOnOrderCheckError, int32, int32, const FString&);
17DECLARE_DELEGATE_ThreeParams(FOnOrderCheck, int32, EXsollaOrderStatus, FXsollaOrderContent);
18
19UCLASS(BlueprintType)
20class UXsollaOrderCheckObject : public UObject
21{
22 GENERATED_BODY()
23
24public:
25 void Init(const FString& InAccessToken, const int32 InOrderId, bool bShouldStartWithCentrifugo,
26 const FOnOrderCheckSuccess& InOnSuccess, const FOnOrderCheckError& InOnError, int32 InShortPollingLifeTime = 600);
27
28 UFUNCTION(BlueprintCallable, Category = "Xsolla|Store|OrderCheck")
29 void Destroy();
30
31 const FString& GetAccessToken() const;
32
33private:
34 FOnOrderCheckSuccess OnSuccess;
35
36 FOnOrderCheckError OnError;
37
38 FString AccessToken;
39
40 int32 OrderId;
41
42 int32 ShortPollingLifeTime;
43
44 FTimerHandle ShortPollingTimerHandle;
45
46 bool bShortPollingExpired = false;
47
48 void OnConnectionError();
49
50 void OnOrderStatusUpdated(const FOrderStatusData Data);
51
52 void OnClosed();
53
54 void OnShortPollingExpired();
55
56 void StartCentrifugoTracking();
57
58 void StopCentrifugoTracking();
59
60 void ActivateShortPolling();
61
62 void ShortPollingCheckOrder();
63
64 void CheckOrder_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
65 const bool bSucceeded, FOnOrderCheck SuccessCallback, FOnOrderCheckError ErrorCallback);
66};
Definition: XsollaOrderCheckObject.h:21
Definition: XsollaStoreDataModel.h:41