cmmanager/cmmgr/Plugins/cmpluginwlan/inc/cmpluginwlan.h
changeset 20 9c97ad6591ae
parent 18 fcbbe021d614
child 21 b8e8e15e80f2
child 23 7ec726f93df1
child 28 860702281757
--- 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