dbcreator/commsdatcreator/Src/cdcprocessorglobal.cpp
changeset 56 dd6aaa97e7b1
parent 52 bbe4544dfd31
child 59 2709c04a4af5
--- a/dbcreator/commsdatcreator/Src/cdcprocessorglobal.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,735 +0,0 @@
-/*
-* Copyright (c) 2004 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:   Implementation of the class CProcessorGlobal
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdclogger.h"
-#include "cdcerrors.h"
-#include "cdctagcontainer.h"
-#include "cdccommon.h"
-#include "cmgenconnsettings.h"
-#include "cdcprocessorglobal.h"
-
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <commsdattypesv1_1.h>
-#else
-#include <commsdattypesv1_1.h>
-#include <commsdattypesv1_1_partner.h>
-#endif
-#include <datamobilitycommsdattypes.h>
-#include <metadatabase.h>
-#include <cmmanagerext.h>
-#include <cmmanager.h>
-#include <cmdestinationext.h>
-#include <WlanCdbCols.h>
-#include <wlancontainer.h>
-#include <featmgr.h>
-
-// CONSTANTS
-
-// Global settings record name
-_LIT16( KGlobalSettingsRecordName, "DefaultRecordName-1" );
-
-// Default GPRS record name
-_LIT( KDefaultGPRSRecordName, "Dummy Default GPRS Settings" );
-
-// Modem bearer names for GPRS/WCDMA Access Points
-_LIT( KModemBearerPacketData, "GPRS Modem" );
-
-// LAN bearer names for Wlan Access Points
-_LIT( KLANBearerWlan, "WLANBearer" );
-
-
-// Structure that converts field ids to the corresponding table names
-// and parameter types
-typedef struct
-    {
-    TDbCreatorGlobalSettings iField;
-    const TText* iBearerTableName;
-    TBool iIsUIPriority;
-    } TPriorityConversion;
-
-const TPriorityConversion KPriorityConversionTable[] =
-    {
-        { EPriorityLan, KCDTypeNameLANService, EFalse },
-        { EPriorityWlan, KCDTypeNameWLANServiceExt, EFalse },
-        { EPriorityPan, KCDTypeNamePANServiceExt, EFalse },
-        { EPriorityGprsIn, KCDTypeNameOutgoingWCDMA, EFalse },
-        { EPriorityGprsOut, KCDTypeNameIncomingWCDMA, EFalse },
-        { EPriorityDialOut, KCDTypeNameDialOutISP, EFalse },
-        { EPriorityDialIn, KCDTypeNameDialInISP, EFalse },
-        { EPriorityVpn, KCDTypeNameVPNService, EFalse },
-        { EPriorityMip, KCDTypeNameMIPServiceExt, EFalse },
-        { EUIPriorityLan, KCDTypeNameLANService, ETrue },
-        { EUIPriorityWlan, KCDTypeNameWLANServiceExt, ETrue },
-        { EUIPriorityPan, KCDTypeNamePANServiceExt, ETrue },
-        { EUIPriorityGprsIn, KCDTypeNameOutgoingWCDMA, ETrue },
-        { EUIPriorityGprsOut, KCDTypeNameIncomingWCDMA, ETrue },
-        { EUIPriorityDialOut, KCDTypeNameDialOutISP, ETrue },
-        { EUIPriorityDialIn, KCDTypeNameDialInISP, ETrue },
-        { EUIPriorityVpn, KCDTypeNameVPNService, ETrue },
-        { EUIPriorityMip, KCDTypeNameMIPServiceExt, ETrue },
-        { EUnused, NULL, EFalse }
-    };
-
-
-// Maximum size to be allocated for table names
-const TUint KMaxTableNameSize = 50;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CProcessorGlobal::NewL
-// ---------------------------------------------------------
-//
-CProcessorGlobal* CProcessorGlobal::NewL( 
-                          CReaderBase* aFileReader,
-                          RCmManagerExt& aCmManager,
-                          RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                          RPointerArray< HBufC >& aPluginNames, 
-                          RPointerArray< RCmDestinationExt >& aDestArray,
-                          RPointerArray< HBufC >& aDestNames )
-    {
-    CProcessorGlobal* self = new ( ELeave ) CProcessorGlobal( aFileReader,
-                                                              aCmManager,
-                                                              aPluginArray,
-                                                              aPluginNames,
-                                                              aDestArray,
-                                                              aDestNames );
-    CleanupStack::PushL( self );
-
-    // From base class
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::CProcessorGlobal
-// ---------------------------------------------------------
-//
-CProcessorGlobal::CProcessorGlobal( CReaderBase* aFileReader,
-                                    RCmManagerExt& aCmManager,
-                                    RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                    RPointerArray< HBufC >& aPluginNames, 
-                                    RPointerArray< RCmDestinationExt >& aDestArray,
-                                    RPointerArray< HBufC >& aDestNames ) :
-    CProcessorBase( aFileReader, aCmManager, aPluginArray, aPluginNames, aDestArray, aDestNames ),
-    iAttachWhenNeeded ( EFalse )
-    {
-    }
-    
-    
-// ---------------------------------------------------------
-// CProcessorGlobal::ConstructL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::ConstructL()
-    {
-    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    
-    iSession->SetAttributeMask( ECDNoWriteButDelete | ECDHidden | ECDProtectedWrite | ECDPrivate ); // Check this
-    
-    // Create General connection settings struct and set the default values
-    iGenConnSettings = new (ELeave) TCmGenConnSettings;
-    iGenConnSettings->iUsageOfWlan = ECmUsageOfWlanKnown;
-    iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageAutomatic;
-    iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageConfirm;
-
-    CLOG_WRITE( "Initialising FeatureManager\n" )   
-    //checks if Wlan feature is supported
-    FeatureManager::InitializeLibL();
-    iIsWlanS = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-    FeatureManager::UnInitializeLib();
-    CLOG_WRITE( "FeatureManager closed\n" ) 
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorGlobal::~CProcessorGlobal
-// ---------------------------------------------------------
-//
-CProcessorGlobal::~CProcessorGlobal()
-    {
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession; 
-        }
-    delete iGenConnSettings;    
-    }
-     
-// ---------------------------------------------------------
-// CProcessorGlobal::ProcessTagL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::ProcessTagL( TBool /*aFieldIDPresent*/ )
-    {
-    for (TInt idx(0); idx < TagContainer().Count(); idx++)
-        {  
-        TDbCreatorGlobalSettings fieldId;
-        
-        fieldId = static_cast< TDbCreatorGlobalSettings >
-        ( TagContainer().FieldId( idx ) );
-        
-        HBufC16* ptrTag = TagContainer().Tag(idx);
-        
-        switch( fieldId )
-            {
-            case EGPRSAttachMode:
-                {
-                _LIT( KAttachWhenNeeded, "whenneeded" );
-                _LIT( KAttachWhenAvailable, "whenavailable" );
-                
-                if ( !ptrTag->CompareF( KAttachWhenNeeded ) )
-                    {
-                    iAttachWhenNeeded = ETrue;
-                    }
-                else if ( !ptrTag->CompareF( KAttachWhenAvailable ) )
-                    {
-                    iAttachWhenNeeded = EFalse;
-                    }
-                else 
-                    {
-                    iAttachWhenNeeded = EFalse;
-                    CLOG_WRITE( "! Error : invalid attach mode. Default:whenavailable" );
-                    }
-
-                break;
-                }
-                
-            case EDefaultAP:
-                {
-                CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
-                CleanupStack::PushL( db );
-                
-                CCDDefaultWCDMARecord* defaultGPRS = static_cast< CCDDefaultWCDMARecord* >
-                        ( CCDRecordBase::RecordFactoryL( KCDTIdDefaultWCDMARecord ) );
-                
-                CleanupStack::PushL( defaultGPRS );
-                
-                defaultGPRS->iRecordName.SetL( KDefaultGPRSRecordName );
-                
-                defaultGPRS->FindL( *db );			    
-                
-                defaultGPRS->iAPN.SetL( *ptrTag );
-                
-                defaultGPRS->ModifyL( *db );				    				    				   
-                
-                CleanupStack::PopAndDestroy( defaultGPRS );
-                
-                db->Close();			    			    
-                CleanupStack::PopAndDestroy( db );
-                break;
-                }
-                
-            case EDefaultDnIcon:
-                {
-                // Convert default icon to int
-                TPtrC16 iconPtr = ptrTag->Right( ptrTag->Length() );
-                TLex16 lex( iconPtr );
-                TUint32 icon( 0 );
-                if ( lex.Val( icon, EDecimal ) == KErrNone )
-                    {
-                    // If there was no error, write default entry to SNAP
-                    // Metadata table.
-                    // First load SNAP table to get table id
-                    CMDBGenericRecord* snapTable = static_cast< CMDBGenericRecord* >
-                            ( CCDRecordBase::RecordFactoryL( 0 ) );
-                    CleanupStack::PushL( snapTable );      
-                    snapTable->InitializeL( TPtrC( KCDTypeNameSNAPMetadata ),
-                            NULL );
-                    snapTable->LoadL( *iSession );
-                    // Then add default record to table
-                    CCDSNAPMetadataRecord* defaultRecord = new( ELeave )
-                            CCDSNAPMetadataRecord( snapTable->TableId() );
-                    CleanupStack::PushL( defaultRecord );
-                    defaultRecord->SetRecordId( KCDNewRecordRequest );
-                    defaultRecord->iMetadata.SetL( 0 );
-                    defaultRecord->iIcon.SetL( icon );
-                    defaultRecord->StoreL( *iSession );
-                    
-                    CleanupStack::PopAndDestroy( defaultRecord ); // defaultRecord
-                    CleanupStack::PopAndDestroy( snapTable ); // snapTable
-                    }
-                break;
-                }
-                
-            case EPriorityLan:
-            case EPriorityWlan:
-            case EPriorityPan:
-            case EPriorityGprsIn:
-            case EPriorityGprsOut:
-            case EPriorityDialOut:
-            case EPriorityDialIn:
-            case EPriorityVpn:
-            case EPriorityMip:
-            case EUIPriorityLan:
-            case EUIPriorityWlan:
-            case EUIPriorityPan:
-            case EUIPriorityGprsIn:
-            case EUIPriorityGprsOut:
-            case EUIPriorityDialOut:
-            case EUIPriorityDialIn:
-            case EUIPriorityVpn:
-            case EUIPriorityMip:
-                {
-                // Convert priority to int
-                TPtrC16 prioPtr = ptrTag->Right( ptrTag->Length() );
-                TLex16 lex( prioPtr );
-                TUint32 prio( 0 );
-                if ( lex.Val( prio, EDecimal ) == KErrNone )
-                    {
-                    UpdateGlobalBearerArrayL( fieldId, prio );
-                    }
-                break;
-                }
-                
-            case EGprsLastSocketActivityTimeout:
-            case EGprsLastSessionClosedTimeout:
-            case EGprsLastSocketClosedTimeout:		
-                {            				    
-                // Load modem bearer record
-                CCDModemBearerRecord* bearerRecord = static_cast< CCDModemBearerRecord * >
-                ( CCDRecordBase::RecordFactoryL( KCDTIdModemBearerRecord ) );
-                CleanupStack::PushL( bearerRecord );
-                
-                if( fieldId == EGprsLastSocketActivityTimeout
-                        || fieldId == EGprsLastSessionClosedTimeout
-                        || fieldId == EGprsLastSocketClosedTimeout )
-                    {
-                    // Open the record "Gprs Modem"
-                    bearerRecord->iRecordName.SetL( KModemBearerPacketData );	
-                    }				
-                
-                bearerRecord->FindL( *iSession ); // CHECK: Leaves if record not found				
-                
-                // Convert input parameter
-                TLex lex( *ptrTag );
-                
-                TInt timeout( 0 );
-                
-                // If there are parameters that cannot be handled just leave. In that case the CommsDat creation
-                // fails and default is used instead. So it is easier for the variant engineer to detect
-                // that something went wrong.
-                if ( lex.Val( timeout ) != KErrNone)
-                    {
-                    CLOG_WRITE( "! Error : invalid NIF parameter for GPRS (socket/session timeout)" );					
-                    User::Leave( KErrArgument );
-                    }
-                
-                // Set the parameter	
-                if( fieldId == EGprsLastSocketActivityTimeout )
-                    {
-                    bearerRecord->iLastSocketActivityTimeout.SetL( timeout );
-                    }
-                else if( fieldId == EGprsLastSessionClosedTimeout )
-                    {
-                    bearerRecord->iLastSessionClosedTimeout.SetL( timeout );
-                    }
-                else
-                    {
-                    bearerRecord->iLastSocketClosedTimeout.SetL( timeout );
-                    }
-                
-                bearerRecord->ModifyL( *iSession );
-                
-                CleanupStack::PopAndDestroy( bearerRecord );
-                
-                break;
-                }
-                
-            case EWlanLastSocketActivityTimeout:
-            case EWlanLastSessionClosedTimeout:
-            case EWlanLastSocketClosedTimeout:            
-                {
-                if( iIsWlanS )
-                    {
-                    // Load LAN bearer record
-                    CCDLANBearerRecord* bearerRecord = static_cast< CCDLANBearerRecord * >
-                    ( CCDRecordBase::RecordFactoryL( KCDTIdLANBearerRecord ) );
-                    CleanupStack::PushL( bearerRecord );
-                    
-                    // Open the record "WlanBearer"
-                    bearerRecord->iRecordName.SetL( KLANBearerWlan );	
-                    
-                    User::LeaveIfError( bearerRecord->FindL( *iSession ) );
-                    
-                    // Convert the input paramater to UINT
-                    TLex lex( *ptrTag );
-                    
-                    TInt timeout( 0 );
-                    
-                    // If there are parameters that cannot be handled just leave. In that case the CommsDat creation
-                    // fails and default is used instead. So it is easier for the variant engineer to detect
-                    // that something went wrong.
-                    if ( lex.Val( timeout ) != KErrNone)
-                        {
-                        CLOG_WRITE( "! Error : invalid NIF parameter for WLAN (socket/session timeout)" );					
-                        User::Leave( KErrArgument );
-                        }
-                    
-                    
-                    // Set the paramter
-                    if( fieldId == EWlanLastSocketActivityTimeout )
-                        {				
-                        bearerRecord->iLastSocketActivityTimeout.SetL( timeout );
-                        }
-                    else if( fieldId == EWlanLastSessionClosedTimeout)
-                        {					
-                        bearerRecord->iLastSessionClosedTimeout.SetL( timeout );
-                        }
-                    else
-                        {					
-                        bearerRecord->iLastSocketClosedTimeout.SetL( timeout );
-                        }
-                    
-                    bearerRecord->ModifyL( *iSession );				
-                    CleanupStack::PopAndDestroy( bearerRecord );
-                    }
-                break;
-                }
-                
-            case EWlanBGScanInterval:
-            case EWlanUseDefSettings:
-            case EWlanLongRetry:
-            case EWlanShortRetry:
-            case EWlanRTS:
-            case EWlanTxPowerLevel:
-            case EWlanRadioMeasurements:
-            case EWlanPowerMode:
-                {
-                if( iIsWlanS )
-                    {
-                    // Save the same value both to default and user settings records
-                    TInt err;
-                    TRAP( err, SaveGlobalWlanParameterL( KWlanDefaultSettings, fieldId, ptrTag ) );
-                    if( err != KErrNone )
-                        {
-                        CLOG_WRITE( "! Error : Could not save global WLAN parameter. Incorrect input?" );
-                        User::Leave( err  );
-                        }
-                    TRAP( err, SaveGlobalWlanParameterL( KWlanUserSettings, fieldId, ptrTag ) );
-                    if( err != KErrNone )
-                        {
-                        CLOG_WRITE( "! Error : Could not save global WLAN parameter. Incorrect input?" );
-                        User::Leave( err );
-                        }
-                    }
-                break;
-                }
-                
-            case EUsageOfWlan:
-                {
-                SetGenConnSettingWlanUsage( ptrTag );
-                break;
-                }
-                
-            case ECellularDataUsageHome:
-                {
-                SetGenConnSettingCellularDataUsageHome( ptrTag );
-                break;
-                }
-                
-            case ECellularDataUsageVisitor:
-                {
-                SetGenConnSettingCellularDataUsageVisitor( ptrTag );
-                break;
-                }
-                
-            default:
-                break;
-            }
-        }
-    
-    if( iBearerArrayChanged )
-        {
-        
-        CLOG_WRITE( "UpdateBearerPriorityArrayL\n" )
-        
-        iCmManager->UpdateBearerPriorityArrayL( iBearerArray );
-        iCmManager->CleanupGlobalPriorityArray( iBearerArray );
-        
-        iBearerArray.Close();
-        
-        CLOG_WRITE( "UpdateBearerPriorityArrayL end\n" )
-        }
-    
-    // General Connection settings are always set
-    SetGenConnSettingsL();
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::ProcessAPL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::ProcessAPL()
-    {
-    CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    CleanupStack::PushL( db );
-                    
-    CLOG_WRITE( "Global settings\n" )
-    CLOG_WRITE( "---------------\n" )
-        
-    CCDGlobalSettingsRecord* globalSettings = static_cast< CCDGlobalSettingsRecord* >
-                        ( CCDRecordBase::RecordFactoryL( KCDTIdGlobalSettingsRecord ) );
-                        
-	CleanupStack::PushL( globalSettings );
-                        
-    globalSettings->iRecordName.SetL( KGlobalSettingsRecordName );
-
-    if( globalSettings->FindL( *db ) )
-        {
-        //Gprs attach mode
-        if ( iAttachWhenNeeded )
-            {
-            CLOG_WRITE( "GPRS attach mode : attach when needed\n" )
-            globalSettings->iGPRSAttachMode = RPacketService::EAttachWhenNeeded;
-            }
-        else
-            {
-            CLOG_WRITE( "GPRS attach mode : attach when available\n" )
-            globalSettings->iGPRSAttachMode = RPacketService::EAttachWhenPossible;
-            }
-        }
-        
-    globalSettings->ModifyL( *db );
-    
-    CleanupStack::PopAndDestroy( globalSettings );    
-    db->Close();
-    CleanupStack::PopAndDestroy( db ); // db
-    }
-    
-
-// ---------------------------------------------------------
-// CProcessorGlobal::UpdateGlobalBearerArrayL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::UpdateGlobalBearerArrayL
-                            ( TDbCreatorGlobalSettings aField, TUint32 aPrio )
-    {
-    TUint itemIndex( 0 );
-    
-    // Look up field from conversion table
-    while( EUnused != KPriorityConversionTable[ itemIndex ].iField )
-        {
-        if( KPriorityConversionTable[ itemIndex ].iField == aField)
-            {
-            break;
-            }
-        ++itemIndex;
-        }
-        
-    // If found
-    if( EUnused != KPriorityConversionTable[ itemIndex ].iField )
-        {
-        if( !iBearerArrayChanged )
-            {
-            iCmManager->BearerPriorityArrayL( iBearerArray );
-            iBearerArrayChanged = ETrue;
-            }
-        
-        
-        HBufC* tableName = HBufC::NewLC( KMaxTableNameSize );
-        *tableName = TPtrC( KPriorityConversionTable[ itemIndex ]
-                                                        .iBearerTableName );
-        TBool foundBearer( EFalse );
-        
-        // Find the appropriate bearer type
-        for( TInt i( 0 ); i < iBearerArray.Count(); ++i )
-            {
-            if( !( ( iBearerArray )[ i ].iServiceType->Compare( *tableName ) ) )
-                {
-                if( KPriorityConversionTable[ itemIndex ].iIsUIPriority )
-                    {
-                    ( iBearerArray )[ i ].iUIPriority = aPrio;
-                    }
-                else
-                    {
-                    ( iBearerArray )[ i ].iPriority = aPrio;
-                    }
-                foundBearer = ETrue;
-                break;
-                }
-            }
-        
-        // If bearer was not found, add it to the table
-        if( !foundBearer )
-            {
-            TBearerPriority newBearer;
-            newBearer.iServiceType = tableName;
-            if( KPriorityConversionTable[ itemIndex ].iIsUIPriority )
-                {
-                newBearer.iUIPriority = aPrio;
-                }
-            else
-                {
-                newBearer.iPriority = aPrio;
-                }
-            iBearerArray.Append( newBearer );
-            }
-
-        CleanupStack::PopAndDestroy( tableName ); // tableName 
-        }
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::SetGenConnSettingWlanUsage
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::SetGenConnSettingWlanUsage( HBufC16* aPtrTag )
-    {
-    // This parameter should't be set at all if WLAN isn't supported.
-    // However, CMM should take care of this in WriteGenConnSettingsL().
-    if ( aPtrTag->CompareF( KStrManual ) == 0 ) 
-        {
-        iGenConnSettings->iUsageOfWlan = ECmUsageOfWlanManual;
-        }
-    // else: Default value for the string is: "Known", set in ConstructL()
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::SetGenConnSettingCellularDataUsageHome
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::SetGenConnSettingCellularDataUsageHome( HBufC16* aPtrTag )
-    {
-    if ( aPtrTag->CompareF( KStrAutomatic ) == 0 ) 
-        {
-        iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageAutomatic;
-        }
-    else if ( iIsWlanS && aPtrTag->CompareF( KStrWlanOnly ) == 0 ) 
-        {
-        // This value can't be set if WLAN isn't supported
-        iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageDisabled;
-        }
-    // else: Default value for the string is: "Confirm", set in ConstructL()
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::SetGenConnSettingCellularDataUsageVisitor
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::SetGenConnSettingCellularDataUsageVisitor( HBufC16* aPtrTag )
-    {
-    if ( aPtrTag->CompareF( KStrAutomatic ) == 0 ) 
-        {
-        iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageAutomatic;
-        }
-    else if ( iIsWlanS && aPtrTag->CompareF( KStrWlanOnly ) == 0 ) 
-        {
-        // This value can't be set if WLAN isn't supported
-        iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageDisabled;
-        }
-    // else: Default value for the string is: "Confirm", set in ConstructL()
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::SetGenConnSettingsL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::SetGenConnSettingsL()
-    {
-    RCmManager cmManager;
-    cmManager.CreateTablesAndOpenL();
-    CleanupClosePushL( cmManager );
-    cmManager.WriteGenConnSettingsL( *iGenConnSettings );
-    CleanupStack::PopAndDestroy( &cmManager );
-    }
-
-//-----------------------------------------------------------------------------
-//  CProcessorGlobal::SaveGlobalWlanParameterL()
-//-----------------------------------------------------------------------------
-//
-void CProcessorGlobal::SaveGlobalWlanParameterL( const TUint32 aTableType, const TDbCreatorGlobalSettings aField, const HBufC16* const aValue )
-	{	
-		// Initialize the record
-		CMDBGenericRecord* deviceSettingsTable = static_cast< CMDBGenericRecord* >
-                ( CCDRecordBase::RecordFactoryL( 0 ) );
-                
-	    CleanupStack::PushL( deviceSettingsTable );
-	    
-	    deviceSettingsTable->InitializeL( TPtrC( WLAN_DEVICE_SETTINGS ), NULL );
-	    			   			    
-	    deviceSettingsTable->LoadL( *iSession );
-	    
-	    // Open the record that matches aTableType (either default or user settings table)
-	    
-	    CMDBField<TUint32>* settingsTypeField = (CMDBField<TUint32>*)deviceSettingsTable->GetFieldByIdL(KCDTIdWlanDeviceSettingsType);
-	    
-	   	settingsTypeField->SetL( aTableType );
-	    			   			    
-	    deviceSettingsTable->FindL( *iSession );
-	    
-	    // Convert the input parameter to integer
-    	TLex lex( *aValue );
-		
-    	TInt value( 0 );
-        User::LeaveIfError( lex.Val( value ) );
-        
-		// Set the paramter value
-	    
-	    if ( aField == EWlanBGScanInterval )
-	    	{
-	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdBgScanInterval );
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanUseDefSettings )
-	    	{
-	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdUseDefaultSettings );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanLongRetry )
-	    	{
-			CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanLongRetry );				    	
-			field->SetL( value );
-	    	}
-	    else if ( aField == EWlanShortRetry )
-	    	{
-	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanShortRetry );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanRTS )
-	    	{
-	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanRTSThreshold );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanTxPowerLevel )
-	    	{
-	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdTxPowerLevel );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanRadioMeasurements )
-	    	{
-	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdAllowRadioMeasurements );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanPowerMode )
-	    	{
-	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanPowerMode );	
-	    	field->SetL( value );
-	    	}			    			    			      			
-
-		deviceSettingsTable->ModifyL( *iSession );
-				
-		CleanupStack::PopAndDestroy( deviceSettingsTable );				
-	}
-// End of File.