bearermanagement/mpm/inc/mpmserver.h
branchRCL_3
changeset 17 c14618f9de99
parent 15 4dc3bb0099b0
child 26 0a9e01492035
--- a/bearermanagement/mpm/inc/mpmserver.h	Wed Mar 31 22:15:10 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmserver.h	Wed Apr 14 16:22:04 2010 +0300
@@ -38,6 +38,7 @@
 class CMPMCommsDatAccess;
 class CMpmCsIdWatcher;
 class CMpmDataUsageWatcher;
+class CMpmOfflineWatcher;
 
 // CONSTANTS
 _LIT( KMPMPanicCategory, "Mobility Policy Manager Server" );
@@ -167,6 +168,13 @@
     EMPMBearerTypeOther
     };
 
+enum TOfflineWlanQueryResponse
+    {
+    EOfflineResponseUndefined,
+    EOfflineResponseYes,
+    EOfflineResponseNo
+    };
+
 // FUNCTION PROTOTYPES
 void PanicServer( TInt aPanic );
 
@@ -792,6 +800,14 @@
         inline CMpmCsIdWatcher* CsIdWatcher();
 
         /**
+         * Change state of the P&S keys according to active connection.
+         * Non-leaving version. Resets variables in case error happens.
+         * @since 5.2         
+         * @param aSession Handle to session used by connection.
+        */
+        void UpdateActiveConnection( CMPMServerSession& aSession );
+        
+        /**
         * Change state of the P&S keys according to active connection.
         * @since 5.0
         * @param aSession Handle to session used by connection.
@@ -813,11 +829,12 @@
         void PublishActiveConnection();
         
         /**
-        * Returns number of active connections.
+        * Returns number of active iaps.
         * @since 5.0
+        * @param aKeysUpToDate Tells whether P&S keys are valid or not.
         * @return Number of active connections
         */
-        TInt NumberOfActiveConnections();
+        TInt NumberOfActiveConnections( TBool& aKeysUpToDate );
 
         /**
         * Returns server session instance that corresponds to given
@@ -835,6 +852,30 @@
         */
         void StopCellularConns();
 
+        /**
+        * Offline mode watcher updates the mode variable stored by MPM server.
+        * @since 5.2
+        */
+        void UpdateOfflineMode( TInt newModeValue );
+
+        /**
+        * Returns true if the phone is in offline mode.
+        * @since 5.2
+        */
+        TBool IsPhoneOffline();
+
+        /**
+        * Tells the "Use WLAN in offline mode" query response.
+        * @since 5.2
+        */
+        TOfflineWlanQueryResponse OfflineWlanQueryResponse();
+
+        /**
+        * Called when the "Use WLAN in offline mode" query has been responded.
+        * @since 5.2
+        */
+        void SetOfflineWlanQueryResponse( TOfflineWlanQueryResponse aResponse);
+
     private:
 
         /**
@@ -940,10 +981,15 @@
         CMpmCsIdWatcher* iMpmCsIdWatcher;
 
         /**
-         * Handle to another central repository watcher
+         * Handle to central repository watcher
          */
         CMpmDataUsageWatcher* iMpmDataUsageWatcher;
 
+        /**
+         * Handle to central repository watcher
+         */
+        CMpmOfflineWatcher* iMpmOfflineWatcher;
+
         // Iap id of the active connection
         TUint32 iActiveIapId;
         
@@ -958,6 +1004,12 @@
 
         // Used for commsdat related functionalities
         CMPMCommsDatAccess* iCommsDatAccess;
+        
+        // Offline mode.
+        TInt iOfflineMode;
+        
+        // Is WLAN usage already accepted in this offline session.
+        TOfflineWlanQueryResponse iOfflineWlanQueryResponse;
     };
 
 #include "mpmserver.inl"