wlanutilities/wlanwizard/t_wlanwizard/stubs/eapqtconfig.h
author hgs
Thu, 24 Jun 2010 10:49:51 +0300
changeset 39 7b3e49e4608a
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
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
 *   DUMMY: Stub for eapwizard testing
hgs
parents:
diff changeset
    16
 *
hgs
parents:
diff changeset
    17
 */
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef EAPQTCONFIG_H
hgs
parents:
diff changeset
    20
#define EAPQTCONFIG_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <QList>
hgs
parents:
diff changeset
    23
#include <QVariant>
hgs
parents:
diff changeset
    24
#include <eapqtconfigdefs.h>
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
class EapQtConfigPrivate;
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
class EapQtConfig
hgs
parents:
diff changeset
    29
{
hgs
parents:
diff changeset
    30
public:
hgs
parents:
diff changeset
    31
    enum SettingsId
hgs
parents:
diff changeset
    32
    {
hgs
parents:
diff changeset
    33
        // see also EapSettings.h
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
        /*! bool */
hgs
parents:
diff changeset
    36
        UsernameAutomatic,
hgs
parents:
diff changeset
    37
        /*! QString */
hgs
parents:
diff changeset
    38
        Username,
hgs
parents:
diff changeset
    39
        /*! bool */
hgs
parents:
diff changeset
    40
        PasswordPrompt,
hgs
parents:
diff changeset
    41
        /*! write-only: QString */
hgs
parents:
diff changeset
    42
        Password,
hgs
parents:
diff changeset
    43
        /*! bool
hgs
parents:
diff changeset
    44
         * in read: defines if password already exists in settings database
hgs
parents:
diff changeset
    45
         * in write: when true, defines that password is not included in the provided
hgs
parents:
diff changeset
    46
         *      configuration since it already exists in settings database, i.e. earlier
hgs
parents:
diff changeset
    47
         *      set password remains unchanged */
hgs
parents:
diff changeset
    48
        PasswordStored,
hgs
parents:
diff changeset
    49
        /*! write-only: bool
hgs
parents:
diff changeset
    50
         * true: clears the password from database
hgs
parents:
diff changeset
    51
         * false: does nothing
hgs
parents:
diff changeset
    52
         */
hgs
parents:
diff changeset
    53
        PasswordClear,
hgs
parents:
diff changeset
    54
        /*! bool */
hgs
parents:
diff changeset
    55
        RealmAutomatic,
hgs
parents:
diff changeset
    56
        /*! QString */
hgs
parents:
diff changeset
    57
        Realm,
hgs
parents:
diff changeset
    58
        /*! bool */
hgs
parents:
diff changeset
    59
        UsePseudonyms,
hgs
parents:
diff changeset
    60
        /*! bool */
hgs
parents:
diff changeset
    61
        VerifyServerRealm,
hgs
parents:
diff changeset
    62
        /*! bool */
hgs
parents:
diff changeset
    63
        ClientAuthenticationRequired,
hgs
parents:
diff changeset
    64
        /*! uint */
hgs
parents:
diff changeset
    65
        SessionValidityTime,
hgs
parents:
diff changeset
    66
        /*! 
hgs
parents:
diff changeset
    67
         * QList<uint> contains RFC numbers for activated ciphersuites
hgs
parents:
diff changeset
    68
         *
hgs
parents:
diff changeset
    69
         * Refer to RFC2246 chapter A.5 for the values.
hgs
parents:
diff changeset
    70
         *
hgs
parents:
diff changeset
    71
         * Supported CipherSuites by EAP Server default implementation: 
hgs
parents:
diff changeset
    72
         * TLS_NULL_WITH_NULL_NULL = (0x0000), 
hgs
parents:
diff changeset
    73
         * - No key exchange, no encryption and no authentication.
hgs
parents:
diff changeset
    74
         * TLS_RSA_WITH_RC4_128_MD5 = (0x0004),
hgs
parents:
diff changeset
    75
         * - RSA key exchange, RC4_128 encryption and MD5 authentication.
hgs
parents:
diff changeset
    76
         *   NOTE this is included only because PEAP requires this cipher 
hgs
parents:
diff changeset
    77
         *   suite as a mandatory. Think carefully whether this meets your 
hgs
parents:
diff changeset
    78
         *   security requirements.
hgs
parents:
diff changeset
    79
         * TLS_RSA_WITH_RC4_128_SHA = (0x0005), 
hgs
parents:
diff changeset
    80
         * - RSA key exchange, RC4_128 encryption and SHA1 authentication.
hgs
parents:
diff changeset
    81
         *   NOTE this is included only because PEAP requires this cipher 
hgs
parents:
diff changeset
    82
         *   suite as a mandatory. Think carefully whether this meets your 
hgs
parents:
diff changeset
    83
         *   security
hgs
parents:
diff changeset
    84
         *   requirements.
hgs
parents:
diff changeset
    85
         * TLS_RSA_WITH_3DES_EDE_CBC_SHA = (0x000a)
hgs
parents:
diff changeset
    86
         * - RSA key exchange, 3DES-EDE-CBC encryption and SHA1 
hgs
parents:
diff changeset
    87
         *   authentication.
hgs
parents:
diff changeset
    88
         * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = (0x0016)
hgs
parents:
diff changeset
    89
         * - Diffie-Helmann RSA key exchange, 3DES-EDE-CBC encryption and SHA1
hgs
parents:
diff changeset
    90
         *   authentication.
hgs
parents:
diff changeset
    91
         * TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = (0x0013)
hgs
parents:
diff changeset
    92
         * - Diffie-Helmann DSS key exchange, 3DES-EDE-CBC encryption and SHA1
hgs
parents:
diff changeset
    93
         *   authentication.
hgs
parents:
diff changeset
    94
         * TLS_RSA_WITH_AES_128_CBC_SHA      = 0x002F
hgs
parents:
diff changeset
    95
         * - RSA key exchange, AES-128 encryption and SHA1 authentication.
hgs
parents:
diff changeset
    96
         * TLS_DHE_DSS_WITH_AES_128_CBC_SHA  = 0x0032
hgs
parents:
diff changeset
    97
         * - Diffie-Helmann DSS key exchange, AES-128-CBC encryption and SHA1
hgs
parents:
diff changeset
    98
         *   authentication.
hgs
parents:
diff changeset
    99
         * TLS_DHE_RSA_WITH_AES_128_CBC_SHA  = 0x0033
hgs
parents:
diff changeset
   100
         * - Diffie-Helmann RSA key exchange, AES-128-CBC encryption and SHA1
hgs
parents:
diff changeset
   101
         *   authentication.
hgs
parents:
diff changeset
   102
         * TLS_DH_anon_WITH_AES_128_CBC_SHA  = 0x0034,
hgs
parents:
diff changeset
   103
         * - Supported when EAP-FAST is supported 
hgs
parents:
diff changeset
   104
         * - Diffie-Helmann anonymous key exchange, AES-128-CBC encryption and 
hgs
parents:
diff changeset
   105
         *   SHA1 authentication.
hgs
parents:
diff changeset
   106
         */
hgs
parents:
diff changeset
   107
        CipherSuites,
hgs
parents:
diff changeset
   108
        /*! bool */
hgs
parents:
diff changeset
   109
        PeapVersion0Allowed,
hgs
parents:
diff changeset
   110
        /*! bool */
hgs
parents:
diff changeset
   111
        PeapVersion1Allowed,
hgs
parents:
diff changeset
   112
        /*! bool */
hgs
parents:
diff changeset
   113
        PeapVersion2Allowed,
hgs
parents:
diff changeset
   114
        /*! QList< QVariant(EapQtCertificateInfo) > */
hgs
parents:
diff changeset
   115
        AuthorityCertificate,
hgs
parents:
diff changeset
   116
        /*! QList< QVariant(EapQtCertificateInfo) > */
hgs
parents:
diff changeset
   117
        UserCertificate,
hgs
parents:
diff changeset
   118
        /*! QList< QVariant(EapQtPluginHandle) > */
hgs
parents:
diff changeset
   119
        InnerType,
hgs
parents:
diff changeset
   120
        /*!  EapQtPluginHandle */
hgs
parents:
diff changeset
   121
        OuterType,
hgs
parents:
diff changeset
   122
        /*! bool */
hgs
parents:
diff changeset
   123
        ProvisioningModeAuthenticated,
hgs
parents:
diff changeset
   124
        /*! bool */
hgs
parents:
diff changeset
   125
        ProvisioningModeUnauthenticated,
hgs
parents:
diff changeset
   126
        /*! QString */
hgs
parents:
diff changeset
   127
        PACGroupReference,
hgs
parents:
diff changeset
   128
        /*! bool */
hgs
parents:
diff changeset
   129
        WarnADHPNoPAC,
hgs
parents:
diff changeset
   130
        /*! bool */
hgs
parents:
diff changeset
   131
        WarnADHPNoMatchingPAC,
hgs
parents:
diff changeset
   132
        /*! bool */
hgs
parents:
diff changeset
   133
        WarnNotDefaultServer,
hgs
parents:
diff changeset
   134
        /*! bool */
hgs
parents:
diff changeset
   135
        UseIdentityPrivacy,
hgs
parents:
diff changeset
   136
        /*! bool */
hgs
parents:
diff changeset
   137
        AuthorityCertificateAutomatic,
hgs
parents:
diff changeset
   138
        /*! marker for the last entry */
hgs
parents:
diff changeset
   139
        SettingsIdLast
hgs
parents:
diff changeset
   140
    };
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
public:
hgs
parents:
diff changeset
   143
    EapQtConfig();
hgs
parents:
diff changeset
   144
    EapQtConfig(const EapQtConfig& other);
hgs
parents:
diff changeset
   145
    ~EapQtConfig();
hgs
parents:
diff changeset
   146
hgs
parents:
diff changeset
   147
    QVariant value(SettingsId id);
hgs
parents:
diff changeset
   148
    void setValue(SettingsId id, QVariant newValue);
hgs
parents:
diff changeset
   149
    QList<EapQtConfig::SettingsId> validate(
hgs
parents:
diff changeset
   150
        QList<EapQtConfig::SettingsId> ids);
hgs
parents:
diff changeset
   151
    void clear();
hgs
parents:
diff changeset
   152
    
hgs
parents:
diff changeset
   153
public: // FOR TESTING PURPOSE
hgs
parents:
diff changeset
   154
    bool operator==(const EapQtConfig & rhs ) const;
hgs
parents:
diff changeset
   155
hgs
parents:
diff changeset
   156
private:
hgs
parents:
diff changeset
   157
    QHash<int, QVariant> mSettings;
hgs
parents:
diff changeset
   158
};
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
#endif