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,261 @@
|
|
|
1
|
+
export type AuthType = 'password' | 'oauth2' | 'none';
|
|
2
|
+
export type ConnectionType = 'tls' | 'starttls' | 'plain';
|
|
3
|
+
export interface IMAPConfig {
|
|
4
|
+
host: string;
|
|
5
|
+
port: number;
|
|
6
|
+
username: string;
|
|
7
|
+
password: string;
|
|
8
|
+
tls?: boolean;
|
|
9
|
+
authType?: AuthType;
|
|
10
|
+
accessToken?: string;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
checkCertificate?: boolean;
|
|
13
|
+
debug?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface SMTPConfig {
|
|
16
|
+
host: string;
|
|
17
|
+
port: number;
|
|
18
|
+
username: string;
|
|
19
|
+
password: string;
|
|
20
|
+
tls?: boolean;
|
|
21
|
+
authType?: AuthType;
|
|
22
|
+
accessToken?: string;
|
|
23
|
+
timeout?: number;
|
|
24
|
+
checkCertificate?: boolean;
|
|
25
|
+
helloName?: string;
|
|
26
|
+
debug?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface IMAPConnectionResult {
|
|
29
|
+
success: boolean;
|
|
30
|
+
serverInfo?: {
|
|
31
|
+
serverName: string;
|
|
32
|
+
capabilities: string[];
|
|
33
|
+
isCompressed: boolean;
|
|
34
|
+
};
|
|
35
|
+
error?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface SMTPConnectionResult {
|
|
38
|
+
success: boolean;
|
|
39
|
+
serverInfo?: {
|
|
40
|
+
serverName: string;
|
|
41
|
+
capabilities: string[];
|
|
42
|
+
supportedAuthMethods: string[];
|
|
43
|
+
};
|
|
44
|
+
error?: string;
|
|
45
|
+
}
|
|
46
|
+
export type MailboxFlag = string;
|
|
47
|
+
export interface Mailbox {
|
|
48
|
+
name: string;
|
|
49
|
+
path: string;
|
|
50
|
+
delimiter: string;
|
|
51
|
+
flags: MailboxFlag[];
|
|
52
|
+
subscribed: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface Folder {
|
|
55
|
+
name: string;
|
|
56
|
+
path: string;
|
|
57
|
+
delimiter: string;
|
|
58
|
+
parent: string;
|
|
59
|
+
children: string[];
|
|
60
|
+
flags: MailboxFlag[];
|
|
61
|
+
subscribed: boolean;
|
|
62
|
+
messageCount: number;
|
|
63
|
+
unseenCount: number;
|
|
64
|
+
}
|
|
65
|
+
export interface MailboxStatus {
|
|
66
|
+
name: string;
|
|
67
|
+
path: string;
|
|
68
|
+
uidNext: number;
|
|
69
|
+
uidValidity: number;
|
|
70
|
+
messageCount: number;
|
|
71
|
+
recentCount: number;
|
|
72
|
+
unseenCount: number;
|
|
73
|
+
firstUnseenUid: number;
|
|
74
|
+
highestModSeq?: number;
|
|
75
|
+
flags: string[];
|
|
76
|
+
permanentFlags: string[];
|
|
77
|
+
}
|
|
78
|
+
export type EmailFlag = 'seen' | 'answered' | 'flagged' | 'deleted' | 'draft' | 'recent' | 'junk' | 'forwarded';
|
|
79
|
+
export type EmailPriority = 'low' | 'normal' | 'high';
|
|
80
|
+
export interface EmailAddress {
|
|
81
|
+
name: string;
|
|
82
|
+
email: string;
|
|
83
|
+
}
|
|
84
|
+
export interface Attachment {
|
|
85
|
+
filename: string;
|
|
86
|
+
mimeType: string;
|
|
87
|
+
partId: string;
|
|
88
|
+
size: number;
|
|
89
|
+
data: ArrayBuffer;
|
|
90
|
+
contentId?: string;
|
|
91
|
+
inline: boolean;
|
|
92
|
+
charset?: string;
|
|
93
|
+
contentDisposition: string;
|
|
94
|
+
/** 附件缓存在本地的文件路径(如果有),避免大附件全部加载到内存 */
|
|
95
|
+
localPath?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface EmailBody {
|
|
98
|
+
text?: string;
|
|
99
|
+
html?: string;
|
|
100
|
+
embeddedAttachments: Attachment[];
|
|
101
|
+
}
|
|
102
|
+
export interface ThreadInfo {
|
|
103
|
+
threadId: string;
|
|
104
|
+
parentMessageId: string | null;
|
|
105
|
+
depth: number;
|
|
106
|
+
children: ThreadInfo[];
|
|
107
|
+
}
|
|
108
|
+
export interface Email {
|
|
109
|
+
uid: number;
|
|
110
|
+
sequenceNumber: number;
|
|
111
|
+
subject: string;
|
|
112
|
+
from: EmailAddress;
|
|
113
|
+
to: EmailAddress[];
|
|
114
|
+
cc: EmailAddress[];
|
|
115
|
+
bcc: EmailAddress[];
|
|
116
|
+
replyTo: EmailAddress[];
|
|
117
|
+
date: string;
|
|
118
|
+
receivedDate: string;
|
|
119
|
+
body: EmailBody;
|
|
120
|
+
attachments: Attachment[];
|
|
121
|
+
flags: EmailFlag[];
|
|
122
|
+
headers: Record<string, string>;
|
|
123
|
+
size: number;
|
|
124
|
+
messageId: string;
|
|
125
|
+
inReplyTo?: string;
|
|
126
|
+
references?: string;
|
|
127
|
+
priority: EmailPriority;
|
|
128
|
+
isEncrypted: boolean;
|
|
129
|
+
mimeType: string;
|
|
130
|
+
charset: string;
|
|
131
|
+
}
|
|
132
|
+
export interface FetchOptions {
|
|
133
|
+
fetchBody?: boolean;
|
|
134
|
+
fetchAttachments?: boolean;
|
|
135
|
+
fetchFlags?: boolean;
|
|
136
|
+
fetchHeaders?: boolean;
|
|
137
|
+
fetchFullContent?: boolean;
|
|
138
|
+
maxBodySize?: number;
|
|
139
|
+
}
|
|
140
|
+
export interface FetchEmailsOptions {
|
|
141
|
+
from?: number;
|
|
142
|
+
to?: number;
|
|
143
|
+
rangeType?: 'uid' | 'sequence';
|
|
144
|
+
page?: number;
|
|
145
|
+
pageSize?: number;
|
|
146
|
+
since?: string;
|
|
147
|
+
before?: string;
|
|
148
|
+
mailbox?: string;
|
|
149
|
+
fetchBody?: boolean;
|
|
150
|
+
fetchAttachments?: boolean;
|
|
151
|
+
fetchFlags?: boolean;
|
|
152
|
+
fetchHeaders?: boolean;
|
|
153
|
+
fetchFullContent?: boolean;
|
|
154
|
+
maxBodySize?: number;
|
|
155
|
+
}
|
|
156
|
+
export interface SearchCriteria {
|
|
157
|
+
text?: string;
|
|
158
|
+
subject?: string;
|
|
159
|
+
from?: string;
|
|
160
|
+
to?: string;
|
|
161
|
+
body?: string;
|
|
162
|
+
since?: string;
|
|
163
|
+
before?: string;
|
|
164
|
+
on?: string;
|
|
165
|
+
sentSince?: string;
|
|
166
|
+
sentBefore?: string;
|
|
167
|
+
flagged?: boolean;
|
|
168
|
+
seen?: boolean;
|
|
169
|
+
answered?: boolean;
|
|
170
|
+
draft?: boolean;
|
|
171
|
+
deleted?: boolean;
|
|
172
|
+
junk?: boolean;
|
|
173
|
+
hasAttachment?: boolean;
|
|
174
|
+
uids?: number[];
|
|
175
|
+
header?: {
|
|
176
|
+
key: string;
|
|
177
|
+
value: string;
|
|
178
|
+
};
|
|
179
|
+
larger?: number;
|
|
180
|
+
smaller?: number;
|
|
181
|
+
mailbox?: string;
|
|
182
|
+
sortOrder?: 'asc' | 'desc';
|
|
183
|
+
limit?: number;
|
|
184
|
+
fetchBody?: boolean;
|
|
185
|
+
fetchAttachments?: boolean;
|
|
186
|
+
fetchFlags?: boolean;
|
|
187
|
+
fetchHeaders?: boolean;
|
|
188
|
+
fetchFullContent?: boolean;
|
|
189
|
+
maxBodySize?: number;
|
|
190
|
+
}
|
|
191
|
+
export interface SendAttachment {
|
|
192
|
+
filename: string;
|
|
193
|
+
mimeType: string;
|
|
194
|
+
data: ArrayBuffer;
|
|
195
|
+
inline?: boolean;
|
|
196
|
+
contentId?: string;
|
|
197
|
+
disposition?: 'attachment' | 'inline';
|
|
198
|
+
}
|
|
199
|
+
export interface SendMailOptions {
|
|
200
|
+
from: EmailAddress;
|
|
201
|
+
to: EmailAddress[];
|
|
202
|
+
cc?: EmailAddress[];
|
|
203
|
+
bcc?: EmailAddress[];
|
|
204
|
+
replyTo?: EmailAddress[];
|
|
205
|
+
subject: string;
|
|
206
|
+
textBody?: string;
|
|
207
|
+
htmlBody?: string;
|
|
208
|
+
attachments?: SendAttachment[];
|
|
209
|
+
priority?: EmailPriority;
|
|
210
|
+
headers?: Record<string, string>;
|
|
211
|
+
inReplyTo?: string;
|
|
212
|
+
references?: string;
|
|
213
|
+
readReceiptTo?: EmailAddress;
|
|
214
|
+
charset?: string;
|
|
215
|
+
encoding?: '7bit' | '8bit' | 'base64' | 'quoted-printable';
|
|
216
|
+
}
|
|
217
|
+
export interface SendMailResult {
|
|
218
|
+
success: boolean;
|
|
219
|
+
messageId?: string;
|
|
220
|
+
date?: string;
|
|
221
|
+
serverResponseCode?: number;
|
|
222
|
+
rawMimeData?: ArrayBuffer;
|
|
223
|
+
queueId?: string;
|
|
224
|
+
error?: string;
|
|
225
|
+
retryable?: boolean;
|
|
226
|
+
}
|
|
227
|
+
export interface IMAPNotification {
|
|
228
|
+
type: 'newMessage' | 'messageDeleted' | 'messageFlagged' | 'mailboxChanged' | 'connectionLost';
|
|
229
|
+
mailbox: string;
|
|
230
|
+
uid?: number;
|
|
231
|
+
flag?: string;
|
|
232
|
+
messageCount?: number;
|
|
233
|
+
timestamp: number;
|
|
234
|
+
}
|
|
235
|
+
export interface QuotaInfo {
|
|
236
|
+
storageUsed: number;
|
|
237
|
+
storageLimit: number;
|
|
238
|
+
storageUnit: string;
|
|
239
|
+
messagesUsed?: number;
|
|
240
|
+
messagesLimit?: number;
|
|
241
|
+
root: string;
|
|
242
|
+
}
|
|
243
|
+
export interface BatchResult {
|
|
244
|
+
success: number[];
|
|
245
|
+
failed: number[];
|
|
246
|
+
error?: string;
|
|
247
|
+
}
|
|
248
|
+
export interface AppendResult {
|
|
249
|
+
uid: number;
|
|
250
|
+
uidValidity: number;
|
|
251
|
+
date: string;
|
|
252
|
+
}
|
|
253
|
+
export interface EmailError {
|
|
254
|
+
code: string;
|
|
255
|
+
message: string;
|
|
256
|
+
retryable: boolean;
|
|
257
|
+
serverResponse?: string;
|
|
258
|
+
originalResponse?: string;
|
|
259
|
+
details?: any;
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { IMAPConfig, SMTPConfig, IMAPConnectionResult, SMTPConnectionResult, Mailbox, MailboxStatus, Folder, Email, Attachment, FetchEmailsOptions, SearchCriteria, BatchResult, IMAPNotification, QuotaInfo, AppendResult, SendMailOptions, SendMailResult } from './types.js';
|
|
2
|
+
export declare function imapConnect(_config: IMAPConfig): Promise<IMAPConnectionResult>;
|
|
3
|
+
export declare function imapDisconnect(): Promise<void>;
|
|
4
|
+
export declare function imapListMailboxes(): Promise<Mailbox[]>;
|
|
5
|
+
export declare function imapSelectMailbox(_mailbox: string, _readOnly?: boolean): Promise<MailboxStatus>;
|
|
6
|
+
export declare function imapRefreshMailbox(): Promise<MailboxStatus>;
|
|
7
|
+
export declare function imapFetchFolders(): Promise<Folder[]>;
|
|
8
|
+
export declare function imapCreateFolder(_folderName: string): Promise<void>;
|
|
9
|
+
export declare function imapDeleteFolder(_folderName: string): Promise<void>;
|
|
10
|
+
export declare function imapRenameFolder(_oldName: string, _newName: string): Promise<void>;
|
|
11
|
+
export declare function imapSubscribeFolder(_folderName: string): Promise<void>;
|
|
12
|
+
export declare function imapUnsubscribeFolder(_folderName: string): Promise<void>;
|
|
13
|
+
export declare function imapFetchEmails(_options: FetchEmailsOptions): Promise<Email[]>;
|
|
14
|
+
export declare function imapFetchEmailByUID(_uid: number): Promise<Email | null>;
|
|
15
|
+
export declare function imapSearchEmails(_criteria: SearchCriteria): Promise<Email[]>;
|
|
16
|
+
export declare function imapMarkAsRead(_uids: number[], _silent?: boolean): Promise<void>;
|
|
17
|
+
export declare function imapMarkAsFlagged(_uids: number[], _flagged: boolean): Promise<void>;
|
|
18
|
+
export declare function imapMoveEmails(_uids: number[], _destinationMailbox: string): Promise<void>;
|
|
19
|
+
export declare function imapCopyEmails(_uids: number[], _destinationMailbox: string): Promise<void>;
|
|
20
|
+
export declare function imapDeleteEmails(_uids: number[]): Promise<BatchResult>;
|
|
21
|
+
export declare function imapExpunge(): Promise<void>;
|
|
22
|
+
export declare function imapFetchAttachments(_uid: number, _partId: string): Promise<Attachment | null>;
|
|
23
|
+
export declare function imapFetchAllAttachments(_uid: number): Promise<Attachment[]>;
|
|
24
|
+
export declare function imapIdle(_callback: (notification: IMAPNotification) => void): Promise<void>;
|
|
25
|
+
export declare function imapStopIdle(): Promise<void>;
|
|
26
|
+
export declare function imapGetQuota(_root?: string): Promise<QuotaInfo>;
|
|
27
|
+
export declare function imapAppendMessage(_mailbox: string, _rawMimeData: ArrayBuffer, _flags?: string[]): Promise<AppendResult>;
|
|
28
|
+
export declare function smtpConnect(_config: SMTPConfig): Promise<SMTPConnectionResult>;
|
|
29
|
+
export declare function smtpDisconnect(): Promise<void>;
|
|
30
|
+
export declare function smtpSendMail(_options: SendMailOptions): Promise<SendMailResult>;
|
|
31
|
+
export declare function smtpVerifyConnection(): Promise<boolean>;
|
|
32
|
+
//# sourceMappingURL=web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/web.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { IMAPConfig, SMTPConfig, IMAPConnectionResult, SMTPConnectionResult, Mailbox, MailboxStatus, Folder, Email, Attachment, FetchEmailsOptions, SearchCriteria, BatchResult, QuotaInfo, AppendResult, SendMailOptions, SendMailResult } from './types.js';
|
|
2
|
+
export declare function imapConnect(config: IMAPConfig): Promise<IMAPConnectionResult>;
|
|
3
|
+
export declare function imapDisconnect(): Promise<void>;
|
|
4
|
+
export declare function imapListMailboxes(): Promise<Mailbox[]>;
|
|
5
|
+
export declare function imapSelectMailbox(mailbox: string, readOnly?: boolean): Promise<MailboxStatus>;
|
|
6
|
+
export declare function imapRefreshMailbox(): Promise<MailboxStatus>;
|
|
7
|
+
export declare function imapFetchFolders(): Promise<Folder[]>;
|
|
8
|
+
export declare function imapCreateFolder(folderName: string): Promise<void>;
|
|
9
|
+
export declare function imapDeleteFolder(folderName: string): Promise<void>;
|
|
10
|
+
export declare function imapRenameFolder(oldName: string, newName: string): Promise<void>;
|
|
11
|
+
export declare function imapSubscribeFolder(folderName: string): Promise<void>;
|
|
12
|
+
export declare function imapUnsubscribeFolder(folderName: string): Promise<void>;
|
|
13
|
+
export declare function imapFetchEmails(options: FetchEmailsOptions): Promise<Email[]>;
|
|
14
|
+
export declare function imapFetchEmailByUID(uid: number): Promise<Email | null>;
|
|
15
|
+
export declare function imapSearchEmails(criteria: SearchCriteria): Promise<Email[]>;
|
|
16
|
+
export declare function imapMarkAsRead(uids: number[], silent: boolean): Promise<void>;
|
|
17
|
+
export declare function imapMarkAsFlagged(uids: number[], flagged: boolean): Promise<void>;
|
|
18
|
+
export declare function imapMoveEmails(uids: number[], destinationMailbox: string): Promise<void>;
|
|
19
|
+
export declare function imapCopyEmails(uids: number[], destinationMailbox: string): Promise<void>;
|
|
20
|
+
export declare function imapDeleteEmails(uids: number[]): Promise<BatchResult>;
|
|
21
|
+
export declare function imapExpunge(): Promise<void>;
|
|
22
|
+
export declare function imapFetchAttachments(uid: number, partId: string): Promise<Attachment | null>;
|
|
23
|
+
export declare function imapFetchAllAttachments(uid: number): Promise<Attachment[]>;
|
|
24
|
+
export declare function imapIdle(): Promise<void>;
|
|
25
|
+
export declare function imapStopIdle(): Promise<void>;
|
|
26
|
+
export declare function imapGetQuota(root?: string): Promise<QuotaInfo>;
|
|
27
|
+
export declare function imapAppendMessage(mailbox: string, rawMimeData: ArrayBuffer, flags?: string[]): Promise<AppendResult>;
|
|
28
|
+
export declare function smtpConnect(config: SMTPConfig): Promise<SMTPConnectionResult>;
|
|
29
|
+
export declare function smtpDisconnect(): Promise<void>;
|
|
30
|
+
export declare function smtpSendMail(options: SendMailOptions): Promise<SendMailResult>;
|
|
31
|
+
export declare function smtpVerifyConnection(): Promise<boolean>;
|
|
32
|
+
//# sourceMappingURL=windows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../src/windows.ts"],"names":[],"mappings":"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"}
|
package/nitro.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cxxNamespace": ["emailimapsmtp"],
|
|
3
|
+
"ios": {
|
|
4
|
+
"iosModuleName": "EmailImapSmtp"
|
|
5
|
+
},
|
|
6
|
+
"android": {
|
|
7
|
+
"androidNamespace": ["emailimapsmtp"],
|
|
8
|
+
"androidCxxLibName": "emailimapsmtp"
|
|
9
|
+
},
|
|
10
|
+
"autolinking": {
|
|
11
|
+
"EmailImapSmtp": {
|
|
12
|
+
"ios": {
|
|
13
|
+
"language": "swift",
|
|
14
|
+
"implementationClassName": "EmailImapSmtp"
|
|
15
|
+
},
|
|
16
|
+
"android": {
|
|
17
|
+
"language": "kotlin",
|
|
18
|
+
"implementationClassName": "EmailImapSmtp"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"ignorePaths": ["node_modules"]
|
|
23
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JAppendResult.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 "AppendResult.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 "AppendResult" and the Kotlin data class "AppendResult".
|
|
21
|
+
*/
|
|
22
|
+
struct JAppendResult final: public jni::JavaClass<JAppendResult> {
|
|
23
|
+
public:
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/emailimapsmtp/AppendResult;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct AppendResult by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
AppendResult toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldUid = clazz->getField<double>("uid");
|
|
35
|
+
double uid = this->getFieldValue(fieldUid);
|
|
36
|
+
static const auto fieldUidValidity = clazz->getField<double>("uidValidity");
|
|
37
|
+
double uidValidity = this->getFieldValue(fieldUidValidity);
|
|
38
|
+
static const auto fieldDate = clazz->getField<jni::JString>("date");
|
|
39
|
+
jni::local_ref<jni::JString> date = this->getFieldValue(fieldDate);
|
|
40
|
+
return AppendResult(
|
|
41
|
+
uid,
|
|
42
|
+
uidValidity,
|
|
43
|
+
date->toStdString()
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
/**
|
|
49
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
50
|
+
*/
|
|
51
|
+
[[maybe_unused]]
|
|
52
|
+
static jni::local_ref<JAppendResult::javaobject> fromCpp(const AppendResult& value) {
|
|
53
|
+
using JSignature = JAppendResult(double, double, jni::alias_ref<jni::JString>);
|
|
54
|
+
static const auto clazz = javaClassStatic();
|
|
55
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
56
|
+
return create(
|
|
57
|
+
clazz,
|
|
58
|
+
value.uid,
|
|
59
|
+
value.uidValidity,
|
|
60
|
+
jni::make_jstring(value.date)
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
} // namespace margelo::nitro::emailimapsmtp
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JAttachmentInfo.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 "AttachmentInfo.hpp"
|
|
12
|
+
|
|
13
|
+
#include <NitroModules/ArrayBuffer.hpp>
|
|
14
|
+
#include <NitroModules/JArrayBuffer.hpp>
|
|
15
|
+
#include <optional>
|
|
16
|
+
#include <string>
|
|
17
|
+
|
|
18
|
+
namespace margelo::nitro::emailimapsmtp {
|
|
19
|
+
|
|
20
|
+
using namespace facebook;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The C++ JNI bridge between the C++ struct "AttachmentInfo" and the Kotlin data class "AttachmentInfo".
|
|
24
|
+
*/
|
|
25
|
+
struct JAttachmentInfo final: public jni::JavaClass<JAttachmentInfo> {
|
|
26
|
+
public:
|
|
27
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/emailimapsmtp/AttachmentInfo;";
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
/**
|
|
31
|
+
* Convert this Java/Kotlin-based struct to the C++ struct AttachmentInfo by copying all values to C++.
|
|
32
|
+
*/
|
|
33
|
+
[[maybe_unused]]
|
|
34
|
+
[[nodiscard]]
|
|
35
|
+
AttachmentInfo toCpp() const {
|
|
36
|
+
static const auto clazz = javaClassStatic();
|
|
37
|
+
static const auto fieldFilename = clazz->getField<jni::JString>("filename");
|
|
38
|
+
jni::local_ref<jni::JString> filename = this->getFieldValue(fieldFilename);
|
|
39
|
+
static const auto fieldMimeType = clazz->getField<jni::JString>("mimeType");
|
|
40
|
+
jni::local_ref<jni::JString> mimeType = this->getFieldValue(fieldMimeType);
|
|
41
|
+
static const auto fieldPartId = clazz->getField<jni::JString>("partId");
|
|
42
|
+
jni::local_ref<jni::JString> partId = this->getFieldValue(fieldPartId);
|
|
43
|
+
static const auto fieldSize = clazz->getField<double>("size");
|
|
44
|
+
double size = this->getFieldValue(fieldSize);
|
|
45
|
+
static const auto fieldData = clazz->getField<JArrayBuffer::javaobject>("data");
|
|
46
|
+
jni::local_ref<JArrayBuffer::javaobject> data = this->getFieldValue(fieldData);
|
|
47
|
+
static const auto fieldContentId = clazz->getField<jni::JString>("contentId");
|
|
48
|
+
jni::local_ref<jni::JString> contentId = this->getFieldValue(fieldContentId);
|
|
49
|
+
static const auto fieldInline = clazz->getField<jboolean>("inline");
|
|
50
|
+
jboolean inline = this->getFieldValue(fieldInline);
|
|
51
|
+
static const auto fieldCharset = clazz->getField<jni::JString>("charset");
|
|
52
|
+
jni::local_ref<jni::JString> charset = this->getFieldValue(fieldCharset);
|
|
53
|
+
static const auto fieldContentDisposition = clazz->getField<jni::JString>("contentDisposition");
|
|
54
|
+
jni::local_ref<jni::JString> contentDisposition = this->getFieldValue(fieldContentDisposition);
|
|
55
|
+
static const auto fieldLocalPath = clazz->getField<jni::JString>("localPath");
|
|
56
|
+
jni::local_ref<jni::JString> localPath = this->getFieldValue(fieldLocalPath);
|
|
57
|
+
return AttachmentInfo(
|
|
58
|
+
filename->toStdString(),
|
|
59
|
+
mimeType->toStdString(),
|
|
60
|
+
partId->toStdString(),
|
|
61
|
+
size,
|
|
62
|
+
data->cthis()->getArrayBuffer(),
|
|
63
|
+
contentId != nullptr ? std::make_optional(contentId->toStdString()) : std::nullopt,
|
|
64
|
+
static_cast<bool>(inline),
|
|
65
|
+
charset != nullptr ? std::make_optional(charset->toStdString()) : std::nullopt,
|
|
66
|
+
contentDisposition->toStdString(),
|
|
67
|
+
localPath != nullptr ? std::make_optional(localPath->toStdString()) : std::nullopt
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
public:
|
|
72
|
+
/**
|
|
73
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
74
|
+
*/
|
|
75
|
+
[[maybe_unused]]
|
|
76
|
+
static jni::local_ref<JAttachmentInfo::javaobject> fromCpp(const AttachmentInfo& value) {
|
|
77
|
+
using JSignature = JAttachmentInfo(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, double, jni::alias_ref<JArrayBuffer::javaobject>, jni::alias_ref<jni::JString>, jboolean, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
|
|
78
|
+
static const auto clazz = javaClassStatic();
|
|
79
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
80
|
+
return create(
|
|
81
|
+
clazz,
|
|
82
|
+
jni::make_jstring(value.filename),
|
|
83
|
+
jni::make_jstring(value.mimeType),
|
|
84
|
+
jni::make_jstring(value.partId),
|
|
85
|
+
value.size,
|
|
86
|
+
JArrayBuffer::wrap(value.data),
|
|
87
|
+
value.contentId.has_value() ? jni::make_jstring(value.contentId.value()) : nullptr,
|
|
88
|
+
value.inline,
|
|
89
|
+
value.charset.has_value() ? jni::make_jstring(value.charset.value()) : nullptr,
|
|
90
|
+
jni::make_jstring(value.contentDisposition),
|
|
91
|
+
value.localPath.has_value() ? jni::make_jstring(value.localPath.value()) : nullptr
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
} // namespace margelo::nitro::emailimapsmtp
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JConnectionConfig.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 "ConnectionConfig.hpp"
|
|
12
|
+
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::emailimapsmtp {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The C++ JNI bridge between the C++ struct "ConnectionConfig" and the Kotlin data class "ConnectionConfig".
|
|
22
|
+
*/
|
|
23
|
+
struct JConnectionConfig final: public jni::JavaClass<JConnectionConfig> {
|
|
24
|
+
public:
|
|
25
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/emailimapsmtp/ConnectionConfig;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Convert this Java/Kotlin-based struct to the C++ struct ConnectionConfig by copying all values to C++.
|
|
30
|
+
*/
|
|
31
|
+
[[maybe_unused]]
|
|
32
|
+
[[nodiscard]]
|
|
33
|
+
ConnectionConfig toCpp() const {
|
|
34
|
+
static const auto clazz = javaClassStatic();
|
|
35
|
+
static const auto fieldHost = clazz->getField<jni::JString>("host");
|
|
36
|
+
jni::local_ref<jni::JString> host = this->getFieldValue(fieldHost);
|
|
37
|
+
static const auto fieldPort = clazz->getField<double>("port");
|
|
38
|
+
double port = this->getFieldValue(fieldPort);
|
|
39
|
+
static const auto fieldUsername = clazz->getField<jni::JString>("username");
|
|
40
|
+
jni::local_ref<jni::JString> username = this->getFieldValue(fieldUsername);
|
|
41
|
+
static const auto fieldPassword = clazz->getField<jni::JString>("password");
|
|
42
|
+
jni::local_ref<jni::JString> password = this->getFieldValue(fieldPassword);
|
|
43
|
+
static const auto fieldTls = clazz->getField<jboolean>("tls");
|
|
44
|
+
jboolean tls = this->getFieldValue(fieldTls);
|
|
45
|
+
static const auto fieldAuthType = clazz->getField<jni::JString>("authType");
|
|
46
|
+
jni::local_ref<jni::JString> authType = this->getFieldValue(fieldAuthType);
|
|
47
|
+
static const auto fieldAccessToken = clazz->getField<jni::JString>("accessToken");
|
|
48
|
+
jni::local_ref<jni::JString> accessToken = this->getFieldValue(fieldAccessToken);
|
|
49
|
+
static const auto fieldTimeout = clazz->getField<double>("timeout");
|
|
50
|
+
double timeout = this->getFieldValue(fieldTimeout);
|
|
51
|
+
static const auto fieldCheckCertificate = clazz->getField<jboolean>("checkCertificate");
|
|
52
|
+
jboolean checkCertificate = this->getFieldValue(fieldCheckCertificate);
|
|
53
|
+
static const auto fieldDebug = clazz->getField<jboolean>("debug");
|
|
54
|
+
jboolean debug = this->getFieldValue(fieldDebug);
|
|
55
|
+
return ConnectionConfig(
|
|
56
|
+
host->toStdString(),
|
|
57
|
+
port,
|
|
58
|
+
username->toStdString(),
|
|
59
|
+
password->toStdString(),
|
|
60
|
+
static_cast<bool>(tls),
|
|
61
|
+
authType->toStdString(),
|
|
62
|
+
accessToken != nullptr ? std::make_optional(accessToken->toStdString()) : std::nullopt,
|
|
63
|
+
timeout,
|
|
64
|
+
static_cast<bool>(checkCertificate),
|
|
65
|
+
static_cast<bool>(debug)
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public:
|
|
70
|
+
/**
|
|
71
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
72
|
+
*/
|
|
73
|
+
[[maybe_unused]]
|
|
74
|
+
static jni::local_ref<JConnectionConfig::javaobject> fromCpp(const ConnectionConfig& value) {
|
|
75
|
+
using JSignature = JConnectionConfig(jni::alias_ref<jni::JString>, double, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jboolean, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, double, jboolean, jboolean);
|
|
76
|
+
static const auto clazz = javaClassStatic();
|
|
77
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
78
|
+
return create(
|
|
79
|
+
clazz,
|
|
80
|
+
jni::make_jstring(value.host),
|
|
81
|
+
value.port,
|
|
82
|
+
jni::make_jstring(value.username),
|
|
83
|
+
jni::make_jstring(value.password),
|
|
84
|
+
value.tls,
|
|
85
|
+
jni::make_jstring(value.authType),
|
|
86
|
+
value.accessToken.has_value() ? jni::make_jstring(value.accessToken.value()) : nullptr,
|
|
87
|
+
value.timeout,
|
|
88
|
+
value.checkCertificate,
|
|
89
|
+
value.debug
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
} // namespace margelo::nitro::emailimapsmtp
|