react-native-nitro-geolocation 1.0.0 → 1.1.1

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 (102) hide show
  1. package/LICENSE +17 -20
  2. package/android/src/main/cpp/cpp-adapter.cpp +4 -1
  3. package/nitrogen/generated/android/c++/JAuthorizationLevel.hpp +1 -1
  4. package/nitrogen/generated/android/c++/JAuthorizationLevelInternal.hpp +1 -1
  5. package/nitrogen/generated/android/c++/JFunc_void.hpp +1 -1
  6. package/nitrogen/generated/android/c++/JFunc_void_GeolocationError.hpp +1 -1
  7. package/nitrogen/generated/android/c++/JFunc_void_GeolocationResponse.hpp +1 -1
  8. package/nitrogen/generated/android/c++/JFunc_void_LocationError.hpp +1 -1
  9. package/nitrogen/generated/android/c++/JGeolocationCoordinates.hpp +1 -1
  10. package/nitrogen/generated/android/c++/JGeolocationError.hpp +1 -1
  11. package/nitrogen/generated/android/c++/JGeolocationOptions.hpp +1 -1
  12. package/nitrogen/generated/android/c++/JGeolocationResponse.hpp +1 -1
  13. package/nitrogen/generated/android/c++/JHybridNitroGeolocationCompatSpec.cpp +26 -25
  14. package/nitrogen/generated/android/c++/JHybridNitroGeolocationCompatSpec.hpp +20 -22
  15. package/nitrogen/generated/android/c++/JHybridNitroGeolocationSpec.cpp +27 -26
  16. package/nitrogen/generated/android/c++/JHybridNitroGeolocationSpec.hpp +20 -22
  17. package/nitrogen/generated/android/c++/JLocationError.hpp +1 -1
  18. package/nitrogen/generated/android/c++/JLocationProvider.hpp +1 -1
  19. package/nitrogen/generated/android/c++/JLocationProviderInternal.hpp +1 -1
  20. package/nitrogen/generated/android/c++/JLocationRequestOptions.hpp +1 -1
  21. package/nitrogen/generated/android/c++/JModernGeolocationConfiguration.hpp +1 -1
  22. package/nitrogen/generated/android/c++/JNullableDouble.cpp +1 -1
  23. package/nitrogen/generated/android/c++/JNullableDouble.hpp +1 -1
  24. package/nitrogen/generated/android/c++/JPermissionStatus.hpp +1 -1
  25. package/nitrogen/generated/android/c++/JRNConfigurationInternal.hpp +1 -1
  26. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AuthorizationLevel.kt +1 -1
  27. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/AuthorizationLevelInternal.kt +1 -1
  28. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void.kt +1 -1
  29. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_GeolocationError.kt +1 -1
  30. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_GeolocationResponse.kt +1 -1
  31. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/Func_void_LocationError.kt +1 -1
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationCoordinates.kt +1 -1
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationError.kt +1 -1
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationOptions.kt +1 -1
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/GeolocationResponse.kt +1 -1
  36. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroGeolocationCompatSpec.kt +16 -19
  37. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/HybridNitroGeolocationSpec.kt +16 -19
  38. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationError.kt +1 -1
  39. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProvider.kt +1 -1
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationProviderInternal.kt +1 -1
  41. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/LocationRequestOptions.kt +1 -1
  42. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/ModernGeolocationConfiguration.kt +1 -1
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/NullableDouble.kt +1 -7
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/PermissionStatus.kt +1 -1
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/RNConfigurationInternal.kt +1 -1
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrogeolocation/nitrogeolocationOnLoad.kt +1 -1
  47. package/nitrogen/generated/android/nitrogeolocation+autolinking.cmake +1 -1
  48. package/nitrogen/generated/android/nitrogeolocation+autolinking.gradle +1 -1
  49. package/nitrogen/generated/android/nitrogeolocationOnLoad.cpp +46 -30
  50. package/nitrogen/generated/android/nitrogeolocationOnLoad.hpp +14 -5
  51. package/nitrogen/generated/ios/NitroGeolocation+autolinking.rb +1 -1
  52. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.cpp +1 -1
  53. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Bridge.hpp +13 -13
  54. package/nitrogen/generated/ios/NitroGeolocation-Swift-Cxx-Umbrella.hpp +1 -1
  55. package/nitrogen/generated/ios/NitroGeolocationAutolinking.mm +1 -1
  56. package/nitrogen/generated/ios/NitroGeolocationAutolinking.swift +13 -15
  57. package/nitrogen/generated/ios/c++/HybridNitroGeolocationCompatSpecSwift.cpp +1 -1
  58. package/nitrogen/generated/ios/c++/HybridNitroGeolocationCompatSpecSwift.hpp +7 -1
  59. package/nitrogen/generated/ios/c++/HybridNitroGeolocationSpecSwift.cpp +1 -1
  60. package/nitrogen/generated/ios/c++/HybridNitroGeolocationSpecSwift.hpp +7 -1
  61. package/nitrogen/generated/ios/swift/AuthorizationLevel.swift +1 -1
  62. package/nitrogen/generated/ios/swift/AuthorizationLevelInternal.swift +1 -1
  63. package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  64. package/nitrogen/generated/ios/swift/Func_void_GeolocationError.swift +1 -2
  65. package/nitrogen/generated/ios/swift/Func_void_GeolocationResponse.swift +1 -2
  66. package/nitrogen/generated/ios/swift/Func_void_LocationError.swift +1 -2
  67. package/nitrogen/generated/ios/swift/Func_void_PermissionStatus.swift +1 -2
  68. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -2
  69. package/nitrogen/generated/ios/swift/GeolocationCoordinates.swift +1 -2
  70. package/nitrogen/generated/ios/swift/GeolocationError.swift +1 -2
  71. package/nitrogen/generated/ios/swift/GeolocationOptions.swift +41 -7
  72. package/nitrogen/generated/ios/swift/GeolocationResponse.swift +1 -2
  73. package/nitrogen/generated/ios/swift/HybridNitroGeolocationCompatSpec.swift +3 -4
  74. package/nitrogen/generated/ios/swift/HybridNitroGeolocationCompatSpec_cxx.swift +9 -2
  75. package/nitrogen/generated/ios/swift/HybridNitroGeolocationSpec.swift +3 -4
  76. package/nitrogen/generated/ios/swift/HybridNitroGeolocationSpec_cxx.swift +9 -2
  77. package/nitrogen/generated/ios/swift/LocationError.swift +1 -2
  78. package/nitrogen/generated/ios/swift/LocationProvider.swift +1 -1
  79. package/nitrogen/generated/ios/swift/LocationProviderInternal.swift +1 -1
  80. package/nitrogen/generated/ios/swift/LocationRequestOptions.swift +41 -7
  81. package/nitrogen/generated/ios/swift/ModernGeolocationConfiguration.swift +1 -2
  82. package/nitrogen/generated/ios/swift/NullableDouble.swift +1 -1
  83. package/nitrogen/generated/ios/swift/PermissionStatus.swift +1 -1
  84. package/nitrogen/generated/ios/swift/RNConfigurationInternal.swift +1 -2
  85. package/nitrogen/generated/shared/c++/AuthorizationLevel.hpp +1 -1
  86. package/nitrogen/generated/shared/c++/AuthorizationLevelInternal.hpp +1 -1
  87. package/nitrogen/generated/shared/c++/GeolocationCoordinates.hpp +1 -1
  88. package/nitrogen/generated/shared/c++/GeolocationError.hpp +1 -1
  89. package/nitrogen/generated/shared/c++/GeolocationOptions.hpp +1 -1
  90. package/nitrogen/generated/shared/c++/GeolocationResponse.hpp +1 -1
  91. package/nitrogen/generated/shared/c++/HybridNitroGeolocationCompatSpec.cpp +1 -1
  92. package/nitrogen/generated/shared/c++/HybridNitroGeolocationCompatSpec.hpp +1 -1
  93. package/nitrogen/generated/shared/c++/HybridNitroGeolocationSpec.cpp +1 -1
  94. package/nitrogen/generated/shared/c++/HybridNitroGeolocationSpec.hpp +1 -1
  95. package/nitrogen/generated/shared/c++/LocationError.hpp +1 -1
  96. package/nitrogen/generated/shared/c++/LocationProvider.hpp +1 -1
  97. package/nitrogen/generated/shared/c++/LocationProviderInternal.hpp +1 -1
  98. package/nitrogen/generated/shared/c++/LocationRequestOptions.hpp +1 -1
  99. package/nitrogen/generated/shared/c++/ModernGeolocationConfiguration.hpp +1 -1
  100. package/nitrogen/generated/shared/c++/PermissionStatus.hpp +1 -1
  101. package/nitrogen/generated/shared/c++/RNConfigurationInternal.hpp +1 -1
  102. package/package.json +8 -5
