react-native-email-imap-smtp 0.1.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 (201) hide show
  1. package/EmailImapSmtp.podspec +29 -0
  2. package/LICENSE +20 -0
  3. package/README.md +121 -0
  4. package/android/CMakeLists.txt +24 -0
  5. package/android/build.gradle +117 -0
  6. package/android/src/main/AndroidManifest.xml +3 -0
  7. package/android/src/main/cpp/cpp-adapter.cpp +11 -0
  8. package/android/src/main/java/com/margelo/nitro/emailimapsmtp/EmailImapSmtp.kt +1533 -0
  9. package/android/src/main/java/com/margelo/nitro/emailimapsmtp/EmailImapSmtpPackage.kt +22 -0
  10. package/ios/EmailImapSmtp.swift +5 -0
  11. package/lib/module/EmailImapSmtp.nitro.js +4 -0
  12. package/lib/module/EmailImapSmtp.nitro.js.map +1 -0
  13. package/lib/module/NativeEmailImapSmtp.js +14 -0
  14. package/lib/module/NativeEmailImapSmtp.js.map +1 -0
  15. package/lib/module/index.js +64 -0
  16. package/lib/module/index.js.map +1 -0
  17. package/lib/module/native.js +227 -0
  18. package/lib/module/native.js.map +1 -0
  19. package/lib/module/package.json +1 -0
  20. package/lib/module/types.js +2 -0
  21. package/lib/module/types.js.map +1 -0
  22. package/lib/module/web.js +107 -0
  23. package/lib/module/web.js.map +1 -0
  24. package/lib/module/windows.js +156 -0
  25. package/lib/module/windows.js.map +1 -0
  26. package/lib/typescript/package.json +1 -0
  27. package/lib/typescript/src/EmailImapSmtp.nitro.d.ts +268 -0
  28. package/lib/typescript/src/EmailImapSmtp.nitro.d.ts.map +1 -0
  29. package/lib/typescript/src/NativeEmailImapSmtp.d.ts +36 -0
  30. package/lib/typescript/src/NativeEmailImapSmtp.d.ts.map +1 -0
  31. package/lib/typescript/src/index.d.ts +33 -0
  32. package/lib/typescript/src/index.d.ts.map +1 -0
  33. package/lib/typescript/src/native.d.ts +32 -0
  34. package/lib/typescript/src/native.d.ts.map +1 -0
  35. package/lib/typescript/src/types.d.ts +261 -0
  36. package/lib/typescript/src/types.d.ts.map +1 -0
  37. package/lib/typescript/src/web.d.ts +32 -0
  38. package/lib/typescript/src/web.d.ts.map +1 -0
  39. package/lib/typescript/src/windows.d.ts +32 -0
  40. package/lib/typescript/src/windows.d.ts.map +1 -0
  41. package/nitro.json +23 -0
  42. package/nitrogen/generated/android/c++/JAppendResult.hpp +65 -0
  43. package/nitrogen/generated/android/c++/JAttachmentInfo.hpp +96 -0
  44. package/nitrogen/generated/android/c++/JConnectionConfig.hpp +94 -0
  45. package/nitrogen/generated/android/c++/JConnectionResult.hpp +73 -0
  46. package/nitrogen/generated/android/c++/JDeleteResult.hpp +87 -0
  47. package/nitrogen/generated/android/c++/JEmailAddress.hpp +61 -0
  48. package/nitrogen/generated/android/c++/JEmailBody.hpp +84 -0
  49. package/nitrogen/generated/android/c++/JEmailMessage.hpp +273 -0
  50. package/nitrogen/generated/android/c++/JFetchEmailsOptions.hpp +110 -0
  51. package/nitrogen/generated/android/c++/JFolderInfo.hpp +126 -0
  52. package/nitrogen/generated/android/c++/JFunc_void_IdleNotification.hpp +79 -0
  53. package/nitrogen/generated/android/c++/JHybridEmailImapSmtpSpec.cpp +697 -0
  54. package/nitrogen/generated/android/c++/JHybridEmailImapSmtpSpec.hpp +92 -0
  55. package/nitrogen/generated/android/c++/JIdleNotification.hpp +78 -0
  56. package/nitrogen/generated/android/c++/JImapServerInfo.hpp +84 -0
  57. package/nitrogen/generated/android/c++/JMailboxInfo.hpp +134 -0
  58. package/nitrogen/generated/android/c++/JMailboxListItem.hpp +92 -0
  59. package/nitrogen/generated/android/c++/JQuotaInfo.hpp +78 -0
  60. package/nitrogen/generated/android/c++/JSearchCriteria.hpp +187 -0
  61. package/nitrogen/generated/android/c++/JSearchHeader.hpp +61 -0
  62. package/nitrogen/generated/android/c++/JSendMailOptions.hpp +229 -0
  63. package/nitrogen/generated/android/c++/JSendMailResult.hpp +88 -0
  64. package/nitrogen/generated/android/c++/JSmtpAttachment.hpp +80 -0
  65. package/nitrogen/generated/android/c++/JSmtpConnectionConfig.hpp +98 -0
  66. package/nitrogen/generated/android/c++/JSmtpServerInfo.hpp +102 -0
  67. package/nitrogen/generated/android/c++/JVariant_ImapServerInfo_SmtpServerInfo.cpp +26 -0
  68. package/nitrogen/generated/android/c++/JVariant_ImapServerInfo_SmtpServerInfo.hpp +73 -0
  69. package/nitrogen/generated/android/c++/JVariant_NullType_AttachmentInfo.cpp +26 -0
  70. package/nitrogen/generated/android/c++/JVariant_NullType_AttachmentInfo.hpp +75 -0
  71. package/nitrogen/generated/android/c++/JVariant_NullType_EmailMessage.cpp +26 -0
  72. package/nitrogen/generated/android/c++/JVariant_NullType_EmailMessage.hpp +83 -0
  73. package/nitrogen/generated/android/emailimapsmtp+autolinking.cmake +84 -0
  74. package/nitrogen/generated/android/emailimapsmtp+autolinking.gradle +27 -0
  75. package/nitrogen/generated/android/emailimapsmtpOnLoad.cpp +56 -0
  76. package/nitrogen/generated/android/emailimapsmtpOnLoad.hpp +34 -0
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/AppendResult.kt +61 -0
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/AttachmentInfo.kt +96 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ConnectionConfig.kt +96 -0
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ConnectionResult.kt +61 -0
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/DeleteResult.kt +61 -0
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailAddress.kt +56 -0
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailBody.kt +61 -0
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailMessage.kt +156 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/FetchEmailsOptions.kt +116 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/FolderInfo.kt +91 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Func_void_IdleNotification.kt +80 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/HybridEmailImapSmtpSpec.kt +178 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/IdleNotification.kt +76 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ImapServerInfo.kt +61 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/MailboxInfo.kt +101 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/MailboxListItem.kt +71 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/QuotaInfo.kt +76 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SearchCriteria.kt +196 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SearchHeader.kt +56 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SendMailOptions.kt +126 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SendMailResult.kt +86 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpAttachment.kt +76 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpConnectionConfig.kt +101 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpServerInfo.kt +61 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_ImapServerInfo_SmtpServerInfo.kt +62 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_NullType_AttachmentInfo.kt +62 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_NullType_EmailMessage.kt +62 -0
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/emailimapsmtpOnLoad.kt +35 -0
  105. package/nitrogen/generated/ios/EmailImapSmtp+autolinking.rb +62 -0
  106. package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Bridge.cpp +161 -0
  107. package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Bridge.hpp +1132 -0
  108. package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Umbrella.hpp +118 -0
  109. package/nitrogen/generated/ios/EmailImapSmtpAutolinking.mm +33 -0
  110. package/nitrogen/generated/ios/EmailImapSmtpAutolinking.swift +26 -0
  111. package/nitrogen/generated/ios/c++/HybridEmailImapSmtpSpecSwift.cpp +11 -0
  112. package/nitrogen/generated/ios/c++/HybridEmailImapSmtpSpecSwift.hpp +390 -0
  113. package/nitrogen/generated/ios/swift/AppendResult.swift +39 -0
  114. package/nitrogen/generated/ios/swift/AttachmentInfo.swift +113 -0
  115. package/nitrogen/generated/ios/swift/ConnectionConfig.swift +87 -0
  116. package/nitrogen/generated/ios/swift/ConnectionResult.swift +84 -0
  117. package/nitrogen/generated/ios/swift/DeleteResult.swift +64 -0
  118. package/nitrogen/generated/ios/swift/EmailAddress.swift +34 -0
  119. package/nitrogen/generated/ios/swift/EmailBody.swift +45 -0
  120. package/nitrogen/generated/ios/swift/EmailMessage.swift +184 -0
  121. package/nitrogen/generated/ios/swift/FetchEmailsOptions.swift +198 -0
  122. package/nitrogen/generated/ios/swift/FolderInfo.swift +81 -0
  123. package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
  124. package/nitrogen/generated/ios/swift/Func_void_AppendResult.swift +46 -0
  125. package/nitrogen/generated/ios/swift/Func_void_ConnectionResult.swift +46 -0
  126. package/nitrogen/generated/ios/swift/Func_void_DeleteResult.swift +46 -0
  127. package/nitrogen/generated/ios/swift/Func_void_IdleNotification.swift +46 -0
  128. package/nitrogen/generated/ios/swift/Func_void_MailboxInfo.swift +46 -0
  129. package/nitrogen/generated/ios/swift/Func_void_QuotaInfo.swift +46 -0
  130. package/nitrogen/generated/ios/swift/Func_void_SendMailResult.swift +46 -0
  131. package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
  132. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  133. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__AttachmentInfo_.swift +58 -0
  134. package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__EmailMessage_.swift +58 -0
  135. package/nitrogen/generated/ios/swift/Func_void_std__vector_AttachmentInfo_.swift +46 -0
  136. package/nitrogen/generated/ios/swift/Func_void_std__vector_EmailMessage_.swift +46 -0
  137. package/nitrogen/generated/ios/swift/Func_void_std__vector_FolderInfo_.swift +46 -0
  138. package/nitrogen/generated/ios/swift/Func_void_std__vector_MailboxListItem_.swift +46 -0
  139. package/nitrogen/generated/ios/swift/HybridEmailImapSmtpSpec.swift +84 -0
  140. package/nitrogen/generated/ios/swift/HybridEmailImapSmtpSpec_cxx.swift +759 -0
  141. package/nitrogen/generated/ios/swift/IdleNotification.swift +93 -0
  142. package/nitrogen/generated/ios/swift/ImapServerInfo.swift +45 -0
  143. package/nitrogen/generated/ios/swift/MailboxInfo.swift +91 -0
  144. package/nitrogen/generated/ios/swift/MailboxListItem.swift +55 -0
  145. package/nitrogen/generated/ios/swift/QuotaInfo.swift +80 -0
  146. package/nitrogen/generated/ios/swift/SearchCriteria.swift +485 -0
  147. package/nitrogen/generated/ios/swift/SearchHeader.swift +34 -0
  148. package/nitrogen/generated/ios/swift/SendMailOptions.swift +310 -0
  149. package/nitrogen/generated/ios/swift/SendMailResult.swift +155 -0
  150. package/nitrogen/generated/ios/swift/SmtpAttachment.swift +80 -0
  151. package/nitrogen/generated/ios/swift/SmtpConnectionConfig.swift +105 -0
  152. package/nitrogen/generated/ios/swift/SmtpServerInfo.swift +51 -0
  153. package/nitrogen/generated/ios/swift/Variant_ImapServerInfo_SmtpServerInfo.swift +30 -0
  154. package/nitrogen/generated/ios/swift/Variant_NullType_AttachmentInfo.swift +30 -0
  155. package/nitrogen/generated/ios/swift/Variant_NullType_EmailMessage.swift +30 -0
  156. package/nitrogen/generated/shared/c++/AppendResult.hpp +91 -0
  157. package/nitrogen/generated/shared/c++/AttachmentInfo.hpp +121 -0
  158. package/nitrogen/generated/shared/c++/ConnectionConfig.hpp +120 -0
  159. package/nitrogen/generated/shared/c++/ConnectionResult.hpp +98 -0
  160. package/nitrogen/generated/shared/c++/DeleteResult.hpp +93 -0
  161. package/nitrogen/generated/shared/c++/EmailAddress.hpp +87 -0
  162. package/nitrogen/generated/shared/c++/EmailBody.hpp +92 -0
  163. package/nitrogen/generated/shared/c++/EmailMessage.hpp +177 -0
  164. package/nitrogen/generated/shared/c++/FetchEmailsOptions.hpp +136 -0
  165. package/nitrogen/generated/shared/c++/FolderInfo.hpp +116 -0
  166. package/nitrogen/generated/shared/c++/HybridEmailImapSmtpSpec.cpp +50 -0
  167. package/nitrogen/generated/shared/c++/HybridEmailImapSmtpSpec.hpp +145 -0
  168. package/nitrogen/generated/shared/c++/IdleNotification.hpp +104 -0
  169. package/nitrogen/generated/shared/c++/ImapServerInfo.hpp +92 -0
  170. package/nitrogen/generated/shared/c++/MailboxInfo.hpp +124 -0
  171. package/nitrogen/generated/shared/c++/MailboxListItem.hpp +100 -0
  172. package/nitrogen/generated/shared/c++/QuotaInfo.hpp +104 -0
  173. package/nitrogen/generated/shared/c++/SearchCriteria.hpp +203 -0
  174. package/nitrogen/generated/shared/c++/SearchHeader.hpp +87 -0
  175. package/nitrogen/generated/shared/c++/SendMailOptions.hpp +151 -0
  176. package/nitrogen/generated/shared/c++/SendMailResult.hpp +113 -0
  177. package/nitrogen/generated/shared/c++/SmtpAttachment.hpp +105 -0
  178. package/nitrogen/generated/shared/c++/SmtpConnectionConfig.hpp +124 -0
  179. package/nitrogen/generated/shared/c++/SmtpServerInfo.hpp +92 -0
  180. package/package.json +196 -0
  181. package/react-native.config.js +27 -0
  182. package/src/EmailImapSmtp.nitro.ts +333 -0
  183. package/src/NativeEmailImapSmtp.ts +100 -0
  184. package/src/index.tsx +166 -0
  185. package/src/native.ts +305 -0
  186. package/src/types.ts +328 -0
  187. package/src/web.ts +196 -0
  188. package/src/windows.ts +304 -0
  189. package/windows/EmailImapSmtp.cpp +735 -0
  190. package/windows/EmailImapSmtp.h +137 -0
  191. package/windows/EmailImapSmtpModule.cpp +10 -0
  192. package/windows/EmailImapSmtpModule.h +139 -0
  193. package/windows/EmailImapSmtpPackage.cpp +15 -0
  194. package/windows/EmailImapSmtpPackage.h +13 -0
  195. package/windows/ImapProtocol.cpp +1382 -0
  196. package/windows/ImapProtocol.h +97 -0
  197. package/windows/ProtocolDefs.h +300 -0
  198. package/windows/SmtpProtocol.cpp +334 -0
  199. package/windows/SmtpProtocol.h +36 -0
  200. package/windows/TlsSocket.cpp +818 -0
  201. package/windows/TlsSocket.h +87 -0
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// JConnectionResult.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 "ConnectionResult.hpp"
12
+
13
+ #include "ImapServerInfo.hpp"
14
+ #include "JImapServerInfo.hpp"
15
+ #include "JSmtpServerInfo.hpp"
16
+ #include "JVariant_ImapServerInfo_SmtpServerInfo.hpp"
17
+ #include "SmtpServerInfo.hpp"
18
+ #include <optional>
19
+ #include <string>
20
+ #include <variant>
21
+ #include <vector>
22
+
23
+ namespace margelo::nitro::emailimapsmtp {
24
+
25
+ using namespace facebook;
26
+
27
+ /**
28
+ * The C++ JNI bridge between the C++ struct "ConnectionResult" and the Kotlin data class "ConnectionResult".
29
+ */
30
+ struct JConnectionResult final: public jni::JavaClass<JConnectionResult> {
31
+ public:
32
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/emailimapsmtp/ConnectionResult;";
33
+
34
+ public:
35
+ /**
36
+ * Convert this Java/Kotlin-based struct to the C++ struct ConnectionResult by copying all values to C++.
37
+ */
38
+ [[maybe_unused]]
39
+ [[nodiscard]]
40
+ ConnectionResult toCpp() const {
41
+ static const auto clazz = javaClassStatic();
42
+ static const auto fieldSuccess = clazz->getField<jboolean>("success");
43
+ jboolean success = this->getFieldValue(fieldSuccess);
44
+ static const auto fieldServerInfo = clazz->getField<JVariant_ImapServerInfo_SmtpServerInfo>("serverInfo");
45
+ jni::local_ref<JVariant_ImapServerInfo_SmtpServerInfo> serverInfo = this->getFieldValue(fieldServerInfo);
46
+ static const auto fieldError = clazz->getField<jni::JString>("error");
47
+ jni::local_ref<jni::JString> error = this->getFieldValue(fieldError);
48
+ return ConnectionResult(
49
+ static_cast<bool>(success),
50
+ serverInfo != nullptr ? std::make_optional(serverInfo->toCpp()) : std::nullopt,
51
+ error != nullptr ? std::make_optional(error->toStdString()) : std::nullopt
52
+ );
53
+ }
54
+
55
+ public:
56
+ /**
57
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
58
+ */
59
+ [[maybe_unused]]
60
+ static jni::local_ref<JConnectionResult::javaobject> fromCpp(const ConnectionResult& value) {
61
+ using JSignature = JConnectionResult(jboolean, jni::alias_ref<JVariant_ImapServerInfo_SmtpServerInfo>, jni::alias_ref<jni::JString>);
62
+ static const auto clazz = javaClassStatic();
63
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
64
+ return create(
65
+ clazz,
66
+ value.success,
67
+ value.serverInfo.has_value() ? JVariant_ImapServerInfo_SmtpServerInfo::fromCpp(value.serverInfo.value()) : nullptr,
68
+ value.error.has_value() ? jni::make_jstring(value.error.value()) : nullptr
69
+ );
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro::emailimapsmtp
@@ -0,0 +1,87 @@
1
+ ///
2
+ /// JDeleteResult.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 "DeleteResult.hpp"
12
+
13
+ #include <optional>
14
+ #include <string>
15
+ #include <vector>
16
+
17
+ namespace margelo::nitro::emailimapsmtp {
18
+
19
+ using namespace facebook;
20
+
21
+ /**
22
+ * The C++ JNI bridge between the C++ struct "DeleteResult" and the Kotlin data class "DeleteResult".
23
+ */
24
+ struct JDeleteResult final: public jni::JavaClass<JDeleteResult> {
25
+ public:
26
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/emailimapsmtp/DeleteResult;";
27
+
28
+ public:
29
+ /**
30
+ * Convert this Java/Kotlin-based struct to the C++ struct DeleteResult by copying all values to C++.
31
+ */
32
+ [[maybe_unused]]
33
+ [[nodiscard]]
34
+ DeleteResult toCpp() const {
35
+ static const auto clazz = javaClassStatic();
36
+ static const auto fieldSuccess = clazz->getField<jni::JArrayDouble>("success");
37
+ jni::local_ref<jni::JArrayDouble> success = this->getFieldValue(fieldSuccess);
38
+ static const auto fieldFailed = clazz->getField<jni::JArrayDouble>("failed");
39
+ jni::local_ref<jni::JArrayDouble> failed = this->getFieldValue(fieldFailed);
40
+ static const auto fieldError = clazz->getField<jni::JString>("error");
41
+ jni::local_ref<jni::JString> error = this->getFieldValue(fieldError);
42
+ return DeleteResult(
43
+ [&]() {
44
+ size_t __size = success->size();
45
+ std::vector<double> __vector(__size);
46
+ success->getRegion(0, __size, __vector.data());
47
+ return __vector;
48
+ }(),
49
+ [&]() {
50
+ size_t __size = failed->size();
51
+ std::vector<double> __vector(__size);
52
+ failed->getRegion(0, __size, __vector.data());
53
+ return __vector;
54
+ }(),
55
+ error != nullptr ? std::make_optional(error->toStdString()) : std::nullopt
56
+ );
57
+ }
58
+
59
+ public:
60
+ /**
61
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
62
+ */
63
+ [[maybe_unused]]
64
+ static jni::local_ref<JDeleteResult::javaobject> fromCpp(const DeleteResult& value) {
65
+ using JSignature = JDeleteResult(jni::alias_ref<jni::JArrayDouble>, jni::alias_ref<jni::JArrayDouble>, jni::alias_ref<jni::JString>);
66
+ static const auto clazz = javaClassStatic();
67
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
68
+ return create(
69
+ clazz,
70
+ [&]() {
71
+ size_t __size = value.success.size();
72
+ jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
73
+ __array->setRegion(0, __size, value.success.data());
74
+ return __array;
75
+ }(),
76
+ [&]() {
77
+ size_t __size = value.failed.size();
78
+ jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
79
+ __array->setRegion(0, __size, value.failed.data());
80
+ return __array;
81
+ }(),
82
+ value.error.has_value() ? jni::make_jstring(value.error.value()) : nullptr
83
+ );
84
+ }
85
+ };
86
+
87
+ } // namespace margelo::nitro::emailimapsmtp
@@ -0,0 +1,61 @@
1
+ ///
2
+ /// JEmailAddress.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 "EmailAddress.hpp"
12
+
13
+ #include <string>
14
+
15
+ namespace margelo::nitro::emailimapsmtp {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "EmailAddress" and the Kotlin data class "EmailAddress".
21
+ */
22
+ struct JEmailAddress final: public jni::JavaClass<JEmailAddress> {
23
+ public:
24
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/emailimapsmtp/EmailAddress;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct EmailAddress by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ EmailAddress toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldName = clazz->getField<jni::JString>("name");
35
+ jni::local_ref<jni::JString> name = this->getFieldValue(fieldName);
36
+ static const auto fieldEmail = clazz->getField<jni::JString>("email");
37
+ jni::local_ref<jni::JString> email = this->getFieldValue(fieldEmail);
38
+ return EmailAddress(
39
+ name->toStdString(),
40
+ email->toStdString()
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<JEmailAddress::javaobject> fromCpp(const EmailAddress& value) {
50
+ using JSignature = JEmailAddress(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
51
+ static const auto clazz = javaClassStatic();
52
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
53
+ return create(
54
+ clazz,
55
+ jni::make_jstring(value.name),
56
+ jni::make_jstring(value.email)
57
+ );
58
+ }
59
+ };
60
+
61
+ } // namespace margelo::nitro::emailimapsmtp
@@ -0,0 +1,84 @@
1
+ ///
2
+ /// JEmailBody.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 "EmailBody.hpp"
12
+
13
+ #include <string>
14
+ #include <vector>
15
+
16
+ namespace margelo::nitro::emailimapsmtp {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ struct "EmailBody" and the Kotlin data class "EmailBody".
22
+ */
23
+ struct JEmailBody final: public jni::JavaClass<JEmailBody> {
24
+ public:
25
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/emailimapsmtp/EmailBody;";
26
+
27
+ public:
28
+ /**
29
+ * Convert this Java/Kotlin-based struct to the C++ struct EmailBody by copying all values to C++.
30
+ */
31
+ [[maybe_unused]]
32
+ [[nodiscard]]
33
+ EmailBody toCpp() const {
34
+ static const auto clazz = javaClassStatic();
35
+ static const auto fieldText = clazz->getField<jni::JString>("text");
36
+ jni::local_ref<jni::JString> text = this->getFieldValue(fieldText);
37
+ static const auto fieldHtml = clazz->getField<jni::JString>("html");
38
+ jni::local_ref<jni::JString> html = this->getFieldValue(fieldHtml);
39
+ static const auto fieldEmbeddedAttachments = clazz->getField<jni::JArrayClass<jni::JString>>("embeddedAttachments");
40
+ jni::local_ref<jni::JArrayClass<jni::JString>> embeddedAttachments = this->getFieldValue(fieldEmbeddedAttachments);
41
+ return EmailBody(
42
+ text->toStdString(),
43
+ html->toStdString(),
44
+ [&](auto&& __input) {
45
+ size_t __size = __input->size();
46
+ std::vector<std::string> __vector;
47
+ __vector.reserve(__size);
48
+ for (size_t __i = 0; __i < __size; __i++) {
49
+ auto __element = __input->getElement(__i);
50
+ __vector.push_back(__element->toStdString());
51
+ }
52
+ return __vector;
53
+ }(embeddedAttachments)
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<JEmailBody::javaobject> fromCpp(const EmailBody& value) {
63
+ using JSignature = JEmailBody(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JArrayClass<jni::JString>>);
64
+ static const auto clazz = javaClassStatic();
65
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
66
+ return create(
67
+ clazz,
68
+ jni::make_jstring(value.text),
69
+ jni::make_jstring(value.html),
70
+ [&](auto&& __input) {
71
+ size_t __size = __input.size();
72
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
73
+ for (size_t __i = 0; __i < __size; __i++) {
74
+ const auto& __element = __input[__i];
75
+ auto __elementJni = jni::make_jstring(__element);
76
+ __array->setElement(__i, *__elementJni);
77
+ }
78
+ return __array;
79
+ }(value.embeddedAttachments)
80
+ );
81
+ }
82
+ };
83
+
84
+ } // namespace margelo::nitro::emailimapsmtp
@@ -0,0 +1,273 @@
1
+ ///
2
+ /// JEmailMessage.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 "EmailMessage.hpp"
12
+
13
+ #include "AttachmentInfo.hpp"
14
+ #include "EmailAddress.hpp"
15
+ #include "EmailBody.hpp"
16
+ #include "JAttachmentInfo.hpp"
17
+ #include "JEmailAddress.hpp"
18
+ #include "JEmailBody.hpp"
19
+ #include <NitroModules/ArrayBuffer.hpp>
20
+ #include <NitroModules/JArrayBuffer.hpp>
21
+ #include <optional>
22
+ #include <string>
23
+ #include <unordered_map>
24
+ #include <vector>
25
+
26
+ namespace margelo::nitro::emailimapsmtp {
27
+
28
+ using namespace facebook;
29
+
30
+ /**
31
+ * The C++ JNI bridge between the C++ struct "EmailMessage" and the Kotlin data class "EmailMessage".
32
+ */
33
+ struct JEmailMessage final: public jni::JavaClass<JEmailMessage> {
34
+ public:
35
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/emailimapsmtp/EmailMessage;";
36
+
37
+ public:
38
+ /**
39
+ * Convert this Java/Kotlin-based struct to the C++ struct EmailMessage by copying all values to C++.
40
+ */
41
+ [[maybe_unused]]
42
+ [[nodiscard]]
43
+ EmailMessage toCpp() const {
44
+ static const auto clazz = javaClassStatic();
45
+ static const auto fieldUid = clazz->getField<double>("uid");
46
+ double uid = this->getFieldValue(fieldUid);
47
+ static const auto fieldSequenceNumber = clazz->getField<double>("sequenceNumber");
48
+ double sequenceNumber = this->getFieldValue(fieldSequenceNumber);
49
+ static const auto fieldSubject = clazz->getField<jni::JString>("subject");
50
+ jni::local_ref<jni::JString> subject = this->getFieldValue(fieldSubject);
51
+ static const auto fieldFrom = clazz->getField<JEmailAddress>("from");
52
+ jni::local_ref<JEmailAddress> from = this->getFieldValue(fieldFrom);
53
+ static const auto fieldTo = clazz->getField<jni::JArrayClass<JEmailAddress>>("to");
54
+ jni::local_ref<jni::JArrayClass<JEmailAddress>> to = this->getFieldValue(fieldTo);
55
+ static const auto fieldCc = clazz->getField<jni::JArrayClass<JEmailAddress>>("cc");
56
+ jni::local_ref<jni::JArrayClass<JEmailAddress>> cc = this->getFieldValue(fieldCc);
57
+ static const auto fieldBcc = clazz->getField<jni::JArrayClass<JEmailAddress>>("bcc");
58
+ jni::local_ref<jni::JArrayClass<JEmailAddress>> bcc = this->getFieldValue(fieldBcc);
59
+ static const auto fieldReplyTo = clazz->getField<jni::JArrayClass<JEmailAddress>>("replyTo");
60
+ jni::local_ref<jni::JArrayClass<JEmailAddress>> replyTo = this->getFieldValue(fieldReplyTo);
61
+ static const auto fieldDate = clazz->getField<jni::JString>("date");
62
+ jni::local_ref<jni::JString> date = this->getFieldValue(fieldDate);
63
+ static const auto fieldReceivedDate = clazz->getField<jni::JString>("receivedDate");
64
+ jni::local_ref<jni::JString> receivedDate = this->getFieldValue(fieldReceivedDate);
65
+ static const auto fieldBody = clazz->getField<JEmailBody>("body");
66
+ jni::local_ref<JEmailBody> body = this->getFieldValue(fieldBody);
67
+ static const auto fieldAttachments = clazz->getField<jni::JArrayClass<JAttachmentInfo>>("attachments");
68
+ jni::local_ref<jni::JArrayClass<JAttachmentInfo>> attachments = this->getFieldValue(fieldAttachments);
69
+ static const auto fieldFlags = clazz->getField<jni::JArrayClass<jni::JString>>("flags");
70
+ jni::local_ref<jni::JArrayClass<jni::JString>> flags = this->getFieldValue(fieldFlags);
71
+ static const auto fieldHeaders = clazz->getField<jni::JMap<jni::JString, jni::JString>>("headers");
72
+ jni::local_ref<jni::JMap<jni::JString, jni::JString>> headers = this->getFieldValue(fieldHeaders);
73
+ static const auto fieldSize = clazz->getField<double>("size");
74
+ double size = this->getFieldValue(fieldSize);
75
+ static const auto fieldMessageId = clazz->getField<jni::JString>("messageId");
76
+ jni::local_ref<jni::JString> messageId = this->getFieldValue(fieldMessageId);
77
+ static const auto fieldInReplyTo = clazz->getField<jni::JString>("inReplyTo");
78
+ jni::local_ref<jni::JString> inReplyTo = this->getFieldValue(fieldInReplyTo);
79
+ static const auto fieldReferences = clazz->getField<jni::JString>("references");
80
+ jni::local_ref<jni::JString> references = this->getFieldValue(fieldReferences);
81
+ static const auto fieldPriority = clazz->getField<jni::JString>("priority");
82
+ jni::local_ref<jni::JString> priority = this->getFieldValue(fieldPriority);
83
+ static const auto fieldIsEncrypted = clazz->getField<jboolean>("isEncrypted");
84
+ jboolean isEncrypted = this->getFieldValue(fieldIsEncrypted);
85
+ static const auto fieldMimeType = clazz->getField<jni::JString>("mimeType");
86
+ jni::local_ref<jni::JString> mimeType = this->getFieldValue(fieldMimeType);
87
+ static const auto fieldCharset = clazz->getField<jni::JString>("charset");
88
+ jni::local_ref<jni::JString> charset = this->getFieldValue(fieldCharset);
89
+ return EmailMessage(
90
+ uid,
91
+ sequenceNumber,
92
+ subject->toStdString(),
93
+ from->toCpp(),
94
+ [&](auto&& __input) {
95
+ size_t __size = __input->size();
96
+ std::vector<EmailAddress> __vector;
97
+ __vector.reserve(__size);
98
+ for (size_t __i = 0; __i < __size; __i++) {
99
+ auto __element = __input->getElement(__i);
100
+ __vector.push_back(__element->toCpp());
101
+ }
102
+ return __vector;
103
+ }(to),
104
+ [&](auto&& __input) {
105
+ size_t __size = __input->size();
106
+ std::vector<EmailAddress> __vector;
107
+ __vector.reserve(__size);
108
+ for (size_t __i = 0; __i < __size; __i++) {
109
+ auto __element = __input->getElement(__i);
110
+ __vector.push_back(__element->toCpp());
111
+ }
112
+ return __vector;
113
+ }(cc),
114
+ [&](auto&& __input) {
115
+ size_t __size = __input->size();
116
+ std::vector<EmailAddress> __vector;
117
+ __vector.reserve(__size);
118
+ for (size_t __i = 0; __i < __size; __i++) {
119
+ auto __element = __input->getElement(__i);
120
+ __vector.push_back(__element->toCpp());
121
+ }
122
+ return __vector;
123
+ }(bcc),
124
+ [&](auto&& __input) {
125
+ size_t __size = __input->size();
126
+ std::vector<EmailAddress> __vector;
127
+ __vector.reserve(__size);
128
+ for (size_t __i = 0; __i < __size; __i++) {
129
+ auto __element = __input->getElement(__i);
130
+ __vector.push_back(__element->toCpp());
131
+ }
132
+ return __vector;
133
+ }(replyTo),
134
+ date->toStdString(),
135
+ receivedDate->toStdString(),
136
+ body->toCpp(),
137
+ [&](auto&& __input) {
138
+ size_t __size = __input->size();
139
+ std::vector<AttachmentInfo> __vector;
140
+ __vector.reserve(__size);
141
+ for (size_t __i = 0; __i < __size; __i++) {
142
+ auto __element = __input->getElement(__i);
143
+ __vector.push_back(__element->toCpp());
144
+ }
145
+ return __vector;
146
+ }(attachments),
147
+ [&](auto&& __input) {
148
+ size_t __size = __input->size();
149
+ std::vector<std::string> __vector;
150
+ __vector.reserve(__size);
151
+ for (size_t __i = 0; __i < __size; __i++) {
152
+ auto __element = __input->getElement(__i);
153
+ __vector.push_back(__element->toStdString());
154
+ }
155
+ return __vector;
156
+ }(flags),
157
+ [&]() {
158
+ std::unordered_map<std::string, std::string> __map;
159
+ __map.reserve(headers->size());
160
+ for (const auto& __entry : *headers) {
161
+ __map.emplace(__entry.first->toStdString(), __entry.second->toStdString());
162
+ }
163
+ return __map;
164
+ }(),
165
+ size,
166
+ messageId->toStdString(),
167
+ inReplyTo->toStdString(),
168
+ references->toStdString(),
169
+ priority->toStdString(),
170
+ static_cast<bool>(isEncrypted),
171
+ mimeType->toStdString(),
172
+ charset->toStdString()
173
+ );
174
+ }
175
+
176
+ public:
177
+ /**
178
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
179
+ */
180
+ [[maybe_unused]]
181
+ static jni::local_ref<JEmailMessage::javaobject> fromCpp(const EmailMessage& value) {
182
+ using JSignature = JEmailMessage(double, double, jni::alias_ref<jni::JString>, jni::alias_ref<JEmailAddress>, jni::alias_ref<jni::JArrayClass<JEmailAddress>>, jni::alias_ref<jni::JArrayClass<JEmailAddress>>, jni::alias_ref<jni::JArrayClass<JEmailAddress>>, jni::alias_ref<jni::JArrayClass<JEmailAddress>>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JEmailBody>, jni::alias_ref<jni::JArrayClass<JAttachmentInfo>>, jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<jni::JMap<jni::JString, jni::JString>>, double, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jboolean, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
183
+ static const auto clazz = javaClassStatic();
184
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
185
+ return create(
186
+ clazz,
187
+ value.uid,
188
+ value.sequenceNumber,
189
+ jni::make_jstring(value.subject),
190
+ JEmailAddress::fromCpp(value.from),
191
+ [&](auto&& __input) {
192
+ size_t __size = __input.size();
193
+ jni::local_ref<jni::JArrayClass<JEmailAddress>> __array = jni::JArrayClass<JEmailAddress>::newArray(__size);
194
+ for (size_t __i = 0; __i < __size; __i++) {
195
+ const auto& __element = __input[__i];
196
+ auto __elementJni = JEmailAddress::fromCpp(__element);
197
+ __array->setElement(__i, *__elementJni);
198
+ }
199
+ return __array;
200
+ }(value.to),
201
+ [&](auto&& __input) {
202
+ size_t __size = __input.size();
203
+ jni::local_ref<jni::JArrayClass<JEmailAddress>> __array = jni::JArrayClass<JEmailAddress>::newArray(__size);
204
+ for (size_t __i = 0; __i < __size; __i++) {
205
+ const auto& __element = __input[__i];
206
+ auto __elementJni = JEmailAddress::fromCpp(__element);
207
+ __array->setElement(__i, *__elementJni);
208
+ }
209
+ return __array;
210
+ }(value.cc),
211
+ [&](auto&& __input) {
212
+ size_t __size = __input.size();
213
+ jni::local_ref<jni::JArrayClass<JEmailAddress>> __array = jni::JArrayClass<JEmailAddress>::newArray(__size);
214
+ for (size_t __i = 0; __i < __size; __i++) {
215
+ const auto& __element = __input[__i];
216
+ auto __elementJni = JEmailAddress::fromCpp(__element);
217
+ __array->setElement(__i, *__elementJni);
218
+ }
219
+ return __array;
220
+ }(value.bcc),
221
+ [&](auto&& __input) {
222
+ size_t __size = __input.size();
223
+ jni::local_ref<jni::JArrayClass<JEmailAddress>> __array = jni::JArrayClass<JEmailAddress>::newArray(__size);
224
+ for (size_t __i = 0; __i < __size; __i++) {
225
+ const auto& __element = __input[__i];
226
+ auto __elementJni = JEmailAddress::fromCpp(__element);
227
+ __array->setElement(__i, *__elementJni);
228
+ }
229
+ return __array;
230
+ }(value.replyTo),
231
+ jni::make_jstring(value.date),
232
+ jni::make_jstring(value.receivedDate),
233
+ JEmailBody::fromCpp(value.body),
234
+ [&](auto&& __input) {
235
+ size_t __size = __input.size();
236
+ jni::local_ref<jni::JArrayClass<JAttachmentInfo>> __array = jni::JArrayClass<JAttachmentInfo>::newArray(__size);
237
+ for (size_t __i = 0; __i < __size; __i++) {
238
+ const auto& __element = __input[__i];
239
+ auto __elementJni = JAttachmentInfo::fromCpp(__element);
240
+ __array->setElement(__i, *__elementJni);
241
+ }
242
+ return __array;
243
+ }(value.attachments),
244
+ [&](auto&& __input) {
245
+ size_t __size = __input.size();
246
+ jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
247
+ for (size_t __i = 0; __i < __size; __i++) {
248
+ const auto& __element = __input[__i];
249
+ auto __elementJni = jni::make_jstring(__element);
250
+ __array->setElement(__i, *__elementJni);
251
+ }
252
+ return __array;
253
+ }(value.flags),
254
+ [&]() -> jni::local_ref<jni::JMap<jni::JString, jni::JString>> {
255
+ auto __map = jni::JHashMap<jni::JString, jni::JString>::create(value.headers.size());
256
+ for (const auto& __entry : value.headers) {
257
+ __map->put(jni::make_jstring(__entry.first), jni::make_jstring(__entry.second));
258
+ }
259
+ return __map;
260
+ }(),
261
+ value.size,
262
+ jni::make_jstring(value.messageId),
263
+ jni::make_jstring(value.inReplyTo),
264
+ jni::make_jstring(value.references),
265
+ jni::make_jstring(value.priority),
266
+ value.isEncrypted,
267
+ jni::make_jstring(value.mimeType),
268
+ jni::make_jstring(value.charset)
269
+ );
270
+ }
271
+ };
272
+
273
+ } // namespace margelo::nitro::emailimapsmtp