--- a/connectionmonitoring/connmon/connectionmonitor/inc/ConnMonServ.h Fri Jul 23 09:11:14 2010 +0300
+++ b/connectionmonitoring/connmon/connectionmonitor/inc/ConnMonServ.h Fri Aug 06 19:11:03 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -134,6 +134,8 @@
class TConnMonSNAPInfo;
class TConnMonId;
class CCellularDataUsageKeyUpdater;
+class CConnMonDialUpOverrideNotifier;
+class CConnMonDialUpOverrideTimer;
/**
* CConnMonServer
@@ -335,6 +337,23 @@
inline CCellularDataUsageKeyUpdater* CellularDataUsageKeyUpdater()
{ return iCellularDataUsageKeyUpdater; }
+ /**
+ * Return the current dial-up PDP context override status.
+ */
+ inline TInt GetDialUpOverrideStatus() { return iDialUpOverrideStatus; }
+
+ /**
+ * Set the dial-up PDP context override feature status. Either activates or
+ * deactivates it. Does nothing if the feature itself has not been enabled.
+ */
+ void SetDialUpOverrideStatus( TInt aStatus );
+
+ /**
+ * Signals that all internal PDP connections have closed through the
+ * KDialUpConnection P&S-property.
+ */
+ void ConnectionsClosedForDialUpOverride();
+
public:
/**
* From CServer Creates a new session for a client.
@@ -377,6 +396,15 @@
CConnMonBearerGroupManager* iBearerGroupManager;
CCellularDataUsageKeyUpdater* iCellularDataUsageKeyUpdater;
+
+ // Notifier to listen for changes in the the KDialUpConnection P&S-property.
+ CConnMonDialUpOverrideNotifier* iDialUpOverrideNotifier;
+
+ // Timeout timer for the dial-up PDP context override feature.
+ CConnMonDialUpOverrideTimer* iDialUpOverrideTimer;
+
+ // Current status of the dial-up PDP context override feature.
+ TInt iDialUpOverrideStatus;
};
/**
@@ -462,6 +490,34 @@
CConnMonServer* iServer;
};
+/**
+* CConnMonDialUpOverrideTimer
+* A simple timer to ensure dial-up PDP context override feature can not stay
+* active longer than the specied timeout value.
+*/
+NONSHARABLE_CLASS( CConnMonDialUpOverrideTimer ) : public CActive
+ {
+public:
+ static CConnMonDialUpOverrideTimer* NewL( CConnMonServer* aServer );
+ static CConnMonDialUpOverrideTimer* NewLC( CConnMonServer* aServer );
+ virtual ~CConnMonDialUpOverrideTimer();
+
+private:
+ CConnMonDialUpOverrideTimer( CConnMonServer* aServer );
+ void ConstructL();
+
+public:
+ void Start();
+
+private:
+ void DoCancel();
+ void RunL();
+
+private: // Data
+ RTimer iTimer;
+ CConnMonServer* iServer;
+ };
+
// INLINES
inline CConnMonScheduler::TSignal::TSignal()
: