react-native-push-signal 0.1.6 → 0.1.7

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 (97) hide show
  1. package/LICENSE +1 -1
  2. package/PushSignal.podspec +2 -12
  3. package/README.md +1 -3
  4. package/README.ru.md +1 -3
  5. package/android/build.gradle +1 -62
  6. package/android/consumer-rules.pro +3 -3
  7. package/android/src/main/AndroidManifest.xml +2 -2
  8. package/android/src/main/java/com/pushsignal/PushModels.kt +15 -0
  9. package/android/src/main/java/com/{margelo/nitro/pushsignal → pushsignal}/PushSignalCenter.kt +2 -3
  10. package/android/src/main/java/com/{margelo/nitro/pushsignal → pushsignal}/PushSignalInitProvider.kt +1 -1
  11. package/android/src/main/java/com/{margelo/nitro/pushsignal → pushsignal}/PushSignalMessagingService.kt +1 -1
  12. package/android/src/main/java/com/pushsignal/PushSignalModule.kt +88 -0
  13. package/android/src/main/java/com/pushsignal/PushSignalPackage.kt +30 -0
  14. package/ios/PushSignal.h +4 -0
  15. package/ios/PushSignal.mm +57 -0
  16. package/ios/PushSignalCenter.h +26 -0
  17. package/ios/PushSignalCenter.m +608 -0
  18. package/ios/PushSignalLaunchStore.m +3 -14
  19. package/lib/module/NativePushSignal.js +5 -0
  20. package/lib/module/NativePushSignal.js.map +1 -0
  21. package/lib/module/pushSignal.native.js +33 -7
  22. package/lib/module/pushSignal.native.js.map +1 -1
  23. package/lib/module/types.js +2 -0
  24. package/lib/module/types.js.map +1 -0
  25. package/lib/typescript/src/NativePushSignal.d.ts +22 -0
  26. package/lib/typescript/src/NativePushSignal.d.ts.map +1 -0
  27. package/lib/typescript/src/index.d.ts +1 -1
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/lib/typescript/src/pushSignal.d.ts +1 -1
  30. package/lib/typescript/src/pushSignal.d.ts.map +1 -1
  31. package/lib/typescript/src/pushSignal.native.d.ts +1 -1
  32. package/lib/typescript/src/pushSignal.native.d.ts.map +1 -1
  33. package/lib/typescript/src/{PushSignal.nitro.d.ts → types.d.ts} +2 -12
  34. package/lib/typescript/src/types.d.ts.map +1 -0
  35. package/package.json +14 -19
  36. package/src/NativePushSignal.ts +25 -0
  37. package/src/index.tsx +1 -1
  38. package/src/pushSignal.native.tsx +54 -11
  39. package/src/pushSignal.tsx +1 -1
  40. package/src/types.ts +25 -0
  41. package/android/CMakeLists.txt +0 -24
  42. package/android/src/main/cpp/cpp-adapter.cpp +0 -11
  43. package/android/src/main/java/com/margelo/nitro/pushsignal/PushSignal.kt +0 -38
  44. package/android/src/main/java/com/margelo/nitro/pushsignal/PushSignalPackage.kt +0 -22
  45. package/ios/PushSignal.swift +0 -29
  46. package/ios/PushSignalCenter.swift +0 -604
  47. package/lib/module/PushSignal.nitro.js +0 -4
  48. package/lib/module/PushSignal.nitro.js.map +0 -1
  49. package/lib/typescript/src/PushSignal.nitro.d.ts.map +0 -1
  50. package/nitro.json +0 -23
  51. package/nitrogen/generated/android/c++/JAndroidFirebaseConfig.hpp +0 -70
  52. package/nitrogen/generated/android/c++/JFunc_void_PushMessage.hpp +0 -80
  53. package/nitrogen/generated/android/c++/JHybridPushSignalSpec.cpp +0 -114
  54. package/nitrogen/generated/android/c++/JHybridPushSignalSpec.hpp +0 -66
  55. package/nitrogen/generated/android/c++/JPushCredentials.hpp +0 -70
  56. package/nitrogen/generated/android/c++/JPushEnvironment.hpp +0 -58
  57. package/nitrogen/generated/android/c++/JPushMessage.hpp +0 -84
  58. package/nitrogen/generated/android/c++/JPushPlatform.hpp +0 -58
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/AndroidFirebaseConfig.kt +0 -66
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/Func_void_PushMessage.kt +0 -78
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/HybridPushSignalSpec.kt +0 -79
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/PushCredentials.kt +0 -61
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/PushEnvironment.kt +0 -23
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/PushMessage.kt +0 -66
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/PushPlatform.kt +0 -23
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/pushsignalOnLoad.kt +0 -35
  67. package/nitrogen/generated/android/pushsignal+autolinking.cmake +0 -81
  68. package/nitrogen/generated/android/pushsignal+autolinking.gradle +0 -27
  69. package/nitrogen/generated/android/pushsignalOnLoad.cpp +0 -56
  70. package/nitrogen/generated/android/pushsignalOnLoad.hpp +0 -34
  71. package/nitrogen/generated/ios/PushSignal+autolinking.rb +0 -62
  72. package/nitrogen/generated/ios/PushSignal-Swift-Cxx-Bridge.cpp +0 -65
  73. package/nitrogen/generated/ios/PushSignal-Swift-Cxx-Bridge.hpp +0 -254
  74. package/nitrogen/generated/ios/PushSignal-Swift-Cxx-Umbrella.hpp +0 -63
  75. package/nitrogen/generated/ios/PushSignalAutolinking.mm +0 -33
  76. package/nitrogen/generated/ios/PushSignalAutolinking.swift +0 -26
  77. package/nitrogen/generated/ios/c++/HybridPushSignalSpecSwift.cpp +0 -11
  78. package/nitrogen/generated/ios/c++/HybridPushSignalSpecSwift.hpp +0 -120
  79. package/nitrogen/generated/ios/swift/AndroidFirebaseConfig.swift +0 -96
  80. package/nitrogen/generated/ios/swift/Func_void.swift +0 -46
  81. package/nitrogen/generated/ios/swift/Func_void_PushCredentials.swift +0 -46
  82. package/nitrogen/generated/ios/swift/Func_void_PushMessage.swift +0 -46
  83. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -46
  84. package/nitrogen/generated/ios/swift/HybridPushSignalSpec.swift +0 -58
  85. package/nitrogen/generated/ios/swift/HybridPushSignalSpec_cxx.swift +0 -196
  86. package/nitrogen/generated/ios/swift/PushCredentials.swift +0 -45
  87. package/nitrogen/generated/ios/swift/PushEnvironment.swift +0 -40
  88. package/nitrogen/generated/ios/swift/PushMessage.swift +0 -97
  89. package/nitrogen/generated/ios/swift/PushPlatform.swift +0 -40
  90. package/nitrogen/generated/shared/c++/AndroidFirebaseConfig.hpp +0 -96
  91. package/nitrogen/generated/shared/c++/HybridPushSignalSpec.cpp +0 -24
  92. package/nitrogen/generated/shared/c++/HybridPushSignalSpec.hpp +0 -74
  93. package/nitrogen/generated/shared/c++/PushCredentials.hpp +0 -97
  94. package/nitrogen/generated/shared/c++/PushEnvironment.hpp +0 -76
  95. package/nitrogen/generated/shared/c++/PushMessage.hpp +0 -97
  96. package/nitrogen/generated/shared/c++/PushPlatform.hpp +0 -76
  97. package/src/PushSignal.nitro.ts +0 -39
