276 lines
8.9 KiB
C
276 lines
8.9 KiB
C
|
#ifndef MAILCORE_MCMESSAGECONSTANTS_H
|
||
|
|
||
|
#define MAILCORE_MCMESSAGECONSTANTS_H
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
|
||
|
namespace mailcore {
|
||
|
|
||
|
enum ConnectionType {
|
||
|
ConnectionTypeClear = 1 << 0,
|
||
|
ConnectionTypeStartTLS = 1 << 1,
|
||
|
ConnectionTypeTLS = 1 << 2,
|
||
|
};
|
||
|
|
||
|
enum AuthType {
|
||
|
AuthTypeSASLNone = 0,
|
||
|
AuthTypeSASLCRAMMD5 = 1 << 0,
|
||
|
AuthTypeSASLPlain = 1 << 1,
|
||
|
AuthTypeSASLGSSAPI = 1 << 2,
|
||
|
AuthTypeSASLDIGESTMD5 = 1 << 3,
|
||
|
AuthTypeSASLLogin = 1 << 4,
|
||
|
AuthTypeSASLSRP = 1 << 5,
|
||
|
AuthTypeSASLNTLM = 1 << 6,
|
||
|
AuthTypeSASLKerberosV4 = 1 << 7,
|
||
|
AuthTypeXOAuth2 = 1 << 8,
|
||
|
AuthTypeXOAuth2Outlook = 1 << 9,
|
||
|
};
|
||
|
|
||
|
enum IMAPFolderFlag {
|
||
|
IMAPFolderFlagNone = 0,
|
||
|
IMAPFolderFlagMarked = 1 << 0,
|
||
|
IMAPFolderFlagUnmarked = 1 << 1,
|
||
|
IMAPFolderFlagNoSelect = 1 << 2,
|
||
|
IMAPFolderFlagNoInferiors = 1 << 3,
|
||
|
IMAPFolderFlagInbox = 1 << 4,
|
||
|
IMAPFolderFlagSentMail = 1 << 5,
|
||
|
IMAPFolderFlagStarred = 1 << 6,
|
||
|
IMAPFolderFlagAllMail = 1 << 7,
|
||
|
IMAPFolderFlagTrash = 1 << 8,
|
||
|
IMAPFolderFlagDrafts = 1 << 9,
|
||
|
IMAPFolderFlagSpam = 1 << 10,
|
||
|
IMAPFolderFlagImportant = 1 << 11,
|
||
|
IMAPFolderFlagArchive = 1 << 12,
|
||
|
IMAPFolderFlagAll = IMAPFolderFlagAllMail,
|
||
|
IMAPFolderFlagJunk = IMAPFolderFlagSpam,
|
||
|
IMAPFolderFlagFlagged = IMAPFolderFlagStarred,
|
||
|
IMAPFolderFlagFolderTypeMask = IMAPFolderFlagInbox | IMAPFolderFlagSentMail | IMAPFolderFlagStarred | IMAPFolderFlagAllMail |
|
||
|
IMAPFolderFlagTrash| IMAPFolderFlagDrafts | IMAPFolderFlagSpam | IMAPFolderFlagImportant | IMAPFolderFlagArchive,
|
||
|
};
|
||
|
|
||
|
enum MessageFlag {
|
||
|
MessageFlagNone = 0,
|
||
|
MessageFlagSeen = 1 << 0,
|
||
|
MessageFlagAnswered = 1 << 1,
|
||
|
MessageFlagFlagged = 1 << 2,
|
||
|
MessageFlagDeleted = 1 << 3,
|
||
|
MessageFlagDraft = 1 << 4,
|
||
|
MessageFlagMDNSent = 1 << 5,
|
||
|
MessageFlagForwarded = 1 << 6,
|
||
|
MessageFlagSubmitPending = 1 << 7,
|
||
|
MessageFlagSubmitted = 1 << 8,
|
||
|
MessageFlagMaskAll = MessageFlagSeen | MessageFlagAnswered | MessageFlagFlagged |
|
||
|
MessageFlagDeleted | MessageFlagDraft | MessageFlagMDNSent | MessageFlagForwarded |
|
||
|
MessageFlagSubmitPending | MessageFlagSubmitted,
|
||
|
} ;
|
||
|
|
||
|
enum IMAPMessagesRequestKind {
|
||
|
IMAPMessagesRequestKindUid = 0, // This is the default and it's always fetched
|
||
|
IMAPMessagesRequestKindFlags = 1 << 0,
|
||
|
IMAPMessagesRequestKindHeaders = 1 << 1,
|
||
|
IMAPMessagesRequestKindStructure = 1 << 2,
|
||
|
IMAPMessagesRequestKindInternalDate = 1 << 3,
|
||
|
IMAPMessagesRequestKindFullHeaders = 1 << 4,
|
||
|
IMAPMessagesRequestKindHeaderSubject = 1 << 5,
|
||
|
IMAPMessagesRequestKindGmailLabels = 1 << 6,
|
||
|
IMAPMessagesRequestKindGmailMessageID = 1 << 7,
|
||
|
IMAPMessagesRequestKindGmailThreadID = 1 << 8,
|
||
|
IMAPMessagesRequestKindExtraHeaders = 1 << 9,
|
||
|
IMAPMessagesRequestKindSize = 1 << 10,
|
||
|
};
|
||
|
|
||
|
enum IMAPFetchRequestType {
|
||
|
IMAPFetchRequestTypeUID = 0,
|
||
|
IMAPFetchRequestTypeSequence = 1
|
||
|
};
|
||
|
|
||
|
enum IMAPStoreFlagsRequestKind {
|
||
|
IMAPStoreFlagsRequestKindAdd,
|
||
|
IMAPStoreFlagsRequestKindRemove,
|
||
|
IMAPStoreFlagsRequestKindSet,
|
||
|
};
|
||
|
|
||
|
enum IMAPWorkaround {
|
||
|
IMAPWorkaroundGmail = 1 << 0,
|
||
|
IMAPWorkaroundYahoo = 1 << 1,
|
||
|
IMAPWorkaroundExchange2003 = 1 << 2,
|
||
|
};
|
||
|
|
||
|
enum IMAPCapability {
|
||
|
IMAPCapabilityACL,
|
||
|
IMAPCapabilityBinary,
|
||
|
IMAPCapabilityCatenate,
|
||
|
IMAPCapabilityChildren,
|
||
|
IMAPCapabilityCompressDeflate,
|
||
|
IMAPCapabilityCondstore,
|
||
|
IMAPCapabilityEnable,
|
||
|
IMAPCapabilityIdle,
|
||
|
IMAPCapabilityId,
|
||
|
IMAPCapabilityLiteralPlus,
|
||
|
IMAPCapabilityMultiAppend,
|
||
|
IMAPCapabilityNamespace,
|
||
|
IMAPCapabilityQResync,
|
||
|
IMAPCapabilityQuota,
|
||
|
IMAPCapabilitySort,
|
||
|
IMAPCapabilityStartTLS,
|
||
|
IMAPCapabilityThreadOrderedSubject,
|
||
|
IMAPCapabilityThreadReferences,
|
||
|
IMAPCapabilityUIDPlus,
|
||
|
IMAPCapabilityUnselect,
|
||
|
IMAPCapabilityXList,
|
||
|
IMAPCapabilityAuthAnonymous,
|
||
|
IMAPCapabilityAuthCRAMMD5,
|
||
|
IMAPCapabilityAuthDigestMD5,
|
||
|
IMAPCapabilityAuthExternal,
|
||
|
IMAPCapabilityAuthGSSAPI,
|
||
|
IMAPCapabilityAuthKerberosV4,
|
||
|
IMAPCapabilityAuthLogin,
|
||
|
IMAPCapabilityAuthNTLM,
|
||
|
IMAPCapabilityAuthOTP,
|
||
|
IMAPCapabilityAuthPlain,
|
||
|
IMAPCapabilityAuthSKey,
|
||
|
IMAPCapabilityAuthSRP,
|
||
|
IMAPCapabilityXOAuth2,
|
||
|
IMAPCapabilityGmail,
|
||
|
};
|
||
|
|
||
|
enum POPCapability {
|
||
|
POPCapabilityNone,
|
||
|
POPCapabilityStartTLS,
|
||
|
POPCapabilityTop,
|
||
|
POPCapabilityUser,
|
||
|
POPCapabilityRespCodes,
|
||
|
POPCapabilityPipelining,
|
||
|
POPCapabilityUIDL,
|
||
|
POPCapabilitySASL,
|
||
|
POPCapabilityAuthAnonymous,
|
||
|
POPCapabilityAuthCRAMMD5,
|
||
|
POPCapabilityAuthDigestMD5,
|
||
|
POPCapabilityAuthExternal,
|
||
|
POPCapabilityAuthGSSAPI,
|
||
|
POPCapabilityAuthKerberosV4,
|
||
|
POPCapabilityAuthLogin,
|
||
|
POPCapabilityAuthNTLM,
|
||
|
POPCapabilityAuthOTP,
|
||
|
POPCapabilityAuthPlain,
|
||
|
POPCapabilityAuthSKey,
|
||
|
POPCapabilityAuthSRP,
|
||
|
};
|
||
|
|
||
|
enum Encoding {
|
||
|
Encoding7Bit = 0, // should match MAILIMAP_BODY_FLD_ENC_7BIT
|
||
|
Encoding8Bit = 1, // should match MAILIMAP_BODY_FLD_ENC_8BIT
|
||
|
EncodingBinary = 2, // should match MAILIMAP_BODY_FLD_ENC_BINARY
|
||
|
EncodingBase64 = 3, // should match MAILIMAP_BODY_FLD_ENC_BASE64
|
||
|
EncodingQuotedPrintable = 4, // should match MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE
|
||
|
EncodingOther = 5, // should match MAILIMAP_BODY_FLD_ENC_OTHER
|
||
|
// negative values should be used for other encoding
|
||
|
EncodingUUEncode = -1
|
||
|
};
|
||
|
|
||
|
enum IMAPSearchKind {
|
||
|
IMAPSearchKindAll,
|
||
|
IMAPSearchKindNone,
|
||
|
IMAPSearchKindFrom,
|
||
|
IMAPSearchKindTo,
|
||
|
IMAPSearchKindCc,
|
||
|
IMAPSearchKindBcc,
|
||
|
IMAPSearchKindRecipient, // Recipient is the combination of To, Cc and Bcc
|
||
|
IMAPSearchKindSubject,
|
||
|
IMAPSearchKindContent,
|
||
|
IMAPSearchKindBody,
|
||
|
IMAPSearchKindUIDs,
|
||
|
IMAPSearchKindHeader,
|
||
|
IMAPSearchKindRead,
|
||
|
IMAPSearchKindUnread,
|
||
|
IMAPSearchKindFlagged,
|
||
|
IMAPSearchKindUnflagged,
|
||
|
IMAPSearchKindAnswered,
|
||
|
IMAPSearchKindUnanswered,
|
||
|
IMAPSearchKindDraft,
|
||
|
IMAPSearchKindUndraft,
|
||
|
IMAPSearchKindDeleted,
|
||
|
IMAPSearchKindSpam,
|
||
|
IMAPSearchKindBeforeDate,
|
||
|
IMAPSearchKindOnDate,
|
||
|
IMAPSearchKindSinceDate,
|
||
|
IMAPSearchKindBeforeReceivedDate,
|
||
|
IMAPSearchKindOnReceivedDate,
|
||
|
IMAPSearchKindSinceReceivedDate,
|
||
|
IMAPSearchKindSizeLarger,
|
||
|
IMAPSearchKindSizeSmaller,
|
||
|
IMAPSearchKindGmailThreadID,
|
||
|
IMAPSearchKindGmailMessageID,
|
||
|
IMAPSearchKindGmailRaw,
|
||
|
IMAPSearchKindOr,
|
||
|
IMAPSearchKindAnd,
|
||
|
IMAPSearchKindNot,
|
||
|
};
|
||
|
|
||
|
enum ErrorCode {
|
||
|
ErrorNone,
|
||
|
ErrorConnection,
|
||
|
ErrorTLSNotAvailable,
|
||
|
ErrorParse,
|
||
|
ErrorCertificate,
|
||
|
ErrorAuthentication,
|
||
|
ErrorGmailIMAPNotEnabled,
|
||
|
ErrorGmailExceededBandwidthLimit,
|
||
|
ErrorGmailTooManySimultaneousConnections,
|
||
|
ErrorMobileMeMoved,
|
||
|
ErrorYahooUnavailable,
|
||
|
ErrorNonExistantFolder,
|
||
|
ErrorRename,
|
||
|
ErrorDelete,
|
||
|
ErrorCreate,
|
||
|
ErrorSubscribe,
|
||
|
ErrorAppend,
|
||
|
ErrorCopy,
|
||
|
ErrorExpunge,
|
||
|
ErrorFetch,
|
||
|
ErrorIdle,
|
||
|
ErrorIdentity,
|
||
|
ErrorNamespace,
|
||
|
ErrorStore,
|
||
|
ErrorCapability,
|
||
|
ErrorStartTLSNotAvailable,
|
||
|
ErrorSendMessageIllegalAttachment,
|
||
|
ErrorStorageLimit,
|
||
|
ErrorSendMessageNotAllowed,
|
||
|
ErrorNeedsConnectToWebmail,
|
||
|
ErrorSendMessage,
|
||
|
ErrorAuthenticationRequired,
|
||
|
ErrorFetchMessageList,
|
||
|
ErrorDeleteMessage,
|
||
|
ErrorInvalidAccount,
|
||
|
ErrorFile,
|
||
|
ErrorCompression,
|
||
|
ErrorNoSender,
|
||
|
ErrorNoRecipient,
|
||
|
ErrorNoop,
|
||
|
};
|
||
|
|
||
|
enum PartType {
|
||
|
PartTypeSingle,
|
||
|
PartTypeMessage,
|
||
|
PartTypeMultipartMixed,
|
||
|
PartTypeMultipartRelated,
|
||
|
PartTypeMultipartAlternative,
|
||
|
PartTypeMultipartSigned,
|
||
|
};
|
||
|
|
||
|
// Private type - It should not be used directly.
|
||
|
enum IMAPMessageRenderingType {
|
||
|
IMAPMessageRenderingTypeHTML,
|
||
|
IMAPMessageRenderingTypeHTMLBody,
|
||
|
IMAPMessageRenderingTypePlainText,
|
||
|
IMAPMessageRenderingTypePlainTextBody,
|
||
|
IMAPMessageRenderingTypePlainTextBodyAndStripWhitespace,
|
||
|
};
|
||
|
|
||
|
}
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#endif
|