diff -r 1c425781161e -r 3d23268b50f6 wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanmgmtimpl.h --- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanmgmtimpl.h Tue Jul 06 16:24:00 2010 +0300 +++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/inc/wlanmgmtimpl.h Wed Aug 18 11:35:02 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 22 % +* %version: 23 % */ #ifndef WLANMGMTIMPL_H @@ -380,6 +380,7 @@ TWlanConnectionExtentedSecurityMode& aMode ); /** + * (From MWlanMgmtInterface) * Activate the extended notification service. * * After the client has enabled the notification service, it can @@ -394,6 +395,7 @@ TUint aCallbackInterfaceVersion ); /** + * (From MWlanMgmtInterface) * Create a virtual traffic stream. * * @param aStatus Status of the calling active object. On successful @@ -412,11 +414,13 @@ TWlanTrafficStreamStatus& aStreamStatus ); /** + * (From MWlanMgmtInterface) * Cancel an outstanding traffic stream creation request. */ virtual void CancelCreateTrafficStream(); /** + * (From MWlanMgmtInterface) * Delete a virtual traffic stream. * * @param aStatus Status of the calling active object. On successful @@ -429,11 +433,13 @@ TUint aStreamId ); /** + * (From MWlanMgmtInterface) * Cancel an outstanding traffic stream deletion request. */ virtual void CancelDeleteTrafficStream(); /** + * (From MWlanMgmtInterface) * Initiate a roam to the given BSSID. * * @param aStatus Status of the calling active object. On successful @@ -447,6 +453,7 @@ const TWlanBssid& aBssid ); /** + * (From MWlanMgmtInterface) * Cancel an outstanding directed roam request. */ virtual void CancelDirectedRoam(); @@ -459,6 +466,7 @@ TInt aStatus ); /** + * (From MWlanMgmtInterface) * Start aggressive background scanning. * @param aInterval Scan interval for aggressive mode (in seconds). * Valid range: 1-120 seconds. @@ -466,6 +474,37 @@ virtual TInt StartAggressiveBgScan( TUint aInterval ); + /** + * (From MWlanMgmtInterface) + * Get the available WLAN IAPs. + * + * @param aCacheLifetime Defines how many seconds old cached results the client + * is willing to accept. The valid is range is from 0 to + * 60 seconds. The value of -1 means the system default will + * be used. The aCacheLifetime parameter has a meaning only + * when the aMaxDelay parameter is zero. + * Value will be changed to the actual value used by the + * system. + * @param aMaxDelay Maximum amount of seconds the client is willing to wait for + * the availability results. The valid range is from 0 to 1200 + * seconds or KWlanInfiniteScanDelay. KWlanInfiniteScanDelay + * will never cause a scan, but the request will be + * completed when any other broadcast scan request is completed. + * Value will be changed to the actual value used by the system. + * @param aFilteredResults Whether availability is filtered based on signal strength. + ETrue if filtering is allowed, EFalse if not. + * @param aStatus Status of the calling active object. On successful + * completion contains KErrNone, otherwise one of the + * system-wide error codes. + * @param aAvailableIaps Array of IAPs available. + */ + virtual void GetAvailableIaps( + TInt& aCacheLifetime, + TUint& aMaxDelay, + TBool aFilteredResults, + TRequestStatus& aStatus, + RArray& aAvailableIaps ); + protected: // Methods /** @@ -691,6 +730,23 @@ TUint& aMaxDelay ); /** + * C++ default constructor. + * @param aCallback Callback interface to CWlanMgmtImpl. + * @param aServer Interface to RWLMServer. + * @param aAvailableIaps Available IAPs are stored here. + * @param aCacheLifetime how old cached results (in seconds) the client is willing to accept. + * @param aMaxDelay maximum time the client is willing to wait for the scan results. + * @param aFilteredResults Whether availability is filtered based on signal strength. + */ + CWlanAvailableIapsRequest( + CWlanMgmtImpl& aCallback, + RWLMServer& aServer, + RArray& aAvailableIaps, + TInt& aCacheLifetime, + TUint& aMaxDelay, + TBool aFilteredResults ); + + /** * Destructor. */ virtual ~CWlanAvailableIapsRequest(); @@ -733,12 +789,17 @@ // Interface to RWLMServer RWLMServer& iServer; - // Handle to client storage for available IAPs - RArray& iPendingAvailableIaps; - + // Handle to client storage for available IAP IDs for legacy methods. + // Not owned by this pointer. + RArray* iPendingAvailableIapIds; + + // Handle to client storage for available IAPs. + // Not owned by this pointer. + RArray* iPendingAvailableIaps; + // Storage for available IAPs TWlmAvailableIaps iAvailableIaps; - + // The package buffer needed for the asynchronous request TPckg iAvailableIapsBuf; @@ -748,6 +809,8 @@ // The package buffer needed for the asynchronous request TPckg iMaxDelayBuf; + // Whether availability is filtered based on signal strength. + TBool iFilteredResults; };