aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java/native/com_libmailcore_MessageHeader.cpp
blob: a161df0bd8aa36092b5e89353b22eb0cf831c441 (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#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)
{
    MC_POOL_BEGIN;
    jboolean result = (jboolean) MC_JAVA_NATIVE_INSTANCE->isMessageIDAutoGenerated();
    MC_POOL_END;
    return result;
}

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

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

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

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

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_POOL_BEGIN;
    MC_JAVA_NATIVE_INSTANCE->setExtraHeader(MC_FROM_JAVA(String, name), MC_FROM_JAVA(String, value));
    MC_POOL_END;
}

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

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

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

JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageHeader_extractedSubject
  (JNIEnv * env, jobject obj)
{
    MC_POOL_BEGIN;
    jstring result = MC_JAVA_BRIDGE_GET_STRING(extractedSubject);
    MC_POOL_END;
    return result;
}

JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageHeader_partialExtractedSubject
  (JNIEnv * env, jobject obj)
{
    MC_POOL_BEGIN;
    jstring result = MC_JAVA_BRIDGE_GET_STRING(partialExtractedSubject);
    MC_POOL_END;
    return result;
}

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

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

JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageHeader_forwardHeader
  (JNIEnv * env, jobject obj)
{
    MC_POOL_BEGIN;
    jobject result = MC_JAVA_BRIDGE_GET(forwardHeader);
    MC_POOL_END;
    return result;
}

MC_JAVA_BRIDGE