package/LICENSE CHANGED
@@ -1,24 +1,21 @@
1
- This is free and unencumbered software released into the public domain.
1
+ MIT License
2
2
 
3
- Anyone is free to copy, modify, publish, use, compile, sell, or
4
- distribute this software, either in source code form or as a compiled
5
- binary, for any purpose, commercial or non-commercial, and by any
6
- means.
3
+ Copyright (c) 2026 jingjing2222
7
4
 
8
- In jurisdictions that recognize copyright laws, the author or authors
9
- of this software dedicate any and all copyright interest in the
10
- software to the public domain. We make this dedication for the benefit
11
- of the public at large and to the detriment of our heirs and
12
- successors. We intend this dedication to be an overt act of
13
- relinquishment in perpetuity of all present and future rights to this
14
- software under copyright law.
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
15
11
 
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
23
14
 
24
- For more information, please refer to <http://unlicense.org/>
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,6 +1,9 @@
1
1
  #include <jni.h>
2
+ #include <fbjni/fbjni.h>
2
3
  #include "nitrogeolocationOnLoad.hpp"
3
4
 
4
5
  JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
5
- return margelo::nitro::nitrogeolocation::initialize(vm);
6
+ return facebook::jni::initialize(vm, [] {
7
+ margelo::nitro::nitrogeolocation::registerAllNatives();
8
+ });
6
9
  }
