--- a/cmmanager/cmmgr/Plugins/cmpluginwlan/inc/cmpluginwlan.h Fri Apr 16 15:21:37 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,617 +0,0 @@
-/*
-* Copyright (c) 2006 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: Declaration of WLAN interface implementation for WLAN plugin
-*
-*/
-
-#ifndef WLAN_PLUGIN_H
-#define WLAN_PLUGIN_H
-
-// INCLUDES
-#include <cmpluginlanbase.h>
-#include <cmpluginwlandef.h>
-#include <e32base.h>
-#include <eikdoc.h>
-#include <apparc.h>
-#include <eikenv.h>
-#include <wlanmgmtcommon.h>
-#include <wifiprotreturn.h>
-
-// FORWARD DECLARATION
-class CCDWlanServiceRecord;
-class CWEPSecuritySettings;
-class CWEPSecuritySettingsUi;
-class CWPASecuritySettings;
-class CWPASecuritySettingsUi;
-class RConeResourceLoader;
-class CConnectionUiUtilities;
-class CCmPluginWlanDataArray;
-class CAknWaitDialog;
-
-class CWAPISecuritySettings;
-class CWAPISecuritySettingsUi;
-
-/**
- * WPA Mode
- */
-enum TWpaMode
- {
- EWpaModeUndefined = -1,
- EWpaModeEap,
- EWpaModePreSharedKey
- };
-
-/**
- * WLAN Plugin IF implementation class
- *
- * ?more_complete_description
- *
- * @since S60 3.2
- */
-NONSHARABLE_CLASS( CCmPluginWlan ) : public CCmPluginLanBase
- {
-
- public: // Constructors and destructor
-
- /**
- * Two phased constructor
- *
- * @since S60 3.2
- * @param aInitParam
- * @return The created object.
- */
- static CCmPluginWlan* NewL( TCmPluginInitParam* aInitParam );
-
- /**
- * Destructor.
- */
- virtual ~CCmPluginWlan();
-
- virtual CCmPluginBaseEng* CreateInstanceL( TCmPluginInitParam& aInitParam ) const;
-
- public: // from base class
-
- /**
- * From CCmPluginBaseEng
- * Gets the value for a TUint32 attribute
- *
- * @since S60 3.2
- * @param aAttribute Identifies the attribute to be retrived
- * @return the requested TUint32 value
- */
- TUint32 GetIntAttributeL( const TUint32 aAttribute ) const;
-
- /**
- * From CCmPluginBaseEng
- * Gets the value for a TBool attribute
- *
- * @since S60 3.2
- * @param aAttribute Identifies the attribute to be retrived
- * @return the requested TBool value
- */
- TBool GetBoolAttributeL( const TUint32 aAttribute ) const;
-
- /**
- * From CCmPluginBaseEng
- * Gets the value for a TDes16 attribute
- *
- * @since S60 3.2
- * @param aAttribute Identifies the attribute to be retrived
- * @return the requested string value
- */
- HBufC* GetStringAttributeL( const TUint32 aAttribute ) const;
-
- /**
- * From CCmPluginBaseEng
- * Sets the value for a TInt attribute
- *
- * @since S60 3.2
- * @param aAttribute Identifies the attribute to be set.
- * @param aValue The value to be set
- */
- void SetIntAttributeL( const TUint32 aAttribute, TUint32 aValue );
-
- /**
- * * From CCmPluginBaseEng
- * Sets the value for a TBool attribute
- *
- * @since S60 3.2
- * @param aAttribute Identifies the attribute to be set.
- * @param aValue The value to be set
- */
- void SetBoolAttributeL( const TUint32 aAttribute, TBool aValue );
-
- /**
- * From CCmPluginBaseEng
- * Sets the value for a TDesC attribute
- *
- * @since S60 3.2
- * @param aAttribute Identifies the attribute to be set.
- * @param aValue The value to be set
- */
- void SetStringAttributeL( const TUint32 aAttribute, const TDesC16& aValue );
-
- /**
- * From CCmPluginBaseEng
- * Checks if the plug-in can handle the given AP.
- *
- * @since S60 3.2
- * @param aIapId
- * @return ETrue if plug-in can handle the IAP
- */
- TBool CanHandleIapIdL( TUint32 aIapId ) const;
-
- /**
- * From CCmPluginBaseEng
- * Checks if the plug-in can handle the given AP
- *
- * @since S60 3.2
- * @param aIapRecord IAP record to be checked
- * @return ETrue if plug-in can handle the IAP
- */
- TBool CanHandleIapIdL( CommsDat::CCDIAPRecord *aIapRecord ) const;
-
- /**
- * From CCmPluginBaseEng
- * Launches the WLAN settings dialog
- *
- * @since S60 3.2
- * @return soft key selection
- */
- TInt RunSettingsL();
-
- /**
- * From CCmPluginBaseEng
- * see base class definition
- *
- * @since S60 3.2
- */
- TBool InitializeWithUiL( TBool aManuallyConfigure );
-
- /**
- * From CCmPluginBaseEng
- * see base class definition
- *
- * @since S60 3.2
- */
- void LoadServiceSettingL();
-
- /**
- * From CCmPluginBaseEng
- * see base class definition
- *
- * @since S60 3.2
- */
- void AdditionalReset();
-
- public: // New functions
- /**
- * Edits the security settings for the current connection method
- *
- * @since S60 3.2
- * @param aEikonEnv Eikon environment to use
- * @return exit reason
- */
- TInt EditSecuritySettingsL( CEikonEnv& aEikonEnv );
-
- /**
- * Returns the security settings validity for the current connection method
- *
- * @since S60 3.2
- * @return Validity of the current security settings
- */
- TBool AreSecuritySettingsValidL();
-
- /**
- * Loads the security settings for the current connection method
- *
- * @since S60 3.2
- */
- void LoadSecuritySettingsL();
-
- protected:
-
- /**
- * From CCmPluginBaseEng
- * see base class definition
- *
- * @since S60 3.2
- */
- virtual void BearerRecordIdLC( HBufC* &aBearerName,
- TUint32& aRecordId );
-
-
- /**
- * Copy data of the connection method that is not
- * added to the conversion table. (e.g. bearer specific
- * flags)
- *
- * @param aDestInst copy attributes into this plugin instance
- */
- void CopyAdditionalDataL( CCmPluginBaseEng& aDestInst ) const;
-
-
- private: // construction
-
- /**
- * Constructor
- *
- * @since S60 3.2
- */
- CCmPluginWlan( TCmPluginInitParam* aInitParam );
-
- /**
- * Second phase constructor
- *
- * @since S60 3.2
- */
- void ConstructL();
-
- private: // from base class
-
- /**
- * From CCmPluginBaseEng
- * Updates additional records, in this case, the WLAN records.
- *
- * @since S60 3.2
- */
- void UpdateAdditionalRecordsL();
-
- /**
- * From CCmPluginBaseEng
- * Deletes additional records, in this case, the WLAN records
- *
- * @since S60 3.2
- */
- void DeleteAdditionalRecordsL();
-
- /**
- * From CCmPluginBaseEng
- * Loads additional records, in this case, the WLAN records
- *
- * @since S60 3.2
- */
- void LoadAdditionalRecordsL();
-
- /**
- * From CCmPluginBaseEng
- * Creates a new service record for this bearer
- *
- * @since S60 3.2
- */
- void CreateNewServiceRecordL();
-
- /**
- * From CCmPluginBaseEng
- * Creates the WLAN service record used by this WLAN
- *
- * @since S60 3.2
- */
-
- void CreateWlanServiceRecordL();
-
- /**
- * From CCmPluginBaseEng
- */
- virtual void PrepareToUpdateRecordsL();
-
- /**
- * Appends uids of connection methods - which were also created during connection method
- * creation - to the array given as parameter
- * @param aIapIds the array the additonal cm uids are appended to
- */
- virtual void GetAdditionalUids( RArray<TUint32>& aIapIds );
-
- private: // new functions
-
- /**
- * Updates the security settings for the current WLAN connection method
- *
- * @since S60 3.2
- */
- void UpdateSecuritySettingsL();
-
- /**
- * Allocates a string specified by aResId and replaces %N in the
- * resource with aInt
- *
- * @since S60 3.2
- * @param aResId Resource ID to be read from resource file.
- * @param aInt Integer that will replace %N in the string.
- * @return String read from resource file, specified by aResId,
- * containing aInt.
- */
- HBufC* ReadResourceL( TInt aResId, TInt aInt ) const;
-
- /**
- * The UI for manually configuring a WLAN connection method
- *
- * @since S60 3.2
- * @return ETrue if the configuration was successful
- */
- TBool ManuallyConfigureL();
-
- /**
- * Continuing with Manual configuration from step 4
- * called from ManuallyConfigureL or AutomaticallyConfigureL in case the
- * specicfied network was not found (reverting to fully manual setup)
- *
- * @since S60 3.2
- * @param TBool aAskNWModeAndSec if set to ETrue, NW mode and Security
- * mode dialogs are shown. If EFalse, these values are taken from
- * the corresponding parameters of this function
- * @param TWlanNetMode& aNwMode NW mode used if aAskNWModeAndSec is EFalse
- * @param TWlanConnectionExtentedSecurityMode& aSecurityMode
- * Security mode used if aAskNWModeAndSec is EFalse
- * @param TWpaMode& aWpaMode WPA mode
- * @return ETrue if the configuration was successful
- */
- TBool ProceedWithManualL( TBool aAskNWModeAndSec,
- CMManager::TWlanNetMode aNwMode = CMManager::EInfra,
- TWlanConnectionExtentedSecurityMode aSecurityMode = EWlanConnectionExtentedSecurityModeOpen,
- TWpaMode aWpaMode = EWpaModeUndefined );
- /**
- * The UI for automatically configuring a WLAN connection method
- *
- * @since S60 3.2
- * @return ETrue if the configuration was successful
- */
- TBool AutomaticallyConfigureL();
-
- /*
- * Loads a specific resource, leaves the resource loader on the
- * cleanup stack
- *
- * @since S60 3.2
- * @param aResourceLoader
- */
- void LoadResourceLC( RConeResourceLoader& aResourceLoader ) const;
-
- /*
- * Prompt for the Network Name of the new WLAN connection method
- * sets the network name and SSID settings
- *
- * @since S60 3.2
- * @param
- * @return ETrue if a selection was made, EFalse if cancelled
- */
- TBool ShowNWNameQueryL( TDes& aName );
-
- /*
- * Scans for a WLAN network by a given SSID
- * initially makes a broadcast scan and if not found a direct scan.
- * Sets the scan ssid setting
- *
- * @since S60 3.2
- * @param aSsid the SSID to scan for
- * @return ETrue if a network has been found with the SSID
- */
- TBool ScanForWlanNwL( TWlanSsid& aSsid,
- CMManager::TWlanNetMode& aNetworkMode,
- TWlanConnectionExtentedSecurityMode& aSecurityMode,
- TBool& aProtectedSetupSupported );
-
- /*
- * Selection list for Network Mode
- *
- * @since S60 3.2
- * @param aNWMode (return value) network mode selected
- * @return ETrue if a selection was made, EFalse if cancelled
- */
- TBool SelectNWModeL( CMManager::TWlanNetMode& aNWMode );
-
- /*
- * Displays a user selection dialog of Security Modes
- *
- * @since S60 3.2
- * @param aNwMode which network mode was selected
- * @param aSecurityMode returns the selection
- * @return ETrue if a selection was made, EFalse if cancelled
- */
- TBool ShowNWSecurityDlgL( CMManager::TWlanNetMode aNwMode,
- TWlanConnectionExtentedSecurityMode& aSecurityMode );
-
- /*
- * Triggers the WEP key input query
- *
- * @since S60 3.2
- * @return ETrue if a selection was made, EFalse if cancelled
- */
- TBool EnterWEPKeyL();
-
- /*
- * Triggers the pre-shared key for WPA WLAN query
- *
- * @since S60 3.2
- * @return ETrue if a selection was made, EFalse if cancelled
- */
- TBool EnterWpaPreSharedKeyL();
-
- /*
- * Shows the WPA/WPA2 mode dialog
- *
- * @since S60 3.2
- * @param aWpaMode return value
- * @return ETrue if selection made
- */
- TBool SelectWpaModeDialogL( TWpaMode& aWpaMode );
-
- /**
- * Reloads internal security settings modules according to the changes
- * @since S60 3.2
- */
- void UpdateSecurityModeL();
-
-
- /**
- * Called from another CM-s CopyAdditionalDataL, on the passed
- * copied CM, and marks this as a copy of the original CM which
- * has an IAP ID of aBaseIapID
- *
- * @since S60 3.2
- */
- void SetAsCopyOf( TUint32 aBaseIapID );
-
- /**
- * Deletes the security settings related to this connection method.
- *
- * @since S60 3.2
- */
- void DeleteSecuritySettingsL();
-
-
- /**
- * Set the EWlanIpDNSAddrFromServer according to the
- * current name server values.
- *
- * @since S60 3.2
- */
- void SetDnsIpFromServerL();
-
-
- /**
- * Set the EWlanIp6DNSAddrFromServer according to the
- * current name server values.
- *
- * @since S60 3.2
- */
- void SetDns6IpFromServerL();
-
-
- /**
- * Checks for coveradge and number of WLAN connections available
- * @since S60 3.2
- * @return The number of available WLAN network connections
- */
- TInt CheckNetworkCoverageL() const;
-
-
- /**
- * Converts security mode from TWlanConnectionSecurityMode to
- * TWlanSecMode
- * @since S60 3.2
- * @return The security mode as TWlanSecMode
- */
- CMManager::TWlanSecMode ConvertConnectionSecurityModeToSecModeL(
- TWlanConnectionExtentedSecurityMode aSecurityMode );
-
-
- /**
- * Converts security mode from TWlanSecMode to
- * TWlanConnectionSecurityMode
- * @since S60 3.2
- * @return The security mode as TWlanConnectionSecurityMode
- */
- TWlanConnectionExtentedSecurityMode ConvertSecModeToConnectionSecurityModeL(
- CMManager::TWlanSecMode aSecMode );
-
- /**
- * Destroy wait dialog
- */
- void DestroyWaitDialog();
-
-
- /**
- * Sets the daemon name. Starts DHCP if set.
- *
- * @since S60 3.2
- */
- void SetDaemonNameL();
-
-
- /**
- * Converts the possible WLAN connection states from TWlanConnectionMode
- * to TWlanNetMode.
- * @since S60 3.2
- * @return The WLAN connection mode as TWlanNetMode
- */
- CMManager::TWlanNetMode ConvertWLANConnectionStatesL(
- TWlanConnectionMode aConnectionMode );
-
- WiFiProt::TWiFiReturn ProtectedSetupL(TWlanSsid& aSsid );
-
- /*
- * Triggers the pre-shared key for WAPI WLAN query
- *
- * @since S60 5.1
- * @return ETrue if a selection was made, EFalse if cancelled
- */
- TBool EnterWAPIPreSharedKeyL();
-
- private: // Data
-
- /**
- * WLan service record
- * Own
- */
- CCDWlanServiceRecord* iWlanServiceRecord; // owned
-
- /**
- * WLAN table id
- */
- CommsDat::TMDBElementId iWlanTableId;
-
- /**
- * WEP settings data
- * Own
- */
- CWEPSecuritySettings* iWepSecSettings;
-
- /**
- * WPA settings data
- * Own
- */
- CWPASecuritySettings* iWpaSecSettings;
-
- /**
- * Number of networks
- */
- TInt iWlanNetworks;
-
- /**
- * Connection UI utilities pointer
- * Own
- */
- CConnectionUiUtilities* iConnUiUtils; // owned
-
- /**
- * Signals that this connection method is a copy of another WLAN CM.
- */
- TBool iIsCopy;
-
- /**
- * The IAP ID of the CM from which this copy had been made.
- */
- TUint32 iCopiedFromIapId;
-
- /**
- * "Searching WLAN networks" wait dialog.
- */
- CAknWaitDialog* iWaitDialog;
-
- RArray<TUint32> iAdditionalCmsCreated;
-
- /**
- * Asked from the Feature manager at the constructor phase
- */
- TBool iIsWAPISupported;
-
- /**
- * WAPI settings data
- * Own
- */
- CWAPISecuritySettings* iWAPISecSettings;
- };
-
-#endif // WLAN_PLUGIN_H