email_plat/nmail_settings_api/inc/nmapimailboxsettingsdata.h
author hgs
Thu, 30 Sep 2010 11:43:07 +0300
changeset 74 6c59112cfd31
parent 56 email_plat/nmail_settings_api/nmapimailboxsettingsdata.h@15bc1d5d6267
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description:
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef NMAPIMAILBOXSETTINGSDATA_H_
hgs
parents:
diff changeset
    19
#define NMAPIMAILBOXSETTINGSDATA_H_
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include <QVariant>
hgs
parents:
diff changeset
    22
#include <nmapidef.h>
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
namespace EmailClientApi
hgs
parents:
diff changeset
    25
{
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
const QString NmApiMailboxTypeImap = "imap";
hgs
parents:
diff changeset
    28
const QString NmApiMailboxTypePop = "pop";
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
const QString NmApiAuthNone = "none";
hgs
parents:
diff changeset
    31
const QString NmApiAuthSameAsIncoming = "SameAsIncoming";
hgs
parents:
diff changeset
    32
const QString NmApiAuthUserAuthentication = "UserAuthentication";
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
const QString NmApiAutomatic = "automatic";
hgs
parents:
diff changeset
    35
const QString NmApiAlways = "always";
hgs
parents:
diff changeset
    36
const QString NmApiHomeOnly = "homeOnly";
hgs
parents:
diff changeset
    37
const QString NmApiOff = "off";
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
const QString NmApiStartTls = "StartTls";
hgs
parents:
diff changeset
    40
const QString NmApiSSLTls = "SSLTls";
hgs
parents:
diff changeset
    41
const QString NmApiSecurityOff = NmApiOff;
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
const QString NmApiKeepUpToDate = "Keep-Up-To-Date";
hgs
parents:
diff changeset
    44
const QString NmApiSaveEnergy = "Save-Energy";
hgs
parents:
diff changeset
    45
const QString NmApiFetchManually = "Manual-Fetch";
hgs
parents:
diff changeset
    46
const QString NmApiUserDefined = "User-Defined";
hgs
parents:
diff changeset
    47
56
hgs
parents: 47
diff changeset
    48
const QString EmailProfileOffsetKUTD = "KUTD";
hgs
parents: 47
diff changeset
    49
const QString EmailProfileOffsetSE = "SE";
hgs
parents: 47
diff changeset
    50
const QString EmailProfileOffsetMF = "MF";
hgs
parents: 47
diff changeset
    51
const QString EmailProfileOffsetUD = "UD";
hgs
parents: 47
diff changeset
    52
47
hgs
parents:
diff changeset
    53
enum NmApiWeekDays
hgs
parents:
diff changeset
    54
{
hgs
parents:
diff changeset
    55
    Mon = 0x01, Tue = 0x02, Wed = 0x04, Thu = 0x08, Fri = 0x10,
hgs
parents:
diff changeset
    56
    Sat = 0x20, Sun = 0x40
hgs
parents:
diff changeset
    57
};
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
enum NmApiRefreshPeriods
hgs
parents:
diff changeset
    60
{
hgs
parents:
diff changeset
    61
    WhenMailboxOpens = 0, Every5minutes = 5, Every15minutes = 15,
hgs
parents:
diff changeset
    62
    EveryHour = 60, Every4Hours = 240
hgs
parents:
diff changeset
    63
};
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
enum NmApiMailboxSettingKey
hgs
parents:
diff changeset
    66
{
hgs
parents:
diff changeset
    67
    IncomingLoginName = 0, // String
hgs
parents:
diff changeset
    68
    IncomingPassword, // String
hgs
parents:
diff changeset
    69
    MailboxName, // String
hgs
parents:
diff changeset
    70
    EmailAddress, // String
hgs
parents:
diff changeset
    71
    ReplyAddress, // String
hgs
parents:
diff changeset
    72
    EmailAlias, // String
hgs
parents:
diff changeset
    73
    MyName, // String    
hgs
parents:
diff changeset
    74
    DownloadPictures, // Integer: 0=Off, 1=On
hgs
parents:
diff changeset
    75
    MessageDivider, // Integer: 0=Off, 1=On
hgs
parents:
diff changeset
    76
    ReceptionActiveProfile, // String: Reception profile
hgs
parents:
diff changeset
    77
    ReceptionUserDefinedProfile, // Integer: 0=Disabled, 1=Enabled
hgs
parents:
diff changeset
    78
    ReceptionInboxSyncWindow, // Integer: 0=All messages
hgs
parents:
diff changeset
    79
    ReceptionGenericSyncWindowInMessages, // Integer: 0=All messages
hgs
parents:
diff changeset
    80
    ReceptionWeekDays, // Integer bitmask of weekdays
hgs
parents:
diff changeset
    81
    ReceptionDayStartTime, // Integer: 0-23
hgs
parents:
diff changeset
    82
    ReceptionDayEndTime, // Integer: 0-23
hgs
parents:
diff changeset
    83
    ReceptionRefreshPeriodDayTime, // Integer: 5,15,60,240,0="When open mailbox"
hgs
parents:
diff changeset
    84
    ReceptionRefreshPeriodOther, // Integer: 5,15,60,240,0="When open mailbox"
hgs
parents:
diff changeset
    85
    UserNameHidden, // Integer: 0=Off, 1=On
hgs
parents:
diff changeset
    86
    IncomingMailServer, // String
hgs
parents:
diff changeset
    87
    IncomingMailUsesAuthentication, // String    "none", "UserAuthentication"
hgs
parents:
diff changeset
    88
    IncomingMailSecurityType, // String  "StartTls", "SSLTls", "none"
hgs
parents:
diff changeset
    89
    OutgoingMailServer, // String
hgs
parents:
diff changeset
    90
    OutgoingMailUsesAuthentication, // String "none", "SameAsIncoming", "UserAuthentication"
hgs
parents:
diff changeset
    91
    OutgoingMailSecurityType, // String 	"StartTls", "SSLTls", "none"
hgs
parents:
diff changeset
    92
    IncomingPort, // Integer
hgs
parents:
diff changeset
    93
    OutgoingPort, // Integer
hgs
parents:
diff changeset
    94
    FolderPath, // String: Empty string means 'Default'
hgs
parents:
diff changeset
    95
    AlwaysOnlineState, // string "always", "homeOnly", "off"
hgs
parents:
diff changeset
    96
    EmailNotificationState, // string "automatic", "homeOnly", "off"
hgs
parents:
diff changeset
    97
    FirstEmnReceived, // Integer: 0=false,1=true
hgs
parents:
diff changeset
    98
    EmnReceivedNotSynced, // Integer: 0=false,1=true
hgs
parents:
diff changeset
    99
    AoLastSuccessfulUpdate, // QDateTime
hgs
parents:
diff changeset
   100
    AoLastUpdateFailed, // Integer: 0=false, 1=true
hgs
parents:
diff changeset
   101
    AoUpdateSuccessfulWithCurSettings, // Integer: 0=false, 1=true
hgs
parents:
diff changeset
   102
    IncomingSecureSockets, // Boolean
hgs
parents:
diff changeset
   103
    IncomingSSLWrapper, // Boolean
hgs
parents:
diff changeset
   104
    OutgoingLoginName, // String
hgs
parents:
diff changeset
   105
    OutgoingPassword, // String
hgs
parents:
diff changeset
   106
    UseOutgoingAuthentication, // Boolean
hgs
parents:
diff changeset
   107
    OutgoingSecureSockets, // Boolean
hgs
parents:
diff changeset
   108
    OutgoingSSLWrapper // Boolean
hgs
parents:
diff changeset
   109
};
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
class NmApiMailboxSettingsDataPrivate;
hgs
parents:
diff changeset
   112
class NMAPI_EXPORT NmApiMailboxSettingsData
hgs
parents:
diff changeset
   113
{
hgs
parents:
diff changeset
   114
hgs
parents:
diff changeset
   115
public:    
hgs
parents:
diff changeset
   116
    NmApiMailboxSettingsData();
hgs
parents:
diff changeset
   117
    ~NmApiMailboxSettingsData();
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
    void setMailboxId(quint64 mailboxId);
hgs
parents:
diff changeset
   120
    quint64 mailboxId() const;
hgs
parents:
diff changeset
   121
    void setValue(int key, const QVariant &settingValue);
hgs
parents:
diff changeset
   122
    bool getValue(int key, QVariant &settingValue) const;
hgs
parents:
diff changeset
   123
    bool validateData() const;
hgs
parents:
diff changeset
   124
    void clearSettings();
hgs
parents:
diff changeset
   125
    QList<int> listSettings() const;
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
protected:    
hgs
parents:
diff changeset
   128
    NmApiMailboxSettingsDataPrivate *d;
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
};
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
}//end namespace
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
#endif /* NMAPIMAILBOXSETTINGSDATA_H_ */