1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
/* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
*
* NVIDIA CORPORATION and its licensors retain all intellectual property
* and proprietary rights in and to this software, related documentation
* and any modifications thereto. Any use, reproduction, disclosure or
* distribution of this software and related documentation without an express
* license agreement from NVIDIA CORPORATION is strictly prohibited.
*/
#include "GfeSDKCore.h"
#include "NVIDIAGfeSDKPrivatePCH.h"
#define VALIDATE_MODULE_CORE() \
if (!GFEHandle && Callback) \
{ \
Callback(GfeSDK::NVGSDK_ERR_MODULE_NOT_LOADED, Context); \
return; \
}
#define VALIDATE_MODULE_CORE_SPECIALIZED() \
if (!GFEHandle && Callback) \
{ \
Callback(GfeSDK::NVGSDK_ERR_MODULE_NOT_LOADED, nullptr, Context); \
return; \
}
FGfeSDKCore::FGfeSDKCore(GfeSDK::NVGSDK_HANDLE* GFEHandle_)
: GFEHandle(GFEHandle_)
{
}
FGfeSDKCore::~FGfeSDKCore()
{
}
void FGfeSDKCore::Poll()
{
if (GFEHandle)
GfeSDK::NVGSDK_Poll(GFEHandle);
}
void FGfeSDKCore::RequestPermissionsAsync(FGfeSDKRequestPermissionsParams const& Params, GfeSDK::NVGSDK_EmptyCallback Callback, void* Context)
{
VALIDATE_MODULE_CORE();
std::vector<GfeSDK::NVGSDK_Scope> Scopes(Params.Scopes.Num());
for (int32 i = 0; i < Params.Scopes.Num(); i++)
{
Scopes[i] = TranslateEnum(kScopeUnrealToSdk, Params.Scopes[i], GfeSDK::NVGSDK_SCOPE_MAX);
}
GfeSDK::NVGSDK_RequestPermissionsParams cParams;
cParams.scopeTable = const_cast<GfeSDK::NVGSDK_Scope*>(Scopes.data());
cParams.scopeTableSize = Scopes.size();
GfeSDK::NVGSDK_RequestPermissionsAsync(GFEHandle, &cParams, Callback, Context);
}
void FGfeSDKCore::GetUILanguageAsync(GfeSDK::NVGSDK_GetUILanguageCallback Callback, void* Context)
{
VALIDATE_MODULE_CORE_SPECIALIZED();
GfeSDK::NVGSDK_GetUILanguageAsync(GFEHandle, Callback, Context);
}
|