@@ -2,7 +2,7 @@
2
2
  /// JAuthorizationLevel.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JAuthorizationLevelInternal.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JFunc_void.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JFunc_void_GeolocationError.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JFunc_void_GeolocationResponse.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JFunc_void_LocationError.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JGeolocationCoordinates.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JGeolocationError.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JGeolocationOptions.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JGeolocationResponse.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JHybridNitroGeolocationCompatSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JHybridNitroGeolocationCompatSpec.hpp"
@@ -50,30 +50,31 @@ namespace margelo::nitro::nitrogeolocation { struct GeolocationOptions; }
50
50
 
51
51
  namespace margelo::nitro::nitrogeolocation {
52
52
 
53
- jni::local_ref<JHybridNitroGeolocationCompatSpec::jhybriddata> JHybridNitroGeolocationCompatSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
54
- return makeCxxInstance(jThis);
55
- }
56
-
57
- void JHybridNitroGeolocationCompatSpec::registerNatives() {
58
- registerHybrid({
59
- makeNativeMethod("initHybrid", JHybridNitroGeolocationCompatSpec::initHybrid),
60
- });
53
+ std::shared_ptr<JHybridNitroGeolocationCompatSpec> JHybridNitroGeolocationCompatSpec::JavaPart::getJHybridNitroGeolocationCompatSpec() {
54
+ auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
55
+ auto castHybridObject = std::dynamic_pointer_cast<JHybridNitroGeolocationCompatSpec>(hybridObject);
56
+ if (castHybridObject == nullptr) [[unlikely]] {
57
+ throw std::runtime_error("Failed to downcast JHybridObject to JHybridNitroGeolocationCompatSpec!");
58
+ }
59
+ return castHybridObject;
61
60
  }
62
61
 
63
- size_t JHybridNitroGeolocationCompatSpec::getExternalMemorySize() noexcept {
64
- static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
65
- return method(_javaPart);
62
+ jni::local_ref<JHybridNitroGeolocationCompatSpec::CxxPart::jhybriddata> JHybridNitroGeolocationCompatSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
63
+ return makeCxxInstance(jThis);
66
64
  }
67
65
 
68
- void JHybridNitroGeolocationCompatSpec::dispose() noexcept {
69
- static const auto method = javaClassStatic()->getMethod<void()>("dispose");
70
- method(_javaPart);
66
+ std::shared_ptr<JHybridObject> JHybridNitroGeolocationCompatSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
67
+ auto castJavaPart = jni::dynamic_ref_cast<JHybridNitroGeolocationCompatSpec::JavaPart>(javaPart);
68
+ if (castJavaPart == nullptr) [[unlikely]] {
69
+ throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNitroGeolocationCompatSpec::JavaPart!");
70
+ }
71
+ return std::make_shared<JHybridNitroGeolocationCompatSpec>(castJavaPart);
71
72
  }
72
73
 
73
- std::string JHybridNitroGeolocationCompatSpec::toString() {
74
- static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
75
- auto javaString = method(_javaPart);
76
- return javaString->toStdString();
74
+ void JHybridNitroGeolocationCompatSpec::CxxPart::registerNatives() {
75
+ registerHybrid({
76
+ makeNativeMethod("initHybrid", JHybridNitroGeolocationCompatSpec::CxxPart::initHybrid),
77
+ });
77
78
  }
78
79
 
79
80
  // Properties
@@ -81,28 +82,28 @@ namespace margelo::nitro::nitrogeolocation {
81
82
 
82
83
  // Methods
83
84
  void JHybridNitroGeolocationCompatSpec::setRNConfiguration(const RNConfigurationInternal& config) {
84
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JRNConfigurationInternal> /* config */)>("setRNConfiguration");
85
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JRNConfigurationInternal> /* config */)>("setRNConfiguration");
85
86
  method(_javaPart, JRNConfigurationInternal::fromCpp(config));
86
87
  }
87
88
  void JHybridNitroGeolocationCompatSpec::requestAuthorization(const std::optional<std::function<void()>>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error) {
88
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */)>("requestAuthorization_cxx");
89
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */)>("requestAuthorization_cxx");
89
90
  method(_javaPart, success.has_value() ? JFunc_void_cxx::fromCpp(success.value()) : nullptr, error.has_value() ? JFunc_void_GeolocationError_cxx::fromCpp(error.value()) : nullptr);
