aboutsummaryrefslogtreecommitdiff
path: root/Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp
diff options
context:
space:
mode:
authorGrigoriy <[email protected]>2018-03-12 00:30:49 +0300
committerGrigoriy <[email protected]>2018-03-12 00:30:49 +0300
commit2415f5df72265afb368d5189b91cbe6242da4e5f (patch)
treefa8a83d9e74b9d1c276e2f34f5a71fe7d6e91680 /Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp
parentDelete .gitignore (diff)
downloadgfesdk-ue4plugin-2415f5df72265afb368d5189b91cbe6242da4e5f.tar.xz
gfesdk-ue4plugin-2415f5df72265afb368d5189b91cbe6242da4e5f.zip
First commit
Diffstat (limited to 'Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp')
-rw-r--r--Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp b/Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp
new file mode 100644
index 0000000..8abd970
--- /dev/null
+++ b/Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp
@@ -0,0 +1,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);
+}