diff -r 8840d3e38314 -r 7aac0b9e8906 wlansecuritysettings/wapisecuritysettingsui/inc/wapisecuritysettingsimpl.h --- a/wlansecuritysettings/wapisecuritysettingsui/inc/wapisecuritysettingsimpl.h Fri Mar 19 09:29:58 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,258 +0,0 @@ -/* -* ============================================================================ -* Name : wapisecuritysettingsimpl.h -* Part of : WAPI Security Settings UI -* -* Description: -* Declaration of class CWAPISecuritySettingsImpl. -* -* Version: %version: 11.1.1 % -* -* Copyright (C) 2008 Nokia Corporation. -* This material, including documentation and any related -* computer programs, is protected by copyright controlled by -* Nokia Corporation. All rights are reserved. Copying, -* including reproducing, storing, adapting or translating, any -* or all of this material requires the prior written consent of -* Nokia Corporation. This material also contains confidential -* information which may not be disclosed to others without the -* prior written consent of Nokia Corporation. -* -* ============================================================================ -*/ - -#ifndef WAPISECURITYSETTINGSIMPL_H -#define WAPISECURITYSETTINGSIMPL_H - -// INCLUDES -#include -#include - -#include -#include "wapisecuritysettingsdefs.h" -#include - -#include -#include - -// FORWARD DECLARATIONS - -// CLASS DECLARATION - -/** -* WAPI Security Settings. -* Implementation behind proxy class CWAPISecuritySettings. -*/ -NONSHARABLE_CLASS( CWAPISecuritySettingsImpl ) : public CBase - { - - public: // Constructors and destructor - - /** - * Two-phased constructor. Leaves on failure. - * @return The constructed CWAPISecuritySettings object. - */ - static CWAPISecuritySettingsImpl* NewL(); - - - /** - * Destructor. - */ - virtual ~CWAPISecuritySettingsImpl(); - - protected: // Constructors - - /** - * Constructor. - * @param aEikEnv Eikon environment. - */ - CWAPISecuritySettingsImpl(); - - - /** - * Second-phase constructor. - */ - void ConstructL(); - - public: // New methods - - - /** - * Load from database. - * @param aIapRecordId Iap record - * @param aSession Commsdat session - */ - void LoadL( TUint32 aIapRecordId, CommsDat::CMDBSession& aSession ); - - - /** - * Save to database. - * @param aIapRecordId Iap record - * @param aSession Commsdat session - */ - void SaveL( TUint32 aIapRecordId, CommsDat::CMDBSession& aSession ) const; - - - /** - * Resets certificate store from C drive - */ - void ResetCertificateStoreL(); - - /** - * Load certificates. This was implemented for performance issues. - */ - void LoadCertificatesL(); - - - /** - * Delete AP related data from certificate database tables - * - * @param aId Service table id - */ - void DeleteAPSpecificDataL( const TInt aId ); - - - /** - * Fetches table index by certificate label name - * @param aCertificates Pointer to certificate array - * @param aCert Certificate label - * @return Index to corresponding certificate label - */ - TInt GetIndexByCertLabel( - RArray >* aCertificates, - const TDesC& aCert); - - - /** - * Read the value of the current user certificate label - * @param aUserCertInUse Fetched certificate label - */ - inline void GetUserCertInUse( TInt& aUserCertInUse ); - - - /** - * Read the value of the current CA certificate label - * @param aCACertInUse Fetched certificate label - */ - inline void GetCACertInUse( TInt& aCACertInUse ); - - - /** - * Sets the value of the current user certificate in use - * @param aSelectedCert The new value for user certificate - */ - inline void SetUserCertInUse( const TInt aSelectedCert ); - - - /** - * Sets the value of the current CA certificate in use - * @param aSelectedCert The new value for CA certificate - */ - inline void SetCACertInUse( const TInt aSelectedCert ); - - - /** - * Fetches pointers to RARRAYS where user and CA certificates are - * stored. - * @param aUserCertificates Pointer reference to user certificates - * @param aCACertificates Pointer reference to CA certificates - */ - inline void GetCertificateLabels ( - RArray >*& aUserCertificates, - RArray >*& aCACertificates ); - /** - * Sets preshared key format, key, and wapi to PSK mode. - */ - void SetPreSharedKeyL( const CWAPISecuritySettings::TWapiKeyFormat aKeyFormat, const TDesC& aPreSharedKey ); - - /** - * Read the value of the current authentication - */ - TWapiAuth GetAuthentication( ); - - /** - * Sets the value of authentication in use - * @param aWapiAuth Authentication - */ - void SetAuthentication( TWapiAuth aWapiAuth ); - - /** - * Read the value of current key format - */ - CWAPISecuritySettings::TWapiKeyFormat GetKeyFormat(); - - /** - * Sets the value of key format - * @param aWapiKeyFormat Key format - */ - void SetKeyFormat( CWAPISecuritySettings::TWapiKeyFormat aWapiKeyFormat ); - - /** - * Returns true if psk key is set - */ - TBool hasWapiPSKKey(); - - /** - * Set the value of pre-shared wapi key - * @param aWapiPSKKey Pre-shared key - */ - TInt SetWapiPSKKeyL( const TDesC& aWapiPSKKey ); - - /** - * Checks if current settings are valid. - */ - TBool IsValid(); - - private: - /** - * Checks whether the given string is a valid for current format - * @param aPsk The string to be checked - * @return ETrue if the string is a valid PSK, EFalse otherwise. - */ - TBool IsValidPsk( const TDesC8& aPsk ); - - /** - * Checks whether the given string is a valid for given format - * @param aWapiKeyFormat Format (ascii/hex) - * @param aPsk The string to be checked - * @return ETrue if the string is a valid PSK, EFalse otherwise. - */ - TBool IsValidPsk( const CWAPISecuritySettings::TWapiKeyFormat aWapiKeyFormat, - const TDesC8& aPsk ); - - private: // Data - - CWapiCertificates* iCertificateStore; //owned - - // Certificate label, identity and selected certificate. - RArray >* iUserCertificates; //owned - RArray >* iUserCertificateData; //owned - TInt iUserCertInUse; // Index of certificate data - RArray >* iCACertificates; //owned - RArray >* iCACertificateData; //owned - TInt iCACertInUse; // Index of certificate data - - // Stores authentication method. - TWapiAuth iWapiAuth; - - // True if PSK key is set - TBool iWapiPSKKeySet; - - // PSK key format - CWAPISecuritySettings::TWapiKeyFormat iWapiKeyFormat; - - // Stores PSK key. - TBuf8 iWapiPSKKey; - - // Caches wlan service id to allow later loading of certificates - // (solves performance issue) - TUint32 iWlanServiceId; - - // True if certificates have been loaded. - TBool iCertificatesLoaded; - }; - -// Include inline functions -#include "wapisecuritysettingsimpl.inl" - -#endif