90
91
  }
91
92
  void JHybridNitroGeolocationCompatSpec::getCurrentPosition(const std::function<void(const GeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error, const std::optional<GeolocationOptions>& options) {
92
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_GeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */, jni::alias_ref<JGeolocationOptions> /* options */)>("getCurrentPosition_cxx");
93
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_GeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */, jni::alias_ref<JGeolocationOptions> /* options */)>("getCurrentPosition_cxx");
93
94
  method(_javaPart, JFunc_void_GeolocationResponse_cxx::fromCpp(success), error.has_value() ? JFunc_void_GeolocationError_cxx::fromCpp(error.value()) : nullptr, options.has_value() ? JGeolocationOptions::fromCpp(options.value()) : nullptr);
94
95
  }
95
96
  double JHybridNitroGeolocationCompatSpec::watchPosition(const std::function<void(const GeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const GeolocationError& /* error */)>>& error, const std::optional<GeolocationOptions>& options) {
96
- static const auto method = javaClassStatic()->getMethod<double(jni::alias_ref<JFunc_void_GeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */, jni::alias_ref<JGeolocationOptions> /* options */)>("watchPosition_cxx");
97
+ static const auto method = _javaPart->javaClassStatic()->getMethod<double(jni::alias_ref<JFunc_void_GeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_GeolocationError::javaobject> /* error */, jni::alias_ref<JGeolocationOptions> /* options */)>("watchPosition_cxx");
97
98
  auto __result = method(_javaPart, JFunc_void_GeolocationResponse_cxx::fromCpp(success), error.has_value() ? JFunc_void_GeolocationError_cxx::fromCpp(error.value()) : nullptr, options.has_value() ? JGeolocationOptions::fromCpp(options.value()) : nullptr);
98
99
  return __result;
99
100
  }
100
101
  void JHybridNitroGeolocationCompatSpec::clearWatch(double watchId) {
101
- static const auto method = javaClassStatic()->getMethod<void(double /* watchId */)>("clearWatch");
102
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* watchId */)>("clearWatch");
102
103
  method(_javaPart, watchId);
103
104
  }
104
105
  void JHybridNitroGeolocationCompatSpec::stopObserving() {
105
- static const auto method = javaClassStatic()->getMethod<void()>("stopObserving");
106
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("stopObserving");
106
107
  method(_javaPart);
107
108
  }
