aboutsummaryrefslogtreecommitdiff
path: root/Source/NVIDIAGfeSDK/Private/FNVIDIAGfeSDK.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/NVIDIAGfeSDK/Private/FNVIDIAGfeSDK.h')
-rw-r--r--Source/NVIDIAGfeSDK/Private/FNVIDIAGfeSDK.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/Source/NVIDIAGfeSDK/Private/FNVIDIAGfeSDK.h b/Source/NVIDIAGfeSDK/Private/FNVIDIAGfeSDK.h
new file mode 100644
index 0000000..f021576
--- /dev/null
+++ b/Source/NVIDIAGfeSDK/Private/FNVIDIAGfeSDK.h
@@ -0,0 +1,46 @@
+/* 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.
+ */
+
+#pragma once
+
+#include "NVIDIAGfeSDKPrivatePCH.h"
+#include "../Public/INVIDIAGfeSDK.h"
+
+namespace GfeSDK {
+ class Core;
+ class Highlights;
+}
+
+DECLARE_LOG_CATEGORY_EXTERN(LogGfeSDK, Log, All);
+
+class FNVIDIAGfeSDK : public INVIDIAGfeSDK
+{
+public:
+ FNVIDIAGfeSDK(): GFEHandle(nullptr) {}
+ virtual ~FNVIDIAGfeSDK() {}
+
+ virtual void StartupModule() override;
+ virtual void ShutdownModule() override;
+
+ virtual GfeSDK::NVGSDK_RetCode SetFileLogLevel(ELogVerbosity::Type Level);
+ virtual GfeSDK::NVGSDK_RetCode SetUnrealLogLevel(ELogVerbosity::Type Level);
+
+ virtual EGfeSDKReturnCode Create(FGfeSDKCreateInputParams const& InputParams, FGfeSDKCreateResponse& Response);
+ virtual void Release();
+ virtual FGfeSDKCore* Core();
+ virtual FGfeSDKHighlights* Highlights();
+
+private:
+ void* LibHandle = nullptr;
+
+ TUniquePtr<FGfeSDKHighlights> SdkHighlights;
+ TUniquePtr<FGfeSDKCore> SdkCore;
+ // SDK handle for C interface
+ GfeSDK::NVGSDK_HANDLE* GFEHandle;
+};