@@ -1,80 +0,0 @@
1
- ///
2
- /// JFunc_void_PushMessage.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 <functional>
12
-
13
- #include "PushMessage.hpp"
14
- #include <functional>
15
- #include <NitroModules/JNICallable.hpp>
16
- #include "JPushMessage.hpp"
17
- #include <string>
18
- #include <optional>
19
- #include <unordered_map>
20
-
21
- namespace margelo::nitro::pushsignal {
22
-
23
- using namespace facebook;
24
-
25
- /**
26
- * Represents the Java/Kotlin callback `(message: PushMessage) -> Unit`.
27
- * This can be passed around between C++ and Java/Kotlin.
28
- */
29
- struct JFunc_void_PushMessage: public jni::JavaClass<JFunc_void_PushMessage> {
30
- public:
31
- static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/pushsignal/Func_void_PushMessage;";
32
-
33
- public:
34
- /**
35
- * Invokes the function this `JFunc_void_PushMessage` instance holds through JNI.
36
- */
37
- void invoke(const PushMessage& message) const {
38
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JPushMessage> /* message */)>("invoke");
39
- method(self(), JPushMessage::fromCpp(message));
40
- }
41
- };
42
-
43
- /**
44
- * An implementation of Func_void_PushMessage that is backed by a C++ implementation (using `std::function<...>`)
45
- */
46
- class JFunc_void_PushMessage_cxx final: public jni::HybridClass<JFunc_void_PushMessage_cxx, JFunc_void_PushMessage> {
47
- public:
48
- static jni::local_ref<JFunc_void_PushMessage::javaobject> fromCpp(const std::function<void(const PushMessage& /* message */)>& func) {
49
- return JFunc_void_PushMessage_cxx::newObjectCxxArgs(func);
50
- }
51
-
52
- public:
53
- /**
54
- * Invokes the C++ `std::function<...>` this `JFunc_void_PushMessage_cxx` instance holds.
55
- */
56
- void invoke_cxx(jni::alias_ref<JPushMessage> message) {
57
- _func(message->toCpp());
58
- }
59
-
60
- public:
61
- [[nodiscard]]
62
- inline const std::function<void(const PushMessage& /* message */)>& getFunction() const {
63
- return _func;
64
- }
65
-
66
- public:
67
- static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/pushsignal/Func_void_PushMessage_cxx;";
68
- static void registerNatives() {
69
- registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_PushMessage_cxx::invoke_cxx)});
70
- }
71
-
72
- private:
73
- explicit JFunc_void_PushMessage_cxx(const std::function<void(const PushMessage& /* message */)>& func): _func(func) { }
74
-
75
- private:
76
- friend HybridBase;
77
- std::function<void(const PushMessage& /* message */)> _func;
78
- };
79
-
80
- } // namespace margelo::nitro::pushsignal
@@ -1,114 +0,0 @@
1
- ///
2
- /// JHybridPushSignalSpec.cpp
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
- #include "JHybridPushSignalSpec.hpp"
9
-
10
- // Forward declaration of `PushCredentials` to properly resolve imports.
11
- namespace margelo::nitro::pushsignal { struct PushCredentials; }
12
- // Forward declaration of `PushPlatform` to properly resolve imports.
13
- namespace margelo::nitro::pushsignal { enum class PushPlatform; }
14
- // Forward declaration of `PushEnvironment` to properly resolve imports.
15
- namespace margelo::nitro::pushsignal { enum class PushEnvironment; }
16
- // Forward declaration of `AndroidFirebaseConfig` to properly resolve imports.
17
- namespace margelo::nitro::pushsignal { struct AndroidFirebaseConfig; }
18
- // Forward declaration of `PushMessage` to properly resolve imports.
19
- namespace margelo::nitro::pushsignal { struct PushMessage; }
20
-
21
- #include <NitroModules/Promise.hpp>
22
- #include <NitroModules/JPromise.hpp>
23
- #include <NitroModules/JUnit.hpp>
24
- #include "PushCredentials.hpp"
25
- #include "JPushCredentials.hpp"
26
- #include "PushPlatform.hpp"
27
- #include "JPushPlatform.hpp"
28
- #include <string>
29
- #include "PushEnvironment.hpp"
30
- #include <optional>
31
- #include "JPushEnvironment.hpp"
32
- #include "AndroidFirebaseConfig.hpp"
33
- #include "JAndroidFirebaseConfig.hpp"
34
- #include "PushMessage.hpp"
35
- #include <functional>
36
- #include "JFunc_void_PushMessage.hpp"
37
- #include <NitroModules/JNICallable.hpp>
38
- #include "JPushMessage.hpp"
39
- #include <unordered_map>
40
-
41
- namespace margelo::nitro::pushsignal {
42
-
43
- std::shared_ptr<JHybridPushSignalSpec> JHybridPushSignalSpec::JavaPart::getJHybridPushSignalSpec() {
44
- auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
45
- auto castHybridObject = std::dynamic_pointer_cast<JHybridPushSignalSpec>(hybridObject);
46
- if (castHybridObject == nullptr) [[unlikely]] {
47
- throw std::runtime_error("Failed to downcast JHybridObject to JHybridPushSignalSpec!");
48
- }
49
- return castHybridObject;
50
- }
51
-
52
- jni::local_ref<JHybridPushSignalSpec::CxxPart::jhybriddata> JHybridPushSignalSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
53
- return makeCxxInstance(jThis);
54
- }
55
-
56
- std::shared_ptr<JHybridObject> JHybridPushSignalSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
57
- auto castJavaPart = jni::dynamic_ref_cast<JHybridPushSignalSpec::JavaPart>(javaPart);
58
- if (castJavaPart == nullptr) [[unlikely]] {
59
- throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridPushSignalSpec::JavaPart!");
60
- }
61
- return std::make_shared<JHybridPushSignalSpec>(castJavaPart);
62
- }
63
-
64
- void JHybridPushSignalSpec::CxxPart::registerNatives() {
65
- registerHybrid({
66
- makeNativeMethod("initHybrid", JHybridPushSignalSpec::CxxPart::initHybrid),
67
- });
68
- }
69
-
70
- // Properties
71
-
72
-
73
- // Methods
74
- std::shared_ptr<Promise<void>> JHybridPushSignalSpec::initialize(const AndroidFirebaseConfig& config) {
75
- static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JAndroidFirebaseConfig> /* config */)>("initialize");
76
- auto __result = method(_javaPart, JAndroidFirebaseConfig::fromCpp(config));
77
- return [&]() {
78
- auto __promise = Promise<void>::create();
79
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
80
- __promise->resolve();
81
- });
82
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
83
- jni::JniException __jniError(__throwable);
84
- __promise->reject(std::make_exception_ptr(__jniError));
85
- });
86
- return __promise;
87
- }();
88
- }
89
- std::shared_ptr<Promise<PushCredentials>> JHybridPushSignalSpec::getCredentials() {
90
- static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getCredentials");
91
- auto __result = method(_javaPart);
92
- return [&]() {
93
- auto __promise = Promise<PushCredentials>::create();
94
- __result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
95
- auto __result = jni::static_ref_cast<JPushCredentials>(__boxedResult);
96
- __promise->resolve(__result->toCpp());
97
- });
98
- __result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
99
- jni::JniException __jniError(__throwable);
100
- __promise->reject(std::make_exception_ptr(__jniError));
101
- });
102
- return __promise;
103
- }();
104
- }
105
- void JHybridPushSignalSpec::setOnMessage(const std::function<void(const PushMessage& /* message */)>& callback) {
106
- static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_PushMessage::javaobject> /* callback */)>("setOnMessage_cxx");
107
- method(_javaPart, JFunc_void_PushMessage_cxx::fromCpp(callback));
108
- }
109
- void JHybridPushSignalSpec::setOnNotificationPress(const std::function<void(const PushMessage& /* message */)>& callback) {
110
- static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_PushMessage::javaobject> /* callback */)>("setOnNotificationPress_cxx");
111
- method(_javaPart, JFunc_void_PushMessage_cxx::fromCpp(callback));
112
- }
113
-
114
- } // namespace margelo::nitro::pushsignal
@@ -1,66 +0,0 @@
1
- ///
2
- /// HybridPushSignalSpec.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 <NitroModules/JHybridObject.hpp>
11
- #include <fbjni/fbjni.h>
12
- #include "HybridPushSignalSpec.hpp"
13
-
14
-
15
-
16
-
17
- namespace margelo::nitro::pushsignal {
18
-
19
- using namespace facebook;
20
-
21
- class JHybridPushSignalSpec: public virtual HybridPushSignalSpec, public virtual JHybridObject {
22
- public:
23
- struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
24
- static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/pushsignal/HybridPushSignalSpec;";
25
- std::shared_ptr<JHybridPushSignalSpec> getJHybridPushSignalSpec();
26
- };
27
- struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
28
- static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/pushsignal/HybridPushSignalSpec$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
- };
35
-
36
- public:
37
- explicit JHybridPushSignalSpec(const jni::local_ref<JHybridPushSignalSpec::JavaPart>& javaPart):
38
- HybridObject(HybridPushSignalSpec::TAG),
39
- JHybridObject(javaPart),
40
- _javaPart(jni::make_global(javaPart)) {}
41
- ~JHybridPushSignalSpec() override {
42
- // Hermes GC can destroy JS objects on a non-JNI Thread.
43
- jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
44
- }
45
-
46
- public:
47
- inline const jni::global_ref<JHybridPushSignalSpec::JavaPart>& getJavaPart() const noexcept {
48
- return _javaPart;
49
- }
50
-
51
- public:
52
- // Properties
53
-
54
-
55
- public:
56
- // Methods
57
- std::shared_ptr<Promise<void>> initialize(const AndroidFirebaseConfig& config) override;
58
- std::shared_ptr<Promise<PushCredentials>> getCredentials() override;
59
- void setOnMessage(const std::function<void(const PushMessage& /* message */)>& callback) override;
60
- void setOnNotificationPress(const std::function<void(const PushMessage& /* message */)>& callback) override;
61
-
62
- private:
63
- jni::global_ref<JHybridPushSignalSpec::JavaPart> _javaPart;
64
- };
65
-
66
- } // namespace margelo::nitro::pushsignal
@@ -1,70 +0,0 @@
1
- ///
2
- /// JPushCredentials.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 "PushCredentials.hpp"
12
-
13
- #include "JPushEnvironment.hpp"
14
- #include "JPushPlatform.hpp"
15
- #include "PushEnvironment.hpp"
16
- #include "PushPlatform.hpp"
17
- #include <optional>
18
- #include <string>
19
-
20
- namespace margelo::nitro::pushsignal {
21
-
22
- using namespace facebook;
23
-
24
- /**
25
- * The C++ JNI bridge between the C++ struct "PushCredentials" and the Kotlin data class "PushCredentials".
26
- */
27
- struct JPushCredentials final: public jni::JavaClass<JPushCredentials> {
28
- public:
29
- static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/pushsignal/PushCredentials;";
30
-
31
- public:
32
- /**
33
- * Convert this Java/Kotlin-based struct to the C++ struct PushCredentials by copying all values to C++.
34
- */
35
- [[maybe_unused]]
36
- [[nodiscard]]
37
- PushCredentials toCpp() const {
38
- static const auto clazz = javaClassStatic();
39
- static const auto fieldPlatform = clazz->getField<JPushPlatform>("platform");
40
- jni::local_ref<JPushPlatform> platform = this->getFieldValue(fieldPlatform);
41
- static const auto fieldToken = clazz->getField<jni::JString>("token");
42
- jni::local_ref<jni::JString> token = this->getFieldValue(fieldToken);
43
- static const auto fieldEnvironment = clazz->getField<JPushEnvironment>("environment");
44
- jni::local_ref<JPushEnvironment> environment = this->getFieldValue(fieldEnvironment);
45
- return PushCredentials(
46
- platform->toCpp(),
47
- token->toStdString(),
48
- environment != nullptr ? std::make_optional(environment->toCpp()) : std::nullopt
49
- );
50
- }
51
-
52
- public:
53
- /**
54
- * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
55
- */
56
- [[maybe_unused]]
57
- static jni::local_ref<JPushCredentials::javaobject> fromCpp(const PushCredentials& value) {
58
- using JSignature = JPushCredentials(jni::alias_ref<JPushPlatform>, jni::alias_ref<jni::JString>, jni::alias_ref<JPushEnvironment>);
59
- static const auto clazz = javaClassStatic();
60
- static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
61
- return create(
62
- clazz,
63
- JPushPlatform::fromCpp(value.platform),
64
- jni::make_jstring(value.token),
65
- value.environment.has_value() ? JPushEnvironment::fromCpp(value.environment.value()) : nullptr
66
- );
67
- }
68
- };
69
-
70
- } // namespace margelo::nitro::pushsignal
@@ -1,58 +0,0 @@
1
- ///
2
- /// JPushEnvironment.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 "PushEnvironment.hpp"
12
-
13
- namespace margelo::nitro::pushsignal {
14
-
15
- using namespace facebook;
16
-
17
- /**
18
- * The C++ JNI bridge between the C++ enum "PushEnvironment" and the Kotlin enum "PushEnvironment".
19
- */
20
- struct JPushEnvironment final: public jni::JavaClass<JPushEnvironment> {
21
- public:
22
- static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/pushsignal/PushEnvironment;";
23
-
24
- public:
25
- /**
26
- * Convert this Java/Kotlin-based enum to the C++ enum PushEnvironment.
27
- */
28
- [[maybe_unused]]
29
- [[nodiscard]]
30
- PushEnvironment 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<PushEnvironment>(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<JPushEnvironment> fromCpp(PushEnvironment value) {
43
- static const auto clazz = javaClassStatic();
44
- switch (value) {
45
- case PushEnvironment::SANDBOX:
46
- static const auto fieldSANDBOX = clazz->getStaticField<JPushEnvironment>("SANDBOX");
47
- return clazz->getStaticFieldValue(fieldSANDBOX);
48
- case PushEnvironment::PRODUCTION:
49
- static const auto fieldPRODUCTION = clazz->getStaticField<JPushEnvironment>("PRODUCTION");
50
- return clazz->getStaticFieldValue(fieldPRODUCTION);
51
- default:
52
- std::string stringValue = std::to_string(static_cast<int>(value));
53
- throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
54
- }
55
- }
56
- };
57
-
58
- } // namespace margelo::nitro::pushsignal
@@ -1,84 +0,0 @@
1
- ///
2
- /// JPushMessage.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 "PushMessage.hpp"
12
-
13
- #include <optional>
14
- #include <string>
15
- #include <unordered_map>
16
-
17
- namespace margelo::nitro::pushsignal {
18
-
19
- using namespace facebook;
20
-
21
- /**
22
- * The C++ JNI bridge between the C++ struct "PushMessage" and the Kotlin data class "PushMessage".
23
- */
24
- struct JPushMessage final: public jni::JavaClass<JPushMessage> {
25
- public:
26
- static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/pushsignal/PushMessage;";
27
-
28
- public:
29
- /**
30
- * Convert this Java/Kotlin-based struct to the C++ struct PushMessage by copying all values to C++.
31
- */
32
- [[maybe_unused]]
33
- [[nodiscard]]
34
- PushMessage toCpp() const {
35
- static const auto clazz = javaClassStatic();
36
- static const auto fieldId = clazz->getField<jni::JString>("id");
37
- jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
38
- static const auto fieldTitle = clazz->getField<jni::JString>("title");
39
- jni::local_ref<jni::JString> title = this->getFieldValue(fieldTitle);
40
- static const auto fieldBody = clazz->getField<jni::JString>("body");
41
- jni::local_ref<jni::JString> body = this->getFieldValue(fieldBody);
42
- static const auto fieldData = clazz->getField<jni::JMap<jni::JString, jni::JString>>("data");
43
- jni::local_ref<jni::JMap<jni::JString, jni::JString>> data = this->getFieldValue(fieldData);
44
- return PushMessage(
45
- id != nullptr ? std::make_optional(id->toStdString()) : std::nullopt,
46
- title != nullptr ? std::make_optional(title->toStdString()) : std::nullopt,
47
- body != nullptr ? std::make_optional(body->toStdString()) : std::nullopt,
48
- [&]() {
49
- std::unordered_map<std::string, std::string> __map;
50
- __map.reserve(data->size());
51
- for (const auto& __entry : *data) {
52
- __map.emplace(__entry.first->toStdString(), __entry.second->toStdString());
53
- }
54
- return __map;
55
- }()
56
- );
57
- }
58
-
59
- public:
60
- /**
61
- * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
62
- */
63
- [[maybe_unused]]
64
- static jni::local_ref<JPushMessage::javaobject> fromCpp(const PushMessage& value) {
65
- using JSignature = JPushMessage(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JMap<jni::JString, jni::JString>>);
66
- static const auto clazz = javaClassStatic();
67
- static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
68
- return create(
69
- clazz,
70
- value.id.has_value() ? jni::make_jstring(value.id.value()) : nullptr,
71
- value.title.has_value() ? jni::make_jstring(value.title.value()) : nullptr,
72
- value.body.has_value() ? jni::make_jstring(value.body.value()) : nullptr,
73
- [&]() -> jni::local_ref<jni::JMap<jni::JString, jni::JString>> {
74
- auto __map = jni::JHashMap<jni::JString, jni::JString>::create(value.data.size());
75
- for (const auto& __entry : value.data) {
76
- __map->put(jni::make_jstring(__entry.first), jni::make_jstring(__entry.second));
77
- }
78
- return __map;
79
- }()
80
- );
81
- }
82
- };
83
-
84
- } // namespace margelo::nitro::pushsignal
@@ -1,58 +0,0 @@
1
- ///
2
- /// JPushPlatform.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 "PushPlatform.hpp"
12
-
13
- namespace margelo::nitro::pushsignal {
14
-
15
- using namespace facebook;
16
-
17
- /**
18
- * The C++ JNI bridge between the C++ enum "PushPlatform" and the Kotlin enum "PushPlatform".
19
- */
20
- struct JPushPlatform final: public jni::JavaClass<JPushPlatform> {
21
- public:
22
- static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/pushsignal/PushPlatform;";
23
-
24
- public:
25
- /**
26
- * Convert this Java/Kotlin-based enum to the C++ enum PushPlatform.
27
- */
28
- [[maybe_unused]]
29
- [[nodiscard]]
30
- PushPlatform 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<PushPlatform>(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<JPushPlatform> fromCpp(PushPlatform value) {
43
- static const auto clazz = javaClassStatic();
44
- switch (value) {
45
- case PushPlatform::IOS:
46
- static const auto fieldIOS = clazz->getStaticField<JPushPlatform>("IOS");
47
- return clazz->getStaticFieldValue(fieldIOS);
48
- case PushPlatform::ANDROID_OS:
49
- static const auto fieldANDROID_OS = clazz->getStaticField<JPushPlatform>("ANDROID_OS");
50
- return clazz->getStaticFieldValue(fieldANDROID_OS);
51
- default:
52
- std::string stringValue = std::to_string(static_cast<int>(value));
53
- throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
54
- }
55
- }
56
- };
57
-
58
- } // namespace margelo::nitro::pushsignal
@@ -1,66 +0,0 @@
1
- ///
2
- /// AndroidFirebaseConfig.kt
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
- package com.margelo.nitro.pushsignal
9
-
10
- import androidx.annotation.Keep
11
- import com.facebook.proguard.annotations.DoNotStrip
12
- import java.util.Objects
13
-
14
-
15
- /**
16
- * Represents the JavaScript object/struct "AndroidFirebaseConfig".
17
- */
18
- @DoNotStrip
19
- @Keep
20
- data class AndroidFirebaseConfig(
21
- @DoNotStrip
22
- @Keep
23
- val project_id: String?,
24
- @DoNotStrip
25
- @Keep
26
- val mobilesdk_app_id: String?,
27
- @DoNotStrip
28
- @Keep
29
- val current_key: String?,
30
- @DoNotStrip
31
- @Keep
32
- val project_number: String?
33
- ) {
34
- /* primary constructor */
35
-
36
- override fun equals(other: Any?): Boolean {
37
- if (this === other) return true
38
- if (other !is AndroidFirebaseConfig) return false
39
- return Objects.deepEquals(this.project_id, other.project_id)
40
- && Objects.deepEquals(this.mobilesdk_app_id, other.mobilesdk_app_id)
41
- && Objects.deepEquals(this.current_key, other.current_key)
42
- && Objects.deepEquals(this.project_number, other.project_number)
43
- }
44
-
45
- override fun hashCode(): Int {
46
- return arrayOf<Any?>(
47
- project_id,
48
- mobilesdk_app_id,
49
- current_key,
50
- project_number
51
- ).contentDeepHashCode()
52
- }
53
-
54
- companion object {
55
- /**
56
- * Constructor called from C++
57
- */
58
- @DoNotStrip
59
- @Keep
60
- @Suppress("unused")
61
- @JvmStatic
62
- private fun fromCpp(project_id: String?, mobilesdk_app_id: String?, current_key: String?, project_number: String?): AndroidFirebaseConfig {
63
- return AndroidFirebaseConfig(project_id, mobilesdk_app_id, current_key, project_number)
64
- }
65
- }
66
- }
@@ -1,78 +0,0 @@
1
- ///
2
- /// Func_void_PushMessage.kt
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
- package com.margelo.nitro.pushsignal
9
-
10
- import androidx.annotation.Keep
11
- import com.facebook.jni.HybridData
12
- import com.facebook.proguard.annotations.DoNotStrip
13
-
14
-
15
- /**
16
- * Represents the JavaScript callback `(message: struct) => void`.
17
- * This can be either implemented in C++ (in which case it might be a callback coming from JS),
18
- * or in Kotlin/Java (in which case it is a native callback).
19
- */
20
- @DoNotStrip
21
- @Keep
22
- @Suppress("ClassName", "RedundantUnitReturnType")
23
- fun interface Func_void_PushMessage: (PushMessage) -> Unit {
24
- /**
25
- * Call the given JS callback.
26
- * @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
27
- */
28
- @DoNotStrip
29
- @Keep
30
- override fun invoke(message: PushMessage): Unit
31
- }
32
-
33
- /**
34
- * Represents the JavaScript callback `(message: struct) => void`.
35
- * This is implemented in C++, via a `std::function<...>`.
36
- * The callback might be coming from JS.
37
- */
38
- @DoNotStrip
39
- @Keep
40
- @Suppress(
41
- "KotlinJniMissingFunction", "unused",
42
- "RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
43
- "ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
44
- )
45
- class Func_void_PushMessage_cxx: Func_void_PushMessage {
46
- @DoNotStrip
47
- @Keep
48
- private val mHybridData: HybridData
49
-
50
- @DoNotStrip
51
- @Keep
52
- private constructor(hybridData: HybridData) {
53
- mHybridData = hybridData
54
- }
55
-
56
- @DoNotStrip
57
- @Keep
58
- override fun invoke(message: PushMessage): Unit
59
- = invoke_cxx(message)
60
-
61
- private external fun invoke_cxx(message: PushMessage): Unit
62
- }
63
-
64
- /**
65
- * Represents the JavaScript callback `(message: struct) => void`.
66
- * This is implemented in Java/Kotlin, via a `(PushMessage) -> Unit`.
67
- * The callback is always coming from native.
68
- */
69
- @DoNotStrip
70
- @Keep
71
- @Suppress("ClassName", "RedundantUnitReturnType", "unused")
72
- class Func_void_PushMessage_java(private val function: (PushMessage) -> Unit): Func_void_PushMessage {
73
- @DoNotStrip
74
- @Keep
75
- override fun invoke(message: PushMessage): Unit {
76
- return this.function(message)
77
- }
78
- }