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