Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08e8eec206
|
||
|
|
b47de02afe
|
||
|
|
e58522bfd1
|
||
|
|
a3827277b1
|
||
|
|
5c6f9ad18b
|
||
|
|
f3845ef65f
|
||
|
|
1c7b1891f7
|
||
|
|
54bda06bdc
|
||
|
|
f9dbc1f11e
|
||
|
|
16df85607d
|
||
|
|
7ec9e80c3a
|
||
|
|
0f514a2f95
|
||
|
|
14ebc3327b
|
||
|
|
3b6a2341fa
|
||
|
|
fb5babc0f1
|
||
|
|
4db4bf397a
|
||
|
|
6ef49c204c
|
||
|
|
2785c1ae38
|
||
|
|
756abf819d
|
||
|
|
7bfb6c1517
|
||
|
|
f916999716
|
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [1.1.0] - 2023-02-03
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Whitelist Android as a target platform.
|
||||||
|
- Introduce Android support.
|
||||||
|
- Add third-pary library SGConnect for Android v1.1.0.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix Android build issues caused by the log module.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- SGConnect and SGCore libraries have been updated to v2.1.1-0569c74.
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- Removed the enum utils class due to ANY_PACKAGE deprecation warnings in Unreal Engine 5.1.
|
||||||
|
- Support for older versions of the Engine (namely, 4.22, 4.23, 4.24, 4.25, and 4.26) has been dropped.
|
||||||
|
|
||||||
## [1.0.4] - 2022-12-02
|
## [1.0.4] - 2022-12-02
|
||||||
|
|
||||||
This is a minor release focusing mostly on adherence to the Unreal Engine Marketplace Guidelines based on the feedback from Epic Games.
|
This is a minor release focusing mostly on adherence to the Unreal Engine Marketplace Guidelines based on the feedback from Epic Games.
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ The SenseGlove plug-in for Unreal Engine is licensed under the terms of the MIT
|
|||||||
```
|
```
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2020 - 2022 SenseGlove
|
Copyright (c) 2020 - 2023 SenseGlove
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -6,20 +6,21 @@ This repository relies on Git LFS for storing binary blobs (e.g. third-party lib
|
|||||||
|
|
||||||
## Platform Support Matrix
|
## Platform Support Matrix
|
||||||
|
|
||||||
| | **Windows<br>(MSVC 2017)** | **Windows<br>(MSVC 2019)** | **Windows<br>(MSVC 2022)** | **Linux<br>(Native Toolchain)** | **macOS** | **Oculus Mobile<br>(Android NDK r21b)** |
|
| | **Windows (MSVC 2017)** | **Windows (MSVC 2019)** | **Windows (MSVC 2022)** | **Linux (Native Toolchain)** | **macOS** | **Oculus Mobile (Android NDK r21b)** |
|
||||||
|----------|:--------------------------:|:--------------------------:|:--------------------------:|:-------------------------------:|:---------:|:---------------------------------------:|
|
|------|:-----------------------:|:-----------------------:|:-----------------------:|:----------------------------:|:---------:|:------------------------------------:|
|
||||||
| **4.22** | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
|
| 4.22 | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
|
||||||
| **4.23** | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
|
| 4.23 | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
|
||||||
| **4.24** | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
|
| 4.24 | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
|
||||||
| **4.25** | ✅ | ✅ | ❌ | ✅ | ❌ | ❓ |
|
| 4.25 | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
|
||||||
| **4.26** | ✅ | ✅ | ❌ | ✅ | ❌ | ❓ |
|
| 4.26 | ⚠️ v1.0.x | ⚠️ v1.0.x | ❌ | ⚠️ v1.0.x | ❌ | ❌ |
|
||||||
| **4.27** | ✅ | ✅ | ✅ | ✅ | ❌ | ❓ |
|
| 4.27 | ✅ v1.1.x | ✅ v1.1.x | ✅ v1.1.x | ✅ v1.1.x | ❌ | ✅ v1.1.x |
|
||||||
| **5.0** | ❌ | ✅ | ✅ | ✅ | ❌ | ❓ |
|
| 5.0 | ✅ v1.1.x | ✅ v1.1.x | ✅ v1.1.x | ✅ v1.1.x | ❌ | ✅ v1.1.x |
|
||||||
| **5.1** | ❌ | ✅ | ✅ | ✅ | ❌ | ❓ |
|
| 5.1 | ✅ v1.1.x | ✅ v1.1.x | ✅ v1.1.x | ✅ v1.1.x | ❌ | ✅ v1.1.x |
|
||||||
|
|
||||||
* <code>✅</code> Supported
|
* <code>✅</code> Supported
|
||||||
* <code>❌</code> Not Supported
|
* <code>⚠️</code> Not supported by the latest release and might be lacking features
|
||||||
* <code>❓</code> Unknown or Untested
|
* <code>❌</code> Not supported at all
|
||||||
|
* <code>❓</code> Unknown or untested
|
||||||
|
|
||||||
Remarks:
|
Remarks:
|
||||||
* Microsoft Visual Studio 2022 is not supported by Unreal Engine 4.22 through 4.26.
|
* Microsoft Visual Studio 2022 is not supported by Unreal Engine 4.22 through 4.26.
|
||||||
@@ -105,30 +106,6 @@ Source
|
|||||||
│
|
│
|
||||||
├── linux
|
├── linux
|
||||||
│ │
|
│ │
|
||||||
│ ├── v13 (UE 4.22 Linux dependencies)
|
|
||||||
│ │ │
|
|
||||||
│ │ ├── debug
|
|
||||||
│ │ │
|
|
||||||
│ │ └── release
|
|
||||||
│ │
|
|
||||||
│ ├── v15 (UE 4.23 and 4.24 Linux dependencies)
|
|
||||||
│ │ │
|
|
||||||
│ │ ├── debug
|
|
||||||
│ │ │
|
|
||||||
│ │ └── release
|
|
||||||
│ │
|
|
||||||
│ ├── v16 (UE 4.25 Linux dependencies)
|
|
||||||
│ │ │
|
|
||||||
│ │ ├── debug
|
|
||||||
│ │ │
|
|
||||||
│ │ └── release
|
|
||||||
│ │
|
|
||||||
│ ├── v17 (UE 4.26 Linux dependencies)
|
|
||||||
│ │ │
|
|
||||||
│ │ ├── debug
|
|
||||||
│ │ │
|
|
||||||
│ │ └── release
|
|
||||||
│ │
|
|
||||||
│ ├── v19 (UE 4.27 Linux dependencies)
|
│ ├── v19 (UE 4.27 Linux dependencies)
|
||||||
│ │ │
|
│ │ │
|
||||||
│ │ ├── debug
|
│ │ ├── debug
|
||||||
|
|||||||
+25
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"FileVersion": 3,
|
"FileVersion": 3,
|
||||||
"Version": 1,
|
"Version": 1,
|
||||||
"VersionName": "1.0.4",
|
"VersionName": "1.1.0",
|
||||||
"FriendlyName": "SenseGlove",
|
"FriendlyName": "SenseGlove",
|
||||||
"Description": "Integrating the SenseGlove haptic controller into Unreal Engine",
|
"Description": "Integrating the SenseGlove haptic controller into Unreal Engine",
|
||||||
"Category": "Virtual Reality",
|
"Category": "Virtual Reality",
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
"IsExperimentalVersion": false,
|
"IsExperimentalVersion": false,
|
||||||
"Installed": false,
|
"Installed": false,
|
||||||
"SupportedTargetPlatforms": [
|
"SupportedTargetPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
],
|
],
|
||||||
@@ -24,6 +25,17 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "Default",
|
"LoadingPhase": "Default",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
|
"Linux",
|
||||||
|
"Win64"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "SenseGloveAndroid",
|
||||||
|
"Type": "Runtime",
|
||||||
|
"LoadingPhase": "PreDefault",
|
||||||
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -33,6 +45,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -42,6 +55,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -51,6 +65,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -60,6 +75,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -69,6 +85,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -78,6 +95,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -87,6 +105,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -105,6 +124,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -114,6 +134,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -123,6 +144,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -132,6 +154,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
@@ -141,6 +164,7 @@
|
|||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "PreDefault",
|
"LoadingPhase": "PreDefault",
|
||||||
"WhitelistPlatforms": [
|
"WhitelistPlatforms": [
|
||||||
|
"Android",
|
||||||
"Linux",
|
"Linux",
|
||||||
"Win64"
|
"Win64"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -0,0 +1,120 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "SGAndroid/SGConnectJNI.h"
|
||||||
|
|
||||||
|
#if PLATFORM_ANDROID
|
||||||
|
#include "Android/AndroidApplication.h"
|
||||||
|
#include "Android/AndroidJava.h"
|
||||||
|
#endif /* PLATFORM_ANDROID */
|
||||||
|
|
||||||
|
#if PLATFORM_ANDROID
|
||||||
|
#include "SGConnectImpl/SGExportedFunctions.h"
|
||||||
|
#include "SGInterop/SGIC_jclass.h"
|
||||||
|
#include "SGInterop/SGIC_jmethodID.h"
|
||||||
|
#include "SGInterop/SGIC_JNIEnv_Ptr.h"
|
||||||
|
#endif /* PLATFORM_ANDROID */
|
||||||
|
|
||||||
|
int32 FSGConnectJNI::Initialize()
|
||||||
|
{
|
||||||
|
int32 Result = -999999;
|
||||||
|
|
||||||
|
#if PLATFORM_ANDROID
|
||||||
|
static constexpr char SGCONNECT_JAVA_CLASS_NAME[] = "com.senseglove.sgconnect.SGConnect";
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to get the Android JNI environment...");
|
||||||
|
|
||||||
|
JNIEnv* Env = FAndroidApplication::GetJavaEnv();
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!Env)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI environmnet!");
|
||||||
|
return -1999999;
|
||||||
|
}
|
||||||
|
FSGIC_JNIEnv_Ptr InEnvContainer{Env};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android Java class...");
|
||||||
|
|
||||||
|
jclass Class = FAndroidApplication::FindJavaClass(SGCONNECT_JAVA_CLASS_NAME);
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (Env->IsSameObject(Class, nullptr))
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android Java class!");
|
||||||
|
return -2999999;
|
||||||
|
}
|
||||||
|
Class = (jclass)Env->NewGlobalRef(Class);
|
||||||
|
FSGIC_jclass InClassContainer{Class};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android JNI method 'Init'...");
|
||||||
|
|
||||||
|
jmethodID InitMethodID = Env->GetStaticMethodID(Class, "Init", "()I");
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!InitMethodID)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI method 'Init'!");
|
||||||
|
return -3999999;
|
||||||
|
}
|
||||||
|
FSGIC_jmethodID InInitMethodIDContainer{InitMethodID};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android JNI method 'Dispose'...");
|
||||||
|
|
||||||
|
jmethodID DisposeMethodID = Env->GetStaticMethodID(Class, "Dispose", "()I");
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!DisposeMethodID)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI method 'Dispose'!");
|
||||||
|
return -4999999;
|
||||||
|
}
|
||||||
|
FSGIC_jmethodID InDisposeMethodIDContainer{DisposeMethodID};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android JNI method 'GetLibraryVersion'...");
|
||||||
|
|
||||||
|
jmethodID GetLibraryVersionMethodID = Env->GetStaticMethodID(Class, "GetLibraryVersion", "()Ljava/lang/String;");
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!GetLibraryVersionMethodID)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI method 'GetLibraryVersion'!");
|
||||||
|
return -5999999;
|
||||||
|
}
|
||||||
|
FSGIC_jmethodID InGetLibraryVersionMethodIDContainer{GetLibraryVersionMethodID};
|
||||||
|
|
||||||
|
Result = SGConnectImpl_Android_Initialize(&InEnvContainer, &InClassContainer,
|
||||||
|
&InInitMethodIDContainer,
|
||||||
|
&InDisposeMethodIDContainer,
|
||||||
|
&InGetLibraryVersionMethodIDContainer);
|
||||||
|
#endif /* PLATFORM_ANDROID */
|
||||||
|
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
@@ -0,0 +1,134 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "SGAndroid/SGCoreJNI.h"
|
||||||
|
|
||||||
|
#if PLATFORM_ANDROID
|
||||||
|
#include "Android/AndroidApplication.h"
|
||||||
|
#include "Android/AndroidJava.h"
|
||||||
|
#endif /* PLATFORM_ANDROID */
|
||||||
|
|
||||||
|
#if PLATFORM_ANDROID
|
||||||
|
#include "SGCoreImpl/SGExportedFunctions.h"
|
||||||
|
#include "SGInterop/SGIC_jclass.h"
|
||||||
|
#include "SGInterop/SGIC_jmethodID.h"
|
||||||
|
#include "SGInterop/SGIC_JNIEnv_Ptr.h"
|
||||||
|
#endif /* PLATFORM_ANDROID */
|
||||||
|
|
||||||
|
#include "SGLog/SGLog.h"
|
||||||
|
|
||||||
|
int32 FSGCoreJNI::Initialize()
|
||||||
|
{
|
||||||
|
int32 Result = -999999;
|
||||||
|
|
||||||
|
#if PLATFORM_ANDROID
|
||||||
|
static constexpr char SGCONNECT_JAVA_CLASS_NAME[] = "com.senseglove.sgconnect.SGConnect";
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to get the Android JNI environment...");
|
||||||
|
|
||||||
|
JNIEnv* Env = FAndroidApplication::GetJavaEnv();
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!Env)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI environmnet!");
|
||||||
|
return -1999999;
|
||||||
|
}
|
||||||
|
FSGIC_JNIEnv_Ptr InEnvContainer{Env};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android Java class...");
|
||||||
|
|
||||||
|
jclass Class = FAndroidApplication::FindJavaClass(SGCONNECT_JAVA_CLASS_NAME);
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (Env->IsSameObject(Class, nullptr))
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android Java class!");
|
||||||
|
return -2999999;
|
||||||
|
}
|
||||||
|
Class = (jclass)Env->NewGlobalRef(Class);
|
||||||
|
FSGIC_jclass InClassContainer{Class};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android JNI method 'ActiveDevices'...");
|
||||||
|
|
||||||
|
jmethodID ActiveDevicesMethodID = Env->GetStaticMethodID(Class, "ActiveDevices", "()I");
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!ActiveDevicesMethodID)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI method 'ActiveDevices'!");
|
||||||
|
return -3999999;
|
||||||
|
}
|
||||||
|
FSGIC_jmethodID InActiveDevicesMethodIDContainer{ActiveDevicesMethodID};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android JNI method 'GetDeviceString'...");
|
||||||
|
|
||||||
|
jmethodID GetDeviceStringMethodID = Env->GetStaticMethodID(Class, "GetDeviceString", "(I)Ljava/lang/String;");
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!GetDeviceStringMethodID)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI method 'GetDeviceString'!");
|
||||||
|
return -4999999;
|
||||||
|
}
|
||||||
|
FSGIC_jmethodID InGetDeviceStringMethodIDContainer{GetDeviceStringMethodID};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android JNI method 'GetSensorString'...");
|
||||||
|
|
||||||
|
jmethodID GetSensorStringMethodID = Env->GetStaticMethodID(Class, "GetSensorString", "(I)Ljava/lang/String;");
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!GetSensorStringMethodID)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI method 'GetSensorString'!");
|
||||||
|
return -5999999;
|
||||||
|
}
|
||||||
|
FSGIC_jmethodID InGetSensorStringMethodIDContainer{GetSensorStringMethodID};
|
||||||
|
|
||||||
|
SGLOG("FSGCoreJNI: attempting to find the Android JNI method 'WriteHaptics'...");
|
||||||
|
|
||||||
|
jmethodID WriteHapticsMethodID = Env->GetStaticMethodID(Class, "WriteHaptics", "(ILjava/lang/String;)I");
|
||||||
|
FAndroidApplication::CheckJavaException();
|
||||||
|
if (!WriteHapticsMethodID)
|
||||||
|
{
|
||||||
|
SGLOG_ERROR("FSGCoreJNI: failed to get the Android JNI method 'WriteHaptics'!");
|
||||||
|
return -6999999;
|
||||||
|
}
|
||||||
|
FSGIC_jmethodID InWriteHapticsMethodIDContainer{WriteHapticsMethodID};
|
||||||
|
|
||||||
|
Result = SGCoreImpl_Android_Initialize(&InEnvContainer, &InClassContainer,
|
||||||
|
&InActiveDevicesMethodIDContainer,
|
||||||
|
&InGetDeviceStringMethodIDContainer,
|
||||||
|
&InGetSensorStringMethodIDContainer,
|
||||||
|
&InWriteHapticsMethodIDContainer);
|
||||||
|
#endif /* PLATFORM_ANDROID */
|
||||||
|
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "SenseGloveAndroid.h"
|
||||||
|
|
||||||
|
#include "Modules/ModuleManager.h"
|
||||||
|
#include "SenseGloveAndroidModule.h"
|
||||||
|
|
||||||
|
IMPLEMENT_MODULE(FSenseGloveAndroidModule, SenseGloveAndroid)
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "SenseGloveAndroidModule.h"
|
||||||
|
|
||||||
|
#include "SGAndroid/SGConnectJNI.h"
|
||||||
|
#include "SGAndroid/SGCoreJNI.h"
|
||||||
|
#include "SGLog/SGLog.h"
|
||||||
|
|
||||||
|
#define LOCTEXT_NAMESPACE "FSenseGloveAndroidModule"
|
||||||
|
|
||||||
|
void FSenseGloveAndroidModule::StartupModule()
|
||||||
|
{
|
||||||
|
SGLOG("Starting up SenseGloveAndroid module...");
|
||||||
|
|
||||||
|
#if PLATFORM_ANDROID
|
||||||
|
const int32 R1 = FSGConnectJNI::Initialize();
|
||||||
|
const int32 R2 = FSGCoreJNI::Initialize();
|
||||||
|
|
||||||
|
ensureAlwaysMsgf(R1 == 0,
|
||||||
|
TEXT("Failed to initialize the SGConnect JNI bridge to SGConnect for Android! Status Code: %d"), R1);
|
||||||
|
|
||||||
|
ensureAlwaysMsgf(R2 == 0,
|
||||||
|
TEXT("Failed to initialize the SGCore JNI bridge to SGConnect for Android! Status Code: %d"), R2);
|
||||||
|
#endif /* PLATFORM_ANDROID */
|
||||||
|
}
|
||||||
|
|
||||||
|
void FSenseGloveAndroidModule::PreUnloadCallback()
|
||||||
|
{
|
||||||
|
SGLOG("Unloading SenseGloveAndroid module...");
|
||||||
|
}
|
||||||
|
|
||||||
|
void FSenseGloveAndroidModule::PostLoadCallback()
|
||||||
|
{
|
||||||
|
SGLOG("Loading SenseGloveAndroid module has succeeded!");
|
||||||
|
}
|
||||||
|
|
||||||
|
void FSenseGloveAndroidModule::ShutdownModule()
|
||||||
|
{
|
||||||
|
SGLOG("Shutting down SenseGloveAndroid module...");
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef LOCTEXT_NAMESPACE
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
|
||||||
|
#include "Modules/ModuleInterface.h"
|
||||||
|
|
||||||
|
#define LOCTEXT_NAMESPACE "SenseGloveAndroid"
|
||||||
|
|
||||||
|
class FSenseGloveAndroidModule : public IModuleInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void StartupModule() override;
|
||||||
|
virtual void PreUnloadCallback() override;
|
||||||
|
virtual void PostLoadCallback() override;
|
||||||
|
virtual void ShutdownModule() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
#undef LOCTEXT_NAMESPACE
|
||||||
+9
-28
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -35,34 +35,15 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Containers/UnrealString.h"
|
|
||||||
#include "Misc/AssertionMacros.h"
|
|
||||||
#include "Templates/UnrealTemplate.h"
|
|
||||||
#include "UObject/Class.h"
|
|
||||||
#include "UObject/Object.h"
|
|
||||||
#include "UObject/Package.h"
|
|
||||||
#include "UObject/ObjectMacros.h"
|
#include "UObject/ObjectMacros.h"
|
||||||
|
|
||||||
class SENSEGLOVEUTILS_API SGEnumUtils
|
#include "SGConnectJNI.generated.h"
|
||||||
{
|
|
||||||
public:
|
|
||||||
template<typename E>
|
|
||||||
static FORCEINLINE FString ValueToName(const FString& Enum, const E Value)
|
|
||||||
{
|
|
||||||
const UEnum* EnumPtr = FindObject<UEnum>(ANY_PACKAGE, *Enum, true);
|
|
||||||
if (!ensureAlwaysMsgf(EnumPtr, TEXT("No such enum exists!"))) {
|
|
||||||
return FString("None");
|
|
||||||
}
|
|
||||||
return EnumPtr->GetNameByValue(StaticCast<int64>(Value)).ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename E>
|
USTRUCT()
|
||||||
static FORCEINLINE E NameToValue(const FString& Enum, const FString& Name)
|
struct SENSEGLOVEANDROID_API FSGConnectJNI
|
||||||
{
|
{
|
||||||
UEnum* EnumPtr = FindObject<UEnum>(ANY_PACKAGE, *Enum, true);
|
GENERATED_BODY()
|
||||||
if (!ensureAlwaysMsgf(EnumPtr, TEXT("No such enum exists!"))) {
|
|
||||||
return StaticCast<E>(0);
|
public:
|
||||||
}
|
static int32 Initialize();
|
||||||
return StaticCast<E>(EnumPtr->GetValueByName(FName(*Name)));
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
|
||||||
|
#include "UObject/ObjectMacros.h"
|
||||||
|
|
||||||
|
#include "SGCoreJNI.generated.h"
|
||||||
|
|
||||||
|
USTRUCT()
|
||||||
|
struct SENSEGLOVEANDROID_API FSGCoreJNI
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
static int32 Initialize();
|
||||||
|
};
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using UnrealBuildTool;
|
||||||
|
|
||||||
|
public class SenseGloveAndroid : ModuleRules
|
||||||
|
{
|
||||||
|
public SenseGloveAndroid(ReadOnlyTargetRules Target) : base(Target)
|
||||||
|
{
|
||||||
|
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||||
|
|
||||||
|
PublicDependencyModuleNames.AddRange(
|
||||||
|
new string[]
|
||||||
|
{
|
||||||
|
"Core",
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
PrivateDependencyModuleNames.AddRange(
|
||||||
|
new string[]
|
||||||
|
{
|
||||||
|
"CoreUObject",
|
||||||
|
"Engine",
|
||||||
|
"SenseGloveConnectImpl",
|
||||||
|
"SenseGloveCoreImpl",
|
||||||
|
"SenseGloveInterop",
|
||||||
|
"SenseGloveLog",
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
if (Target.Platform == UnrealTargetPlatform.Android)
|
||||||
|
{
|
||||||
|
PrivateDependencyModuleNames.AddRange(
|
||||||
|
new string[]
|
||||||
|
{
|
||||||
|
"Launch",
|
||||||
|
"Settings",
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "SenseGloveAndroid_UPL.xml"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,209 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
@author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
|
||||||
|
@section LICENSE
|
||||||
|
|
||||||
|
(The MIT License)
|
||||||
|
|
||||||
|
Copyright (c) 2020 - 2023 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- https://docs.unrealengine.com/en-US/SharingAndReleasing/Mobile/UnrealPluginLanguage/index.html -->
|
||||||
|
|
||||||
|
<root xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<init>
|
||||||
|
<log text="SenseGloveAndroid [INIT]: adding properties to the manifest and Gradle"/>
|
||||||
|
<trace enable="true"/>
|
||||||
|
|
||||||
|
<setBool result="bSupportedArch" value="false"/>
|
||||||
|
|
||||||
|
<isArch arch="armeabi-v7a">
|
||||||
|
<setBool result="bSupportedArch" value="false"/>
|
||||||
|
</isArch>
|
||||||
|
|
||||||
|
<isArch arch="arm64-v8a">
|
||||||
|
<setBool result="bSupportedArch" value="true"/>
|
||||||
|
</isArch>
|
||||||
|
|
||||||
|
<isArch arch="x86">
|
||||||
|
<setBool result="bSupportedArch" value="false"/>
|
||||||
|
</isArch>
|
||||||
|
|
||||||
|
<isArch arch="x86_64">
|
||||||
|
<setBool result="bSupportedArch" value="false"/>
|
||||||
|
</isArch>
|
||||||
|
|
||||||
|
<if condition="bSupportedArch">
|
||||||
|
<false>
|
||||||
|
<log text="SenseGloveAndroid [WARN]: this architecture is not supported!"/>
|
||||||
|
</false>
|
||||||
|
</if>
|
||||||
|
</init>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<prebuildCopies>
|
||||||
|
<copyDir src="$S(PluginDir)/Private/Java" dst="$S(BuildDir)/src/com/senseglove/sgconnect" />
|
||||||
|
</prebuildCopies>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<resourceCopies>
|
||||||
|
<isArch arch="arm64-v8a">
|
||||||
|
<if condition="Distribution">
|
||||||
|
<true>
|
||||||
|
<!--
|
||||||
|
<copyFile src="$S(PluginDir)/ThirdParty/lib/oculus/release/somelib.so"
|
||||||
|
dst="$S(BuildDir)/libs/$S(Architecture)/somelib.so" />
|
||||||
|
-->
|
||||||
|
</true>
|
||||||
|
<false>
|
||||||
|
<!--
|
||||||
|
<copyFile src="$S(PluginDir)/ThirdParty/lib/oculus/debug/somelib.so"
|
||||||
|
dst="$S(BuildDir)/libs/$S(Architecture)/somelib.so" />
|
||||||
|
-->
|
||||||
|
</false>
|
||||||
|
</if>
|
||||||
|
</isArch>
|
||||||
|
|
||||||
|
<copyFile src="$S(PluginDir)/../ThirdParty/android/sgconnect.jar" dst="$S(BuildDir)/gradle/app/libs/sgconnect.jar" />
|
||||||
|
</resourceCopies>
|
||||||
|
|
||||||
|
<gradleProperties>
|
||||||
|
<insert>
|
||||||
|
<!--android.useAndroidX=true
|
||||||
|
android.enableJetifier=true-->
|
||||||
|
kapt.incremental.apt=true
|
||||||
|
</insert>
|
||||||
|
</gradleProperties>
|
||||||
|
|
||||||
|
<proguardAdditions>
|
||||||
|
<insert>
|
||||||
|
|
||||||
|
<!-- Disable obfuscation for SenseGlove classes -->
|
||||||
|
-dontwarn com.senseglove.**
|
||||||
|
-keep class com.senseglove.** { *; }
|
||||||
|
-keep interface com.senseglove.** { *; }
|
||||||
|
-keep public class com.senseglove.sgconnect.** { public protected *; }
|
||||||
|
|
||||||
|
<!-- Disable obfuscation for AndroidX classes -->
|
||||||
|
<!---dontwarn androidx.**
|
||||||
|
-keep class androidx.** { *; }
|
||||||
|
-keep interface androidx.** { *; }-->
|
||||||
|
|
||||||
|
</insert>
|
||||||
|
</proguardAdditions>
|
||||||
|
|
||||||
|
<soLoadLibrary>
|
||||||
|
<!--
|
||||||
|
<loadLibrary name="somelib" failmsg="SenseGlove [WARN]: somelib.so library failed to load!" />
|
||||||
|
-->
|
||||||
|
</soLoadLibrary>
|
||||||
|
|
||||||
|
<androidManifestUpdates>
|
||||||
|
|
||||||
|
<!-- For target SDK 31 update the SplashActivity activity -->
|
||||||
|
<loopElements tag="activity">
|
||||||
|
<setStringFromAttribute result="activityName" tag="$" name="android:name"/>
|
||||||
|
<setBoolIsEqual result="bSplashActivity" arg1="$S(activityName)" arg2="com.epicgames.ue4.SplashActivity"/>
|
||||||
|
<if condition="bSplashActivity">
|
||||||
|
<true>
|
||||||
|
<addAttribute tag="$" name="android:exported" value="true"/>
|
||||||
|
</true>
|
||||||
|
</if>
|
||||||
|
</loopElements>
|
||||||
|
|
||||||
|
<addElements tag="application">
|
||||||
|
<!--
|
||||||
|
<addAttribute tag="application" name="android:requestSomeThingHere" value="true"/>
|
||||||
|
-->
|
||||||
|
</addElements>
|
||||||
|
|
||||||
|
<addPermission android:name="android.permission.BLUETOOTH"/>
|
||||||
|
<addPermission android:name="android.permission.BLUETOOTH_ADMIN"/>
|
||||||
|
<addPermission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
|
||||||
|
<addPermission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||||
|
|
||||||
|
</androidManifestUpdates>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<AARImports>
|
||||||
|
<insertValue value="repository $S(PluginDir)/../../ThirdParty/android"/>
|
||||||
|
<insertNewline/>
|
||||||
|
<insertValue value="com.senseglove.sgconnect,sgconnect-android,release" />
|
||||||
|
<insertNewline/>
|
||||||
|
</AARImports>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<buildGradleAdditions>
|
||||||
|
<insert>
|
||||||
|
ext {
|
||||||
|
android {
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
minifyEnabled false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
jcenter()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation files('libs/sgconnect.jar')
|
||||||
|
}
|
||||||
|
|
||||||
|
</insert>
|
||||||
|
</buildGradleAdditions>
|
||||||
|
|
||||||
|
<baseBuildGradleAdditions>
|
||||||
|
<insert>
|
||||||
|
allprojects {
|
||||||
|
def mappings = [
|
||||||
|
]
|
||||||
|
beforeEvaluate {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</insert>
|
||||||
|
</baseBuildGradleAdditions>
|
||||||
|
|
||||||
|
<buildscriptGradleAdditions>
|
||||||
|
</buildscriptGradleAdditions>
|
||||||
|
|
||||||
|
<gradleCopies>
|
||||||
|
</gradleCopies>
|
||||||
|
|
||||||
|
<buildXmlPropertyAdditions>
|
||||||
|
</buildXmlPropertyAdditions>
|
||||||
|
|
||||||
|
<minimumSDKAPI>
|
||||||
|
</minimumSDKAPI>
|
||||||
|
|
||||||
|
<gameActivityImportAdditions>
|
||||||
|
<insert>
|
||||||
|
import com.senseglove.*;
|
||||||
|
</insert>
|
||||||
|
</gameActivityImportAdditions>
|
||||||
|
</root>
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "SGBuildHacks/SGInclude_Connect_Android.h"
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "SGBuildHacks/SGInclude_Core_Android.h"
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "HAL/Platform.h"
|
||||||
|
|
||||||
|
#include "SGBuildHacks/SGUndef_TEXT.h"
|
||||||
|
|
||||||
|
THIRD_PARTY_INCLUDES_START
|
||||||
|
#include "SenseGlove/Connect/Android.hpp"
|
||||||
|
THIRD_PARTY_INCLUDES_END
|
||||||
|
|
||||||
|
#include "SGBuildHacks/SGRestore_TEXT.h"
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @author Mamadou Babaei <mamadou@senseglove.com>
|
||||||
|
*
|
||||||
|
* @section LICENSE
|
||||||
|
*
|
||||||
|
* (The MIT License)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 - 2023 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
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "HAL/Platform.h"
|
||||||
|
|
||||||
|
#include "SGBuildHacks/SGUndef_TEXT.h"
|
||||||
|
|
||||||
|
THIRD_PARTY_INCLUDES_START
|
||||||
|
#include "SenseGlove/Core/Android.hpp"
|
||||||
|
THIRD_PARTY_INCLUDES_END
|
||||||
|
|
||||||
|
#include "SGBuildHacks/SGRestore_TEXT.h"
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* (The MIT License)
|
* (The MIT License)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 - 2022 SenseGlove
|
* Copyright (c) 2020 - 2023 SenseGlove
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user