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

/*
* 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 the License "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:  Certificate handling model in advanced security settings
*
*/

#ifndef ADVSECSETTINGSCERTIFICATEMODEL_H
#define ADVSECSETTINGSCERTIFICATEMODEL_H

#include <QObject>
#include <QList>
#include <QMap>

class AdvSecSettingsCertificateModelPrivate;
class AdvSecSettingsCertificate;


/**
 * Certificate handling engine in advanced security settings control panel plugin.
 */
class AdvSecSettingsCertificateModel : public QObject
{
    Q_OBJECT

public:     // constructor and destructor
    explicit AdvSecSettingsCertificateModel(QObject *parent = 0);
    virtual ~AdvSecSettingsCertificateModel();

public:     // new definitions
    enum AdvSecSettingsCertificateDetailsField {
        Label,
        Issuer,
        Subject,
        ValidFrom,
        ValidTo,
        Location,
        Format,
        KeyUsage,
        KeyLocation,
        Algorithm,
        SerialNumber,
        FingerprintSHA1,
        FingerprintMD5,
        PublicKey,
        TrustedSites
    };

public:     // new functions
    void initialize();  // asynchronous
    void getCertificates(QList<AdvSecSettingsCertificate*> &certList);  // asynchronous
    void getCertificateDetails(const AdvSecSettingsCertificate &cert,
        QMap<int,QString> &details);  // asynchronous
    bool isDeletable(const AdvSecSettingsCertificate &cert) const;
    void deleteCertificate(const AdvSecSettingsCertificate &cert);  // asynchronous
    void getTrustSettings(const AdvSecSettingsCertificate &cert,
        QMap<int,bool> &usageIdAndTrust);  // asynchronous
    void setTrustSettings(const AdvSecSettingsCertificate &cert,
        const QMap<int,bool> &usageIdAndTrust);  // asynchronous
    void getCertificateUsageNames(QMap<int,QString> &usageIdAndName);
    void moveToPersonalCertificates(const AdvSecSettingsCertificate &cert);  // asynchronous
    void moveToDeviceCertificates(const AdvSecSettingsCertificate &cert);  // asynchronous

signals:    // new signals
    void initializeCompleted();
    void getCertificatesCompleted();
    void getCertificateDetailsCompleted();
    void deleteCertificateCompleted();
    void getTrustSettingsCompleted();
    void setTrustSettingsCompleted();
    void moveToPersonalCertificatesCompleted();
    void moveToDeviceCertificatesCompleted();
    void errorOccurred(int error);

protected:  // new functions
    void handleInitializeCompleted();
    void handleGetCertificatesCompleted();
    void handleGetCertificateDetailsCompleted();
    void handleDeleteCertificateCompleted();
    void handleGetTrustSettingsCompleted();
    void handleSetTrustSettingsCompleted();
    void handleMoveToPersonalCertificateCompleted();
    void handleMoveToDeviceCertificatesCompleted();
    void handleError(int error);

private:    // data
    Q_DISABLE_COPY(AdvSecSettingsCertificateModel)
    friend class AdvSecSettingsCertificateModelPrivate;
    AdvSecSettingsCertificateModelPrivate *d_ptr;
};

#endif // ADVSECSETTINGSCERTIFICATEMODEL_H