@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,202 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JCNContact.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 "CNContact.hpp"
|
|
12
|
+
|
|
13
|
+
#include "CNContactType.hpp"
|
|
14
|
+
#include "CNLabeledEmailAddress.hpp"
|
|
15
|
+
#include "CNLabeledPhoneNumber.hpp"
|
|
16
|
+
#include "CNLabeledPostalAddress.hpp"
|
|
17
|
+
#include "CNPhoneNumber.hpp"
|
|
18
|
+
#include "CNPostalAddress.hpp"
|
|
19
|
+
#include "JCNContactType.hpp"
|
|
20
|
+
#include "JCNLabeledEmailAddress.hpp"
|
|
21
|
+
#include "JCNLabeledPhoneNumber.hpp"
|
|
22
|
+
#include "JCNLabeledPostalAddress.hpp"
|
|
23
|
+
#include "JCNPhoneNumber.hpp"
|
|
24
|
+
#include "JCNPostalAddress.hpp"
|
|
25
|
+
#include <optional>
|
|
26
|
+
#include <string>
|
|
27
|
+
#include <vector>
|
|
28
|
+
|
|
29
|
+
namespace margelo::nitro::pay {
|
|
30
|
+
|
|
31
|
+
using namespace facebook;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The C++ JNI bridge between the C++ struct "CNContact" and the the Kotlin data class "CNContact".
|
|
35
|
+
*/
|
|
36
|
+
struct JCNContact final: public jni::JavaClass<JCNContact> {
|
|
37
|
+
public:
|
|
38
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/CNContact;";
|
|
39
|
+
|
|
40
|
+
public:
|
|
41
|
+
/**
|
|
42
|
+
* Convert this Java/Kotlin-based struct to the C++ struct CNContact by copying all values to C++.
|
|
43
|
+
*/
|
|
44
|
+
[[maybe_unused]]
|
|
45
|
+
[[nodiscard]]
|
|
46
|
+
CNContact toCpp() const {
|
|
47
|
+
static const auto clazz = javaClassStatic();
|
|
48
|
+
static const auto fieldIdentifier = clazz->getField<jni::JString>("identifier");
|
|
49
|
+
jni::local_ref<jni::JString> identifier = this->getFieldValue(fieldIdentifier);
|
|
50
|
+
static const auto fieldContactType = clazz->getField<JCNContactType>("contactType");
|
|
51
|
+
jni::local_ref<JCNContactType> contactType = this->getFieldValue(fieldContactType);
|
|
52
|
+
static const auto fieldNamePrefix = clazz->getField<jni::JString>("namePrefix");
|
|
53
|
+
jni::local_ref<jni::JString> namePrefix = this->getFieldValue(fieldNamePrefix);
|
|
54
|
+
static const auto fieldGivenName = clazz->getField<jni::JString>("givenName");
|
|
55
|
+
jni::local_ref<jni::JString> givenName = this->getFieldValue(fieldGivenName);
|
|
56
|
+
static const auto fieldMiddleName = clazz->getField<jni::JString>("middleName");
|
|
57
|
+
jni::local_ref<jni::JString> middleName = this->getFieldValue(fieldMiddleName);
|
|
58
|
+
static const auto fieldFamilyName = clazz->getField<jni::JString>("familyName");
|
|
59
|
+
jni::local_ref<jni::JString> familyName = this->getFieldValue(fieldFamilyName);
|
|
60
|
+
static const auto fieldPreviousFamilyName = clazz->getField<jni::JString>("previousFamilyName");
|
|
61
|
+
jni::local_ref<jni::JString> previousFamilyName = this->getFieldValue(fieldPreviousFamilyName);
|
|
62
|
+
static const auto fieldNameSuffix = clazz->getField<jni::JString>("nameSuffix");
|
|
63
|
+
jni::local_ref<jni::JString> nameSuffix = this->getFieldValue(fieldNameSuffix);
|
|
64
|
+
static const auto fieldNickname = clazz->getField<jni::JString>("nickname");
|
|
65
|
+
jni::local_ref<jni::JString> nickname = this->getFieldValue(fieldNickname);
|
|
66
|
+
static const auto fieldOrganizationName = clazz->getField<jni::JString>("organizationName");
|
|
67
|
+
jni::local_ref<jni::JString> organizationName = this->getFieldValue(fieldOrganizationName);
|
|
68
|
+
static const auto fieldDepartmentName = clazz->getField<jni::JString>("departmentName");
|
|
69
|
+
jni::local_ref<jni::JString> departmentName = this->getFieldValue(fieldDepartmentName);
|
|
70
|
+
static const auto fieldJobTitle = clazz->getField<jni::JString>("jobTitle");
|
|
71
|
+
jni::local_ref<jni::JString> jobTitle = this->getFieldValue(fieldJobTitle);
|
|
72
|
+
static const auto fieldPhoneticGivenName = clazz->getField<jni::JString>("phoneticGivenName");
|
|
73
|
+
jni::local_ref<jni::JString> phoneticGivenName = this->getFieldValue(fieldPhoneticGivenName);
|
|
74
|
+
static const auto fieldPhoneticMiddleName = clazz->getField<jni::JString>("phoneticMiddleName");
|
|
75
|
+
jni::local_ref<jni::JString> phoneticMiddleName = this->getFieldValue(fieldPhoneticMiddleName);
|
|
76
|
+
static const auto fieldPhoneticFamilyName = clazz->getField<jni::JString>("phoneticFamilyName");
|
|
77
|
+
jni::local_ref<jni::JString> phoneticFamilyName = this->getFieldValue(fieldPhoneticFamilyName);
|
|
78
|
+
static const auto fieldPhoneticOrganizationName = clazz->getField<jni::JString>("phoneticOrganizationName");
|
|
79
|
+
jni::local_ref<jni::JString> phoneticOrganizationName = this->getFieldValue(fieldPhoneticOrganizationName);
|
|
80
|
+
static const auto fieldNote = clazz->getField<jni::JString>("note");
|
|
81
|
+
jni::local_ref<jni::JString> note = this->getFieldValue(fieldNote);
|
|
82
|
+
static const auto fieldImageDataAvailable = clazz->getField<jni::JBoolean>("imageDataAvailable");
|
|
83
|
+
jni::local_ref<jni::JBoolean> imageDataAvailable = this->getFieldValue(fieldImageDataAvailable);
|
|
84
|
+
static const auto fieldPhoneNumbers = clazz->getField<jni::JArrayClass<JCNLabeledPhoneNumber>>("phoneNumbers");
|
|
85
|
+
jni::local_ref<jni::JArrayClass<JCNLabeledPhoneNumber>> phoneNumbers = this->getFieldValue(fieldPhoneNumbers);
|
|
86
|
+
static const auto fieldEmailAddresses = clazz->getField<jni::JArrayClass<JCNLabeledEmailAddress>>("emailAddresses");
|
|
87
|
+
jni::local_ref<jni::JArrayClass<JCNLabeledEmailAddress>> emailAddresses = this->getFieldValue(fieldEmailAddresses);
|
|
88
|
+
static const auto fieldPostalAddresses = clazz->getField<jni::JArrayClass<JCNLabeledPostalAddress>>("postalAddresses");
|
|
89
|
+
jni::local_ref<jni::JArrayClass<JCNLabeledPostalAddress>> postalAddresses = this->getFieldValue(fieldPostalAddresses);
|
|
90
|
+
return CNContact(
|
|
91
|
+
identifier->toStdString(),
|
|
92
|
+
contactType->toCpp(),
|
|
93
|
+
namePrefix->toStdString(),
|
|
94
|
+
givenName->toStdString(),
|
|
95
|
+
middleName->toStdString(),
|
|
96
|
+
familyName->toStdString(),
|
|
97
|
+
previousFamilyName->toStdString(),
|
|
98
|
+
nameSuffix->toStdString(),
|
|
99
|
+
nickname->toStdString(),
|
|
100
|
+
organizationName->toStdString(),
|
|
101
|
+
departmentName->toStdString(),
|
|
102
|
+
jobTitle->toStdString(),
|
|
103
|
+
phoneticGivenName->toStdString(),
|
|
104
|
+
phoneticMiddleName->toStdString(),
|
|
105
|
+
phoneticFamilyName->toStdString(),
|
|
106
|
+
phoneticOrganizationName != nullptr ? std::make_optional(phoneticOrganizationName->toStdString()) : std::nullopt,
|
|
107
|
+
note->toStdString(),
|
|
108
|
+
imageDataAvailable != nullptr ? std::make_optional(static_cast<bool>(imageDataAvailable->value())) : std::nullopt,
|
|
109
|
+
[&]() {
|
|
110
|
+
size_t __size = phoneNumbers->size();
|
|
111
|
+
std::vector<CNLabeledPhoneNumber> __vector;
|
|
112
|
+
__vector.reserve(__size);
|
|
113
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
114
|
+
auto __element = phoneNumbers->getElement(__i);
|
|
115
|
+
__vector.push_back(__element->toCpp());
|
|
116
|
+
}
|
|
117
|
+
return __vector;
|
|
118
|
+
}(),
|
|
119
|
+
[&]() {
|
|
120
|
+
size_t __size = emailAddresses->size();
|
|
121
|
+
std::vector<CNLabeledEmailAddress> __vector;
|
|
122
|
+
__vector.reserve(__size);
|
|
123
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
124
|
+
auto __element = emailAddresses->getElement(__i);
|
|
125
|
+
__vector.push_back(__element->toCpp());
|
|
126
|
+
}
|
|
127
|
+
return __vector;
|
|
128
|
+
}(),
|
|
129
|
+
[&]() {
|
|
130
|
+
size_t __size = postalAddresses->size();
|
|
131
|
+
std::vector<CNLabeledPostalAddress> __vector;
|
|
132
|
+
__vector.reserve(__size);
|
|
133
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
134
|
+
auto __element = postalAddresses->getElement(__i);
|
|
135
|
+
__vector.push_back(__element->toCpp());
|
|
136
|
+
}
|
|
137
|
+
return __vector;
|
|
138
|
+
}()
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
public:
|
|
143
|
+
/**
|
|
144
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
145
|
+
*/
|
|
146
|
+
[[maybe_unused]]
|
|
147
|
+
static jni::local_ref<JCNContact::javaobject> fromCpp(const CNContact& value) {
|
|
148
|
+
using JSignature = JCNContact(jni::alias_ref<jni::JString>, jni::alias_ref<JCNContactType>, 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>, 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>, 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>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JArrayClass<JCNLabeledPhoneNumber>>, jni::alias_ref<jni::JArrayClass<JCNLabeledEmailAddress>>, jni::alias_ref<jni::JArrayClass<JCNLabeledPostalAddress>>);
|
|
149
|
+
static const auto clazz = javaClassStatic();
|
|
150
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
151
|
+
return create(
|
|
152
|
+
clazz,
|
|
153
|
+
jni::make_jstring(value.identifier),
|
|
154
|
+
JCNContactType::fromCpp(value.contactType),
|
|
155
|
+
jni::make_jstring(value.namePrefix),
|
|
156
|
+
jni::make_jstring(value.givenName),
|
|
157
|
+
jni::make_jstring(value.middleName),
|
|
158
|
+
jni::make_jstring(value.familyName),
|
|
159
|
+
jni::make_jstring(value.previousFamilyName),
|
|
160
|
+
jni::make_jstring(value.nameSuffix),
|
|
161
|
+
jni::make_jstring(value.nickname),
|
|
162
|
+
jni::make_jstring(value.organizationName),
|
|
163
|
+
jni::make_jstring(value.departmentName),
|
|
164
|
+
jni::make_jstring(value.jobTitle),
|
|
165
|
+
jni::make_jstring(value.phoneticGivenName),
|
|
166
|
+
jni::make_jstring(value.phoneticMiddleName),
|
|
167
|
+
jni::make_jstring(value.phoneticFamilyName),
|
|
168
|
+
value.phoneticOrganizationName.has_value() ? jni::make_jstring(value.phoneticOrganizationName.value()) : nullptr,
|
|
169
|
+
jni::make_jstring(value.note),
|
|
170
|
+
value.imageDataAvailable.has_value() ? jni::JBoolean::valueOf(value.imageDataAvailable.value()) : nullptr,
|
|
171
|
+
[&]() {
|
|
172
|
+
size_t __size = value.phoneNumbers.size();
|
|
173
|
+
jni::local_ref<jni::JArrayClass<JCNLabeledPhoneNumber>> __array = jni::JArrayClass<JCNLabeledPhoneNumber>::newArray(__size);
|
|
174
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
175
|
+
const auto& __element = value.phoneNumbers[__i];
|
|
176
|
+
__array->setElement(__i, *JCNLabeledPhoneNumber::fromCpp(__element));
|
|
177
|
+
}
|
|
178
|
+
return __array;
|
|
179
|
+
}(),
|
|
180
|
+
[&]() {
|
|
181
|
+
size_t __size = value.emailAddresses.size();
|
|
182
|
+
jni::local_ref<jni::JArrayClass<JCNLabeledEmailAddress>> __array = jni::JArrayClass<JCNLabeledEmailAddress>::newArray(__size);
|
|
183
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
184
|
+
const auto& __element = value.emailAddresses[__i];
|
|
185
|
+
__array->setElement(__i, *JCNLabeledEmailAddress::fromCpp(__element));
|
|
186
|
+
}
|
|
187
|
+
return __array;
|
|
188
|
+
}(),
|
|
189
|
+
[&]() {
|
|
190
|
+
size_t __size = value.postalAddresses.size();
|
|
191
|
+
jni::local_ref<jni::JArrayClass<JCNLabeledPostalAddress>> __array = jni::JArrayClass<JCNLabeledPostalAddress>::newArray(__size);
|
|
192
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
193
|
+
const auto& __element = value.postalAddresses[__i];
|
|
194
|
+
__array->setElement(__i, *JCNLabeledPostalAddress::fromCpp(__element));
|
|
195
|
+
}
|
|
196
|
+
return __array;
|
|
197
|
+
}()
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JCNContactType.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 "CNContactType.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::pay {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "CNContactType" and the the Kotlin enum "CNContactType".
|
|
19
|
+
*/
|
|
20
|
+
struct JCNContactType final: public jni::JavaClass<JCNContactType> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/CNContactType;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum CNContactType.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
CNContactType 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<CNContactType>(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<JCNContactType> fromCpp(CNContactType value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldPERSON = clazz->getStaticField<JCNContactType>("PERSON");
|
|
45
|
+
static const auto fieldORGANIZATION = clazz->getStaticField<JCNContactType>("ORGANIZATION");
|
|
46
|
+
|
|
47
|
+
switch (value) {
|
|
48
|
+
case CNContactType::PERSON:
|
|
49
|
+
return clazz->getStaticFieldValue(fieldPERSON);
|
|
50
|
+
case CNContactType::ORGANIZATION:
|
|
51
|
+
return clazz->getStaticFieldValue(fieldORGANIZATION);
|
|
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,62 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JCNLabeledEmailAddress.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 "CNLabeledEmailAddress.hpp"
|
|
12
|
+
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::pay {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The C++ JNI bridge between the C++ struct "CNLabeledEmailAddress" and the the Kotlin data class "CNLabeledEmailAddress".
|
|
22
|
+
*/
|
|
23
|
+
struct JCNLabeledEmailAddress final: public jni::JavaClass<JCNLabeledEmailAddress> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/CNLabeledEmailAddress;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Convert this Java/Kotlin-based struct to the C++ struct CNLabeledEmailAddress by copying all values to C++.
|
|
30
|
+
*/
|
|
31
|
+
[[maybe_unused]]
|
|
32
|
+
[[nodiscard]]
|
|
33
|
+
CNLabeledEmailAddress toCpp() const {
|
|
34
|
+
static const auto clazz = javaClassStatic();
|
|
35
|
+
static const auto fieldLabel = clazz->getField<jni::JString>("label");
|
|
36
|
+
jni::local_ref<jni::JString> label = this->getFieldValue(fieldLabel);
|
|
37
|
+
static const auto fieldValue = clazz->getField<jni::JString>("value");
|
|
38
|
+
jni::local_ref<jni::JString> value = this->getFieldValue(fieldValue);
|
|
39
|
+
return CNLabeledEmailAddress(
|
|
40
|
+
label != nullptr ? std::make_optional(label->toStdString()) : std::nullopt,
|
|
41
|
+
value->toStdString()
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public:
|
|
46
|
+
/**
|
|
47
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
48
|
+
*/
|
|
49
|
+
[[maybe_unused]]
|
|
50
|
+
static jni::local_ref<JCNLabeledEmailAddress::javaobject> fromCpp(const CNLabeledEmailAddress& value) {
|
|
51
|
+
using JSignature = JCNLabeledEmailAddress(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
|
|
52
|
+
static const auto clazz = javaClassStatic();
|
|
53
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
54
|
+
return create(
|
|
55
|
+
clazz,
|
|
56
|
+
value.label.has_value() ? jni::make_jstring(value.label.value()) : nullptr,
|
|
57
|
+
jni::make_jstring(value.value)
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JCNLabeledPhoneNumber.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 "CNLabeledPhoneNumber.hpp"
|
|
12
|
+
|
|
13
|
+
#include "CNPhoneNumber.hpp"
|
|
14
|
+
#include "JCNPhoneNumber.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 "CNLabeledPhoneNumber" and the the Kotlin data class "CNLabeledPhoneNumber".
|
|
24
|
+
*/
|
|
25
|
+
struct JCNLabeledPhoneNumber final: public jni::JavaClass<JCNLabeledPhoneNumber> {
|
|
26
|
+
public:
|
|
27
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/CNLabeledPhoneNumber;";
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
/**
|
|
31
|
+
* Convert this Java/Kotlin-based struct to the C++ struct CNLabeledPhoneNumber by copying all values to C++.
|
|
32
|
+
*/
|
|
33
|
+
[[maybe_unused]]
|
|
34
|
+
[[nodiscard]]
|
|
35
|
+
CNLabeledPhoneNumber toCpp() const {
|
|
36
|
+
static const auto clazz = javaClassStatic();
|
|
37
|
+
static const auto fieldLabel = clazz->getField<jni::JString>("label");
|
|
38
|
+
jni::local_ref<jni::JString> label = this->getFieldValue(fieldLabel);
|
|
39
|
+
static const auto fieldValue = clazz->getField<JCNPhoneNumber>("value");
|
|
40
|
+
jni::local_ref<JCNPhoneNumber> value = this->getFieldValue(fieldValue);
|
|
41
|
+
return CNLabeledPhoneNumber(
|
|
42
|
+
label != nullptr ? std::make_optional(label->toStdString()) : std::nullopt,
|
|
43
|
+
value->toCpp()
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
/**
|
|
49
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
50
|
+
*/
|
|
51
|
+
[[maybe_unused]]
|
|
52
|
+
static jni::local_ref<JCNLabeledPhoneNumber::javaobject> fromCpp(const CNLabeledPhoneNumber& value) {
|
|
53
|
+
using JSignature = JCNLabeledPhoneNumber(jni::alias_ref<jni::JString>, jni::alias_ref<JCNPhoneNumber>);
|
|
54
|
+
static const auto clazz = javaClassStatic();
|
|
55
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
56
|
+
return create(
|
|
57
|
+
clazz,
|
|
58
|
+
value.label.has_value() ? jni::make_jstring(value.label.value()) : nullptr,
|
|
59
|
+
JCNPhoneNumber::fromCpp(value.value)
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JCNLabeledPostalAddress.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 "CNLabeledPostalAddress.hpp"
|
|
12
|
+
|
|
13
|
+
#include "CNPostalAddress.hpp"
|
|
14
|
+
#include "JCNPostalAddress.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 "CNLabeledPostalAddress" and the the Kotlin data class "CNLabeledPostalAddress".
|
|
24
|
+
*/
|
|
25
|
+
struct JCNLabeledPostalAddress final: public jni::JavaClass<JCNLabeledPostalAddress> {
|
|
26
|
+
public:
|
|
27
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/CNLabeledPostalAddress;";
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
/**
|
|
31
|
+
* Convert this Java/Kotlin-based struct to the C++ struct CNLabeledPostalAddress by copying all values to C++.
|
|
32
|
+
*/
|
|
33
|
+
[[maybe_unused]]
|
|
34
|
+
[[nodiscard]]
|
|
35
|
+
CNLabeledPostalAddress toCpp() const {
|
|
36
|
+
static const auto clazz = javaClassStatic();
|
|
37
|
+
static const auto fieldLabel = clazz->getField<jni::JString>("label");
|
|
38
|
+
jni::local_ref<jni::JString> label = this->getFieldValue(fieldLabel);
|
|
39
|
+
static const auto fieldValue = clazz->getField<JCNPostalAddress>("value");
|
|
40
|
+
jni::local_ref<JCNPostalAddress> value = this->getFieldValue(fieldValue);
|
|
41
|
+
return CNLabeledPostalAddress(
|
|
42
|
+
label != nullptr ? std::make_optional(label->toStdString()) : std::nullopt,
|
|
43
|
+
value->toCpp()
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
/**
|
|
49
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
50
|
+
*/
|
|
51
|
+
[[maybe_unused]]
|
|
52
|
+
static jni::local_ref<JCNLabeledPostalAddress::javaobject> fromCpp(const CNLabeledPostalAddress& value) {
|
|
53
|
+
using JSignature = JCNLabeledPostalAddress(jni::alias_ref<jni::JString>, jni::alias_ref<JCNPostalAddress>);
|
|
54
|
+
static const auto clazz = javaClassStatic();
|
|
55
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
56
|
+
return create(
|
|
57
|
+
clazz,
|
|
58
|
+
value.label.has_value() ? jni::make_jstring(value.label.value()) : nullptr,
|
|
59
|
+
JCNPostalAddress::fromCpp(value.value)
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JCNPhoneNumber.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 "CNPhoneNumber.hpp"
|
|
12
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::pay {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "CNPhoneNumber" and the the Kotlin data class "CNPhoneNumber".
|
|
21
|
+
*/
|
|
22
|
+
struct JCNPhoneNumber final: public jni::JavaClass<JCNPhoneNumber> {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/CNPhoneNumber;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct CNPhoneNumber by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
CNPhoneNumber toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldStringValue = clazz->getField<jni::JString>("stringValue");
|
|
35
|
+
jni::local_ref<jni::JString> stringValue = this->getFieldValue(fieldStringValue);
|
|
36
|
+
return CNPhoneNumber(
|
|
37
|
+
stringValue->toStdString()
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public:
|
|
42
|
+
/**
|
|
43
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
44
|
+
*/
|
|
45
|
+
[[maybe_unused]]
|
|
46
|
+
static jni::local_ref<JCNPhoneNumber::javaobject> fromCpp(const CNPhoneNumber& value) {
|
|
47
|
+
using JSignature = JCNPhoneNumber(jni::alias_ref<jni::JString>);
|
|
48
|
+
static const auto clazz = javaClassStatic();
|
|
49
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
50
|
+
return create(
|
|
51
|
+
clazz,
|
|
52
|
+
jni::make_jstring(value.stringValue)
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JCNPostalAddress.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 "CNPostalAddress.hpp"
|
|
12
|
+
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::pay {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The C++ JNI bridge between the C++ struct "CNPostalAddress" and the the Kotlin data class "CNPostalAddress".
|
|
22
|
+
*/
|
|
23
|
+
struct JCNPostalAddress final: public jni::JavaClass<JCNPostalAddress> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/CNPostalAddress;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Convert this Java/Kotlin-based struct to the C++ struct CNPostalAddress by copying all values to C++.
|
|
30
|
+
*/
|
|
31
|
+
[[maybe_unused]]
|
|
32
|
+
[[nodiscard]]
|
|
33
|
+
CNPostalAddress toCpp() const {
|
|
34
|
+
static const auto clazz = javaClassStatic();
|
|
35
|
+
static const auto fieldStreet = clazz->getField<jni::JString>("street");
|
|
36
|
+
jni::local_ref<jni::JString> street = this->getFieldValue(fieldStreet);
|
|
37
|
+
static const auto fieldCity = clazz->getField<jni::JString>("city");
|
|
38
|
+
jni::local_ref<jni::JString> city = this->getFieldValue(fieldCity);
|
|
39
|
+
static const auto fieldState = clazz->getField<jni::JString>("state");
|
|
40
|
+
jni::local_ref<jni::JString> state = this->getFieldValue(fieldState);
|
|
41
|
+
static const auto fieldPostalCode = clazz->getField<jni::JString>("postalCode");
|
|
42
|
+
jni::local_ref<jni::JString> postalCode = this->getFieldValue(fieldPostalCode);
|
|
43
|
+
static const auto fieldCountry = clazz->getField<jni::JString>("country");
|
|
44
|
+
jni::local_ref<jni::JString> country = this->getFieldValue(fieldCountry);
|
|
45
|
+
static const auto fieldIsoCountryCode = clazz->getField<jni::JString>("isoCountryCode");
|
|
46
|
+
jni::local_ref<jni::JString> isoCountryCode = this->getFieldValue(fieldIsoCountryCode);
|
|
47
|
+
return CNPostalAddress(
|
|
48
|
+
street != nullptr ? std::make_optional(street->toStdString()) : std::nullopt,
|
|
49
|
+
city != nullptr ? std::make_optional(city->toStdString()) : std::nullopt,
|
|
50
|
+
state != nullptr ? std::make_optional(state->toStdString()) : std::nullopt,
|
|
51
|
+
postalCode != nullptr ? std::make_optional(postalCode->toStdString()) : std::nullopt,
|
|
52
|
+
country != nullptr ? std::make_optional(country->toStdString()) : std::nullopt,
|
|
53
|
+
isoCountryCode != nullptr ? std::make_optional(isoCountryCode->toStdString()) : std::nullopt
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public:
|
|
58
|
+
/**
|
|
59
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
60
|
+
*/
|
|
61
|
+
[[maybe_unused]]
|
|
62
|
+
static jni::local_ref<JCNPostalAddress::javaobject> fromCpp(const CNPostalAddress& value) {
|
|
63
|
+
using JSignature = JCNPostalAddress(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>, jni::alias_ref<jni::JString>);
|
|
64
|
+
static const auto clazz = javaClassStatic();
|
|
65
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
66
|
+
return create(
|
|
67
|
+
clazz,
|
|
68
|
+
value.street.has_value() ? jni::make_jstring(value.street.value()) : nullptr,
|
|
69
|
+
value.city.has_value() ? jni::make_jstring(value.city.value()) : nullptr,
|
|
70
|
+
value.state.has_value() ? jni::make_jstring(value.state.value()) : nullptr,
|
|
71
|
+
value.postalCode.has_value() ? jni::make_jstring(value.postalCode.value()) : nullptr,
|
|
72
|
+
value.country.has_value() ? jni::make_jstring(value.country.value()) : nullptr,
|
|
73
|
+
value.isoCountryCode.has_value() ? jni::make_jstring(value.isoCountryCode.value()) : nullptr
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
} // namespace margelo::nitro::pay
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JFunc_void.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 <functional>
|
|
12
|
+
|
|
13
|
+
#include <functional>
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::pay {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Represents the Java/Kotlin callback `() -> Unit`.
|
|
21
|
+
* This can be passed around between C++ and Java/Kotlin.
|
|
22
|
+
*/
|
|
23
|
+
struct JFunc_void: public jni::JavaClass<JFunc_void> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/Func_void;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Invokes the function this `JFunc_void` instance holds through JNI.
|
|
30
|
+
*/
|
|
31
|
+
void invoke() const {
|
|
32
|
+
static const auto method = javaClassStatic()->getMethod<void()>("invoke");
|
|
33
|
+
method(self());
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* An implementation of Func_void that is backed by a C++ implementation (using `std::function<...>`)
|
|
39
|
+
*/
|
|
40
|
+
struct JFunc_void_cxx final: public jni::HybridClass<JFunc_void_cxx, JFunc_void> {
|
|
41
|
+
public:
|
|
42
|
+
static jni::local_ref<JFunc_void::javaobject> fromCpp(const std::function<void()>& func) {
|
|
43
|
+
return JFunc_void_cxx::newObjectCxxArgs(func);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
/**
|
|
48
|
+
* Invokes the C++ `std::function<...>` this `JFunc_void_cxx` instance holds.
|
|
49
|
+
*/
|
|
50
|
+
void invoke_cxx() {
|
|
51
|
+
_func();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
[[nodiscard]]
|
|
56
|
+
inline const std::function<void()>& getFunction() const {
|
|
57
|
+
return _func;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
public:
|
|
61
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/pay/Func_void_cxx;";
|
|
62
|
+
static void registerNatives() {
|
|
63
|
+
registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_cxx::invoke_cxx)});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
private:
|
|
67
|
+
explicit JFunc_void_cxx(const std::function<void()>& func): _func(func) { }
|
|
68
|
+
|
|
69
|
+
private:
|
|
70
|
+
friend HybridBase;
|
|
71
|
+
std::function<void()> _func;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
} // namespace margelo::nitro::pay
|