accesssec_plat/eap_qt_configuration_api/inc/eapqtcertificateinfo.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:16:37 +0300
branchRCL_3
changeset 45 bad0cc58d154
permissions -rw-r--r--
Revision: 201029 Kit: 201035

/*
 * 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 "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 information data structure for EAP QT
 *   configuration interface
 *
 */

/*
 * %version: 5 %
 */

#ifndef EAPQTCERTIFICATEINFO_H
#define EAPQTCERTIFICATEINFO_H

// System includes
#include <QMetaType>
#include <QVariant>
#include <eapqtconfigexport.h>

// User includes

// Forward declarations
class EapQtCertificateInfoPrivate;

// External data types

// Constants

// Class declaration
class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtCertificateInfo
{

public:

    // Data types

    enum ItemId
    {
        /*! QString */
        SubjectName = 0,
        /*! QString */
        IssuerName,
        /*! QString */
        SerialNumber,
        /*! QByteArray */
        SubjectKeyId,
        /*! QString */
        ThumbPrint,
        /*! QString */
        CertificateLabel,
        /* marker for the last item */
        ItemIdLast
    };

    // default constructor
    EapQtCertificateInfo();
    // destructor
    ~EapQtCertificateInfo();

    // copy constuctor
    EapQtCertificateInfo(const EapQtCertificateInfo& certInfo);
    // assignment
    EapQtCertificateInfo &operator=(const EapQtCertificateInfo& certInfo);

    // gets the certificate field referred to by an id from ItemId
    // returns QVariant::Invalid is the field has not been set
    QVariant value(const ItemId id) const;

    // sets the certificate field referred to by an id from ItemId
    // does nothing if newValue >= ItemIdLast
    void setValue(const ItemId id, const QVariant& newValue) const;

    // resets the object i.e. any successive call to
    // value() returns QVariant::Invalid
    void clear() const;

private: // data

    QScopedPointer<EapQtCertificateInfoPrivate> d_ptr;

};

// Make the class known to QMetaType to support using QVariant
Q_DECLARE_METATYPE(EapQtCertificateInfo)

#endif // EAPQTCERTIFICATEINFO_H