diff -r 984e13af52c4 -r fc7b30ed2058 connectionmonitoring/connmon/connectionmonitor/inc/connmondialupoverridenotifier.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectionmonitoring/connmon/connectionmonitor/inc/connmondialupoverridenotifier.h Thu Aug 19 10:18:49 2010 +0300 @@ -0,0 +1,86 @@ +/* +* Copyright (c) 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Listens for changes in dial-up PDP context override P&S-key. +* +*/ + +#ifndef CONNMONDIALUPOVERRIDENOTIFIER_H +#define CONNMONDIALUPOVERRIDENOTIFIER_H + +class CConnMonServer; + +/** + * Stop requesting new notifications after this many consecutive errors. + */ +const TInt KConnMonPsEventErrorThreshold = 80; + +/** + * Maximum time that dial-up PDP context override is allowed to stay on. + */ +const TUint KConnMonDialUpOverrideInterval = 45000000; // 45sec + +/** + * Read policy for dial-up PDP context override key. + */ +_LIT_SECURITY_POLICY_PASS( KDialUpOverrideReadC0 ); + +/** + * Write policy for dial-up PDP context override key. + */ +_LIT_SECURITY_POLICY_C2( KDialUpOverrideWriteC2, ECapabilityNetworkControl, ECapabilityNetworkServices ); + +/** + * An active object to listen for changes in the dial-up PDP context override + * P&S-key. Only used if the feature is enabled by the CenRep key + * KDialUpOverride in CmManager repository (KCRUidCmManager). + */ +NONSHARABLE_CLASS( CConnMonDialUpOverrideNotifier ) : public CActive + { +public: + static CConnMonDialUpOverrideNotifier* NewL( CConnMonServer* aServer ); + static CConnMonDialUpOverrideNotifier* NewLC( CConnMonServer* aServer ); + virtual ~CConnMonDialUpOverrideNotifier(); + + /** + * Set the KDialUpConnection-property in Connection Monitor RProperty + * category to the initial state of EConnMonReady. + */ + TInt ResetStatus(); + +private: + CConnMonDialUpOverrideNotifier( CConnMonServer* aServer ); + void ConstructL(); + void RequestNotifications(); + +private: // Methods from base class + void DoCancel(); + void RunL(); + +private: + // Pointer back to ConnMon server class. + CConnMonServer* iServer; + + // Counter for notification errors. + TInt iErrorCounter; + + // Dial-up PDP context override property. + // Used to signal an incoming dial-up connection and the completion of + // preparatory actions by ConnMon (Closing down internal PDP contexts). + RProperty iDialUpProperty; + }; + +#endif // CONNMONDIALUPOVERRIDENOTIFIER_H + +// End of file