aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java/JavaHTMLRendererTemplateCallback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/JavaHTMLRendererTemplateCallback.cpp')
-rw-r--r--src/java/JavaHTMLRendererTemplateCallback.cpp123
1 files changed, 123 insertions, 0 deletions
diff --git a/src/java/JavaHTMLRendererTemplateCallback.cpp b/src/java/JavaHTMLRendererTemplateCallback.cpp
new file mode 100644
index 00000000..cd18855a
--- /dev/null
+++ b/src/java/JavaHTMLRendererTemplateCallback.cpp
@@ -0,0 +1,123 @@
+#include "JavaHTMLRendererTemplateCallback.h"
+
+#include "TypesUtils.h"
+
+using namespace mailcore;
+
+bool JavaHTMLRendererTemplateCallback::canPreviewPart(AbstractPart * part)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "canPreviewPart", "(Lcom/libmailcore/AbstractPart;)Z");
+ return (bool) mEnv->CallBooleanMethod(mCallback, mid, MC_TO_JAVA(part));
+}
+
+bool JavaHTMLRendererTemplateCallback::shouldShowPart(AbstractPart * part)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "shouldShowPart", "(Lcom/libmailcore/AbstractPart;)Z");
+ return (bool) mEnv->CallBooleanMethod(mCallback, mid, MC_TO_JAVA(part));
+}
+
+HashMap * JavaHTMLRendererTemplateCallback::templateValuesForHeader(MessageHeader * header)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateValuesForHeader", "(Lcom/libmailcore/MessageHeader;)Ljava/util/Map;");
+ return MC_FROM_JAVA(HashMap, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(header)));
+}
+
+HashMap * JavaHTMLRendererTemplateCallback::templateValuesForPart(AbstractPart * part)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateValuesForPart", "(Lcom/libmailcore/AbstractPart;)Ljava/util/Map;");
+ return MC_FROM_JAVA(HashMap, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(part)));
+}
+
+String * JavaHTMLRendererTemplateCallback::templateForMainHeader(MessageHeader * header)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateForMainHeader", "(Lcom/libmailcore/MessageHeader;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(header)));
+}
+
+String * JavaHTMLRendererTemplateCallback::templateForImage(AbstractPart * part)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateForImage", "(Lcom/libmailcore/AbstractPart;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(part)));
+}
+
+String * JavaHTMLRendererTemplateCallback::templateForAttachment(AbstractPart * part)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateForAttachment", "(Lcom/libmailcore/AbstractPart;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(part)));
+}
+
+String * JavaHTMLRendererTemplateCallback::templateForMessage(AbstractMessage * message)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateForAttachment", "(Lcom/libmailcore/AbstractMessage;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(message)));
+}
+
+String * JavaHTMLRendererTemplateCallback::templateForEmbeddedMessage(AbstractMessagePart * part)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateForEmbeddedMessage", "(Lcom/libmailcore/AbstractMessagePart;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(part)));
+}
+
+String * JavaHTMLRendererTemplateCallback::templateForEmbeddedMessageHeader(MessageHeader * header)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateForEmbeddedMessageHeader", "(Lcom/libmailcore/MessageHeader;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(header)));
+}
+
+String * JavaHTMLRendererTemplateCallback::templateForAttachmentSeparator()
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "templateForAttachmentSeparator", "()Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid));
+}
+
+String * JavaHTMLRendererTemplateCallback::cleanHTMLForPart(String * html)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "cleanHTMLForPart", "(Ljava/lang/String;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(html)));
+}
+
+String * JavaHTMLRendererTemplateCallback::filterHTMLForPart(String * html)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "filterHTMLForPart", "(Ljava/lang/String;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(html)));
+}
+
+String * JavaHTMLRendererTemplateCallback::filterHTMLForMessage(String * html)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mCallback);
+ jmethodID mid = mEnv->GetMethodID(cls, "filterHTMLForMessage", "(Ljava/lang/String;)Ljava/lang/String;");
+ return MC_FROM_JAVA(String, mEnv->CallObjectMethod(mCallback, mid, MC_TO_JAVA(html)));
+}
+
+JavaHTMLRendererTemplateCallback::JavaHTMLRendererTemplateCallback(JNIEnv * env, jobject callback)
+{
+ mCallback = callback;
+ mEnv = env;
+}