diff -r c40eb8fe8501 -r 6524e815f76f wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanbgscanawscomms.h --- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanbgscanawscomms.h Tue Feb 02 02:03:13 2010 +0200 +++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanbgscanawscomms.h Sat Feb 20 00:38:18 2010 +0200 @@ -16,7 +16,7 @@ */ /* -* %version: 1 % +* %version: 2 % */ #ifndef WLANBGSCANAWSCOMMS_H @@ -40,30 +40,11 @@ NONSHARABLE_CLASS( CWlanBgScanAwsComms ) : public CActive, public MAwsBgScanProvider, - public MWlanBgScanCommandListener + public MWlanBgScanCommandListener, + public MWlanBgScanAwsComms { public: - - /** - * AWS commands. - */ - enum TAwsCommand - { - EStart = 0, - EStop, - ESetPowerSaveMode, - EAwsCommandMax //not a real command - }; - - /** - * AWS message. - */ - struct TAwsMessage - { - TAwsCommand iCmd; - TInt iParameter; - }; /** * Two-phased constructor. @@ -103,14 +84,13 @@ * @since S60 v5.2 */ void SendOrQueueAwsCommand( TAwsMessage& aMessage ); - + /** - * Whether AWS is present in system. + * Blocks calling thread until AWS is constructed. * * @since S60 v5.2 - * @return ETrue if present, EFalse if not */ - TBool IsAwsPresent(); + //void WaitForAwsStartupToComplete(); private: // From CActive @@ -169,9 +149,9 @@ static TInt AwsThreadEntryPoint( TAny* aThisPtr ); /** - * Instantiate AWS ECOM Plugin. + * Instantiate and run AWS ECOM Plugin. */ - void InstantiateAwsPluginL(); + void InstantiateAndRunAwsPluginL(); /** * Send message to AWS. @@ -194,9 +174,9 @@ CAwsEngineBase* iAws; /** - * Reference to AWS ECOM plugin implementation info. + * AWS ECOM plugin UID. */ - CImplementationInformation* iAwsImplInfo; + TInt iAwsImplUid; /** * Command Handler. @@ -222,6 +202,16 @@ * If AWS instantiation was successful. */ TBool iAwsOk; + + /** + * Synchronization object between WLAN Engine and AWS threads. + */ + //RSemaphore iStartupLock; + + /** + * Handle to WLAN Engine thread. + */ + RThread iWlanEngineThread; };