email_plat/nmail_settings_api/inc/nmapimailboxsettingsdata.h
changeset 74 6c59112cfd31
parent 56 15bc1d5d6267
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/email_plat/nmail_settings_api/inc/nmapimailboxsettingsdata.h	Thu Sep 30 11:43:07 2010 +0300
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2010 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 NMAPIMAILBOXSETTINGSDATA_H_
+#define NMAPIMAILBOXSETTINGSDATA_H_
+
+#include <QVariant>
+#include <nmapidef.h>
+
+namespace EmailClientApi
+{
+
+const QString NmApiMailboxTypeImap = "imap";
+const QString NmApiMailboxTypePop = "pop";
+
+const QString NmApiAuthNone = "none";
+const QString NmApiAuthSameAsIncoming = "SameAsIncoming";
+const QString NmApiAuthUserAuthentication = "UserAuthentication";
+
+const QString NmApiAutomatic = "automatic";
+const QString NmApiAlways = "always";
+const QString NmApiHomeOnly = "homeOnly";
+const QString NmApiOff = "off";
+
+const QString NmApiStartTls = "StartTls";
+const QString NmApiSSLTls = "SSLTls";
+const QString NmApiSecurityOff = NmApiOff;
+
+const QString NmApiKeepUpToDate = "Keep-Up-To-Date";
+const QString NmApiSaveEnergy = "Save-Energy";
+const QString NmApiFetchManually = "Manual-Fetch";
+const QString NmApiUserDefined = "User-Defined";
+
+const QString EmailProfileOffsetKUTD = "KUTD";
+const QString EmailProfileOffsetSE = "SE";
+const QString EmailProfileOffsetMF = "MF";
+const QString EmailProfileOffsetUD = "UD";
+
+enum NmApiWeekDays
+{
+    Mon = 0x01, Tue = 0x02, Wed = 0x04, Thu = 0x08, Fri = 0x10,
+    Sat = 0x20, Sun = 0x40
+};
+
+enum NmApiRefreshPeriods
+{
+    WhenMailboxOpens = 0, Every5minutes = 5, Every15minutes = 15,
+    EveryHour = 60, Every4Hours = 240
+};
+
+enum NmApiMailboxSettingKey
+{
+    IncomingLoginName = 0, // String
+    IncomingPassword, // String
+    MailboxName, // String
+    EmailAddress, // String
+    ReplyAddress, // String
+    EmailAlias, // String
+    MyName, // String    
+    DownloadPictures, // Integer: 0=Off, 1=On
+    MessageDivider, // Integer: 0=Off, 1=On
+    ReceptionActiveProfile, // String: Reception profile
+    ReceptionUserDefinedProfile, // Integer: 0=Disabled, 1=Enabled
+    ReceptionInboxSyncWindow, // Integer: 0=All messages
+    ReceptionGenericSyncWindowInMessages, // Integer: 0=All messages
+    ReceptionWeekDays, // Integer bitmask of weekdays
+    ReceptionDayStartTime, // Integer: 0-23
+    ReceptionDayEndTime, // Integer: 0-23
+    ReceptionRefreshPeriodDayTime, // Integer: 5,15,60,240,0="When open mailbox"
+    ReceptionRefreshPeriodOther, // Integer: 5,15,60,240,0="When open mailbox"
+    UserNameHidden, // Integer: 0=Off, 1=On
+    IncomingMailServer, // String
+    IncomingMailUsesAuthentication, // String    "none", "UserAuthentication"
+    IncomingMailSecurityType, // String  "StartTls", "SSLTls", "none"
+    OutgoingMailServer, // String
+    OutgoingMailUsesAuthentication, // String "none", "SameAsIncoming", "UserAuthentication"
+    OutgoingMailSecurityType, // String 	"StartTls", "SSLTls", "none"
+    IncomingPort, // Integer
+    OutgoingPort, // Integer
+    FolderPath, // String: Empty string means 'Default'
+    AlwaysOnlineState, // string "always", "homeOnly", "off"
+    EmailNotificationState, // string "automatic", "homeOnly", "off"
+    FirstEmnReceived, // Integer: 0=false,1=true
+    EmnReceivedNotSynced, // Integer: 0=false,1=true
+    AoLastSuccessfulUpdate, // QDateTime
+    AoLastUpdateFailed, // Integer: 0=false, 1=true
+    AoUpdateSuccessfulWithCurSettings, // Integer: 0=false, 1=true
+    IncomingSecureSockets, // Boolean
+    IncomingSSLWrapper, // Boolean
+    OutgoingLoginName, // String
+    OutgoingPassword, // String
+    UseOutgoingAuthentication, // Boolean
+    OutgoingSecureSockets, // Boolean
+    OutgoingSSLWrapper // Boolean
+};
+
+class NmApiMailboxSettingsDataPrivate;
+class NMAPI_EXPORT NmApiMailboxSettingsData
+{
+
+public:    
+    NmApiMailboxSettingsData();
+    ~NmApiMailboxSettingsData();
+
+    void setMailboxId(quint64 mailboxId);
+    quint64 mailboxId() const;
+    void setValue(int key, const QVariant &settingValue);
+    bool getValue(int key, QVariant &settingValue) const;
+    bool validateData() const;
+    void clearSettings();
+    QList<int> listSettings() const;
+
+protected:    
+    NmApiMailboxSettingsDataPrivate *d;
+
+};
+
+}//end namespace
+
+#endif /* NMAPIMAILBOXSETTINGSDATA_H_ */