diff -r 984e13af52c4 -r fc7b30ed2058 bearermanagement/mpm/inc/mpmserver.h --- a/bearermanagement/mpm/inc/mpmserver.h Thu Jul 15 19:05:04 2010 +0300 +++ b/bearermanagement/mpm/inc/mpmserver.h Thu Aug 19 10:18:49 2010 +0300 @@ -33,6 +33,7 @@ #include "mpmcommon.h" #include "rmpm.h" #include "mpmroamingwatcher.h" +#include "mpmdatausagewatcher.h" class CMPMCommsDatAccess; @@ -48,6 +49,9 @@ // const TInt KPhoneRetryTimeout = 100000; +const TUint32 KMaxOpenTransAttempts = 5; +const TUint32 KRetryAfter = 200000; + // The granularity with which iDisconnectQueue will allocate memory chunks. // If set to two there will be space for two instances of CMPMDisconnectDlg // before new memory will be allocated. @@ -61,6 +65,10 @@ // roaming to connected wlan wait interval // in micro seconds (10 sec) const TInt KRoamingToWlanUpdateInterval = 10000000; + +// roaming to connected hotspot wlan wait interval +// in micro seconds (120 sec) +const TInt KRoamingToHotspotWlanUpdateInterval = 120000000; //Definition of the ranges of IPC numbers const TInt KMPMPolicyRanges[KMPMPolicyRangeCount] = @@ -192,6 +200,7 @@ class CMPMDefaultConnection; class CMPMWlanQueryDialog; class CMPMDialog; +class CMPMConnPermQueryTimer; // CLASS DECLARATION /** @@ -469,6 +478,21 @@ void UpdateSessionConnectionDlgL(); /** + * Completes pending messages + * @since 5.2 + * @param aIapId IAP Id of the connection. + * @param aError Message status + * @param aErrorReturned Error value to be returned, NULL if no + * value should be passed + * @param aNeededAction Needed action to be returned, NULL if no + * value should be passed + */ + void HandlePendingMsgs( TUint aIapId, + TInt aError, + TInt* aErrorReturned, + TBMNeededAction* aNeededAction ); + + /** * Handling of blacklisting certain IAP and the presumed IAP for * the certain connection. * @since 3.1 @@ -731,6 +755,15 @@ static TInt StartForcedRoamingToConnectedWlanL( TAny* aUpdater ); /** + * Starts forced roaming sequence to connected hotspot wlan + * + * @param aIapInfo Info about available IAPs + * @return Always zero... + * @since 5.2 + */ + static TInt StartForcedRoamingToConnectedHotspotWlanL( TAny* aUpdater ); + + /** * Starts forced roaming sequence from WLAN if necessary * * @param aIapInfo Info about available IAPs @@ -753,7 +786,14 @@ * @return RoamingWatcher pointer */ inline CMPMRoamingWatcher* RoamingWatcher() const; - + + /** + * Returns the DataUsageWatcher pointer + * + * @since 5.2 + * @return DataUsageWatcher pointer + */ + inline CMpmDataUsageWatcher* DataUsageWatcher() const; public: // Functions from base classes @@ -873,9 +913,10 @@ /** * Stops cellular connections, except MMS + * @param aSilentOnly stop only silent cellular connections * @since 5.2 */ - void StopCellularConns(); + void StopCellularConns( TBool aSilentOnly = EFalse ); /** * Offline mode watcher updates the mode variable stored by MPM server. @@ -905,6 +946,27 @@ */ void SetOfflineWlanQueryResponse( TOfflineWlanQueryResponse aResponse); + /** + * Starts the connection permission query timer. + * During the timer, no connection permission query can be initiated. + * @since 5.2 + */ + void StartConnPermQueryTimer(); + + /** + * Resets the connection permission query timer. + * @since 5.2 + */ + void ResetConnPermQueryTimer(); + + /** + * Returns true if the connection permission query timer is running. + * During the timer, no connection permission query can be initiated. + * @since 5.2 + * @return ETrue if timer is running, EFalse otherwise. + */ + TBool IsConnPermQueryTimerOn(); + private: /** @@ -933,6 +995,12 @@ TBool aCheckForBestIap, TMPMBearerType aDestinationBearerType ); + /** + * Check if iap can be disconnected, and disconnect it + * @since 5.2 + * @param aIapId Iap id for checking + */ + void CheckIapForDisconnect( TInt aIapId ); private: // Data // Pointer to the ConnMonEvents object @@ -1042,9 +1110,15 @@ // Timer to start roaming to connected WLAN network CPeriodic* iRoamingToWlanPeriodic; - + + // Timer to start roaming to connected WLAN network + CPeriodic* iRoamingToHotspotWlanPeriodic; + // TConnMonIapInfo Info about available IAPs TConnMonIapInfo iConnMonIapInfo; + + // Connection permission query cancellation delay timer + CMPMConnPermQueryTimer* iConnPermQueryTimer; }; #include "mpmserver.inl"