diff options
author | Hoa V. DINH <dinh.viet.hoa@gmail.com> | 2015-01-04 00:21:01 -0800 |
---|---|---|
committer | Hoa V. DINH <dinh.viet.hoa@gmail.com> | 2015-01-04 00:21:01 -0800 |
commit | 8aa7e6dc95a3794d92b248e172df1b4a1c8a5271 (patch) | |
tree | 19d12d60e67b0fe56e3356733b5e0c5218633009 /src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp | |
parent | 631c541e7b5ef5ac0930e6b1ace7afab0c52b298 (diff) |
Added java bindings for Android
Diffstat (limited to 'src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp')
-rw-r--r-- | src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp b/src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp new file mode 100644 index 00000000..735459a4 --- /dev/null +++ b/src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp @@ -0,0 +1,48 @@ +#include "com_libmailcore_IMAPFetchMessagesOperation.h" + +#include "MCBaseTypes.h" +#include "JavaHandle.h" +#include "TypesUtils.h" +#include "MCIMAPFetchMessagesOperation.h" +#include "JavaIMAPOperationCallback.h" + +using namespace mailcore; + +#define nativeType IMAPFetchMessagesOperation +#define javaType nativeType + +JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_messages + (JNIEnv * env, jobject obj) +{ + return MC_JAVA_BRIDGE_GET(messages); +} + +JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_vanishedMessages + (JNIEnv * env, jobject obj) +{ + return MC_JAVA_BRIDGE_GET(vanishedMessages); +} + +JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_finalizeNative + (JNIEnv * env, jobject obj) +{ + JavaIMAPOperationCallback * callback = (JavaIMAPOperationCallback *) MC_JAVA_NATIVE_INSTANCE->imapCallback(); + MC_SAFE_RELEASE(callback); + MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL); +} + +JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_setupNativeOperationProgressListener + (JNIEnv * env, jobject obj) +{ + JavaIMAPOperationCallback * callback = (JavaIMAPOperationCallback *) MC_JAVA_NATIVE_INSTANCE->imapCallback(); + MC_SAFE_RELEASE(callback); + MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL); + + jobject javaListener = getObjectField(env, obj, "listener"); + if (javaListener != NULL) { + callback = new JavaIMAPOperationCallback(env, javaListener); + MC_JAVA_NATIVE_INSTANCE->setImapCallback(callback); + } +} + +MC_JAVA_BRIDGE |