aboutsummaryrefslogtreecommitdiff
path: root/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/bindings/cpp/isdk_cpp.h
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 /ThirdParty/NVIDIAGfeSDK/Include/gfesdk/bindings/cpp/isdk_cpp.h
parentDelete .gitignore (diff)
downloadgfesdk-ue4plugin-2415f5df72265afb368d5189b91cbe6242da4e5f.tar.xz
gfesdk-ue4plugin-2415f5df72265afb368d5189b91cbe6242da4e5f.zip
First commit
Diffstat (limited to 'ThirdParty/NVIDIAGfeSDK/Include/gfesdk/bindings/cpp/isdk_cpp.h')
-rw-r--r--ThirdParty/NVIDIAGfeSDK/Include/gfesdk/bindings/cpp/isdk_cpp.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/bindings/cpp/isdk_cpp.h b/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/bindings/cpp/isdk_cpp.h
new file mode 100644
index 0000000..f2c0d03
--- /dev/null
+++ b/ThirdParty/NVIDIAGfeSDK/Include/gfesdk/bindings/cpp/isdk_cpp.h
@@ -0,0 +1,56 @@
+/* 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.
+*/
+
+/*!
+ * \file
+ * C++ bindings for GfeSDK.
+ */
+
+#ifndef GFESDK_ISDK_CPP_H
+#define GFESDK_ISDK_CPP_H
+
+#include "sdk_types_cpp.h"
+
+namespace GfeSDK
+{
+// Avoid polluting global namespace with C api, so put it inside namespace
+#include <gfesdk/isdk.h>
+
+// Static functions that don't depend on an instance of the SDK
+// Giving an alias to these to remove the NVGSDK_ prefix in lieu of the namespace
+/*! C++ binding for \ref NVGSDK_SetLogLevel */
+inline NVGSDK_RetCode SetFileLogLevel(NVGSDK_LogLevel level) { return NVGSDK_SetLogLevel(level); }
+/*! C++ binding for \ref NVGSDK_AttachLogListener */
+inline NVGSDK_RetCode AttachLogListener(NVGSDK_LoggingCallback callback) { return NVGSDK_AttachLogListener(callback); }
+/*! C++ binding for \ref NVGSDK_SetListenerLogLevel */
+inline NVGSDK_RetCode SetListenerLogLevel(NVGSDK_LogLevel level) { return NVGSDK_SetListenerLogLevel(level); }
+/*! C++ binding for NVGSDK_RetCodeToString */
+inline const char* RetCodeToString(NVGSDK_RetCode rc) { return NVGSDK_RetCodeToString(rc); }
+
+/*! C++ Core interface */
+class Core
+{
+public:
+ /*! C++ binding for \ref NVGSDK_Create */
+ static Core* Create(CreateInputParams const&, CreateResponse&);
+ virtual ~Core() {}
+
+ /*! C++ binding for \ref NVGSDK_Poll */
+ virtual NVGSDK_RetCode Poll(void) = 0;
+ /*! C++ binding for \ref NVGSDK_RequestPermissionsAsync */
+ virtual void RequestPermissionsAsync(RequestPermissionsParams const&, TCallback cb = nullptr, void* cbContext = nullptr) = 0;
+ /*! C++ binding for \ref NVGSDK_GetUILanguageAsync */
+ virtual void GetUILanguageAsync(TGetUILanguageCallback cb = nullptr, void* cbContext = nullptr) = 0;
+
+ // Return the C API handle;
+ virtual NVGSDK_HANDLE* GetHandle() = 0;
+};
+}
+
+#endif //GFESDK_ISDK_CPP_H