439 lines
16 KiB
C
439 lines
16 KiB
C
|
#ifndef MAILCORE_MCOCONSTANTS_H
|
||
|
|
||
|
#define MAILCORE_MCOCONSTANTS_H
|
||
|
|
||
|
/** It's the connection type.*/
|
||
|
typedef NS_OPTIONS(NSInteger, MCOConnectionType) {
|
||
|
/** Clear-text connection for the protocol.*/
|
||
|
MCOConnectionTypeClear = 1 << 0,
|
||
|
/** Clear-text connection at the beginning, then switch to encrypted connection using TLS/SSL*/
|
||
|
/** on the same TCP connection.*/
|
||
|
MCOConnectionTypeStartTLS = 1 << 1,
|
||
|
/** Encrypted connection using TLS/SSL.*/
|
||
|
MCOConnectionTypeTLS = 1 << 2,
|
||
|
};
|
||
|
|
||
|
/** It's the authentication type.*/
|
||
|
typedef NS_OPTIONS(NSInteger, MCOAuthType) {
|
||
|
/** Default authentication scheme of the protocol.*/
|
||
|
MCOAuthTypeSASLNone = 0,
|
||
|
/** CRAM-MD5 authentication RFC 2195.*/
|
||
|
MCOAuthTypeSASLCRAMMD5 = 1 << 0,
|
||
|
/** PLAIN authentication RFC 4616.*/
|
||
|
MCOAuthTypeSASLPlain = 1 << 1,
|
||
|
/** GSSAPI authentication.*/
|
||
|
MCOAuthTypeSASLGSSAPI = 1 << 2,
|
||
|
/** DIGEST-MD5 authentication RFC 2831.*/
|
||
|
MCOAuthTypeSASLDIGESTMD5 = 1 << 3,
|
||
|
/** LOGIN authentication http://tools.ietf.org/id/draft-murchison-sasl-login-00.txt*/
|
||
|
MCOAuthTypeSASLLogin = 1 << 4,
|
||
|
/** Secure Remote Password Authentication http://tools.ietf.org/html/draft-burdis-cat-srp-sasl-08*/
|
||
|
MCOAuthTypeSASLSRP = 1 << 5,
|
||
|
/** NTLM authentication.*/
|
||
|
MCOAuthTypeSASLNTLM = 1 << 6,
|
||
|
/** Kerberos 4 authentication.*/
|
||
|
MCOAuthTypeSASLKerberosV4 = 1 << 7,
|
||
|
/** OAuth2 authentication.*/
|
||
|
MCOAuthTypeXOAuth2 = 1 << 8,
|
||
|
/** OAuth2 authentication on outlook.com.*/
|
||
|
MCOAuthTypeXOAuth2Outlook = 1 << 9,
|
||
|
};
|
||
|
|
||
|
/** It's the IMAP flags of the folder.*/
|
||
|
typedef NS_OPTIONS(NSInteger, MCOIMAPFolderFlag) {
|
||
|
MCOIMAPFolderFlagNone = 0,
|
||
|
/** \Marked*/
|
||
|
MCOIMAPFolderFlagMarked = 1 << 0,
|
||
|
/** \Unmarked*/
|
||
|
MCOIMAPFolderFlagUnmarked = 1 << 1,
|
||
|
/** \NoSelect: When a folder can't be selected.*/
|
||
|
MCOIMAPFolderFlagNoSelect = 1 << 2,
|
||
|
/** \NoInferiors: When the folder has no children.*/
|
||
|
MCOIMAPFolderFlagNoInferiors = 1 << 3,
|
||
|
/** \Inbox: When the folder is the inbox.*/
|
||
|
MCOIMAPFolderFlagInbox = 1 << 4,
|
||
|
/** \Sent: When the folder is the sent folder.*/
|
||
|
MCOIMAPFolderFlagSentMail = 1 << 5,
|
||
|
/** \Starred: When the folder is the starred folder*/
|
||
|
MCOIMAPFolderFlagStarred = 1 << 6,
|
||
|
/** \AllMail: When the folder is all mail.*/
|
||
|
MCOIMAPFolderFlagAllMail = 1 << 7,
|
||
|
/** \Trash: When the folder is the trash.*/
|
||
|
MCOIMAPFolderFlagTrash = 1 << 8,
|
||
|
/** \Drafts: When the folder is the drafts folder.*/
|
||
|
MCOIMAPFolderFlagDrafts = 1 << 9,
|
||
|
/** \Spam: When the folder is the spam folder.*/
|
||
|
MCOIMAPFolderFlagSpam = 1 << 10,
|
||
|
/** \Important: When the folder is the important folder.*/
|
||
|
MCOIMAPFolderFlagImportant = 1 << 11,
|
||
|
/** \Archive: When the folder is archive.*/
|
||
|
MCOIMAPFolderFlagArchive = 1 << 12,
|
||
|
/** \All: When the folder contains all mails, similar to \AllMail.*/
|
||
|
MCOIMAPFolderFlagAll = MCOIMAPFolderFlagAllMail,
|
||
|
/** \Junk: When the folder is the spam folder.*/
|
||
|
MCOIMAPFolderFlagJunk = MCOIMAPFolderFlagSpam,
|
||
|
/** \Flagged: When the folder contains all the flagged emails.*/
|
||
|
MCOIMAPFolderFlagFlagged = MCOIMAPFolderFlagStarred,
|
||
|
/** Mask to identify the folder */
|
||
|
MCOIMAPFolderFlagFolderTypeMask = MCOIMAPFolderFlagInbox | MCOIMAPFolderFlagSentMail | MCOIMAPFolderFlagStarred | MCOIMAPFolderFlagAllMail |
|
||
|
MCOIMAPFolderFlagTrash| MCOIMAPFolderFlagDrafts | MCOIMAPFolderFlagSpam | MCOIMAPFolderFlagImportant | MCOIMAPFolderFlagArchive,
|
||
|
};
|
||
|
|
||
|
/** It's the flags of a message.*/
|
||
|
typedef NS_OPTIONS(NSInteger, MCOMessageFlag) {
|
||
|
MCOMessageFlagNone = 0,
|
||
|
/** Seen/Read flag.*/
|
||
|
MCOMessageFlagSeen = 1 << 0,
|
||
|
/** Replied/Answered flag.*/
|
||
|
MCOMessageFlagAnswered = 1 << 1,
|
||
|
/** Flagged/Starred flag.*/
|
||
|
MCOMessageFlagFlagged = 1 << 2,
|
||
|
/** Deleted flag.*/
|
||
|
MCOMessageFlagDeleted = 1 << 3,
|
||
|
/** Draft flag.*/
|
||
|
MCOMessageFlagDraft = 1 << 4,
|
||
|
/** $MDNSent flag.*/
|
||
|
MCOMessageFlagMDNSent = 1 << 5,
|
||
|
/** $Forwarded flag.*/
|
||
|
MCOMessageFlagForwarded = 1 << 6,
|
||
|
/** $SubmitPending flag.*/
|
||
|
MCOMessageFlagSubmitPending = 1 << 7,
|
||
|
/** $Submitted flag.*/
|
||
|
MCOMessageFlagSubmitted = 1 << 8,
|
||
|
};
|
||
|
|
||
|
/** It's the encoding of a part.*/
|
||
|
typedef NS_ENUM(NSInteger, MCOEncoding) {
|
||
|
/** 7bit encoding.*/
|
||
|
MCOEncoding7Bit = 0, /** should match MAILIMAP_BODY_FLD_ENC_7BIT*/
|
||
|
/** 8bit encoding.*/
|
||
|
MCOEncoding8Bit = 1, /** should match MAILIMAP_BODY_FLD_ENC_8BIT*/
|
||
|
/** binary encoding.*/
|
||
|
MCOEncodingBinary = 2, /** should match MAILIMAP_BODY_FLD_ENC_BINARY*/
|
||
|
/** base64 encoding.*/
|
||
|
MCOEncodingBase64 = 3, /** should match MAILIMAP_BODY_FLD_ENC_BASE64*/
|
||
|
/** quoted-printable encoding.*/
|
||
|
MCOEncodingQuotedPrintable = 4, /** should match MAILIMAP_BODY_FLD_ENC_QUOTED_PRINTABLE*/
|
||
|
/** other encoding.*/
|
||
|
MCOEncodingOther = 5, /** should match MAILIMAP_BODY_FLD_ENC_OTHER*/
|
||
|
|
||
|
/** Negative values should be used for encoding not supported by libetpan.*/
|
||
|
|
||
|
/** UUEncode encoding.*/
|
||
|
MCOEncodingUUEncode = -1
|
||
|
};
|
||
|
|
||
|
/** It's the information to fetch for a given message in the IMAP FETCH request.*/
|
||
|
typedef NS_OPTIONS(NSInteger, MCOIMAPMessagesRequestKind) {
|
||
|
/** UID of the message.*/
|
||
|
MCOIMAPMessagesRequestKindUid = 0, /** This is the default and it's always fetched*/
|
||
|
/** Flags of the message.*/
|
||
|
MCOIMAPMessagesRequestKindFlags = 1 << 0,
|
||
|
/** Headers of the message (parsed by the server).*/
|
||
|
MCOIMAPMessagesRequestKindHeaders = 1 << 1,
|
||
|
/** MIME structure of the message.*/
|
||
|
MCOIMAPMessagesRequestKindStructure = 1 << 2,
|
||
|
/** Received date.*/
|
||
|
MCOIMAPMessagesRequestKindInternalDate = 1 << 3,
|
||
|
/** Headers through headers data.*/
|
||
|
MCOIMAPMessagesRequestKindFullHeaders = 1 << 4,
|
||
|
/** Subject of the message.*/
|
||
|
MCOIMAPMessagesRequestKindHeaderSubject = 1 << 5,
|
||
|
/** Gmail Labels.*/
|
||
|
MCOIMAPMessagesRequestKindGmailLabels = 1 << 6,
|
||
|
/** Gmail Message ID.*/
|
||
|
MCOIMAPMessagesRequestKindGmailMessageID = 1 << 7,
|
||
|
/** Gmail Thread ID.*/
|
||
|
MCOIMAPMessagesRequestKindGmailThreadID = 1 << 8,
|
||
|
/** Extra Headers.*/
|
||
|
MCOIMAPMessagesRequestKindExtraHeaders = 1 << 9,
|
||
|
/* Request size of message */
|
||
|
MCOIMAPMessagesRequestKindSize = 1 << 10,
|
||
|
|
||
|
};
|
||
|
|
||
|
/** It defines the behavior of the STORE flags request.*/
|
||
|
typedef NS_ENUM(NSInteger, MCOIMAPStoreFlagsRequestKind) {
|
||
|
/** Add the given flags.*/
|
||
|
MCOIMAPStoreFlagsRequestKindAdd,
|
||
|
/** Remove the given flags.*/
|
||
|
MCOIMAPStoreFlagsRequestKindRemove,
|
||
|
/** Set the given flags.*/
|
||
|
MCOIMAPStoreFlagsRequestKindSet,
|
||
|
};
|
||
|
|
||
|
/** It's the search type.*/
|
||
|
typedef NS_ENUM(NSInteger, MCOIMAPSearchKind) {
|
||
|
/** Search All */
|
||
|
MCOIMAPSearchKindAll,
|
||
|
/** No search.*/
|
||
|
MCOIMAPSearchKindNone,
|
||
|
/** Match sender.*/
|
||
|
MCOIMAPSearchKindFrom,
|
||
|
/** Match to */
|
||
|
MCOIMAPSearchKindTo,
|
||
|
/** Match CC: */
|
||
|
MCOIMAPSearchKindCc,
|
||
|
/** Match BCC: */
|
||
|
MCOIMAPSearchKindBcc,
|
||
|
/** Match recipient.*/
|
||
|
MCOIMAPSearchKindRecipient,
|
||
|
/** Match subject.*/
|
||
|
MCOIMAPSearchKindSubject,
|
||
|
/** Match content of the message, including the headers.*/
|
||
|
MCOIMAPSearchKindContent,
|
||
|
/** Match content of the message, excluding the headers.*/
|
||
|
MCOIMAPSearchKindBody,
|
||
|
/** Match uids */
|
||
|
MCOIMAPSearchKindUids,
|
||
|
/** Match headers of the message.*/
|
||
|
MCOIMAPSearchKindHeader,
|
||
|
/** Match messages that are read.*/
|
||
|
MCOIMAPSearchKindRead,
|
||
|
/** Match messages that are not read.*/
|
||
|
MCOIMAPSearchKindUnread,
|
||
|
/** Match messages that are flagged.*/
|
||
|
MCOIMAPSearchKindFlagged,
|
||
|
/** Match messages that are not flagged.*/
|
||
|
MCOIMAPSearchKindUnflagged,
|
||
|
/** Match messages that are answered.*/
|
||
|
MCOIMAPSearchKindAnswered,
|
||
|
/** Match messages that are not answered.*/
|
||
|
MCOIMAPSearchKindUnanswered,
|
||
|
/** Match messages that are a drafts.*/
|
||
|
MCOIMAPSearchKindDraft,
|
||
|
/** Match messages that are not drafts.*/
|
||
|
MCOIMAPSearchKindUndraft,
|
||
|
/** Match messages that are deleted.*/
|
||
|
MCOIMAPSearchKindDeleted,
|
||
|
/** Match messages that are spam.*/
|
||
|
MCOIMAPSearchKindSpam,
|
||
|
/** Match messages before the given date.*/
|
||
|
MCOIMAPSearchKindBeforeDate,
|
||
|
/** Match messages on the given date.*/
|
||
|
MCOIMAPSearchKindOnDate,
|
||
|
/** Match messages after the given date.*/
|
||
|
MCOIMAPSearchKindSinceDate,
|
||
|
/** Match messages before the given received date.*/
|
||
|
MCOIMAPSearchKindBeforeReceivedDate,
|
||
|
/** Match messages on the given received date.*/
|
||
|
MCOIMAPSearchKindOnReceivedDate,
|
||
|
/** Match messages after the given received date.*/
|
||
|
MCOIMAPSearchKindSinceReceivedDate,
|
||
|
/** Match messages that are larger than the given size in bytes.*/
|
||
|
MCOIMAPSearchKindSizeLarger,
|
||
|
/** Match messages that are smaller than the given size in bytes.*/
|
||
|
MCOIMAPSearchKindSizeSmaller,
|
||
|
/** Match X-GM-THRID.*/
|
||
|
MCOIMAPSearchGmailThreadID,
|
||
|
/** Match X-GM-MSGID.*/
|
||
|
MCOIMAPSearchGmailMessageID,
|
||
|
/** Match X-GM-RAW.*/
|
||
|
MCOIMAPSearchGmailRaw,
|
||
|
/** Or expresssion.*/
|
||
|
MCOIMAPSearchKindOr,
|
||
|
/** And expression.*/
|
||
|
MCOIMAPSearchKindAnd,
|
||
|
/** Not expression.*/
|
||
|
MCOIMAPSearchKindNot,
|
||
|
};
|
||
|
|
||
|
/** Keys for the namespace dictionary.*/
|
||
|
#define MCOIMAPNamespacePersonal @"IMAPNamespacePersonal"
|
||
|
#define MCOIMAPNamespaceOther @"IMAPNamespaceOther"
|
||
|
#define MCOIMAPNamespaceShared @"IMAPNamespaceShared"
|
||
|
|
||
|
/** This is the constants for the IMAP capabilities.*/
|
||
|
/** See corresponding RFC for more information.*/
|
||
|
typedef NS_ENUM(NSInteger, MCOIMAPCapability) {
|
||
|
/** ACL Capability.*/
|
||
|
MCOIMAPCapabilityACL,
|
||
|
/** BINARY Capability.*/
|
||
|
MCOIMAPCapabilityBinary,
|
||
|
/** CATENATE Capability.*/
|
||
|
MCOIMAPCapabilityCatenate,
|
||
|
/** CHILDREN Capability.*/
|
||
|
MCOIMAPCapabilityChildren,
|
||
|
/** COMPRESS Capability.*/
|
||
|
MCOIMAPCapabilityCompressDeflate,
|
||
|
/** CONDSTORE Capability.*/
|
||
|
MCOIMAPCapabilityCondstore,
|
||
|
/** ENABLE Capability.*/
|
||
|
MCOIMAPCapabilityEnable,
|
||
|
/** IDLE Capability.*/
|
||
|
MCOIMAPCapabilityIdle,
|
||
|
/** ID Capability.*/
|
||
|
MCOIMAPCapabilityId,
|
||
|
/** LITERAL+ Capability.*/
|
||
|
MCOIMAPCapabilityLiteralPlus,
|
||
|
/** MULTIAPPEND Capability.*/
|
||
|
MCOIMAPCapabilityMultiAppend,
|
||
|
/** NAMESPACE Capability.*/
|
||
|
MCOIMAPCapabilityNamespace,
|
||
|
/** QRESYNC Capability.*/
|
||
|
MCOIMAPCapabilityQResync,
|
||
|
/** QUOTE Capability.*/
|
||
|
MCOIMAPCapabilityQuota,
|
||
|
/** SORT Capability.*/
|
||
|
MCOIMAPCapabilitySort,
|
||
|
/** STARTTLS Capability.*/
|
||
|
MCOIMAPCapabilityStartTLS,
|
||
|
/** THREAD=ORDEREDSUBJECT Capability.*/
|
||
|
MCOIMAPCapabilityThreadOrderedSubject,
|
||
|
/** THREAD=REFERENCES Capability.*/
|
||
|
MCOIMAPCapabilityThreadReferences,
|
||
|
/** UIDPLUS Capability.*/
|
||
|
MCOIMAPCapabilityUIDPlus,
|
||
|
/** UNSELECT Capability.*/
|
||
|
MCOIMAPCapabilityUnselect,
|
||
|
/** XLIST Capability.*/
|
||
|
MCOIMAPCapabilityXList,
|
||
|
/** AUTH=ANONYMOUS Capability.*/
|
||
|
MCOIMAPCapabilityAuthAnonymous,
|
||
|
/** AUTH=CRAM-MD5 Capability.*/
|
||
|
MCOIMAPCapabilityAuthCRAMMD5,
|
||
|
/** AUTH=DIGEST-MD5 Capability.*/
|
||
|
MCOIMAPCapabilityAuthDigestMD5,
|
||
|
/** AUTH=EXTERNAL Capability.*/
|
||
|
MCOIMAPCapabilityAuthExternal,
|
||
|
/** AUTH=GSSAPI Capability.*/
|
||
|
MCOIMAPCapabilityAuthGSSAPI,
|
||
|
/** AUTH=KERBEROSV4 Capability.*/
|
||
|
MCOIMAPCapabilityAuthKerberosV4,
|
||
|
/** AUTH=LOGIN Capability.*/
|
||
|
MCOIMAPCapabilityAuthLogin,
|
||
|
/** AUTH=NTML Capability.*/
|
||
|
MCOIMAPCapabilityAuthNTLM,
|
||
|
/** AUTH=OTP Capability.*/
|
||
|
MCOIMAPCapabilityAuthOTP,
|
||
|
/** AUTH=PLAIN Capability.*/
|
||
|
MCOIMAPCapabilityAuthPlain,
|
||
|
/** AUTH=SKEY Capability.*/
|
||
|
MCOIMAPCapabilityAuthSKey,
|
||
|
/** AUTH=SRP Capability.*/
|
||
|
MCOIMAPCapabilityAuthSRP,
|
||
|
/** AUTH=XOAUTH2 Capability.*/
|
||
|
MCOIMAPCapabilityXOAuth2,
|
||
|
/** X-GM-EXT-1 Capability.*/
|
||
|
MCOIMAPCapabilityGmail
|
||
|
};
|
||
|
|
||
|
/** Error domain for mailcore.*/
|
||
|
#define MCOErrorDomain @"MCOErrorDomain"
|
||
|
|
||
|
/** Here's the list of errors.*/
|
||
|
typedef NS_ENUM(NSInteger, MCOErrorCode) {
|
||
|
/** No error occurred.*/
|
||
|
MCOErrorNone,
|
||
|
/** An error related to the connection occurred.*/
|
||
|
/** It could not connect or it's been disconnected.*/
|
||
|
MCOErrorConnection,
|
||
|
/** TLS/SSL connection was not available.*/
|
||
|
MCOErrorTLSNotAvailable,
|
||
|
/** The protocol could not be parsed.*/
|
||
|
MCOErrorParse,
|
||
|
/** Certificate was not valid.*/
|
||
|
MCOErrorCertificate,
|
||
|
/** An authentication error occurred.*/
|
||
|
MCOErrorAuthentication,
|
||
|
/** Specific to Gmail: IMAP not enabled.*/
|
||
|
MCOErrorGmailIMAPNotEnabled,
|
||
|
/** Specific to Gmail: Exceeded bandwidth limit.*/
|
||
|
MCOErrorGmailExceededBandwidthLimit,
|
||
|
/** Specific to Gmail: Too many simultaneous connections.*/
|
||
|
MCOErrorGmailTooManySimultaneousConnections,
|
||
|
/** Specific to Mobile Me: Moved to iCloud.*/
|
||
|
MCOErrorMobileMeMoved,
|
||
|
/** Specific to Yahoo: not available.*/
|
||
|
MCOErrorYahooUnavailable,
|
||
|
/** Non existant folder, select failed.*/
|
||
|
MCOErrorNonExistantFolder,
|
||
|
/** IMAP: Error occurred while renaming a folder.*/
|
||
|
MCOErrorRename,
|
||
|
/** IMAP: Error occurred while deleting a folder.*/
|
||
|
MCOErrorDelete,
|
||
|
/** IMAP: Error occurred while creating a folder.*/
|
||
|
MCOErrorCreate,
|
||
|
/** IMAP: Error occurred while subscribing/unsubcribing to a folder.*/
|
||
|
MCOErrorSubscribe,
|
||
|
/** IMAP: Error occurred while adding a message to a folder.*/
|
||
|
MCOErrorAppend,
|
||
|
/** IMAP: Error occurred while copying a message.*/
|
||
|
MCOErrorCopy,
|
||
|
/** IMAP: Error occurred while expunging.*/
|
||
|
MCOErrorExpunge,
|
||
|
/** IMAP: Error occurred while fetching messages.*/
|
||
|
MCOErrorFetch,
|
||
|
/** IMAP: Error occurred while IDLing.*/
|
||
|
MCOErrorIdle,
|
||
|
/** IMAP: Error occurred while sending/getting identity.*/
|
||
|
MCOErrorIdentity,
|
||
|
/** IMAP: Error occurred while getting namespace.*/
|
||
|
MCOErrorNamespace,
|
||
|
/** IMAP: Error occurred while storing flags.*/
|
||
|
MCOErrorStore,
|
||
|
/** IMAP: Error wile getting capabilities.*/
|
||
|
MCOErrorCapability,
|
||
|
/** STARTTLS is not available.*/
|
||
|
MCOErrorStartTLSNotAvailable,
|
||
|
/** SMTP: Illegal attachment: certain kind of attachment cannot be sent.*/
|
||
|
MCOErrorSendMessageIllegalAttachment,
|
||
|
/** SMTP: Storage limit: message is probably too big.*/
|
||
|
MCOErrorStorageLimit,
|
||
|
/** SMTP: Sending message is not allowed.*/
|
||
|
MCOErrorSendMessageNotAllowed,
|
||
|
/** SMTP: Specific to hotmail. Needs to connect to webmail.*/
|
||
|
MCOErrorNeedsConnectToWebmail,
|
||
|
/** SMTP: Error while sending message.*/
|
||
|
MCOErrorSendMessage,
|
||
|
/** SMTP: Authentication required.*/
|
||
|
MCOErrorAuthenticationRequired,
|
||
|
/** POP: Error occurred while fetching message list.*/
|
||
|
MCOErrorFetchMessageList,
|
||
|
/** POP: Error occurred while deleting message.*/
|
||
|
MCOErrorDeleteMessage,
|
||
|
/** SMTP: Error while checking account.*/
|
||
|
MCOErrorInvalidAccount,
|
||
|
/** IMAP: Error when trying to enable compression.*/
|
||
|
MCOErrorCompression,
|
||
|
/** SMTP: Error when no sender has been specified.*/
|
||
|
MCOErrorNoSender,
|
||
|
/** SMTP: Error when no recipient has been specified.*/
|
||
|
MCOErrorNoRecipient,
|
||
|
/** IMAP: Error when a noop operation fails.*/
|
||
|
MCOErrorNoop,
|
||
|
/** The count of all errors */
|
||
|
MCOErrorCodeCount,
|
||
|
};
|
||
|
|
||
|
/** Here's the list of connection log types.*/
|
||
|
typedef NS_ENUM(NSInteger, MCOConnectionLogType) {
|
||
|
/** Received data.*/
|
||
|
MCOConnectionLogTypeReceived,
|
||
|
/** Sent data.*/
|
||
|
MCOConnectionLogTypeSent,
|
||
|
/** Sent private data. It can be a password.*/
|
||
|
MCOConnectionLogTypeSentPrivate,
|
||
|
/** Parse error.*/
|
||
|
MCOConnectionLogTypeErrorParse,
|
||
|
/** Error while receiving data. The data passed to the log will be nil.*/
|
||
|
MCOConnectionLogTypeErrorReceived,
|
||
|
/** Error while sending dataThe data passed to the log will be nil.*/
|
||
|
MCOConnectionLogTypeErrorSent,
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
It's a network traffic logger.
|
||
|
@param connectionID is the identifier of the underlaying network socket.
|
||
|
@param type is the type of the log.
|
||
|
@param data is the data related to the log.
|
||
|
*/
|
||
|
typedef void (^MCOConnectionLogger)(void * connectionID, MCOConnectionLogType type, NSData * data);
|
||
|
|
||
|
/**
|
||
|
It's called when asynchronous operations stop/start running.
|
||
|
*/
|
||
|
typedef void (^MCOOperationQueueRunningChangeBlock)(void);
|
||
|
|
||
|
#endif
|