cpsecplugins/cpadvancedsecplugin/inc/advsecsettingscertificatemodel.h
author hgs
Wed, 20 Oct 2010 14:51:23 +0300
changeset 66 67b3e3c1fc87
parent 63 989397f9511c
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
63
989397f9511c 201039_03
hgs
parents:
diff changeset
     1
/*
989397f9511c 201039_03
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
989397f9511c 201039_03
hgs
parents:
diff changeset
     3
* All rights reserved.
989397f9511c 201039_03
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
989397f9511c 201039_03
hgs
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
989397f9511c 201039_03
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
989397f9511c 201039_03
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
989397f9511c 201039_03
hgs
parents:
diff changeset
     8
*
989397f9511c 201039_03
hgs
parents:
diff changeset
     9
* Initial Contributors:
989397f9511c 201039_03
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
989397f9511c 201039_03
hgs
parents:
diff changeset
    11
*
989397f9511c 201039_03
hgs
parents:
diff changeset
    12
* Contributors:
989397f9511c 201039_03
hgs
parents:
diff changeset
    13
*
989397f9511c 201039_03
hgs
parents:
diff changeset
    14
* Description:  Certificate handling model in advanced security settings
989397f9511c 201039_03
hgs
parents:
diff changeset
    15
*
989397f9511c 201039_03
hgs
parents:
diff changeset
    16
*/
989397f9511c 201039_03
hgs
parents:
diff changeset
    17
989397f9511c 201039_03
hgs
parents:
diff changeset
    18
#ifndef ADVSECSETTINGSCERTIFICATEMODEL_H
989397f9511c 201039_03
hgs
parents:
diff changeset
    19
#define ADVSECSETTINGSCERTIFICATEMODEL_H
989397f9511c 201039_03
hgs
parents:
diff changeset
    20
989397f9511c 201039_03
hgs
parents:
diff changeset
    21
#include <QObject>
989397f9511c 201039_03
hgs
parents:
diff changeset
    22
#include <QList>
989397f9511c 201039_03
hgs
parents:
diff changeset
    23
#include <QMap>
989397f9511c 201039_03
hgs
parents:
diff changeset
    24
989397f9511c 201039_03
hgs
parents:
diff changeset
    25
class AdvSecSettingsCertificateModelPrivate;
989397f9511c 201039_03
hgs
parents:
diff changeset
    26
class AdvSecSettingsCertificate;
989397f9511c 201039_03
hgs
parents:
diff changeset
    27
989397f9511c 201039_03
hgs
parents:
diff changeset
    28
989397f9511c 201039_03
hgs
parents:
diff changeset
    29
/**
989397f9511c 201039_03
hgs
parents:
diff changeset
    30
 * Certificate handling engine in advanced security settings control panel plugin.
989397f9511c 201039_03
hgs
parents:
diff changeset
    31
 */
989397f9511c 201039_03
hgs
parents:
diff changeset
    32
