diff -r c40eb8fe8501 -r 6524e815f76f wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanbgscan.h --- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanbgscan.h Tue Feb 02 02:03:13 2010 +0200 +++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanbgscan.h Sat Feb 20 00:38:18 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of the License "Eclipse Public License v1.0" @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: 9 % */ #ifndef WLANBGSCAN_H @@ -25,8 +25,12 @@ #include "awsinterface.h" #include "awsenginebase.h" #include "wlanscanproviderinterface.h" -#include "wlantimerservices.h" -#include "wlanbgscanawscomms.h" +#include "wlantimerserviceinterface.h" +#include "wlanbgscanawscommsinterface.h" +#include "wlanbgscancommandlistener.h" +#include "wlanbgscanstates.h" + + /** * WLAN Background Scan @@ -37,22 +41,12 @@ NONSHARABLE_CLASS( CWlanBgScan ) : public MWlanBgScanProvider, public MWlanTimerServiceCallback, - public MWlanBgScanCommandListener + public MWlanBgScanCommandListener, + public CWlanBgScanStates { public: - - /** - * States for WLAN Background Scan. - */ - enum TWlanBgScanState - { - EBgScanOff = 0, - EBgScanOn, - EBgScanAuto, - EBgScanAutoAws - }; - + /** * States for Auto period. */ @@ -72,11 +66,21 @@ EInsideRange, EGreater }; + + /** + * Possible statuses for AWS presence. + */ + enum TAwsPresence + { + EAwsPresent, + EAwsNotPresent, + EAwsStarting + }; /** * Two-phased constructor. */ - static CWlanBgScan* NewL( MWlanScanResultProvider& aProvider, CWlanTimerServices& aTimerServices ); + static CWlanBgScan* NewL( MWlanScanResultProvider& aProvider, MWlanTimerServices& aTimerServices ); /** * Destructor. @@ -86,18 +90,6 @@ /** * From MWlanBgScanProvider. * Called when Scan has been completed. - * - * \msc - * ScanResultProvider,CWlanBgScan; - * --- [label="Scan is done"]; - * ScanResultProvider=>CWlanBgScan [label="ScanComplete()"]; - * ScanResultProvider<=CWlanBgScan [label="Scan()"]; - * --- [label="New scan request is placed to queue or"]; - * --- [label="existing request's scan time is updated"]; - * ScanResultProvider>>CWlanBgScan [label="return"]; - * ScanResultProvider<CWlanBgScan [label="NotConnected()"]; - * ScanResultProvider<=CWlanBgScan [label="Scan( aMaxDelay=0 )"]; - * ScanResultProvider>>CWlanBgScan [label="return"]; - * ScanResultProvider< AWS communications object. + * Interface to AWS comms object. */ - CWlanBgScanAwsComms* iAwsComms; - - /** - * Current background scan state. - */ - TWlanBgScanState iBgScanState; + MWlanBgScanAwsComms* iAwsComms; /** * Current Auto period. @@ -347,36 +295,15 @@ TWlanBgScanAutoPeriod iAutoPeriod; /** - * Reference to WLAN Timer services. + * Whether AWS is ok or not. */ - CWlanTimerServices& iTimerServices; - - /** - * Id of the timer service request regarding - * background scan interval change. - */ - TUint iIntervalChangeRequestId; - - /** - * Background scan peak start time. - */ - TUint iBgScanPeakStartTime; + TBool iAwsOk; /** - * Background scan peak end time. - */ - TUint iBgScanPeakEndTime; - - /** - * Peak time interval. + * Current PSM server mode. */ - TUint iBgScanIntervalPeak; - - /** - * Off-peak time interval. - */ - TUint iBgScanIntervalOffPeak; - + TUint iCurrentPsmServerMode; + }; #endif // WLANBGSCAN_H