react-native-nitro-geolocation 1.2.6 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/README.md +52 -295
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/AndroidManifest.xml +39 -0
  4. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidFusedLocationProvider.kt +310 -0
  5. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidFusedRequestFactory.kt +31 -0
  6. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationConversions.kt +71 -0
  7. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationErrors.kt +85 -0
  8. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidGeolocationOptions.kt +92 -0
  9. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidLocationSettings.kt +3 -0
  10. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/AndroidProviderRoute.kt +74 -0
  11. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroBackgroundLocation.kt +132 -0
  12. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/NitroGeolocation.kt +219 -476
  13. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundHttpSync.kt +134 -0
  14. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundPermissions.kt +196 -0
  15. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/AndroidBackgroundSerialization.kt +266 -0
  16. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroActivityRecognitionReceiver.kt +13 -0
  17. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundEventHub.kt +65 -0
  18. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundHeadlessTaskService.kt +58 -0
  19. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundLocationController.kt +710 -0
  20. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundLocationService.kt +48 -0
  21. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundNotificationFactory.kt +37 -0
  22. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBackgroundStore.kt +655 -0
  23. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroBootReceiver.kt +26 -0
  24. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroGeofenceReceiver.kt +14 -0
  25. package/android/src/main/java/com/margelo/nitro/nitrogeolocation/background/NitroLocationUpdateReceiver.kt +37 -0
  26. package/android/src/test/java/com/margelo/nitro/nitrogeolocation/AndroidFusedLocationProviderTest.kt +64 -0
  27. package/android/src/test/java/com/margelo/nitro/nitrogeolocation/AndroidProviderRouteTest.kt +116 -0
  28. package/ios/IOSBackgroundHttpSync.swift +126 -0
  29. package/ios/IOSBackgroundLocationDelegate.swift +36 -0
  30. package/ios/IOSBackgroundMotion.swift +55 -0
  31. package/ios/IOSBackgroundSerialization.swift +539 -0
  32. package/ios/IOSGeolocationConversions.swift +131 -0
  33. package/ios/IOSGeolocationDelegate.swift +31 -0
  34. package/ios/IOSGeolocationErrors.swift +39 -0
  35. package/ios/IOSGeolocationOptions.swift +135 -0
  36. package/ios/NitroBackgroundLocation.swift +849 -0
  37. package/ios/NitroGeolocation.swift +14 -347
  38. package/nitrogen/generated/android/c++/JActivityRecognitionOptions.hpp +69 -0
  39. package/nitrogen/generated/android/c++/JAndroidBackgroundLocationOptions.hpp +74 -0
  40. package/nitrogen/generated/android/c++/JAndroidBackgroundLocationStatus.hpp +67 -0
  41. package/nitrogen/generated/android/c++/JAndroidBackgroundProvider.hpp +61 -0
  42. package/nitrogen/generated/android/c++/JAndroidForegroundServiceOptions.hpp +90 -0
  43. package/nitrogen/generated/android/c++/JBackgroundEventEnvelope.hpp +129 -0
  44. package/nitrogen/generated/android/c++/JBackgroundEventType.hpp +70 -0
  45. package/nitrogen/generated/android/c++/JBackgroundHttpMethod.hpp +61 -0
  46. package/nitrogen/generated/android/c++/JBackgroundHttpSyncOptions.hpp +131 -0
  47. package/nitrogen/generated/android/c++/JBackgroundHttpSyncResult.hpp +111 -0
  48. package/nitrogen/generated/android/c++/JBackgroundLocation.hpp +110 -0
  49. package/nitrogen/generated/android/c++/JBackgroundLocationOptions.hpp +162 -0
  50. package/nitrogen/generated/android/c++/JBackgroundLocationSource.hpp +73 -0
  51. package/nitrogen/generated/android/c++/JBackgroundLocationState.hpp +70 -0
  52. package/nitrogen/generated/android/c++/JBackgroundLocationStatus.hpp +126 -0
  53. package/nitrogen/generated/android/c++/JBackgroundPermissionResult.hpp +79 -0
  54. package/nitrogen/generated/android/c++/JBackgroundPermissionStatus.hpp +64 -0
  55. package/nitrogen/generated/android/c++/JBackgroundTrackingMode.hpp +61 -0
  56. package/nitrogen/generated/android/c++/JBatterySnapshot.hpp +61 -0
  57. package/nitrogen/generated/android/c++/JDetectedActivity.hpp +66 -0
  58. package/nitrogen/generated/android/c++/JDetectedActivityType.hpp +76 -0
  59. package/nitrogen/generated/android/c++/JFunc_void_BackgroundEventEnvelope.hpp +114 -0
  60. package/nitrogen/generated/android/c++/JFunc_void_BackgroundLocation.hpp +95 -0
  61. package/nitrogen/generated/android/c++/JGeofenceEvent.hpp +94 -0
  62. package/nitrogen/generated/android/c++/JGeofenceRegion.hpp +112 -0
  63. package/nitrogen/generated/android/c++/JGeofenceTransition.hpp +61 -0
  64. package/nitrogen/generated/android/c++/JGeofencingOptions.hpp +82 -0
  65. package/nitrogen/generated/android/c++/JGetStoredBackgroundEventsOptions.hpp +90 -0
  66. package/nitrogen/generated/android/c++/JGetStoredBackgroundLocationsOptions.hpp +69 -0
  67. package/nitrogen/generated/android/c++/JHybridNitroBackgroundLocationSpec.cpp +662 -0
  68. package/nitrogen/generated/android/c++/JHybridNitroBackgroundLocationSpec.hpp +89 -0
  69. package/nitrogen/generated/android/c++/JIOSBackgroundActivityType.hpp +67 -0
  70. package/nitrogen/generated/android/c++/JIOSBackgroundLocationOptions.hpp +79 -0
  71. package/nitrogen/generated/android/c++/JIOSBackgroundLocationStatus.hpp +61 -0
  72. package/nitrogen/generated/android/c++/JLocationProviderStatus.hpp +5 -1
  73. package/nitrogen/generated/android/c++/JStoredBackgroundEventEnvelope.hpp +115 -0
  74. package/nitrogen/generated/android/c++/JStoredBackgroundLocation.hpp +122 -0
  75. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean_String_Double.cpp +34 -0
  76. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean_String_Double.hpp +100 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/ActivityRecognitionOptions.kt +66 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundLocationOptions.kt +66 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundLocationStatus.kt +61 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidBackgroundProvider.kt +24 -0
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AndroidForegroundServiceOptions.kt +91 -0
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundEventEnvelope.kt +96 -0
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundEventType.kt +27 -0
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpMethod.kt +24 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpSyncOptions.kt +101 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundHttpSyncResult.kt +71 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocation.kt +96 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationOptions.kt +136 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationSource.kt +28 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationState.kt +27 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundLocationStatus.kt +116 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundPermissionResult.kt +71 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundPermissionStatus.kt +25 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BackgroundTrackingMode.kt +24 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/BatterySnapshot.kt +56 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/DetectedActivity.kt +61 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/DetectedActivityType.kt +29 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_BackgroundEventEnvelope.kt +80 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_BackgroundLocation.kt +80 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceEvent.kt +66 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceRegion.kt +96 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofenceTransition.kt +24 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeofencingOptions.kt +56 -0
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GetStoredBackgroundEventsOptions.kt +66 -0
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GetStoredBackgroundLocationsOptions.kt +66 -0
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroBackgroundLocationSpec.kt +174 -0
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundActivityType.kt +26 -0
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundLocationOptions.kt +76 -0
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/IOSBackgroundLocationStatus.kt +56 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderStatus.kt +7 -2
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/StoredBackgroundEventEnvelope.kt +76 -0
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/StoredBackgroundLocation.kt +111 -0
  113. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Variant_NullType_Boolean_String_Double.kt +88 -0
  114. package/nitrogen/generated/android/nitrogeolocation+autolinking.cmake +3 -0
  115. package/nitrogen/generated/android/nitrogeolocationOnLoad.cpp +20 -0
  116. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.cpp +104 -15
  117. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.hpp +1107 -50
  118. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Umbrella.hpp +102 -0
  119. package/nitrogen/generated/ios/NitroGeolocationAutolinking.mm +8 -0
  120. package/nitrogen/generated/ios/NitroGeolocationAutolinking.swift +15 -3
  121. package/nitrogen/generated/ios/c++/HybridNitroBackgroundLocationSpecSwift.cpp +11 -0
  122. package/nitrogen/generated/ios/c++/HybridNitroBackgroundLocationSpecSwift.hpp +416 -0
  123. package/nitrogen/generated/ios/swift/ActivityRecognitionOptions.swift +96 -0
  124. package/nitrogen/generated/ios/swift/AndroidBackgroundLocationOptions.swift +76 -0
  125. package/nitrogen/generated/ios/swift/AndroidBackgroundLocationStatus.swift +58 -0
  126. package/nitrogen/generated/ios/swift/AndroidBackgroundProvider.swift +44 -0
  127. package/nitrogen/generated/ios/swift/AndroidForegroundServiceOptions.swift +160 -0
  128. package/nitrogen/generated/ios/swift/BackgroundEventEnvelope.swift +110 -0
  129. package/nitrogen/generated/ios/swift/BackgroundEventType.swift +56 -0
  130. package/nitrogen/generated/ios/swift/BackgroundHttpMethod.swift +44 -0
  131. package/nitrogen/generated/ios/swift/BackgroundHttpSyncOptions.swift +259 -0
  132. package/nitrogen/generated/ios/swift/BackgroundHttpSyncResult.swift +87 -0
  133. package/nitrogen/generated/ios/swift/BackgroundLocation.swift +118 -0
  134. package/nitrogen/generated/ios/swift/BackgroundLocationOptions.swift +292 -0
  135. package/nitrogen/generated/ios/swift/BackgroundLocationSource.swift +60 -0
  136. package/nitrogen/generated/ios/swift/BackgroundLocationState.swift +56 -0
  137. package/nitrogen/generated/ios/swift/BackgroundLocationStatus.swift +124 -0
  138. package/nitrogen/generated/ios/swift/BackgroundPermissionResult.swift +81 -0
  139. package/nitrogen/generated/ios/swift/BackgroundPermissionStatus.swift +48 -0
  140. package/nitrogen/generated/ios/swift/BackgroundTrackingMode.swift +44 -0
  141. package/nitrogen/generated/ios/swift/BatterySnapshot.swift +60 -0
  142. package/nitrogen/generated/ios/swift/DetectedActivity.swift +39 -0
  143. package/nitrogen/generated/ios/swift/DetectedActivityType.swift +64 -0
  144. package/nitrogen/generated/ios/swift/Func_void_BackgroundEventEnvelope.swift +46 -0
  145. package/nitrogen/generated/ios/swift/Func_void_BackgroundHttpSyncResult.swift +46 -0
  146. package/nitrogen/generated/ios/swift/Func_void_BackgroundLocation.swift +46 -0
  147. package/nitrogen/generated/ios/swift/Func_void_BackgroundLocationStatus.swift +46 -0
  148. package/nitrogen/generated/ios/swift/Func_void_BackgroundPermissionResult.swift +46 -0
  149. package/nitrogen/generated/ios/swift/Func_void_std__optional_BackgroundLocationOptions_.swift +46 -0
  150. package/nitrogen/generated/ios/swift/Func_void_std__vector_GeofenceRegion_.swift +46 -0
  151. package/nitrogen/generated/ios/swift/Func_void_std__vector_StoredBackgroundEventEnvelope_.swift +46 -0
  152. package/nitrogen/generated/ios/swift/Func_void_std__vector_StoredBackgroundLocation_.swift +46 -0
  153. package/nitrogen/generated/ios/swift/GeofenceEvent.swift +50 -0
  154. package/nitrogen/generated/ios/swift/GeofenceRegion.swift +195 -0
  155. package/nitrogen/generated/ios/swift/GeofenceTransition.swift +44 -0
  156. package/nitrogen/generated/ios/swift/GeofencingOptions.swift +66 -0
  157. package/nitrogen/generated/ios/swift/GetStoredBackgroundEventsOptions.swift +102 -0
  158. package/nitrogen/generated/ios/swift/GetStoredBackgroundLocationsOptions.swift +96 -0
  159. package/nitrogen/generated/ios/swift/HybridNitroBackgroundLocationSpec.swift +81 -0
  160. package/nitrogen/generated/ios/swift/HybridNitroBackgroundLocationSpec_cxx.swift +654 -0
  161. package/nitrogen/generated/ios/swift/IOSBackgroundActivityType.swift +52 -0
  162. package/nitrogen/generated/ios/swift/IOSBackgroundLocationOptions.swift +125 -0
  163. package/nitrogen/generated/ios/swift/IOSBackgroundLocationStatus.swift +34 -0
  164. package/nitrogen/generated/ios/swift/LocationProviderStatus.swift +19 -1
  165. package/nitrogen/generated/ios/swift/StoredBackgroundEventEnvelope.swift +54 -0
  166. package/nitrogen/generated/ios/swift/StoredBackgroundLocation.swift +120 -0
  167. package/nitrogen/generated/ios/swift/Variant_NullType_Bool_String_Double.swift +34 -0
  168. package/nitrogen/generated/shared/c++/ActivityRecognitionOptions.hpp +95 -0
  169. package/nitrogen/generated/shared/c++/AndroidBackgroundLocationOptions.hpp +100 -0
  170. package/nitrogen/generated/shared/c++/AndroidBackgroundLocationStatus.hpp +93 -0
  171. package/nitrogen/generated/shared/c++/AndroidBackgroundProvider.hpp +80 -0
  172. package/nitrogen/generated/shared/c++/AndroidForegroundServiceOptions.hpp +116 -0
  173. package/nitrogen/generated/shared/c++/BackgroundEventEnvelope.hpp +140 -0
  174. package/nitrogen/generated/shared/c++/BackgroundEventType.hpp +92 -0
  175. package/nitrogen/generated/shared/c++/BackgroundHttpMethod.hpp +80 -0
  176. package/nitrogen/generated/shared/c++/BackgroundHttpSyncOptions.hpp +129 -0
  177. package/nitrogen/generated/shared/c++/BackgroundHttpSyncResult.hpp +101 -0
  178. package/nitrogen/generated/shared/c++/BackgroundLocation.hpp +134 -0
  179. package/nitrogen/generated/shared/c++/BackgroundLocationOptions.hpp +174 -0
  180. package/nitrogen/generated/shared/c++/BackgroundLocationSource.hpp +96 -0
  181. package/nitrogen/generated/shared/c++/BackgroundLocationState.hpp +92 -0
  182. package/nitrogen/generated/shared/c++/BackgroundLocationStatus.hpp +158 -0
  183. package/nitrogen/generated/shared/c++/BackgroundPermissionResult.hpp +107 -0
  184. package/nitrogen/generated/shared/c++/BackgroundPermissionStatus.hpp +84 -0
  185. package/nitrogen/generated/shared/c++/BackgroundTrackingMode.hpp +80 -0
  186. package/nitrogen/generated/shared/c++/BatterySnapshot.hpp +87 -0
  187. package/nitrogen/generated/shared/c++/DetectedActivity.hpp +92 -0
  188. package/nitrogen/generated/shared/c++/DetectedActivityType.hpp +100 -0
  189. package/nitrogen/generated/shared/c++/GeofenceEvent.hpp +103 -0
  190. package/nitrogen/generated/shared/c++/GeofenceRegion.hpp +123 -0
  191. package/nitrogen/generated/shared/c++/GeofenceTransition.hpp +80 -0
  192. package/nitrogen/generated/shared/c++/GeofencingOptions.hpp +90 -0
  193. package/nitrogen/generated/shared/c++/GetStoredBackgroundEventsOptions.hpp +98 -0
  194. package/nitrogen/generated/shared/c++/GetStoredBackgroundLocationsOptions.hpp +95 -0
  195. package/nitrogen/generated/shared/c++/HybridNitroBackgroundLocationSpec.cpp +47 -0
  196. package/nitrogen/generated/shared/c++/HybridNitroBackgroundLocationSpec.hpp +133 -0
  197. package/nitrogen/generated/shared/c++/IOSBackgroundActivityType.hpp +88 -0
  198. package/nitrogen/generated/shared/c++/IOSBackgroundLocationOptions.hpp +105 -0
  199. package/nitrogen/generated/shared/c++/IOSBackgroundLocationStatus.hpp +87 -0
  200. package/nitrogen/generated/shared/c++/LocationProviderStatus.hpp +5 -1
  201. package/nitrogen/generated/shared/c++/StoredBackgroundEventEnvelope.hpp +108 -0
  202. package/nitrogen/generated/shared/c++/StoredBackgroundLocation.hpp +146 -0
  203. package/package.json +17 -6
  204. package/src/NitroGeolocation.nitro.ts +4 -4
  205. package/src/api/getCurrentPosition.ts +1 -1
  206. package/src/api/requestLocationSettings.ts +3 -2
  207. package/src/background/NitroBackgroundLocation.nitro.ts +83 -0
  208. package/src/background/index.ts +200 -0
  209. package/src/background/index.web.ts +120 -0
  210. package/src/background/task.ts +13 -0
  211. package/src/background/types.ts +328 -0
  212. package/src/compat/index.web.ts +141 -0
  213. package/src/index.tsx +3 -0
  214. package/src/index.web.tsx +41 -0
  215. package/src/publicTypes.ts +6 -5
  216. package/src/types.ts +3 -0
  217. package/src/web/browser.ts +171 -0
  218. package/src/web/index.ts +167 -0
  219. package/src/web/useWatchPosition.ts +76 -0
  220. package/src/web/watch.ts +81 -0
  221. package/src/devtools/index.test.ts +0 -54
  222. package/src/utils/errors.test.ts +0 -65
  223. package/src/utils/provider.test.ts +0 -303
