aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java/native/com_libmailcore_MessageHeader.cpp
blob: b5774cdde03d365b9aeb071836b1b2805a09932f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include "com_libmailcore_MessageHeader.h"

#include "TypesUtils.h"
#include "JavaHandle.h"
#include "MCMessageHeader.h"
#include "MCDefines.h"

using namespace mailcore;

#define nativeType MessageHeader
#define javaType nativeType

MC_JAVA_SYNTHESIZE_STRING(setMessageID, messageID)

JNIEXPORT jboolean JNICALL Java_com_libmailcore_MessageHeader_isMessageIDAutoGenerated
  (JNIEnv * env, jobject obj)
{
    return (jboolean) MC_JAVA_NATIVE_INSTANCE->isMessageIDAutoGenerated();
}

MC_JAVA_SYNTHESIZE(Array, setReferences, references)
MC_JAVA_SYNTHESIZE(Array, setInReplyTo, inReplyTo)
    
JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageHeader_date
  (JNIEnv * env, jobject obj)
{
    return timeToJavaDate(env, MC_JAVA_NATIVE_INSTANCE->date());
}

JNIEXPORT void JNICALL Java_com_libmailcore_MessageHeader_setDate
  (JNIEnv * env, jobject obj, jobject date)
{
    MC_JAVA_NATIVE_INSTANCE->setDate(javaDateToTime(env, date));
}

JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageHeader_receivedDate
  (JNIEnv * env, jobject obj)
{
    return timeToJavaDate(env, MC_JAVA_NATIVE_INSTANCE->receivedDate());
}

JNIEXPORT void JNICALL Java_com_libmailcore_MessageHeader_setReceivedDate
  (JNIEnv * env, jobject obj, jobject date)
{
    MC_JAVA_NATIVE_INSTANCE->setReceivedDate(javaDateToTime(env, date));
}

MC_JAVA_SYNTHESIZE(Address, setSender, sender)
MC_JAVA_SYNTHESIZE(Address, setFrom, from)
MC_JAVA_SYNTHESIZE(Array, setTo, to)
MC_JAVA_SYNTHESIZE(Array, setCc, cc)
MC_JAVA_SYNTHESIZE(Array, setBcc, bcc)
MC_JAVA_SYNTHESIZE(Array, setReplyTo, replyTo)
MC_JAVA_SYNTHESIZE_STRING(setSubject, subject)
MC_JAVA_SYNTHESIZE_STRING(setUserAgent, userAgent)

JNIEXPORT void JNICALL Java_com_libmailcore_MessageHeader_setExtraHeader
  (JNIEnv * env, jobject obj, jstring name, jstring value)
{
    MC_JAVA_NATIVE_INSTANCE->setExtraHeader(MC_FROM_JAVA(String, name), MC_FROM_JAVA(String, value));
}

JNIEXPORT void JNICALL Java_com_libmailcore_MessageHeader_removeExtraHeader
  (JNIEnv * env, jobject obj, jstring name)
{
    MC_JAVA_NATIVE_INSTANCE->removeExtraHeader(MC_FROM_JAVA(String, name));
}

JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageHeader_extraHeaderValueForName
  (JNIEnv * env, jobject obj, jstring name)
{
    return (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->extraHeaderValueForName(MC_FROM_JAVA(String, name)));
}

JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageHeader_allExtraHeadersNames
  (JNIEnv * env, jobject obj)
{
    return MC_JAVA_BRIDGE_GET(allExtraHeadersNames);
}

JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageHeader_extractedSubject
  (JNIEnv * env, jobject obj)
{
    return (jstring) MC_JAVA_BRIDGE_GET(extractedSubject);
}

JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageHeader_partialExtractedSubject
  (JNIEnv * env, jobject obj)
{
    return (jstring) MC_JAVA_BRIDGE_GET(partialExtractedSubject);
}

JNIEXPORT void JNICALL Java_com_libmailcore_MessageHeader_importHeadersData
  (JNIEnv * env, jobject obj, jbyteArray data)
{
    MC_JAVA_NATIVE_INSTANCE->importHeadersData(MC_FROM_JAVA(Data, data));
}

JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageHeader_replyHeader
  (JNIEnv * env, jobject obj, jboolean replyAll, jobject excludedRecipients)
{
    return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->replyHeader(replyAll, MC_FROM_JAVA(Array, excludedRecipients)));
}

JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageHeader_forwardHeader
  (JNIEnv * env, jobject obj)
{
    return (jstring) MC_JAVA_BRIDGE_GET(forwardHeader);
}

MC_JAVA_BRIDGE