@gmisoftware/react-native-pay 0.0.4
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.
- package/NitroPay.podspec +31 -0
- package/README.md +455 -0
- package/android/CMakeLists.txt +29 -0
- package/android/build.gradle +144 -0
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +8 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/pay/Constants.kt +49 -0
- package/android/src/main/java/com/margelo/nitro/pay/GooglePayButtonFactory.kt +95 -0
- package/android/src/main/java/com/margelo/nitro/pay/GooglePayRequestBuilder.kt +170 -0
- package/android/src/main/java/com/margelo/nitro/pay/HybridGooglePayButton.kt +146 -0
- package/android/src/main/java/com/margelo/nitro/pay/HybridPaymentHandler.kt +184 -0
- package/android/src/main/java/com/margelo/nitro/pay/NitroPayPackage.kt +26 -0
- package/android/src/main/java/com/margelo/nitro/pay/PaymentMapper.kt +89 -0
- package/app.plugin.js +1 -0
- package/ios/ApplePayButtonFactory.swift +53 -0
- package/ios/Bridge.h +8 -0
- package/ios/HybridApplePayButton.swift +60 -0
- package/ios/HybridPaymentHandler.swift +248 -0
- package/ios/PassKitTypeMapper.swift +192 -0
- package/lib/hooks/index.d.ts +7 -0
- package/lib/hooks/index.js +10 -0
- package/lib/hooks/usePaymentCheckout.d.ts +95 -0
- package/lib/hooks/usePaymentCheckout.js +183 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.js +29 -0
- package/lib/plugin/index.d.ts +4 -0
- package/lib/plugin/index.js +10 -0
- package/lib/plugin/type.d.ts +4 -0
- package/lib/plugin/type.js +2 -0
- package/lib/plugin/withApplePay.d.ts +4 -0
- package/lib/plugin/withApplePay.js +32 -0
- package/lib/plugin/withGooglePay.d.ts +4 -0
- package/lib/plugin/withGooglePay.js +24 -0
- package/lib/specs/ApplePayButton.nitro.d.ts +13 -0
- package/lib/specs/ApplePayButton.nitro.js +2 -0
- package/lib/specs/GooglePayButton.nitro.d.ts +14 -0
- package/lib/specs/GooglePayButton.nitro.js +2 -0
- package/lib/specs/PaymentHandler.nitro.d.ts +10 -0
- package/lib/specs/PaymentHandler.nitro.js +2 -0
- package/lib/types/Contact.d.ts +51 -0
- package/lib/types/Contact.js +6 -0
- package/lib/types/Payment.d.ts +67 -0
- package/lib/types/Payment.js +6 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.js +18 -0
- package/lib/utils/index.d.ts +4 -0
- package/lib/utils/index.js +20 -0
- package/lib/utils/paymentHelpers.d.ts +144 -0
- package/lib/utils/paymentHelpers.js +190 -0
- package/nitro.json +30 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/NitroPay+autolinking.cmake +87 -0
- package/nitrogen/generated/android/NitroPay+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroPayOnLoad.cpp +58 -0
- package/nitrogen/generated/android/NitroPayOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JCNContact.hpp +202 -0
- package/nitrogen/generated/android/c++/JCNContactType.hpp +59 -0
- package/nitrogen/generated/android/c++/JCNLabeledEmailAddress.hpp +62 -0
- package/nitrogen/generated/android/c++/JCNLabeledPhoneNumber.hpp +64 -0
- package/nitrogen/generated/android/c++/JCNLabeledPostalAddress.hpp +64 -0
- package/nitrogen/generated/android/c++/JCNPhoneNumber.hpp +57 -0
- package/nitrogen/generated/android/c++/JCNPostalAddress.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void.hpp +74 -0
- package/nitrogen/generated/android/c++/JGooglePayButtonTheme.hpp +59 -0
- package/nitrogen/generated/android/c++/JGooglePayButtonType.hpp +77 -0
- package/nitrogen/generated/android/c++/JGooglePayEnvironment.hpp +59 -0
- package/nitrogen/generated/android/c++/JHybridGooglePayButtonSpec.cpp +96 -0
- package/nitrogen/generated/android/c++/JHybridGooglePayButtonSpec.hpp +71 -0
- package/nitrogen/generated/android/c++/JHybridPaymentHandlerSpec.cpp +154 -0
- package/nitrogen/generated/android/c++/JHybridPaymentHandlerSpec.hpp +66 -0
- package/nitrogen/generated/android/c++/JPKSecureElementPass.hpp +96 -0
- package/nitrogen/generated/android/c++/JPassActivationState.hpp +68 -0
- package/nitrogen/generated/android/c++/JPayServiceStatus.hpp +61 -0
- package/nitrogen/generated/android/c++/JPaymentItem.hpp +67 -0
- package/nitrogen/generated/android/c++/JPaymentItemType.hpp +59 -0
- package/nitrogen/generated/android/c++/JPaymentMethod.hpp +97 -0
- package/nitrogen/generated/android/c++/JPaymentMethodType.hpp +68 -0
- package/nitrogen/generated/android/c++/JPaymentNetwork.hpp +86 -0
- package/nitrogen/generated/android/c++/JPaymentRequest.hpp +181 -0
- package/nitrogen/generated/android/c++/JPaymentResult.hpp +97 -0
- package/nitrogen/generated/android/c++/JPaymentToken.hpp +91 -0
- package/nitrogen/generated/android/c++/views/JHybridGooglePayButtonStateUpdater.cpp +68 -0
- package/nitrogen/generated/android/c++/views/JHybridGooglePayButtonStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNContact.kt +96 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNContactType.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledEmailAddress.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledPhoneNumber.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledPostalAddress.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNPhoneNumber.kt +36 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNPostalAddress.kt +51 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/Func_void.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayButtonTheme.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayButtonType.kt +27 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayEnvironment.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/HybridGooglePayButtonSpec.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/HybridPaymentHandlerSpec.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/NitroPayOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PKSecureElementPass.kt +63 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PassActivationState.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PayServiceStatus.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentItem.kt +42 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentItemType.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentMethod.kt +48 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentMethodType.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentNetwork.kt +30 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentRequest.kt +72 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentResult.kt +45 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentToken.kt +42 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/views/HybridGooglePayButtonManager.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/views/HybridGooglePayButtonStateUpdater.kt +23 -0
- package/nitrogen/generated/ios/NitroPay+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Bridge.cpp +73 -0
- package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Bridge.hpp +415 -0
- package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Umbrella.hpp +116 -0
- package/nitrogen/generated/ios/NitroPayAutolinking.mm +41 -0
- package/nitrogen/generated/ios/NitroPayAutolinking.swift +40 -0
- package/nitrogen/generated/ios/c++/HybridApplePayButtonSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridApplePayButtonSpecSwift.hpp +92 -0
- package/nitrogen/generated/ios/c++/HybridPaymentHandlerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridPaymentHandlerSpecSwift.hpp +148 -0
- package/nitrogen/generated/ios/c++/views/HybridApplePayButtonComponent.mm +106 -0
- package/nitrogen/generated/ios/swift/ApplePayButtonStyle.swift +44 -0
- package/nitrogen/generated/ios/swift/ApplePayButtonType.swift +84 -0
- package/nitrogen/generated/ios/swift/CNContact.swift +329 -0
- package/nitrogen/generated/ios/swift/CNContactType.swift +40 -0
- package/nitrogen/generated/ios/swift/CNLabeledEmailAddress.swift +65 -0
- package/nitrogen/generated/ios/swift/CNLabeledPhoneNumber.swift +65 -0
- package/nitrogen/generated/ios/swift/CNLabeledPostalAddress.swift +65 -0
- package/nitrogen/generated/ios/swift/CNPhoneNumber.swift +35 -0
- package/nitrogen/generated/ios/swift/CNPostalAddress.swift +204 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_PaymentResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/GooglePayEnvironment.swift +40 -0
- package/nitrogen/generated/ios/swift/HybridApplePayButtonSpec.swift +51 -0
- package/nitrogen/generated/ios/swift/HybridApplePayButtonSpec_cxx.swift +175 -0
- package/nitrogen/generated/ios/swift/HybridPaymentHandlerSpec.swift +52 -0
- package/nitrogen/generated/ios/swift/HybridPaymentHandlerSpec_cxx.swift +155 -0
- package/nitrogen/generated/ios/swift/PKSecureElementPass.swift +191 -0
- package/nitrogen/generated/ios/swift/PassActivationState.swift +52 -0
- package/nitrogen/generated/ios/swift/PayServiceStatus.swift +46 -0
- package/nitrogen/generated/ios/swift/PaymentItem.swift +57 -0
- package/nitrogen/generated/ios/swift/PaymentItemType.swift +40 -0
- package/nitrogen/generated/ios/swift/PaymentMethod.swift +134 -0
- package/nitrogen/generated/ios/swift/PaymentMethodType.swift +52 -0
- package/nitrogen/generated/ios/swift/PaymentNetwork.swift +76 -0
- package/nitrogen/generated/ios/swift/PaymentRequest.swift +341 -0
- package/nitrogen/generated/ios/swift/PaymentResult.swift +118 -0
- package/nitrogen/generated/ios/swift/PaymentToken.swift +57 -0
- package/nitrogen/generated/shared/c++/ApplePayButtonStyle.hpp +80 -0
- package/nitrogen/generated/shared/c++/ApplePayButtonType.hpp +120 -0
- package/nitrogen/generated/shared/c++/CNContact.hpp +168 -0
- package/nitrogen/generated/shared/c++/CNContactType.hpp +76 -0
- package/nitrogen/generated/shared/c++/CNLabeledEmailAddress.hpp +80 -0
- package/nitrogen/generated/shared/c++/CNLabeledPhoneNumber.hpp +82 -0
- package/nitrogen/generated/shared/c++/CNLabeledPostalAddress.hpp +82 -0
- package/nitrogen/generated/shared/c++/CNPhoneNumber.hpp +75 -0
- package/nitrogen/generated/shared/c++/CNPostalAddress.hpp +96 -0
- package/nitrogen/generated/shared/c++/GooglePayButtonTheme.hpp +76 -0
- package/nitrogen/generated/shared/c++/GooglePayButtonType.hpp +100 -0
- package/nitrogen/generated/shared/c++/GooglePayEnvironment.hpp +76 -0
- package/nitrogen/generated/shared/c++/HybridApplePayButtonSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridApplePayButtonSpec.hpp +73 -0
- package/nitrogen/generated/shared/c++/HybridGooglePayButtonSpec.cpp +28 -0
- package/nitrogen/generated/shared/c++/HybridGooglePayButtonSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridPaymentHandlerSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridPaymentHandlerSpec.hpp +74 -0
- package/nitrogen/generated/shared/c++/PKSecureElementPass.hpp +114 -0
- package/nitrogen/generated/shared/c++/PassActivationState.hpp +88 -0
- package/nitrogen/generated/shared/c++/PayServiceStatus.hpp +79 -0
- package/nitrogen/generated/shared/c++/PaymentItem.hpp +85 -0
- package/nitrogen/generated/shared/c++/PaymentItemType.hpp +76 -0
- package/nitrogen/generated/shared/c++/PaymentMethod.hpp +103 -0
- package/nitrogen/generated/shared/c++/PaymentMethodType.hpp +88 -0
- package/nitrogen/generated/shared/c++/PaymentNetwork.hpp +112 -0
- package/nitrogen/generated/shared/c++/PaymentRequest.hpp +130 -0
- package/nitrogen/generated/shared/c++/PaymentResult.hpp +90 -0
- package/nitrogen/generated/shared/c++/PaymentToken.hpp +85 -0
- package/nitrogen/generated/shared/c++/views/HybridApplePayButtonComponent.cpp +111 -0
- package/nitrogen/generated/shared/c++/views/HybridApplePayButtonComponent.hpp +111 -0
- package/nitrogen/generated/shared/c++/views/HybridGooglePayButtonComponent.cpp +123 -0
- package/nitrogen/generated/shared/c++/views/HybridGooglePayButtonComponent.hpp +112 -0
- package/nitrogen/generated/shared/json/ApplePayButtonConfig.json +12 -0
- package/nitrogen/generated/shared/json/GooglePayButtonConfig.json +13 -0
- package/package.json +116 -0
- package/react-native.config.js +16 -0
- package/src/hooks/index.ts +12 -0
- package/src/hooks/usePaymentCheckout.ts +281 -0
- package/src/index.ts +32 -0
- package/src/plugin/index.ts +17 -0
- package/src/plugin/type.ts +4 -0
- package/src/plugin/withApplePay.ts +44 -0
- package/src/plugin/withGooglePay.ts +41 -0
- package/src/specs/ApplePayButton.nitro.ts +37 -0
- package/src/specs/GooglePayButton.nitro.ts +34 -0
- package/src/specs/PaymentHandler.nitro.ts +13 -0
- package/src/types/Contact.ts +58 -0
- package/src/types/Payment.ts +104 -0
- package/src/types/index.ts +2 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/paymentHelpers.ts +215 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPKSecureElementPass.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PKSecureElementPass.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JPassActivationState.hpp"
|
|
14
|
+
#include "PassActivationState.hpp"
|
|
15
|
+
#include <optional>
|
|
16
|
+
#include <string>
|
|
17
|
+
|
|
18
|
+
namespace margelo::nitro::pay {
|
|
19
|
+
|
|
20
|
+
using namespace facebook;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The C++ JNI bridge between the C++ struct "PKSecureElementPass" and the the Kotlin data class "PKSecureElementPass".
|
|
24
|
+
*/
|
|
25
|
+
struct JPKSecureElementPass final: public jni::JavaClass<JPKSecureElementPass> {
|
|
26
|
+
public:
|
|
27
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/PKSecureElementPass;";
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
/**
|
|
31
|
+
* Convert this Java/Kotlin-based struct to the C++ struct PKSecureElementPass by copying all values to C++.
|
|
32
|
+
*/
|
|
33
|
+
[[maybe_unused]]
|
|
34
|
+
[[nodiscard]]
|
|
35
|
+
PKSecureElementPass toCpp() const {
|
|
36
|
+
static const auto clazz = javaClassStatic();
|
|
37
|
+
static const auto fieldPrimaryAccountIdentifier = clazz->getField<jni::JString>("primaryAccountIdentifier");
|
|
38
|
+
jni::local_ref<jni::JString> primaryAccountIdentifier = this->getFieldValue(fieldPrimaryAccountIdentifier);
|
|
39
|
+
static const auto fieldPrimaryAccountNumberSuffix = clazz->getField<jni::JString>("primaryAccountNumberSuffix");
|
|
40
|
+
jni::local_ref<jni::JString> primaryAccountNumberSuffix = this->getFieldValue(fieldPrimaryAccountNumberSuffix);
|
|
41
|
+
static const auto fieldDeviceAccountIdentifier = clazz->getField<jni::JString>("deviceAccountIdentifier");
|
|
42
|
+
jni::local_ref<jni::JString> deviceAccountIdentifier = this->getFieldValue(fieldDeviceAccountIdentifier);
|
|
43
|
+
static const auto fieldDeviceAccountNumberSuffix = clazz->getField<jni::JString>("deviceAccountNumberSuffix");
|
|
44
|
+
jni::local_ref<jni::JString> deviceAccountNumberSuffix = this->getFieldValue(fieldDeviceAccountNumberSuffix);
|
|
45
|
+
static const auto fieldPassActivationState = clazz->getField<JPassActivationState>("passActivationState");
|
|
46
|
+
jni::local_ref<JPassActivationState> passActivationState = this->getFieldValue(fieldPassActivationState);
|
|
47
|
+
static const auto fieldDevicePassIdentifier = clazz->getField<jni::JString>("devicePassIdentifier");
|
|
48
|
+
jni::local_ref<jni::JString> devicePassIdentifier = this->getFieldValue(fieldDevicePassIdentifier);
|
|
49
|
+
static const auto fieldPairedTerminalIdentifier = clazz->getField<jni::JString>("pairedTerminalIdentifier");
|
|
50
|
+
jni::local_ref<jni::JString> pairedTerminalIdentifier = this->getFieldValue(fieldPairedTerminalIdentifier);
|
|
51
|
+
static const auto fieldPassTypeIdentifier = clazz->getField<jni::JString>("passTypeIdentifier");
|
|
52
|
+
jni::local_ref<jni::JString> passTypeIdentifier = this->getFieldValue(fieldPassTypeIdentifier);
|
|
53
|
+
static const auto fieldSerialNumber = clazz->getField<jni::JString>("serialNumber");
|
|
54
|
+
jni::local_ref<jni::JString> serialNumber = this->getFieldValue(fieldSerialNumber);
|
|
55
|
+
static const auto fieldOrganizationName = clazz->getField<jni::JString>("organizationName");
|
|
56
|
+
jni::local_ref<jni::JString> organizationName = this->getFieldValue(fieldOrganizationName);
|
|
57
|
+
return PKSecureElementPass(
|
|
58
|
+
primaryAccountIdentifier->toStdString(),
|
|
59
|
+
primaryAccountNumberSuffix->toStdString(),
|
|
60
|
+
deviceAccountIdentifier->toStdString(),
|
|
61
|
+
deviceAccountNumberSuffix->toStdString(),
|
|
62
|
+
passActivationState->toCpp(),
|
|
63
|
+
devicePassIdentifier != nullptr ? std::make_optional(devicePassIdentifier->toStdString()) : std::nullopt,
|
|
64
|
+
pairedTerminalIdentifier != nullptr ? std::make_optional(pairedTerminalIdentifier->toStdString()) : std::nullopt,
|
|
65
|
+
passTypeIdentifier->toStdString(),
|
|
66
|
+
serialNumber->toStdString(),
|
|
67
|
+
organizationName != nullptr ? std::make_optional(organizationName->toStdString()) : std::nullopt
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
public:
|
|
72
|
+
/**
|
|
73
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
74
|
+
*/
|
|
75
|
+
[[maybe_unused]]
|
|
76
|
+
static jni::local_ref<JPKSecureElementPass::javaobject> fromCpp(const PKSecureElementPass& value) {
|
|
77
|
+
using JSignature = JPKSecureElementPass(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JPassActivationState>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
|
|
78
|
+
static const auto clazz = javaClassStatic();
|
|
79
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
80
|
+
return create(
|
|
81
|
+
clazz,
|
|
82
|
+
jni::make_jstring(value.primaryAccountIdentifier),
|
|
83
|
+
jni::make_jstring(value.primaryAccountNumberSuffix),
|
|
84
|
+
jni::make_jstring(value.deviceAccountIdentifier),
|
|
85
|
+
jni::make_jstring(value.deviceAccountNumberSuffix),
|
|
86
|
+
JPassActivationState::fromCpp(value.passActivationState),
|
|
87
|
+
value.devicePassIdentifier.has_value() ? jni::make_jstring(value.devicePassIdentifier.value()) : nullptr,
|
|
88
|
+
value.pairedTerminalIdentifier.has_value() ? jni::make_jstring(value.pairedTerminalIdentifier.value()) : nullptr,
|
|
89
|
+
jni::make_jstring(value.passTypeIdentifier),
|
|
90
|
+
jni::make_jstring(value.serialNumber),
|
|
91
|
+
value.organizationName.has_value() ? jni::make_jstring(value.organizationName.value()) : nullptr
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPassActivationState.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PassActivationState.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::pay {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "PassActivationState" and the the Kotlin enum "PassActivationState".
|
|
19
|
+
*/
|
|
20
|
+
struct JPassActivationState final: public jni::JavaClass<JPassActivationState> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/PassActivationState;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum PassActivationState.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
PassActivationState 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<PassActivationState>(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<JPassActivationState> fromCpp(PassActivationState value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldACTIVATED = clazz->getStaticField<JPassActivationState>("ACTIVATED");
|
|
45
|
+
static const auto fieldREQUIRESACTIVATION = clazz->getStaticField<JPassActivationState>("REQUIRESACTIVATION");
|
|
46
|
+
static const auto fieldACTIVATING = clazz->getStaticField<JPassActivationState>("ACTIVATING");
|
|
47
|
+
static const auto fieldSUSPENDED = clazz->getStaticField<JPassActivationState>("SUSPENDED");
|
|
48
|
+
static const auto fieldDEACTIVATED = clazz->getStaticField<JPassActivationState>("DEACTIVATED");
|
|
49
|
+
|
|
50
|
+
switch (value) {
|
|
51
|
+
case PassActivationState::ACTIVATED:
|
|
52
|
+
return clazz->getStaticFieldValue(fieldACTIVATED);
|
|
53
|
+
case PassActivationState::REQUIRESACTIVATION:
|
|
54
|
+
return clazz->getStaticFieldValue(fieldREQUIRESACTIVATION);
|
|
55
|
+
case PassActivationState::ACTIVATING:
|
|
56
|
+
return clazz->getStaticFieldValue(fieldACTIVATING);
|
|
57
|
+
case PassActivationState::SUSPENDED:
|
|
58
|
+
return clazz->getStaticFieldValue(fieldSUSPENDED);
|
|
59
|
+
case PassActivationState::DEACTIVATED:
|
|
60
|
+
return clazz->getStaticFieldValue(fieldDEACTIVATED);
|
|
61
|
+
default:
|
|
62
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
63
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPayServiceStatus.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PayServiceStatus.hpp"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::pay {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "PayServiceStatus" and the the Kotlin data class "PayServiceStatus".
|
|
21
|
+
*/
|
|
22
|
+
struct JPayServiceStatus final: public jni::JavaClass<JPayServiceStatus> {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/PayServiceStatus;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct PayServiceStatus by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
PayServiceStatus toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldCanMakePayments = clazz->getField<jboolean>("canMakePayments");
|
|
35
|
+
jboolean canMakePayments = this->getFieldValue(fieldCanMakePayments);
|
|
36
|
+
static const auto fieldCanSetupCards = clazz->getField<jboolean>("canSetupCards");
|
|
37
|
+
jboolean canSetupCards = this->getFieldValue(fieldCanSetupCards);
|
|
38
|
+
return PayServiceStatus(
|
|
39
|
+
static_cast<bool>(canMakePayments),
|
|
40
|
+
static_cast<bool>(canSetupCards)
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public:
|
|
45
|
+
/**
|
|
46
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
47
|
+
*/
|
|
48
|
+
[[maybe_unused]]
|
|
49
|
+
static jni::local_ref<JPayServiceStatus::javaobject> fromCpp(const PayServiceStatus& value) {
|
|
50
|
+
using JSignature = JPayServiceStatus(jboolean, jboolean);
|
|
51
|
+
static const auto clazz = javaClassStatic();
|
|
52
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
53
|
+
return create(
|
|
54
|
+
clazz,
|
|
55
|
+
value.canMakePayments,
|
|
56
|
+
value.canSetupCards
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPaymentItem.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PaymentItem.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JPaymentItemType.hpp"
|
|
14
|
+
#include "PaymentItemType.hpp"
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::pay {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The C++ JNI bridge between the C++ struct "PaymentItem" and the the Kotlin data class "PaymentItem".
|
|
23
|
+
*/
|
|
24
|
+
struct JPaymentItem final: public jni::JavaClass<JPaymentItem> {
|
|
25
|
+
public:
|
|
26
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/PaymentItem;";
|
|
27
|
+
|
|
28
|
+
public:
|
|
29
|
+
/**
|
|
30
|
+
* Convert this Java/Kotlin-based struct to the C++ struct PaymentItem by copying all values to C++.
|
|
31
|
+
*/
|
|
32
|
+
[[maybe_unused]]
|
|
33
|
+
[[nodiscard]]
|
|
34
|
+
PaymentItem toCpp() const {
|
|
35
|
+
static const auto clazz = javaClassStatic();
|
|
36
|
+
static const auto fieldLabel = clazz->getField<jni::JString>("label");
|
|
37
|
+
jni::local_ref<jni::JString> label = this->getFieldValue(fieldLabel);
|
|
38
|
+
static const auto fieldAmount = clazz->getField<double>("amount");
|
|
39
|
+
double amount = this->getFieldValue(fieldAmount);
|
|
40
|
+
static const auto fieldType = clazz->getField<JPaymentItemType>("type");
|
|
41
|
+
jni::local_ref<JPaymentItemType> type = this->getFieldValue(fieldType);
|
|
42
|
+
return PaymentItem(
|
|
43
|
+
label->toStdString(),
|
|
44
|
+
amount,
|
|
45
|
+
type->toCpp()
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public:
|
|
50
|
+
/**
|
|
51
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
52
|
+
*/
|
|
53
|
+
[[maybe_unused]]
|
|
54
|
+
static jni::local_ref<JPaymentItem::javaobject> fromCpp(const PaymentItem& value) {
|
|
55
|
+
using JSignature = JPaymentItem(jni::alias_ref<jni::JString>, double, jni::alias_ref<JPaymentItemType>);
|
|
56
|
+
static const auto clazz = javaClassStatic();
|
|
57
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
58
|
+
return create(
|
|
59
|
+
clazz,
|
|
60
|
+
jni::make_jstring(value.label),
|
|
61
|
+
value.amount,
|
|
62
|
+
JPaymentItemType::fromCpp(value.type)
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPaymentItemType.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PaymentItemType.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::pay {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "PaymentItemType" and the the Kotlin enum "PaymentItemType".
|
|
19
|
+
*/
|
|
20
|
+
struct JPaymentItemType final: public jni::JavaClass<JPaymentItemType> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/PaymentItemType;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum PaymentItemType.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
PaymentItemType 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<PaymentItemType>(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<JPaymentItemType> fromCpp(PaymentItemType value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldFINAL = clazz->getStaticField<JPaymentItemType>("FINAL");
|
|
45
|
+
static const auto fieldPENDING = clazz->getStaticField<JPaymentItemType>("PENDING");
|
|
46
|
+
|
|
47
|
+
switch (value) {
|
|
48
|
+
case PaymentItemType::FINAL:
|
|
49
|
+
return clazz->getStaticFieldValue(fieldFINAL);
|
|
50
|
+
case PaymentItemType::PENDING:
|
|
51
|
+
return clazz->getStaticFieldValue(fieldPENDING);
|
|
52
|
+
default:
|
|
53
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
54
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPaymentMethod.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PaymentMethod.hpp"
|
|
12
|
+
|
|
13
|
+
#include "CNContact.hpp"
|
|
14
|
+
#include "CNContactType.hpp"
|
|
15
|
+
#include "CNLabeledEmailAddress.hpp"
|
|
16
|
+
#include "CNLabeledPhoneNumber.hpp"
|
|
17
|
+
#include "CNLabeledPostalAddress.hpp"
|
|
18
|
+
#include "CNPhoneNumber.hpp"
|
|
19
|
+
#include "CNPostalAddress.hpp"
|
|
20
|
+
#include "JCNContact.hpp"
|
|
21
|
+
#include "JCNContactType.hpp"
|
|
22
|
+
#include "JCNLabeledEmailAddress.hpp"
|
|
23
|
+
#include "JCNLabeledPhoneNumber.hpp"
|
|
24
|
+
#include "JCNLabeledPostalAddress.hpp"
|
|
25
|
+
#include "JCNPhoneNumber.hpp"
|
|
26
|
+
#include "JCNPostalAddress.hpp"
|
|
27
|
+
#include "JPKSecureElementPass.hpp"
|
|
28
|
+
#include "JPassActivationState.hpp"
|
|
29
|
+
#include "JPaymentMethodType.hpp"
|
|
30
|
+
#include "JPaymentNetwork.hpp"
|
|
31
|
+
#include "PKSecureElementPass.hpp"
|
|
32
|
+
#include "PassActivationState.hpp"
|
|
33
|
+
#include "PaymentMethodType.hpp"
|
|
34
|
+
#include "PaymentNetwork.hpp"
|
|
35
|
+
#include <optional>
|
|
36
|
+
#include <string>
|
|
37
|
+
#include <vector>
|
|
38
|
+
|
|
39
|
+
namespace margelo::nitro::pay {
|
|
40
|
+
|
|
41
|
+
using namespace facebook;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* The C++ JNI bridge between the C++ struct "PaymentMethod" and the the Kotlin data class "PaymentMethod".
|
|
45
|
+
*/
|
|
46
|
+
struct JPaymentMethod final: public jni::JavaClass<JPaymentMethod> {
|
|
47
|
+
public:
|
|
48
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/PaymentMethod;";
|
|
49
|
+
|
|
50
|
+
public:
|
|
51
|
+
/**
|
|
52
|
+
* Convert this Java/Kotlin-based struct to the C++ struct PaymentMethod by copying all values to C++.
|
|
53
|
+
*/
|
|
54
|
+
[[maybe_unused]]
|
|
55
|
+
[[nodiscard]]
|
|
56
|
+
PaymentMethod toCpp() const {
|
|
57
|
+
static const auto clazz = javaClassStatic();
|
|
58
|
+
static const auto fieldDisplayName = clazz->getField<jni::JString>("displayName");
|
|
59
|
+
jni::local_ref<jni::JString> displayName = this->getFieldValue(fieldDisplayName);
|
|
60
|
+
static const auto fieldNetwork = clazz->getField<JPaymentNetwork>("network");
|
|
61
|
+
jni::local_ref<JPaymentNetwork> network = this->getFieldValue(fieldNetwork);
|
|
62
|
+
static const auto fieldType = clazz->getField<JPaymentMethodType>("type");
|
|
63
|
+
jni::local_ref<JPaymentMethodType> type = this->getFieldValue(fieldType);
|
|
64
|
+
static const auto fieldSecureElementPass = clazz->getField<JPKSecureElementPass>("secureElementPass");
|
|
65
|
+
jni::local_ref<JPKSecureElementPass> secureElementPass = this->getFieldValue(fieldSecureElementPass);
|
|
66
|
+
static const auto fieldBillingAddress = clazz->getField<JCNContact>("billingAddress");
|
|
67
|
+
jni::local_ref<JCNContact> billingAddress = this->getFieldValue(fieldBillingAddress);
|
|
68
|
+
return PaymentMethod(
|
|
69
|
+
displayName != nullptr ? std::make_optional(displayName->toStdString()) : std::nullopt,
|
|
70
|
+
network != nullptr ? std::make_optional(network->toCpp()) : std::nullopt,
|
|
71
|
+
type->toCpp(),
|
|
72
|
+
secureElementPass != nullptr ? std::make_optional(secureElementPass->toCpp()) : std::nullopt,
|
|
73
|
+
billingAddress != nullptr ? std::make_optional(billingAddress->toCpp()) : std::nullopt
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public:
|
|
78
|
+
/**
|
|
79
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
80
|
+
*/
|
|
81
|
+
[[maybe_unused]]
|
|
82
|
+
static jni::local_ref<JPaymentMethod::javaobject> fromCpp(const PaymentMethod& value) {
|
|
83
|
+
using JSignature = JPaymentMethod(jni::alias_ref<jni::JString>, jni::alias_ref<JPaymentNetwork>, jni::alias_ref<JPaymentMethodType>, jni::alias_ref<JPKSecureElementPass>, jni::alias_ref<JCNContact>);
|
|
84
|
+
static const auto clazz = javaClassStatic();
|
|
85
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
86
|
+
return create(
|
|
87
|
+
clazz,
|
|
88
|
+
value.displayName.has_value() ? jni::make_jstring(value.displayName.value()) : nullptr,
|
|
89
|
+
value.network.has_value() ? JPaymentNetwork::fromCpp(value.network.value()) : nullptr,
|
|
90
|
+
JPaymentMethodType::fromCpp(value.type),
|
|
91
|
+
value.secureElementPass.has_value() ? JPKSecureElementPass::fromCpp(value.secureElementPass.value()) : nullptr,
|
|
92
|
+
value.billingAddress.has_value() ? JCNContact::fromCpp(value.billingAddress.value()) : nullptr
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPaymentMethodType.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PaymentMethodType.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::pay {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "PaymentMethodType" and the the Kotlin enum "PaymentMethodType".
|
|
19
|
+
*/
|
|
20
|
+
struct JPaymentMethodType final: public jni::JavaClass<JPaymentMethodType> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/PaymentMethodType;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum PaymentMethodType.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
PaymentMethodType 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<PaymentMethodType>(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<JPaymentMethodType> fromCpp(PaymentMethodType value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldUNKNOWN = clazz->getStaticField<JPaymentMethodType>("UNKNOWN");
|
|
45
|
+
static const auto fieldDEBIT = clazz->getStaticField<JPaymentMethodType>("DEBIT");
|
|
46
|
+
static const auto fieldCREDIT = clazz->getStaticField<JPaymentMethodType>("CREDIT");
|
|
47
|
+
static const auto fieldPREPAID = clazz->getStaticField<JPaymentMethodType>("PREPAID");
|
|
48
|
+
static const auto fieldSTORE = clazz->getStaticField<JPaymentMethodType>("STORE");
|
|
49
|
+
|
|
50
|
+
switch (value) {
|
|
51
|
+
case PaymentMethodType::UNKNOWN:
|
|
52
|
+
return clazz->getStaticFieldValue(fieldUNKNOWN);
|
|
53
|
+
case PaymentMethodType::DEBIT:
|
|
54
|
+
return clazz->getStaticFieldValue(fieldDEBIT);
|
|
55
|
+
case PaymentMethodType::CREDIT:
|
|
56
|
+
return clazz->getStaticFieldValue(fieldCREDIT);
|
|
57
|
+
case PaymentMethodType::PREPAID:
|
|
58
|
+
return clazz->getStaticFieldValue(fieldPREPAID);
|
|
59
|
+
case PaymentMethodType::STORE:
|
|
60
|
+
return clazz->getStaticFieldValue(fieldSTORE);
|
|
61
|
+
default:
|
|
62
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
63
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPaymentNetwork.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PaymentNetwork.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::pay {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "PaymentNetwork" and the the Kotlin enum "PaymentNetwork".
|
|
19
|
+
*/
|
|
20
|
+
struct JPaymentNetwork final: public jni::JavaClass<JPaymentNetwork> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/PaymentNetwork;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum PaymentNetwork.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
PaymentNetwork 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<PaymentNetwork>(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<JPaymentNetwork> fromCpp(PaymentNetwork value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldVISA = clazz->getStaticField<JPaymentNetwork>("VISA");
|
|
45
|
+
static const auto fieldMASTERCARD = clazz->getStaticField<JPaymentNetwork>("MASTERCARD");
|
|
46
|
+
static const auto fieldAMEX = clazz->getStaticField<JPaymentNetwork>("AMEX");
|
|
47
|
+
static const auto fieldDISCOVER = clazz->getStaticField<JPaymentNetwork>("DISCOVER");
|
|
48
|
+
static const auto fieldJCB = clazz->getStaticField<JPaymentNetwork>("JCB");
|
|
49
|
+
static const auto fieldMAESTRO = clazz->getStaticField<JPaymentNetwork>("MAESTRO");
|
|
50
|
+
static const auto fieldELECTRON = clazz->getStaticField<JPaymentNetwork>("ELECTRON");
|
|
51
|
+
static const auto fieldELO = clazz->getStaticField<JPaymentNetwork>("ELO");
|
|
52
|
+
static const auto fieldIDCREDIT = clazz->getStaticField<JPaymentNetwork>("IDCREDIT");
|
|
53
|
+
static const auto fieldINTERAC = clazz->getStaticField<JPaymentNetwork>("INTERAC");
|
|
54
|
+
static const auto fieldPRIVATELABEL = clazz->getStaticField<JPaymentNetwork>("PRIVATELABEL");
|
|
55
|
+
|
|
56
|
+
switch (value) {
|
|
57
|
+
case PaymentNetwork::VISA:
|
|
58
|
+
return clazz->getStaticFieldValue(fieldVISA);
|
|
59
|
+
case PaymentNetwork::MASTERCARD:
|
|
60
|
+
return clazz->getStaticFieldValue(fieldMASTERCARD);
|
|
61
|
+
case PaymentNetwork::AMEX:
|
|
62
|
+
return clazz->getStaticFieldValue(fieldAMEX);
|
|
63
|
+
case PaymentNetwork::DISCOVER:
|
|
64
|
+
return clazz->getStaticFieldValue(fieldDISCOVER);
|
|
65
|
+
case PaymentNetwork::JCB:
|
|
66
|
+
return clazz->getStaticFieldValue(fieldJCB);
|
|
67
|
+
case PaymentNetwork::MAESTRO:
|
|
68
|
+
return clazz->getStaticFieldValue(fieldMAESTRO);
|
|
69
|
+
case PaymentNetwork::ELECTRON:
|
|
70
|
+
return clazz->getStaticFieldValue(fieldELECTRON);
|
|
71
|
+
case PaymentNetwork::ELO:
|
|
72
|
+
return clazz->getStaticFieldValue(fieldELO);
|
|
73
|
+
case PaymentNetwork::IDCREDIT:
|
|
74
|
+
return clazz->getStaticFieldValue(fieldIDCREDIT);
|
|
75
|
+
case PaymentNetwork::INTERAC:
|
|
76
|
+
return clazz->getStaticFieldValue(fieldINTERAC);
|
|
77
|
+
case PaymentNetwork::PRIVATELABEL:
|
|
78
|
+
return clazz->getStaticFieldValue(fieldPRIVATELABEL);
|
|
79
|
+
default:
|
|
80
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
81
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
} // namespace margelo::nitro::pay
|