@@ -0,0 +1,111 @@
1
+ ///
2
+ /// JBackgroundHttpSyncResult.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "BackgroundHttpSyncResult.hpp"
12
+
13
+ #include <optional>
14
+ #include <string>
15
+ #include <vector>
16
+
17
+ namespace margelo::nitro::nitrogeolocation {
18
+
19
+ using namespace facebook;
20
+
21
+ /**
22
+ * The C++ JNI bridge between the C++ struct "BackgroundHttpSyncResult" and the the Kotlin data class "BackgroundHttpSyncResult".
23
+ */
24
+ struct JBackgroundHttpSyncResult final: public jni::JavaClass<JBackgroundHttpSyncResult> {
25
+ public:
26
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/BackgroundHttpSyncResult;";
27
+
28
+ public:
29
+ /**
30
+ * Convert this Java/Kotlin-based struct to the C++ struct BackgroundHttpSyncResult by copying all values to C++.
31
+ */
32
+ [[maybe_unused]]
33
+ [[nodiscard]]
34
+ BackgroundHttpSyncResult toCpp() const {
35
+ static const auto clazz = javaClassStatic();
36
+ static const auto fieldSuccess = clazz->getField<jboolean>("success");
37
+ jboolean success = this->getFieldValue(fieldSuccess);
38
+ static const auto fieldStatusCode = clazz->getField<jni::JDouble>("statusCode");
39
+ jni::local_ref<jni::JDouble> statusCode = this->getFieldValue(fieldStatusCode);
40
+ static const auto fieldSyncedLocationIds = clazz->getField<jni::JArrayClass<jni::JString>>("syncedLocationIds");
41
+ jni::local_ref<jni::JArrayClass<jni::JString>> syncedLocationIds = this->getFieldValue(fieldSyncedLocationIds);
42
+ static const auto fieldFailedLocationIds = clazz->getField<jni::JArrayClass<jni::JString>>("failedLocationIds");
43
+ jni::local_ref<jni::JArrayClass<jni::JString>> failedLocationIds = this->getFieldValue(fieldFailedLocationIds);
44
+ static const auto fieldError = clazz->getField<jni::JString>("error");
45
+ jni::local_ref<jni::JString> error = this->getFieldValue(fieldError);
46
+ return BackgroundHttpSyncResult(
47
+ static_cast<bool>(success),
48
+ statusCode != nullptr ? std::make_optional(statusCode->value()) : std::nullopt,
49
+ [&](auto&& __input) {
50
+ size_t __size = __input->size();
51
+ std::vector<std::string> __vector;
52
+ __vector.reserve(__size);
53
+ for (size_t __i = 0; __i < __size; __i++) {
54
+ auto __element = __input->getElement(__i);
55
+ __vector.push_back(__element->toStdString());
56
+ }
57
+ return __vector;
58
+ }(syncedLocationIds),
59
+ [&](auto&& __input) {
60
+ size_t __size = __input->size();
61
+ std::vector<std::string> __vector;
62
+ __vector.reserve(__size);
63
+ for (size_t __i = 0; __i < __size; __i++) {
64
+ auto __element = __input->getElement(__i);
65
+ __vector.push_back(__element->toStdString());
66
+ }
67
+ return __vector;
68
+ }(failedLocationIds),
69
+ error != nullptr ? std::make_optional(error->toStdString()) : std::nullopt
70
+ );
71
+ }
72
+
73
+ public:
74
+ /**
75
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
76
+ */
77
+ [[maybe_unused]]
78
+ static jni::local_ref<JBackgroundHttpSyncResult::javaobject> fromCpp(const BackgroundHttpSyncResult& value) {
79
+ using JSignature = JBackgroundHttpSyncResult(jboolean, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<jni::JString>);
80
+ static const auto clazz = javaClassStatic();
81
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
82
+ return create(
83
+ clazz,
84
+ value.success,
85
+ value.statusCode.has_value() ? jni::JDouble::valueOf(value.statusCode.value()) : nullptr,
86
+ [&](auto&& __input) {
87
+ size_t __size = __input.size();
88
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
89
+ for (size_t __i = 0; __i < __size; __i++) {
90
+ const auto& __element = __input[__i];
91
+ auto __elementJni = jni::make_jstring(__element);
92
+ __array->setElement(__i, *__elementJni);
93
+ }
94
+ return __array;
95
+ }(value.syncedLocationIds),
96
+ [&](auto&& __input) {
97
+ size_t __size = __input.size();
98
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
99
+ for (size_t __i = 0; __i < __size; __i++) {
100
+ const auto& __element = __input[__i];
101
+ auto __elementJni = jni::make_jstring(__element);
102
+ __array->setElement(__i, *__elementJni);
103
+ }
104
+ return __array;
105
+ }(value.failedLocationIds),
106
+ value.error.has_value() ? jni::make_jstring(value.error.value()) : nullptr
107
+ );
108
+ }
109
+ };
110
+
111
+ } // namespace margelo::nitro::nitrogeolocation
@@ -0,0 +1,110 @@
1
+ ///
2
+ /// JBackgroundLocation.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "BackgroundLocation.hpp"
12
+
13
+ #include "BackgroundLocationSource.hpp"
14
+ #include "BatterySnapshot.hpp"
15
+ #include "DetectedActivity.hpp"
16
+ #include "DetectedActivityType.hpp"
17
+ #include "GeolocationCoordinates.hpp"
18
+ #include "JBackgroundLocationSource.hpp"
19
+ #include "JBatterySnapshot.hpp"
20
+ #include "JDetectedActivity.hpp"
21
+ #include "JDetectedActivityType.hpp"
22
+ #include "JGeolocationCoordinates.hpp"
23
+ #include "JLocationProviderUsed.hpp"
24
+ #include "JNullableDouble.hpp"
25
+ #include "LocationProviderUsed.hpp"
26
+ #include <NitroModules/JNull.hpp>
27
+ #include <NitroModules/Null.hpp>
28
+ #include <optional>
29
+ #include <string>
30
+ #include <variant>
31
+
32
+ namespace margelo::nitro::nitrogeolocation {
33
+
34
+ using namespace facebook;
35
+
36
+ /**
37
+ * The C++ JNI bridge between the C++ struct "BackgroundLocation" and the the Kotlin data class "BackgroundLocation".
38
+ */
39
+ struct JBackgroundLocation final: public jni::JavaClass<JBackgroundLocation> {
40
+ public:
41
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/BackgroundLocation;";
42
+
43
+ public:
44
+ /**
45
+ * Convert this Java/Kotlin-based struct to the C++ struct BackgroundLocation by copying all values to C++.
46
+ */
47
+ [[maybe_unused]]
48
+ [[nodiscard]]
49
+ BackgroundLocation toCpp() const {
50
+ static const auto clazz = javaClassStatic();
51
+ static const auto fieldId = clazz->getField<jni::JString>("id");
52
+ jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
53
+ static const auto fieldSource = clazz->getField<JBackgroundLocationSource>("source");
54
+ jni::local_ref<JBackgroundLocationSource> source = this->getFieldValue(fieldSource);
55
+ static const auto fieldIsFromBackground = clazz->getField<jboolean>("isFromBackground");
56
+ jboolean isFromBackground = this->getFieldValue(fieldIsFromBackground);
57
+ static const auto fieldProvider = clazz->getField<JLocationProviderUsed>("provider");
58
+ jni::local_ref<JLocationProviderUsed> provider = this->getFieldValue(fieldProvider);
59
+ static const auto fieldMocked = clazz->getField<jni::JBoolean>("mocked");
60
+ jni::local_ref<jni::JBoolean> mocked = this->getFieldValue(fieldMocked);
61
+ static const auto fieldRecordedAt = clazz->getField<double>("recordedAt");
62
+ double recordedAt = this->getFieldValue(fieldRecordedAt);
63
+ static const auto fieldActivity = clazz->getField<JDetectedActivity>("activity");
64
+ jni::local_ref<JDetectedActivity> activity = this->getFieldValue(fieldActivity);
65
+ static const auto fieldBattery = clazz->getField<JBatterySnapshot>("battery");
66
+ jni::local_ref<JBatterySnapshot> battery = this->getFieldValue(fieldBattery);
67
+ static const auto fieldCoords = clazz->getField<JGeolocationCoordinates>("coords");
68
+ jni::local_ref<JGeolocationCoordinates> coords = this->getFieldValue(fieldCoords);
69
+ static const auto fieldTimestamp = clazz->getField<double>("timestamp");
70
+ double timestamp = this->getFieldValue(fieldTimestamp);
71
+ return BackgroundLocation(
72
+ id != nullptr ? std::make_optional(id->toStdString()) : std::nullopt,
73
+ source->toCpp(),
74
+ static_cast<bool>(isFromBackground),
75
+ provider != nullptr ? std::make_optional(provider->toCpp()) : std::nullopt,
76
+ mocked != nullptr ? std::make_optional(static_cast<bool>(mocked->value())) : std::nullopt,
77
+ recordedAt,
78
+ activity != nullptr ? std::make_optional(activity->toCpp()) : std::nullopt,
79
+ battery != nullptr ? std::make_optional(battery->toCpp()) : std::nullopt,
80
+ coords->toCpp(),
81
+ timestamp
82
+ );
83
+ }
84
+
85
+ public:
86
+ /**
87
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
88
+ */
89
+ [[maybe_unused]]
90
+ static jni::local_ref<JBackgroundLocation::javaobject> fromCpp(const BackgroundLocation& value) {
91
+ using JSignature = JBackgroundLocation(jni::alias_ref<jni::JString>, jni::alias_ref<JBackgroundLocationSource>, jboolean, jni::alias_ref<JLocationProviderUsed>, jni::alias_ref<jni::JBoolean>, double, jni::alias_ref<JDetectedActivity>, jni::alias_ref<JBatterySnapshot>, jni::alias_ref<JGeolocationCoordinates>, double);
92
+ static const auto clazz = javaClassStatic();
93
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
94
+ return create(
95
+ clazz,
96
+ value.id.has_value() ? jni::make_jstring(value.id.value()) : nullptr,
97
+ JBackgroundLocationSource::fromCpp(value.source),
98
+ value.isFromBackground,
99
+ value.provider.has_value() ? JLocationProviderUsed::fromCpp(value.provider.value()) : nullptr,
100
+ value.mocked.has_value() ? jni::JBoolean::valueOf(value.mocked.value()) : nullptr,
101
+ value.recordedAt,
102
+ value.activity.has_value() ? JDetectedActivity::fromCpp(value.activity.value()) : nullptr,
103
+ value.battery.has_value() ? JBatterySnapshot::fromCpp(value.battery.value()) : nullptr,
104
+ JGeolocationCoordinates::fromCpp(value.coords),
105
+ value.timestamp
106
+ );
107
+ }
108
+ };
109
+
110
+ } // namespace margelo::nitro::nitrogeolocation
@@ -0,0 +1,162 @@
1
+ ///
2
+ /// JBackgroundLocationOptions.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "BackgroundLocationOptions.hpp"
12
+
13
+ #include "ActivityRecognitionOptions.hpp"
14
+ #include "AndroidAccuracyPreset.hpp"
15
+ #include "AndroidBackgroundLocationOptions.hpp"
16
+ #include "AndroidBackgroundProvider.hpp"
17
+ #include "AndroidForegroundServiceOptions.hpp"
18
+ #include "AndroidGranularity.hpp"
19
+ #include "BackgroundHttpMethod.hpp"
20
+ #include "BackgroundHttpSyncOptions.hpp"
21
+ #include "BackgroundTrackingMode.hpp"
22
+ #include "GeofenceTransition.hpp"
23
+ #include "GeofencingOptions.hpp"
24
+ #include "IOSAccuracyPreset.hpp"
25
+ #include "IOSBackgroundActivityType.hpp"
26
+ #include "IOSBackgroundLocationOptions.hpp"
27
+ #include "JActivityRecognitionOptions.hpp"
28
+ #include "JAndroidAccuracyPreset.hpp"
29
+ #include "JAndroidBackgroundLocationOptions.hpp"
30
+ #include "JAndroidBackgroundProvider.hpp"
31
+ #include "JAndroidForegroundServiceOptions.hpp"
32
+ #include "JAndroidGranularity.hpp"
33
+ #include "JBackgroundHttpMethod.hpp"
34
+ #include "JBackgroundHttpSyncOptions.hpp"
35
+ #include "JBackgroundTrackingMode.hpp"
36
+ #include "JGeofenceTransition.hpp"
37
+ #include "JGeofencingOptions.hpp"
38
+ #include "JIOSAccuracyPreset.hpp"
39
+ #include "JIOSBackgroundActivityType.hpp"
40
+ #include "JIOSBackgroundLocationOptions.hpp"
41
+ #include "JLocationAccuracyOptions.hpp"
42
+ #include "JVariant_NullType_Boolean_String_Double.hpp"
43
+ #include "LocationAccuracyOptions.hpp"
44
+ #include <NitroModules/JNull.hpp>
45
+ #include <NitroModules/Null.hpp>
46
+ #include <optional>
47
+ #include <string>
48
+ #include <unordered_map>
49
+ #include <variant>
50
+ #include <vector>
51
+
52
+ namespace margelo::nitro::nitrogeolocation {
53
+
54
+ using namespace facebook;
55
+
56
+ /**
57
+ * The C++ JNI bridge between the C++ struct "BackgroundLocationOptions" and the the Kotlin data class "BackgroundLocationOptions".
58
+ */
59
+ struct JBackgroundLocationOptions final: public jni::JavaClass<JBackgroundLocationOptions> {
60
+ public:
61
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/BackgroundLocationOptions;";
62
+
63
+ public:
64
+ /**
65
+ * Convert this Java/Kotlin-based struct to the C++ struct BackgroundLocationOptions by copying all values to C++.
66
+ */
67
+ [[maybe_unused]]
68
+ [[nodiscard]]
69
+ BackgroundLocationOptions toCpp() const {
70
+ static const auto clazz = javaClassStatic();
71
+ static const auto fieldTrackingMode = clazz->getField<JBackgroundTrackingMode>("trackingMode");
72
+ jni::local_ref<JBackgroundTrackingMode> trackingMode = this->getFieldValue(fieldTrackingMode);
73
+ static const auto fieldAccuracy = clazz->getField<JLocationAccuracyOptions>("accuracy");
74
+ jni::local_ref<JLocationAccuracyOptions> accuracy = this->getFieldValue(fieldAccuracy);
75
+ static const auto fieldGranularity = clazz->getField<JAndroidGranularity>("granularity");
76
+ jni::local_ref<JAndroidGranularity> granularity = this->getFieldValue(fieldGranularity);
77
+ static const auto fieldInterval = clazz->getField<jni::JDouble>("interval");
78
+ jni::local_ref<jni::JDouble> interval = this->getFieldValue(fieldInterval);
79
+ static const auto fieldFastestInterval = clazz->getField<jni::JDouble>("fastestInterval");
80
+ jni::local_ref<jni::JDouble> fastestInterval = this->getFieldValue(fieldFastestInterval);
81
+ static const auto fieldDistanceFilter = clazz->getField<jni::JDouble>("distanceFilter");
82
+ jni::local_ref<jni::JDouble> distanceFilter = this->getFieldValue(fieldDistanceFilter);
83
+ static const auto fieldMaxUpdateDelay = clazz->getField<jni::JDouble>("maxUpdateDelay");
84
+ jni::local_ref<jni::JDouble> maxUpdateDelay = this->getFieldValue(fieldMaxUpdateDelay);
85
+ static const auto fieldWaitForAccurateLocation = clazz->getField<jni::JBoolean>("waitForAccurateLocation");
86
+ jni::local_ref<jni::JBoolean> waitForAccurateLocation = this->getFieldValue(fieldWaitForAccurateLocation);
87
+ static const auto fieldPersist = clazz->getField<jni::JBoolean>("persist");
88
+ jni::local_ref<jni::JBoolean> persist = this->getFieldValue(fieldPersist);
89
+ static const auto fieldMaxStoredLocations = clazz->getField<jni::JDouble>("maxStoredLocations");
90
+ jni::local_ref<jni::JDouble> maxStoredLocations = this->getFieldValue(fieldMaxStoredLocations);
91
+ static const auto fieldMaxStoredEvents = clazz->getField<jni::JDouble>("maxStoredEvents");
92
+ jni::local_ref<jni::JDouble> maxStoredEvents = this->getFieldValue(fieldMaxStoredEvents);
93
+ static const auto fieldStopOnTerminate = clazz->getField<jni::JBoolean>("stopOnTerminate");
94
+ jni::local_ref<jni::JBoolean> stopOnTerminate = this->getFieldValue(fieldStopOnTerminate);
95
+ static const auto fieldStartOnBoot = clazz->getField<jni::JBoolean>("startOnBoot");
96
+ jni::local_ref<jni::JBoolean> startOnBoot = this->getFieldValue(fieldStartOnBoot);
97
+ static const auto fieldAndroid = clazz->getField<JAndroidBackgroundLocationOptions>("android");
98
+ jni::local_ref<JAndroidBackgroundLocationOptions> android = this->getFieldValue(fieldAndroid);
99
+ static const auto fieldIos = clazz->getField<JIOSBackgroundLocationOptions>("ios");
100
+ jni::local_ref<JIOSBackgroundLocationOptions> ios = this->getFieldValue(fieldIos);
101
+ static const auto fieldGeofencing = clazz->getField<JGeofencingOptions>("geofencing");
102
+ jni::local_ref<JGeofencingOptions> geofencing = this->getFieldValue(fieldGeofencing);
103
+ static const auto fieldActivityRecognition = clazz->getField<JActivityRecognitionOptions>("activityRecognition");
104
+ jni::local_ref<JActivityRecognitionOptions> activityRecognition = this->getFieldValue(fieldActivityRecognition);
105
+ static const auto fieldSync = clazz->getField<JBackgroundHttpSyncOptions>("sync");
106
+ jni::local_ref<JBackgroundHttpSyncOptions> sync = this->getFieldValue(fieldSync);
107
+ return BackgroundLocationOptions(
108
+ trackingMode != nullptr ? std::make_optional(trackingMode->toCpp()) : std::nullopt,
109
+ accuracy != nullptr ? std::make_optional(accuracy->toCpp()) : std::nullopt,
110
+ granularity != nullptr ? std::make_optional(granularity->toCpp()) : std::nullopt,
111
+ interval != nullptr ? std::make_optional(interval->value()) : std::nullopt,
112
+ fastestInterval != nullptr ? std::make_optional(fastestInterval->value()) : std::nullopt,
113
+ distanceFilter != nullptr ? std::make_optional(distanceFilter->value()) : std::nullopt,
114
+ maxUpdateDelay != nullptr ? std::make_optional(maxUpdateDelay->value()) : std::nullopt,
115
+ waitForAccurateLocation != nullptr ? std::make_optional(static_cast<bool>(waitForAccurateLocation->value())) : std::nullopt,
116
+ persist != nullptr ? std::make_optional(static_cast<bool>(persist->value())) : std::nullopt,
117
+ maxStoredLocations != nullptr ? std::make_optional(maxStoredLocations->value()) : std::nullopt,
118
+ maxStoredEvents != nullptr ? std::make_optional(maxStoredEvents->value()) : std::nullopt,
119
+ stopOnTerminate != nullptr ? std::make_optional(static_cast<bool>(stopOnTerminate->value())) : std::nullopt,
120
+ startOnBoot != nullptr ? std::make_optional(static_cast<bool>(startOnBoot->value())) : std::nullopt,
121
+ android != nullptr ? std::make_optional(android->toCpp()) : std::nullopt,
122
+ ios != nullptr ? std::make_optional(ios->toCpp()) : std::nullopt,
123
+ geofencing != nullptr ? std::make_optional(geofencing->toCpp()) : std::nullopt,
124
+ activityRecognition != nullptr ? std::make_optional(activityRecognition->toCpp()) : std::nullopt,
125
+ sync != nullptr ? std::make_optional(sync->toCpp()) : std::nullopt
126
+ );
127
+ }
128
+
129
+ public:
130
+ /**
131
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
132
+ */
133
+ [[maybe_unused]]
134
+ static jni::local_ref<JBackgroundLocationOptions::javaobject> fromCpp(const BackgroundLocationOptions& value) {
135
+ using JSignature = JBackgroundLocationOptions(jni::alias_ref<JBackgroundTrackingMode>, jni::alias_ref<JLocationAccuracyOptions>, jni::alias_ref<JAndroidGranularity>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JAndroidBackgroundLocationOptions>, jni::alias_ref<JIOSBackgroundLocationOptions>, jni::alias_ref<JGeofencingOptions>, jni::alias_ref<JActivityRecognitionOptions>, jni::alias_ref<JBackgroundHttpSyncOptions>);
136
+ static const auto clazz = javaClassStatic();
137
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
138
+ return create(
139
+ clazz,
140
+ value.trackingMode.has_value() ? JBackgroundTrackingMode::fromCpp(value.trackingMode.value()) : nullptr,
141
+ value.accuracy.has_value() ? JLocationAccuracyOptions::fromCpp(value.accuracy.value()) : nullptr,
142
+ value.granularity.has_value() ? JAndroidGranularity::fromCpp(value.granularity.value()) : nullptr,
143
+ value.interval.has_value() ? jni::JDouble::valueOf(value.interval.value()) : nullptr,
144
+ value.fastestInterval.has_value() ? jni::JDouble::valueOf(value.fastestInterval.value()) : nullptr,
145
+ value.distanceFilter.has_value() ? jni::JDouble::valueOf(value.distanceFilter.value()) : nullptr,
146
+ value.maxUpdateDelay.has_value() ? jni::JDouble::valueOf(value.maxUpdateDelay.value()) : nullptr,
147
+ value.waitForAccurateLocation.has_value() ? jni::JBoolean::valueOf(value.waitForAccurateLocation.value()) : nullptr,
148
+ value.persist.has_value() ? jni::JBoolean::valueOf(value.persist.value()) : nullptr,
149
+ value.maxStoredLocations.has_value() ? jni::JDouble::valueOf(value.maxStoredLocations.value()) : nullptr,
150
+ value.maxStoredEvents.has_value() ? jni::JDouble::valueOf(value.maxStoredEvents.value()) : nullptr,
151
+ value.stopOnTerminate.has_value() ? jni::JBoolean::valueOf(value.stopOnTerminate.value()) : nullptr,
152
+ value.startOnBoot.has_value() ? jni::JBoolean::valueOf(value.startOnBoot.value()) : nullptr,
153
+ value.android.has_value() ? JAndroidBackgroundLocationOptions::fromCpp(value.android.value()) : nullptr,
154
+ value.ios.has_value() ? JIOSBackgroundLocationOptions::fromCpp(value.ios.value()) : nullptr,
155
+ value.geofencing.has_value() ? JGeofencingOptions::fromCpp(value.geofencing.value()) : nullptr,
156
+ value.activityRecognition.has_value() ? JActivityRecognitionOptions::fromCpp(value.activityRecognition.value()) : nullptr,
157
+ value.sync.has_value() ? JBackgroundHttpSyncOptions::fromCpp(value.sync.value()) : nullptr
158
+ );
159
+ }
160
+ };
161
+
162
+ } // namespace margelo::nitro::nitrogeolocation
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// JBackgroundLocationSource.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "BackgroundLocationSource.hpp"
12
+
13
+ namespace margelo::nitro::nitrogeolocation {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "BackgroundLocationSource" and the the Kotlin enum "BackgroundLocationSource".
19
+ */
20
+ struct JBackgroundLocationSource final: public jni::JavaClass<JBackgroundLocationSource> {
21
+ public:
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/BackgroundLocationSource;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum BackgroundLocationSource.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ BackgroundLocationSource toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<BackgroundLocationSource>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JBackgroundLocationSource> fromCpp(BackgroundLocationSource value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case BackgroundLocationSource::UNKNOWN:
46
+ static const auto fieldUNKNOWN = clazz->getStaticField<JBackgroundLocationSource>("UNKNOWN");
47
+ return clazz->getStaticFieldValue(fieldUNKNOWN);
48
+ case BackgroundLocationSource::FOREGROUNDSERVICE:
49
+ static const auto fieldFOREGROUNDSERVICE = clazz->getStaticField<JBackgroundLocationSource>("FOREGROUNDSERVICE");
50
+ return clazz->getStaticFieldValue(fieldFOREGROUNDSERVICE);
51
+ case BackgroundLocationSource::BACKGROUND:
52
+ static const auto fieldBACKGROUND = clazz->getStaticField<JBackgroundLocationSource>("BACKGROUND");
53
+ return clazz->getStaticFieldValue(fieldBACKGROUND);
54
+ case BackgroundLocationSource::SIGNIFICANTCHANGE:
55
+ static const auto fieldSIGNIFICANTCHANGE = clazz->getStaticField<JBackgroundLocationSource>("SIGNIFICANTCHANGE");
56
+ return clazz->getStaticFieldValue(fieldSIGNIFICANTCHANGE);
57
+ case BackgroundLocationSource::GEOFENCE:
58
+ static const auto fieldGEOFENCE = clazz->getStaticField<JBackgroundLocationSource>("GEOFENCE");
59
+ return clazz->getStaticFieldValue(fieldGEOFENCE);
60
+ case BackgroundLocationSource::DEFERRED:
61
+ static const auto fieldDEFERRED = clazz->getStaticField<JBackgroundLocationSource>("DEFERRED");
62
+ return clazz->getStaticFieldValue(fieldDEFERRED);
63
+ case BackgroundLocationSource::MANUAL:
64
+ static const auto fieldMANUAL = clazz->getStaticField<JBackgroundLocationSource>("MANUAL");
65
+ return clazz->getStaticFieldValue(fieldMANUAL);
66
+ default:
67
+ std::string stringValue = std::to_string(static_cast<int>(value));
68
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
69
+ }
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro::nitrogeolocation
@@ -0,0 +1,70 @@
1
+ ///
2
+ /// JBackgroundLocationState.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "BackgroundLocationState.hpp"
12
+
13
+ namespace margelo::nitro::nitrogeolocation {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "BackgroundLocationState" and the the Kotlin enum "BackgroundLocationState".
19
+ */
20
+ struct JBackgroundLocationState final: public jni::JavaClass<JBackgroundLocationState> {
21
+ public:
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/BackgroundLocationState;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum BackgroundLocationState.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ BackgroundLocationState toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<BackgroundLocationState>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JBackgroundLocationState> fromCpp(BackgroundLocationState value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case BackgroundLocationState::IDLE:
46
+ static const auto fieldIDLE = clazz->getStaticField<JBackgroundLocationState>("IDLE");
47
+ return clazz->getStaticFieldValue(fieldIDLE);
48
+ case BackgroundLocationState::STARTING:
49
+ static const auto fieldSTARTING = clazz->getStaticField<JBackgroundLocationState>("STARTING");
50
+ return clazz->getStaticFieldValue(fieldSTARTING);
51
+ case BackgroundLocationState::RUNNING:
52
+ static const auto fieldRUNNING = clazz->getStaticField<JBackgroundLocationState>("RUNNING");
53
+ return clazz->getStaticFieldValue(fieldRUNNING);
54
+ case BackgroundLocationState::STOPPING:
55
+ static const auto fieldSTOPPING = clazz->getStaticField<JBackgroundLocationState>("STOPPING");
56
+ return clazz->getStaticFieldValue(fieldSTOPPING);
57
+ case BackgroundLocationState::STOPPED:
58
+ static const auto fieldSTOPPED = clazz->getStaticField<JBackgroundLocationState>("STOPPED");
59
+ return clazz->getStaticFieldValue(fieldSTOPPED);
60
+ case BackgroundLocationState::ERROR:
61
+ static const auto fieldERROR = clazz->getStaticField<JBackgroundLocationState>("ERROR");
62
+ return clazz->getStaticFieldValue(fieldERROR);
63
+ default:
64
+ std::string stringValue = std::to_string(static_cast<int>(value));
65
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
66
+ }
67
+ }
68
+ };
69
+
70
+ } // namespace margelo::nitro::nitrogeolocation
@@ -0,0 +1,126 @@
1
+ ///
2
+ /// JBackgroundLocationStatus.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "BackgroundLocationStatus.hpp"
12
+
13
+ #include "AccuracyAuthorization.hpp"
14
+ #include "AndroidBackgroundLocationStatus.hpp"
15
+ #include "BackgroundLocationState.hpp"
16
+ #include "BackgroundPermissionStatus.hpp"
17
+ #include "IOSBackgroundLocationStatus.hpp"
18
+ #include "JAccuracyAuthorization.hpp"
19
+ #include "JAndroidBackgroundLocationStatus.hpp"
20
+ #include "JBackgroundLocationState.hpp"
21
+ #include "JBackgroundPermissionStatus.hpp"
22
+ #include "JIOSBackgroundLocationStatus.hpp"
23
+ #include "JLocationError.hpp"
24
+ #include "JLocationProviderStatus.hpp"
25
+ #include "JPermissionStatus.hpp"
26
+ #include "LocationError.hpp"
27
+ #include "LocationProviderStatus.hpp"
28
+ #include "PermissionStatus.hpp"
29
+ #include <optional>
30
+ #include <string>
31
+
32
+ namespace margelo::nitro::nitrogeolocation {
33
+
34
+ using namespace facebook;
35
+
36
+ /**
37
+ * The C++ JNI bridge between the C++ struct "BackgroundLocationStatus" and the the Kotlin data class "BackgroundLocationStatus".
38
+ */
39
+ struct JBackgroundLocationStatus final: public jni::JavaClass<JBackgroundLocationStatus> {
40
+ public:
41
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/BackgroundLocationStatus;";
42
+
43
+ public:
44
+ /**
45
+ * Convert this Java/Kotlin-based struct to the C++ struct BackgroundLocationStatus by copying all values to C++.
46
+ */
47
+ [[maybe_unused]]
48
+ [[nodiscard]]
49
+ BackgroundLocationStatus toCpp() const {
50
+ static const auto clazz = javaClassStatic();
51
+ static const auto fieldState = clazz->getField<JBackgroundLocationState>("state");
52
+ jni::local_ref<JBackgroundLocationState> state = this->getFieldValue(fieldState);
53
+ static const auto fieldIsRunning = clazz->getField<jboolean>("isRunning");
54
+ jboolean isRunning = this->getFieldValue(fieldIsRunning);
55
+ static const auto fieldIsConfigured = clazz->getField<jboolean>("isConfigured");
56
+ jboolean isConfigured = this->getFieldValue(fieldIsConfigured);
57
+ static const auto fieldForegroundPermission = clazz->getField<JPermissionStatus>("foregroundPermission");
58
+ jni::local_ref<JPermissionStatus> foregroundPermission = this->getFieldValue(fieldForegroundPermission);
59
+ static const auto fieldBackgroundPermission = clazz->getField<JBackgroundPermissionStatus>("backgroundPermission");
60
+ jni::local_ref<JBackgroundPermissionStatus> backgroundPermission = this->getFieldValue(fieldBackgroundPermission);
61
+ static const auto fieldAccuracyAuthorization = clazz->getField<JAccuracyAuthorization>("accuracyAuthorization");
62
+ jni::local_ref<JAccuracyAuthorization> accuracyAuthorization = this->getFieldValue(fieldAccuracyAuthorization);
63
+ static const auto fieldLocationServicesEnabled = clazz->getField<jboolean>("locationServicesEnabled");
64
+ jboolean locationServicesEnabled = this->getFieldValue(fieldLocationServicesEnabled);
65
+ static const auto fieldProviderStatus = clazz->getField<JLocationProviderStatus>("providerStatus");
66
+ jni::local_ref<JLocationProviderStatus> providerStatus = this->getFieldValue(fieldProviderStatus);
67
+ static const auto fieldStoredLocationCount = clazz->getField<double>("storedLocationCount");
68
+ double storedLocationCount = this->getFieldValue(fieldStoredLocationCount);
69
+ static const auto fieldStoredEventCount = clazz->getField<double>("storedEventCount");
70
+ double storedEventCount = this->getFieldValue(fieldStoredEventCount);
71
+ static const auto fieldGeofenceCount = clazz->getField<double>("geofenceCount");
72
+ double geofenceCount = this->getFieldValue(fieldGeofenceCount);
73
+ static const auto fieldAndroid = clazz->getField<JAndroidBackgroundLocationStatus>("android");
74
+ jni::local_ref<JAndroidBackgroundLocationStatus> android = this->getFieldValue(fieldAndroid);
75
+ static const auto fieldIos = clazz->getField<JIOSBackgroundLocationStatus>("ios");
76
+ jni::local_ref<JIOSBackgroundLocationStatus> ios = this->getFieldValue(fieldIos);
77
+ static const auto fieldLastError = clazz->getField<JLocationError>("lastError");
78
+ jni::local_ref<JLocationError> lastError = this->getFieldValue(fieldLastError);
79
+ return BackgroundLocationStatus(
80
+ state->toCpp(),
81
+ static_cast<bool>(isRunning),
82
+ static_cast<bool>(isConfigured),
83
+ foregroundPermission->toCpp(),
84
+ backgroundPermission->toCpp(),
85
+ accuracyAuthorization != nullptr ? std::make_optional(accuracyAuthorization->toCpp()) : std::nullopt,
86
+ static_cast<bool>(locationServicesEnabled),
87
+ providerStatus != nullptr ? std::make_optional(providerStatus->toCpp()) : std::nullopt,
88
+ storedLocationCount,
89
+ storedEventCount,
90
+ geofenceCount,
91
+ android != nullptr ? std::make_optional(android->toCpp()) : std::nullopt,
92
+ ios != nullptr ? std::make_optional(ios->toCpp()) : std::nullopt,
93
+ lastError != nullptr ? std::make_optional(lastError->toCpp()) : std::nullopt
94
+ );
95
+ }
96
+
97
+ public:
98
+ /**
99
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
100
+ */
101
+ [[maybe_unused]]
102
+ static jni::local_ref<JBackgroundLocationStatus::javaobject> fromCpp(const BackgroundLocationStatus& value) {
103
+ using JSignature = JBackgroundLocationStatus(jni::alias_ref<JBackgroundLocationState>, jboolean, jboolean, jni::alias_ref<JPermissionStatus>, jni::alias_ref<JBackgroundPermissionStatus>, jni::alias_ref<JAccuracyAuthorization>, jboolean, jni::alias_ref<JLocationProviderStatus>, double, double, double, jni::alias_ref<JAndroidBackgroundLocationStatus>, jni::alias_ref<JIOSBackgroundLocationStatus>, jni::alias_ref<JLocationError>);
104
+ static const auto clazz = javaClassStatic();
105
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
106
+ return create(
107
+ clazz,
108
+ JBackgroundLocationState::fromCpp(value.state),
109
+ value.isRunning,
110
+ value.isConfigured,
111
+ JPermissionStatus::fromCpp(value.foregroundPermission),
112
+ JBackgroundPermissionStatus::fromCpp(value.backgroundPermission),
113
+ value.accuracyAuthorization.has_value() ? JAccuracyAuthorization::fromCpp(value.accuracyAuthorization.value()) : nullptr,
114
+ value.locationServicesEnabled,
115
+ value.providerStatus.has_value() ? JLocationProviderStatus::fromCpp(value.providerStatus.value()) : nullptr,
116
+ value.storedLocationCount,
117
+ value.storedEventCount,
118
+ value.geofenceCount,
119
+ value.android.has_value() ? JAndroidBackgroundLocationStatus::fromCpp(value.android.value()) : nullptr,
120
+ value.ios.has_value() ? JIOSBackgroundLocationStatus::fromCpp(value.ios.value()) : nullptr,
121
+ value.lastError.has_value() ? JLocationError::fromCpp(value.lastError.value()) : nullptr
122
+ );
123
+ }
124
+ };
125
+
126
+ } // namespace margelo::nitro::nitrogeolocation