email_plat/nmail_settings_api/nmapimailboxsettingsdata.h
author hgs
Thu, 24 Jun 2010 14:32:18 +0300
changeset 47 f83bd4ae1fe3
child 56 15bc1d5d6267
permissions -rw-r--r--
201025
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
hgs
parents:
diff changeset
    48
enum NmApiWeekDays
hgs
parents:
diff changeset
    49
{
hgs
parents:
diff changeset
    50
    Mon = 0x01, Tue = 0x02, Wed = 0x04, Thu = 0x08, Fri = 0x10,
hgs
parents:
diff changeset
    51
    Sat = 0x20, Sun = 0x40
hgs
parents:
diff changeset
    52
};
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
enum NmApiRefreshPeriods
hgs
parents:
diff changeset
    55
{
hgs
parents:
diff changeset
    56
    WhenMailboxOpens = 0, Every5minutes = 5, Every15minutes = 15,
hgs
parents:
diff changeset
    57
    EveryHour = 60, Every4Hours = 240
hgs
parents:
diff changeset
    58
};
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
enum NmApiMailboxSettingKey
hgs
parents:
diff changeset
    61
{
hgs
parents:
diff changeset
    62
    IncomingLoginName = 0, // String
hgs
parents:
diff changeset
    63
    IncomingPassword, // String
hgs
parents:
diff changeset
    64
    MailboxName, // String
hgs
parents:
diff changeset
    65
    EmailAddress, // String
hgs
parents:
diff changeset
    66
    ReplyAddress, // String
hgs
parents:
diff changeset
    67
    EmailAlias, // String
hgs
parents:
diff changeset
    68
    MyName, // String    
hgs
parents:
diff changeset
    69
    DownloadPictures, // Integer: 0=Off, 1=On
hgs
parents:
diff changeset
    70
    MessageDivider, // Integer: 0=Off, 1=On
hgs
parents:
diff changeset
    71
    ReceptionActiveProfile, // String: Reception profile
hgs
parents:
diff changeset
    72
    ReceptionUserDefinedProfile, // Integer: 0=Disabled, 1=Enabled
hgs
parents:
diff changeset
    73
    ReceptionInboxSyncWindow, // Integer: 0=All messages
hgs
parents:
diff changeset
    74
    ReceptionGenericSyncWindowInMessages, // Integer: 0=All messages
hgs
parents:
diff changeset
    75
    ReceptionWeekDays, // Integer bitmask of weekdays
hgs
parents:
diff changeset
    76
    ReceptionDayStartTime, // Integer: 0-23
hgs
parents:
diff changeset
    77
    ReceptionDayEndTime, // Integer: 0-23
hgs
parents:
diff changeset
    78
    ReceptionRefreshPeriodDayTime, // Integer: 5,15,60,240,0="When open mailbox"
hgs
parents:
diff changeset
    79
    ReceptionRefreshPeriodOther, // Integer: 5,15,60,240,0="When open mailbox"
hgs
parents:
diff changeset
    80
    UserNameHidden, // Integer: 0=Off, 1=On
hgs
parents:
diff changeset
    81
    IncomingMailServer, // String
hgs
parents:
diff changeset
    82
    IncomingMailUsesAuthentication, // String    "none", "UserAuthentication"
hgs
parents:
diff changeset
    83
    IncomingMailSecurityType, // String  "StartTls", "SSLTls", "none"
hgs
parents:
diff changeset
    84
    OutgoingMailServer, // String
hgs
parents:
diff changeset
    85
    OutgoingMailUsesAuthentication, // String "none", "SameAsIncoming", "UserAuthentication"
hgs
parents:
diff changeset
    86
    OutgoingMailSecurityType, // String 	"StartTls", "SSLTls", "none"
hgs
parents:
diff changeset
    87
    IncomingPort, // Integer
hgs
parents:
diff changeset
    88
    OutgoingPort, // Integer
hgs
parents:
diff changeset
    89
    FolderPath, // String: Empty string means 'Default'
hgs
parents:
diff changeset
    90
    AlwaysOnlineState, // string "always", "homeOnly", "off"
hgs
parents:
diff changeset
    91
    EmailNotificationState, // string "automatic", "homeOnly", "off"
hgs
parents:
diff changeset
    92
    FirstEmnReceived, // Integer: 0=false,1=true
hgs
parents:
diff changeset
    93
    EmnReceivedNotSynced, // Integer: 0=false,1=true
hgs
parents:
diff changeset
    94
    AoLastSuccessfulUpdate, // QDateTime
hgs
parents:
diff changeset
    95
    AoLastUpdateFailed, // Integer: 0=false, 1=true
hgs
parents:
diff changeset
    96
    AoUpdateSuccessfulWithCurSettings, // Integer: 0=false, 1=true
hgs
parents:
diff changeset
    97
    IncomingSecureSockets, // Boolean
hgs
parents:
diff changeset
    98
    IncomingSSLWrapper, // Boolean
hgs
parents:
diff changeset
    99
    OutgoingLoginName, // String
hgs
parents:
diff changeset
   100
    OutgoingPassword, // String
hgs
parents:
diff changeset
   101
    UseOutgoingAuthentication, // Boolean
hgs
parents:
diff changeset
   102
    OutgoingSecureSockets, // Boolean
hgs
parents:
diff changeset
   103
    OutgoingSSLWrapper // Boolean
hgs
parents:
diff changeset
   104
};
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
class NmApiMailboxSettingsDataPrivate;
hgs
parents:
diff changeset
   107
class NMAPI_EXPORT NmApiMailboxSettingsData
hgs
parents:
diff changeset
   108
{
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
public:    
hgs
parents:
diff changeset
   111
    NmApiMailboxSettingsData();
hgs
parents:
diff changeset
   112
    ~NmApiMailboxSettingsData();
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
    void setMailboxId(quint64 mailboxId);
hgs
parents:
diff changeset
   115
    quint64 mailboxId() const;
hgs
parents:
diff changeset
   116
    void setValue(int key, const QVariant &settingValue);
hgs
parents:
diff changeset
   117
    bool getValue(int key, QVariant &settingValue) const;
hgs
parents:
diff changeset
   118
    bool validateData() const;
hgs
parents:
diff changeset
   119
    void clearSettings();
hgs
parents:
diff changeset
   120
    QList<int> listSettings() const;
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
protected:    
hgs
parents:
diff changeset
   123
    NmApiMailboxSettingsDataPrivate *d;
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
};
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
}//end namespace
hgs
parents:
diff changeset
   128
hgs
parents:
diff changeset
   129
#endif /* NMAPIMAILBOXSETTINGSDATA_H_ */