aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-01-12 23:18:42 -0800
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2015-01-12 23:18:42 -0800
commit7e08733589a278454bd0c16096a68f9eaa1a626b (patch)
tree341a8a22864dc94e3368e60d7f05c820b9a66406
parent6df03450a7057ee74341079df672679ba9663348 (diff)
Cleanup. Apply autorelease pool properly.
-rw-r--r--example/android/AndroidExample/app/app.iml1
-rw-r--r--example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListActivity.java2
-rw-r--r--example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListFragment.java2
-rw-r--r--src/java/TypesUtils.h33
-rw-r--r--src/java/native/com_libmailcore_AbstractMessage.cpp25
-rw-r--r--src/java/native/com_libmailcore_AbstractPart.cpp22
-rw-r--r--src/java/native/com_libmailcore_Address.cpp50
-rw-r--r--src/java/native/com_libmailcore_Attachment.cpp35
-rw-r--r--src/java/native/com_libmailcore_HTMLRendererTemplateCallbackUtils.cpp70
-rw-r--r--src/java/native/com_libmailcore_IMAPAppendMessageOperation.cpp12
-rw-r--r--src/java/native/com_libmailcore_IMAPCapabilityOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPCopyMessagesOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp9
-rw-r--r--src/java/native/com_libmailcore_IMAPFetchFoldersOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp14
-rw-r--r--src/java/native/com_libmailcore_IMAPFetchNamespaceOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPFetchParsedContentOperation.cpp9
-rw-r--r--src/java/native/com_libmailcore_IMAPFolderInfoOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPFolderStatusOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPIdentity.cpp14
-rw-r--r--src/java/native/com_libmailcore_IMAPIdentityOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPIdleOperation.cpp2
-rw-r--r--src/java/native/com_libmailcore_IMAPMessage.cpp17
-rw-r--r--src/java/native/com_libmailcore_IMAPMessageRenderingOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPNamespace.cpp40
-rw-r--r--src/java/native/com_libmailcore_IMAPNamespaceItem.cpp15
-rw-r--r--src/java/native/com_libmailcore_IMAPOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPPart.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPQuotaOperation.cpp10
-rw-r--r--src/java/native/com_libmailcore_IMAPSearchExpression.cpp175
-rw-r--r--src/java/native/com_libmailcore_IMAPSearchOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_IMAPSession.cpp228
-rw-r--r--src/java/native/com_libmailcore_IndexSet.cpp50
-rw-r--r--src/java/native/com_libmailcore_MailException.cpp5
-rw-r--r--src/java/native/com_libmailcore_MessageBuilder.cpp41
-rw-r--r--src/java/native/com_libmailcore_MessageHeader.cpp55
-rw-r--r--src/java/native/com_libmailcore_MessageParser.cpp28
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_NNTPOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_NNTPSession.cpp63
-rw-r--r--src/java/native/com_libmailcore_NativeObject.cpp22
-rw-r--r--src/java/native/com_libmailcore_Operation.cpp9
-rw-r--r--src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_POPFetchMessageOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_POPOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_POPSession.cpp48
-rw-r--r--src/java/native/com_libmailcore_Range.cpp40
-rw-r--r--src/java/native/com_libmailcore_SMTPOperation.cpp5
-rw-r--r--src/java/native/com_libmailcore_SMTPSession.cpp38
55 files changed, 1058 insertions, 241 deletions
diff --git a/example/android/AndroidExample/app/app.iml b/example/android/AndroidExample/app/app.iml
index cdd2cdf5..6720fe38 100644
--- a/example/android/AndroidExample/app/app.iml
+++ b/example/android/AndroidExample/app/app.iml
@@ -79,6 +79,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
diff --git a/example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListActivity.java b/example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListActivity.java
index e0115a69..4577b594 100644
--- a/example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListActivity.java
+++ b/example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListActivity.java
@@ -51,8 +51,6 @@ public class MessageViewListActivity extends Activity
.findFragmentById(R.id.messageview_list))
.setActivateOnItemClick(true);
}
-
- // TODO: If exposing deep links into your app, handle intents here.
}
/**
diff --git a/example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListFragment.java b/example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListFragment.java
index b39c51ac..f0ef5174 100644
--- a/example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListFragment.java
+++ b/example/android/AndroidExample/app/src/main/java/com/libmailcore/androidexample/MessageViewListFragment.java
@@ -14,7 +14,6 @@ import com.libmailcore.IMAPFetchMessagesOperation;
import com.libmailcore.IMAPMessage;
import com.libmailcore.MailException;
import com.libmailcore.OperationCallback;
-//import com.libmailcore.androidexample.dummy.DummyContent;
import com.libmailcore.IndexSet;
import com.libmailcore.IMAPMessagesRequestKind;
import com.libmailcore.Range;
@@ -184,7 +183,6 @@ public class MessageViewListFragment extends ListFragment implements OperationCa
android.R.id.text1,
array);
- // TODO: replace with a real list adapter.
setListAdapter(adapter);
}
diff --git a/src/java/TypesUtils.h b/src/java/TypesUtils.h
index 67430c72..c0087a46 100644
--- a/src/java/TypesUtils.h
+++ b/src/java/TypesUtils.h
@@ -23,52 +23,73 @@
#define MC_JAVA_BRIDGE MC_JAVA_BRIDGE_internal(javaType, nativeType)
#define MC_JAVA_CONCAT(a, b) a ## b
-//#define prefix MC_JAVA_CONCAT(prefix1, _)
-//#define prefix(nativeType) Java_com_libmailcore_ ## nativeType ## _
#define prefixed_function(javaType, function_name) Java_com_libmailcore_ ## javaType ## _ ## function_name
+#define MC_POOL_BEGIN AutoreleasePool * __pool = new AutoreleasePool();
+#define MC_POOL_END __pool->release();
+
#define MC_JAVA_SYNTHESIZE_internal(type, javaType, setter, getter) \
JNIEXPORT jobject JNICALL prefixed_function(javaType, getter) (JNIEnv * env, jobject obj) \
{ \
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->getter()); \
+ MC_POOL_BEGIN; \
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->getter()); \
+ MC_POOL_END; \
+ return result; \
} \
\
JNIEXPORT void JNICALL prefixed_function(javaType, setter) (JNIEnv * env, jobject obj, jobject value) \
{ \
+ MC_POOL_BEGIN; \
MC_JAVA_NATIVE_INSTANCE->setter(MC_FROM_JAVA(type, value)); \
+ MC_POOL_END; \
}
#define MC_JAVA_SYNTHESIZE_STRING_internal(javaType, setter, getter) \
JNIEXPORT jstring JNICALL prefixed_function(javaType, getter) (JNIEnv * env, jobject obj) \
{ \
- return (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->getter()); \
+ MC_POOL_BEGIN; \
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->getter()); \
+ MC_POOL_END; \
+ return (jstring) result; \
} \
\
JNIEXPORT void JNICALL prefixed_function(javaType, setter) (JNIEnv * env, jobject obj, jstring value) \
{ \
+ MC_POOL_BEGIN; \
MC_JAVA_NATIVE_INSTANCE->setter(MC_FROM_JAVA(String, value)); \
+ MC_POOL_END; \
}
#define MC_JAVA_SYNTHESIZE_DATA_internal(javaType, setter, getter) \
JNIEXPORT jbyteArray JNICALL prefixed_function(javaType, getter) (JNIEnv * env, jobject obj) \
{ \
- return (jbyteArray) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->getter()); \
+ MC_POOL_BEGIN; \
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->getter()); \
+ MC_POOL_END; \
+ return (jbyteArray) result; \
} \
\
JNIEXPORT void JNICALL prefixed_function(javaType, setter) (JNIEnv * env, jobject obj, jbyteArray value) \
{ \
+ MC_POOL_BEGIN; \
MC_JAVA_NATIVE_INSTANCE->setter(MC_FROM_JAVA(Data, value)); \
+ MC_POOL_END; \
}
#define MC_JAVA_SYNTHESIZE_SCALAR_internal(javaScalarType, scalarType, javaType, setter, getter) \
JNIEXPORT javaScalarType JNICALL prefixed_function(javaType, getter) (JNIEnv * env, jobject obj) \
{ \
- return (javaScalarType) MC_JAVA_NATIVE_INSTANCE->getter(); \
+ MC_POOL_BEGIN; \
+ javaScalarType result = (javaScalarType) MC_JAVA_NATIVE_INSTANCE->getter(); \
+ MC_POOL_END; \
+ return result; \
} \
\
JNIEXPORT void JNICALL prefixed_function(javaType, setter) (JNIEnv * env, jobject obj, javaScalarType value) \
{ \
+ MC_POOL_BEGIN; \
MC_JAVA_NATIVE_INSTANCE->setter((scalarType) value); \
+ MC_POOL_END; \
}
#define mc_quote(word) #word
diff --git a/src/java/native/com_libmailcore_AbstractMessage.cpp b/src/java/native/com_libmailcore_AbstractMessage.cpp
index ceec521a..19fa4e64 100644
--- a/src/java/native/com_libmailcore_AbstractMessage.cpp
+++ b/src/java/native/com_libmailcore_AbstractMessage.cpp
@@ -16,29 +16,44 @@ MC_JAVA_SYNTHESIZE(MessageHeader, setHeader, header)
JNIEXPORT jobject JNICALL Java_com_libmailcore_AbstractMessage_partForContentID
(JNIEnv * env, jobject obj, jstring contentID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForContentID(MC_FROM_JAVA(String, contentID)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForContentID(MC_FROM_JAVA(String, contentID)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_AbstractMessage_partForUniqueID
(JNIEnv * env, jobject obj, jstring uniqueID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForUniqueID(MC_FROM_JAVA(String, uniqueID)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForUniqueID(MC_FROM_JAVA(String, uniqueID)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_AbstractMessage_attachments
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(attachments);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(attachments);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_AbstractMessage_htmlInlineAttachments
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(htmlInlineAttachments);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(htmlInlineAttachments);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_AbstractMessage_requiredPartsForRendering
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(requiredPartsForRendering);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(requiredPartsForRendering);
+ MC_POOL_END;
+ return result;
}
diff --git a/src/java/native/com_libmailcore_AbstractPart.cpp b/src/java/native/com_libmailcore_AbstractPart.cpp
index 188ab4d3..8d97296b 100644
--- a/src/java/native/com_libmailcore_AbstractPart.cpp
+++ b/src/java/native/com_libmailcore_AbstractPart.cpp
@@ -21,29 +21,43 @@ MC_JAVA_SYNTHESIZE_SCALAR(jboolean, bool, setInlineAttachment, isInlineAttachmen
JNIEXPORT jobject JNICALL Java_com_libmailcore_AbstractPart_partForContentID
(JNIEnv * env, jobject obj, jstring contentID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForContentID(MC_FROM_JAVA(String, contentID)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForContentID(MC_FROM_JAVA(String, contentID)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_AbstractPart_partForUniqueID
(JNIEnv * env, jobject obj, jstring uniqueID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForUniqueID(MC_FROM_JAVA(String, uniqueID)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForUniqueID(MC_FROM_JAVA(String, uniqueID)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_AbstractPart_setContentTypeParameter
(JNIEnv * env, jobject obj, jstring name, jstring value)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->setContentTypeParameter(MC_FROM_JAVA(String, name), MC_FROM_JAVA(String, value));
+ MC_POOL_END;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_AbstractPart_contentTypeParameterValueForName
(JNIEnv * env, jobject obj, jstring name)
{
- return (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->contentTypeParameterValueForName(MC_FROM_JAVA(String, name)));
+ MC_POOL_BEGIN;
+ jobject result = (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->contentTypeParameterValueForName(MC_FROM_JAVA(String, name)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_AbstractPart_allContentTypeParametersNames
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(allContentTypeParametersNames);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(allContentTypeParametersNames);
+ MC_POOL_END;
+ return result;
}
diff --git a/src/java/native/com_libmailcore_Address.cpp b/src/java/native/com_libmailcore_Address.cpp
index f1d49d48..22efbfd2 100644
--- a/src/java/native/com_libmailcore_Address.cpp
+++ b/src/java/native/com_libmailcore_Address.cpp
@@ -13,50 +13,74 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_Address_addressWithDisplayName
(JNIEnv * env, jclass cls, jstring displayName, jstring mailbox)
{
- return MC_TO_JAVA(Address::addressWithDisplayName(MC_FROM_JAVA(String, displayName),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Address::addressWithDisplayName(MC_FROM_JAVA(String, displayName),
MC_FROM_JAVA(String, mailbox)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Address_addressWithMailbox
(JNIEnv * env, jclass cls, jstring mailbox)
{
- return MC_TO_JAVA(Address::addressWithMailbox(MC_FROM_JAVA(String, mailbox)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Address::addressWithMailbox(MC_FROM_JAVA(String, mailbox)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Address_addressWithRFC822String
(JNIEnv * env, jclass cls, jstring rfc822String)
{
- return MC_TO_JAVA(Address::addressWithRFC822String(MC_FROM_JAVA(String, rfc822String)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Address::addressWithRFC822String(MC_FROM_JAVA(String, rfc822String)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Address_addressWithNonEncodedRFC822String
(JNIEnv * env, jclass cls, jstring rfc822String)
{
- return MC_TO_JAVA(Address::addressWithNonEncodedRFC822String(MC_FROM_JAVA(String, rfc822String)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Address::addressWithNonEncodedRFC822String(MC_FROM_JAVA(String, rfc822String)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Address_addressesWithRFC822String
(JNIEnv * env, jclass cls, jstring rfc822String)
{
- return MC_TO_JAVA(Address::addressesWithRFC822String(MC_FROM_JAVA(String, rfc822String)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Address::addressesWithRFC822String(MC_FROM_JAVA(String, rfc822String)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Address_addressesWithNonEncodedRFC822String
(JNIEnv * env, jclass cls, jstring rfc822String)
{
- return MC_TO_JAVA(Address::addressesWithNonEncodedRFC822String(MC_FROM_JAVA(String, rfc822String)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Address::addressesWithNonEncodedRFC822String(MC_FROM_JAVA(String, rfc822String)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_Address_RFC822StringForAddresses
(JNIEnv * env, jclass cls, jobject addresses)
{
- return (jstring) MC_TO_JAVA(Address::RFC822StringForAddresses(MC_FROM_JAVA(Array, addresses)));
+ MC_POOL_BEGIN;
+ jobject result = (jstring) MC_TO_JAVA(Address::RFC822StringForAddresses(MC_FROM_JAVA(Array, addresses)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_Address_nonEncodedRFC822StringForAddresses
(JNIEnv * env, jclass cls, jobject addresses)
{
- return (jstring) MC_TO_JAVA(Address::nonEncodedRFC822StringForAddresses(MC_FROM_JAVA(Array, addresses)));
+ MC_POOL_BEGIN;
+ jobject result = (jstring) MC_TO_JAVA(Address::nonEncodedRFC822StringForAddresses(MC_FROM_JAVA(Array, addresses)));
+ MC_POOL_END;
+ return (jstring) result;
}
MC_JAVA_SYNTHESIZE_STRING(setDisplayName, displayName)
@@ -65,13 +89,19 @@ MC_JAVA_SYNTHESIZE_STRING(setMailbox, mailbox)
JNIEXPORT jstring JNICALL Java_com_libmailcore_Address_RFC822String
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_STRING(RFC822String);
+ MC_POOL_BEGIN;
+ jstring result = MC_JAVA_BRIDGE_GET_STRING(RFC822String);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_Address_nonEncodedRFC822String
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_STRING(nonEncodedRFC822String);
+ MC_POOL_BEGIN;
+ jstring result = MC_JAVA_BRIDGE_GET_STRING(nonEncodedRFC822String);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_Attachment.cpp b/src/java/native/com_libmailcore_Attachment.cpp
index 652a3337..ddcd0f57 100644
--- a/src/java/native/com_libmailcore_Attachment.cpp
+++ b/src/java/native/com_libmailcore_Attachment.cpp
@@ -13,37 +13,55 @@ using namespace mailcore;
JNIEXPORT jstring JNICALL Java_com_libmailcore_Attachment_mimeTypeForFilename
(JNIEnv * env, jclass javaClass, jstring filename)
{
- return (jstring) MC_TO_JAVA(Attachment::mimeTypeForFilename(MC_FROM_JAVA(String, filename)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Attachment::mimeTypeForFilename(MC_FROM_JAVA(String, filename)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Attachment_attachmentWithContentsOfFile
(JNIEnv * env, jclass javaClass, jstring filename)
{
- return MC_TO_JAVA(Attachment::attachmentWithContentsOfFile(MC_FROM_JAVA(String, filename)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Attachment::attachmentWithContentsOfFile(MC_FROM_JAVA(String, filename)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Attachment_attachmentWithData
(JNIEnv * env, jclass javaClass, jstring filename, jbyteArray data)
{
- return MC_TO_JAVA(Attachment::attachmentWithData(MC_FROM_JAVA(String, filename), MC_FROM_JAVA(Data, data)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Attachment::attachmentWithData(MC_FROM_JAVA(String, filename), MC_FROM_JAVA(Data, data)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Attachment_attachmentWithHTMLString
(JNIEnv * env, jclass javaClass, jstring htmlString)
{
- return MC_TO_JAVA(Attachment::attachmentWithHTMLString(MC_FROM_JAVA(String, htmlString)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Attachment::attachmentWithHTMLString(MC_FROM_JAVA(String, htmlString)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Attachment_attachmentWithRFC822Message
(JNIEnv * env, jclass javaClass, jbyteArray data)
{
- return MC_TO_JAVA(Attachment::attachmentWithRFC822Message(MC_FROM_JAVA(Data, data)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Attachment::attachmentWithRFC822Message(MC_FROM_JAVA(Data, data)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Attachment_attachmentWithText
(JNIEnv * env, jclass javaClass, jstring text)
{
- return MC_TO_JAVA(Attachment::attachmentWithText(MC_FROM_JAVA(String, text)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(Attachment::attachmentWithText(MC_FROM_JAVA(String, text)));
+ MC_POOL_END;
+ return result;
}
MC_JAVA_SYNTHESIZE_DATA(setData, data)
@@ -51,7 +69,10 @@ MC_JAVA_SYNTHESIZE_DATA(setData, data)
JNIEXPORT jstring JNICALL Java_com_libmailcore_Attachment_decodedString
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_STRING(decodedString);
+ MC_POOL_BEGIN;
+ jstring result = MC_JAVA_BRIDGE_GET_STRING(decodedString);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_HTMLRendererTemplateCallbackUtils.cpp b/src/java/native/com_libmailcore_HTMLRendererTemplateCallbackUtils.cpp
index 9a127523..d643482f 100644
--- a/src/java/native/com_libmailcore_HTMLRendererTemplateCallbackUtils.cpp
+++ b/src/java/native/com_libmailcore_HTMLRendererTemplateCallbackUtils.cpp
@@ -12,85 +12,127 @@ static HTMLRendererTemplateCallback * callback = NULL;
JNIEXPORT jboolean JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_canPreviewPart
(JNIEnv * env, jclass cls, jobject part)
{
- return (jboolean) callback->canPreviewPart(MC_FROM_JAVA(AbstractPart, part));
+ MC_POOL_BEGIN;
+ jboolean result = (jboolean) callback->canPreviewPart(MC_FROM_JAVA(AbstractPart, part));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jboolean JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_shouldShowPart
(JNIEnv * env, jclass cls, jobject part)
{
- return (jboolean) callback->canPreviewPart(MC_FROM_JAVA(AbstractPart, part));
+ MC_POOL_BEGIN;
+ jboolean result = (jboolean) callback->canPreviewPart(MC_FROM_JAVA(AbstractPart, part));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateValuesForHeader
(JNIEnv * env, jclass cls, jobject header)
{
- return MC_TO_JAVA(callback->templateValuesForHeader(MC_FROM_JAVA(MessageHeader, header)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->templateValuesForHeader(MC_FROM_JAVA(MessageHeader, header)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateValuesForPart
(JNIEnv * env, jclass cls, jobject part)
{
- return MC_TO_JAVA(callback->templateValuesForPart(MC_FROM_JAVA(AbstractPart, part)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->templateValuesForPart(MC_FROM_JAVA(AbstractPart, part)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateForMainHeader
(JNIEnv * env, jclass cls, jobject header)
{
- return (jstring) MC_TO_JAVA(callback->templateForMainHeader(MC_FROM_JAVA(MessageHeader, header)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->templateForMainHeader(MC_FROM_JAVA(MessageHeader, header)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateForImage
(JNIEnv * env, jclass cls, jobject part)
{
- return (jstring) MC_TO_JAVA(callback->templateForImage(MC_FROM_JAVA(AbstractPart, part)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->templateForImage(MC_FROM_JAVA(AbstractPart, part)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateForAttachment
(JNIEnv * env, jclass cls, jobject part)
{
- return (jstring) MC_TO_JAVA(callback->templateForAttachment(MC_FROM_JAVA(AbstractPart, part)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->templateForAttachment(MC_FROM_JAVA(AbstractPart, part)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateForMessage
(JNIEnv * env, jclass cls, jobject msg)
{
- return (jstring) MC_TO_JAVA(callback->templateForMessage(MC_FROM_JAVA(AbstractMessage, msg)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->templateForMessage(MC_FROM_JAVA(AbstractMessage, msg)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateForEmbeddedMessage
(JNIEnv * env, jclass cls, jobject msgPart)
{
- return (jstring) MC_TO_JAVA(callback->templateForEmbeddedMessage(MC_FROM_JAVA(AbstractMessagePart, msgPart)));
+ MC_POOL_BEGIN;
+ jobject result = (jstring) MC_TO_JAVA(callback->templateForEmbeddedMessage(MC_FROM_JAVA(AbstractMessagePart, msgPart)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateForEmbeddedMessageHeader
(JNIEnv * env, jclass cls, jobject header)
{
- return (jstring) MC_TO_JAVA(callback->templateForEmbeddedMessageHeader(MC_FROM_JAVA(MessageHeader, header)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->templateForEmbeddedMessageHeader(MC_FROM_JAVA(MessageHeader, header)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_templateForAttachmentSeparator
(JNIEnv * env, jclass cls)
{
- return (jstring) MC_TO_JAVA(callback->templateForAttachmentSeparator());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->templateForAttachmentSeparator());
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_cleanHTML
(JNIEnv * env, jclass cls, jstring html)
{
- return (jstring) MC_TO_JAVA(callback->cleanHTMLForPart(MC_FROM_JAVA(String, html)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->cleanHTMLForPart(MC_FROM_JAVA(String, html)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_filterHTMLForPart
(JNIEnv * env, jclass cls, jstring html)
{
- return (jstring) MC_TO_JAVA(callback->filterHTMLForPart(MC_FROM_JAVA(String, html)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->filterHTMLForPart(MC_FROM_JAVA(String, html)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_HTMLRendererTemplateCallbackUtils_filterHTMLForMessage
(JNIEnv * env, jclass cls, jstring html)
{
- return (jstring) MC_TO_JAVA(callback->filterHTMLForMessage(MC_FROM_JAVA(String, html)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(callback->filterHTMLForMessage(MC_FROM_JAVA(String, html)));
+ MC_POOL_END;
+ return (jstring) result;
}
INITIALIZE(Java_com_libmailcore_HTMLRendererTemplateCallbackUtils)
diff --git a/src/java/native/com_libmailcore_IMAPAppendMessageOperation.cpp b/src/java/native/com_libmailcore_IMAPAppendMessageOperation.cpp
index c9b90874..7a99a578 100644
--- a/src/java/native/com_libmailcore_IMAPAppendMessageOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPAppendMessageOperation.cpp
@@ -13,19 +13,27 @@ using namespace mailcore;
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPAppendMessageOperation_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_IMAPAppendMessageOperation_date
(JNIEnv * env, jobject obj)
{
- return timeToJavaDate(env, MC_JAVA_NATIVE_INSTANCE->date());
+ MC_POOL_BEGIN;
+ jobject result = timeToJavaDate(env, MC_JAVA_NATIVE_INSTANCE->date());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jlong JNICALL Java_com_libmailcore_IMAPAppendMessageOperation_createdUID
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jlong, createdUID);
+ MC_POOL_BEGIN;
+ jlong result = MC_JAVA_BRIDGE_GET_SCALAR(jlong, createdUID);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPCapabilityOperation.cpp b/src/java/native/com_libmailcore_IMAPCapabilityOperation.cpp
index 929ad9c2..9519f0f6 100644
--- a/src/java/native/com_libmailcore_IMAPCapabilityOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPCapabilityOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPCapabilityOperation_capabilities
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(capabilities);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(capabilities);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPCopyMessagesOperation.cpp b/src/java/native/com_libmailcore_IMAPCopyMessagesOperation.cpp
index 558c7836..b514bf6d 100644
--- a/src/java/native/com_libmailcore_IMAPCopyMessagesOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPCopyMessagesOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPCopyMessagesOperation_uidMapping
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(uidMapping);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(uidMapping);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp b/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp
index 1e0cf54e..a8be97b8 100644
--- a/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp
@@ -14,20 +14,26 @@ using namespace mailcore;
JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_IMAPFetchContentOperation_data
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_BEGIN;
+ jbyteArray result = MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchContentOperation_finalizeNative
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaIMAPOperationCallback * callback = (JavaIMAPOperationCallback *) MC_JAVA_NATIVE_INSTANCE->imapCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchContentOperation_setupNativeOperationProgressListener
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaIMAPOperationCallback * callback = (JavaIMAPOperationCallback *) MC_JAVA_NATIVE_INSTANCE->imapCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL);
@@ -37,6 +43,7 @@ JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchContentOperation_setupNativ
callback = new JavaIMAPOperationCallback(env, javaListener);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(callback);
}
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPFetchFoldersOperation.cpp b/src/java/native/com_libmailcore_IMAPFetchFoldersOperation.cpp
index 50f08e2d..cdf56cd5 100644
--- a/src/java/native/com_libmailcore_IMAPFetchFoldersOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPFetchFoldersOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFetchFoldersOperation_folders
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(folders);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(folders);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp b/src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp
index 735459a4..b0f2fe46 100644
--- a/src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPFetchMessagesOperation.cpp
@@ -14,26 +14,35 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_messages
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(messages);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(messages);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_vanishedMessages
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(vanishedMessages);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(vanishedMessages);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_finalizeNative
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaIMAPOperationCallback * callback = (JavaIMAPOperationCallback *) MC_JAVA_NATIVE_INSTANCE->imapCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_setupNativeOperationProgressListener
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaIMAPOperationCallback * callback = (JavaIMAPOperationCallback *) MC_JAVA_NATIVE_INSTANCE->imapCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL);
@@ -43,6 +52,7 @@ JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchMessagesOperation_setupNati
callback = new JavaIMAPOperationCallback(env, javaListener);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(callback);
}
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPFetchNamespaceOperation.cpp b/src/java/native/com_libmailcore_IMAPFetchNamespaceOperation.cpp
index c2ad0091..69d03ccb 100644
--- a/src/java/native/com_libmailcore_IMAPFetchNamespaceOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPFetchNamespaceOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFetchNamespaceOperation_namespaces
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(namespaces);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(namespaces);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPFetchParsedContentOperation.cpp b/src/java/native/com_libmailcore_IMAPFetchParsedContentOperation.cpp
index 662c2ca5..da639f2c 100644
--- a/src/java/native/com_libmailcore_IMAPFetchParsedContentOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPFetchParsedContentOperation.cpp
@@ -14,20 +14,26 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFetchParsedContentOperation_parser
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(parser);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(parser);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchParsedContentOperation_finalizeNative
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaIMAPOperationCallback * callback = (JavaIMAPOperationCallback *) MC_JAVA_NATIVE_INSTANCE->imapCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchParsedContentOperation_setupNativeOperationProgressListener
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaIMAPOperationCallback * callback = (JavaIMAPOperationCallback *) MC_JAVA_NATIVE_INSTANCE->imapCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL);
@@ -37,6 +43,7 @@ JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchParsedContentOperation_setu
callback = new JavaIMAPOperationCallback(env, javaListener);
MC_JAVA_NATIVE_INSTANCE->setImapCallback(callback);
}
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPFolderInfoOperation.cpp b/src/java/native/com_libmailcore_IMAPFolderInfoOperation.cpp
index 721bdb43..2017647c 100644
--- a/src/java/native/com_libmailcore_IMAPFolderInfoOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPFolderInfoOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFolderInfoOperation_info
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(info);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(info);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPFolderStatusOperation.cpp b/src/java/native/com_libmailcore_IMAPFolderStatusOperation.cpp
index 6e9128e8..99e11d9d 100644
--- a/src/java/native/com_libmailcore_IMAPFolderStatusOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPFolderStatusOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPFolderStatusOperation_status
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(status);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(status);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPIdentity.cpp b/src/java/native/com_libmailcore_IMAPIdentity.cpp
index 7f544b6f..9d6b04a8 100644
--- a/src/java/native/com_libmailcore_IMAPIdentity.cpp
+++ b/src/java/native/com_libmailcore_IMAPIdentity.cpp
@@ -17,25 +17,35 @@ MC_JAVA_SYNTHESIZE_STRING(setVersion, version)
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPIdentity_removeAllInfos
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->removeAllInfos();
+ MC_POOL_END;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPIdentity_allInfoKeys
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(allInfoKeys);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(allInfoKeys);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPIdentity_infoForKey
(JNIEnv * env, jobject obj, jstring key)
{
- return (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->infoForKey(MC_FROM_JAVA(String, key)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->infoForKey(MC_FROM_JAVA(String, key)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPIdentity_setInfoForKey
(JNIEnv * env, jobject obj, jstring key, jstring value)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->setInfoForKey(MC_FROM_JAVA(String, key), MC_FROM_JAVA(String, value));
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPIdentityOperation.cpp b/src/java/native/com_libmailcore_IMAPIdentityOperation.cpp
index 6b033808..2188bd5f 100644
--- a/src/java/native/com_libmailcore_IMAPIdentityOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPIdentityOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPIdentityOperation_serverIdentity
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(serverIdentity);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(serverIdentity);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPIdleOperation.cpp b/src/java/native/com_libmailcore_IMAPIdleOperation.cpp
index 0440ae52..59cf7531 100644
--- a/src/java/native/com_libmailcore_IMAPIdleOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPIdleOperation.cpp
@@ -13,7 +13,9 @@ using namespace mailcore;
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPIdleOperation_interruptIdle
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->interruptIdle();
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPMessage.cpp b/src/java/native/com_libmailcore_IMAPMessage.cpp
index 0a47efd6..f7e3fdd9 100644
--- a/src/java/native/com_libmailcore_IMAPMessage.cpp
+++ b/src/java/native/com_libmailcore_IMAPMessage.cpp
@@ -27,24 +27,34 @@ MC_JAVA_SYNTHESIZE_SCALAR(jlong, uint64_t, setGmailThreadID, gmailThreadID);
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPMessage_partForPartID
(JNIEnv * env, jobject obj, jstring partID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForPartID(MC_FROM_JAVA(String, partID)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForPartID(MC_FROM_JAVA(String, partID)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPMessage_partForContentID
(JNIEnv * env, jobject obj, jstring contentID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForContentID(MC_FROM_JAVA(String, contentID)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForContentID(MC_FROM_JAVA(String, contentID)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPMessage_partForUniqueID
(JNIEnv * env, jobject obj, jstring uniqueID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForUniqueID(MC_FROM_JAVA(String, uniqueID)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->partForUniqueID(MC_FROM_JAVA(String, uniqueID)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPMessage_htmlRendering
(JNIEnv * env, jobject obj, jstring folder, jobject dataCallback, jobject htmlTemplateCallback)
{
+ MC_POOL_BEGIN;
JavaHTMLRendererTemplateCallback * templateCallback = NULL;
if (htmlTemplateCallback != NULL) {
templateCallback = new JavaHTMLRendererTemplateCallback(env, htmlTemplateCallback);
@@ -60,6 +70,7 @@ JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPMessage_htmlRendering
if (templateCallback != NULL) {
delete templateCallback;
}
+ MC_POOL_END;
return result;
}
diff --git a/src/java/native/com_libmailcore_IMAPMessageRenderingOperation.cpp b/src/java/native/com_libmailcore_IMAPMessageRenderingOperation.cpp
index 106996a1..e841943d 100644
--- a/src/java/native/com_libmailcore_IMAPMessageRenderingOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPMessageRenderingOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPMessageRenderingOperation_result
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_STRING(result);
+ MC_POOL_BEGIN;
+ jstring result = MC_JAVA_BRIDGE_GET_STRING(result);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPNamespace.cpp b/src/java/native/com_libmailcore_IMAPNamespace.cpp
index 3569ea55..c71a2ba3 100644
--- a/src/java/native/com_libmailcore_IMAPNamespace.cpp
+++ b/src/java/native/com_libmailcore_IMAPNamespace.cpp
@@ -13,50 +13,74 @@ using namespace mailcore;
JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPNamespace_mainPrefix
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_STRING(mainPrefix);
+ MC_POOL_BEGIN;
+ jstring result = MC_JAVA_BRIDGE_GET_STRING(mainPrefix);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jchar JNICALL Java_com_libmailcore_IMAPNamespace_mainDelimiter
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jchar, mainDelimiter);
+ MC_POOL_BEGIN;
+ jchar result = MC_JAVA_BRIDGE_GET_SCALAR(jchar, mainDelimiter);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPNamespace_prefixes
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(prefixes);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(prefixes);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPNamespace_pathForComponents
(JNIEnv * env, jobject obj, jobject components)
{
- return (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->pathForComponents(MC_FROM_JAVA(Array, components)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->pathForComponents(MC_FROM_JAVA(Array, components)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPNamespace_pathForComponentsAndPrefix
(JNIEnv * env, jobject obj, jobject components, jstring prefix)
{
- return (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->pathForComponentsAndPrefix(MC_FROM_JAVA(Array, components),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->pathForComponentsAndPrefix(MC_FROM_JAVA(Array, components),
MC_FROM_JAVA(String, prefix)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPNamespace_componentsFromPath
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->componentsFromPath(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->componentsFromPath(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jboolean JNICALL Java_com_libmailcore_IMAPNamespace_containsFolderPath
(JNIEnv * env, jobject obj, jstring path)
{
- return (jboolean) MC_JAVA_NATIVE_INSTANCE->containsFolderPath(MC_FROM_JAVA(String, path));
+ MC_POOL_BEGIN;
+ jboolean result = (jboolean) MC_JAVA_NATIVE_INSTANCE->containsFolderPath(MC_FROM_JAVA(String, path));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPNamespace_namespaceWithPrefix
(JNIEnv * env, jclass cls, jstring prefix, jchar delimiter)
{
- return MC_TO_JAVA(IMAPNamespace::namespaceWithPrefix(MC_FROM_JAVA(String, prefix), (char) delimiter));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPNamespace::namespaceWithPrefix(MC_FROM_JAVA(String, prefix), (char) delimiter));
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPNamespaceItem.cpp b/src/java/native/com_libmailcore_IMAPNamespaceItem.cpp
index ace55219..689bb92e 100644
--- a/src/java/native/com_libmailcore_IMAPNamespaceItem.cpp
+++ b/src/java/native/com_libmailcore_IMAPNamespaceItem.cpp
@@ -16,19 +16,28 @@ MC_JAVA_SYNTHESIZE_SCALAR(jchar, char, setDelimiter, delimiter)
JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPNamespaceItem_pathForComponents
(JNIEnv * env, jobject obj, jobject components)
{
- return (jstring) MC_JAVA_NATIVE_INSTANCE->pathForComponents(MC_FROM_JAVA(Array, components));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->pathForComponents(MC_FROM_JAVA(Array, components)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPNamespaceItem_componentsForPath
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->componentsForPath(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->componentsForPath(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jboolean JNICALL Java_com_libmailcore_IMAPNamespaceItem_containsFolder
(JNIEnv * env, jobject obj, jstring path)
{
- return (jboolean) MC_JAVA_NATIVE_INSTANCE->containsFolder(MC_FROM_JAVA(String, path));
+ MC_POOL_BEGIN;
+ jboolean result = (jboolean) MC_JAVA_NATIVE_INSTANCE->containsFolder(MC_FROM_JAVA(String, path));
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPOperation.cpp b/src/java/native/com_libmailcore_IMAPOperation.cpp
index af38fa8f..fd8c1ea2 100644
--- a/src/java/native/com_libmailcore_IMAPOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jint JNICALL Java_com_libmailcore_IMAPOperation_errorCode
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+ MC_POOL_BEGIN;
+ jint result = MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPPart.cpp b/src/java/native/com_libmailcore_IMAPPart.cpp
index 6c5ae806..5a1236b8 100644
--- a/src/java/native/com_libmailcore_IMAPPart.cpp
+++ b/src/java/native/com_libmailcore_IMAPPart.cpp
@@ -17,7 +17,10 @@ MC_JAVA_SYNTHESIZE_SCALAR(jint, Encoding, setEncoding, encoding)
JNIEXPORT jlong JNICALL Java_com_libmailcore_IMAPPart_decodedSize
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jlong, decodedSize);
+ MC_POOL_BEGIN;
+ jlong result = MC_JAVA_BRIDGE_GET_SCALAR(jlong, decodedSize);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPQuotaOperation.cpp b/src/java/native/com_libmailcore_IMAPQuotaOperation.cpp
index 5ac954f0..56666bca 100644
--- a/src/java/native/com_libmailcore_IMAPQuotaOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPQuotaOperation.cpp
@@ -13,13 +13,19 @@ using namespace mailcore;
JNIEXPORT jint JNICALL Java_com_libmailcore_IMAPQuotaOperation_usage
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jint, usage);
+ MC_POOL_BEGIN;
+ jint result = MC_JAVA_BRIDGE_GET_SCALAR(jint, usage);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jint JNICALL Java_com_libmailcore_IMAPQuotaOperation_limit
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jint, limit);
+ MC_POOL_BEGIN;
+ jint result = MC_JAVA_BRIDGE_GET_SCALAR(jint, limit);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPSearchExpression.cpp b/src/java/native/com_libmailcore_IMAPSearchExpression.cpp
index 75f2c3ec..63240419 100644
--- a/src/java/native/com_libmailcore_IMAPSearchExpression.cpp
+++ b/src/java/native/com_libmailcore_IMAPSearchExpression.cpp
@@ -13,211 +13,316 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchAll
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchAll());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchAll());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchFrom
(JNIEnv * env, jclass cls, jstring)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchAll());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchAll());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchTo
(JNIEnv * env, jclass cls, jstring value)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchTo(MC_FROM_JAVA(String, value)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchTo(MC_FROM_JAVA(String, value)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchCc
(JNIEnv * env, jclass cls, jstring value)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchCc(MC_FROM_JAVA(String, value)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchCc(MC_FROM_JAVA(String, value)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchBcc
(JNIEnv * env, jclass cls, jstring value)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchBcc(MC_FROM_JAVA(String, value)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchBcc(MC_FROM_JAVA(String, value)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchRecipient
(JNIEnv * env, jclass cls, jstring value)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchRecipient(MC_FROM_JAVA(String, value)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchRecipient(MC_FROM_JAVA(String, value)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchSubject
(JNIEnv * env, jclass cls, jstring value)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchSubject(MC_FROM_JAVA(String, value)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchSubject(MC_FROM_JAVA(String, value)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchContent
(JNIEnv * env, jclass cls, jstring value)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchContent(MC_FROM_JAVA(String, value)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchContent(MC_FROM_JAVA(String, value)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchBody
(JNIEnv * env, jclass cls, jstring value)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchBody(MC_FROM_JAVA(String, value)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchBody(MC_FROM_JAVA(String, value)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchHeader
(JNIEnv * env, jclass cls, jstring header, jstring value)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchHeader(MC_FROM_JAVA(String, header), MC_FROM_JAVA(String, value)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchHeader(MC_FROM_JAVA(String, header), MC_FROM_JAVA(String, value)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchUIDs
(JNIEnv * env, jclass cls, jobject uids)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchUIDs(MC_FROM_JAVA(IndexSet, uids)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchUIDs(MC_FROM_JAVA(IndexSet, uids)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchRead
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchRead());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchRead());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchUnread
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchUnread());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchUnread());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchFlagged
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchFlagged());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchFlagged());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchUnflagged
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchUnflagged());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchUnflagged());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchAnswered
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchAnswered());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchAnswered());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchUnanswered
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchUnanswered());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchUnanswered());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchDraft
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchDraft());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchDraft());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchUndraft
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchUndraft());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchUndraft());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchDeleted
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchDeleted());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchDeleted());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchSpam
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchSpam());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchSpam());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchBeforeDate
(JNIEnv * env, jclass cls, jobject date)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchBeforeDate(javaDateToTime(env, date)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchBeforeDate(javaDateToTime(env, date)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchOnDate
(JNIEnv * env, jclass cls, jobject date)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchOnDate(javaDateToTime(env, date)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchOnDate(javaDateToTime(env, date)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchSinceDate
(JNIEnv * env, jclass cls, jobject date)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchSinceDate(javaDateToTime(env, date)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchSinceDate(javaDateToTime(env, date)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchBeforeReceivedDate
(JNIEnv * env, jclass cls, jobject date)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchBeforeDate(javaDateToTime(env, date)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchBeforeDate(javaDateToTime(env, date)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchOnReceivedDate
(JNIEnv * env, jclass cls, jobject date)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchOnReceivedDate(javaDateToTime(env, date)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchOnReceivedDate(javaDateToTime(env, date)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchSinceReceivedDate
(JNIEnv * env, jclass cls, jobject date)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchSinceReceivedDate(javaDateToTime(env, date)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchSinceReceivedDate(javaDateToTime(env, date)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchSizeLarger
(JNIEnv * env, jclass cls, jlong size)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchSizeLarger((uint32_t) size));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchSizeLarger((uint32_t) size));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchSizeSmaller
(JNIEnv * env, jclass cls, jlong size)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchSizeSmaller((uint32_t) size));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchSizeSmaller((uint32_t) size));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchGmailThreadID
(JNIEnv * env, jclass cls, jlong threadID)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchGmailThreadID((uint64_t) threadID));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchGmailThreadID((uint64_t) threadID));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchGmailMessageID
(JNIEnv * env, jclass cls, jlong messageID)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchGmailThreadID((uint64_t) messageID));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchGmailThreadID((uint64_t) messageID));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchGmailRaw
(JNIEnv * env, jclass cls, jstring searchString)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchGmailRaw(MC_FROM_JAVA(String, searchString)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchGmailRaw(MC_FROM_JAVA(String, searchString)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchAnd
(JNIEnv * env, jclass cls, jobject expr1, jobject expr2)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchAnd(MC_FROM_JAVA(IMAPSearchExpression, expr1), MC_FROM_JAVA(IMAPSearchExpression, expr2)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchAnd(MC_FROM_JAVA(IMAPSearchExpression, expr1), MC_FROM_JAVA(IMAPSearchExpression, expr2)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchOr
(JNIEnv * env, jclass cls, jobject expr1, jobject expr2)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchOr(MC_FROM_JAVA(IMAPSearchExpression, expr1), MC_FROM_JAVA(IMAPSearchExpression, expr2)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchOr(MC_FROM_JAVA(IMAPSearchExpression, expr1), MC_FROM_JAVA(IMAPSearchExpression, expr2)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchExpression_searchNot
(JNIEnv * env, jclass cls, jobject expr)
{
- return MC_TO_JAVA(IMAPSearchExpression::searchNot(MC_FROM_JAVA(IMAPSearchExpression, expr)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IMAPSearchExpression::searchNot(MC_FROM_JAVA(IMAPSearchExpression, expr)));
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPSearchOperation.cpp b/src/java/native/com_libmailcore_IMAPSearchOperation.cpp
index f9b3f524..f280dd8b 100644
--- a/src/java/native/com_libmailcore_IMAPSearchOperation.cpp
+++ b/src/java/native/com_libmailcore_IMAPSearchOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSearchOperation_uids
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(uids);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(uids);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IMAPSession.cpp b/src/java/native/com_libmailcore_IMAPSession.cpp
index ee76a76a..957c12df 100644
--- a/src/java/native/com_libmailcore_IMAPSession.cpp
+++ b/src/java/native/com_libmailcore_IMAPSession.cpp
@@ -28,37 +28,54 @@ MC_JAVA_SYNTHESIZE_SCALAR(jint, unsigned int, setMaximumConnections, maximumConn
JNIEXPORT jboolean JNICALL Java_com_libmailcore_IMAPSession_isOperationQueueRunning
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+ MC_POOL_BEGIN;
+ jboolean result = MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPSession_cancelAllOperations
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->cancelAllOperations();
+ MC_POOL_END;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_serverIdentity
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(serverIdentity);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(serverIdentity);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_clientIdentity
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(clientIdentity);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(clientIdentity);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_IMAPSession_gmailUserDisplayName
(JNIEnv * env, jobject obj)
{
- return (jstring) MC_JAVA_BRIDGE_GET(gmailUserDisplayName);
+ MC_POOL_BEGIN;
+ jstring result = MC_JAVA_BRIDGE_GET_STRING(gmailUserDisplayName);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_folderInfoOperation
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->folderInfoOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->folderInfoOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
/*
@@ -69,253 +86,371 @@ JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_folderInfoOperation
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_folderStatusOperation
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->folderInfoOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->folderInfoOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchSubscribedFoldersOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchSubscribedFoldersOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchSubscribedFoldersOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchAllFoldersOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchAllFoldersOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchAllFoldersOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_renameFolderOperation
(JNIEnv * env, jobject obj, jstring currentName, jstring otherName)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->renameFolderOperation(MC_FROM_JAVA(String, currentName), MC_FROM_JAVA(String, otherName)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->renameFolderOperation(MC_FROM_JAVA(String, currentName), MC_FROM_JAVA(String, otherName)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_deleteFolderOperation
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->deleteFolderOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->deleteFolderOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_createFolderOperation
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->createFolderOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->createFolderOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_subscribeFolderOperation
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->subscribeFolderOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->subscribeFolderOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_unsubscribeFolderOperation
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->unsubscribeFolderOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->unsubscribeFolderOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_appendMessageOperation
(JNIEnv * env, jobject obj, jstring path, jbyteArray data, jint flags, jobject customFlags)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->appendMessageOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->appendMessageOperation(MC_FROM_JAVA(String, path),
MC_FROM_JAVA(Data, data), (MessageFlag) flags, MC_FROM_JAVA(Array, customFlags)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_copyMessagesOperation
(JNIEnv * env, jobject obj, jstring sourcePath, jobject uids, jstring destPath)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->copyMessagesOperation(MC_FROM_JAVA(String, sourcePath),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->copyMessagesOperation(MC_FROM_JAVA(String, sourcePath),
MC_FROM_JAVA(IndexSet, uids), MC_FROM_JAVA(String, destPath)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_expungeOperation
(JNIEnv * env, jobject obj, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->expungeOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->expungeOperation(MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchMessagesByUIDOperation
(JNIEnv * env, jobject obj, jstring path, jint kind, jobject uids)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessagesByUIDOperation(MC_FROM_JAVA(String, path), (IMAPMessagesRequestKind) kind, MC_FROM_JAVA(IndexSet, uids)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessagesByUIDOperation(MC_FROM_JAVA(String, path), (IMAPMessagesRequestKind) kind, MC_FROM_JAVA(IndexSet, uids)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchMessagesByNumberOperation
(JNIEnv * env, jobject obj, jstring path, jint kind, jobject numbers)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessagesByNumberOperation(MC_FROM_JAVA(String, path), (IMAPMessagesRequestKind) kind, MC_FROM_JAVA(IndexSet, numbers)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessagesByNumberOperation(MC_FROM_JAVA(String, path), (IMAPMessagesRequestKind) kind, MC_FROM_JAVA(IndexSet, numbers)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_syncMessagesByUIDOperation
(JNIEnv * env, jobject obj, jstring path, jint kind, jobject uids, jlong modSeq)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->syncMessagesByUIDOperation(MC_FROM_JAVA(String, path), (IMAPMessagesRequestKind) kind, MC_FROM_JAVA(IndexSet, uids), (uint64_t) modSeq));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->syncMessagesByUIDOperation(MC_FROM_JAVA(String, path), (IMAPMessagesRequestKind) kind, MC_FROM_JAVA(IndexSet, uids), (uint64_t) modSeq));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchMessageByUIDOperation
(JNIEnv * env, jobject obj, jstring path, jlong uid, jboolean urgent)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageByUIDOperation(MC_FROM_JAVA(String, path), (uint32_t) uid, (bool) urgent));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageByUIDOperation(MC_FROM_JAVA(String, path), (uint32_t) uid, (bool) urgent));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchMessageAttachmentByUIDOperation
(JNIEnv * env, jobject obj, jstring path, jlong uid, jstring partID, jint encoding, jboolean urgent)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageAttachmentByUIDOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageAttachmentByUIDOperation(MC_FROM_JAVA(String, path),
(uint32_t) uid, MC_FROM_JAVA(String, partID), (Encoding) encoding, (bool) urgent));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchMessageByNumberOperation
(JNIEnv * env, jobject obj, jstring path, jlong number, jboolean urgent)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageByNumberOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageByNumberOperation(MC_FROM_JAVA(String, path),
(uint32_t) number, (bool) urgent));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchMessageAttachmentByNumberOperation
(JNIEnv * env, jobject obj, jstring path, jlong number, jstring partID, jint encoding, jboolean urgent)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageAttachmentByNumberOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageAttachmentByNumberOperation(MC_FROM_JAVA(String, path),
(uint32_t) number, MC_FROM_JAVA(String, partID), (Encoding) encoding, (bool) urgent));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchParsedMessageByUIDOperation
(JNIEnv * env, jobject obj, jstring path, jlong uid, jboolean urgent)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchParsedMessageByUIDOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchParsedMessageByUIDOperation(MC_FROM_JAVA(String, path),
(uint32_t) uid, (bool) urgent));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchParsedMessageByNumberOperation
(JNIEnv * env, jobject obj, jstring path, jlong number, jboolean urgent)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchParsedMessageByNumberOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchParsedMessageByNumberOperation(MC_FROM_JAVA(String, path),
(uint32_t) number, (bool) urgent));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_storeFlagsByUIDOperation
(JNIEnv * env, jobject obj, jstring path, jobject uids, jint kind, jint flags, jobject customFlags)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->storeFlagsByUIDOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->storeFlagsByUIDOperation(MC_FROM_JAVA(String, path),
MC_FROM_JAVA(IndexSet, uids), (IMAPStoreFlagsRequestKind) kind, (MessageFlag) flags, MC_FROM_JAVA(Array, customFlags)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_storeFlagsByNumberOperation
(JNIEnv * env, jobject obj, jstring path, jobject uids, jint kind, jint flags, jobject customFlags)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->storeFlagsByUIDOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->storeFlagsByUIDOperation(MC_FROM_JAVA(String, path),
MC_FROM_JAVA(IndexSet, uids), (IMAPStoreFlagsRequestKind) kind, (MessageFlag) flags, MC_FROM_JAVA(Array, customFlags)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_storeLabelsByUIDOperation
(JNIEnv * env, jobject obj, jstring path, jobject uids, jint kind, jobject labels)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->storeLabelsByUIDOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->storeLabelsByUIDOperation(MC_FROM_JAVA(String, path),
MC_FROM_JAVA(IndexSet, uids), (IMAPStoreFlagsRequestKind) kind, MC_FROM_JAVA(Array, labels)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_storeLabelsByNumberOperation
(JNIEnv * env, jobject obj, jstring path, jobject numbers, jint kind, jobject labels)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->storeLabelsByNumberOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->storeLabelsByNumberOperation(MC_FROM_JAVA(String, path),
MC_FROM_JAVA(IndexSet, numbers), (IMAPStoreFlagsRequestKind) kind, MC_FROM_JAVA(Array, labels)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_searchOperation__Ljava_lang_String_2ILjava_lang_String_2
(JNIEnv * env, jobject obj, jstring path, jint kind, jstring searchString)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->searchOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->searchOperation(MC_FROM_JAVA(String, path),
(IMAPSearchKind) kind, MC_FROM_JAVA(String, searchString)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_searchOperation__Ljava_lang_String_2Lcom_libmailcore_IMAPSearchExpression_2
(JNIEnv * env, jobject obj, jstring path, jobject expression)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->searchOperation(MC_FROM_JAVA(String, path),
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->searchOperation(MC_FROM_JAVA(String, path),
MC_FROM_JAVA(IMAPSearchExpression, expression)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_idleOperation
(JNIEnv * env, jobject obj, jstring path, jlong lastKnownUID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->idleOperation(MC_FROM_JAVA(String, path), (uint32_t) lastKnownUID));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->idleOperation(MC_FROM_JAVA(String, path), (uint32_t) lastKnownUID));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_fetchNamespaceOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchNamespaceOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchNamespaceOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_identityOperation
(JNIEnv * env, jobject obj, jobject identity)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->identityOperation(MC_FROM_JAVA(IMAPIdentity, identity)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->identityOperation(MC_FROM_JAVA(IMAPIdentity, identity)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_connectOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->connectOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->connectOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_checkAccountOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_disconnectOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->disconnectOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->disconnectOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_capabilityOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->capabilityOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->capabilityOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_quotaOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->quotaOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->quotaOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_noopOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->noopOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->noopOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_htmlRenderingOperation
(JNIEnv * env, jobject obj, jobject msg, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->htmlRenderingOperation(MC_FROM_JAVA(IMAPMessage, msg), MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->htmlRenderingOperation(MC_FROM_JAVA(IMAPMessage, msg), MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_htmlBodyRenderingOperation
(JNIEnv * env, jobject obj, jobject msg, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->htmlBodyRenderingOperation(MC_FROM_JAVA(IMAPMessage, msg), MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->htmlBodyRenderingOperation(MC_FROM_JAVA(IMAPMessage, msg), MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_plainTextRenderingOperation
(JNIEnv * env, jobject obj, jobject msg, jstring path)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->plainTextRenderingOperation(MC_FROM_JAVA(IMAPMessage, msg), MC_FROM_JAVA(String, path)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->plainTextRenderingOperation(MC_FROM_JAVA(IMAPMessage, msg), MC_FROM_JAVA(String, path)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IMAPSession_plainTextBodyRenderingOperation
(JNIEnv * env, jobject obj, jobject msg, jstring path, jboolean stripWhitespace)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->plainTextBodyRenderingOperation(MC_FROM_JAVA(IMAPMessage, msg), MC_FROM_JAVA(String, path), (bool) stripWhitespace));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->plainTextBodyRenderingOperation(MC_FROM_JAVA(IMAPMessage, msg), MC_FROM_JAVA(String, path), (bool) stripWhitespace));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPSession_finalizeNative
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
@@ -323,11 +458,13 @@ JNIEXPORT void JNICALL Java_com_libmailcore_IMAPSession_finalizeNative
JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
MC_SAFE_RELEASE(logger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPSession_setupNativeOperationQueueListener
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
@@ -337,11 +474,13 @@ JNIEXPORT void JNICALL Java_com_libmailcore_IMAPSession_setupNativeOperationQueu
callback = new JavaOperationQueueCallback(env, javaListener);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(callback);
}
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IMAPSession_setupNativeConnectionLogger
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
MC_SAFE_RELEASE(logger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
@@ -351,6 +490,7 @@ JNIEXPORT void JNICALL Java_com_libmailcore_IMAPSession_setupNativeConnectionLog
logger = new JavaConnectionLogger(env, javaLogger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(logger);
}
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_IndexSet.cpp b/src/java/native/com_libmailcore_IndexSet.cpp
index d38d9859..0c93f2ae 100644
--- a/src/java/native/com_libmailcore_IndexSet.cpp
+++ b/src/java/native/com_libmailcore_IndexSet.cpp
@@ -13,88 +13,120 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_IndexSet_indexSet
(JNIEnv * env, jclass cls)
{
- return MC_TO_JAVA(IndexSet::indexSet());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IndexSet::indexSet());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IndexSet_indexSetWithRange
(JNIEnv * env, jclass cls, jobject range)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, range);
- return MC_TO_JAVA(IndexSet::indexSetWithRange(mcRange));
+ jobject result = MC_TO_JAVA(IndexSet::indexSetWithRange(mcRange));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IndexSet_indexSetWithIndex
(JNIEnv * env, jclass cls, jlong idx)
{
- return MC_TO_JAVA(IndexSet::indexSetWithIndex((uint64_t) idx));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(IndexSet::indexSetWithIndex((uint64_t) idx));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jint JNICALL Java_com_libmailcore_IndexSet_count
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jint, count);
+ MC_POOL_BEGIN;
+ jint result = MC_JAVA_BRIDGE_GET_SCALAR(jint, count);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_addIndex
(JNIEnv * env, jobject obj, jlong idx)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->addIndex((uint64_t) idx);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_removeIndex
(JNIEnv * env, jobject obj, jlong idx)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->removeIndex((uint64_t) idx);
+ MC_POOL_END;
}
JNIEXPORT jboolean JNICALL Java_com_libmailcore_IndexSet_containsIndex
(JNIEnv * env, jobject obj, jlong idx)
{
- return (jboolean) MC_JAVA_NATIVE_INSTANCE->containsIndex((uint64_t) idx);
+ MC_POOL_BEGIN;
+ jboolean result = (jboolean) MC_JAVA_NATIVE_INSTANCE->containsIndex((uint64_t) idx);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_addRange
(JNIEnv * env, jobject obj, jobject range)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, range);
MC_JAVA_NATIVE_INSTANCE->addRange(mcRange);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_removeRange
(JNIEnv * env, jobject obj, jobject range)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, range);
MC_JAVA_NATIVE_INSTANCE->removeRange(mcRange);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_intersectsRange
(JNIEnv * env, jobject obj, jobject range)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, range);
MC_JAVA_NATIVE_INSTANCE->intersectsRange(mcRange);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_addIndexSet
(JNIEnv * env, jobject obj, jobject otherIndexSet)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->addIndexSet(MC_FROM_JAVA(IndexSet, otherIndexSet));
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_removeIndexSet
(JNIEnv * env, jobject obj, jobject otherIndexSet)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->removeIndexSet(MC_FROM_JAVA(IndexSet, otherIndexSet));
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_intersectsIndexSet
(JNIEnv * env, jobject obj, jobject otherIndexSet)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->intersectsIndexSet(MC_FROM_JAVA(IndexSet, otherIndexSet));
+ MC_POOL_END;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_IndexSet_allRanges
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
jclass cls = env->FindClass("java/util/Vector");
jmethodID constructor = env->GetMethodID(cls, "<init>", "(I)V");
unsigned int count = MC_JAVA_NATIVE_INSTANCE->rangesCount();
@@ -105,19 +137,25 @@ JNIEXPORT jobject JNICALL Java_com_libmailcore_IndexSet_allRanges
jobject javaObject = rangeToJava(env, ranges[i]);
env->CallBooleanMethod(javaVector, method, javaObject);
}
+ MC_POOL_END;
return javaVector;
}
JNIEXPORT jint JNICALL Java_com_libmailcore_IndexSet_rangesCount
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jint, rangesCount);
+ MC_POOL_BEGIN;
+ jint result = MC_JAVA_BRIDGE_GET_SCALAR(jint, rangesCount);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_IndexSet_removeAllIndexes
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->removeAllIndexes();
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_MailException.cpp b/src/java/native/com_libmailcore_MailException.cpp
index 79d5ba17..87f15b2a 100644
--- a/src/java/native/com_libmailcore_MailException.cpp
+++ b/src/java/native/com_libmailcore_MailException.cpp
@@ -9,5 +9,8 @@ using namespace mailcore;
JNIEXPORT jstring JNICALL Java_com_libmailcore_MailException_messageForErrorCode
(JNIEnv * env, jclass cls, jint errorCode)
{
- return (jstring) MC_TO_JAVA(mailcore::errorMessageWithErrorCode((ErrorCode) errorCode));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(mailcore::errorMessageWithErrorCode((ErrorCode) errorCode));
+ MC_POOL_END;
+ return (jstring) result;
}
diff --git a/src/java/native/com_libmailcore_MessageBuilder.cpp b/src/java/native/com_libmailcore_MessageBuilder.cpp
index 4369f436..5e9738f6 100644
--- a/src/java/native/com_libmailcore_MessageBuilder.cpp
+++ b/src/java/native/com_libmailcore_MessageBuilder.cpp
@@ -18,7 +18,9 @@ MC_JAVA_SYNTHESIZE(Array, setAttachments, attachments)
JNIEXPORT void JNICALL Java_com_libmailcore_MessageBuilder_addAttachment
(JNIEnv * env, jobject obj, jobject attachment)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->addAttachment(MC_FROM_JAVA(Attachment, attachment));
+ MC_POOL_END;
}
MC_JAVA_SYNTHESIZE(Array, setRelatedAttachments, relatedAttachments)
@@ -26,7 +28,9 @@ MC_JAVA_SYNTHESIZE(Array, setRelatedAttachments, relatedAttachments)
JNIEXPORT void JNICALL Java_com_libmailcore_MessageBuilder_addRelatedAttachment
(JNIEnv * env, jobject obj, jobject attachment)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->addRelatedAttachment(MC_FROM_JAVA(Attachment, attachment));
+ MC_POOL_END;
}
MC_JAVA_SYNTHESIZE_STRING(setBoundaryPrefix, boundaryPrefix)
@@ -34,18 +38,25 @@ 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);
+ MC_POOL_BEGIN;
+ jbyteArray result = MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_MessageBuilder_dataForEncryption
(JNIEnv * env, jobject obj)
{
- return (jbyteArray) MC_JAVA_BRIDGE_GET(dataForEncryption);
+ MC_POOL_BEGIN;
+ jbyteArray result = MC_JAVA_BRIDGE_GET_DATA(dataForEncryption);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_htmlRendering
(JNIEnv * env, jobject obj, jobject javaCallback)
{
+ MC_POOL_BEGIN;
JavaHTMLRendererTemplateCallback * callback = NULL;
if (javaCallback != NULL) {
callback = new JavaHTMLRendererTemplateCallback(env, javaCallback);
@@ -54,37 +65,53 @@ JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_htmlRendering
if (callback != NULL) {
delete callback;
}
+ MC_POOL_END;
return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_htmlBodyRendering
(JNIEnv * env, jobject obj)
{
- return (jstring) MC_JAVA_BRIDGE_GET(htmlBodyRendering);
+ MC_POOL_BEGIN;
+ jstring result = MC_JAVA_BRIDGE_GET_STRING(htmlBodyRendering);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_plainTextRendering
(JNIEnv * env, jobject obj)
{
- return (jstring) MC_JAVA_NATIVE_INSTANCE->plainTextRendering();
+ MC_POOL_BEGIN;
+ jstring result = MC_JAVA_BRIDGE_GET_STRING(plainTextRendering);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageBuilder_plainTextBodyRendering
(JNIEnv * env, jobject obj, jboolean stripWhitespace)
{
- return (jstring) MC_JAVA_NATIVE_INSTANCE->plainTextBodyRendering((bool) stripWhitespace);
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->plainTextBodyRendering((bool) stripWhitespace));
+ MC_POOL_END;
+ return (jstring) result;
}
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));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->openPGPSignedMessageDataWithSignatureData(MC_FROM_JAVA(Data, signature)));
+ MC_POOL_END;
+ return (jbyteArray) result;
}
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_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->openPGPEncryptedMessageDataWithEncryptedData(MC_FROM_JAVA(Data, encryptedData)));
+ MC_POOL_END;
+ return (jbyteArray) result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_MessageHeader.cpp b/src/java/native/com_libmailcore_MessageHeader.cpp
index b5774cdd..a161df0b 100644
--- a/src/java/native/com_libmailcore_MessageHeader.cpp
+++ b/src/java/native/com_libmailcore_MessageHeader.cpp
@@ -15,7 +15,10 @@ 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_POOL_BEGIN;
+ jboolean result = (jboolean) MC_JAVA_NATIVE_INSTANCE->isMessageIDAutoGenerated();
+ MC_POOL_END;
+ return result;
}
MC_JAVA_SYNTHESIZE(Array, setReferences, references)
@@ -24,25 +27,35 @@ 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());
+ 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)
{
- return timeToJavaDate(env, MC_JAVA_NATIVE_INSTANCE->receivedDate());
+ 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)
@@ -57,55 +70,79 @@ 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)
{
- return (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->extraHeaderValueForName(MC_FROM_JAVA(String, 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)
{
- return MC_JAVA_BRIDGE_GET(allExtraHeadersNames);
+ 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)
{
- return (jstring) MC_JAVA_BRIDGE_GET(extractedSubject);
+ 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)
{
- return (jstring) MC_JAVA_BRIDGE_GET(partialExtractedSubject);
+ 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)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->replyHeader(replyAll, MC_FROM_JAVA(Array, 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)
{
- return (jstring) MC_JAVA_BRIDGE_GET(forwardHeader);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(forwardHeader);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_MessageParser.cpp b/src/java/native/com_libmailcore_MessageParser.cpp
index 8bdec7fd..038b219d 100644
--- a/src/java/native/com_libmailcore_MessageParser.cpp
+++ b/src/java/native/com_libmailcore_MessageParser.cpp
@@ -14,30 +14,43 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageParser_messageParserWithData
(JNIEnv * env, jclass cls, jbyteArray data)
{
- return MC_TO_JAVA(MessageParser::messageParserWithData(MC_FROM_JAVA(Data, data)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MessageParser::messageParserWithData(MC_FROM_JAVA(Data, data)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageParser_messageParserWithContentsOfFile
(JNIEnv * env, jclass cls, jstring filename)
{
- return MC_TO_JAVA(MessageParser::messageParserWithContentsOfFile(MC_FROM_JAVA(String, filename)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MessageParser::messageParserWithContentsOfFile(MC_FROM_JAVA(String, filename)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_MessageParser_mainPart
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(mainPart);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(mainPart);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_MessageParser_data
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_BEGIN;
+ jbyteArray result = MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageParser_htmlRendering
(JNIEnv * env, jobject obj, jobject javaCallback)
{
+ MC_POOL_BEGIN;
JavaHTMLRendererTemplateCallback * callback = NULL;
if (javaCallback != NULL) {
callback = new JavaHTMLRendererTemplateCallback(env, javaCallback);
@@ -46,25 +59,32 @@ JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageParser_htmlRendering
if (callback != NULL) {
delete callback;
}
+ MC_POOL_END;
return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageParser_htmlBodyRendering
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
return MC_JAVA_BRIDGE_GET_STRING(htmlBodyRendering);
+ MC_POOL_END;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageParser_plainTextRendering
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
return MC_JAVA_BRIDGE_GET_STRING(plainTextRendering);
+ MC_POOL_END;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_MessageParser_plainTextBodyRendering
(JNIEnv * env, jobject obj, jboolean stripWhitespace)
{
+ MC_POOL_BEGIN;
return (jstring) MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->plainTextBodyRendering((bool) stripWhitespace));
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp
index dcde1424..49bb4e79 100644
--- a/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp
+++ b/src/java/native/com_libmailcore_NNTPFetchAllArticlesOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchAllArticlesOperation_articles
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(articles);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(articles);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp
index 12b43c95..87c444df 100644
--- a/src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp
+++ b/src/java/native/com_libmailcore_NNTPFetchArticleOperation.cpp
@@ -14,7 +14,10 @@ using namespace mailcore;
JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_NNTPFetchArticleOperation_data
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_BEGIN;
+ jbyteArray result = MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp
index 5920fad6..28acdfe7 100644
--- a/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp
+++ b/src/java/native/com_libmailcore_NNTPFetchHeaderOperation.cpp
@@ -14,7 +14,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchHeaderOperation_header
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(header);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(header);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp
index bc908c7b..f3c61816 100644
--- a/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp
+++ b/src/java/native/com_libmailcore_NNTPFetchOverviewOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchOverviewOperation_articles
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(articles);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(articles);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp b/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp
index 76e48e92..ed7e27fe 100644
--- a/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp
+++ b/src/java/native/com_libmailcore_NNTPFetchServerTimeOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPFetchServerTimeOperation_time
(JNIEnv * env, jobject obj)
{
- return timeToJavaDate(env, MC_JAVA_NATIVE_INSTANCE->time());
+ MC_POOL_BEGIN;
+ jobject result = timeToJavaDate(env, MC_JAVA_NATIVE_INSTANCE->time());
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp b/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp
index f59de7b5..5279942c 100644
--- a/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp
+++ b/src/java/native/com_libmailcore_NNTPListNewsgroupsOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPListNewsgroupsOperation_groups
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(groups);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(groups);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPOperation.cpp b/src/java/native/com_libmailcore_NNTPOperation.cpp
index 42758163..471b28bf 100644
--- a/src/java/native/com_libmailcore_NNTPOperation.cpp
+++ b/src/java/native/com_libmailcore_NNTPOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jint JNICALL Java_com_libmailcore_NNTPOperation_errorCode
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+ MC_POOL_BEGIN;
+ jint result = MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NNTPSession.cpp b/src/java/native/com_libmailcore_NNTPSession.cpp
index 98b33ec8..02889140 100644
--- a/src/java/native/com_libmailcore_NNTPSession.cpp
+++ b/src/java/native/com_libmailcore_NNTPSession.cpp
@@ -23,78 +23,114 @@ MC_JAVA_SYNTHESIZE_SCALAR(jboolean, bool, setCheckCertificateEnabled, isCheckCer
JNIEXPORT jboolean JNICALL Java_com_libmailcore_NNTPSession_isOperationQueueRunning
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+ MC_POOL_BEGIN;
+ jboolean result = MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_cancelAllOperations
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->cancelAllOperations();
+ MC_POOL_END;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchAllArticlesOperation
(JNIEnv * env, jobject obj, jstring group)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchAllArticlesOperation(MC_FROM_JAVA(String, group)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchAllArticlesOperation(MC_FROM_JAVA(String, group)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchHeaderOperation
(JNIEnv * env, jobject obj, jstring group, jint idx)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchHeaderOperation(MC_FROM_JAVA(String, group), (unsigned int) idx));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchHeaderOperation(MC_FROM_JAVA(String, group), (unsigned int) idx));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchArticleOperation
(JNIEnv * env, jobject obj, jstring group, jint idx)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchArticleOperation(MC_FROM_JAVA(String, group), (unsigned int) idx));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchArticleOperation(MC_FROM_JAVA(String, group), (unsigned int) idx));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchArticleByMessageIDOperation
(JNIEnv * env, jobject obj, jstring group, jstring messageID)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchArticleByMessageIDOperation(MC_FROM_JAVA(String, group), MC_FROM_JAVA(String, messageID)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchArticleByMessageIDOperation(MC_FROM_JAVA(String, group), MC_FROM_JAVA(String, messageID)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchOverviewOperationWithIndexes
(JNIEnv * env, jobject obj, jstring group, jobject indexes)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchOverviewOperationWithIndexes(MC_FROM_JAVA(String, group), MC_FROM_JAVA(IndexSet, indexes)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchOverviewOperationWithIndexes(MC_FROM_JAVA(String, group), MC_FROM_JAVA(IndexSet, indexes)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_fetchServerDateOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchServerDateOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchServerDateOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_listAllNewsgroupsOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->listDefaultNewsgroupsOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->listDefaultNewsgroupsOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_listDefaultNewsgroupsOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->listDefaultNewsgroupsOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->listDefaultNewsgroupsOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_disconnectOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->disconnectOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->disconnectOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NNTPSession_checkAccountOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_finalizeNative
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
@@ -102,11 +138,13 @@ JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_finalizeNative
JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
MC_SAFE_RELEASE(logger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNativeOperationQueueListener
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
@@ -116,11 +154,13 @@ JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNativeOperationQueu
callback = new JavaOperationQueueCallback(env, javaListener);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(callback);
}
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNativeConnectionLogger
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
MC_SAFE_RELEASE(logger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
@@ -130,6 +170,7 @@ JNIEXPORT void JNICALL Java_com_libmailcore_NNTPSession_setupNativeConnectionLog
logger = new JavaConnectionLogger(env, javaLogger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(logger);
}
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_NativeObject.cpp b/src/java/native/com_libmailcore_NativeObject.cpp
index afe9a428..2a9ac116 100644
--- a/src/java/native/com_libmailcore_NativeObject.cpp
+++ b/src/java/native/com_libmailcore_NativeObject.cpp
@@ -19,37 +19,51 @@ JNIEXPORT void JNICALL Java_com_libmailcore_NativeObject_initWithNative
JNIEXPORT void JNICALL Java_com_libmailcore_NativeObject_unsetupNative
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
Object * mcObj = (Object *) getHandle(env, obj);
MC_SAFE_RELEASE(mcObj);
setHandle(env, obj, NULL);
+ MC_POOL_END;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_NativeObject_toString
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
+ jstring result = NULL;
Object * mcObj = (Object *) getHandle(env, obj);
if (mcObj == NULL) {
- return (jstring) MC_TO_JAVA(MCSTR("<Uninitialized NativeObject>"));
+ result = (jstring) MC_TO_JAVA(MCSTR("<Uninitialized NativeObject>"));
}
else {
- return MC_JAVA_BRIDGE_GET_STRING(description);
+ result = MC_JAVA_BRIDGE_GET_STRING(description);
}
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_NativeObject_clone
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_FROM_JAVA(Object, obj)->copy()->autorelease());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_FROM_JAVA(Object, obj)->copy()->autorelease());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_NativeObject_serializableData
(JNIEnv * env, jobject obj)
{
- return (jbyteArray) MC_TO_JAVA(JSON::objectToJSONData(MC_JAVA_NATIVE_INSTANCE->serializable()));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(JSON::objectToJSONData(MC_JAVA_NATIVE_INSTANCE->serializable()));
+ MC_POOL_END;
+ return (jbyteArray) result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_NativeObject_importSerializableData
(JNIEnv * env, jobject obj, jbyteArray data)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->importSerializable((HashMap *) JSON::objectFromJSONData(MC_FROM_JAVA(Data, data)));
+ MC_POOL_END;
}
diff --git a/src/java/native/com_libmailcore_Operation.cpp b/src/java/native/com_libmailcore_Operation.cpp
index dfd8c64c..08d518b6 100644
--- a/src/java/native/com_libmailcore_Operation.cpp
+++ b/src/java/native/com_libmailcore_Operation.cpp
@@ -44,21 +44,28 @@ private:
JNIEXPORT void JNICALL Java_com_libmailcore_Operation_cancel
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->cancel();
+ MC_POOL_END;
}
JNIEXPORT jboolean JNICALL Java_com_libmailcore_Operation_isCancelled
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isCancelled);
+ MC_POOL_BEGIN;
+ jboolean result = MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isCancelled);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_Operation_nativeStart
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationCallback * callback = new JavaOperationCallback(env, obj);
MC_JAVA_NATIVE_INSTANCE->setCallback(callback);
MC_JAVA_NATIVE_INSTANCE->start();
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp b/src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp
index 8b5a9598..8c1855fa 100644
--- a/src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp
+++ b/src/java/native/com_libmailcore_POPFetchHeaderOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPFetchHeaderOperation_header
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(header);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(header);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPFetchMessageOperation.cpp b/src/java/native/com_libmailcore_POPFetchMessageOperation.cpp
index ad2babbc..fe7393c3 100644
--- a/src/java/native/com_libmailcore_POPFetchMessageOperation.cpp
+++ b/src/java/native/com_libmailcore_POPFetchMessageOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jbyteArray JNICALL Java_com_libmailcore_POPFetchMessageOperation_data
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET_DATA(data);
+ MC_POOL_END;
+ return (jbyteArray) result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp b/src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp
index 3c267556..06d21300 100644
--- a/src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp
+++ b/src/java/native/com_libmailcore_POPFetchMessagesOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPFetchMessagesOperation_messages
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET(messages);
+ MC_POOL_BEGIN;
+ jobject result = MC_JAVA_BRIDGE_GET(messages);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPOperation.cpp b/src/java/native/com_libmailcore_POPOperation.cpp
index 0a801330..1d412641 100644
--- a/src/java/native/com_libmailcore_POPOperation.cpp
+++ b/src/java/native/com_libmailcore_POPOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jint JNICALL Java_com_libmailcore_POPOperation_errorCode
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+ MC_POOL_BEGIN;
+ jint result = MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_POPSession.cpp b/src/java/native/com_libmailcore_POPSession.cpp
index 0b8eed3f..f0dbfd40 100644
--- a/src/java/native/com_libmailcore_POPSession.cpp
+++ b/src/java/native/com_libmailcore_POPSession.cpp
@@ -24,60 +24,87 @@ MC_JAVA_SYNTHESIZE_SCALAR(jboolean, bool, setCheckCertificateEnabled, isCheckCer
JNIEXPORT jboolean JNICALL Java_com_libmailcore_POPSession_isOperationQueueRunning
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+ MC_POOL_BEGIN;
+ jboolean result = MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_cancelAllOperations
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->cancelAllOperations();
+ MC_POOL_END;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchMessagesOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessagesOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessagesOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchHeaderOperation
(JNIEnv * env, jobject obj, jint idx)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchHeaderOperation((unsigned int) idx));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchHeaderOperation((unsigned int) idx));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_fetchMessageOperation
(JNIEnv * env, jobject obj, jint idx)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageOperation((unsigned int) idx));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->fetchMessageOperation((unsigned int) idx));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_deleteMessagesOperation
(JNIEnv * env, jobject obj, jobject indexes)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->deleteMessagesOperation(MC_FROM_JAVA(IndexSet, indexes)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->deleteMessagesOperation(MC_FROM_JAVA(IndexSet, indexes)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_disconnectOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->disconnectOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->disconnectOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_checkAccountOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_POPSession_noopOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->noopOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->noopOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_finalizeNative
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
@@ -85,11 +112,13 @@ JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_finalizeNative
JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
MC_SAFE_RELEASE(logger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNativeOperationQueueListener
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
@@ -99,11 +128,13 @@ JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNativeOperationQueue
callback = new JavaOperationQueueCallback(env, javaListener);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(callback);
}
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNativeConnectionLogger
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
MC_SAFE_RELEASE(logger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
@@ -113,6 +144,7 @@ JNIEXPORT void JNICALL Java_com_libmailcore_POPSession_setupNativeConnectionLogg
logger = new JavaConnectionLogger(env, javaLogger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(logger);
}
+ MC_POOL_END;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_Range.cpp b/src/java/native/com_libmailcore_Range.cpp
index a1d657b9..7d4b0921 100644
--- a/src/java/native/com_libmailcore_Range.cpp
+++ b/src/java/native/com_libmailcore_Range.cpp
@@ -10,58 +10,82 @@ using namespace mailcore;
JNIEXPORT jobject JNICALL Java_com_libmailcore_Range_removeRange
(JNIEnv * env, jobject obj, jobject range)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, obj);
Range otherRange = rangeFromJava(env, range);
- return MC_TO_JAVA(RangeRemoveRange(mcRange, otherRange));
+ jobject result = MC_TO_JAVA(RangeRemoveRange(mcRange, otherRange));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Range_union
(JNIEnv * env, jobject obj, jobject range)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, obj);
Range otherRange = rangeFromJava(env, range);
- return MC_TO_JAVA(RangeUnion(mcRange, otherRange));
+ jobject result = MC_TO_JAVA(RangeUnion(mcRange, otherRange));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Range_intersection
(JNIEnv * env, jobject obj, jobject range)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, obj);
Range otherRange = rangeFromJava(env, range);
- return rangeToJava(env, RangeIntersection(mcRange, otherRange));
+ jobject result = rangeToJava(env, RangeIntersection(mcRange, otherRange));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jboolean JNICALL Java_com_libmailcore_Range_hasIntersection
(JNIEnv * env, jobject obj, jobject range)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, obj);
Range otherRange = rangeFromJava(env, range);
- return (jboolean) RangeHasIntersection(mcRange, otherRange);
+ jboolean result = (jboolean) RangeHasIntersection(mcRange, otherRange);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jlong JNICALL Java_com_libmailcore_Range_leftBound
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, obj);
- return (jlong) RangeLeftBound(mcRange);
+ jlong result = (jlong) RangeLeftBound(mcRange);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jlong JNICALL Java_com_libmailcore_Range_rightBound
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
Range mcRange = rangeFromJava(env, obj);
- return (jlong) RangeRightBound(mcRange);
+ jlong result = (jlong) RangeRightBound(mcRange);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jstring JNICALL Java_com_libmailcore_Range_toString
(JNIEnv * env, jobject obj)
{
- return (jstring) MC_TO_JAVA(RangeToString(rangeFromJava(env, obj)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(RangeToString(rangeFromJava(env, obj)));
+ MC_POOL_END;
+ return (jstring) result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_Range_rangeWithString
(JNIEnv * env, jclass cls, jstring rangeString)
{
+ MC_POOL_BEGIN;
Range mcRange = RangeFromString(MC_FROM_JAVA(String, rangeString));
- return rangeToJava(env, mcRange);
+ jobject result = rangeToJava(env, mcRange);
+ MC_POOL_END;
+ return result;
}
diff --git a/src/java/native/com_libmailcore_SMTPOperation.cpp b/src/java/native/com_libmailcore_SMTPOperation.cpp
index 78eb325b..1f70eda8 100644
--- a/src/java/native/com_libmailcore_SMTPOperation.cpp
+++ b/src/java/native/com_libmailcore_SMTPOperation.cpp
@@ -13,7 +13,10 @@ using namespace mailcore;
JNIEXPORT jint JNICALL Java_com_libmailcore_SMTPOperation_errorCode
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+ MC_POOL_BEGIN;
+ jint result = MC_JAVA_BRIDGE_GET_SCALAR(jint, error);
+ MC_POOL_END;
+ return result;
}
MC_JAVA_BRIDGE
diff --git a/src/java/native/com_libmailcore_SMTPSession.cpp b/src/java/native/com_libmailcore_SMTPSession.cpp
index 80057e5e..0d43014c 100644
--- a/src/java/native/com_libmailcore_SMTPSession.cpp
+++ b/src/java/native/com_libmailcore_SMTPSession.cpp
@@ -26,48 +26,69 @@ MC_JAVA_SYNTHESIZE_SCALAR(jboolean, bool, setUseHeloIPEnabled, useHeloIPEnabled)
JNIEXPORT jboolean JNICALL Java_com_libmailcore_SMTPSession_isOperationQueueRunning
(JNIEnv * env, jobject obj)
{
- return MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+ MC_POOL_BEGIN;
+ jboolean result = MC_JAVA_BRIDGE_GET_SCALAR(jboolean, isOperationQueueRunning);
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_cancelAllOperations
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
MC_JAVA_NATIVE_INSTANCE->cancelAllOperations();
+ MC_POOL_END;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_loginOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->loginOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->loginOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_sendMessageOperation___3B
(JNIEnv * env, jobject obj, jbyteArray data)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->sendMessageOperation(MC_FROM_JAVA(Data, data)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->sendMessageOperation(MC_FROM_JAVA(Data, data)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_sendMessageOperation__Lcom_libmailcore_Address_2Ljava_util_List_2_3B
(JNIEnv * env, jobject obj, jobject from, jobject recipients, jbyteArray data)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->sendMessageOperation(MC_FROM_JAVA(Address, from), MC_FROM_JAVA(Array, recipients), MC_FROM_JAVA(Data, data)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->sendMessageOperation(MC_FROM_JAVA(Address, from), MC_FROM_JAVA(Array, recipients), MC_FROM_JAVA(Data, data)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_checkAccountOperation
(JNIEnv * env, jobject obj, jobject address)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation(MC_FROM_JAVA(Address, address)));
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->checkAccountOperation(MC_FROM_JAVA(Address, address)));
+ MC_POOL_END;
+ return result;
}
JNIEXPORT jobject JNICALL Java_com_libmailcore_SMTPSession_noopOperation
(JNIEnv * env, jobject obj)
{
- return MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->noopOperation());
+ MC_POOL_BEGIN;
+ jobject result = MC_TO_JAVA(MC_JAVA_NATIVE_INSTANCE->noopOperation());
+ MC_POOL_END;
+ return result;
}
JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_finalizeNative
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
@@ -75,11 +96,13 @@ JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_finalizeNative
JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
MC_SAFE_RELEASE(logger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNativeOperationQueueListener
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaOperationQueueCallback * callback = (JavaOperationQueueCallback *) MC_JAVA_NATIVE_INSTANCE->operationQueueCallback();
MC_SAFE_RELEASE(callback);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(NULL);
@@ -89,11 +112,13 @@ JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNativeOperationQueu
callback = new JavaOperationQueueCallback(env, javaListener);
MC_JAVA_NATIVE_INSTANCE->setOperationQueueCallback(callback);
}
+ MC_POOL_END;
}
JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNativeConnectionLogger
(JNIEnv * env, jobject obj)
{
+ MC_POOL_BEGIN;
JavaConnectionLogger * logger = (JavaConnectionLogger *) MC_JAVA_NATIVE_INSTANCE->connectionLogger();
MC_SAFE_RELEASE(logger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(NULL);
@@ -103,6 +128,7 @@ JNIEXPORT void JNICALL Java_com_libmailcore_SMTPSession_setupNativeConnectionLog
logger = new JavaConnectionLogger(env, javaLogger);
MC_JAVA_NATIVE_INSTANCE->setConnectionLogger(logger);
}
+ MC_POOL_END;
}
MC_JAVA_BRIDGE