From 2415f5df72265afb368d5189b91cbe6242da4e5f Mon Sep 17 00:00:00 2001 From: Grigoriy Date: Mon, 12 Mar 2018 00:30:49 +0300 Subject: First commit --- Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp | 65 ++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp (limited to 'Source/NVIDIAGfeSDK/Private/GfeSDKCore.cpp') 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 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(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); +} -- cgit v1.2.3