--- a/wlanutilities/wlansettingsui/src/wlansettingsuimodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-/*
-* Copyright (c) 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:
-* Implementation of class TWlanSettingsUiModel.
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include <centralrepository.h>
-#include <wlanmgmtclient.h>
-#include <internetconnectivitycrkeys.h>
-#include <wlancontainer.h>
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuipanic.h"
-
-#include <psmtypes.h>
-#include <psmsrvdomaincrkeys.h>
-#include <wlandevicesettingsinternalcrkeys.h>
-#include <featmgr.h>
-#include <mpmconnectscreenid.h>
-
-// CONSTANTS
-
-const TInt KWlanSettingsUiSecondsInMinute = 60;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::NewL
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel* CWlanSettingsUiModel::NewL
- (
- CMDBSession* aSession,
- CWlanMgmtClient* aWlanMgmtClient,
- CRepository* aRepository
- )
- {
- CWlanSettingsUiModel* self = new( ELeave )
- CWlanSettingsUiModel(aSession,
- aWlanMgmtClient,
- aRepository);
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::CWlanSettingsUiModel
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel::CWlanSettingsUiModel
- (
- CMDBSession* aSession,
- CWlanMgmtClient* aWlanMgmtClient,
- CRepository* aRepository
- )
-: iShowWlanAvail( KWlanSettingsUiDefaultShowWlanAvail ),
- iScanNetworks( KWlanSettingsUiDefaultScanNetwork ),
- iPowerSaving( KWlanSettingsUiDefaultPowerSaving ),
- iPsmMode( EFalse ),
- iSession( aSession ),
- iWlanMgmtClient( aWlanMgmtClient ),
- iRepository( aRepository ),
- iPsmSupported( EFalse )
- {
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::ConstructL()
- {
- FeatureManager::InitializeLibL();
- // Set the member variable to indicate if full/partial PSM is on.
- // This value stays the same for the whole WLAN Settings session,
- // i.e. we ignore any mode changes during the session.
- CheckPsmModeL();
- }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::~CWlanSettingsUiModel()
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel::~CWlanSettingsUiModel()
- {
- FeatureManager::UnInitializeLib();
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::LoadSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::LoadSettingsL()
- {
- TBool ownTransaction( EFalse );
- if( !iSession->IsInTransaction() )
- {
- ownTransaction = ETrue;
- iSession->OpenTransactionL();
- }
- TMDBElementId tableId = 0;
-
- tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-
- CCDWlanDeviceSettingsRecord* record = new( ELeave )
- CCDWlanDeviceSettingsRecord( tableId );
- CleanupStack::PushL( record );
-
- record->iWlanDeviceSettingsType = KWlanUserSettings;
-
- if( record->FindL( *iSession ) )
- {
- record->LoadL( *iSession );
- }
-
- // Read scan interval
-
- iScanNetworks = record->iBgScanInterval;
- FixScanNetworks( record->iSavedBgScanInterval );
-
- iPowerSaving = record->iWlanPowerMode;
- CleanupStack::PopAndDestroy( record );
-
- if ( ownTransaction )
- {
- iSession->CommitTransactionL();
- // Rollback operation.
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SaveSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::SaveSettingsL()
- {
- TBool ownTransaction( EFalse );
- if( !iSession->IsInTransaction() )
- {
- ownTransaction = ETrue;
- iSession->OpenTransactionL();
- }
- TMDBElementId tableId = 0;
- tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-
- CCDWlanDeviceSettingsRecord* record = new( ELeave )
- CCDWlanDeviceSettingsRecord( tableId );
-
- CleanupStack::PushL( record );
-
- record->iWlanDeviceSettingsType = KWlanUserSettings;
-
- if( record->FindL( *iSession ) )
- {
- record->LoadL( *iSession );
- }
-
- if ( iShowWlanAvail )
- {
- record->iBgScanInterval = iScanNetworks;
- }
- else
- {
- record->iBgScanInterval = KWlanSettingsUiScanNetworkNever;
-
- // Do not change the saved interval value if in full or partial PSM Mode.
- // We want to preserve the previous user-selected value in memory, not the
- // forced PSM mode value (automatic).
- if ( !PsmModeOn() )
- {
- record->iSavedBgScanInterval = iScanNetworks;
- }
- }
-
- record->iWlanPowerMode = iPowerSaving;
-
- // Whenever settings are modified, iUseDefaultSettings must be set to false.
- record->iUseDefaultSettings = EFalse;
-
- record->ModifyL( *iSession );
-
- CleanupStack::PopAndDestroy( record );
- if ( ownTransaction )
- {
- iSession->CommitTransactionL();
- }
-
-#ifndef __WINS__
- // Notifying WLAN Engine about changes in settings
- iWlanMgmtClient->NotifyChangedSettings();
-#endif
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::FixScanNetworks
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::FixScanNetworks( TUint aSavedScanInterval )
- {
- if ( iScanNetworks == KWlanSettingsUiScanNetworkNever )
- {
- iShowWlanAvail = EFalse;
-
- if( aSavedScanInterval == KWlanSettingsUiScanNetworkNever
- || iPsmMode )
- {
- iScanNetworks = KWlanSettingsUiDefaultScanNetwork;
- }
- else
- {
- iScanNetworks = FixScanInterval( aSavedScanInterval );
- }
- }
-
- else
- {
- iShowWlanAvail = ETrue;
- iScanNetworks = FixScanInterval( iScanNetworks );
- }
- }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::FixScanInterval
-// ---------------------------------------------------------
-//
-TUint CWlanSettingsUiModel::FixScanInterval( TUint aScanInterval )
- {
- if( aScanInterval <=
- ( EWlanSettingsUiScanNetworkMax * KWlanSettingsUiSecondsInMinute ) )
- {
- // Return only full minutes
- return aScanInterval -
- ( aScanInterval % KWlanSettingsUiSecondsInMinute );
- }
- else
- {
- return KWlanSettingsUiScanNetworkAuto;
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::CheckPsmModeL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::CheckPsmModeL()
- {
- iPsmSupported = FeatureManager::FeatureSupported( KFeatureIdPowerSave );
- if( iPsmSupported )
- {
- TPsmsrvMode mode( EPsmsrvModeNormal );
-
- CRepository* cenrep = NULL;
-
- TRAP_IGNORE( cenrep = CRepository::NewL( KCRUidPowerSaveMode ) );
-
- if ( cenrep )
- {
- TInt crValue(0);
- cenrep->Get( KPsmCurrentMode, crValue );
- mode = static_cast<TPsmsrvMode>( crValue );
- if ( mode == EPsmsrvModePowerSave || mode == EPsmsrvPartialMode )
- {
- iPsmMode = ETrue;
- }
- else
- {
- iPsmMode = EFalse;
- }
-
- delete cenrep;
- cenrep = NULL;
- }
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::ScanNetworks
-// ---------------------------------------------------------
-//
-TUint CWlanSettingsUiModel::ScanNetworks()
- {
- if ( iScanNetworks == KWlanSettingsUiScanNetworkAuto )
- {
- return iScanNetworks;
- }
- else
- {
- // Return scan time in minutes
- return ( iScanNetworks / KWlanSettingsUiSecondsInMinute );
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SetScanNetworks
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::SetScanNetworks( TUint aScanNetworks )
- {
- if ( aScanNetworks == KWlanSettingsUiScanNetworkAuto )
- {
- iScanNetworks = aScanNetworks;
- }
- else
- {
- // Scan time stored in seconds
- iScanNetworks = aScanNetworks * KWlanSettingsUiSecondsInMinute;
- }
- }