email_plat/nmail_client_api/inc/nmapicommon.h
changeset 74 6c59112cfd31
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/email_plat/nmail_client_api/inc/nmapicommon.h	Thu Sep 30 11:43:07 2010 +0300
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#ifndef NMAPICOMMON_H_
+#define NMAPICOMMON_H_
+
+#include <QMetaType>
+
+namespace EmailClientApi
+{
+    /*!
+       Enum to describe mailbox events
+     */
+    enum NmApiMailboxEvent
+    {
+        MailboxCreated, MailboxDeleted
+    };
+
+    /*!
+        Email to message priority
+     */
+    enum NmApiMessagePriority
+    {
+        NmApiMessagePriorityLow,
+        NmApiMessagePriorityNormal,
+        NmApiMessagePriorityHigh
+    };
+
+    /*!
+        Enum to message flags
+     */
+    enum NmApiMessageFlag 
+    {
+        NmApiMessageFlagRead = 1,
+        NmApiMessageFlagReadLocally = 2,
+        NmApiMessageFlagLow = 4,
+        NmApiMessageFlagImportant = 8,
+        NmApiMessageFlagFollowUpComplete = 16,
+        NmApiMessageFlagFollowUp = 32,
+        NmApiMessageFlagAttachments = 64,
+        NmApiMessageFlagMultiple = 128,
+        NmApiMessageFlagCalendarMsg = 256,
+        NmApiMessageFlagAnswered = 512,
+        NmApiMessageFlagForwarded = 1024,
+        NmApiMessageFlagOnlyToMe = 2048,
+        NmApiMessageFlagRemoteDeleted = 4096,
+        NmApiMessageFlagHasMsgSender = 8192
+    };
+    Q_DECLARE_FLAGS(NmApiMessageFlags, NmApiMessageFlag)
+    Q_DECLARE_OPERATORS_FOR_FLAGS(NmApiMessageFlags)
+
+    /*!
+       Enum to describe message events.
+     */
+    enum NmApiMessageEvent 
+    {
+        MessageCreated,
+        MessageDeleted,
+        MessageChanged
+    };
+    
+    /*!
+       Enum to describe type of email folder 
+     */
+    enum NmApiEmailFolderType
+    {
+        Inbox, Drafts, Outbox, Sent, Deleted, EOther
+    };
+
+    /*!
+        Email list sorting options
+     */
+    enum NmApiMailSortField
+        {
+        MailDontCare,            // user accepts any sort order
+        MailSortByDate,          // sorting is done by date
+        MailSortBySender,        // sorting is done by sender
+        MailSortByRecipient,     // sorting is done by recipients
+        MailSortBySubject,       // sorting is done by subject
+        MailSortByPriority,      // sorting is done by priority
+        MailSortByFlagStatus,    // follow up and completed   
+        MailSortByUnread,        // sorting is based on unread
+        MailSortBySize,          // sorting is done by size
+        MailSortByAttachment     // sorting is based on if message has attachments
+        };
+
+    /*!
+        Email list sort order
+     */
+    enum NmApiMailSortOrder
+        {
+        MailDescending,
+        MailAscending    
+        };
+
+
+    /*!
+        List of message related operations status
+     */
+    enum NmApiOperationStatus 
+    {
+        NotStarted,
+        Pending,
+        Succeeded,
+        Failed,
+        Canceled
+    };
+    
+    /*!
+        List of message related operations
+     */
+    enum NmApiOperationType
+    {
+        CreateDraftMessage,
+        CreateForwardMessage,
+        CreateReplyMessage,
+        MoveMessages,
+        SaveMessage,
+        DeleteMessages,
+        FetchMessage,
+        SendMessage,
+        CreateAttachment,
+        RemoveAttachment,
+        FetchAttachment
+    };    
+    
+    
+    /*!
+        Sort criteria definion Class for searching email messages
+     */
+    class NmApiMailSortCriteria 
+        {
+        public:
+            NmApiMailSortField iField;
+            NmApiMailSortOrder iOrder;
+        };
+    
+    /*!
+        NmApi error codes
+    */
+    const int NmApiNoError = 0;
+    const int NmApiNotFoundError = -1;
+    const int NmApiGeneralError = -2;
+    const int NmApiCancelError = -3;
+    
+    /*!
+        NmApi predefined constants for ContentTypes
+    */
+    const QString NmApiContentTypeMultipartMixed = "multipart/mixed";
+    const QString NmApiContentTypeMultipartAlternative = "multipart/alternative";
+    const QString NmApiContentTypeMultipartDigest = "multipart/digest";
+    const QString NmApiContentTypeMultipartParallel = "multipart/parallel";
+    const QString NmApiContentTypeMultipartRelated =  "multipart/related";
+    const QString NmApiContentTypeTextPlain = "text/plain";
+    const QString NmApiContentTypeTextHtml = "text/html";
+    const QString NmApiContentTypeTypeMessage = "message/rfc822";
+    const QString NmApiContentTypeParamName = " name=";
+    const QString NmApiContentTypeParamCharset = " charset=";
+}
+Q_DECLARE_METATYPE (EmailClientApi::NmApiMailboxEvent)
+Q_DECLARE_METATYPE(EmailClientApi::NmApiMessageEvent)
+Q_DECLARE_METATYPE (EmailClientApi::NmApiEmailFolderType)
+
+#endif /* NMAPICOMMON_H_ */