wlanutilities/wlanwizard/tsrc/stubs/eapqtconfiginterface.h
author hgs
Mon, 23 Aug 2010 13:30:09 +0300
changeset 53 bdc64aa9b954
permissions -rw-r--r--
201033

/*
* 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: 
* EAP method configuration QT interface.
*/

#ifndef EAPQTCONFIGINTERFACE_H
#define EAPQTCONFIGINTERFACE_H

#include <qglobal.h>
#include <QStringList>
#include <eapqtexpandedeaptype.h>
#include <eapqtpluginhandle.h>
#include "eapqtconfig.h"
#include "eapqtpacstoreconfig.h"
#include "eapqtcertificateinfo.h"
#include "eapqtvalidator.h"

class EapQtConfigInterfaceContext;
/*!
 * @addtogroup group_eap_config_api
 * @{
 */

/*!
 */
class EapQtConfigInterface
{
public:

    enum EapBearerType
    {
        // EAP configuration interface for WLAN
        EapBearerTypeWlan = 0,
        // EAP configuration interface for VPN
        EapBearerTypeVpn,
    };

    static const int IapIdUndefined = -1;

public:
    EapQtConfigInterface(const EapBearerType bearerType, const int iapId);
    ~EapQtConfigInterface();
    
    EapQtValidator *validatorEap(const EapQtExpandedEapType &type, const EapQtConfig::SettingsId id);    
    EapQtValidator *validatorPacStore(const EapQtPacStoreConfig::PacStoreSettings id);
    
    bool setConfigurationReference(const int iapId);
    QList<EapQtCertificateInfo> certificateAuthorityCertificates();
    QList<EapQtCertificateInfo> userCertificates();
    
    bool updateCertificates();
    
    bool isSupportedOuterType(const EapQtPluginHandle& handle);
    bool isSupportedInnerType(const EapQtPluginHandle& outerHandle,
        const EapQtPluginHandle& innerHandle);
    
    bool setSelectedOuterTypes(const QList<EapQtPluginHandle>& outerHandles);
    bool saveConfiguration(const EapQtPluginHandle& pluginHandle, const EapQtConfig &config);
    bool deleteConfiguration();
    
    bool readPacStoreConfiguration(EapQtPacStoreConfig &config);
    bool savePacStoreConfiguration(EapQtPacStoreConfig &config);
    
    
private:
    Q_DISABLE_COPY(EapQtConfigInterface)
    QStringList mCalledMethods;
    
    // setConfigurationReference
    int mIapId;
    bool mReturnSetConfigurationReference;
    
    // certificateAuthorityCertificates
    QList<EapQtCertificateInfo> mCertsCa;
    
    // userCertificates
    QList<EapQtCertificateInfo> mCertsUser;
    
    // isSupportedOuterType
    QList<EapQtPluginHandle> mSupportedOuterTypes;
    
    // isSupportedInnerType
    QList<EapQtPluginHandle> mSupportedInnerTypes;
    int mSupportedInnerTypesOuterHandle;
    
    // setSelectedOuterTypes
    QList<EapQtPluginHandle> mSetSelectectedOuterTypes;
    bool mReturnSetSelectedOuterTypes;
    
    // saveConfiguration
    EapQtPluginHandle::Plugin mOuterPlugin;
    EapQtConfig mSaveConfigurationsOuter;
    bool mReturnSaveConfigurationOuter;
    EapQtPluginHandle::Plugin mInnerPlugin;
    EapQtConfig mSaveConfigurationsInner;
    bool mReturnSaveConfigurationInner;

    // validatorEap
    QHash<EapQtExpandedEapType::Type, QHash<EapQtConfig::SettingsId, EapQtValidator *> > mValidator;
    
    // readPacStoreConfiguration
    EapQtPacStoreConfig mReadPacStoreConfiguration;
    bool mReadPacStoreConfigurationReturn;
    
    // savePacStoreConfiguration
    EapQtPacStoreConfig mSavePacStoreConfiguration;
    bool mSavePacStoreConfigurationReturn;
    
    // validatorPacStore, key: EapQtPacStoreConfig::PacStoreSettings
    QHash<int ,EapQtValidator* > mValidatorPacStore;
    
    friend class EapQtConfigInterfaceContext;
};

/*! @} */

#endif