108
109
 
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroGeolocationCompatSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -18,33 +18,33 @@ namespace margelo::nitro::nitrogeolocation {
18
18
 
19
19
  using namespace facebook;
20
20
 
21
- class JHybridNitroGeolocationCompatSpec: public jni::HybridClass<JHybridNitroGeolocationCompatSpec, JHybridObject>,
22
- public virtual HybridNitroGeolocationCompatSpec {
21
+ class JHybridNitroGeolocationCompatSpec: public virtual HybridNitroGeolocationCompatSpec, public virtual JHybridObject {
23
22
  public:
24
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/HybridNitroGeolocationCompatSpec;";
25
- static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
26
- static void registerNatives();
27
-
28
- protected:
29
- // C++ constructor (called from Java via `initHybrid()`)
30
- explicit JHybridNitroGeolocationCompatSpec(jni::alias_ref<jhybridobject> jThis) :
31
- HybridObject(HybridNitroGeolocationCompatSpec::TAG),
32
- HybridBase(jThis),
33
- _javaPart(jni::make_global(jThis)) {}
23
+ struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/HybridNitroGeolocationCompatSpec;";
25
+ std::shared_ptr<JHybridNitroGeolocationCompatSpec> getJHybridNitroGeolocationCompatSpec();
26
+ };
27
+ struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
28
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/HybridNitroGeolocationCompatSpec$CxxPart;";
29
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
30
+ static void registerNatives();
31
+ using HybridBase::HybridBase;
32
+ protected:
33
+ std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
34
+ };
34
35
 
35
36
  public:
37
+ explicit JHybridNitroGeolocationCompatSpec(const jni::local_ref<JHybridNitroGeolocationCompatSpec::JavaPart>& javaPart):
38
+ HybridObject(HybridNitroGeolocationCompatSpec::TAG),
39
+ JHybridObject(javaPart),
40
+ _javaPart(jni::make_global(javaPart)) {}
36
41
  ~JHybridNitroGeolocationCompatSpec() override {
37
42
  // Hermes GC can destroy JS objects on a non-JNI Thread.
38
43
  jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
44
  }
40
45
 
41
46
  public:
42
- size_t getExternalMemorySize() noexcept override;
43
- void dispose() noexcept override;
44
- std::string toString() override;
45
-
46
- public:
47
- inline const jni::global_ref<JHybridNitroGeolocationCompatSpec::javaobject>& getJavaPart() const noexcept {
47
+ inline const jni::global_ref<JHybridNitroGeolocationCompatSpec::JavaPart>& getJavaPart() const noexcept {
48
48
  return _javaPart;
49
49
  }
50
50
 
@@ -62,9 +62,7 @@ namespace margelo::nitro::nitrogeolocation {
62
62
  void stopObserving() override;
63
63
 
64
64
  private:
65
- friend HybridBase;
66
- using HybridBase::HybridBase;
67
- jni::global_ref<JHybridNitroGeolocationCompatSpec::javaobject> _javaPart;
65
+ jni::global_ref<JHybridNitroGeolocationCompatSpec::JavaPart> _javaPart;
68
66
  };
69
67
 
70
68
  } // namespace margelo::nitro::nitrogeolocation
@@ -2,7 +2,7 @@
2
2
  /// JHybridNitroGeolocationSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JHybridNitroGeolocationSpec.hpp"
@@ -55,30 +55,31 @@ namespace margelo::nitro::nitrogeolocation { struct LocationError; }
55
55
 
56
56
  namespace margelo::nitro::nitrogeolocation {
57
57
 
58
- jni::local_ref<JHybridNitroGeolocationSpec::jhybriddata> JHybridNitroGeolocationSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
59
- return makeCxxInstance(jThis);
60
- }
61
-
62
- void JHybridNitroGeolocationSpec::registerNatives() {
63
- registerHybrid({
64
- makeNativeMethod("initHybrid", JHybridNitroGeolocationSpec::initHybrid),
65
- });
58
+ std::shared_ptr<JHybridNitroGeolocationSpec> JHybridNitroGeolocationSpec::JavaPart::getJHybridNitroGeolocationSpec() {
59
+ auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
60
+ auto castHybridObject = std::dynamic_pointer_cast<JHybridNitroGeolocationSpec>(hybridObject);
61
+ if (castHybridObject == nullptr) [[unlikely]] {
62
+ throw std::runtime_error("Failed to downcast JHybridObject to JHybridNitroGeolocationSpec!");
63
+ }
64
+ return castHybridObject;
66
65
  }
67
66
 
68
- size_t JHybridNitroGeolocationSpec::getExternalMemorySize() noexcept {
69
- static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
70
- return method(_javaPart);
67
+ jni::local_ref<JHybridNitroGeolocationSpec::CxxPart::jhybriddata> JHybridNitroGeolocationSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
68
+ return makeCxxInstance(jThis);
71
69
  }
72
70
 
73
- void JHybridNitroGeolocationSpec::dispose() noexcept {
74
- static const auto method = javaClassStatic()->getMethod<void()>("dispose");
75
- method(_javaPart);
71
+ std::shared_ptr<JHybridObject> JHybridNitroGeolocationSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
72
+ auto castJavaPart = jni::dynamic_ref_cast<JHybridNitroGeolocationSpec::JavaPart>(javaPart);
73
+ if (castJavaPart == nullptr) [[unlikely]] {
74
+ throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNitroGeolocationSpec::JavaPart!");
75
+ }
76
+ return std::make_shared<JHybridNitroGeolocationSpec>(castJavaPart);
76
77
  }
77
78
 
78
- std::string JHybridNitroGeolocationSpec::toString() {
79
- static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
80
- auto javaString = method(_javaPart);
81
- return javaString->toStdString();
79
+ void JHybridNitroGeolocationSpec::CxxPart::registerNatives() {
80
+ registerHybrid({
81
+ makeNativeMethod("initHybrid", JHybridNitroGeolocationSpec::CxxPart::initHybrid),
82
+ });
82
83
  }
83
84
 
84
85
  // Properties
@@ -86,11 +87,11 @@ namespace margelo::nitro::nitrogeolocation {
86
87
 
87
88
  // Methods
88
89
  void JHybridNitroGeolocationSpec::setConfiguration(const ModernGeolocationConfiguration& config) {
89
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JModernGeolocationConfiguration> /* config */)>("setConfiguration");
90
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JModernGeolocationConfiguration> /* config */)>("setConfiguration");
90
91
  method(_javaPart, JModernGeolocationConfiguration::fromCpp(config));
91
92
  }
92
93
  std::shared_ptr<Promise<PermissionStatus>> JHybridNitroGeolocationSpec::checkPermission() {
93
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("checkPermission");
94
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("checkPermission");
94
95
  auto __result = method(_javaPart);
95
96
  return [&]() {
96
97
  auto __promise = Promise<PermissionStatus>::create();
@@ -106,7 +107,7 @@ namespace margelo::nitro::nitrogeolocation {
106
107
  }();
107
108
  }
108
109
  std::shared_ptr<Promise<PermissionStatus>> JHybridNitroGeolocationSpec::requestPermission() {
109
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("requestPermission");
110
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("requestPermission");
110
111
  auto __result = method(_javaPart);
111
112
  return [&]() {
112
113
  auto __promise = Promise<PermissionStatus>::create();
@@ -122,7 +123,7 @@ namespace margelo::nitro::nitrogeolocation {
122
123
  }();
123
124
  }
124
125
  std::shared_ptr<Promise<GeolocationResponse>> JHybridNitroGeolocationSpec::getCurrentPosition(const std::optional<LocationRequestOptions>& options) {
125
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JLocationRequestOptions> /* options */)>("getCurrentPosition");
126
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JLocationRequestOptions> /* options */)>("getCurrentPosition");
126
127
  auto __result = method(_javaPart, options.has_value() ? JLocationRequestOptions::fromCpp(options.value()) : nullptr);
127
128
  return [&]() {
128
129
  auto __promise = Promise<GeolocationResponse>::create();
@@ -138,16 +139,16 @@ namespace margelo::nitro::nitrogeolocation {
138
139
  }();
139
140
  }
140
141
  std::string JHybridNitroGeolocationSpec::watchPosition(const std::function<void(const GeolocationResponse& /* position */)>& success, const std::optional<std::function<void(const LocationError& /* error */)>>& error, const std::optional<LocationRequestOptions>& options) {
141
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<JFunc_void_GeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_LocationError::javaobject> /* error */, jni::alias_ref<JLocationRequestOptions> /* options */)>("watchPosition_cxx");
142
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<JFunc_void_GeolocationResponse::javaobject> /* success */, jni::alias_ref<JFunc_void_LocationError::javaobject> /* error */, jni::alias_ref<JLocationRequestOptions> /* options */)>("watchPosition_cxx");
142
143
  auto __result = method(_javaPart, JFunc_void_GeolocationResponse_cxx::fromCpp(success), error.has_value() ? JFunc_void_LocationError_cxx::fromCpp(error.value()) : nullptr, options.has_value() ? JLocationRequestOptions::fromCpp(options.value()) : nullptr);
143
144
  return __result->toStdString();
144
145
  }
145
146
  void JHybridNitroGeolocationSpec::unwatch(const std::string& token) {
146
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* token */)>("unwatch");
147
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* token */)>("unwatch");
147
148
  method(_javaPart, jni::make_jstring(token));
