omaprovisioning/provisioning/accesspointadapter/Src/CWPAPNapdef.cpp
changeset 51 2e64dc50f295
parent 50 a36219ae6585
child 52 830bd228f4f6
--- a/omaprovisioning/provisioning/accesspointadapter/Src/CWPAPNapdef.cpp	Tue Jul 13 09:37:43 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2039 +0,0 @@
-/*
-* Copyright (c) 2002-2008 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:    Class stores data for one accesspoint
-*
-*/
-
-
-
- 
-// INCLUDE FILES
-
-#include "CWPAPNapdef.h"
-#include <CWPCharacteristic.h>
-#include <CWPParameter.h>
-#include <WPAPAdapterResource.rsg>
-#include <featmgr.h>
-#include <WPAdapterUtil.h>
-#include "CWPAPAccesspointItem.h"
-#include "WPAPAdapter.pan"
-#include <WlanCdbCols.h>
-#include <EapType.h>
-#include <EapSettings.h>
-#include "ProvisioningDebug.h"
-#include <cmconnectionmethodext.h>
-#include <cmpluginpacketdatadef.h>
-#include <cmpluginwlandef.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethodext.h>
-#include <commdb.h>
-#include <WlanCdbCols.h>
-#include <EapExpandedType.h>
-#include <centralrepository.h>
-#include <pdpcontextmanagerinternalcrkeys.h>
-#include <EapGeneralSettings.h>
-#include <EapTypeDefinitions.h>
-
-const TUint KIapColumn        = 0x00000100;
-const TUint KLingerColumn     = 0x00000200;
-const TUint KColumnMask       = 0xFFFFFF00;
-const TUint KRowMask          = 0x000000FF;
-
-// Delay for comms db begintransaction retry (microseconds)
-const TInt KBeginTransRetryDelay = 1000000; 
-// Maximum number of retries
-const  TInt KBeginTransRetryCount = 7;      
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::NewLC
-// -----------------------------------------------------------------------------
-//
-CWPAPNapdef* CWPAPNapdef::NewLC( TBool aFollowingLink,
-                                 const TDesC& aDefaultName, 
-                                 CWPCharacteristic& aLogicalCharacteristic,
-                                 CWPCharacteristic& aLink )
-	{
-	CWPAPNapdef* self = new(ELeave) CWPAPNapdef( aFollowingLink,
-	                                             aDefaultName,
-                                                 aLogicalCharacteristic ); 
-	CleanupStack::PushL( self );
-	self->ConstructL();
-    aLink.AcceptL( *self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-CWPAPNapdef::~CWPAPNapdef()
-	{
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::~CWPAPNapdef" ) );
-    
-    iEapTypeArray.ResetAndDestroy();
-    iEapTypeArray.Close();
-    iSecSSID.ResetAndDestroy();
-	iSecSSID.Close();
-    iNameServers.Close();
-  
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::ValidateL
-// -----------------------------------------------------------------------------
-//
-TBool CWPAPNapdef::ValidateL()
-	{
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ValidateL" ) );
-	
-    TBool result( ETrue );
-
-	if ( iBearer == KUidWlanBearerType )
-	    {	    	
-	    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ValidateL wlan" ) );
-	    if ( iWlanSupported )
-	    	{	    	
-	    	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ValidateL wlan supported" ) );
-	    	return result;
-	    	}
-	    else
-	    	{
-	   		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ValidateL wlan NOT supported" ) );
-	    	return EFalse;
-	    	}
-	    }
-	    
-	// Received unsupported bearer
-	if( iBearerUnsupported )
-	    {
-	    return EFalse;
-	    }
-	    
-	// Didn't receive a bearer value.
-	if ( iBearer == 0 )
-		{
-    // Access point address type can also tell the bearer
-		if( iAccesspointNameType )
-            {
-            TPtrC addrType( iAccesspointNameType->Value() );
-            if( addrType == KAddrTypeAPN )
-                {
-                iBearer =KUidPacketDataBearerType;
-                }
-            }
-        
-        // If still couldn't determine the bearer, default to GPRS
-        if( iBearer == 0 )
-			{
-			iBearer = KUidPacketDataBearerType;
-			}
-		}
-		        
-    // "NAP-ADDRESS" (Access point name) must be defined
-    if( iAccesspointName )
-        {
-        if( iAccesspointName->Value() == KNullDesC )
-            {
-            return EFalse;
-            }
-        }
-    else
-        {
-        return EFalse;
-        }
-
-	/* 
-	Combinations of authentication type, username and password and corressponding
-	value of prompt for password field. AuthType in this table means that provisioning document
-	contained authtype parameter and it was supported by the implementation.
-	Provisioning document names are used in table.
-	x means that value of the specified parameter is received and it was valid.
-	AuthType received & supported 
-	| AuthName 
-	| | AuthSecret 
-	| |	| "Prompt for Password"
-		  no
-	x     no
-      x   no
-	x x   yes
-        x no
-    x   x yes
-      x x no
-    x x	x no
-	*/
-
-	// Set the "prompt password"-value. See the table above. Value is set to true
-	// only if we have supported authentication type and either username or password
-	// is empty.
-	if ( IsReceived( EWPParameterAuthentication_id ) &&
-	     ( ( !iPassword && iUserName ) ||( iPassword && !iUserName ) ) )
-		{
-		iPromptPassword = ETrue;	
-		}
-
-    // IFNETWORKS is a list of possible protocols that a GPRS access points can be 
-    // used for. 
-    if( iBearer == KUidPacketDataBearerType && IsReceived( EWPParameterIfNetworks_id ) )
-        {
-        TLex lex( iIfNetworks->Value() );
-        lex.Mark();
-        do
-            {
-            TChar ch( lex.Get() );
-
-            if( ( !iPdpType && !ch.IsAlphaDigit() ) || ( !iPdpType && lex.Eos() ) )
-                {
-				if(!lex.Eos())
-					{
-					lex.UnGet();
-					}
-                TPtrC value( lex.MarkedToken() );
-				if( !lex.Eos() )
-					{
-					lex.Inc();
-					}
-                
-                if( value == KIPv6 
-                    && FeatureManager::FeatureSupported( KFeatureIdIPv6 ) )
-                    {
-                    //iPdpType = EIPv6;
-                    // CMManager
-                    iPdpType = RPacketContext::EPdpTypeIPv6;
-                    result = ETrue;
-                    }
-                else if( value == KIPv6 
-                    && !FeatureManager::FeatureSupported( KFeatureIdIPv6 ) )
-                    {
-                    result = EFalse;
-                    }
-                else if( value == KIPv4 )
-                    {
-                    //iPdpType = EIPv4;
-                    // CMManager
-                    iPdpType = RPacketContext::EPdpTypeIPv4;
-                    result = ETrue;
-                    }
-                }
-            } while( !lex.Eos() );
-        }
-
-	return result;
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::AddItemsL
-// -----------------------------------------------------------------------------
-//
-TInt CWPAPNapdef::AddItemsL( RPointerArray<CWPAPAccesspointItem>& aItems,
-                            CWPAPItemBase* aLogicalProxy,
-                            CWPAPItemBase* aPhysicalProxy ) 
-	{
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddItemsL" ) );
-	
-    TInt count( 0 );
-
-    if( ( iFollowingLink || IsReceived( EWPParameterInternet_id ) 
-                         || IsReceived( EWPParameterWlan_id ) )
-                         && ValidateL() )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddItemsL append" ) );
-        CWPAPAccesspointItem* item = CWPAPAccesspointItem::NewLC(
-                                                             iDefaultName,
-                                                             aLogicalProxy,
-                                                             aPhysicalProxy,
-                                                             this,
-                                                             iCharacteristic );
-        User::LeaveIfError( aItems.Append( item ) );
-        //Internet Parameter is received
-        if (IsReceived(EWPParameterInternet_id) && !iFollowingLink)
-            {
-            SetInternetIndicator(aItems.Count() - 1);
-            }
-
-        
-        count++;
-        CleanupStack::Pop( item );
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddItemsL append done" ) );
-        }
-    return count;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::SetInternetIndicator
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::SetInternetIndicator(TInt aValue)
-    {
-    iInternetIndicator = aValue;
-    }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::GetInternetIndicator
-// -----------------------------------------------------------------------------
-//
-TInt CWPAPNapdef::GetInternetIndicator()
-    {
-    return iInternetIndicator;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::AddDataL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::AddDataL( /*CApAccessPointItem& aAPItem*/ RCmConnectionMethodExt& aCmItem ) 
-	{
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddDataL" ) );
-	
-	TInt err( KErrNone );
-
-    if ( iBearer == KUidWlanBearerType )    
-	    {			    	
-	    	if ( iWlanSupported )
-        	{
-        	// CMManager
-        	AddWlanDataL( aCmItem);
-        	}
-        else
-        	{
-        	// WLAN is disabled (or does not exist) in the device.
-        	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddDataL WLAN disabled." ) );
-        	User::Leave( KErrNotSupported );
-        	}
-	    }
-    else
-        {	    
-    	if ( iConnectionName )
-    		{
-    		// CMManager
-    		aCmItem.SetStringAttributeL( CMManager::ECmName, (iConnectionName->Value().Left( KNameMaxLength ))); 
-    		}
-    	else // Use default name
-    		{
-    		// CMManager
-    		aCmItem.SetStringAttributeL( CMManager::ECmName, iDefaultName );
-    		}
-    	
-    	if ( iAccesspointName )
-    		{
-    		if ( iBearer == KUidPacketDataBearerType )
-    			{
-    			// CMManager
-    			TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EPacketDataAPName, iAccesspointName->Value() ));
-                FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL value: %S, err: %d"),
-                                                                     &iAccesspointName->Value(), err));    			                              
-    			}
-    		else
-    			{
-    			// CMManager
-    			TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EDialDefaultTelNum, iAccesspointName->Value() ));
-                FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::EApIspDefaultTelNumber value: %S, err: %d"),
-                			      &iAccesspointName->Value(), err ) );
-    			}
-    		}
-    		
-    	TRAP ( err, aCmItem.UpdateL() );
-
-    	 if ( iUserName )
-    		{
-    		// CMManager
-    		TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EDialLoginName, iUserName->Value() ));
-    		FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EDialLoginName value: %S, err: %d"),
-    		                    		      &iUserName->Value(), err));
-    		TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EDialIFAuthName, iUserName->Value() ));
-    		FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EDialIFAuthName value: %S, err: %d"),
-    		                    		      &iUserName->Value(), err));
-    		TRAP ( err, aCmItem.SetStringAttributeL( CMManager::ECmIFAuthName, iUserName->Value() ));
-    		FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL ECmIFAuthName value: %S, err: %d"),
-    		                    		      &iUserName->Value(), err));
-    		}
-    		
-		// CMManager
-    	TRAP ( err, aCmItem.SetBoolAttributeL( CMManager::ECmIFPromptForAuth, iPromptPassword));
-    	FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL ECmIFPromptForAuth value: %d, err: %d"),
-    	                            	      iPromptPassword, err ));
-
-    	if ( iPassword )
-    		{
-    		// CMManager 
-    		TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EDialLoginPassword, iPassword->Value() ));
-    		FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EDialLoginPassword value: %d, err: %d"),
-    		                		      &iPassword->Value(), err ) );
-    		TRAP ( err, aCmItem.SetStringAttributeL( CMManager::ECmIFAuthPass, iPassword->Value() ));
-    		FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL ECmIFAuthPass value: %d, err: %d"),
-    		                		      &iPassword->Value(), err ) );
-    		}	
-
-		// CMManager
-    	TRAP ( err, aCmItem.SetBoolAttributeL( CMManager::ECmDisablePlainTextAuth, iSecureAuthentication ));
-        FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EApEApIspDisablePlainTextAuth value: %d, err: %d"),    	                         
-                	                        iSecureAuthentication, err ) );
-                	                        
-			
-        // IPv6 APs always have dynamic phone address
-    	//CMManager
-    	if ( iPhoneIPAddress && iPdpType != RPacketContext::EPdpTypeIPv6 )
-    		{
-    		// CMManager IS CORRECT?
-    		//err = aAPItem.WriteTextL( EApIspIPAddr, iPhoneIPAddress->Value() );
-    		TRAP ( err, aCmItem.SetStringAttributeL( CMManager::ECmIPAddress, iPhoneIPAddress->Value() ));
-    		FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EApIspIPAddr value: %S, err: %d"),
-                        		     &iPhoneIPAddress->Value(), err ) );
-    		}
-
-		TRAP ( err, aCmItem.UpdateL() );
-        for( TInt i( 0 ); i < iNameServers.Count(); i++ )
-            {
-            WriteDNSAddressL( aCmItem, iNameServers[i]->Value() );
-            }
-		TRAP ( err, aCmItem.UpdateL() );
-        if( FeatureManager::FeatureSupported( KFeatureIdIPv6 )
-            && iPdpType )
-            {
-         	// CMManager
-            TRAP ( err, aCmItem.SetIntAttributeL( CMManager::EPacketDataPDPType, iPdpType ));
-            }
-    
-    if ( err ) err = 0; // prevent compiler warning
-        }
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddDataL" ) );
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::AddWlanDataL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::AddWlanDataL( RCmConnectionMethodExt& aCmItem )
-    {
-    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL" ) );
-    
-    if ( !iWlanSupported )
-    	{
-    		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL WLAN NOT supported." ) );
-    		User::Leave( KErrNotSupported);
-    	}
-        
-    TInt err = KErrNone;
-    
-	if ( iConnectionName )
-		{
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL iConnectionName" ) );
-		
-		//Connection name
-		// CMManager
-		aCmItem.SetStringAttributeL( CMManager::ECmName, iConnectionName->Value().Left( KNameMaxLength ) );
-		
-		// CMManager 
-		// Network name
-		aCmItem.SetStringAttributeL( CMManager::EWlanSSID, iConnectionName->Value());
-		
-        FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddWlanDataL iConnectionName err (%d) (%S)"), err, &iConnectionName->Value()));
-				
-		}
-	else // Use default name
-		{
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL iConnectionName default" ) );
-		aCmItem.SetStringAttributeL( CMManager::EWlanSSID, iDefaultName);
-		}
-		   	
-   	//EApWlanNetworkMode Gives network mode, TUint32
-   	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL EApWlanNetworkMode" ) );
-	// CMManager
-   	TRAP ( err, aCmItem.SetIntAttributeL( CMManager::EWlanConnectionMode, iNetMode ));
-   	FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddWlanDataL EApWlanNetworkMode err (%d)"), err));
-        
-    //EApWlanSecurityMode The security mode, TUint32
-    if ( iSecMode == 0 )
-        {
-        // This is needed if Provisioning message does not contain SECMODE parameter
-        // AP does not work if secmode is not set
-        iSecMode = CMManager::EWlanSecModeOpen;
-        }
-        
-    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL EApWlanSecurityMode" ) );
-   	// CMManager, securitymode causes error -1, this will be set manually in SaveWlanData
-   	//TRAP ( err, aCmItem.SetIntAttributeL( CMManager::EWlanSecurityMode, iSecMode ));
-    FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddWlanDataL EApWlanSecurityMode err (%d)"), err));
-    	
-    if (err)
-        {
-        err = KErrNone;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::WriteDNSAddressL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::WriteDNSAddressL( /*CApAccessPointItem& aAPItem*/ RCmConnectionMethodExt& aCmItem,
-                                    const TDesC& aValue )
-	{
-    // GPRS access points supports IPv6 only if explicitly stated. 
-    // CMManager
-    TBool apSupportsIPv6( iPdpType == RPacketContext::EPdpTypeIPv6 | iBearer != KUidPacketDataBearerType );
-
-    // If IPv6 is supported, write the DNS address as IPv6 if
-    // bearer supports IPv6 and the address format is IPv6    
-    if( FeatureManager::FeatureSupported( KFeatureIdIPv6 )
-        && apSupportsIPv6
-        && WPAdapterUtil::CheckIPv6( aValue ) )
-        {
-        // Two name servers per network type
-        if( iNumIPv6NameServers < KTwoNameServersPerNetworkType )
-            {
-            // CMManager
-            TRAPD (err, aCmItem.SetStringAttributeL( CMManager::TConnectionMethodCommonAttributes( 
-            													( CMManager::ECmIP6NameServer1 ) + iNumIPv6NameServers ), aValue ) );
-            User::LeaveIfError( err );
-            iNumIPv6NameServers++;
-            }
-        }
-     else if( CheckIPv4values( aValue) )
-        {
-        // Two name servers per network type
-        if( iNumIPv4NameServers < KTwoNameServersPerNetworkType )
-            {
-            // CMManager 
-            TRAPD ( err, aCmItem.SetStringAttributeL( CMManager::TConnectionMethodCommonAttributes( 
-            													( CMManager::ECmIPNameServer1 ) + iNumIPv4NameServers ), aValue ) );
-            User::LeaveIfError( err );
-            aCmItem.SetBoolAttributeL( CMManager::ECmIPDNSAddrFromServer, EFalse);
-            iNumIPv4NameServers++;
-            }
-        }
-	}
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::CheckAddressPart
-// -----------------------------------------------------------------------------
-//
-
-TBool CWPAPNapdef:: CheckAddressPart( TLex& aLex )
-    {
-    TBool result( aLex.Peek().IsDigit() );
-    aLex.Inc();
-    if( aLex.Peek().IsDigit() )
-        {
-        aLex.Inc();
-        if( aLex.Peek().IsDigit() )
-            {
-            aLex.Inc();
-            }
-        }
-
-    return result;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::CheckIPv4values
-// -----------------------------------------------------------------------------
-//
-
-TBool CWPAPNapdef::CheckIPv4values( const TDesC& aValue )
-{
-	
-	TLex aLex( aValue );
-	return CheckAddressPart( aLex ) 
-        && aLex.Get() == '.'
-        && CheckAddressPart( aLex ) 
-        && aLex.Get() == '.'
-        && CheckAddressPart( aLex ) 
-        && aLex.Get() == '.'
-        && CheckAddressPart( aLex )
-        && aLex.Get() == '\0';
-     
-}
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::Name
-// -----------------------------------------------------------------------------
-//
-const TDesC& CWPAPNapdef::Name()
-	{
-	if ( iConnectionName )
-		{
-		return iConnectionName->Value();
-		}
-	else
-		{
-		return KNullDesC;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::VisitL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::VisitL( CWPCharacteristic& aCharacteristic )
-	{
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic)" ) );
-	
-	TInt type = aCharacteristic.Type();
-    FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic) type (%d)"), type));
-	switch ( type )
-		{
-		case KWPNapAuthInfo:
-		case KWPValidity:				
-			{
-			FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic) normal" ) );
-			aCharacteristic.AcceptL( *this );
-			break;
-			}
-		case KWPWLAN:
-		case KWPWepKey:
-			{
-			if( iWlanSupported )
-				{
-					FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic) accept WLAN characteristic" ) );
-					aCharacteristic.AcceptL( *this );
-				}
-			}
-		default:
-			{
-			if ( ( ( ( aCharacteristic.Name().Compare( KWLAN ) ) == 0 )    ||
-			     ( ( aCharacteristic.Name().Compare( SECSSID ) ) == 0 )  ||
-			     ( ( aCharacteristic.Name().Compare( KEAP ) ) == 0 )     ||
-			     ( ( aCharacteristic.Name().Compare( KCERT ) ) == 0 )    ||
-			     ( ( aCharacteristic.Name().Compare( KWEP ) ) == 0 ) ) && iWlanSupported )
-			    {
-			    if(aCharacteristic.Name().Compare( KEAP ) == 0)
-			        {
-                    CEapTypeElement* newEap = new (ELeave) CEapTypeElement;
-                    newEap->iEAPSettings = new (ELeave) EAPSettings;
-               	    newEap->iCertificate = new (ELeave) EapCertificateEntry;
-                    iEapTypeArray.AppendL(newEap);
-			        }
-			    else if(aCharacteristic.Name().Compare( SECSSID ) == 0)
-			        {
-                    SECssID* newsecSSID = new (ELeave) SECssID;
-                    newsecSSID->iSSSID = NULL;
-                    newsecSSID->iSUSSID = NULL;
-                    iSecSSID.AppendL(newsecSSID);
-			        }
-    
-			    aCharacteristic.AcceptL( *this );
-			    }
-			}
-		}
-		
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic) done" ) );
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::VisitL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::VisitL( CWPParameter& aParameter )
-	{
-	TInt id = aParameter.ID();
-	TPtrC value( aParameter.Value() );
-
-	FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::VisitL(CWPParameter) id: %d value: %S"), id, &value));
-
-	switch ( id )
-		{
-		case EWPParameterName:
-			{
-			if ( !iConnectionName )
-				{
-				iConnectionName = &aParameter;
-				}
-			break;
-			}
-		case EWPParameterBearer:
-			{
-			if ( iBearer != 0 || iBearerUnsupported )
-				{
-				break; // Already received a bearer information
-				}
-
-			if ( value == KGSMGPRS )
-				{
-				iBearer = KUidPacketDataBearerType;
-				}
-			else if ( value == KWLAN && iWlanSupported )
-				{
-				iBearer = KUidWlanBearerType;
-				MarkReceived( EWPParameterWlan_id );
-				}				
-			else
-				{
-				// Unsupported bearer type
-				iBearerUnsupported = ETrue;
-				}
-			break;
-			}
-		case EWPParameterNapAddress:
-			{
-			if ( !iAccesspointName )
-				{
-				iAccesspointName = &aParameter;
-				}
-			break;
-			}
-		case EWPParameterLinger:
-			{
-			iLinger = &aParameter;
-			UdateligerValueL( iLinger );
-			break;
-			}
-		case EWPParameterNapAddrType:
-			{
-			if ( !iAccesspointNameType )
-				{
-				iAccesspointNameType = &aParameter;
-				}
-			break;
-			}
-		case EWPParameterAuthName:
-			{
-			if ( !iUserName )
-				{
-				iUserName = &aParameter;
-				}
-			break;
-			}
-		case EWPParameterAuthSecret:
-			{
-			if ( !iPassword )
-				{
-				iPassword = &aParameter;
-				}
-			break;
-			}
-		case EWPParameterAuthType:
-			{
-			// If already received don't accept
-			if (IsReceived(EWPParameterAuthentication_id))
-				{
-				break;
-				}
-
-			if ( value == KCHAP || value == KMD5 )
-				{
-				iSecureAuthentication = ETrue;
-				MarkReceived( EWPParameterAuthentication_id );
-				}
-			else if ( value == KPAP )
-				{
-				iSecureAuthentication = EFalse;
-				MarkReceived( EWPParameterAuthentication_id );
-				}
-			else
-				{
-				// Not supported...
-				}
-			break;
-			}
-		case EWPParameterLocalAddr: // iPhoneIPAddress
-			{
-			if ( !iPhoneIPAddress )
-				{
-				iPhoneIPAddress = &aParameter;
-				}
-			break;
-			}
-		case EWPParameterDNSAddr:
-			{
-            // All name servers must be stored, as some of them might
-            // be IPv6 and some IPv4
-            User::LeaveIfError( iNameServers.Append( &aParameter ) );
-			break;
-			}
-        case EWPParameterIfNetworks:
-            {
-            if( !iIfNetworks )
-                {
-                iIfNetworks = &aParameter;
-                MarkReceived( EWPParameterIfNetworks_id );
-                }
-            break;
-            }
-        case EWPParameterInternet:
-            {
-            MarkReceived( EWPParameterInternet_id );
-            break;
-            }
-//JMan for WLan
-        case EWPParameterNapID:
-            {
-            if ( !iNapID )
-                {
-                iNapID = &aParameter;
-                }
-            break;
-            }    
-        // Here case 0 are handled the WLAN parameters that are extensions  
-        // to OMA Client Provisioning parameter set.
-        case 0:
-            {
-        if( iWlanSupported )
-        	{
-        	HandleWLanParametersL( aParameter );
-        	}
-        break;
-            }
-//JMan for WLan ends
-		default:
-			{
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::HandleWLanParametersL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::HandleWLanParametersL( CWPParameter& aParameter )
-	{
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL" ) );
-	
-	if( !iWlanSupported )
-		{
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WLAN not supported." ) );
-		User::Leave( KErrNotSupported );
-		}
-	
-	SECssID* scssid = NULL;
-	if( iSecSSID.Count() )
-	{
-		scssid = iSecSSID[iSecSSID.Count()-1];
-	}
-	
-	TPtrC value( aParameter.Value() );
-    if( ( aParameter.Name().Compare( PRISSID ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriSSID" ) );
-        if ( !iPriSSID )
-            {
-            iPriSSID = &aParameter;
-            }
-        }
-    else if( ( aParameter.Name().Compare( PRIUSSID ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriUSSID" ) );
-        if ( !iPriUSSID )
-            {
-            iPriUSSID = &aParameter;
-            }
-        }// else if
-
-    else if( ( aParameter.Name().Compare( PRIHSSID ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriHSSID" ) );
-        if ( !iPriHSSID )
-            {
-            iPriHSSID = &aParameter;
-            }
-        }// else if
-        
-    else if( ( aParameter.Name().Compare( SSSID ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriHSSID" ) );
-        if(scssid!=NULL)
-        	{
-        	scssid->iSSSID = &aParameter;
-        	}
-			  
-
-        }// else if
-
-    else if( ( aParameter.Name().Compare( SUSSID ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriHSSID" ) );
-			  if(scssid!=NULL)
-        	{
-        	scssid->iSUSSID = &aParameter;
-        	}
-        }// else if
-                        
-    else if( ( aParameter.Name().Compare( NETMODE ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL netmode" ) );
-        if ( value == KADHOC )
-			{
-			FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL netmode adhoc" ) );
-			iNetMode = CMManager::EAdhoc;
-			}
-        else // default is INFRA
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL netmode infra" ) );
-            iNetMode =CMManager::EInfra;
-            }
-        }
-
-    else if( ( aParameter.Name().Compare( SECMODE ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode" ) );
-        if ( value == KWEPSEC )
-			{
-			FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWEPSEC" ) );
-			iSecMode = CMManager::EWlanSecModeWep;
-			}
-        else if( value == K8021XSEC )
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode K8021XSEC" ) );
-			iSecMode = CMManager::EWlanSecMode802_1x;
-            }
-        else if( value == KWPASEC )
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWPASEC" ) );
-
-			iSecMode = CMManager::EWlanSecModeWpa;
-            }
-        else if( value == KWPA2SEC )
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWPA2SEC" ) );
-			iSecMode = CMManager::EWlanSecModeWpa2;
-            }
-        else if( value == KWPAPRESSEC )
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWPAPRESSEC" ) );
-			iSecMode = CMManager::EWlanSecModeWpa;
-            }
-        else if( value == KWPA2PRESSEC )
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWPA2PRESSEC" ) );
-			iSecMode = CMManager::EWlanSecModeWpa2;
-            }          
-        else
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode open" ) );
-			iSecMode = CMManager::EWlanSecModeOpen;
-            }
-        }
-
-    else if( ( aParameter.Name().Compare( WPAPRESKEYASC ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WPAPRESKEYASC" ) );
-        if ( !iWpaPresKeyAsc )
-            {
-            iWpaPresKeyAsc = &aParameter;
-            }
-        }// else if
-        // indicates the default wepkey index
-    else if( ( aParameter.Name().Compare( DEFAULTWEPIND ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL wepind" ) );
-
-        TLex lex( value );
-        lex.Val( iDefaultWepKeyIndex );
-        if ( iDefaultWepKeyIndex >= 4 )
-            {
-            iDefaultWepKeyIndex = 0;
-            }
-        }// else if
-        
-    else if( ( aParameter.Name().Compare( WEPAUTHMODE ) ) == 0 )
-        {
-        if ( value == KWEPAUTHMODEOPEN )
-			{
-			FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL wepauthmode OPEN" ) );
-			iAuthentication = EAuthOpen;
-			}
-		else if ( value == KWEPAUTHMODESHARED )
-		    {
-		    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL wepauthmode SHARED" ) );
-			iAuthentication = EAuthShared;
-		    }
-        }// else if
-        
-    else if( ( aParameter.Name().Compare( WEPKEYLENGTH ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WEPKEYLENGTH" ) );
-        if ( !iWepKeyLength )
-            {
-            iWepKeyLength = &aParameter;
-            }
-        }// else if
-    else if( ( aParameter.Name().Compare( WEPKEYINDEX ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WEPKEYINDEX" ) );
-        TLex lex( value );
-        lex.Val( iWepInd );
-        }// else if 
-    else if( ( aParameter.Name().Compare( WEPKEYDATA ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WEPKEYDATA" ) );
-
-        if ( iWepInd <  4 )
-            {
-            const TUint8 K40Bits = 5;
-            const TUint8 K104Bits = 13;
-            const TUint8 K232Bits = 29;
-
-            TBuf8<KMaxLengthOfKeyData> buf8;
-            StrCopy( buf8, aParameter.Value() );
-            
-            if(buf8.Length() == K232Bits ||
-                buf8.Length() == K104Bits ||
-                buf8.Length() == K40Bits  )
-                {
-                FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL ASCI Wep Key" ) );
-                HBufC8* buf8Conv = HBufC8::NewLC( KMaxLengthOfKeyData );
-                ConvertAsciiToHex( buf8, buf8Conv );
-                iKeyData[iWepInd] = *buf8Conv;
-                iKeyFormat[iWepInd] = CWPAPNapdef::EAscii;
-                CleanupStack::PopAndDestroy( buf8Conv );
-                }
-            else if( buf8.Length()==K232Bits*2 ||
-                buf8.Length()== K104Bits*2 ||
-                buf8.Length() == K40Bits*2)
-                {
-                FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL HEX Wep Key" ) );
-                iKeyData[iWepInd] = buf8;
-                iKeyFormat[iWepInd] = CWPAPNapdef::EHexadecimal;
-                }
-            }
-        
-        }// else if	
-    
-    // Handle EAP parameter
-    HandleEAPParametersCCL( aParameter );        
-    
-    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL done" ) );
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::HandleEAPParametersL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::HandleEAPParametersCCL( CWPParameter& aParameter )
-    {
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL" ) );
-   	
-   	CEapTypeElement* eap = NULL;
-   	if ( iEapTypeArray.Count() )
-   	    {
-   	    eap = iEapTypeArray[iEapTypeArray.Count()-1];
-   	    }
-   	if(!eap)
-   	    {
-   	    return;
-   	    }    
-   	
-	TPtrC value( aParameter.Value() );
-	
-    if( ( aParameter.Name().Compare( EAPTYPE ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPTYPE" ) );
-              
-        ConvertEAPStringToIds( value, eap->iEapTypeString, eap->iEAPSettings->iEAPExpandedType );
-        
-        }
-    else if( ( aParameter.Name().Compare( EAPUSERNAME ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPUSERNAME" ) );
-        if ( eap->iEAPSettings->iUsername.Length() == 0 )
-            {
-            eap->iEAPSettings->iUsername = value;
-            eap->iEAPSettings->iUsernamePresent = ETrue;
-            eap->iEAPSettings->iUseAutomaticUsernamePresent = ETrue;
-            eap->iEAPSettings->iUseAutomaticUsername = EFalse;
-            }
-        }// else if 
-    else if( ( aParameter.Name().Compare( EAPPASSWORD ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPASSWORD" ) );
-        if ( eap->iEAPSettings->iPassword.Length() == 0 )
-            {
-            eap->iEAPSettings->iPassword = value;
-            eap->iEAPSettings->iPasswordPresent = ETrue;
-            eap->iEAPSettings-> iShowPassWordPromptPresent = ETrue;
-            eap->iEAPSettings-> iShowPassWordPrompt = EFalse;
-            }
-        }// else if 
-    else if( ( aParameter.Name().Compare( EAPREALM ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPREALM" ) );
-
-        if ( eap->iEAPSettings->iRealm.Length() == 0 )
-            {
-            eap->iEAPSettings->iRealm = value;
-            eap->iEAPSettings->iRealmPresent = ETrue;
-            eap->iEAPSettings->iUseAutomaticRealmPresent = ETrue;
-            eap->iEAPSettings->iUseAutomaticRealm = EFalse;
-            }
-        }// else if 
-    else if( ( aParameter.Name().Compare( EAPUSEPSEUD ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPUSEPSEUD" ) );
-        TInt pseudonyms;
-        TLex lex( value );
-        lex.Val( pseudonyms );
-        
-        eap->iEAPSettings->iUsePseudonymsPresent = ETrue;
-        if ( pseudonyms == 1 )
-            {        
-            eap->iEAPSettings->iUsePseudonyms = ETrue;
-            }
-        else
-            {
-            eap->iEAPSettings->iUsePseudonyms = EFalse;            
-            }
-        }// else if 
-    else if( ( aParameter.Name().Compare( EAPMAXAUTHS ) ) == 0 )
-        {
-        // not supported
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPMAXAUTHS" ) );
-        }// else if 
-    else if( ( aParameter.Name().Compare( EAPENCAPS ) ) == 0 )
-        {
-        
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPENCAPS" ) );
-        
-        TEapExpandedType dummy; 
-        ConvertEAPStringToIds( value, eap->iEncapsulatingExpandedEapId, dummy );
-                     
-        }// else if    
-    else if( ( aParameter.Name().Compare( EAPVERSERREALM ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPVERSERREALM" ) );
-        
-        TInt serverRealm;
-        TLex lex( value );
-        lex.Val( serverRealm );
-        
-        eap->iEAPSettings->iVerifyServerRealmPresent = ETrue;
-        
-        if ( serverRealm == 1 )
-            {        
-            eap->iEAPSettings->iVerifyServerRealm = ETrue;
-            }
-        else
-            {
-            eap->iEAPSettings->iVerifyServerRealm = EFalse;            
-            }
-        }// else if    
-    else if( ( aParameter.Name().Compare( EAPCLIENTHAUTH ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPCLIENTHAUTH" ) );
-        
-        TInt clientAuthentication;
-        TLex lex( value );
-        lex.Val( clientAuthentication );
-        
-        eap->iEAPSettings->iRequireClientAuthenticationPresent = ETrue;
-        
-        if ( clientAuthentication == 1 )
-            {        
-            eap->iEAPSettings->iRequireClientAuthentication = ETrue;
-            }
-        else
-            {
-            eap->iEAPSettings->iRequireClientAuthentication = EFalse;            
-            }
-        }// else if    
-    else if( ( aParameter.Name().Compare( EAPSESVALTIME ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSESVALTIME" ) );
-        
-        TInt sessionValidityTime;
-        TLex lex( value );
-        lex.Val( sessionValidityTime );
-        eap->iEAPSettings->iSessionValidityTime = sessionValidityTime;
-        eap->iEAPSettings->iSessionValidityTimePresent = ETrue;
-
-        }// else if    
-    else if( ( aParameter.Name().Compare( EAPCIPSUIT ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPCIPSUIT" ) );
-        
-        TInt cipherSuites;
-        TLex lex( value );
-        lex.Val( cipherSuites );
-        eap->iEAPSettings->iCipherSuites.Append( cipherSuites );
-        eap->iEAPSettings->iCipherSuitesPresent = ETrue;
-        
-        }// else if
-    else if( ( aParameter.Name().Compare( EAPPEAPV0 ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPEAPV0" ) );
-        
-        TInt peap;
-        TLex lex( value );
-        lex.Val( peap );
-        
-        eap->iEAPSettings->iPEAPVersionsPresent = ETrue;
-        if ( peap == 1 )
-            {        
-            eap->iEAPSettings->iPEAPv0Allowed = ETrue;
-            }
-        else
-            {
-            eap->iEAPSettings->iPEAPv0Allowed = EFalse;            
-            }
-        }// else if     
-    else if( ( aParameter.Name().Compare( EAPPEAPV1 ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPEAPV1" ) );
-        TInt peap;
-        TLex lex( value );
-        lex.Val( peap );
-        eap->iEAPSettings->iPEAPVersionsPresent = ETrue;
-        if ( peap == 1 )
-            {        
-            eap->iEAPSettings->iPEAPv1Allowed = ETrue;
-            }
-        else
-            {
-            eap->iEAPSettings->iPEAPv1Allowed = EFalse;            
-            }
-        }// else if
-    else if( ( aParameter.Name().Compare( EAPPEAPV2 ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPEAPV2" ) );
-        TInt peap;
-        TLex lex( value );
-        lex.Val( peap );
-        eap->iEAPSettings->iPEAPVersionsPresent = ETrue;
-        if ( peap == 1 )
-            {        
-            eap->iEAPSettings->iPEAPv2Allowed = ETrue;
-            }
-        else
-            {
-            eap->iEAPSettings->iPEAPv2Allowed = EFalse;            
-            }
-        }// else if  
-        
-    else if( ( aParameter.Name().Compare( EAPISSNAME ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPISSNAME" ) );
-        
-        eap->iCertificate->SetSubjectName(value);
-        eap->iCertificate->SetSubjectNamePresent();
-        }// else if        
-        
-    else if( ( aParameter.Name().Compare( EAPSUBNAME ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSUBNAME" ) );
-        
-        eap->iCertificate->SetIssuerName(value);
-        eap->iCertificate->SetIssuerNamePresent();       
-        }// else if        
-        
-    else if( ( aParameter.Name().Compare( EAPCERTTYPE ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPCERTTYPE" ) );
-        if ( value == EAPCERTCA )
-			{
-			FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EEapSim" ) );
-            
-            eap->iCertificate->SetCertType(EapCertificateEntry::ECA);
-            eap->iEAPSettings-> iUseAutomaticCACertificatePresent = ETrue;
-            eap->iEAPSettings-> iUseAutomaticCACertificate = EFalse;
-			}
-		else
-		    {
-		    eap->iCertificate->SetCertType(EapCertificateEntry::EUser);
-		    }
-		// Certificates must be present since this field was added
-		eap->iEAPSettings->iCertificatesPresent = ETrue;
-		eap->iCertificate->SetIsEnabledPresent();
-		eap->iCertificate->SetIsEnabled(ETrue) ;
-        
-        }// else if        
-    else if( ( aParameter.Name().Compare( EAPSERNUM ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSERNUM" ) );
-        
-        eap->iCertificate->SetSerialNumber(value);
-        eap->iCertificate->SetSerialNumberPresent();
-        }// else if
-        
-    else if( ( aParameter.Name().Compare( EAPSUBKEYID ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSUBKEYID" ) );
-           
-        _LIT(KHexIdLC, "0x");
-       	_LIT(KHexIdUC, "0X");
-       	TBuf<2> HexIdBuf;
-       	TInt keyLen = aParameter.Value().Length();
-       	
-       	// setting the given key to the key buffer
-       	TBuf<KMaxSubKeyLenght> origKey;
-       	origKey.SetLength(keyLen);
-       	origKey = aParameter.Value();
-       	TBuf<KMaxSubKeyLenght> key;
-       	TLex tmpByte;
-       	TInt err(KErrNone);
-       	TUint16 byte;
-       	
-       	// Remove possible spaces from the beginning
-       	origKey.TrimLeft();
-       	
-       	// if the key is over two chars long, then we have to check
-       	// whether there is 0x or 0X in the beginning
-       	if (origKey.Length() >= 2)
-            {
-        	// Copy the two left most characters in to the buffer
-        	HexIdBuf.Copy(origKey.Left(2));
-        	
-        	// If the first characters are 0x or 0X, then they should be ignored
-        	if (HexIdBuf.Compare(KHexIdLC) == 0
-        			|| HexIdBuf.Compare(KHexIdUC) == 0)
-        		{
-        		// delete two characters
-        		origKey.Delete(0, 2);
-        		}
-            }
-        
-       	// looping the subject key through, removing whitespaces
-       	for (TInt i = 0; i < keyLen; i++)
-       		{
-       		// removing white spaces from the left side of the key
-       		origKey.TrimLeft();
-       		// check that there are characters left
-       		if (origKey.Length() >= 2)
-       			{
-       			// pick the two left most bytes from the key
-       			tmpByte = origKey.Left(2);
-       			// convert byte into binary format
-       			err = tmpByte.Val(byte, EHex);
-       			
-       			// delete two characters from the left side of the character array in the buffer
-       			origKey.Delete(0, 2);
-       			
-       			// check whether conversion to decimal went ok
-       			if (err != KErrNone)
-       				{
-       				// if there are problems, then leave the loop
-       				break;
-       				}
-       			
-       			// store the appended byte into the key variable
-       			key.Append(byte);
-       			}
-       			
-       		else if (origKey.Length() == 1)
-       			{
-       			// pick the left most bytes from the key
-       			tmpByte = origKey.Left(1);
-       			// convert byte into binary format
-       			err = tmpByte.Val(byte, EHex);
-       			
-       			// delete two characters from the left side of the character array in the buffer
-       			origKey.Delete(0, 1);
-       			
-       			// check whether conversion to decimal went ok
-       			if (err != KErrNone)
-       				{
-       				// if there are problems, then leave the loop
-       				break;
-       				}
-       			
-       			// store the appended byte into the key variable
-       			key.Append(byte);
-       			}
-       		else
-       			{
-       			break;
-       			}
-       		}
-       	TBuf8<KMaxSubKeyLenght> keyIdentifier;
-       	keyIdentifier.Copy(key);
-       	// store key value only if no errors occurred
-       	if (err == KErrNone) 
-       		{
-       		eap->iCertificate->SetSubjectKeyId(keyIdentifier);
-       		eap->iCertificate->SetSubjectKeyIdPresent();
-       		eap->iEAPSettings->iCertificatesPresent = ETrue; 
-       		}
-       	}
-       	
-        
-    else if( ( aParameter.Name().Compare( EAPTHUMBPRINT ) ) == 0 )
-        {
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPTHUMBPRINT" ) );
-        eap->iCertificate->SetThumbprintPresent();
-        eap->iCertificate->SetThumbprint(value);
-        }// else if                  
-    }
-
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::CWPAPNapdef
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CWPAPNapdef::CWPAPNapdef( TBool aFollowingLink,
-                          const TDesC& aDefaultName, 
-                          CWPCharacteristic& aLogicalCharacteristic )
-                        : CWPAPItemBase( aDefaultName ),
-                          iCharacteristic( aLogicalCharacteristic ),
-                          iFollowingLink( aFollowingLink )
-	{
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::ConstructL()
-	{
-	iLingerValue = NULL;
-	iLingerFlag = ETrue;
-	iInternetIndicator = -1;
-	//checks if Wlan feature is supported
-  FeatureManager::InitializeLibL();
-  iWlanSupported = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-  FeatureManager::UnInitializeLib();
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::SaveWlanDataL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::SaveWlanDataL( TUint32 aIapId, CCommsDatabase& aCommsDb )
-    {
-    FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL APid: (%d)"),  aIapId) );
-    
-    if ( iBearer == KUidWlanBearerType )
-	    {
-        CCommsDbTableView* wLanServiceTable;
-        
-        // CMManager
-        // Search the Iap Service Id using the received IapId
-        RCmConnectionMethodExt cm = iCm->ConnectionMethodL( aIapId );
-        TUint32 serviceId = cm.GetIntAttributeL( CMManager::ECmIapServiceId );
-     	
-        // The BeginTransaction might fail if someone else has locked CommsDat
-        TInt dberr = aCommsDb.BeginTransaction();
-        if( dberr == KErrLocked )
-            {
-            // Try BeginTransaction again to get lock
-            TInt retry = KBeginTransRetryCount;            
-            while ( retry > 0 && dberr == KErrLocked )
-                {                   
-                User::After(KBeginTransRetryDelay);
-                dberr = aCommsDb.BeginTransaction();
-                FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL: Database locked. BeginTransaction retry." ) );
-                retry--;
-                }
-            if(dberr != KErrNone)
-                {                            
-                // Could not get lock to CommsDat at all
-                FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL: BeginTransaction failed completely." ) );
-                User::Leave( dberr ); 
-                }           
-            }                             
-        
-        TInt indexToSec = 0;
-        wLanServiceTable = aCommsDb.OpenViewMatchingUintLC( 
-                        TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), serviceId );
-        TInt errorCode = wLanServiceTable->GotoFirstRecord();
-
-        if ( errorCode == KErrNone )
-            {
-            indexToSec = serviceId;
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL updaterecord" ) );
-            wLanServiceTable->UpdateRecord();
-            }
-        else
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL insertrecord" ) );
-            TUint32 dummyUid( 0 );
-            User::LeaveIfError( wLanServiceTable->InsertRecord( dummyUid ) );
-
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_SERVICE_ID" ) );
-            // Save link to LAN service
-            wLanServiceTable->WriteUintL( TPtrC( WLAN_SERVICE_ID ), aIapId );
-            indexToSec = aIapId;
-            }
-        
-        // Setting the security mode manually, because CMManager does not do that
-        wLanServiceTable->WriteUintL( TPtrC( WLAN_SECURITY_MODE ), iSecMode );
-
-    	if( iSecSSID.Count() )
-			{
-	        CCommsDbTableView* wLanSecserviceTable;
-			wLanSecserviceTable = aCommsDb.OpenTableLC( TPtrC( WLAN_SECONDARY_SSID ) ); 
-			//CleanupStack::Pop(wLanSecserviceTable); // wLanSecserviceTable
-		 	TBuf<4> blank;
-		 	blank.Append(KNullDesC);
-		    
-		    TBool sssid = EFalse;
-	        TBool sussid = EFalse;
-
-	        for(TInt i = 0; i < iSecSSID.Count(); i++ )
-	        	{
-	        	TUint32 id ;
-	        	
-		        
-		        TInt retval = wLanSecserviceTable->InsertRecord(id);
-		        wLanSecserviceTable->WriteUintL(TPtrC(WLAN_SEC_SSID_SERVICE_ID), indexToSec );
-		        wLanSecserviceTable->WriteUintL(TPtrC(WLAN_SEC_SSID_ID), id );
-
-		 	    if( iSecSSID[i]->iSSSID != NULL)
-		 	    sssid = ETrue;
-		 	    if(iSecSSID[i]->iSUSSID != NULL)
-		 	    sussid = ETrue;
-		 	    
-		 	    if((sssid && iSecSSID[i]->iSSSID->Value() != blank) || (sussid && iSecSSID[i]->iSUSSID->Value() != blank ))
-		 	    {
-		 		if( sssid )
-		 		wLanSecserviceTable->WriteTextL(TPtrC(WLAN_SEC_SSID_SCANNED_SSID), iSecSSID[i]->iSSSID->Value());
-			
-				if(sussid)
-				wLanSecserviceTable->WriteTextL(TPtrC(WLAN_SEC_SSID_USED_SSID), iSecSSID[i]->iSUSSID->Value());
-		        
-		 	    }
-		 	    wLanSecserviceTable->PutRecordChanges();
-		 	    sssid = EFalse;
-	            sussid = EFalse;
-	        	}
-	        	CleanupStack::PopAndDestroy( wLanSecserviceTable );
-			}
-			
-			iSecSSID.ResetAndDestroy();
-			iSecSSID.Close();
-        if ( iPriSSID )
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_SSID" ) );
-            // Save NU_WLAN_SSID
-        	wLanServiceTable->WriteTextL( TPtrC(NU_WLAN_SSID), iPriSSID->Value() );
-            }
-        if ( iPriUSSID )
-            {        
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL WLAN_USED_SSID" ) );
-            // Save WLAN_USED_SSID	
-    	      wLanServiceTable->WriteTextL( TPtrC(WLAN_USED_SSID), iPriUSSID->Value() );
-            }
-        if ( iPriHSSID )
-            {        
-    	    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL WLAN_SCAN_SSID" ) );
-            // Save WLAN_SCAN_SSID
-    	    wLanServiceTable->WriteBoolL( TPtrC(WLAN_SCAN_SSID), ETrue );
-            }
-        else
-            {
-    	    wLanServiceTable->WriteBoolL( TPtrC(WLAN_SCAN_SSID), EFalse );            	
-            }
-
-       	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_WEP_INDEX" ) );
-        // Save index of key in use
-        wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_INDEX ), 
-                                      (TUint32&) iDefaultWepKeyIndex );
-        FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_WEP_INDEX: (%d)"),  iDefaultWepKeyIndex) );
-
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL NU_WLAN_AUTHENTICATION_MODE" ) );
-        // Open / Shared (0/1)
-        // Save index of key in use
-        wLanServiceTable->WriteUintL( TPtrC( NU_WLAN_AUTHENTICATION_MODE ), 
-                                     ( TUint32& ) iAuthentication );
-        FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL NU_WLAN_AUTHENTICATION_MODE: (%d)"),  iAuthentication) );
-        
-        
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_WEP_KEY1" ) );
-        // Save first WEP key
-        wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY1 ), iKeyData[0] );
-        wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY1_FORMAT ), 
-                                 ( TUint32& ) iKeyFormat[0] );
-        FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL (%S)"), &iKeyData[0] ) );
-        
-        
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_WEP_KEY2" ) );
-        // Save second WEP key
-        wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY2 ), iKeyData[1] );
-        wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY2_FORMAT ), 
-                                 ( TUint32& ) iKeyFormat[1] );
-        FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL (%S)"), &iKeyData[1] ) );
-            
-        
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_WEP_KEY3" ) );
-        // Save third WEP key
-        wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY3 ), iKeyData[2] );
-        wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY3_FORMAT ), 
-                                 ( TUint32& ) iKeyFormat[2] );
-        FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL (%S)"), &iKeyData[2] ) );
-            
-            
-        
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_WEP_KEY4" ) );
-        // Save fourth WEP key
-        wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY4 ), iKeyData[3] );
-        wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY4_FORMAT ), 
-                                 ( TUint32& ) iKeyFormat[3] );
-        FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL (%S)"), &iKeyData[3] ) );
-            
-        
-        if ( iWpaPresKeyAsc )
-            {     
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL convert WPAKEY to ascii" ) );
-            // convert unicode to 8-bit ascii
-            TBuf8<KMaxWpaPskLength> wpaKey;
-            StrCopy( wpaKey, iWpaPresKeyAsc->Value() );
-            
-            // Enable WPA Pre Shared key mode
-            wLanServiceTable->WriteBoolL( TPtrC( WLAN_ENABLE_WPA_PSK ), ETrue );
-            
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_WPA_PRE_SHARED_KEY" ) );
-            // Save PreShared Key
-            wLanServiceTable->WriteTextL( TPtrC( WLAN_WPA_PRE_SHARED_KEY ), 
-                                         wpaKey );
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_WPA_KEY_LENGTH" ) ); 
-            // Save PreShared Key Length
-            wLanServiceTable->WriteUintL( TPtrC( WLAN_WPA_KEY_LENGTH ), 
-                                         wpaKey.Length() );                                         
-            }
-
-        TBuf<KMaxLengthOfEapList> eapList;
-        eapList.Copy(KEapAll);
-
-        for (TInt i=0;i<iEapTypeArray.Count();i++)
-            {
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings" ) );
-            CEapTypeElement* eap = iEapTypeArray[i];
-            
-            if ( eap->iEAPSettings->iCertificatesPresent )
-            	{
-            	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL Certificate was present." ) );
-            	eap->iEAPSettings->iCertificates.Append( eap->iCertificate );	
-            	}                  
-
-            // Save EAP list
-            if ( eap->iEapTypeString.Length() > 0  
-            	 && eap->iEncapsulatingExpandedEapId.Length() == 0) // AND method is not encapsulated
-                {
-                FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL WLAN_EAPS" ) );
-                
-                TBuf8<3> buf;
-                _LIT8(KFormat, "%d");
-                // pick the last byte from the array
-                buf.Format(KFormat, eap->iEapTypeString[KExpandedEapIdLength - 1]);
-                // search for the correct offset for the eap type from the KEapAll literal
-                TInt index = KEapAll().Find(buf);
-                
-                const TUint8 offset = 2; //length = f "-0" string
-                // Add '+' to the correct offset, so that the eap is repsesented activated in the list
-                if(index >= offset)
-                    {
-                    eapList[index-offset] = KEapPlus; 
-                    }
-                
-                }
-            // Set iEncapsulatingEapTypes
-                 for ( TInt j = 0; j < iEapTypeArray.Count(); j++ )
-                     {
-                     // Check if any method has this method as the encapsulating method
-                     if ( eap->iEapTypeString == iEapTypeArray[j]->iEncapsulatingExpandedEapId )
-                         {
-                         // Append this method to iEncapsulatedEAPType
-                         eap->iEAPSettings->iEnabledEncapsulatedEAPExpandedTypes.Append( iEapTypeArray[j]->iEAPSettings->iEAPExpandedType );
-                         eap->iEAPSettings->iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
-                         }
-                     }
-                 
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings CEapType::NewL" ) );        
-            CEapType* eapType = NULL;
-
-            
-            TRAPD( error, ( eapType = CEapType::NewL( ELan, serviceId, eap->iEAPSettings->iEAPExpandedType ) ) );
-
-            if ( ( error == KErrNone ) && eapType )
-                {
-                CleanupStack::PushL( eapType );
-                
-                // Check if this type is tunneled
-                if ( eap->iEncapsulatingExpandedEapId.Length() > 0 )
-                	{
-                	// It is tunneled. 
-                	eapType->SetTunnelingType( eap->iEncapsulatingExpandedEapId);
-                	
-                	}
-                
-                FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings SetConfigurationL" ) );
-                TRAP_IGNORE( eapType->SetConfigurationL( *eap->iEAPSettings ) );
-                
-                CleanupStack::PopAndDestroy( eapType );
-                
-                }
-            else
-                {
-                FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL CEapType::NewL err: %d"), error ) );
-                }
-
-
-            FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings done" ) );
-            }
-            
-            
-	
-	  		// Expanded EAP types in use. Write the eap list to the new columns.
-    		
-    		// generate appropriate entries in the new enabled and disabled list,
-    		// overwriting those values 
-    		
-    		// count the + and - signs to determine the size of enabled and 
-    		// disabled descriptors
-
-    		TLex lex( eapList );
-    		TInt numPlus = 0;
-    		TInt numMinus = 0;
-    		TChar ch;
-    		while ( !lex.Eos() )
-    		    {
-    		    ch = lex.Get();
-    		    if ( ch == '+' ) ++numPlus;
-    		    else if ( ch == '-' ) ++numMinus;
-    		    }
-    		// load general EAP settings If
-    		CEapGeneralSettings* genSettings;
-    		genSettings = CEapGeneralSettings::NewL(ELan, serviceId);
-    		CleanupStack::PushL( genSettings );
-
-    		// get lists of enabled/disabled EAPs for the IAP
-    		
-    		RArray<TEapExpandedType> enabledEapMethods;
-    		RArray<TEapExpandedType> disabledEapMethods;
-
-    		enabledEapMethods.Reset();
-    		disabledEapMethods.Reset();
-   		    
-    		lex.Assign( eapList );
-    		
-    		while ( !lex.Eos() )
-    		    {
-    		    // beginning of implementation UID
-    		    TInt16 implUid = 0;
-    		    
-    		    if ( lex.Val( implUid ) != KErrNone || !implUid )
-    		        {
-    		        break;
-    		        }
-    		
-    		    // append it to the appropriate list ('+' enabled, '-' disabled)
-    		    _LIT8( KPadding, "\xFE\0\0\0\0\0\0" );
-    		    _LIT8( KMsChapV2Padding, "\xFE\xFF\xFF\xFF\0\0\0");
-    		    const TInt KPlainMsChapV2ImplUid = 99;
-    		    
-    		    if ( implUid > 0 )
-    		        {
-    		        TBuf8<KExpandedEapIdLength> tempbuf;
-    		        if(Abs( implUid ) == KPlainMsChapV2ImplUid)
-    		            {
-    		            tempbuf.Append(KMsChapV2Padding);
-    		            }
-    		        else
-    		            {
-    		            tempbuf.Append(KPadding);
-    		            }
-    		        tempbuf.Append(Abs( implUid ));
-    		        TEapExpandedType expandedTypebuf(tempbuf);
-    		        enabledEapMethods.Append(expandedTypebuf);   
-    		        }
-    		        		    
-    		    // swallow the delimiter (',')
-    		    lex.Get();
-    		    }
-    
-    		genSettings->SetEapMethods(enabledEapMethods, disabledEapMethods);  
-    		            
-    		CleanupStack::PopAndDestroy( genSettings );
-    		
-    
-     
-            
-       iEapTypeArray.ResetAndDestroy();
-       wLanServiceTable->PutRecordChanges();
-  
-
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL PutRecordChanges" ) ); 
-        CleanupStack::PopAndDestroy( wLanServiceTable );
-        
-        FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL done" ) );
-	    aCommsDb.CommitTransaction();
-	    }
-	else
-	    {
-	    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL ignored not a WLAN AP" ) );
-	    }
-	    
-    }
-
-//------------------------------------------------------------------------------
-// CWPAPNapdef::ConvertAsciiToHex
-//------------------------------------------------------------------------------
-//
-void CWPAPNapdef::ConvertAsciiToHex( const TDesC8& aSource, HBufC8*& aDest )
-	{
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertAsciiToHex" ) );
-	
-	_LIT( hex, "0123456789ABCDEF" );
-	TInt size = aSource.Size();
-	TPtr8 ptr = aDest->Des();
-	for ( TInt ii = 0; ii < size; ii++ )
-		{
-		TText8 ch = aSource[ii];
-		ptr.Append( hex()[(ch/16)&0x0f] );
-		ptr.Append( hex()[ch&0x0f] );
-		}
-    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertAsciiToHex Done" ) );
-	}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::StrCopy
-// String copy with lenght check.
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::StrCopy( TDes8& aTarget, const TDesC& aSource )
-    {
-    FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::StrCopy" ) );
-    
-	TInt len = aTarget.MaxLength();
-    if( len < aSource.Length() ) 
-	    {
-		aTarget.Copy( aSource.Left( len ) );
-		return;
-	    }
-	aTarget.Copy( aSource );
-	
-	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::StrCopy Done" ) );
-    }
-
-CEapTypeElement::~CEapTypeElement()
-    {
-    delete iEAPSettings;
-    delete iCertificate;
-    }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::UpdateLingerL
-// 
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::UpdateLingerL(const TUint32 aIapId)
-{
-		if ( iLinger && ( !iLingerFlag ) )
-		{
-    	AddLingerL( aIapId , iLingerValue );
-		}
-		
-}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::UdateligerValueL
-// 
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::UdateligerValueL(CWPParameter* aLinger)
-{
-		TInt err(KErrNone);
-		const TDesC& value = aLinger->Value();
-		if( !Notalpha(value))
-		{
-		TLex lex( value );
-		TUint Linger = 0;
-		TInt lingerint;
-		err = lex.Val( Linger, EDecimal );
-		if( err == KErrNone )
-		{
-		    lingerint = Linger;
-			if( lingerint >= 0 )
-		    {
-		    	iLingerValue = lingerint;
-		    	iLingerFlag = EFalse;
-		    }
-		}
-		}
-}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::UdateligerValueL
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CWPAPNapdef::Notalpha(const TDesC& aValue)
-{
-	TBool NotAlpha = EFalse;
-	TChar character;
-	for(TInt i = 0 ; i < aValue.Length(); i++)
-	{
-		character = aValue[i];
-		NotAlpha = character.IsAlpha();
-		if(NotAlpha)
-		break;
-	}
-	
-	return NotAlpha;
-}
-
-
-// ---------------------------------------------------------------------------
-// Adds iapID and linger interval to CentralRepository
-// ---------------------------------------------------------------------------
-//
-void CWPAPNapdef::AddLingerL( const TInt aIapId, const TInt aLingerInterval )
-    {
-    TInt    err( KErrNone );
-    
-    // Open repository
-    CRepository* repository = CRepository::NewLC( KCRUidPDPContextManager );
-    
-    // Find if an entry for "iapId" already exists in CentRep 
-    RArray< TUint32 > foundKeys;
-    foundKeys.Reset();
-    
-    err = repository->FindEqL( KIapColumn,       // partial key
-                               KColumnMask,      // key mask
-                               aIapId,           // value
-                               foundKeys );      // found keys
-    
-    if ( err == KErrNone || err == KErrNotFound )
-        {
-        if ( foundKeys.Count() == 0 )
-            {
-            // Add a new entry
-            TInt arrayCount( 0 );
-            
-            // Get number of iapId&linger entries in Centrep
-            err = repository->Get( KPdpContextManagerLingerArrayCount, 
-                                   arrayCount );
-        
-            if ( err == KErrNone )
-                {
-                arrayCount++;
-                
-                err = repository->Create( ( KIapColumn | arrayCount ), aIapId ); 
-                
-                if ( err == KErrNone )
-                    {
-                    err = repository->Create( ( KLingerColumn | arrayCount ), 
-                                               aLingerInterval );     
-                    }
-                
-                if ( err == KErrNone )
-                    {
-                    // Update number of iapId&linger entries in Centrep
-                    err = repository->Set( KPdpContextManagerLingerArrayCount, 
-                                           arrayCount );
-                    }
-                }
-            }
-        else
-            {
-            // Update existing entry on current row
-            TInt32 row = foundKeys[ 0 ] & KRowMask;
-            
-            err = repository->Set( ( KLingerColumn | row ), aLingerInterval ); 
-            }         
-        }
-        
-    foundKeys.Close();
-    CleanupStack::PopAndDestroy( repository );
-    
-    User::LeaveIfError( err );
-    
-    }
-
-void CWPAPNapdef::ConvertEAPStringToIds( const TDesC& aEAPString, TDes8& aExpandedId, TEapExpandedType& aID)
-	{
-    if ( aEAPString == KEAPSIM )
-		{	
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapSim" ) );
-		aExpandedId.Copy( KEapSimTypeId, KExpandedEapIdLength );
-		aID = *EapExpandedTypeSim.GetType();
-		}
-    else if( aEAPString == KEAPAKA )
-        {
-  		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapAka" ) );
-		aExpandedId.Copy( KEapAkaTypeId, KExpandedEapIdLength );	
-		aID = *EapExpandedTypeAka.GetType();	
-        }
-    else if( aEAPString == KEAPTLS )
-        {
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapTls" ) );
-		aExpandedId.Copy( KEapTlsTypeId, KExpandedEapIdLength );	
-		aID = *EapExpandedTypeTls.GetType();	
-        }
-    else if( aEAPString == KEAPPEAP )
-        {
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapPeap" ) );
-		aExpandedId.Copy( KEapPeapTypeId, KExpandedEapIdLength );	
-		aID = *EapExpandedTypePeap.GetType();	
-        }
-    else if( aEAPString == KEAPTTLS )
-        {
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapTtls" ) );
-		aExpandedId.Copy( KEapTtlsTypeId, KExpandedEapIdLength );		
-		aID = *EapExpandedTypeTtls.GetType();
-        }
-   else if( aEAPString == KEAPLEAP )
-        {
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapLeap" ) );
-		aExpandedId.Copy( KEapLeapTypeId, KExpandedEapIdLength );
-		aID = *EapExpandedTypeLeap.GetType();		
-        }                                    
-   else if( aEAPString == KEAPMSCHAPV2 )
-        {
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapMschapv2" ) );
-		aExpandedId.Copy( KEapMschapv2TypeId, KExpandedEapIdLength );		
-		aID = *EapExpandedTypeMsChapv2.GetType();
-        }     
-   else if( aEAPString == KEAPGTC )
-        {
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapGtc" ) );
-		aExpandedId.Copy( KEapGtcTypeId, KExpandedEapIdLength );
-		aID = *EapExpandedTypeGtc.GetType();
-        }
-   else if( aEAPString == KEAPFAST )
-        {
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapFast" ) );
-		aExpandedId.Copy( KEapFastTypeId, KExpandedEapIdLength );
-		aID = *EapExpandedTypeFast.GetType();
-        }
-
-    else
-        {
-		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapNone" ) );
-		aExpandedId.Copy( KEapNoneId, KExpandedEapIdLength );
-		aID = *EapExpandedTypeNone.GetType();
-        }
-
-	}
- 
-// ---------------------------------------------------------------------------
-// Returns the NAP-ID
-// ---------------------------------------------------------------------------
-//
-const TDesC& CWPAPNapdef::NapId()
-    {
-	return iNapID->Value();	
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the bearer value
-// ---------------------------------------------------------------------------
-//    
-TUint CWPAPNapdef::Bearer()
-	{
-	return iBearer;
-	}
-    
-// ---------------------------------------------------------------------------
-// Returns the bearer value
-// ---------------------------------------------------------------------------
-//    
-void CWPAPNapdef::SetCMManager( RCmManagerExt* aCm )
-	{
-	iCm = aCm;
-	}
-    
-    
-    
-//  End of File