react-native-iap 15.4.0-rc.2 → 15.4.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 (165) hide show
  1. package/README.md +23 -25
  2. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +250 -168
  3. package/android/src/main/java/com/margelo/nitro/iap/ProductSerialization.kt +98 -0
  4. package/ios/HybridRnIap.swift +19 -1
  5. package/ios/RnIapHelper.swift +30 -2
  6. package/lib/module/hooks/useIAP.js +19 -3
  7. package/lib/module/hooks/useIAP.js.map +1 -1
  8. package/lib/module/index.js +104 -18
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/index.kepler.js +3 -0
  11. package/lib/module/index.kepler.js.map +1 -1
  12. package/lib/module/types.js +67 -6
  13. package/lib/module/types.js.map +1 -1
  14. package/lib/module/utils/type-bridge.js +22 -3
  15. package/lib/module/utils/type-bridge.js.map +1 -1
  16. package/lib/module/vega-adapter.js +24 -2
  17. package/lib/module/vega-adapter.js.map +1 -1
  18. package/lib/typescript/src/hooks/useIAP.d.ts +25 -2
  19. package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
  20. package/lib/typescript/src/index.d.ts +50 -10
  21. package/lib/typescript/src/index.d.ts.map +1 -1
  22. package/lib/typescript/src/index.kepler.d.ts +3 -0
  23. package/lib/typescript/src/index.kepler.d.ts.map +1 -1
  24. package/lib/typescript/src/specs/RnIap.nitro.d.ts +79 -9
  25. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  26. package/lib/typescript/src/types.d.ts +223 -35
  27. package/lib/typescript/src/types.d.ts.map +1 -1
  28. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
  29. package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
  30. package/nitrogen/generated/android/NitroIap+autolinking.cmake +3 -0
  31. package/nitrogen/generated/android/c++/JBillingChoiceImageLayoutAndroid.hpp +61 -0
  32. package/nitrogen/generated/android/c++/JBillingChoiceScreenTypeAndroid.hpp +61 -0
  33. package/nitrogen/generated/android/c++/JBillingProgramAndroid.hpp +3 -0
  34. package/nitrogen/generated/android/c++/JDeveloperBillingLaunchModeAndroid.hpp +61 -0
  35. package/nitrogen/generated/android/c++/JDeveloperBillingOptionParamsAndroid.hpp +78 -0
  36. package/nitrogen/generated/android/c++/JDeveloperBillingTypeAndroid.hpp +61 -0
  37. package/nitrogen/generated/android/c++/JDeveloperProvidedBillingDetailsAndroid.hpp +45 -5
  38. package/nitrogen/generated/android/c++/JDeveloperProvidedBillingProductAndroid.hpp +72 -0
  39. package/nitrogen/generated/android/c++/JFunc_void_DeveloperProvidedBillingDetailsAndroid.hpp +10 -0
  40. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +118 -3
  41. package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +4 -1
  42. package/nitrogen/generated/android/c++/JInAppMessageCategoryAndroid.hpp +58 -0
  43. package/nitrogen/generated/android/c++/JInAppMessageResponseCodeAndroid.hpp +58 -0
  44. package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +7 -1
  45. package/nitrogen/generated/android/c++/JNitroBillingChoiceInfoAndroid.hpp +66 -0
  46. package/nitrogen/generated/android/c++/JNitroBillingProgramAvailabilityResultAndroid.hpp +18 -3
  47. package/nitrogen/generated/android/c++/JNitroBillingProgramInformationDialogParamsAndroid.hpp +63 -0
  48. package/nitrogen/generated/android/c++/JNitroBillingResultAndroid.hpp +72 -0
  49. package/nitrogen/generated/android/c++/JNitroGetBillingChoiceInfoParamsAndroid.hpp +74 -0
  50. package/nitrogen/generated/android/c++/JNitroInAppMessageParamsAndroid.hpp +64 -0
  51. package/nitrogen/generated/android/c++/JNitroInAppMessageResultAndroid.hpp +68 -0
  52. package/nitrogen/generated/android/c++/JNitroLaunchExternalLinkParamsAndroid.hpp +10 -1
  53. package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +5 -1
  54. package/nitrogen/generated/android/c++/JNitroProduct.hpp +13 -1
  55. package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +7 -0
  56. package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +16 -1
  57. package/nitrogen/generated/android/c++/JProductType.hpp +58 -0
  58. package/nitrogen/generated/android/c++/JSubResponseCodeAndroid.hpp +61 -0
  59. package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.cpp +35 -0
  60. package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.hpp +81 -0
  61. package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.cpp +26 -0
  62. package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.hpp +78 -0
  63. package/nitrogen/generated/android/c++/JVariant_NullType_InitConnectionConfig.hpp +2 -0
  64. package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.cpp +26 -0
  65. package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.hpp +76 -0
  66. package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseAndroid.hpp +7 -0
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingChoiceImageLayoutAndroid.kt +24 -0
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingChoiceScreenTypeAndroid.kt +24 -0
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingProgramAndroid.kt +2 -1
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingLaunchModeAndroid.kt +24 -0
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingOptionParamsAndroid.kt +47 -0
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingTypeAndroid.kt +24 -0
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingDetailsAndroid.kt +13 -4
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingProductAndroid.kt +44 -0
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +13 -1
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InAppMessageCategoryAndroid.kt +23 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InAppMessageResponseCodeAndroid.kt +23 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +5 -2
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingChoiceInfoAndroid.kt +41 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid.kt +10 -4
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramInformationDialogParamsAndroid.kt +41 -0
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingResultAndroid.kt +44 -0
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroGetBillingChoiceInfoParamsAndroid.kt +44 -0
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageParamsAndroid.kt +38 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageResultAndroid.kt +41 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid.kt +6 -3
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +5 -2
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +11 -2
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +8 -2
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ProductType.kt +23 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/SubResponseCodeAndroid.kt +24 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_InAppMessageCategoryAndroid_.kt +53 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_DeveloperBillingOptionParamsAndroid.kt +53 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroInAppMessageParamsAndroid.kt +53 -0
  95. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +24 -0
  96. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +382 -0
  97. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +48 -0
  98. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +74 -2
  99. package/nitrogen/generated/ios/swift/BillingChoiceImageLayoutAndroid.swift +44 -0
  100. package/nitrogen/generated/ios/swift/BillingChoiceScreenTypeAndroid.swift +44 -0
  101. package/nitrogen/generated/ios/swift/BillingProgramAndroid.swift +4 -0
  102. package/nitrogen/generated/ios/swift/DeveloperBillingLaunchModeAndroid.swift +44 -0
  103. package/nitrogen/generated/ios/swift/DeveloperBillingOptionParamsAndroid.swift +114 -0
  104. package/nitrogen/generated/ios/swift/DeveloperBillingTypeAndroid.swift +44 -0
  105. package/nitrogen/generated/ios/swift/DeveloperProvidedBillingDetailsAndroid.swift +121 -4
  106. package/nitrogen/generated/ios/swift/DeveloperProvidedBillingProductAndroid.swift +71 -0
  107. package/nitrogen/generated/ios/swift/Func_void_NitroBillingChoiceInfoAndroid.swift +46 -0
  108. package/nitrogen/generated/ios/swift/Func_void_NitroBillingResultAndroid.swift +46 -0
  109. package/nitrogen/generated/ios/swift/Func_void_NitroInAppMessageResultAndroid.swift +46 -0
  110. package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +4 -1
  111. package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +78 -2
  112. package/nitrogen/generated/ios/swift/InAppMessageCategoryAndroid.swift +40 -0
  113. package/nitrogen/generated/ios/swift/InAppMessageResponseCodeAndroid.swift +40 -0
  114. package/nitrogen/generated/ios/swift/InitConnectionConfig.swift +12 -1
  115. package/nitrogen/generated/ios/swift/NitroBillingChoiceInfoAndroid.swift +66 -0
  116. package/nitrogen/generated/ios/swift/NitroBillingProgramAvailabilityResultAndroid.swift +50 -2
  117. package/nitrogen/generated/ios/swift/NitroBillingProgramInformationDialogParamsAndroid.swift +34 -0
  118. package/nitrogen/generated/ios/swift/NitroBillingResultAndroid.swift +77 -0
  119. package/nitrogen/generated/ios/swift/NitroGetBillingChoiceInfoParamsAndroid.swift +71 -0
  120. package/nitrogen/generated/ios/swift/NitroInAppMessageParamsAndroid.swift +67 -0
  121. package/nitrogen/generated/ios/swift/NitroInAppMessageResultAndroid.swift +66 -0
  122. package/nitrogen/generated/ios/swift/NitroLaunchExternalLinkParamsAndroid.swift +39 -2
  123. package/nitrogen/generated/ios/swift/NitroOneTimePurchaseOfferDetail.swift +39 -2
  124. package/nitrogen/generated/ios/swift/NitroProduct.swift +113 -2
  125. package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +75 -1
  126. package/nitrogen/generated/ios/swift/ProductType.swift +40 -0
  127. package/nitrogen/generated/ios/swift/SubResponseCodeAndroid.swift +44 -0
  128. package/nitrogen/generated/ios/swift/Variant_NullType_DeveloperBillingOptionParamsAndroid.swift +18 -0
  129. package/nitrogen/generated/ios/swift/Variant_NullType_NitroInAppMessageParamsAndroid.swift +18 -0
  130. package/nitrogen/generated/ios/swift/Variant_NullType__InAppMessageCategoryAndroid_.swift +18 -0
  131. package/nitrogen/generated/shared/c++/BillingChoiceImageLayoutAndroid.hpp +80 -0
  132. package/nitrogen/generated/shared/c++/BillingChoiceScreenTypeAndroid.hpp +80 -0
  133. package/nitrogen/generated/shared/c++/BillingProgramAndroid.hpp +4 -0
  134. package/nitrogen/generated/shared/c++/DeveloperBillingLaunchModeAndroid.hpp +80 -0
  135. package/nitrogen/generated/shared/c++/DeveloperBillingOptionParamsAndroid.hpp +103 -0
  136. package/nitrogen/generated/shared/c++/DeveloperBillingTypeAndroid.hpp +80 -0
  137. package/nitrogen/generated/shared/c++/DeveloperProvidedBillingDetailsAndroid.hpp +24 -6
  138. package/nitrogen/generated/shared/c++/DeveloperProvidedBillingProductAndroid.hpp +96 -0
  139. package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +3 -0
  140. package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +25 -1
  141. package/nitrogen/generated/shared/c++/InAppMessageCategoryAndroid.hpp +76 -0
  142. package/nitrogen/generated/shared/c++/InAppMessageResponseCodeAndroid.hpp +76 -0
  143. package/nitrogen/generated/shared/c++/InitConnectionConfig.hpp +8 -1
  144. package/nitrogen/generated/shared/c++/NitroBillingChoiceInfoAndroid.hpp +90 -0
  145. package/nitrogen/generated/shared/c++/NitroBillingProgramAvailabilityResultAndroid.hpp +16 -2
  146. package/nitrogen/generated/shared/c++/NitroBillingProgramInformationDialogParamsAndroid.hpp +89 -0
  147. package/nitrogen/generated/shared/c++/NitroBillingResultAndroid.hpp +96 -0
  148. package/nitrogen/generated/shared/c++/NitroGetBillingChoiceInfoParamsAndroid.hpp +99 -0
  149. package/nitrogen/generated/shared/c++/NitroInAppMessageParamsAndroid.hpp +88 -0
  150. package/nitrogen/generated/shared/c++/NitroInAppMessageResultAndroid.hpp +92 -0
  151. package/nitrogen/generated/shared/c++/NitroLaunchExternalLinkParamsAndroid.hpp +9 -2
  152. package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +5 -1
  153. package/nitrogen/generated/shared/c++/NitroProduct.hpp +13 -1
  154. package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +12 -1
  155. package/nitrogen/generated/shared/c++/ProductType.hpp +76 -0
  156. package/nitrogen/generated/shared/c++/SubResponseCodeAndroid.hpp +80 -0
  157. package/openiap-versions.json +3 -3
  158. package/package.json +1 -1
  159. package/src/hooks/useIAP.ts +63 -0
  160. package/src/index.kepler.ts +9 -0
  161. package/src/index.ts +223 -95
  162. package/src/specs/RnIap.nitro.ts +116 -8
  163. package/src/types.ts +238 -35
  164. package/src/utils/type-bridge.ts +26 -2
  165. package/src/vega-adapter.ts +46 -11
