diff options
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 |