diff options
Diffstat (limited to 'src/java/JavaHTMLRendererIMAPCallback.cpp')
-rw-r--r-- | src/java/JavaHTMLRendererIMAPCallback.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/java/JavaHTMLRendererIMAPCallback.cpp b/src/java/JavaHTMLRendererIMAPCallback.cpp new file mode 100644 index 00000000..11378450 --- /dev/null +++ b/src/java/JavaHTMLRendererIMAPCallback.cpp @@ -0,0 +1,35 @@ +#include "JavaHTMLRendererIMAPCallback.h" + +#include "TypesUtils.h" + +using namespace mailcore; + +JavaHTMLRendererIMAPCallback::JavaHTMLRendererIMAPCallback(JNIEnv * env, jobject callback) +{ + mCallback = callback; + mEnv = env; +} + +Data * JavaHTMLRendererIMAPCallback::dataForIMAPPart(String * folder, IMAPPart * part) +{ + JNIEnv * env = mEnv; + jclass cls = mEnv->GetObjectClass(mCallback); + jmethodID mid = mEnv->GetMethodID(cls, "dataForIMAPPart", "(Ljava/lang/String;Lcom/libmailcore/IMAPPart;)[B"); + return MC_FROM_JAVA(Data, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(folder), MC_TO_JAVA(part))); +} + +void JavaHTMLRendererIMAPCallback::prefetchAttachmentIMAPPart(String * folder, IMAPPart * part) +{ + JNIEnv * env = mEnv; + jclass cls = mEnv->GetObjectClass(mCallback); + jmethodID mid = mEnv->GetMethodID(cls, "prefetchAttachmentIMAPPart", "(Ljava/lang/String;Lcom/libmailcore/IMAPPart;)V"); + mEnv->CallVoidMethod(mCallback, mid, MC_TO_JAVA(folder), MC_TO_JAVA(part)); +} + +void JavaHTMLRendererIMAPCallback::prefetchImageIMAPPart(String * folder, IMAPPart * part) +{ + JNIEnv * env = mEnv; + jclass cls = mEnv->GetObjectClass(mCallback); + jmethodID mid = mEnv->GetMethodID(cls, "prefetchImageIMAPPart", "(Ljava/lang/String;Lcom/libmailcore/IMAPPart;)V"); + mEnv->CallVoidMethod(mCallback, mid, MC_TO_JAVA(folder), MC_TO_JAVA(part)); +} |