148
149
  }
149
150
  void JHybridNitroGeolocationSpec::stopObserving() {
150
- static const auto method = javaClassStatic()->getMethod<void()>("stopObserving");
151
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("stopObserving");
151
152
  method(_javaPart);
152
153
  }
153
154
 
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroGeolocationSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -18,33 +18,33 @@ namespace margelo::nitro::nitrogeolocation {
18
18
 
19
19
  using namespace facebook;
20
20
 
21
- class JHybridNitroGeolocationSpec: public jni::HybridClass<JHybridNitroGeolocationSpec, JHybridObject>,
22
- public virtual HybridNitroGeolocationSpec {
21
+ class JHybridNitroGeolocationSpec: public virtual HybridNitroGeolocationSpec, public virtual JHybridObject {
23
22
  public:
24
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/HybridNitroGeolocationSpec;";
25
- static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
26
- static void registerNatives();
27
-
28
- protected:
29
- // C++ constructor (called from Java via `initHybrid()`)
30
- explicit JHybridNitroGeolocationSpec(jni::alias_ref<jhybridobject> jThis) :
31
- HybridObject(HybridNitroGeolocationSpec::TAG),
32
- HybridBase(jThis),
33
- _javaPart(jni::make_global(jThis)) {}
23
+ struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/HybridNitroGeolocationSpec;";
25
+ std::shared_ptr<JHybridNitroGeolocationSpec> getJHybridNitroGeolocationSpec();
26
+ };
27
+ struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
28
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrogeolocation/HybridNitroGeolocationSpec$CxxPart;";
29
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
30
+ static void registerNatives();
31
+ using HybridBase::HybridBase;
32
+ protected:
33
+ std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
34
+ };
34
35
 
35
36
  public:
37
+ explicit JHybridNitroGeolocationSpec(const jni::local_ref<JHybridNitroGeolocationSpec::JavaPart>& javaPart):
38
+ HybridObject(HybridNitroGeolocationSpec::TAG),
39
+ JHybridObject(javaPart),
40
+ _javaPart(jni::make_global(javaPart)) {}
36
41
  ~JHybridNitroGeolocationSpec() override {
37
42
  // Hermes GC can destroy JS objects on a non-JNI Thread.
38
43
  jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
44
  }
40
45
 
41
46
  public:
42
- size_t getExternalMemorySize() noexcept override;
43
- void dispose() noexcept override;
44
- std::string toString() override;
45
-
46
- public:
47
- inline const jni::global_ref<JHybridNitroGeolocationSpec::javaobject>& getJavaPart() const noexcept {
47
+ inline const jni::global_ref<JHybridNitroGeolocationSpec::JavaPart>& getJavaPart() const noexcept {
48
48
  return _javaPart;
49
49
  }
50
50
 
@@ -63,9 +63,7 @@ namespace margelo::nitro::nitrogeolocation {
63
63
  void stopObserving() override;
64
64
 
65
65
  private:
66
- friend HybridBase;
67
- using HybridBase::HybridBase;
68
- jni::global_ref<JHybridNitroGeolocationSpec::javaobject> _javaPart;
66
+ jni::global_ref<JHybridNitroGeolocationSpec::JavaPart> _javaPart;
69
67
  };
70
68
 
71
69
  } // namespace margelo::nitro::nitrogeolocation
@@ -2,7 +2,7 @@
2
2
  /// JLocationError.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JLocationProvider.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JLocationProviderInternal.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JLocationRequestOptions.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JModernGeolocationConfiguration.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JNullableDouble.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JNullableDouble.hpp"
@@ -2,7 +2,7 @@
2
2
  /// JNullableDouble.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JPermissionStatus.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JRNConfigurationInternal.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// AuthorizationLevel.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrogeolocation
@@ -2,7 +2,7 @@
2
2
  /// AuthorizationLevelInternal.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrogeolocation