aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--build-android/jni/Android.mk3
-rw-r--r--src/java/com/libmailcore/NNTPFetchAllArticlesOperation.java5
-rw-r--r--src/java/com/libmailcore/NNTPFetchArticleOperation.java5
-rw-r--r--src/java/com/libmailcore/NNTPFetchHeaderOperation.java5
-rw-r--r--src/java/com/libmailcore/NNTPFetchOverviewOperation.java7
-rw-r--r--src/java/com/libmailcore/NNTPFetchServerTimeOperation.java7
-rw-r--r--src/java/com/libmailcore/NNTPGroupInfo.java16
-rw-r--r--src/java/com/libmailcore/NNTPListNewsgroupsOperation.java7
-rw-r--r--src/java/com/libmailcore/NNTPOperation.java24
-rw-r--r--src/java/com/libmailcore/NNTPSession.java80
-rw-r--r--src/java/com/libmailcore/POPFetchHeaderOperation.java5
-rw-r--r--src/java/com/libmailcore/POPFetchMessageOperation.java5
-rw-r--r--src/java/com/libmailcore/POPFetchMessagesOperation.java7
-rw-r--r--src/java/com/libmailcore/POPMessageInfo.java19
-rw-r--r--src/java/com/libmailcore/POPOperation.java24
-rw-r--r--src/java/com/libmailcore/POPSession.java80
-rw-r--r--src/java/com/libmailcore/SMTPOperation.java24
-rw-r--r--src/java/com/libmailcore/SMTPSession.java86
-rw-r--r--src/java/native/com_libmailcore_IMAPOperation.cpp6
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.h21
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp20
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchArticleOperation.h21
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp20
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchHeaderOperation.h21
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchOverviewOperation.h21
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.h21
-rw-r--r--src/java/native/com_libmailcore_NNTPGroupInfo.cpp16
-rw-r--r--src/java/native/com_libmailcore_NNTPGroupInfo.h53
-rw-r--r--src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.h21
-rw-r--r--src/java/native/com_libmailcore_NNTPOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_NNTPOperation.h21
-rw-r--r--src/java/native/com_libmailcore_NNTPSession.cpp135
-rw-r--r--src/java/native/com_libmailcore_NNTPSession.h253
-rw-r--r--src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_POPFetchHeaderOperation.h21
-rw-r--r--src/java/native/com_libmailcore_POPFetchMessageOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_POPFetchMessageOperation.h21
-rw-r--r--src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_POPFetchMessagesOperation.h21
-rw-r--r--src/java/native/com_libmailcore_POPMessageInfo.cpp17
-rw-r--r--src/java/native/com_libmailcore_POPMessageInfo.h69
-rw-r--r--src/java/native/com_libmailcore_POPOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_POPOperation.h21
-rw-r--r--src/java/native/com_libmailcore_POPSession.cpp118
-rw-r--r--src/java/native/com_libmailcore_POPSession.h245
-rw-r--r--src/java/native/com_libmailcore_SMTPOperation.cpp19
-rw-r--r--src/java/native/com_libmailcore_SMTPOperation.h21
-rw-r--r--src/java/native/com_libmailcore_SMTPSession.cpp108
-rw-r--r--src/java/native/com_libmailcore_SMTPSession.h261
53 files changed, 2166 insertions, 6 deletions
diff --git a/build-android/jni/Android.mk b/build-android/jni/Android.mk
index 3f1087f8..12294ec5 100644
--- a/build-android/jni/Android.mk
+++ b/build-android/jni/Android.mk
@@ -16,6 +16,9 @@ subdirs = \
core/zip \
core/zip/MiniZip \
async/imap \
+ async/nntp \
+ async/pop \
+ async/smtp \
java java/native
includes = \
$(CURRENT_DIR)/../include \
diff --git a/src/java/com/libmailcore/NNTPFetchAllArticlesOperation.java b/src/java/com/libmailcore/NNTPFetchAllArticlesOperation.java
new file mode 100644
index 00000000..697af5bb
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPFetchAllArticlesOperation.java
@@ -0,0 +1,5 @@
+package com.libmailcore;
+
+public class NNTPFetchAllArticlesOperation extends NNTPOperation {
+ public native IndexSet articles();
+}
diff --git a/src/java/com/libmailcore/NNTPFetchArticleOperation.java b/src/java/com/libmailcore/NNTPFetchArticleOperation.java
new file mode 100644
index 00000000..56f147db
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPFetchArticleOperation.java
@@ -0,0 +1,5 @@
+package com.libmailcore;
+
+public class NNTPFetchArticleOperation extends NNTPOperation {
+ public native byte[] data();
+}
diff --git a/src/java/com/libmailcore/NNTPFetchHeaderOperation.java b/src/java/com/libmailcore/NNTPFetchHeaderOperation.java
new file mode 100644
index 00000000..f0c40f31
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPFetchHeaderOperation.java
@@ -0,0 +1,5 @@
+package com.libmailcore;
+
+public class NNTPFetchHeaderOperation extends NNTPOperation {
+ public native MessageHeader header();
+}
diff --git a/src/java/com/libmailcore/NNTPFetchOverviewOperation.java b/src/java/com/libmailcore/NNTPFetchOverviewOperation.java
new file mode 100644
index 00000000..2707723e
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPFetchOverviewOperation.java
@@ -0,0 +1,7 @@
+package com.libmailcore;
+
+import java.util.List;
+
+public class NNTPFetchOverviewOperation extends NNTPOperation {
+ public native List<MessageHeader> articles();
+}
diff --git a/src/java/com/libmailcore/NNTPFetchServerTimeOperation.java b/src/java/com/libmailcore/NNTPFetchServerTimeOperation.java
new file mode 100644
index 00000000..72fd5b85
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPFetchServerTimeOperation.java
@@ -0,0 +1,7 @@
+package com.libmailcore;
+
+import java.util.Date;
+
+public class NNTPFetchServerTimeOperation extends NNTPOperation {
+ public native Date time();
+}
diff --git a/src/java/com/libmailcore/NNTPGroupInfo.java b/src/java/com/libmailcore/NNTPGroupInfo.java
new file mode 100644
index 00000000..f5bbfccb
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPGroupInfo.java
@@ -0,0 +1,16 @@
+package com.libmailcore;
+
+public class NNTPGroupInfo extends NativeObject {
+ public NNTPGroupInfo()
+ {
+ setupNative();
+ }
+
+ public native void setName(String name);
+ public native String name();
+
+ public native void setMessageCount(long count);
+ public native long messageCount();
+
+ private native void setupNative();
+}
diff --git a/src/java/com/libmailcore/NNTPListNewsgroupsOperation.java b/src/java/com/libmailcore/NNTPListNewsgroupsOperation.java
new file mode 100644
index 00000000..f5bf4b97
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPListNewsgroupsOperation.java
@@ -0,0 +1,7 @@
+package com.libmailcore;
+
+import java.util.List;
+
+public class NNTPListNewsgroupsOperation extends NNTPOperation {
+ public native List<NNTPGroupInfo> groups();
+}
diff --git a/src/java/com/libmailcore/NNTPOperation.java b/src/java/com/libmailcore/NNTPOperation.java
new file mode 100644
index 00000000..5787e03a
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPOperation.java
@@ -0,0 +1,24 @@
+package com.libmailcore;
+
+public class NNTPOperation extends Operation {
+ public MailException exception() {
+ if (errorCode() == ErrorCode.ErrorNone) {
+ return null;
+ }
+ return new MailException(errorCode());
+ }
+
+ private native int errorCode();
+
+ protected void callCallback()
+ {
+ if (callback != null) {
+ if (errorCode() == ErrorCode.ErrorNone) {
+ callback.succeeded();
+ }
+ else {
+ callback.failed(exception());
+ }
+ }
+ }
+}
diff --git a/src/java/com/libmailcore/NNTPSession.java b/src/java/com/libmailcore/NNTPSession.java
new file mode 100644
index 00000000..eb7d3d2e
--- /dev/null
+++ b/src/java/com/libmailcore/NNTPSession.java
@@ -0,0 +1,80 @@
+package com.libmailcore;
+
+public class NNTPSession extends NativeObject {
+ public NNTPSession()
+ {
+ setupNative();
+ }
+
+ protected void finalize() throws Throwable
+ {
+ finalizeNative();
+ super.finalize();
+ }
+
+ public native void setHostname(String hostname);
+ public native String hostname();
+
+ public native void setPort(int port);
+ public native int port();
+
+ public native void setUsername(String username);
+ public native String username();
+
+ public native void setPassword(String password);
+ public native String password();
+
+ public native void setConnectionType(int connectionType);
+ public native int connectionType();
+
+ public native void setTimeout(long seconds);
+ public native long timeout();
+
+ public native void setCheckCertificateEnabled(boolean enabled);
+ public native boolean isCheckCertificateEnabled();
+
+ public void setConnectionLogger(ConnectionLogger logger)
+ {
+ connectionLogger = logger;
+ setupNativeConnectionLogger();
+ }
+
+ public ConnectionLogger connectionLogger()
+ {
+ return connectionLogger;
+ }
+
+ public void setOperationQueueListener(OperationQueueListener listener)
+ {
+ operationQueueListener = listener;
+ setupNativeOperationQueueListener();
+ }
+
+ public OperationQueueListener operationQueueListener()
+ {
+ return operationQueueListener;
+ }
+
+ public native boolean isOperationQueueRunning();
+ public native void cancelAllOperations();
+
+ public native NNTPFetchAllArticlesOperation fetchAllArticlesOperation(String group);
+ public native NNTPFetchHeaderOperation fetchHeaderOperation(String group, int idx);
+ public native NNTPFetchArticleOperation fetchArticleOperation(String group, int idx);
+ public native NNTPFetchArticleOperation fetchArticleByMessageIDOperation(String group, String messageID);
+ public native NNTPFetchOverviewOperation fetchOverviewOperationWithIndexes(String group, IndexSet indexes);
+ public native NNTPFetchServerTimeOperation fetchServerDateOperation();
+ public native NNTPListNewsgroupsOperation listAllNewsgroupsOperation();
+ public native NNTPListNewsgroupsOperation listDefaultNewsgroupsOperation();
+ public native NNTPOperation disconnectOperation();
+ public native NNTPOperation checkAccountOperation();
+
+ private native void setupNative();
+ private native void finalizeNative();
+
+ private ConnectionLogger connectionLogger;
+ private OperationQueueListener operationQueueListener;
+
+ private native void setupNativeOperationQueueListener();
+ private native void setupNativeConnectionLogger();
+}
diff --git a/src/java/com/libmailcore/POPFetchHeaderOperation.java b/src/java/com/libmailcore/POPFetchHeaderOperation.java
new file mode 100644
index 00000000..4750ca8e
--- /dev/null
+++ b/src/java/com/libmailcore/POPFetchHeaderOperation.java
@@ -0,0 +1,5 @@
+package com.libmailcore;
+
+public class POPFetchHeaderOperation extends POPOperation {
+ public native MessageHeader header();
+}
diff --git a/src/java/com/libmailcore/POPFetchMessageOperation.java b/src/java/com/libmailcore/POPFetchMessageOperation.java
new file mode 100644
index 00000000..f0bbed6b
--- /dev/null
+++ b/src/java/com/libmailcore/POPFetchMessageOperation.java
@@ -0,0 +1,5 @@
+package com.libmailcore;
+
+public class POPFetchMessageOperation extends POPOperation {
+ public native byte[] data();
+}
diff --git a/src/java/com/libmailcore/POPFetchMessagesOperation.java b/src/java/com/libmailcore/POPFetchMessagesOperation.java
new file mode 100644
index 00000000..4844db24
--- /dev/null
+++ b/src/java/com/libmailcore/POPFetchMessagesOperation.java
@@ -0,0 +1,7 @@
+package com.libmailcore;
+
+import java.util.List;
+
+public class POPFetchMessagesOperation extends POPOperation {
+ public native List<POPMessageInfo> messages();
+}
diff --git a/src/java/com/libmailcore/POPMessageInfo.java b/src/java/com/libmailcore/POPMessageInfo.java
new file mode 100644
index 00000000..cbb2aa31
--- /dev/null
+++ b/src/java/com/libmailcore/POPMessageInfo.java
@@ -0,0 +1,19 @@
+package com.libmailcore;
+
+public class POPMessageInfo extends NativeObject {
+ public POPMessageInfo()
+ {
+ setupNative();
+ }
+
+ public native void setIndex(int index);
+ public native int index();
+
+ public native void setSize(long size);
+ public native long size();
+
+ public native void setUid(String uid);
+ public native String uid();
+
+ private native void setupNative();
+}
diff --git a/src/java/com/libmailcore/POPOperation.java b/src/java/com/libmailcore/POPOperation.java
new file mode 100644
index 00000000..e349a0c8
--- /dev/null
+++ b/src/java/com/libmailcore/POPOperation.java
@@ -0,0 +1,24 @@
+package com.libmailcore;
+
+public class POPOperation extends Operation {
+ public MailException exception() {
+ if (errorCode() == ErrorCode.ErrorNone) {
+ return null;
+ }
+ return new MailException(errorCode());
+ }
+
+ private native int errorCode();
+
+ protected void callCallback()
+ {
+ if (callback != null) {
+ if (errorCode() == ErrorCode.ErrorNone) {
+ callback.succeeded();
+ }
+ else {
+ callback.failed(exception());
+ }
+ }
+ }
+}
diff --git a/src/java/com/libmailcore/POPSession.java b/src/java/com/libmailcore/POPSession.java
new file mode 100644
index 00000000..b18c25e2
--- /dev/null
+++ b/src/java/com/libmailcore/POPSession.java
@@ -0,0 +1,80 @@
+package com.libmailcore;
+
+public class POPSession extends NativeObject {
+ public POPSession()
+ {
+ setupNative();
+ }
+
+ protected void finalize() throws Throwable
+ {
+ finalizeNative();
+ super.finalize();
+ }
+
+ public native void setHostname(String hostname);
+ public native String hostname();
+
+ public native void setPort(int port);
+ public native int port();
+
+ public native void setUsername(String username);
+ public native String username();
+
+ public native void setPassword(String password);
+ public native String password();
+
+ public native void setAuthType(int authType);
+ public native int authType();
+
+ public native void setConnectionType(int connectionType);
+ public native int connectionType();
+
+ public native void setTimeout(long seconds);
+ public native long timeout();
+
+ public native void setCheckCertificateEnabled(boolean enabled);
+ public native boolean isCheckCertificateEnabled();
+
+ public void setConnectionLogger(ConnectionLogger logger)
+ {
+ connectionLogger = logger;
+ setupNativeConnectionLogger();
+ }
+
+ public ConnectionLogger connectionLogger()
+ {
+ return connectionLogger;
+ }
+
+ public void setOperationQueueListener(OperationQueueListener listener)
+ {
+ operationQueueListener = listener;
+ setupNativeOperationQueueListener();
+ }
+
+ public OperationQueueListener operationQueueListener()
+ {
+ return operationQueueListener;
+ }
+
+ public native boolean isOperationQueueRunning();
+ public native void cancelAllOperations();
+
+ public native POPFetchMessagesOperation fetchMessagesOperation();
+ public native POPFetchHeaderOperation fetchHeaderOperation(int index);
+ public native POPFetchMessageOperation fetchMessageOperation(int index);
+ public native POPOperation deleteMessagesOperation(IndexSet indexes);
+ public native POPOperation disconnectOperation();
+ public native POPOperation checkAccountOperation();
+ public native POPOperation noopOperation();
+
+ private native void setupNative();
+ private native void finalizeNative();
+
+ private ConnectionLogger connectionLogger;
+ private OperationQueueListener operationQueueListener;
+
+ private native void setupNativeOperationQueueListener();
+ private native void setupNativeConnectionLogger();
+}
diff --git a/src/java/com/libmailcore/SMTPOperation.java b/src/java/com/libmailcore/SMTPOperation.java
new file mode 100644
index 00000000..16567b5f
--- /dev/null
+++ b/src/java/com/libmailcore/SMTPOperation.java
@@ -0,0 +1,24 @@
+package com.libmailcore;
+
+public class SMTPOperation extends Operation {
+ public MailException exception() {
+ if (errorCode() == ErrorCode.ErrorNone) {
+ return null;
+ }
+ return new MailException(errorCode());
+ }
+
+ private native int errorCode();
+
+ protected void callCallback()
+ {
+ if (callback != null) {
+ if (errorCode() == ErrorCode.ErrorNone) {
+ callback.succeeded();
+ }
+ else {
+ callback.failed(exception());
+ }
+ }
+ }
+}
diff --git a/src/java/com/libmailcore/SMTPSession.java b/src/java/com/libmailcore/SMTPSession.java
new file mode 100644
index 00000000..7eb8afe9
--- /dev/null
+++ b/src/java/com/libmailcore/SMTPSession.java
@@ -0,0 +1,86 @@
+package com.libmailcore;
+
+import java.util.List;
+
+public class SMTPSession extends NativeObject {
+ public SMTPSession()
+ {
+ setupNative();
+ }
+
+ protected void finalize() throws Throwable
+ {
+ finalizeNative();
+ super.finalize();
+ }
+
+ public native void setHostname(String hostname);
+ public native String hostname();
+
+ public native void setPort(int port);
+ public native int port();
+
+ public native void setUsername(String username);
+ public native String username();
+
+ public native void setPassword(String password);
+ public native String password();
+
+ public native void setOAuth2Token(String token);
+ public native String OAuth2Token();
+
+ public native void setAuthType(int authType);
+ public native int authType();
+
+ public native void setConnectionType(int connectionType);
+ public native int connectionType();
+
+ public native void setTimeout(long seconds);
+ public native long timeout();
+
+ public native void setCheckCertificateEnabled(boolean enabled);
+ public native boolean isCheckCertificateEnabled();
+
+ public native void setUseHeloIPEnabled(boolean enabled);
+ public native boolean useHeloIPEnabled();
+
+ public void setConnectionLogger(ConnectionLogger logger)
+ {
+ connectionLogger = logger;
+ setupNativeConnectionLogger();
+ }
+
+ public ConnectionLogger connectionLogger()
+ {
+ return connectionLogger;
+ }
+
+ public void setOperationQueueListener(OperationQueueListener listener)
+ {
+ operationQueueListener = listener;
+ setupNativeOperationQueueListener();
+ }
+
+ public OperationQueueListener operationQueueListener()
+ {
+ return operationQueueListener;
+ }
+
+ public native boolean isOperationQueueRunning();
+ public native void cancelAllOperations();
+
+ public native SMTPOperation loginOperation();
+ public native SMTPOperation sendMessageOperation(byte[] messageData);
+ public native SMTPOperation sendMessageOperation(Address from, List<Address> recipients, byte[] messageData);
+ public native SMTPOperation checkAccountOperation(Address from);
+ public native SMTPOperation noopOperation();
+
+ private native void setupNative();
+ private native void finalizeNative();
+
+ private ConnectionLogger connectionLogger;
+ private OperationQueueListener operationQueueListener;
+
+ private native void setupNativeOperationQueueListener();
+ private native void setupNativeConnectionLogger();
+}
diff --git a/src/java/native/com_libmailcore_IMAPOperation.cpp b/src/java/native/com_libmailcore_IMAPOperation.cpp
index 74e4f15c..af38fa8f 100644
--- a/src/java/native/com_libmailcore_IMAPOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPOperation.cpp
@@ -16,10 +16,4 @@ JNIEXPORT jint JNICALL Java_com_libmailcore_IMAPOperation_errorCode
return MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
}
-JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPOperation_errorMessage
- (JNIEnv * env, jobject obj)
-{
- return (jstring) MC_TO_JAVA(MCSTR("Operation failed"));
-}
-
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp
new file mode 100644
index 00000000..dcde1424
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_NNTPFetchAllArticlesOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPFetchAllArticlesOperation.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPFetchAllArticlesOperation
+#define javaType nativeType
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchAllArticlesOperation_articles
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET(articles);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.h b/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.h
new file mode 100644
index 00000000..94a75558
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPFetchAllArticlesOperation */
+
+#ifndef _Included_com_libmailcore_NNTPFetchAllArticlesOperation
+#define _Included_com_libmailcore_NNTPFetchAllArticlesOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPFetchAllArticlesOperation
+ * Method: articles
+ * Signature: ()Lcom/libmailcore/IndexSet;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchAllArticlesOperation_articles
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp
new file mode 100644
index 00000000..12b43c95
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp
@@ -0,0 +1,20 @@
+#include "com_libmailcore_NNTPFetchArticleOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPFetchArticleOperation.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPFetchArticleOperation
+#define javaType nativeType
+
+
+JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_NNTPFetchArticleOperation_data
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET_DATA(data);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchArticleOperation.h b/src/java/native/com_libmailcore_NNTPFetchArticleOperation.h
new file mode 100644
index 00000000..233015ff
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchArticleOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPFetchArticleOperation */
+
+#ifndef _Included_com_libmailcore_NNTPFetchArticleOperation
+#define _Included_com_libmailcore_NNTPFetchArticleOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPFetchArticleOperation
+ * Method: data
+ * Signature: ()[B
+ */
+JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_NNTPFetchArticleOperation_data
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp
new file mode 100644
index 00000000..5920fad6
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp
@@ -0,0 +1,20 @@
+#include "com_libmailcore_NNTPFetchHeaderOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPFetchHeaderOperation.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPFetchHeaderOperation
+#define javaType nativeType
+
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchHeaderOperation_header
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET(header);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.h b/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.h
new file mode 100644
index 00000000..78ea44f8
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPFetchHeaderOperation */
+
+#ifndef _Included_com_libmailcore_NNTPFetchHeaderOperation
+#define _Included_com_libmailcore_NNTPFetchHeaderOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPFetchHeaderOperation
+ * Method: data
+ * Signature: ()[B
+ */
+JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_NNTPFetchHeaderOperation_data
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp
new file mode 100644
index 00000000..bc908c7b
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_NNTPFetchOverviewOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPFetchOverviewOperation.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPFetchOverviewOperation
+#define javaType nativeType
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchOverviewOperation_articles
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET(articles);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.h b/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.h
new file mode 100644
index 00000000..8b7afb0d
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPFetchOverviewOperation */
+
+#ifndef _Included_com_libmailcore_NNTPFetchOverviewOperation
+#define _Included_com_libmailcore_NNTPFetchOverviewOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPFetchOverviewOperation
+ * Method: articles
+ * Signature: ()Ljava/util/List;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchOverviewOperation_articles
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp
new file mode 100644
index 00000000..76e48e92
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_NNTPFetchServerTimeOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPFetchServerTimeOperation.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPFetchServerTimeOperation
+#define javaType nativeType
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchServerTimeOperation_time
+ (JNIEnv * env, jobject obj)
+{
+ return timeToJavaDate(env, MC_JAVA_NATIVE_INSTANCE->time());
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.h b/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.h
new file mode 100644
index 00000000..687eac4d
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPFetchServerTimeOperation */
+
+#ifndef _Included_com_libmailcore_NNTPFetchServerTimeOperation
+#define _Included_com_libmailcore_NNTPFetchServerTimeOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPFetchServerTimeOperation
+ * Method: date
+ * Signature: ()Ljava/util/Date;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchServerTimeOperation_date
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_NNTPGroupInfo.cpp b/src/java/native/com_libmailcore_NNTPGroupInfo.cpp
new file mode 100644
index 00000000..c540c1a5
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPGroupInfo.cpp
@@ -0,0 +1,16 @@
+#include "com_libmailcore_NNTPGroupInfo.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPGroupInfo.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPGroupInfo
+#define javaType nativeType
+
+MC_JAVA_SYNTHESIZE_STRING(setName, name)
+MC_JAVA_SYNTHESIZE_SCALAR(jlong, uint32_t, setMessageCount, messageCount)
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPGroupInfo.h b/src/java/native/com_libmailcore_NNTPGroupInfo.h
new file mode 100644
index 00000000..15a08ac8
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPGroupInfo.h
@@ -0,0 +1,53 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPGroupInfo */
+
+#ifndef _Included_com_libmailcore_NNTPGroupInfo
+#define _Included_com_libmailcore_NNTPGroupInfo
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPGroupInfo
+ * Method: setName
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPGroupInfo_setName
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_NNTPGroupInfo
+ * Method: name
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_NNTPGroupInfo_name
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPGroupInfo
+ * Method: setMessageCount
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPGroupInfo_setMessageCount
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: com_libmailcore_NNTPGroupInfo
+ * Method: messageCount
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_com_libmailcore_NNTPGroupInfo_messageCount
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPGroupInfo
+ * Method: setupNative
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPGroupInfo_setupNative
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp b/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp
new file mode 100644
index 00000000..f59de7b5
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_NNTPListNewsgroupsOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPListNewsgroupsOperation.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPListNewsgroupsOperation
+#define javaType nativeType
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPListNewsgroupsOperation_groups
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET(groups);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.h b/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.h
new file mode 100644
index 00000000..ba732f04
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPListNewsgroupsOperation */
+
+#ifndef _Included_com_libmailcore_NNTPListNewsgroupsOperation
+#define _Included_com_libmailcore_NNTPListNewsgroupsOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPListNewsgroupsOperation
+ * Method: groups
+ * Signature: ()Ljava/util/List;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPListNewsgroupsOperation_groups
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_NNTPOperation.cpp b/src/java/native/com_libmailcore_NNTPOperation.cpp
new file mode 100644
index 00000000..42758163
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_NNTPOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPOperation.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPOperation
+#define javaType nativeType
+
+JNIEXPORT jint JNICALL Java_com_libmailcore_NNTPOperation_errorCode
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPOperation.h b/src/java/native/com_libmailcore_NNTPOperation.h
new file mode 100644
index 00000000..d9d77704
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPOperation */
+
+#ifndef _Included_com_libmailcore_NNTPOperation
+#define _Included_com_libmailcore_NNTPOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPOperation
+ * Method: errorCode
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_NNTPOperation_errorCode
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_NNTPSession.cpp b/src/java/native/com_libmailcore_NNTPSession.cpp
new file mode 100644
index 00000000..98b33ec8
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPSession.cpp
@@ -0,0 +1,135 @@
+#include "com_libmailcore_NNTPSession.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCNNTPAsyncSession.h"
+#include "JavaOperationQueueCallback.h"
+#include "JavaConnectionLogger.h"
+
+using namespace mailcore;
+
+#define nativeType NNTPAsyncSession
+#define javaType NNTPSession
+
+MC_JAVA_SYNTHESIZE_STRING(setHostname, hostname)
+MC_JAVA_SYNTHESIZE_SCALAR(jint, unsigned int, setPort, port)
+MC_JAVA_SYNTHESIZE_STRING(setUsername, username)
+MC_JAVA_SYNTHESIZE_STRING(setPassword, password)
+MC_JAVA_SYNTHESIZE_SCALAR(jint, ConnectionType, setConnectionType, connectionType)
+MC_JAVA_SYNTHESIZE_SCALAR(jlong, time_t, setTimeout, timeout)
+MC_JAVA_SYNTHESIZE_SCALAR(jboolean, bool, setCheckCertificateEnabled, isCheckCertificateEnabled)
+
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_NNTPSession_isOperationQueueRunning
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_cancelAllOperations
+ (JNIEnv * env, jobject obj)
+{
+ MC_JAVA_NATIVE_INSTANCE->cancelAllOperations();
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchAllArticlesOperation
+ (JNIEnv * env, jobject obj, jstring group)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchAllArticlesOperation(MC_FROM_JAVA(String, group)));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchHeaderOperation
+ (JNIEnv * env, jobject obj, jstring group, jint idx)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchHeaderOperation(MC_FROM_JAVA(String, group), (unsigned int) idx));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchArticleOperation
+ (JNIEnv * env, jobject obj, jstring group, jint idx)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchArticleOperation(MC_FROM_JAVA(String, group), (unsigned int) idx));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchArticleByMessageIDOperation
+ (JNIEnv * env, jobject obj, jstring group, jstring messageID)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchArticleByMessageIDOperation(MC_FROM_JAVA(String, group), MC_FROM_JAVA(String, messageID)));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchOverviewOperationWithIndexes
+ (JNIEnv * env, jobject obj, jstring group, jobject indexes)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchOverviewOperationWithIndexes(MC_FROM_JAVA(String, group), MC_FROM_JAVA(IndexSet, indexes)));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchServerDateOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchServerDateOperation());
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_listAllNewsgroupsOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->listDefaultNewsgroupsOperation());
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_listDefaultNewsgroupsOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->listDefaultNewsgroupsOperation());
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_disconnectOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->disconnectOperation());
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_checkAccountOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation());
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_finalizeNative
+ (JNIEnv * env, jobject obj)
+{
+ JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
+ MC_SAFE_RELEASE(callback);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
+
+ JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
+ MC_SAFE_RELEASE(logger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNativeOperationQueueListener
+ (JNIEnv * env, jobject obj)
+{
+ JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
+ MC_SAFE_RELEASE(callback);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
+
+ jobject javaListener = getObjectField(env, obj, "operationQueueListener");
+ if (javaListener != NULL) {
+ callback = new JavaOperationQueueCallback(env, javaListener);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(callback);
+ }
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNativeConnectionLogger
+ (JNIEnv * env, jobject obj)
+{
+ JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
+ MC_SAFE_RELEASE(logger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+
+ jobject javaLogger = getObjectField(env, obj, "connectionLogger");
+ if (javaLogger != NULL) {
+ logger = new JavaConnectionLogger(env, javaLogger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(logger);
+ }
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPSession.h b/src/java/native/com_libmailcore_NNTPSession.h
new file mode 100644
index 00000000..49b4ba7b
--- /dev/null
+++ b/src/java/native/com_libmailcore_NNTPSession.h
@@ -0,0 +1,253 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_NNTPSession */
+
+#ifndef _Included_com_libmailcore_NNTPSession
+#define _Included_com_libmailcore_NNTPSession
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setHostname
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setHostname
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: hostname
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_NNTPSession_hostname
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setPort
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setPort
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: port
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_NNTPSession_port
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setUsername
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setUsername
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: username
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_NNTPSession_username
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setPassword
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setPassword
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: password
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_NNTPSession_password
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setConnectionType
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setConnectionType
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: connectionType
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_NNTPSession_connectionType
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setTimeout
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setTimeout
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: timeout
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_com_libmailcore_NNTPSession_timeout
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setCheckCertificateEnabled
+ * Signature: (Z)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setCheckCertificateEnabled
+ (JNIEnv *, jobject, jboolean);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: isCheckCertificateEnabled
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_NNTPSession_isCheckCertificateEnabled
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: isOperationQueueRunning
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_NNTPSession_isOperationQueueRunning
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: cancelAllOperations
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_cancelAllOperations
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: fetchAllArticlesOperation
+ * Signature: (Ljava/lang/String;)Lcom/libmailcore/NNTPFetchAllArticlesOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchAllArticlesOperation
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: fetchHeaderOperation
+ * Signature: (Ljava/lang/String;I)Lcom/libmailcore/NNTPFetchHeaderOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchHeaderOperation
+ (JNIEnv *, jobject, jstring, jint);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: fetchArticleOperation
+ * Signature: (Ljava/lang/String;I)Lcom/libmailcore/NNTPFetchArticleOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchArticleOperation
+ (JNIEnv *, jobject, jstring, jint);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: fetchArticleByMessageIDOperation
+ * Signature: (Ljava/lang/String;Ljava/lang/String;)Lcom/libmailcore/NNTPFetchArticleOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchArticleByMessageIDOperation
+ (JNIEnv *, jobject, jstring, jstring);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: fetchOverviewOperationWithIndexes
+ * Signature: (Ljava/lang/String;Lcom/libmailcore/IndexSet;)Lcom/libmailcore/NNTPFetchOverviewOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchOverviewOperationWithIndexes
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: fetchServerDateOperation
+ * Signature: ()Lcom/libmailcore/NNTPFetchServerTimeOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchServerDateOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: listAllNewsgroupsOperation
+ * Signature: ()Lcom/libmailcore/NNTPListNewsgroupsOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_listAllNewsgroupsOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: listDefaultNewsgroupsOperation
+ * Signature: ()Lcom/libmailcore/NNTPListNewsgroupsOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_listDefaultNewsgroupsOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: disconnectOperation
+ * Signature: ()Lcom/libmailcore/NNTPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_disconnectOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: checkAccountOperation
+ * Signature: ()Lcom/libmailcore/NNTPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_checkAccountOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setupNative
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNative
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: finalizeNative
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_finalizeNative
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setupNativeOperationQueueListener
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNativeOperationQueueListener
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_NNTPSession
+ * Method: setupNativeConnectionLogger
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNativeConnectionLogger
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp b/src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp
new file mode 100644
index 00000000..8b5a9598
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_POPFetchHeaderOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCPOPFetchHeaderOperation.h"
+
+using namespace mailcore;
+
+#define nativeType POPFetchHeaderOperation
+#define javaType nativeType
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPFetchHeaderOperation_header
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET(header);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPFetchHeaderOperation.h b/src/java/native/com_libmailcore_POPFetchHeaderOperation.h
new file mode 100644
index 00000000..426d7c75
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPFetchHeaderOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_POPFetchHeaderOperation */
+
+#ifndef _Included_com_libmailcore_POPFetchHeaderOperation
+#define _Included_com_libmailcore_POPFetchHeaderOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_POPFetchHeaderOperation
+ * Method: header
+ * Signature: ()Lcom/libmailcore/MessageHeader;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPFetchHeaderOperation_header
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_POPFetchMessageOperation.cpp b/src/java/native/com_libmailcore_POPFetchMessageOperation.cpp
new file mode 100644
index 00000000..ad2babbc
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPFetchMessageOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_POPFetchMessageOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCPOPFetchMessageOperation.h"
+
+using namespace mailcore;
+
+#define nativeType POPFetchMessageOperation
+#define javaType nativeType
+
+JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_POPFetchMessageOperation_data
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET_DATA(data);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPFetchMessageOperation.h b/src/java/native/com_libmailcore_POPFetchMessageOperation.h
new file mode 100644
index 00000000..73596c12
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPFetchMessageOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_POPFetchMessageOperation */
+
+#ifndef _Included_com_libmailcore_POPFetchMessageOperation
+#define _Included_com_libmailcore_POPFetchMessageOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_POPFetchMessageOperation
+ * Method: data
+ * Signature: ()[B
+ */
+JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_POPFetchMessageOperation_data
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp b/src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp
new file mode 100644
index 00000000..3c267556
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_POPFetchMessagesOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCPOPFetchMessagesOperation.h"
+
+using namespace mailcore;
+
+#define nativeType POPFetchMessagesOperation
+#define javaType nativeType
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPFetchMessagesOperation_messages
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET(messages);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPFetchMessagesOperation.h b/src/java/native/com_libmailcore_POPFetchMessagesOperation.h
new file mode 100644
index 00000000..14dd2c3d
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPFetchMessagesOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_POPFetchMessagesOperation */
+
+#ifndef _Included_com_libmailcore_POPFetchMessagesOperation
+#define _Included_com_libmailcore_POPFetchMessagesOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_POPFetchMessagesOperation
+ * Method: messages
+ * Signature: ()Ljava/util/List;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPFetchMessagesOperation_messages
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_POPMessageInfo.cpp b/src/java/native/com_libmailcore_POPMessageInfo.cpp
new file mode 100644
index 00000000..757fb4fb
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPMessageInfo.cpp
@@ -0,0 +1,17 @@
+#include "com_libmailcore_POPMessageInfo.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCPOPMessageInfo.h"
+
+using namespace mailcore;
+
+#define nativeType POPMessageInfo
+#define javaType nativeType
+
+MC_JAVA_SYNTHESIZE_SCALAR(jint, unsigned int, setIndex, index)
+MC_JAVA_SYNTHESIZE_SCALAR(jlong, unsigned int, setSize, size)
+MC_JAVA_SYNTHESIZE_STRING(setUid, uid)
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPMessageInfo.h b/src/java/native/com_libmailcore_POPMessageInfo.h
new file mode 100644
index 00000000..1aa2648e
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPMessageInfo.h
@@ -0,0 +1,69 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_POPMessageInfo */
+
+#ifndef _Included_com_libmailcore_POPMessageInfo
+#define _Included_com_libmailcore_POPMessageInfo
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_POPMessageInfo
+ * Method: setIndex
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPMessageInfo_setIndex
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_POPMessageInfo
+ * Method: index
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_POPMessageInfo_index
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPMessageInfo
+ * Method: setSize
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPMessageInfo_setSize
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: com_libmailcore_POPMessageInfo
+ * Method: size
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_com_libmailcore_POPMessageInfo_size
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPMessageInfo
+ * Method: setUid
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPMessageInfo_setUid
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_POPMessageInfo
+ * Method: uid
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_POPMessageInfo_uid
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPMessageInfo
+ * Method: setupNative
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPMessageInfo_setupNative
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_POPOperation.cpp b/src/java/native/com_libmailcore_POPOperation.cpp
new file mode 100644
index 00000000..0a801330
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_POPOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCPOPOperation.h"
+
+using namespace mailcore;
+
+#define nativeType POPOperation
+#define javaType nativeType
+
+JNIEXPORT jint JNICALL Java_com_libmailcore_POPOperation_errorCode
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPOperation.h b/src/java/native/com_libmailcore_POPOperation.h
new file mode 100644
index 00000000..f85eba20
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_POPOperation */
+
+#ifndef _Included_com_libmailcore_POPOperation
+#define _Included_com_libmailcore_POPOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_POPOperation
+ * Method: errorCode
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_POPOperation_errorCode
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_POPSession.cpp b/src/java/native/com_libmailcore_POPSession.cpp
new file mode 100644
index 00000000..0b8eed3f
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPSession.cpp
@@ -0,0 +1,118 @@
+#include "com_libmailcore_POPSession.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCPOPAsyncSession.h"
+#include "JavaOperationQueueCallback.h"
+#include "JavaConnectionLogger.h"
+
+using namespace mailcore;
+
+#define nativeType POPAsyncSession
+#define javaType POPSession
+
+MC_JAVA_SYNTHESIZE_STRING(setHostname, hostname)
+MC_JAVA_SYNTHESIZE_SCALAR(jint, unsigned int, setPort, port)
+MC_JAVA_SYNTHESIZE_STRING(setUsername, username)
+MC_JAVA_SYNTHESIZE_STRING(setPassword, password)
+MC_JAVA_SYNTHESIZE_SCALAR(jint, AuthType, setAuthType, authType)
+MC_JAVA_SYNTHESIZE_SCALAR(jint, ConnectionType, setConnectionType, connectionType)
+MC_JAVA_SYNTHESIZE_SCALAR(jlong, time_t, setTimeout, timeout)
+MC_JAVA_SYNTHESIZE_SCALAR(jboolean, bool, setCheckCertificateEnabled, isCheckCertificateEnabled)
+
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_POPSession_isOperationQueueRunning
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_cancelAllOperations
+ (JNIEnv * env, jobject obj)
+{
+ MC_JAVA_NATIVE_INSTANCE->cancelAllOperations();
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchMessagesOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessagesOperation());
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchHeaderOperation
+ (JNIEnv * env, jobject obj, jint idx)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchHeaderOperation((unsigned int) idx));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchMessageOperation
+ (JNIEnv * env, jobject obj, jint idx)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageOperation((unsigned int) idx));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_deleteMessagesOperation
+ (JNIEnv * env, jobject obj, jobject indexes)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->deleteMessagesOperation(MC_FROM_JAVA(IndexSet, indexes)));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_disconnectOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->disconnectOperation());
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_checkAccountOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation());
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_noopOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->noopOperation());
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_finalizeNative
+ (JNIEnv * env, jobject obj)
+{
+ JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
+ MC_SAFE_RELEASE(callback);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
+
+ JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
+ MC_SAFE_RELEASE(logger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNativeOperationQueueListener
+ (JNIEnv * env, jobject obj)
+{
+ JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
+ MC_SAFE_RELEASE(callback);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
+
+ jobject javaListener = getObjectField(env, obj, "operationQueueListener");
+ if (javaListener != NULL) {
+ callback = new JavaOperationQueueCallback(env, javaListener);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(callback);
+ }
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNativeConnectionLogger
+ (JNIEnv * env, jobject obj)
+{
+ JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
+ MC_SAFE_RELEASE(logger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+
+ jobject javaLogger = getObjectField(env, obj, "connectionLogger");
+ if (javaLogger != NULL) {
+ logger = new JavaConnectionLogger(env, javaLogger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(logger);
+ }
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPSession.h b/src/java/native/com_libmailcore_POPSession.h
new file mode 100644
index 00000000..a20adc84
--- /dev/null
+++ b/src/java/native/com_libmailcore_POPSession.h
@@ -0,0 +1,245 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_POPSession */
+
+#ifndef _Included_com_libmailcore_POPSession
+#define _Included_com_libmailcore_POPSession
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setHostname
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setHostname
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: hostname
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_POPSession_hostname
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setPort
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setPort
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: port
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_POPSession_port
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setUsername
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setUsername
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: username
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_POPSession_username
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setPassword
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setPassword
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: password
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_POPSession_password
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setAuthType
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setAuthType
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: authType
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_POPSession_authType
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setConnectionType
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setConnectionType
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: connectionType
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_POPSession_connectionType
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setTimeout
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setTimeout
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: timeout
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_com_libmailcore_POPSession_timeout
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setCheckCertificateEnabled
+ * Signature: (Z)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setCheckCertificateEnabled
+ (JNIEnv *, jobject, jboolean);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: isCheckCertificateEnabled
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_POPSession_isCheckCertificateEnabled
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: isOperationQueueRunning
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_POPSession_isOperationQueueRunning
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: cancelAllOperations
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_cancelAllOperations
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: fetchMessagesOperation
+ * Signature: ()Lcom/libmailcore/POPFetchMessagesOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchMessagesOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: fetchHeaderOperation
+ * Signature: (I)Lcom/libmailcore/POPFetchHeaderOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchHeaderOperation
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: fetchMessageOperation
+ * Signature: (I)Lcom/libmailcore/POPFetchMessageOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchMessageOperation
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: deleteMessagesOperation
+ * Signature: (Lcom/libmailcore/IndexSet;)Lcom/libmailcore/POPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_deleteMessagesOperation
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: disconnectOperation
+ * Signature: ()Lcom/libmailcore/POPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_disconnectOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: checkAccountOperation
+ * Signature: ()Lcom/libmailcore/POPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_checkAccountOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: noopOperation
+ * Signature: ()Lcom/libmailcore/POPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_noopOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setupNative
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNative
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: finalizeNative
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_finalizeNative
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setupNativeOperationQueueListener
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNativeOperationQueueListener
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_POPSession
+ * Method: setupNativeConnectionLogger
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNativeConnectionLogger
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_SMTPOperation.cpp b/src/java/native/com_libmailcore_SMTPOperation.cpp
new file mode 100644
index 00000000..78eb325b
--- /dev/null
+++ b/src/java/native/com_libmailcore_SMTPOperation.cpp
@@ -0,0 +1,19 @@
+#include "com_libmailcore_SMTPOperation.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCSMTPOperation.h"
+
+using namespace mailcore;
+
+#define nativeType SMTPOperation
+#define javaType nativeType
+
+JNIEXPORT jint JNICALL Java_com_libmailcore_SMTPOperation_errorCode
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_SMTPOperation.h b/src/java/native/com_libmailcore_SMTPOperation.h
new file mode 100644
index 00000000..4560dd44
--- /dev/null
+++ b/src/java/native/com_libmailcore_SMTPOperation.h
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_SMTPOperation */
+
+#ifndef _Included_com_libmailcore_SMTPOperation
+#define _Included_com_libmailcore_SMTPOperation
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_SMTPOperation
+ * Method: errorCode
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_SMTPOperation_errorCode
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/src/java/native/com_libmailcore_SMTPSession.cpp b/src/java/native/com_libmailcore_SMTPSession.cpp
new file mode 100644
index 00000000..80057e5e
--- /dev/null
+++ b/src/java/native/com_libmailcore_SMTPSession.cpp
@@ -0,0 +1,108 @@
+#include "com_libmailcore_SMTPSession.h"
+
+#include "MCBaseTypes.h"
+#include "JavaHandle.h"
+#include "TypesUtils.h"
+#include "MCSMTPAsyncSession.h"
+#include "JavaOperationQueueCallback.h"
+#include "JavaConnectionLogger.h"
+
+using namespace mailcore;
+
+#define nativeType SMTPAsyncSession
+#define javaType SMTPSession
+
+MC_JAVA_SYNTHESIZE_STRING(setHostname, hostname)
+MC_JAVA_SYNTHESIZE_SCALAR(jint, unsigned int, setPort, port)
+MC_JAVA_SYNTHESIZE_STRING(setUsername, username)
+MC_JAVA_SYNTHESIZE_STRING(setPassword, password)
+MC_JAVA_SYNTHESIZE_STRING(setOAuth2Token, OAuth2Token)
+MC_JAVA_SYNTHESIZE_SCALAR(jint, AuthType, setAuthType, authType)
+MC_JAVA_SYNTHESIZE_SCALAR(jint, ConnectionType, setConnectionType, connectionType)
+MC_JAVA_SYNTHESIZE_SCALAR(jlong, time_t, setTimeout, timeout)
+MC_JAVA_SYNTHESIZE_SCALAR(jboolean, bool, setCheckCertificateEnabled, isCheckCertificateEnabled)
+MC_JAVA_SYNTHESIZE_SCALAR(jboolean, bool, setUseHeloIPEnabled, useHeloIPEnabled)
+
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_SMTPSession_isOperationQueueRunning
+ (JNIEnv * env, jobject obj)
+{
+ return MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_cancelAllOperations
+ (JNIEnv * env, jobject obj)
+{
+ MC_JAVA_NATIVE_INSTANCE->cancelAllOperations();
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_loginOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->loginOperation());
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_sendMessageOperation___3B
+ (JNIEnv * env, jobject obj, jbyteArray data)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->sendMessageOperation(MC_FROM_JAVA(Data, data)));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_sendMessageOperation__Lcom_libmailcore_Address_2Ljava_util_List_2_3B
+ (JNIEnv * env, jobject obj, jobject from, jobject recipients, jbyteArray data)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->sendMessageOperation(MC_FROM_JAVA(Address, from), MC_FROM_JAVA(Array, recipients), MC_FROM_JAVA(Data, data)));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_checkAccountOperation
+ (JNIEnv * env, jobject obj, jobject address)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation(MC_FROM_JAVA(Address, address)));
+}
+
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_noopOperation
+ (JNIEnv * env, jobject obj)
+{
+ return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->noopOperation());
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_finalizeNative
+ (JNIEnv * env, jobject obj)
+{
+ JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
+ MC_SAFE_RELEASE(callback);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
+
+ JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
+ MC_SAFE_RELEASE(logger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNativeOperationQueueListener
+ (JNIEnv * env, jobject obj)
+{
+ JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
+ MC_SAFE_RELEASE(callback);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
+
+ jobject javaListener = getObjectField(env, obj, "operationQueueListener");
+ if (javaListener != NULL) {
+ callback = new JavaOperationQueueCallback(env, javaListener);
+ MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(callback);
+ }
+}
+
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNativeConnectionLogger
+ (JNIEnv * env, jobject obj)
+{
+ JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
+ MC_SAFE_RELEASE(logger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+
+ jobject javaLogger = getObjectField(env, obj, "connectionLogger");
+ if (javaLogger != NULL) {
+ logger = new JavaConnectionLogger(env, javaLogger);
+ MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(logger);
+ }
+}
+
+MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_SMTPSession.h b/src/java/native/com_libmailcore_SMTPSession.h
new file mode 100644
index 00000000..bd119365
--- /dev/null
+++ b/src/java/native/com_libmailcore_SMTPSession.h
@@ -0,0 +1,261 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class com_libmailcore_SMTPSession */
+
+#ifndef _Included_com_libmailcore_SMTPSession
+#define _Included_com_libmailcore_SMTPSession
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setHostname
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setHostname
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: hostname
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_SMTPSession_hostname
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setPort
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setPort
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: port
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_SMTPSession_port
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setUsername
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setUsername
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: username
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_SMTPSession_username
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setPassword
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setPassword
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: password
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_SMTPSession_password
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setOAuth2Token
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setOAuth2Token
+ (JNIEnv *, jobject, jstring);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: OAuth2Token
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_com_libmailcore_SMTPSession_OAuth2Token
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setAuthType
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setAuthType
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: authType
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_SMTPSession_authType
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setConnectionType
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setConnectionType
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: connectionType
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_com_libmailcore_SMTPSession_connectionType
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setTimeout
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setTimeout
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: timeout
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_com_libmailcore_SMTPSession_timeout
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setCheckCertificateEnabled
+ * Signature: (Z)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setCheckCertificateEnabled
+ (JNIEnv *, jobject, jboolean);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: isCheckCertificateEnabled
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_SMTPSession_isCheckCertificateEnabled
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setUseHeloIPEnabled
+ * Signature: (Z)V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setUseHeloIPEnabled
+ (JNIEnv *, jobject, jboolean);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: useHeloIPEnabled
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_SMTPSession_useHeloIPEnabled
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: isOperationQueueRunning
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_com_libmailcore_SMTPSession_isOperationQueueRunning
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: cancelAllOperations
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_cancelAllOperations
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: loginOperation
+ * Signature: ()Lcom/libmailcore/SMTPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_loginOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: sendMessageOperation
+ * Signature: ([B)Lcom/libmailcore/SMTPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_sendMessageOperation___3B
+ (JNIEnv *, jobject, jbyteArray);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: sendMessageOperation
+ * Signature: (Lcom/libmailcore/Address;Ljava/util/List;[B)Lcom/libmailcore/SMTPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_sendMessageOperation__Lcom_libmailcore_Address_2Ljava_util_List_2_3B
+ (JNIEnv *, jobject, jobject, jobject, jbyteArray);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: checkAccountOperation
+ * Signature: (Lcom/libmailcore/Address;)Lcom/libmailcore/SMTPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_checkAccountOperation
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: noopOperation
+ * Signature: ()Lcom/libmailcore/SMTPOperation;
+ */
+JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_noopOperation
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setupNative
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNative
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: finalizeNative
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_finalizeNative
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setupNativeOperationQueueListener
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNativeOperationQueueListener
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_libmailcore_SMTPSession
+ * Method: setupNativeConnectionLogger
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNativeConnectionLogger
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif