aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java/com/libmailcore/IMAPSession.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/com/libmailcore/IMAPSession.java')
-rw-r--r--src/java/com/libmailcore/IMAPSession.java193
1 files changed, 193 insertions, 0 deletions
diff --git a/src/java/com/libmailcore/IMAPSession.java b/src/java/com/libmailcore/IMAPSession.java
new file mode 100644
index 00000000..f3e305a4
--- /dev/null
+++ b/src/java/com/libmailcore/IMAPSession.java
@@ -0,0 +1,193 @@
+package com.libmailcore;
+
+import java.util.List;
+
+public class IMAPSession extends NativeObject {
+ public IMAPSession()
+ {
+ setupNative();
+ }
+
+ protected void finalize() throws Throwable
+ {
+ finalizeNative();
+ super.finalize();
+ }
+
+ public native void setHostname(String hostname);
+ public native String hostname();
+
+ public native void setPort(int port);
+ public native int port();
+
+ public native void setUsername(String username);
+ public native String username();
+
+ public native void setPassword(String password);
+ public native String password();
+
+ public native void setOAuth2Token(String token);
+ public native String OAuth2Token();
+
+ public native void setAuthType(int authType);
+ public native int authType();
+
+ public native void setConnectionType(int connectionType);
+ public native int connectionType();
+
+ public native void setTimeout(long seconds);
+ public native long timeout();
+
+ public native void setCheckCertificateEnabled(boolean enabled);
+ public native boolean isCheckCertificateEnabled();
+
+ public native void setDefaultNamespace(IMAPNamespace ns);
+ public native IMAPNamespace defaultNamespace();
+
+ public native void setAllowsFolderConcurrentAccessEnabled(boolean enabled);
+ public native boolean allowsFolderConcurrentAccessEnabled();
+
+ public native void setMaximumConnections(int maxConnections);
+ public native int maximumConnections();
+
+ public void setConnectionLogger(ConnectionLogger logger)
+ {
+ connectionLogger = logger;
+ setupNativeConnectionLogger();
+ }
+
+ public ConnectionLogger connectionLogger()
+ {
+ return connectionLogger;
+ }
+
+ public void setOperationQueueListener(OperationQueueListener listener)
+ {
+ operationQueueListener = listener;
+ setupNativeOperationQueueListener();
+ }
+
+ public OperationQueueListener operationQueueListener()
+ {
+ return operationQueueListener;
+ }
+
+ public native boolean isOperationQueueRunning();
+ public native void cancelAllOperations();
+
+ public native IMAPIdentity serverIdentity();
+ public native IMAPIdentity clientIdentity();
+ public native String gmailUserDisplayName();
+
+ public native IMAPFolderInfoOperation folderInfoOperation(String folder);
+ public native IMAPFolderStatusOperation folderStatusOperation(String folder);
+
+ public native IMAPFetchFoldersOperation fetchSubscribedFoldersOperation();
+ public native IMAPFetchFoldersOperation fetchAllFoldersOperation();
+
+ public native IMAPOperation renameFolderOperation(String folder, String otherName);
+ public native IMAPOperation deleteFolderOperation(String folder);
+ public native IMAPOperation createFolderOperation(String folder);
+
+ public native IMAPOperation subscribeFolderOperation(String folder);
+ public native IMAPOperation unsubscribeFolderOperation(String folder);
+
+ public native IMAPAppendMessageOperation appendMessageOperation(String folder, byte[] messageData, int messageFlags, List<String> customFlags);
+ public IMAPAppendMessageOperation appendMessageOperation(String folder, byte[] messageData, int messageFlags)
+ {
+ return appendMessageOperation(folder, messageData, messageFlags, null);
+ }
+
+ public native IMAPCopyMessagesOperation copyMessagesOperation(String folder, IndexSet uids, String destFolder);
+
+ public native IMAPOperation expungeOperation(String folder);
+
+ public native IMAPFetchMessagesOperation fetchMessagesByUIDOperation(String folder, int requestKind, IndexSet indexes);
+ public native IMAPFetchMessagesOperation fetchMessagesByNumberOperation(String folder, int requestKind, IndexSet indexes);
+ public native IMAPFetchMessagesOperation syncMessagesByUIDOperation(String folder, int requestKind, IndexSet indexes, long modSeq);
+
+ public native IMAPFetchContentOperation fetchMessageByUIDOperation(String folder, long uid, boolean urgent);
+ public IMAPFetchContentOperation fetchMessageByUIDOperation(String folder, long uid)
+ {
+ return fetchMessageByUIDOperation(folder, uid, false);
+ }
+
+ public native IMAPFetchContentOperation fetchMessageAttachmentByUIDOperation(String folder, long uid, String partID,
+ int encoding, boolean urgent);
+ public IMAPFetchContentOperation fetchMessageAttachmentByUIDOperation(String folder, long uid, String partID,
+ int encoding)
+ {
+ return fetchMessageAttachmentByUIDOperation(folder, uid, partID, encoding, false);
+ }
+
+ public native IMAPFetchContentOperation fetchMessageByNumberOperation(String folder, long number, boolean urgent);
+ public IMAPFetchContentOperation fetchMessageByNumberOperation(String folder, long number)
+ {
+ return fetchMessageByNumberOperation(folder, number, false);
+ }
+
+ public native IMAPFetchContentOperation fetchMessageAttachmentByNumberOperation(String folder, long number, String partID,
+ int encoding, boolean urgent);
+ public IMAPFetchContentOperation fetchMessageAttachmentByNumberOperation(String folder, long number, String partID,
+ int encoding)
+ {
+ return fetchMessageAttachmentByNumberOperation(folder, number, partID, encoding, false);
+ }
+
+ public native IMAPFetchParsedContentOperation fetchParsedMessageByUIDOperation(String folder, long uid, boolean urgent);
+ public IMAPFetchParsedContentOperation fetchParsedMessageByUIDOperation(String folder, long uid)
+ {
+ return fetchParsedMessageByUIDOperation(folder, uid, false);
+ }
+
+ public native IMAPFetchParsedContentOperation fetchParsedMessageByNumberOperation(String folder, long number, boolean urgent);
+ public IMAPFetchParsedContentOperation fetchParsedMessageByNumberOperation(String folder, long number)
+ {
+ return fetchParsedMessageByNumberOperation(folder, number, false);
+ }
+
+ public native IMAPOperation storeFlagsByUIDOperation(String folder, IndexSet uids, int kind, int flags, List<String> customFlags);
+ public IMAPOperation storeFlagsByUIDOperation(String folder, IndexSet uids, int kind, int flags)
+ {
+ return storeFlagsByUIDOperation(folder, uids, kind, flags, null);
+ }
+ public native IMAPOperation storeFlagsByNumberOperation(String folder, IndexSet numbers, int kind, int flags, List<String> customFlags);
+ public IMAPOperation storeFlagsByNumberOperation(String folder, IndexSet numbers, int kind, int flags)
+ {
+ return storeFlagsByNumberOperation(folder, numbers, kind, flags, null);
+ }
+ public native IMAPOperation storeLabelsByUIDOperation(String folder, IndexSet uids, int kind, List<String> labels);
+ public native IMAPOperation storeLabelsByNumberOperation(String folder, IndexSet numbers, int kind, List<String> labels);
+
+ public native IMAPSearchOperation searchOperation(String folder, int kind, String searchString);
+ public native IMAPSearchOperation searchOperation(String folder, IMAPSearchExpression expression);
+
+ public native IMAPIdleOperation idleOperation(String folder, long lastKnownUID);
+
+ public native IMAPFetchNamespaceOperation fetchNamespaceOperation();
+
+ public native IMAPIdentityOperation identityOperation(IMAPIdentity identity);
+
+ public native IMAPOperation connectOperation();
+ public native IMAPOperation checkAccountOperation();
+ public native IMAPOperation disconnectOperation();
+
+ public native IMAPCapabilityOperation capabilityOperation();
+ public native IMAPQuotaOperation quotaOperation();
+
+ public native IMAPOperation noopOperation();
+
+ public native IMAPMessageRenderingOperation htmlRenderingOperation(IMAPMessage message, String folder);
+ public native IMAPMessageRenderingOperation htmlBodyRenderingOperation(IMAPMessage message, String folder);
+ public native IMAPMessageRenderingOperation plainTextRenderingOperation(IMAPMessage message, String folder);
+ public native IMAPMessageRenderingOperation plainTextBodyRenderingOperation(IMAPMessage message, String folder, boolean stripWhitespace);
+
+ private native void setupNative();
+ private native void finalizeNative();
+
+ private ConnectionLogger connectionLogger;
+ private OperationQueueListener operationQueueListener;
+
+ private native void setupNativeOperationQueueListener();
+ private native void setupNativeConnectionLogger();
+} \ No newline at end of file