class AdvSecSettingsCertificateModel : public QObject
989397f9511c 201039_03
hgs
parents:
diff changeset
    33
{
989397f9511c 201039_03
hgs
parents:
diff changeset
    34
    Q_OBJECT
989397f9511c 201039_03
hgs
parents:
diff changeset
    35
989397f9511c 201039_03
hgs
parents:
diff changeset
    36
public:     // constructor and destructor
989397f9511c 201039_03
hgs
parents:
diff changeset
    37
    explicit AdvSecSettingsCertificateModel(QObject *parent = 0);
989397f9511c 201039_03
hgs
parents:
diff changeset
    38
    virtual ~AdvSecSettingsCertificateModel();
989397f9511c 201039_03
hgs
parents:
diff changeset
    39
989397f9511c 201039_03
hgs
parents:
diff changeset
    40
public:     // new definitions
989397f9511c 201039_03
hgs
parents:
diff changeset
    41
    enum AdvSecSettingsCertificateDetailsField {
989397f9511c 201039_03
hgs
parents:
diff changeset
    42
        Label,
989397f9511c 201039_03
hgs
parents:
diff changeset
    43
        Issuer,
989397f9511c 201039_03
hgs
parents:
diff changeset
    44
        Subject,
989397f9511c 201039_03
hgs
parents:
diff changeset
    45
        ValidFrom,
989397f9511c 201039_03
hgs
parents:
diff changeset
    46
        ValidTo,
989397f9511c 201039_03
hgs
parents:
diff changeset
    47
        Location,
989397f9511c 201039_03
hgs
parents:
diff changeset
    48
        Format,
989397f9511c 201039_03
hgs
parents:
diff changeset
    49
        KeyUsage,
989397f9511c 201039_03
hgs
parents:
diff changeset
    50
        KeyLocation,
989397f9511c 201039_03
hgs
parents:
diff changeset
    51
        Algorithm,
989397f9511c 201039_03
hgs
parents:
diff changeset
    52
        SerialNumber,
989397f9511c 201039_03
hgs
parents:
diff changeset
    53
        FingerprintSHA1,
989397f9511c 201039_03
hgs
parents:
diff changeset
    54
        FingerprintMD5,
989397f9511c 201039_03
hgs
parents:
diff changeset
    55
        PublicKey,
989397f9511c 201039_03
hgs
parents:
diff changeset
    56
        TrustedSites
989397f9511c 201039_03
hgs
parents:
diff changeset
    57
    };
989397f9511c 201039_03
hgs
parents:
diff changeset
    58
989397f9511c 201039_03
hgs
parents:
diff changeset
    59
public:     // new functions
989397f9511c 201039_03
hgs
parents:
diff changeset
    60
    void initialize();  // asynchronous
989397f9511c 201039_03
hgs
parents:
diff changeset
    61
    void getCertificates(QList<AdvSecSettingsCertificate*> &certList);  // asynchronous
989397f9511c 201039_03
hgs
parents:
diff changeset
    62
    void getCertificateDetails(const AdvSecSettingsCertificate &cert,
989397f9511c 201039_03
hgs
parents:
diff changeset
    63
        QMap<int,QString> &details);  // asynchronous
989397f9511c 201039_03
hgs
parents:
diff changeset
    64
    bool isDeletable(const AdvSecSettingsCertificate &cert) const;
989397f9511c 201039_03
hgs
parents:
diff changeset
    65
    void deleteCertificate(const AdvSecSettingsCertificate &cert);  // asynchronous
989397f9511c 201039_03
hgs
parents:
diff changeset
    66
    void getTrustSettings(const AdvSecSettingsCertificate &cert,
989397f9511c 201039_03
hgs
parents:
diff changeset
    67
        QMap<int,bool> &usageIdAndTrust);  // asynchronous
989397f9511c 201039_03
hgs
parents:
diff changeset
    68
    void setTrustSettings(const AdvSecSettingsCertificate &cert,
989397f9511c 201039_03
hgs
parents:
diff changeset
    69
        const QMap<int,bool> &usageIdAndTrust);  // asynchronous
989397f9511c 201039_03
hgs
parents:
diff changeset
    70
    void getCertificateUsageNames(QMap<int,QString> &usageIdAndName);
989397f9511c 201039_03
hgs
parents:
diff changeset
    71
    void moveToPersonalCertificates(const AdvSecSettingsCertificate &cert);  // asynchronous
989397f9511c 201039_03
hgs
parents:
diff changeset
    72
    void moveToDeviceCertificates(const AdvSecSettingsCertificate &cert);  // asynchronous
989397f9511c 201039_03
hgs
parents:
diff changeset
    73
989397f9511c 201039_03
hgs
parents:
diff changeset
    74
signals:    // new signals
989397f9511c 201039_03
hgs
parents:
diff changeset
    75
    void initializeCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    76
    void getCertificatesCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    77
    void getCertificateDetailsCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    78
    void deleteCertificateCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    79
    void getTrustSettingsCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    80
    void setTrustSettingsCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    81
    void moveToPersonalCertificatesCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    82
    void moveToDeviceCertificatesCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    83
    void errorOccurred(int error);
989397f9511c 201039_03
hgs
parents:
diff changeset
    84
989397f9511c 201039_03
hgs
parents:
diff changeset
    85
protected:  // new functions
989397f9511c 201039_03
hgs
parents:
diff changeset
    86
    void handleInitializeCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    87
    void handleGetCertificatesCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    88
    void handleGetCertificateDetailsCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    89
    void handleDeleteCertificateCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    90
    void handleGetTrustSettingsCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    91
    void handleSetTrustSettingsCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    92
    void handleMoveToPersonalCertificateCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    93
    void handleMoveToDeviceCertificatesCompleted();
989397f9511c 201039_03
hgs
parents:
diff changeset
    94
    void handleError(int error);
989397f9511c 201039_03
hgs
parents:
diff changeset
    95
989397f9511c 201039_03
hgs
parents:
diff changeset
    96
private:    // data
989397f9511c 201039_03
hgs
parents:
diff changeset
    97
    Q_DISABLE_COPY(AdvSecSettingsCertificateModel)
989397f9511c 201039_03
hgs
parents:
diff changeset
    98
    friend class AdvSecSettingsCertificateModelPrivate;
989397f9511c 201039_03
hgs
parents:
diff changeset
    99
    AdvSecSettingsCertificateModelPrivate *d_ptr;
989397f9511c 201039_03
hgs
parents:
diff changeset
   100
};
989397f9511c 201039_03
hgs
parents:
diff changeset
   101
989397f9511c 201039_03
hgs
parents:
diff changeset
   102
#endif // ADVSECSETTINGSCERTIFICATEMODEL_H