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.
- package/EmailImapSmtp.podspec +29 -0
- package/LICENSE +20 -0
- package/README.md +121 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +117 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/cpp/cpp-adapter.cpp +11 -0
- package/android/src/main/java/com/margelo/nitro/emailimapsmtp/EmailImapSmtp.kt +1533 -0
- package/android/src/main/java/com/margelo/nitro/emailimapsmtp/EmailImapSmtpPackage.kt +22 -0
- package/ios/EmailImapSmtp.swift +5 -0
- package/lib/module/EmailImapSmtp.nitro.js +4 -0
- package/lib/module/EmailImapSmtp.nitro.js.map +1 -0
- package/lib/module/NativeEmailImapSmtp.js +14 -0
- package/lib/module/NativeEmailImapSmtp.js.map +1 -0
- package/lib/module/index.js +64 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/native.js +227 -0
- package/lib/module/native.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/web.js +107 -0
- package/lib/module/web.js.map +1 -0
- package/lib/module/windows.js +156 -0
- package/lib/module/windows.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/EmailImapSmtp.nitro.d.ts +268 -0
- package/lib/typescript/src/EmailImapSmtp.nitro.d.ts.map +1 -0
- package/lib/typescript/src/NativeEmailImapSmtp.d.ts +36 -0
- package/lib/typescript/src/NativeEmailImapSmtp.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +33 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/native.d.ts +32 -0
- package/lib/typescript/src/native.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +261 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/web.d.ts +32 -0
- package/lib/typescript/src/web.d.ts.map +1 -0
- package/lib/typescript/src/windows.d.ts +32 -0
- package/lib/typescript/src/windows.d.ts.map +1 -0
- package/nitro.json +23 -0
- package/nitrogen/generated/android/c++/JAppendResult.hpp +65 -0
- package/nitrogen/generated/android/c++/JAttachmentInfo.hpp +96 -0
- package/nitrogen/generated/android/c++/JConnectionConfig.hpp +94 -0
- package/nitrogen/generated/android/c++/JConnectionResult.hpp +73 -0
- package/nitrogen/generated/android/c++/JDeleteResult.hpp +87 -0
- package/nitrogen/generated/android/c++/JEmailAddress.hpp +61 -0
- package/nitrogen/generated/android/c++/JEmailBody.hpp +84 -0
- package/nitrogen/generated/android/c++/JEmailMessage.hpp +273 -0
- package/nitrogen/generated/android/c++/JFetchEmailsOptions.hpp +110 -0
- package/nitrogen/generated/android/c++/JFolderInfo.hpp +126 -0
- package/nitrogen/generated/android/c++/JFunc_void_IdleNotification.hpp +79 -0
- package/nitrogen/generated/android/c++/JHybridEmailImapSmtpSpec.cpp +697 -0
- package/nitrogen/generated/android/c++/JHybridEmailImapSmtpSpec.hpp +92 -0
- package/nitrogen/generated/android/c++/JIdleNotification.hpp +78 -0
- package/nitrogen/generated/android/c++/JImapServerInfo.hpp +84 -0
- package/nitrogen/generated/android/c++/JMailboxInfo.hpp +134 -0
- package/nitrogen/generated/android/c++/JMailboxListItem.hpp +92 -0
- package/nitrogen/generated/android/c++/JQuotaInfo.hpp +78 -0
- package/nitrogen/generated/android/c++/JSearchCriteria.hpp +187 -0
- package/nitrogen/generated/android/c++/JSearchHeader.hpp +61 -0
- package/nitrogen/generated/android/c++/JSendMailOptions.hpp +229 -0
- package/nitrogen/generated/android/c++/JSendMailResult.hpp +88 -0
- package/nitrogen/generated/android/c++/JSmtpAttachment.hpp +80 -0
- package/nitrogen/generated/android/c++/JSmtpConnectionConfig.hpp +98 -0
- package/nitrogen/generated/android/c++/JSmtpServerInfo.hpp +102 -0
- package/nitrogen/generated/android/c++/JVariant_ImapServerInfo_SmtpServerInfo.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_ImapServerInfo_SmtpServerInfo.hpp +73 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_AttachmentInfo.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_AttachmentInfo.hpp +75 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_EmailMessage.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_EmailMessage.hpp +83 -0
- package/nitrogen/generated/android/emailimapsmtp+autolinking.cmake +84 -0
- package/nitrogen/generated/android/emailimapsmtp+autolinking.gradle +27 -0
- package/nitrogen/generated/android/emailimapsmtpOnLoad.cpp +56 -0
- package/nitrogen/generated/android/emailimapsmtpOnLoad.hpp +34 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/AppendResult.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/AttachmentInfo.kt +96 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ConnectionConfig.kt +96 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ConnectionResult.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/DeleteResult.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailAddress.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailBody.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailMessage.kt +156 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/FetchEmailsOptions.kt +116 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/FolderInfo.kt +91 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Func_void_IdleNotification.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/HybridEmailImapSmtpSpec.kt +178 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/IdleNotification.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ImapServerInfo.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/MailboxInfo.kt +101 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/MailboxListItem.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/QuotaInfo.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SearchCriteria.kt +196 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SearchHeader.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SendMailOptions.kt +126 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SendMailResult.kt +86 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpAttachment.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpConnectionConfig.kt +101 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpServerInfo.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_ImapServerInfo_SmtpServerInfo.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_NullType_AttachmentInfo.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_NullType_EmailMessage.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/emailimapsmtpOnLoad.kt +35 -0
- package/nitrogen/generated/ios/EmailImapSmtp+autolinking.rb +62 -0
- package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Bridge.cpp +161 -0
- package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Bridge.hpp +1132 -0
- package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Umbrella.hpp +118 -0
- package/nitrogen/generated/ios/EmailImapSmtpAutolinking.mm +33 -0
- package/nitrogen/generated/ios/EmailImapSmtpAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridEmailImapSmtpSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridEmailImapSmtpSpecSwift.hpp +390 -0
- package/nitrogen/generated/ios/swift/AppendResult.swift +39 -0
- package/nitrogen/generated/ios/swift/AttachmentInfo.swift +113 -0
- package/nitrogen/generated/ios/swift/ConnectionConfig.swift +87 -0
- package/nitrogen/generated/ios/swift/ConnectionResult.swift +84 -0
- package/nitrogen/generated/ios/swift/DeleteResult.swift +64 -0
- package/nitrogen/generated/ios/swift/EmailAddress.swift +34 -0
- package/nitrogen/generated/ios/swift/EmailBody.swift +45 -0
- package/nitrogen/generated/ios/swift/EmailMessage.swift +184 -0
- package/nitrogen/generated/ios/swift/FetchEmailsOptions.swift +198 -0
- package/nitrogen/generated/ios/swift/FolderInfo.swift +81 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_AppendResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_ConnectionResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_DeleteResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_IdleNotification.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_MailboxInfo.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_QuotaInfo.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_SendMailResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__AttachmentInfo_.swift +58 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__EmailMessage_.swift +58 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_AttachmentInfo_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_EmailMessage_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_FolderInfo_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_MailboxListItem_.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridEmailImapSmtpSpec.swift +84 -0
- package/nitrogen/generated/ios/swift/HybridEmailImapSmtpSpec_cxx.swift +759 -0
- package/nitrogen/generated/ios/swift/IdleNotification.swift +93 -0
- package/nitrogen/generated/ios/swift/ImapServerInfo.swift +45 -0
- package/nitrogen/generated/ios/swift/MailboxInfo.swift +91 -0
- package/nitrogen/generated/ios/swift/MailboxListItem.swift +55 -0
- package/nitrogen/generated/ios/swift/QuotaInfo.swift +80 -0
- package/nitrogen/generated/ios/swift/SearchCriteria.swift +485 -0
- package/nitrogen/generated/ios/swift/SearchHeader.swift +34 -0
- package/nitrogen/generated/ios/swift/SendMailOptions.swift +310 -0
- package/nitrogen/generated/ios/swift/SendMailResult.swift +155 -0
- package/nitrogen/generated/ios/swift/SmtpAttachment.swift +80 -0
- package/nitrogen/generated/ios/swift/SmtpConnectionConfig.swift +105 -0
- package/nitrogen/generated/ios/swift/SmtpServerInfo.swift +51 -0
- package/nitrogen/generated/ios/swift/Variant_ImapServerInfo_SmtpServerInfo.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_AttachmentInfo.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_EmailMessage.swift +30 -0
- package/nitrogen/generated/shared/c++/AppendResult.hpp +91 -0
- package/nitrogen/generated/shared/c++/AttachmentInfo.hpp +121 -0
- package/nitrogen/generated/shared/c++/ConnectionConfig.hpp +120 -0
- package/nitrogen/generated/shared/c++/ConnectionResult.hpp +98 -0
- package/nitrogen/generated/shared/c++/DeleteResult.hpp +93 -0
- package/nitrogen/generated/shared/c++/EmailAddress.hpp +87 -0
- package/nitrogen/generated/shared/c++/EmailBody.hpp +92 -0
- package/nitrogen/generated/shared/c++/EmailMessage.hpp +177 -0
- package/nitrogen/generated/shared/c++/FetchEmailsOptions.hpp +136 -0
- package/nitrogen/generated/shared/c++/FolderInfo.hpp +116 -0
- package/nitrogen/generated/shared/c++/HybridEmailImapSmtpSpec.cpp +50 -0
- package/nitrogen/generated/shared/c++/HybridEmailImapSmtpSpec.hpp +145 -0
- package/nitrogen/generated/shared/c++/IdleNotification.hpp +104 -0
- package/nitrogen/generated/shared/c++/ImapServerInfo.hpp +92 -0
- package/nitrogen/generated/shared/c++/MailboxInfo.hpp +124 -0
- package/nitrogen/generated/shared/c++/MailboxListItem.hpp +100 -0
- package/nitrogen/generated/shared/c++/QuotaInfo.hpp +104 -0
- package/nitrogen/generated/shared/c++/SearchCriteria.hpp +203 -0
- package/nitrogen/generated/shared/c++/SearchHeader.hpp +87 -0
- package/nitrogen/generated/shared/c++/SendMailOptions.hpp +151 -0
- package/nitrogen/generated/shared/c++/SendMailResult.hpp +113 -0
- package/nitrogen/generated/shared/c++/SmtpAttachment.hpp +105 -0
- package/nitrogen/generated/shared/c++/SmtpConnectionConfig.hpp +124 -0
- package/nitrogen/generated/shared/c++/SmtpServerInfo.hpp +92 -0
- package/package.json +196 -0
- package/react-native.config.js +27 -0
- package/src/EmailImapSmtp.nitro.ts +333 -0
- package/src/NativeEmailImapSmtp.ts +100 -0
- package/src/index.tsx +166 -0
- package/src/native.ts +305 -0
- package/src/types.ts +328 -0
- package/src/web.ts +196 -0
- package/src/windows.ts +304 -0
- package/windows/EmailImapSmtp.cpp +735 -0
- package/windows/EmailImapSmtp.h +137 -0
- package/windows/EmailImapSmtpModule.cpp +10 -0
- package/windows/EmailImapSmtpModule.h +139 -0
- package/windows/EmailImapSmtpPackage.cpp +15 -0
- package/windows/EmailImapSmtpPackage.h +13 -0
- package/windows/ImapProtocol.cpp +1382 -0
- package/windows/ImapProtocol.h +97 -0
- package/windows/ProtocolDefs.h +300 -0
- package/windows/SmtpProtocol.cpp +334 -0
- package/windows/SmtpProtocol.h +36 -0
- package/windows/TlsSocket.cpp +818 -0
- package/windows/TlsSocket.h +87 -0
|
@@ -0,0 +1,697 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridEmailImapSmtpSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridEmailImapSmtpSpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `ConnectionResult` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::emailimapsmtp { struct ConnectionResult; }
|
|
12
|
+
// Forward declaration of `ImapServerInfo` to properly resolve imports.
|
|
13
|
+
namespace margelo::nitro::emailimapsmtp { struct ImapServerInfo; }
|
|
14
|
+
// Forward declaration of `SmtpServerInfo` to properly resolve imports.
|
|
15
|
+
namespace margelo::nitro::emailimapsmtp { struct SmtpServerInfo; }
|
|
16
|
+
// Forward declaration of `MailboxListItem` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::emailimapsmtp { struct MailboxListItem; }
|
|
18
|
+
// Forward declaration of `MailboxInfo` to properly resolve imports.
|
|
19
|
+
namespace margelo::nitro::emailimapsmtp { struct MailboxInfo; }
|
|
20
|
+
// Forward declaration of `FolderInfo` to properly resolve imports.
|
|
21
|
+
namespace margelo::nitro::emailimapsmtp { struct FolderInfo; }
|
|
22
|
+
// Forward declaration of `EmailMessage` to properly resolve imports.
|
|
23
|
+
namespace margelo::nitro::emailimapsmtp { struct EmailMessage; }
|
|
24
|
+
// Forward declaration of `EmailAddress` to properly resolve imports.
|
|
25
|
+
namespace margelo::nitro::emailimapsmtp { struct EmailAddress; }
|
|
26
|
+
// Forward declaration of `EmailBody` to properly resolve imports.
|
|
27
|
+
namespace margelo::nitro::emailimapsmtp { struct EmailBody; }
|
|
28
|
+
// Forward declaration of `AttachmentInfo` to properly resolve imports.
|
|
29
|
+
namespace margelo::nitro::emailimapsmtp { struct AttachmentInfo; }
|
|
30
|
+
// Forward declaration of `DeleteResult` to properly resolve imports.
|
|
31
|
+
namespace margelo::nitro::emailimapsmtp { struct DeleteResult; }
|
|
32
|
+
// Forward declaration of `QuotaInfo` to properly resolve imports.
|
|
33
|
+
namespace margelo::nitro::emailimapsmtp { struct QuotaInfo; }
|
|
34
|
+
// Forward declaration of `AppendResult` to properly resolve imports.
|
|
35
|
+
namespace margelo::nitro::emailimapsmtp { struct AppendResult; }
|
|
36
|
+
// Forward declaration of `SendMailResult` to properly resolve imports.
|
|
37
|
+
namespace margelo::nitro::emailimapsmtp { struct SendMailResult; }
|
|
38
|
+
// Forward declaration of `ConnectionConfig` to properly resolve imports.
|
|
39
|
+
namespace margelo::nitro::emailimapsmtp { struct ConnectionConfig; }
|
|
40
|
+
// Forward declaration of `FetchEmailsOptions` to properly resolve imports.
|
|
41
|
+
namespace margelo::nitro::emailimapsmtp { struct FetchEmailsOptions; }
|
|
42
|
+
// Forward declaration of `SearchCriteria` to properly resolve imports.
|
|
43
|
+
namespace margelo::nitro::emailimapsmtp { struct SearchCriteria; }
|
|
44
|
+
// Forward declaration of `SearchHeader` to properly resolve imports.
|
|
45
|
+
namespace margelo::nitro::emailimapsmtp { struct SearchHeader; }
|
|
46
|
+
// Forward declaration of `IdleNotification` to properly resolve imports.
|
|
47
|
+
namespace margelo::nitro::emailimapsmtp { struct IdleNotification; }
|
|
48
|
+
// Forward declaration of `SmtpConnectionConfig` to properly resolve imports.
|
|
49
|
+
namespace margelo::nitro::emailimapsmtp { struct SmtpConnectionConfig; }
|
|
50
|
+
// Forward declaration of `SendMailOptions` to properly resolve imports.
|
|
51
|
+
namespace margelo::nitro::emailimapsmtp { struct SendMailOptions; }
|
|
52
|
+
// Forward declaration of `SmtpAttachment` to properly resolve imports.
|
|
53
|
+
namespace margelo::nitro::emailimapsmtp { struct SmtpAttachment; }
|
|
54
|
+
|
|
55
|
+
#include "ConnectionResult.hpp"
|
|
56
|
+
#include <NitroModules/Promise.hpp>
|
|
57
|
+
#include <NitroModules/JPromise.hpp>
|
|
58
|
+
#include "JConnectionResult.hpp"
|
|
59
|
+
#include "ImapServerInfo.hpp"
|
|
60
|
+
#include "SmtpServerInfo.hpp"
|
|
61
|
+
#include <variant>
|
|
62
|
+
#include <optional>
|
|
63
|
+
#include "JVariant_ImapServerInfo_SmtpServerInfo.hpp"
|
|
64
|
+
#include "JImapServerInfo.hpp"
|
|
65
|
+
#include <string>
|
|
66
|
+
#include <vector>
|
|
67
|
+
#include "JSmtpServerInfo.hpp"
|
|
68
|
+
#include <NitroModules/JUnit.hpp>
|
|
69
|
+
#include "MailboxListItem.hpp"
|
|
70
|
+
#include "JMailboxListItem.hpp"
|
|
71
|
+
#include "MailboxInfo.hpp"
|
|
72
|
+
#include "JMailboxInfo.hpp"
|
|
73
|
+
#include "FolderInfo.hpp"
|
|
74
|
+
#include "JFolderInfo.hpp"
|
|
75
|
+
#include "EmailMessage.hpp"
|
|
76
|
+
#include "JEmailMessage.hpp"
|
|
77
|
+
#include "EmailAddress.hpp"
|
|
78
|
+
#include "JEmailAddress.hpp"
|
|
79
|
+
#include "EmailBody.hpp"
|
|
80
|
+
#include "JEmailBody.hpp"
|
|
81
|
+
#include "AttachmentInfo.hpp"
|
|
82
|
+
#include "JAttachmentInfo.hpp"
|
|
83
|
+
#include <NitroModules/ArrayBuffer.hpp>
|
|
84
|
+
#include <NitroModules/JArrayBuffer.hpp>
|
|
85
|
+
#include <unordered_map>
|
|
86
|
+
#include <NitroModules/Null.hpp>
|
|
87
|
+
#include "JVariant_NullType_EmailMessage.hpp"
|
|
88
|
+
#include <NitroModules/JNull.hpp>
|
|
89
|
+
#include "DeleteResult.hpp"
|
|
90
|
+
#include "JDeleteResult.hpp"
|
|
91
|
+
#include "JVariant_NullType_AttachmentInfo.hpp"
|
|
92
|
+
#include "QuotaInfo.hpp"
|
|
93
|
+
#include "JQuotaInfo.hpp"
|
|
94
|
+
#include "AppendResult.hpp"
|
|
95
|
+
#include "JAppendResult.hpp"
|
|
96
|
+
#include "SendMailResult.hpp"
|
|
97
|
+
#include "JSendMailResult.hpp"
|
|
98
|
+
#include "ConnectionConfig.hpp"
|
|
99
|
+
#include "JConnectionConfig.hpp"
|
|
100
|
+
#include "FetchEmailsOptions.hpp"
|
|
101
|
+
#include "JFetchEmailsOptions.hpp"
|
|
102
|
+
#include "SearchCriteria.hpp"
|
|
103
|
+
#include "JSearchCriteria.hpp"
|
|
104
|
+
#include "SearchHeader.hpp"
|
|
105
|
+
#include "JSearchHeader.hpp"
|
|
106
|
+
#include "IdleNotification.hpp"
|
|
107
|
+
#include <functional>
|
|
108
|
+
#include "JFunc_void_IdleNotification.hpp"
|
|
109
|
+
#include <NitroModules/JNICallable.hpp>
|
|
110
|
+
#include "JIdleNotification.hpp"
|
|
111
|
+
#include "SmtpConnectionConfig.hpp"
|
|
112
|
+
#include "JSmtpConnectionConfig.hpp"
|
|
113
|
+
#include "SendMailOptions.hpp"
|
|
114
|
+
#include "JSendMailOptions.hpp"
|
|
115
|
+
#include "SmtpAttachment.hpp"
|
|
116
|
+
#include "JSmtpAttachment.hpp"
|
|
117
|
+
|
|
118
|
+
namespace margelo::nitro::emailimapsmtp {
|
|
119
|
+
|
|
120
|
+
std::shared_ptr<JHybridEmailImapSmtpSpec> JHybridEmailImapSmtpSpec::JavaPart::getJHybridEmailImapSmtpSpec() {
|
|
121
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
122
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridEmailImapSmtpSpec>(hybridObject);
|
|
123
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
124
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridEmailImapSmtpSpec!");
|
|
125
|
+
}
|
|
126
|
+
return castHybridObject;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
jni::local_ref<JHybridEmailImapSmtpSpec::CxxPart::jhybriddata> JHybridEmailImapSmtpSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
130
|
+
return makeCxxInstance(jThis);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
std::shared_ptr<JHybridObject> JHybridEmailImapSmtpSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
134
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridEmailImapSmtpSpec::JavaPart>(javaPart);
|
|
135
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
136
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridEmailImapSmtpSpec::JavaPart!");
|
|
137
|
+
}
|
|
138
|
+
return std::make_shared<JHybridEmailImapSmtpSpec>(castJavaPart);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
void JHybridEmailImapSmtpSpec::CxxPart::registerNatives() {
|
|
142
|
+
registerHybrid({
|
|
143
|
+
makeNativeMethod("initHybrid", JHybridEmailImapSmtpSpec::CxxPart::initHybrid),
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Properties
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
// Methods
|
|
151
|
+
std::shared_ptr<Promise<ConnectionResult>> JHybridEmailImapSmtpSpec::imapConnect(const ConnectionConfig& config) {
|
|
152
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JConnectionConfig> /* config */)>("imapConnect");
|
|
153
|
+
auto __result = method(_javaPart, JConnectionConfig::fromCpp(config));
|
|
154
|
+
return [&]() {
|
|
155
|
+
auto __promise = Promise<ConnectionResult>::create();
|
|
156
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
157
|
+
auto __result = jni::static_ref_cast<JConnectionResult>(__boxedResult);
|
|
158
|
+
__promise->resolve(__result->toCpp());
|
|
159
|
+
});
|
|
160
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
161
|
+
jni::JniException __jniError(__throwable);
|
|
162
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
163
|
+
});
|
|
164
|
+
return __promise;
|
|
165
|
+
}();
|
|
166
|
+
}
|
|
167
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapDisconnect() {
|
|
168
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("imapDisconnect");
|
|
169
|
+
auto __result = method(_javaPart);
|
|
170
|
+
return [&]() {
|
|
171
|
+
auto __promise = Promise<void>::create();
|
|
172
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
173
|
+
__promise->resolve();
|
|
174
|
+
});
|
|
175
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
176
|
+
jni::JniException __jniError(__throwable);
|
|
177
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
178
|
+
});
|
|
179
|
+
return __promise;
|
|
180
|
+
}();
|
|
181
|
+
}
|
|
182
|
+
std::shared_ptr<Promise<std::vector<MailboxListItem>>> JHybridEmailImapSmtpSpec::imapListMailboxes() {
|
|
183
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("imapListMailboxes");
|
|
184
|
+
auto __result = method(_javaPart);
|
|
185
|
+
return [&]() {
|
|
186
|
+
auto __promise = Promise<std::vector<MailboxListItem>>::create();
|
|
187
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
188
|
+
auto __result = jni::static_ref_cast<jni::JArrayClass<JMailboxListItem>>(__boxedResult);
|
|
189
|
+
__promise->resolve([&](auto&& __input) {
|
|
190
|
+
size_t __size = __input->size();
|
|
191
|
+
std::vector<MailboxListItem> __vector;
|
|
192
|
+
__vector.reserve(__size);
|
|
193
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
194
|
+
auto __element = __input->getElement(__i);
|
|
195
|
+
__vector.push_back(__element->toCpp());
|
|
196
|
+
}
|
|
197
|
+
return __vector;
|
|
198
|
+
}(__result));
|
|
199
|
+
});
|
|
200
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
201
|
+
jni::JniException __jniError(__throwable);
|
|
202
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
203
|
+
});
|
|
204
|
+
return __promise;
|
|
205
|
+
}();
|
|
206
|
+
}
|
|
207
|
+
std::shared_ptr<Promise<MailboxInfo>> JHybridEmailImapSmtpSpec::imapSelectMailbox(const std::string& mailbox, bool readOnly) {
|
|
208
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* mailbox */, jboolean /* readOnly */)>("imapSelectMailbox");
|
|
209
|
+
auto __result = method(_javaPart, jni::make_jstring(mailbox), readOnly);
|
|
210
|
+
return [&]() {
|
|
211
|
+
auto __promise = Promise<MailboxInfo>::create();
|
|
212
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
213
|
+
auto __result = jni::static_ref_cast<JMailboxInfo>(__boxedResult);
|
|
214
|
+
__promise->resolve(__result->toCpp());
|
|
215
|
+
});
|
|
216
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
217
|
+
jni::JniException __jniError(__throwable);
|
|
218
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
219
|
+
});
|
|
220
|
+
return __promise;
|
|
221
|
+
}();
|
|
222
|
+
}
|
|
223
|
+
std::shared_ptr<Promise<MailboxInfo>> JHybridEmailImapSmtpSpec::imapRefreshMailbox() {
|
|
224
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("imapRefreshMailbox");
|
|
225
|
+
auto __result = method(_javaPart);
|
|
226
|
+
return [&]() {
|
|
227
|
+
auto __promise = Promise<MailboxInfo>::create();
|
|
228
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
229
|
+
auto __result = jni::static_ref_cast<JMailboxInfo>(__boxedResult);
|
|
230
|
+
__promise->resolve(__result->toCpp());
|
|
231
|
+
});
|
|
232
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
233
|
+
jni::JniException __jniError(__throwable);
|
|
234
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
235
|
+
});
|
|
236
|
+
return __promise;
|
|
237
|
+
}();
|
|
238
|
+
}
|
|
239
|
+
std::shared_ptr<Promise<std::vector<FolderInfo>>> JHybridEmailImapSmtpSpec::imapFetchFolders() {
|
|
240
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("imapFetchFolders");
|
|
241
|
+
auto __result = method(_javaPart);
|
|
242
|
+
return [&]() {
|
|
243
|
+
auto __promise = Promise<std::vector<FolderInfo>>::create();
|
|
244
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
245
|
+
auto __result = jni::static_ref_cast<jni::JArrayClass<JFolderInfo>>(__boxedResult);
|
|
246
|
+
__promise->resolve([&](auto&& __input) {
|
|
247
|
+
size_t __size = __input->size();
|
|
248
|
+
std::vector<FolderInfo> __vector;
|
|
249
|
+
__vector.reserve(__size);
|
|
250
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
251
|
+
auto __element = __input->getElement(__i);
|
|
252
|
+
__vector.push_back(__element->toCpp());
|
|
253
|
+
}
|
|
254
|
+
return __vector;
|
|
255
|
+
}(__result));
|
|
256
|
+
});
|
|
257
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
258
|
+
jni::JniException __jniError(__throwable);
|
|
259
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
260
|
+
});
|
|
261
|
+
return __promise;
|
|
262
|
+
}();
|
|
263
|
+
}
|
|
264
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapCreateFolder(const std::string& folderName) {
|
|
265
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* folderName */)>("imapCreateFolder");
|
|
266
|
+
auto __result = method(_javaPart, jni::make_jstring(folderName));
|
|
267
|
+
return [&]() {
|
|
268
|
+
auto __promise = Promise<void>::create();
|
|
269
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
270
|
+
__promise->resolve();
|
|
271
|
+
});
|
|
272
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
273
|
+
jni::JniException __jniError(__throwable);
|
|
274
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
275
|
+
});
|
|
276
|
+
return __promise;
|
|
277
|
+
}();
|
|
278
|
+
}
|
|
279
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapDeleteFolder(const std::string& folderName) {
|
|
280
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* folderName */)>("imapDeleteFolder");
|
|
281
|
+
auto __result = method(_javaPart, jni::make_jstring(folderName));
|
|
282
|
+
return [&]() {
|
|
283
|
+
auto __promise = Promise<void>::create();
|
|
284
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
285
|
+
__promise->resolve();
|
|
286
|
+
});
|
|
287
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
288
|
+
jni::JniException __jniError(__throwable);
|
|
289
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
290
|
+
});
|
|
291
|
+
return __promise;
|
|
292
|
+
}();
|
|
293
|
+
}
|
|
294
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapRenameFolder(const std::string& oldName, const std::string& newName) {
|
|
295
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* oldName */, jni::alias_ref<jni::JString> /* newName */)>("imapRenameFolder");
|
|
296
|
+
auto __result = method(_javaPart, jni::make_jstring(oldName), jni::make_jstring(newName));
|
|
297
|
+
return [&]() {
|
|
298
|
+
auto __promise = Promise<void>::create();
|
|
299
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
300
|
+
__promise->resolve();
|
|
301
|
+
});
|
|
302
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
303
|
+
jni::JniException __jniError(__throwable);
|
|
304
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
305
|
+
});
|
|
306
|
+
return __promise;
|
|
307
|
+
}();
|
|
308
|
+
}
|
|
309
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapSubscribeFolder(const std::string& folderName) {
|
|
310
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* folderName */)>("imapSubscribeFolder");
|
|
311
|
+
auto __result = method(_javaPart, jni::make_jstring(folderName));
|
|
312
|
+
return [&]() {
|
|
313
|
+
auto __promise = Promise<void>::create();
|
|
314
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
315
|
+
__promise->resolve();
|
|
316
|
+
});
|
|
317
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
318
|
+
jni::JniException __jniError(__throwable);
|
|
319
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
320
|
+
});
|
|
321
|
+
return __promise;
|
|
322
|
+
}();
|
|
323
|
+
}
|
|
324
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapUnsubscribeFolder(const std::string& folderName) {
|
|
325
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* folderName */)>("imapUnsubscribeFolder");
|
|
326
|
+
auto __result = method(_javaPart, jni::make_jstring(folderName));
|
|
327
|
+
return [&]() {
|
|
328
|
+
auto __promise = Promise<void>::create();
|
|
329
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
330
|
+
__promise->resolve();
|
|
331
|
+
});
|
|
332
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
333
|
+
jni::JniException __jniError(__throwable);
|
|
334
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
335
|
+
});
|
|
336
|
+
return __promise;
|
|
337
|
+
}();
|
|
338
|
+
}
|
|
339
|
+
std::shared_ptr<Promise<std::vector<EmailMessage>>> JHybridEmailImapSmtpSpec::imapFetchEmails(const FetchEmailsOptions& options) {
|
|
340
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFetchEmailsOptions> /* options */)>("imapFetchEmails");
|
|
341
|
+
auto __result = method(_javaPart, JFetchEmailsOptions::fromCpp(options));
|
|
342
|
+
return [&]() {
|
|
343
|
+
auto __promise = Promise<std::vector<EmailMessage>>::create();
|
|
344
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
345
|
+
auto __result = jni::static_ref_cast<jni::JArrayClass<JEmailMessage>>(__boxedResult);
|
|
346
|
+
__promise->resolve([&](auto&& __input) {
|
|
347
|
+
size_t __size = __input->size();
|
|
348
|
+
std::vector<EmailMessage> __vector;
|
|
349
|
+
__vector.reserve(__size);
|
|
350
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
351
|
+
auto __element = __input->getElement(__i);
|
|
352
|
+
__vector.push_back(__element->toCpp());
|
|
353
|
+
}
|
|
354
|
+
return __vector;
|
|
355
|
+
}(__result));
|
|
356
|
+
});
|
|
357
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
358
|
+
jni::JniException __jniError(__throwable);
|
|
359
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
360
|
+
});
|
|
361
|
+
return __promise;
|
|
362
|
+
}();
|
|
363
|
+
}
|
|
364
|
+
std::shared_ptr<Promise<std::variant<nitro::NullType, EmailMessage>>> JHybridEmailImapSmtpSpec::imapFetchEmailByUID(double uid) {
|
|
365
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(double /* uid */)>("imapFetchEmailByUID");
|
|
366
|
+
auto __result = method(_javaPart, uid);
|
|
367
|
+
return [&]() {
|
|
368
|
+
auto __promise = Promise<std::variant<nitro::NullType, EmailMessage>>::create();
|
|
369
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
370
|
+
auto __result = jni::static_ref_cast<JVariant_NullType_EmailMessage>(__boxedResult);
|
|
371
|
+
__promise->resolve(__result->toCpp());
|
|
372
|
+
});
|
|
373
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
374
|
+
jni::JniException __jniError(__throwable);
|
|
375
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
376
|
+
});
|
|
377
|
+
return __promise;
|
|
378
|
+
}();
|
|
379
|
+
}
|
|
380
|
+
std::shared_ptr<Promise<std::vector<EmailMessage>>> JHybridEmailImapSmtpSpec::imapSearchEmails(const SearchCriteria& criteria) {
|
|
381
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JSearchCriteria> /* criteria */)>("imapSearchEmails");
|
|
382
|
+
auto __result = method(_javaPart, JSearchCriteria::fromCpp(criteria));
|
|
383
|
+
return [&]() {
|
|
384
|
+
auto __promise = Promise<std::vector<EmailMessage>>::create();
|
|
385
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
386
|
+
auto __result = jni::static_ref_cast<jni::JArrayClass<JEmailMessage>>(__boxedResult);
|
|
387
|
+
__promise->resolve([&](auto&& __input) {
|
|
388
|
+
size_t __size = __input->size();
|
|
389
|
+
std::vector<EmailMessage> __vector;
|
|
390
|
+
__vector.reserve(__size);
|
|
391
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
392
|
+
auto __element = __input->getElement(__i);
|
|
393
|
+
__vector.push_back(__element->toCpp());
|
|
394
|
+
}
|
|
395
|
+
return __vector;
|
|
396
|
+
}(__result));
|
|
397
|
+
});
|
|
398
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
399
|
+
jni::JniException __jniError(__throwable);
|
|
400
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
401
|
+
});
|
|
402
|
+
return __promise;
|
|
403
|
+
}();
|
|
404
|
+
}
|
|
405
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapMarkAsRead(const std::vector<double>& uids, bool silent) {
|
|
406
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayDouble> /* uids */, jboolean /* silent */)>("imapMarkAsRead");
|
|
407
|
+
auto __result = method(_javaPart, [&]() {
|
|
408
|
+
size_t __size = uids.size();
|
|
409
|
+
jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
|
|
410
|
+
__array->setRegion(0, __size, uids.data());
|
|
411
|
+
return __array;
|
|
412
|
+
}(), silent);
|
|
413
|
+
return [&]() {
|
|
414
|
+
auto __promise = Promise<void>::create();
|
|
415
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
416
|
+
__promise->resolve();
|
|
417
|
+
});
|
|
418
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
419
|
+
jni::JniException __jniError(__throwable);
|
|
420
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
421
|
+
});
|
|
422
|
+
return __promise;
|
|
423
|
+
}();
|
|
424
|
+
}
|
|
425
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapMarkAsFlagged(const std::vector<double>& uids, bool flagged) {
|
|
426
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayDouble> /* uids */, jboolean /* flagged */)>("imapMarkAsFlagged");
|
|
427
|
+
auto __result = method(_javaPart, [&]() {
|
|
428
|
+
size_t __size = uids.size();
|
|
429
|
+
jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
|
|
430
|
+
__array->setRegion(0, __size, uids.data());
|
|
431
|
+
return __array;
|
|
432
|
+
}(), flagged);
|
|
433
|
+
return [&]() {
|
|
434
|
+
auto __promise = Promise<void>::create();
|
|
435
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
436
|
+
__promise->resolve();
|
|
437
|
+
});
|
|
438
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
439
|
+
jni::JniException __jniError(__throwable);
|
|
440
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
441
|
+
});
|
|
442
|
+
return __promise;
|
|
443
|
+
}();
|
|
444
|
+
}
|
|
445
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapMoveEmails(const std::vector<double>& uids, const std::string& destinationMailbox) {
|
|
446
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayDouble> /* uids */, jni::alias_ref<jni::JString> /* destinationMailbox */)>("imapMoveEmails");
|
|
447
|
+
auto __result = method(_javaPart, [&]() {
|
|
448
|
+
size_t __size = uids.size();
|
|
449
|
+
jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
|
|
450
|
+
__array->setRegion(0, __size, uids.data());
|
|
451
|
+
return __array;
|
|
452
|
+
}(), jni::make_jstring(destinationMailbox));
|
|
453
|
+
return [&]() {
|
|
454
|
+
auto __promise = Promise<void>::create();
|
|
455
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
456
|
+
__promise->resolve();
|
|
457
|
+
});
|
|
458
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
459
|
+
jni::JniException __jniError(__throwable);
|
|
460
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
461
|
+
});
|
|
462
|
+
return __promise;
|
|
463
|
+
}();
|
|
464
|
+
}
|
|
465
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapCopyEmails(const std::vector<double>& uids, const std::string& destinationMailbox) {
|
|
466
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayDouble> /* uids */, jni::alias_ref<jni::JString> /* destinationMailbox */)>("imapCopyEmails");
|
|
467
|
+
auto __result = method(_javaPart, [&]() {
|
|
468
|
+
size_t __size = uids.size();
|
|
469
|
+
jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
|
|
470
|
+
__array->setRegion(0, __size, uids.data());
|
|
471
|
+
return __array;
|
|
472
|
+
}(), jni::make_jstring(destinationMailbox));
|
|
473
|
+
return [&]() {
|
|
474
|
+
auto __promise = Promise<void>::create();
|
|
475
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
476
|
+
__promise->resolve();
|
|
477
|
+
});
|
|
478
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
479
|
+
jni::JniException __jniError(__throwable);
|
|
480
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
481
|
+
});
|
|
482
|
+
return __promise;
|
|
483
|
+
}();
|
|
484
|
+
}
|
|
485
|
+
std::shared_ptr<Promise<DeleteResult>> JHybridEmailImapSmtpSpec::imapDeleteEmails(const std::vector<double>& uids) {
|
|
486
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JArrayDouble> /* uids */)>("imapDeleteEmails");
|
|
487
|
+
auto __result = method(_javaPart, [&]() {
|
|
488
|
+
size_t __size = uids.size();
|
|
489
|
+
jni::local_ref<jni::JArrayDouble> __array = jni::JArrayDouble::newArray(__size);
|
|
490
|
+
__array->setRegion(0, __size, uids.data());
|
|
491
|
+
return __array;
|
|
492
|
+
}());
|
|
493
|
+
return [&]() {
|
|
494
|
+
auto __promise = Promise<DeleteResult>::create();
|
|
495
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
496
|
+
auto __result = jni::static_ref_cast<JDeleteResult>(__boxedResult);
|
|
497
|
+
__promise->resolve(__result->toCpp());
|
|
498
|
+
});
|
|
499
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
500
|
+
jni::JniException __jniError(__throwable);
|
|
501
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
502
|
+
});
|
|
503
|
+
return __promise;
|
|
504
|
+
}();
|
|
505
|
+
}
|
|
506
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapExpunge() {
|
|
507
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("imapExpunge");
|
|
508
|
+
auto __result = method(_javaPart);
|
|
509
|
+
return [&]() {
|
|
510
|
+
auto __promise = Promise<void>::create();
|
|
511
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
512
|
+
__promise->resolve();
|
|
513
|
+
});
|
|
514
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
515
|
+
jni::JniException __jniError(__throwable);
|
|
516
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
517
|
+
});
|
|
518
|
+
return __promise;
|
|
519
|
+
}();
|
|
520
|
+
}
|
|
521
|
+
std::shared_ptr<Promise<std::variant<nitro::NullType, AttachmentInfo>>> JHybridEmailImapSmtpSpec::imapFetchAttachments(double uid, const std::string& partId) {
|
|
522
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(double /* uid */, jni::alias_ref<jni::JString> /* partId */)>("imapFetchAttachments");
|
|
523
|
+
auto __result = method(_javaPart, uid, jni::make_jstring(partId));
|
|
524
|
+
return [&]() {
|
|
525
|
+
auto __promise = Promise<std::variant<nitro::NullType, AttachmentInfo>>::create();
|
|
526
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
527
|
+
auto __result = jni::static_ref_cast<JVariant_NullType_AttachmentInfo>(__boxedResult);
|
|
528
|
+
__promise->resolve(__result->toCpp());
|
|
529
|
+
});
|
|
530
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
531
|
+
jni::JniException __jniError(__throwable);
|
|
532
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
533
|
+
});
|
|
534
|
+
return __promise;
|
|
535
|
+
}();
|
|
536
|
+
}
|
|
537
|
+
std::shared_ptr<Promise<std::vector<AttachmentInfo>>> JHybridEmailImapSmtpSpec::imapFetchAllAttachments(double uid) {
|
|
538
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(double /* uid */)>("imapFetchAllAttachments");
|
|
539
|
+
auto __result = method(_javaPart, uid);
|
|
540
|
+
return [&]() {
|
|
541
|
+
auto __promise = Promise<std::vector<AttachmentInfo>>::create();
|
|
542
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
543
|
+
auto __result = jni::static_ref_cast<jni::JArrayClass<JAttachmentInfo>>(__boxedResult);
|
|
544
|
+
__promise->resolve([&](auto&& __input) {
|
|
545
|
+
size_t __size = __input->size();
|
|
546
|
+
std::vector<AttachmentInfo> __vector;
|
|
547
|
+
__vector.reserve(__size);
|
|
548
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
549
|
+
auto __element = __input->getElement(__i);
|
|
550
|
+
__vector.push_back(__element->toCpp());
|
|
551
|
+
}
|
|
552
|
+
return __vector;
|
|
553
|
+
}(__result));
|
|
554
|
+
});
|
|
555
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
556
|
+
jni::JniException __jniError(__throwable);
|
|
557
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
558
|
+
});
|
|
559
|
+
return __promise;
|
|
560
|
+
}();
|
|
561
|
+
}
|
|
562
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapIdle(const std::function<void(const IdleNotification& /* notification */)>& callback) {
|
|
563
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JFunc_void_IdleNotification::javaobject> /* callback */)>("imapIdle_cxx");
|
|
564
|
+
auto __result = method(_javaPart, JFunc_void_IdleNotification_cxx::fromCpp(callback));
|
|
565
|
+
return [&]() {
|
|
566
|
+
auto __promise = Promise<void>::create();
|
|
567
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
568
|
+
__promise->resolve();
|
|
569
|
+
});
|
|
570
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
571
|
+
jni::JniException __jniError(__throwable);
|
|
572
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
573
|
+
});
|
|
574
|
+
return __promise;
|
|
575
|
+
}();
|
|
576
|
+
}
|
|
577
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::imapStopIdle() {
|
|
578
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("imapStopIdle");
|
|
579
|
+
auto __result = method(_javaPart);
|
|
580
|
+
return [&]() {
|
|
581
|
+
auto __promise = Promise<void>::create();
|
|
582
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
583
|
+
__promise->resolve();
|
|
584
|
+
});
|
|
585
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
586
|
+
jni::JniException __jniError(__throwable);
|
|
587
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
588
|
+
});
|
|
589
|
+
return __promise;
|
|
590
|
+
}();
|
|
591
|
+
}
|
|
592
|
+
std::shared_ptr<Promise<QuotaInfo>> JHybridEmailImapSmtpSpec::imapGetQuota(const std::optional<std::string>& root) {
|
|
593
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* root */)>("imapGetQuota");
|
|
594
|
+
auto __result = method(_javaPart, root.has_value() ? jni::make_jstring(root.value()) : nullptr);
|
|
595
|
+
return [&]() {
|
|
596
|
+
auto __promise = Promise<QuotaInfo>::create();
|
|
597
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
598
|
+
auto __result = jni::static_ref_cast<JQuotaInfo>(__boxedResult);
|
|
599
|
+
__promise->resolve(__result->toCpp());
|
|
600
|
+
});
|
|
601
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
602
|
+
jni::JniException __jniError(__throwable);
|
|
603
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
604
|
+
});
|
|
605
|
+
return __promise;
|
|
606
|
+
}();
|
|
607
|
+
}
|
|
608
|
+
std::shared_ptr<Promise<AppendResult>> JHybridEmailImapSmtpSpec::imapAppendMessage(const std::string& mailbox, const std::shared_ptr<ArrayBuffer>& rawMimeData, const std::optional<std::vector<std::string>>& flags) {
|
|
609
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* mailbox */, jni::alias_ref<JArrayBuffer::javaobject> /* rawMimeData */, jni::alias_ref<jni::JArrayClass<jni::JString>> /* flags */)>("imapAppendMessage");
|
|
610
|
+
auto __result = method(_javaPart, jni::make_jstring(mailbox), JArrayBuffer::wrap(rawMimeData), flags.has_value() ? [&](auto&& __input) {
|
|
611
|
+
size_t __size = __input.size();
|
|
612
|
+
jni::local_ref<jni::JArrayClass<jni::JString>> __array = jni::JArrayClass<jni::JString>::newArray(__size);
|
|
613
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
614
|
+
const auto& __element = __input[__i];
|
|
615
|
+
auto __elementJni = jni::make_jstring(__element);
|
|
616
|
+
__array->setElement(__i, *__elementJni);
|
|
617
|
+
}
|
|
618
|
+
return __array;
|
|
619
|
+
}(flags.value()) : nullptr);
|
|
620
|
+
return [&]() {
|
|
621
|
+
auto __promise = Promise<AppendResult>::create();
|
|
622
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
623
|
+
auto __result = jni::static_ref_cast<JAppendResult>(__boxedResult);
|
|
624
|
+
__promise->resolve(__result->toCpp());
|
|
625
|
+
});
|
|
626
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
627
|
+
jni::JniException __jniError(__throwable);
|
|
628
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
629
|
+
});
|
|
630
|
+
return __promise;
|
|
631
|
+
}();
|
|
632
|
+
}
|
|
633
|
+
std::shared_ptr<Promise<ConnectionResult>> JHybridEmailImapSmtpSpec::smtpConnect(const SmtpConnectionConfig& config) {
|
|
634
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JSmtpConnectionConfig> /* config */)>("smtpConnect");
|
|
635
|
+
auto __result = method(_javaPart, JSmtpConnectionConfig::fromCpp(config));
|
|
636
|
+
return [&]() {
|
|
637
|
+
auto __promise = Promise<ConnectionResult>::create();
|
|
638
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
639
|
+
auto __result = jni::static_ref_cast<JConnectionResult>(__boxedResult);
|
|
640
|
+
__promise->resolve(__result->toCpp());
|
|
641
|
+
});
|
|
642
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
643
|
+
jni::JniException __jniError(__throwable);
|
|
644
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
645
|
+
});
|
|
646
|
+
return __promise;
|
|
647
|
+
}();
|
|
648
|
+
}
|
|
649
|
+
std::shared_ptr<Promise<void>> JHybridEmailImapSmtpSpec::smtpDisconnect() {
|
|
650
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("smtpDisconnect");
|
|
651
|
+
auto __result = method(_javaPart);
|
|
652
|
+
return [&]() {
|
|
653
|
+
auto __promise = Promise<void>::create();
|
|
654
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& /* unit */) {
|
|
655
|
+
__promise->resolve();
|
|
656
|
+
});
|
|
657
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
658
|
+
jni::JniException __jniError(__throwable);
|
|
659
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
660
|
+
});
|
|
661
|
+
return __promise;
|
|
662
|
+
}();
|
|
663
|
+
}
|
|
664
|
+
std::shared_ptr<Promise<SendMailResult>> JHybridEmailImapSmtpSpec::smtpSendMail(const SendMailOptions& options) {
|
|
665
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JSendMailOptions> /* options */)>("smtpSendMail");
|
|
666
|
+
auto __result = method(_javaPart, JSendMailOptions::fromCpp(options));
|
|
667
|
+
return [&]() {
|
|
668
|
+
auto __promise = Promise<SendMailResult>::create();
|
|
669
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
670
|
+
auto __result = jni::static_ref_cast<JSendMailResult>(__boxedResult);
|
|
671
|
+
__promise->resolve(__result->toCpp());
|
|
672
|
+
});
|
|
673
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
674
|
+
jni::JniException __jniError(__throwable);
|
|
675
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
676
|
+
});
|
|
677
|
+
return __promise;
|
|
678
|
+
}();
|
|
679
|
+
}
|
|
680
|
+
std::shared_ptr<Promise<bool>> JHybridEmailImapSmtpSpec::smtpVerifyConnection() {
|
|
681
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("smtpVerifyConnection");
|
|
682
|
+
auto __result = method(_javaPart);
|
|
683
|
+
return [&]() {
|
|
684
|
+
auto __promise = Promise<bool>::create();
|
|
685
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
686
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
687
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
688
|
+
});
|
|
689
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
690
|
+
jni::JniException __jniError(__throwable);
|
|
691
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
692
|
+
});
|
|
693
|
+
return __promise;
|
|
694
|
+
}();
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
} // namespace margelo::nitro::emailimapsmtp
|