@@ -0,0 +1,63 @@
1
+ ///
2
+ /// JNitroBillingProgramInformationDialogParamsAndroid.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 "NitroBillingProgramInformationDialogParamsAndroid.hpp"
12
+
13
+ #include "BillingProgramAndroid.hpp"
14
+ #include "JBillingProgramAndroid.hpp"
15
+ #include <string>
16
+
17
+ namespace margelo::nitro::iap {
18
+
19
+ using namespace facebook;
20
+
21
+ /**
22
+ * The C++ JNI bridge between the C++ struct "NitroBillingProgramInformationDialogParamsAndroid" and the the Kotlin data class "NitroBillingProgramInformationDialogParamsAndroid".
23
+ */
24
+ struct JNitroBillingProgramInformationDialogParamsAndroid final: public jni::JavaClass<JNitroBillingProgramInformationDialogParamsAndroid> {
25
+ public:
26
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroBillingProgramInformationDialogParamsAndroid;";
27
+
28
+ public:
29
+ /**
30
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroBillingProgramInformationDialogParamsAndroid by copying all values to C++.
31
+ */
32
+ [[maybe_unused]]
33
+ [[nodiscard]]
34
+ NitroBillingProgramInformationDialogParamsAndroid toCpp() const {
35
+ static const auto clazz = javaClassStatic();
36
+ static const auto fieldBillingProgram = clazz->getField<JBillingProgramAndroid>("billingProgram");
37
+ jni::local_ref<JBillingProgramAndroid> billingProgram = this->getFieldValue(fieldBillingProgram);
38
+ static const auto fieldExternalTransactionToken = clazz->getField<jni::JString>("externalTransactionToken");
39
+ jni::local_ref<jni::JString> externalTransactionToken = this->getFieldValue(fieldExternalTransactionToken);
40
+ return NitroBillingProgramInformationDialogParamsAndroid(
41
+ billingProgram->toCpp(),
42
+ externalTransactionToken->toStdString()
43
+ );
44
+ }
45
+
46
+ public:
47
+ /**
48
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
49
+ */
50
+ [[maybe_unused]]
51
+ static jni::local_ref<JNitroBillingProgramInformationDialogParamsAndroid::javaobject> fromCpp(const NitroBillingProgramInformationDialogParamsAndroid& value) {
52
+ using JSignature = JNitroBillingProgramInformationDialogParamsAndroid(jni::alias_ref<JBillingProgramAndroid>, jni::alias_ref<jni::JString>);
53
+ static const auto clazz = javaClassStatic();
54
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
55
+ return create(
56
+ clazz,
57
+ JBillingProgramAndroid::fromCpp(value.billingProgram),
58
+ jni::make_jstring(value.externalTransactionToken)
59
+ );
60
+ }
61
+ };
62
+
63
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,72 @@
1
+ ///
2
+ /// JNitroBillingResultAndroid.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 "NitroBillingResultAndroid.hpp"
12
+
13
+ #include "JSubResponseCodeAndroid.hpp"
14
+ #include "JVariant_NullType_String.hpp"
15
+ #include "SubResponseCodeAndroid.hpp"
16
+ #include <NitroModules/JNull.hpp>
17
+ #include <NitroModules/Null.hpp>
18
+ #include <optional>
19
+ #include <string>
20
+ #include <variant>
21
+
22
+ namespace margelo::nitro::iap {
23
+
24
+ using namespace facebook;
25
+
26
+ /**
27
+ * The C++ JNI bridge between the C++ struct "NitroBillingResultAndroid" and the the Kotlin data class "NitroBillingResultAndroid".
28
+ */
29
+ struct JNitroBillingResultAndroid final: public jni::JavaClass<JNitroBillingResultAndroid> {
30
+ public:
31
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroBillingResultAndroid;";
32
+
33
+ public:
34
+ /**
35
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroBillingResultAndroid by copying all values to C++.
36
+ */
37
+ [[maybe_unused]]
38
+ [[nodiscard]]
39
+ NitroBillingResultAndroid toCpp() const {
40
+ static const auto clazz = javaClassStatic();
41
+ static const auto fieldResponseCode = clazz->getField<double>("responseCode");
42
+ double responseCode = this->getFieldValue(fieldResponseCode);
43
+ static const auto fieldDebugMessage = clazz->getField<JVariant_NullType_String>("debugMessage");
44
+ jni::local_ref<JVariant_NullType_String> debugMessage = this->getFieldValue(fieldDebugMessage);
45
+ static const auto fieldSubResponseCode = clazz->getField<JSubResponseCodeAndroid>("subResponseCode");
46
+ jni::local_ref<JSubResponseCodeAndroid> subResponseCode = this->getFieldValue(fieldSubResponseCode);
47
+ return NitroBillingResultAndroid(
48
+ responseCode,
49
+ debugMessage != nullptr ? std::make_optional(debugMessage->toCpp()) : std::nullopt,
50
+ subResponseCode != nullptr ? std::make_optional(subResponseCode->toCpp()) : std::nullopt
51
+ );
52
+ }
53
+
54
+ public:
55
+ /**
56
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
57
+ */
58
+ [[maybe_unused]]
59
+ static jni::local_ref<JNitroBillingResultAndroid::javaobject> fromCpp(const NitroBillingResultAndroid& value) {
60
+ using JSignature = JNitroBillingResultAndroid(double, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JSubResponseCodeAndroid>);
61
+ static const auto clazz = javaClassStatic();
62
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
63
+ return create(
64
+ clazz,
65
+ value.responseCode,
66
+ value.debugMessage.has_value() ? JVariant_NullType_String::fromCpp(value.debugMessage.value()) : nullptr,
67
+ value.subResponseCode.has_value() ? JSubResponseCodeAndroid::fromCpp(value.subResponseCode.value()) : nullptr
68
+ );
69
+ }
70
+ };
71
+
72
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,74 @@
1
+ ///
2
+ /// JNitroGetBillingChoiceInfoParamsAndroid.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 "NitroGetBillingChoiceInfoParamsAndroid.hpp"
12
+
13
+ #include "BillingChoiceImageLayoutAndroid.hpp"
14
+ #include "BillingProgramAndroid.hpp"
15
+ #include "JBillingChoiceImageLayoutAndroid.hpp"
16
+ #include "JBillingProgramAndroid.hpp"
17
+ #include "JVariant_NullType_String.hpp"
18
+ #include <NitroModules/JNull.hpp>
19
+ #include <NitroModules/Null.hpp>
20
+ #include <optional>
21
+ #include <string>
22
+ #include <variant>
23
+
24
+ namespace margelo::nitro::iap {
25
+
26
+ using namespace facebook;
27
+
28
+ /**
29
+ * The C++ JNI bridge between the C++ struct "NitroGetBillingChoiceInfoParamsAndroid" and the the Kotlin data class "NitroGetBillingChoiceInfoParamsAndroid".
30
+ */
31
+ struct JNitroGetBillingChoiceInfoParamsAndroid final: public jni::JavaClass<JNitroGetBillingChoiceInfoParamsAndroid> {
32
+ public:
33
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroGetBillingChoiceInfoParamsAndroid;";
34
+
35
+ public:
36
+ /**
37
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroGetBillingChoiceInfoParamsAndroid by copying all values to C++.
38
+ */
39
+ [[maybe_unused]]
40
+ [[nodiscard]]
41
+ NitroGetBillingChoiceInfoParamsAndroid toCpp() const {
42
+ static const auto clazz = javaClassStatic();
43
+ static const auto fieldBillingProgram = clazz->getField<JBillingProgramAndroid>("billingProgram");
44
+ jni::local_ref<JBillingProgramAndroid> billingProgram = this->getFieldValue(fieldBillingProgram);
45
+ static const auto fieldPlayBillingChoiceImageLayout = clazz->getField<JBillingChoiceImageLayoutAndroid>("playBillingChoiceImageLayout");
46
+ jni::local_ref<JBillingChoiceImageLayoutAndroid> playBillingChoiceImageLayout = this->getFieldValue(fieldPlayBillingChoiceImageLayout);
47
+ static const auto fieldUserLocale = clazz->getField<JVariant_NullType_String>("userLocale");
48
+ jni::local_ref<JVariant_NullType_String> userLocale = this->getFieldValue(fieldUserLocale);
49
+ return NitroGetBillingChoiceInfoParamsAndroid(
50
+ billingProgram->toCpp(),
51
+ playBillingChoiceImageLayout->toCpp(),
52
+ userLocale != nullptr ? std::make_optional(userLocale->toCpp()) : std::nullopt
53
+ );
54
+ }
55
+
56
+ public:
57
+ /**
58
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
59
+ */
60
+ [[maybe_unused]]
61
+ static jni::local_ref<JNitroGetBillingChoiceInfoParamsAndroid::javaobject> fromCpp(const NitroGetBillingChoiceInfoParamsAndroid& value) {
62
+ using JSignature = JNitroGetBillingChoiceInfoParamsAndroid(jni::alias_ref<JBillingProgramAndroid>, jni::alias_ref<JBillingChoiceImageLayoutAndroid>, jni::alias_ref<JVariant_NullType_String>);
63
+ static const auto clazz = javaClassStatic();
64
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
65
+ return create(
66
+ clazz,
67
+ JBillingProgramAndroid::fromCpp(value.billingProgram),
68
+ JBillingChoiceImageLayoutAndroid::fromCpp(value.playBillingChoiceImageLayout),
69
+ value.userLocale.has_value() ? JVariant_NullType_String::fromCpp(value.userLocale.value()) : nullptr
70
+ );
71
+ }
72
+ };
73
+
74
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,64 @@
1
+ ///
2
+ /// JNitroInAppMessageParamsAndroid.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 "NitroInAppMessageParamsAndroid.hpp"
12
+
13
+ #include "InAppMessageCategoryAndroid.hpp"
14
+ #include "JInAppMessageCategoryAndroid.hpp"
15
+ #include "JVariant_NullType_Array_InAppMessageCategoryAndroid_.hpp"
16
+ #include <NitroModules/JNull.hpp>
17
+ #include <NitroModules/Null.hpp>
18
+ #include <optional>
19
+ #include <variant>
20
+ #include <vector>
21
+
22
+ namespace margelo::nitro::iap {
23
+
24
+ using namespace facebook;
25
+
26
+ /**
27
+ * The C++ JNI bridge between the C++ struct "NitroInAppMessageParamsAndroid" and the the Kotlin data class "NitroInAppMessageParamsAndroid".
28
+ */
29
+ struct JNitroInAppMessageParamsAndroid final: public jni::JavaClass<JNitroInAppMessageParamsAndroid> {
30
+ public:
31
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroInAppMessageParamsAndroid;";
32
+
33
+ public:
34
+ /**
35
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroInAppMessageParamsAndroid by copying all values to C++.
36
+ */
37
+ [[maybe_unused]]
38
+ [[nodiscard]]
39
+ NitroInAppMessageParamsAndroid toCpp() const {
40
+ static const auto clazz = javaClassStatic();
41
+ static const auto fieldCategories = clazz->getField<JVariant_NullType_Array_InAppMessageCategoryAndroid_>("categories");
42
+ jni::local_ref<JVariant_NullType_Array_InAppMessageCategoryAndroid_> categories = this->getFieldValue(fieldCategories);
43
+ return NitroInAppMessageParamsAndroid(
44
+ categories != nullptr ? std::make_optional(categories->toCpp()) : std::nullopt
45
+ );
46
+ }
47
+
48
+ public:
49
+ /**
50
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
51
+ */
52
+ [[maybe_unused]]
53
+ static jni::local_ref<JNitroInAppMessageParamsAndroid::javaobject> fromCpp(const NitroInAppMessageParamsAndroid& value) {
54
+ using JSignature = JNitroInAppMessageParamsAndroid(jni::alias_ref<JVariant_NullType_Array_InAppMessageCategoryAndroid_>);
55
+ static const auto clazz = javaClassStatic();
56
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
57
+ return create(
58
+ clazz,
59
+ value.categories.has_value() ? JVariant_NullType_Array_InAppMessageCategoryAndroid_::fromCpp(value.categories.value()) : nullptr
60
+ );
61
+ }
62
+ };
63
+
64
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,68 @@
1
+ ///
2
+ /// JNitroInAppMessageResultAndroid.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 "NitroInAppMessageResultAndroid.hpp"
12
+
13
+ #include "InAppMessageResponseCodeAndroid.hpp"
14
+ #include "JInAppMessageResponseCodeAndroid.hpp"
15
+ #include "JVariant_NullType_String.hpp"
16
+ #include <NitroModules/JNull.hpp>
17
+ #include <NitroModules/Null.hpp>
18
+ #include <optional>
19
+ #include <string>
20
+ #include <variant>
21
+
22
+ namespace margelo::nitro::iap {
23
+
24
+ using namespace facebook;
25
+
26
+ /**
27
+ * The C++ JNI bridge between the C++ struct "NitroInAppMessageResultAndroid" and the the Kotlin data class "NitroInAppMessageResultAndroid".
28
+ */
29
+ struct JNitroInAppMessageResultAndroid final: public jni::JavaClass<JNitroInAppMessageResultAndroid> {
30
+ public:
31
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroInAppMessageResultAndroid;";
32
+
33
+ public:
34
+ /**
35
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroInAppMessageResultAndroid by copying all values to C++.
36
+ */
37
+ [[maybe_unused]]
38
+ [[nodiscard]]
39
+ NitroInAppMessageResultAndroid toCpp() const {
40
+ static const auto clazz = javaClassStatic();
41
+ static const auto fieldResponseCode = clazz->getField<JInAppMessageResponseCodeAndroid>("responseCode");
42
+ jni::local_ref<JInAppMessageResponseCodeAndroid> responseCode = this->getFieldValue(fieldResponseCode);
43
+ static const auto fieldPurchaseToken = clazz->getField<JVariant_NullType_String>("purchaseToken");
44
+ jni::local_ref<JVariant_NullType_String> purchaseToken = this->getFieldValue(fieldPurchaseToken);
45
+ return NitroInAppMessageResultAndroid(
46
+ responseCode->toCpp(),
47
+ purchaseToken != nullptr ? std::make_optional(purchaseToken->toCpp()) : std::nullopt
48
+ );
49
+ }
50
+
51
+ public:
52
+ /**
53
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
54
+ */
55
+ [[maybe_unused]]
56
+ static jni::local_ref<JNitroInAppMessageResultAndroid::javaobject> fromCpp(const NitroInAppMessageResultAndroid& value) {
57
+ using JSignature = JNitroInAppMessageResultAndroid(jni::alias_ref<JInAppMessageResponseCodeAndroid>, jni::alias_ref<JVariant_NullType_String>);
58
+ static const auto clazz = javaClassStatic();
59
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
60
+ return create(
61
+ clazz,
62
+ JInAppMessageResponseCodeAndroid::fromCpp(value.responseCode),
63
+ value.purchaseToken.has_value() ? JVariant_NullType_String::fromCpp(value.purchaseToken.value()) : nullptr
64
+ );
65
+ }
66
+ };
67
+
68
+ } // namespace margelo::nitro::iap
@@ -16,7 +16,12 @@
16
16
  #include "JBillingProgramAndroid.hpp"
17
17
  #include "JExternalLinkLaunchModeAndroid.hpp"
18
18
  #include "JExternalLinkTypeAndroid.hpp"
19
+ #include "JVariant_NullType_String.hpp"
20
+ #include <NitroModules/JNull.hpp>
21
+ #include <NitroModules/Null.hpp>
22
+ #include <optional>
19
23
  #include <string>
24
+ #include <variant>
20
25
 
21
26
  namespace margelo::nitro::iap {
22
27
 
@@ -39,6 +44,8 @@ namespace margelo::nitro::iap {
39
44
  static const auto clazz = javaClassStatic();
40
45
  static const auto fieldBillingProgram = clazz->getField<JBillingProgramAndroid>("billingProgram");
41
46
  jni::local_ref<JBillingProgramAndroid> billingProgram = this->getFieldValue(fieldBillingProgram);
47
+ static const auto fieldExternalTransactionToken = clazz->getField<JVariant_NullType_String>("externalTransactionToken");
48
+ jni::local_ref<JVariant_NullType_String> externalTransactionToken = this->getFieldValue(fieldExternalTransactionToken);
42
49
  static const auto fieldLaunchMode = clazz->getField<JExternalLinkLaunchModeAndroid>("launchMode");
43
50
  jni::local_ref<JExternalLinkLaunchModeAndroid> launchMode = this->getFieldValue(fieldLaunchMode);
44
51
  static const auto fieldLinkType = clazz->getField<JExternalLinkTypeAndroid>("linkType");
@@ -47,6 +54,7 @@ namespace margelo::nitro::iap {
47
54
  jni::local_ref<jni::JString> linkUri = this->getFieldValue(fieldLinkUri);
48
55
  return NitroLaunchExternalLinkParamsAndroid(
49
56
  billingProgram->toCpp(),
57
+ externalTransactionToken != nullptr ? std::make_optional(externalTransactionToken->toCpp()) : std::nullopt,
50
58
  launchMode->toCpp(),
51
59
  linkType->toCpp(),
52
60
  linkUri->toStdString()
@@ -59,12 +67,13 @@ namespace margelo::nitro::iap {
59
67
  */
60
68
  [[maybe_unused]]
61
69
  static jni::local_ref<JNitroLaunchExternalLinkParamsAndroid::javaobject> fromCpp(const NitroLaunchExternalLinkParamsAndroid& value) {
62
- using JSignature = JNitroLaunchExternalLinkParamsAndroid(jni::alias_ref<JBillingProgramAndroid>, jni::alias_ref<JExternalLinkLaunchModeAndroid>, jni::alias_ref<JExternalLinkTypeAndroid>, jni::alias_ref<jni::JString>);
70
+ using JSignature = JNitroLaunchExternalLinkParamsAndroid(jni::alias_ref<JBillingProgramAndroid>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JExternalLinkLaunchModeAndroid>, jni::alias_ref<JExternalLinkTypeAndroid>, jni::alias_ref<jni::JString>);
63
71
  static const auto clazz = javaClassStatic();
64
72
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
65
73
  return create(
66
74
  clazz,
67
75
  JBillingProgramAndroid::fromCpp(value.billingProgram),
76
+ value.externalTransactionToken.has_value() ? JVariant_NullType_String::fromCpp(value.externalTransactionToken.value()) : nullptr,
68
77
  JExternalLinkLaunchModeAndroid::fromCpp(value.launchMode),
69
78
  JExternalLinkTypeAndroid::fromCpp(value.linkType),
70
79
  jni::make_jstring(value.linkUri)
@@ -76,6 +76,8 @@ namespace margelo::nitro::iap {
76
76
  jni::local_ref<jni::JString> priceAmountMicros = this->getFieldValue(fieldPriceAmountMicros);
77
77
  static const auto fieldPriceCurrencyCode = clazz->getField<jni::JString>("priceCurrencyCode");
78
78
  jni::local_ref<jni::JString> priceCurrencyCode = this->getFieldValue(fieldPriceCurrencyCode);
79
+ static const auto fieldPurchaseOptionId = clazz->getField<JVariant_NullType_String>("purchaseOptionId");
80
+ jni::local_ref<JVariant_NullType_String> purchaseOptionId = this->getFieldValue(fieldPurchaseOptionId);
79
81
  static const auto fieldRentalDetailsAndroid = clazz->getField<JVariant_NullType_NitroRentalDetailsAndroid>("rentalDetailsAndroid");
80
82
  jni::local_ref<JVariant_NullType_NitroRentalDetailsAndroid> rentalDetailsAndroid = this->getFieldValue(fieldRentalDetailsAndroid);
81
83
  static const auto fieldValidTimeWindow = clazz->getField<JVariant_NullType_NitroValidTimeWindowAndroid>("validTimeWindow");
@@ -100,6 +102,7 @@ namespace margelo::nitro::iap {
100
102
  preorderDetailsAndroid != nullptr ? std::make_optional(preorderDetailsAndroid->toCpp()) : std::nullopt,
101
103
  priceAmountMicros->toStdString(),
102
104
  priceCurrencyCode->toStdString(),
105
+ purchaseOptionId != nullptr ? std::make_optional(purchaseOptionId->toCpp()) : std::nullopt,
103
106
  rentalDetailsAndroid != nullptr ? std::make_optional(rentalDetailsAndroid->toCpp()) : std::nullopt,
104
107
  validTimeWindow != nullptr ? std::make_optional(validTimeWindow->toCpp()) : std::nullopt
105
108
  );
@@ -111,7 +114,7 @@ namespace margelo::nitro::iap {
111
114
  */
112
115
  [[maybe_unused]]
113
116
  static jni::local_ref<JNitroOneTimePurchaseOfferDetail::javaobject> fromCpp(const NitroOneTimePurchaseOfferDetail& value) {
114
- using JSignature = JNitroOneTimePurchaseOfferDetail(jni::alias_ref<JVariant_NullType_NitroDiscountDisplayInfoAndroid>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_NitroLimitedQuantityInfoAndroid>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_NitroPreorderDetailsAndroid>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_NitroRentalDetailsAndroid>, jni::alias_ref<JVariant_NullType_NitroValidTimeWindowAndroid>);
117
+ using JSignature = JNitroOneTimePurchaseOfferDetail(jni::alias_ref<JVariant_NullType_NitroDiscountDisplayInfoAndroid>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_NitroLimitedQuantityInfoAndroid>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_NitroPreorderDetailsAndroid>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_NitroRentalDetailsAndroid>, jni::alias_ref<JVariant_NullType_NitroValidTimeWindowAndroid>);
115
118
  static const auto clazz = javaClassStatic();
116
119
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
117
120
  return create(
@@ -135,6 +138,7 @@ namespace margelo::nitro::iap {
135
138
  value.preorderDetailsAndroid.has_value() ? JVariant_NullType_NitroPreorderDetailsAndroid::fromCpp(value.preorderDetailsAndroid.value()) : nullptr,
136
139
  jni::make_jstring(value.priceAmountMicros),
137
140
  jni::make_jstring(value.priceCurrencyCode),
141
+ value.purchaseOptionId.has_value() ? JVariant_NullType_String::fromCpp(value.purchaseOptionId.value()) : nullptr,
138
142
  value.rentalDetailsAndroid.has_value() ? JVariant_NullType_NitroRentalDetailsAndroid::fromCpp(value.rentalDetailsAndroid.value()) : nullptr,
139
143
  value.validTimeWindow.has_value() ? JVariant_NullType_NitroValidTimeWindowAndroid::fromCpp(value.validTimeWindow.value()) : nullptr
140
144
  );
@@ -70,6 +70,8 @@ namespace margelo::nitro::iap {
70
70
  jni::local_ref<jni::JString> title = this->getFieldValue(fieldTitle);
71
71
  static const auto fieldDescription = clazz->getField<jni::JString>("description");
72
72
  jni::local_ref<jni::JString> description = this->getFieldValue(fieldDescription);
73
+ static const auto fieldDebugDescription = clazz->getField<JVariant_NullType_String>("debugDescription");
74
+ jni::local_ref<JVariant_NullType_String> debugDescription = this->getFieldValue(fieldDebugDescription);
73
75
  static const auto fieldType = clazz->getField<jni::JString>("type");
74
76
  jni::local_ref<jni::JString> type = this->getFieldValue(fieldType);
75
77
  static const auto fieldDisplayName = clazz->getField<JVariant_NullType_String>("displayName");
@@ -88,6 +90,10 @@ namespace margelo::nitro::iap {
88
90
  jni::local_ref<JVariant_NullType_Boolean> isFamilyShareableIOS = this->getFieldValue(fieldIsFamilyShareableIOS);
89
91
  static const auto fieldJsonRepresentationIOS = clazz->getField<JVariant_NullType_String>("jsonRepresentationIOS");
90
92
  jni::local_ref<JVariant_NullType_String> jsonRepresentationIOS = this->getFieldValue(fieldJsonRepresentationIOS);
93
+ static const auto fieldPricingTermsIOS = clazz->getField<JVariant_NullType_String>("pricingTermsIOS");
94
+ jni::local_ref<JVariant_NullType_String> pricingTermsIOS = this->getFieldValue(fieldPricingTermsIOS);
95
+ static const auto fieldSubscriptionInfoIOS = clazz->getField<JVariant_NullType_String>("subscriptionInfoIOS");
96
+ jni::local_ref<JVariant_NullType_String> subscriptionInfoIOS = this->getFieldValue(fieldSubscriptionInfoIOS);
91
97
  static const auto fieldDiscountsIOS = clazz->getField<JVariant_NullType_String>("discountsIOS");
92
98
  jni::local_ref<JVariant_NullType_String> discountsIOS = this->getFieldValue(fieldDiscountsIOS);
93
99
  static const auto fieldIntroductoryPriceIOS = clazz->getField<JVariant_NullType_String>("introductoryPriceIOS");
@@ -136,6 +142,7 @@ namespace margelo::nitro::iap {
136
142
  id->toStdString(),
137
143
  title->toStdString(),
138
144
  description->toStdString(),
145
+ debugDescription != nullptr ? std::make_optional(debugDescription->toCpp()) : std::nullopt,
139
146
  type->toStdString(),
140
147
  displayName != nullptr ? std::make_optional(displayName->toCpp()) : std::nullopt,
141
148
  displayPrice != nullptr ? std::make_optional(displayPrice->toStdString()) : std::nullopt,
@@ -145,6 +152,8 @@ namespace margelo::nitro::iap {
145
152
  typeIOS != nullptr ? std::make_optional(typeIOS->toCpp()) : std::nullopt,
146
153
  isFamilyShareableIOS != nullptr ? std::make_optional(isFamilyShareableIOS->toCpp()) : std::nullopt,
147
154
  jsonRepresentationIOS != nullptr ? std::make_optional(jsonRepresentationIOS->toCpp()) : std::nullopt,
155
+ pricingTermsIOS != nullptr ? std::make_optional(pricingTermsIOS->toCpp()) : std::nullopt,
156
+ subscriptionInfoIOS != nullptr ? std::make_optional(subscriptionInfoIOS->toCpp()) : std::nullopt,
148
157
  discountsIOS != nullptr ? std::make_optional(discountsIOS->toCpp()) : std::nullopt,
149
158
  introductoryPriceIOS != nullptr ? std::make_optional(introductoryPriceIOS->toCpp()) : std::nullopt,
150
159
  introductoryPriceAsAmountIOS != nullptr ? std::make_optional(introductoryPriceAsAmountIOS->toCpp()) : std::nullopt,
@@ -176,7 +185,7 @@ namespace margelo::nitro::iap {
176
185
  */
177
186
  [[maybe_unused]]
178
187
  static jni::local_ref<JNitroProduct::javaobject> fromCpp(const NitroProduct& value) {
179
- using JSignature = JNitroProduct(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JIapPlatform>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Boolean>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JPaymentModeIOS>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Array_NitroOneTimePurchaseOfferDetail_>, jni::alias_ref<JVariant_NullType_String>);
188
+ using JSignature = JNitroProduct(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JIapPlatform>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Boolean>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JPaymentModeIOS>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Array_NitroOneTimePurchaseOfferDetail_>, jni::alias_ref<JVariant_NullType_String>);
180
189
  static const auto clazz = javaClassStatic();
181
190
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
182
191
  return create(
@@ -184,6 +193,7 @@ namespace margelo::nitro::iap {
184
193
  jni::make_jstring(value.id),
185
194
  jni::make_jstring(value.title),
186
195
  jni::make_jstring(value.description),
196
+ value.debugDescription.has_value() ? JVariant_NullType_String::fromCpp(value.debugDescription.value()) : nullptr,
187
197
  jni::make_jstring(value.type),
188
198
  value.displayName.has_value() ? JVariant_NullType_String::fromCpp(value.displayName.value()) : nullptr,
189
199
  value.displayPrice.has_value() ? jni::make_jstring(value.displayPrice.value()) : nullptr,
@@ -193,6 +203,8 @@ namespace margelo::nitro::iap {
193
203
  value.typeIOS.has_value() ? JVariant_NullType_String::fromCpp(value.typeIOS.value()) : nullptr,
194
204
  value.isFamilyShareableIOS.has_value() ? JVariant_NullType_Boolean::fromCpp(value.isFamilyShareableIOS.value()) : nullptr,
195
205
  value.jsonRepresentationIOS.has_value() ? JVariant_NullType_String::fromCpp(value.jsonRepresentationIOS.value()) : nullptr,
206
+ value.pricingTermsIOS.has_value() ? JVariant_NullType_String::fromCpp(value.pricingTermsIOS.value()) : nullptr,
207
+ value.subscriptionInfoIOS.has_value() ? JVariant_NullType_String::fromCpp(value.subscriptionInfoIOS.value()) : nullptr,
196
208
  value.discountsIOS.has_value() ? JVariant_NullType_String::fromCpp(value.discountsIOS.value()) : nullptr,
197
209
  value.introductoryPriceIOS.has_value() ? JVariant_NullType_String::fromCpp(value.introductoryPriceIOS.value()) : nullptr,
198
210
  value.introductoryPriceAsAmountIOS.has_value() ? JVariant_NullType_Double::fromCpp(value.introductoryPriceAsAmountIOS.value()) : nullptr,
@@ -11,7 +11,13 @@
11
11
  #include "NitroPurchaseRequest.hpp"
12
12
 
13
13
  #include "AndroidSubscriptionOfferInput.hpp"
14
+ #include "BillingProgramAndroid.hpp"
15
+ #include "DeveloperBillingLaunchModeAndroid.hpp"
16
+ #include "DeveloperBillingOptionParamsAndroid.hpp"
14
17
  #include "JAndroidSubscriptionOfferInput.hpp"
18
+ #include "JBillingProgramAndroid.hpp"
19
+ #include "JDeveloperBillingLaunchModeAndroid.hpp"
20
+ #include "JDeveloperBillingOptionParamsAndroid.hpp"
15
21
  #include "JNitroRequestPurchaseAndroid.hpp"
16
22
  #include "JNitroRequestPurchaseIos.hpp"
17
23
  #include "JPromotionalOfferJwsInputIOS.hpp"
@@ -20,6 +26,7 @@
20
26
  #include "JSubscriptionReplacementModeAndroid.hpp"
21
27
  #include "JVariant_NullType_Array_AndroidSubscriptionOfferInput_.hpp"
22
28
  #include "JVariant_NullType_Boolean.hpp"
29
+ #include "JVariant_NullType_DeveloperBillingOptionParamsAndroid.hpp"
23
30
  #include "JVariant_NullType_Double.hpp"
24
31
  #include "JVariant_NullType_Map_String__String_.hpp"
25
32
  #include "JVariant_NullType_NitroRequestPurchaseAndroid.hpp"
@@ -11,11 +11,18 @@
11
11
  #include "NitroRequestPurchaseAndroid.hpp"
12
12
 
13
13
  #include "AndroidSubscriptionOfferInput.hpp"
14
+ #include "BillingProgramAndroid.hpp"
15
+ #include "DeveloperBillingLaunchModeAndroid.hpp"
16
+ #include "DeveloperBillingOptionParamsAndroid.hpp"
14
17
  #include "JAndroidSubscriptionOfferInput.hpp"
18
+ #include "JBillingProgramAndroid.hpp"
19
+ #include "JDeveloperBillingLaunchModeAndroid.hpp"
20
+ #include "JDeveloperBillingOptionParamsAndroid.hpp"
15
21
  #include "JSubscriptionProductReplacementParamsAndroid.hpp"
16
22
  #include "JSubscriptionReplacementModeAndroid.hpp"
17
23
  #include "JVariant_NullType_Array_AndroidSubscriptionOfferInput_.hpp"
18
24
  #include "JVariant_NullType_Boolean.hpp"
25
+ #include "JVariant_NullType_DeveloperBillingOptionParamsAndroid.hpp"
19
26
  #include "JVariant_NullType_Double.hpp"
20
27
  #include "JVariant_NullType_String.hpp"
21
28
  #include "JVariant_NullType_SubscriptionProductReplacementParamsAndroid.hpp"
@@ -63,6 +70,10 @@ namespace margelo::nitro::iap {
63
70
  jni::local_ref<JVariant_NullType_Double> replacementMode = this->getFieldValue(fieldReplacementMode);
64
71
  static const auto fieldPurchaseToken = clazz->getField<JVariant_NullType_String>("purchaseToken");
65
72
  jni::local_ref<JVariant_NullType_String> purchaseToken = this->getFieldValue(fieldPurchaseToken);
73
+ static const auto fieldOriginalExternalTransactionId = clazz->getField<JVariant_NullType_String>("originalExternalTransactionId");
74
+ jni::local_ref<JVariant_NullType_String> originalExternalTransactionId = this->getFieldValue(fieldOriginalExternalTransactionId);
75
+ static const auto fieldDeveloperBillingOption = clazz->getField<JVariant_NullType_DeveloperBillingOptionParamsAndroid>("developerBillingOption");
76
+ jni::local_ref<JVariant_NullType_DeveloperBillingOptionParamsAndroid> developerBillingOption = this->getFieldValue(fieldDeveloperBillingOption);
66
77
  static const auto fieldSubscriptionProductReplacementParams = clazz->getField<JVariant_NullType_SubscriptionProductReplacementParamsAndroid>("subscriptionProductReplacementParams");
67
78
  jni::local_ref<JVariant_NullType_SubscriptionProductReplacementParamsAndroid> subscriptionProductReplacementParams = this->getFieldValue(fieldSubscriptionProductReplacementParams);
68
79
  return NitroRequestPurchaseAndroid(
@@ -83,6 +94,8 @@ namespace margelo::nitro::iap {
83
94
  subscriptionOffers != nullptr ? std::make_optional(subscriptionOffers->toCpp()) : std::nullopt,
84
95
  replacementMode != nullptr ? std::make_optional(replacementMode->toCpp()) : std::nullopt,
85
96
  purchaseToken != nullptr ? std::make_optional(purchaseToken->toCpp()) : std::nullopt,
97
+ originalExternalTransactionId != nullptr ? std::make_optional(originalExternalTransactionId->toCpp()) : std::nullopt,
98
+ developerBillingOption != nullptr ? std::make_optional(developerBillingOption->toCpp()) : std::nullopt,
86
99
  subscriptionProductReplacementParams != nullptr ? std::make_optional(subscriptionProductReplacementParams->toCpp()) : std::nullopt
87
100
  );
88
101
  }
@@ -93,7 +106,7 @@ namespace margelo::nitro::iap {
93
106
  */
94
107
  [[maybe_unused]]
95
108
  static jni::local_ref<JNitroRequestPurchaseAndroid::javaobject> fromCpp(const NitroRequestPurchaseAndroid& value) {
96
- using JSignature = JNitroRequestPurchaseAndroid(jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Boolean>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Array_AndroidSubscriptionOfferInput_>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_SubscriptionProductReplacementParamsAndroid>);
109
+ using JSignature = JNitroRequestPurchaseAndroid(jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Boolean>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_Array_AndroidSubscriptionOfferInput_>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_DeveloperBillingOptionParamsAndroid>, jni::alias_ref<JVariant_NullType_SubscriptionProductReplacementParamsAndroid>);
97
110
  static const auto clazz = javaClassStatic();
98
111
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
99
112
  return create(
@@ -115,6 +128,8 @@ namespace margelo::nitro::iap {
115
128
  value.subscriptionOffers.has_value() ? JVariant_NullType_Array_AndroidSubscriptionOfferInput_::fromCpp(value.subscriptionOffers.value()) : nullptr,
116
129
  value.replacementMode.has_value() ? JVariant_NullType_Double::fromCpp(value.replacementMode.value()) : nullptr,
117
130
  value.purchaseToken.has_value() ? JVariant_NullType_String::fromCpp(value.purchaseToken.value()) : nullptr,
131
+ value.originalExternalTransactionId.has_value() ? JVariant_NullType_String::fromCpp(value.originalExternalTransactionId.value()) : nullptr,
132
+ value.developerBillingOption.has_value() ? JVariant_NullType_DeveloperBillingOptionParamsAndroid::fromCpp(value.developerBillingOption.value()) : nullptr,
118
133
  value.subscriptionProductReplacementParams.has_value() ? JVariant_NullType_SubscriptionProductReplacementParamsAndroid::fromCpp(value.subscriptionProductReplacementParams.value()) : nullptr
119
134
  );
120
135
  }
@@ -0,0 +1,58 @@
1
+ ///
2
+ /// JProductType.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 "ProductType.hpp"
12
+
13
+ namespace margelo::nitro::iap {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "ProductType" and the the Kotlin enum "ProductType".
19
+ */
20
+ struct JProductType final: public jni::JavaClass<JProductType> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/ProductType;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum ProductType.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ ProductType 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<ProductType>(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<JProductType> fromCpp(ProductType value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case ProductType::SUBS:
46
+ static const auto fieldSUBS = clazz->getStaticField<JProductType>("SUBS");
47
+ return clazz->getStaticFieldValue(fieldSUBS);
48
+ case ProductType::IN_APP:
49
+ static const auto fieldIN_APP = clazz->getStaticField<JProductType>("IN_APP");
50
+ return clazz->getStaticFieldValue(fieldIN_APP);
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::iap