diff options
Diffstat (limited to 'src/java/native/com_libmailcore_MessageBuilder.cpp')
-rw-r--r-- | src/java/native/com_libmailcore_MessageBuilder.cpp | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/java/native/com_libmailcore_MessageBuilder.cpp b/src/java/native/com_libmailcore_MessageBuilder.cpp new file mode 100644 index 00000000..4369f436 --- /dev/null +++ b/src/java/native/com_libmailcore_MessageBuilder.cpp @@ -0,0 +1,90 @@ +#include "com_libmailcore_MessageBuilder.h" + +#include "TypesUtils.h" +#include "JavaHandle.h" +#include "MCMessageBuilder.h" +#include "MCDefines.h" +#include "JavaHTMLRendererTemplateCallback.h" + +using namespace mailcore; + +#define nativeType MessageBuilder +#define javaType nativeType + +MC_JAVA_SYNTHESIZE_STRING(setHTMLBody, htmlBody) +MC_JAVA_SYNTHESIZE_STRING(setTextBody, textBody) +MC_JAVA_SYNTHESIZE(Array, setAttachments, attachments) + +JNIEXPORT void JNICALL Java_com_libmailcore_MessageBuilder_addAttachment + (JNIEnv * env, jobject obj, jobject attachment) +{ + MC_JAVA_NATIVE_INSTANCE->addAttachment(MC_FROM_JAVA(Attachment, attachment)); +} + +MC_JAVA_SYNTHESIZE(Array, setRelatedAttachments, relatedAttachments) + +JNIEXPORT void JNICALL Java_com_libmailcore_MessageBuilder_addRelatedAttachment + (JNIEnv * env, jobject obj, jobject attachment) +{ + MC_JAVA_NATIVE_INSTANCE->addRelatedAttachment(MC_FROM_JAVA(Attachment, attachment)); +} + +MC_JAVA_SYNTHESIZE_STRING(setBoundaryPrefix, boundaryPrefix) + +JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_MessageBuilder_data + (JNIEnv * env, jobject obj) +{ + return (jbyteArray) MC_JAVA_BRIDGE_GET(data); +} + +JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_MessageBuilder_dataForEncryption + (JNIEnv * env, jobject obj) +{ + return (jbyteArray) MC_JAVA_BRIDGE_GET(dataForEncryption); +} + +JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_htmlRendering + (JNIEnv * env, jobject obj, jobject javaCallback) +{ + JavaHTMLRendererTemplateCallback * callback = NULL; + if (javaCallback != NULL) { + callback = new JavaHTMLRendererTemplateCallback(env, javaCallback); + } + jstring result = (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->htmlRendering(callback)); + if (callback != NULL) { + delete callback; + } + return result; +} + +JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_htmlBodyRendering + (JNIEnv * env, jobject obj) +{ + return (jstring) MC_JAVA_BRIDGE_GET(htmlBodyRendering); +} + +JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_plainTextRendering + (JNIEnv * env, jobject obj) +{ + return (jstring) MC_JAVA_NATIVE_INSTANCE->plainTextRendering(); +} + +JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_plainTextBodyRendering + (JNIEnv * env, jobject obj, jboolean stripWhitespace) +{ + return (jstring) MC_JAVA_NATIVE_INSTANCE->plainTextBodyRendering((bool) stripWhitespace); +} + +JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_MessageBuilder_openPGPSignedMessageDataWithSignatureData + (JNIEnv * env, jobject obj, jbyteArray signature) +{ + return (jbyteArray) MC_JAVA_NATIVE_INSTANCE->openPGPSignedMessageDataWithSignatureData(MC_FROM_JAVA(Data, signature)); +} + +JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_MessageBuilder_openPGPEncryptedMessageDataWithEncryptedData + (JNIEnv * env, jobject obj, jbyteArray encryptedData) +{ + return (jbyteArray) MC_JAVA_NATIVE_INSTANCE->openPGPEncryptedMessageDataWithEncryptedData(MC_FROM_JAVA(Data, encryptedData)); +} + +MC_JAVA_BRIDGE |