/** * @file * * @author Mamadou Babaei * * @section LICENSE * * (The MIT License) * * Copyright (c) 2020 - 2026 SenseGlove * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * * @section DESCRIPTION * * */ #pragma once /* Defines a C++ like static_assert. */ #if ! __cplusplus #include #endif /* ! __cplusplus */ /* Contains __bool_true_false_are_defined macro that can be used in order to check whether boolean type is supported by the compiler or not. */ #include #include "CoreTypes.h" /* Check at compile time whether the C compiler has support for bool, true, and false macros. */ static_assert(__bool_true_false_are_defined, "Error: bool, true, and false are not defined!"); #if defined ( SENSEGLOVE_BUILDING_CONNECT_IMPL_MODULE ) #define SENSEGLOVECONNECTIMPL_PUBLIC_API DLLEXPORT #else #define SENSEGLOVECONNECTIMPL_PUBLIC_API DLLIMPORT #endif /* defined ( SENSEGLOVE_BUILDING_CONNECT_IMPL_MODULE ) */ /* If C++ is used, switch to C mode in order to prevent the C++ name mangling of method names. */ #if __cplusplus extern "C" { #endif /* __cplusplus */ /******************************************************************************* * Exceptional function calls ******************************************************************************/ #if PLATFORM_ANDROID SENSEGLOVECONNECTIMPL_PUBLIC_API int32 SGConnectImpl_Android_Initialize( void* InEnv, void* InClass, void* InInitMethodID, void* InDisposeMethodID, void* InGetLibraryVersionMethodID, void* StoragePath); #endif /* PLATFORM_ANDROID */ /******************************************************************************* * SGConnectImpl.h ******************************************************************************/ SENSEGLOVECONNECTIMPL_PUBLIC_API int32 SGConnectImpl_Init(); SENSEGLOVECONNECTIMPL_PUBLIC_API int32 SGConnectImpl_Dispose(); SENSEGLOVECONNECTIMPL_PUBLIC_API void SGConnectImpl_GetLibraryVersion(void* OutVersion); /******************************************************************************* ******************************************************************************/ #if __cplusplus } #endif /* __cplusplus */