diff -r 000000000000 -r b497e44ab2fc syncmlfw/ds/syncagent/inc/nsmldsnetmon.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/syncmlfw/ds/syncagent/inc/nsmldsnetmon.h Thu Dec 17 09:07:52 2009 +0200 @@ -0,0 +1,172 @@ +/* +* Copyright (c) 2008 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: Monitors the network for availability and starts any pending data sync sessions. +* +*/ + +#ifndef C_NETMON_H +#define C_NETMON_H + +// INCLUDE FILES +#include +#include +#include +#include +#include +#include +#include "NSmlDSAgent.h" +#include "NSmlAgentBase.h" + +#include +#include + +// USER INCLUDES +#include "NsmlProfileUtil.h" + +// NetMon states +enum TNetMonStates { ERegister = 0, + EComplete }; + +//Forward class declaration +class CNSmlDSAgent; + + +/** + */ +class CNsmlDSNetmon : public CActive, + public MConnectionMonitorObserver +{ + public: + + /** + * Two phase construction + */ + static CNsmlDSNetmon* NewL(CNSmlDSAgent& aDSAgent); + + /** + * Destructor + */ + ~CNsmlDSNetmon(); + + protected: + + // From base class CActive + + /** + * Implements cancellation of an outstanding request + */ + void DoCancel(); + + /** + * Handles an active objects request completion event. + */ + void RunL(); + + /** + * If the RunL function leaves, then the active scheduler call + * RunError() to handle the leave. + * @param aError - The error code + */ + TInt RunError ( TInt aError ); + + public: //New functions + + TBool LaunchAutoRestartL(); + + TBool IsRoaming(); + void StartTimerL(); + void StopTimer(); + + public: + /** + * ProfileId + */ + TSmlProfileId iProfileID; + + private: + + /** + * Constructor + */ + CNsmlDSNetmon(); + + /** + * Second phase constructor + */ + void ConstructL(CNSmlDSAgent& aDSAgent); + + /** + * Resgiter for events + */ + void RegisterL(); + + /** + * Close the server + */ + void Complete(); + + /** + * Set active + */ + void IssueRequest(); + + // From base class MConnectionMonitorObserver + void EventL ( const CConnMonEventBase& aConnMonEvent ); + + /** + * Read the Global timeout from cenrep. + */ + TInt ReadTimeoutFromCenrepL(); + + private: + + /** + *Instance of the DSAgent + */ + CNSmlDSAgent* iDSAgent; + + + /** + * Connection Monitor Server Instance + */ + RConnectionMonitor iConnectionMonitor; + + /** + * States + */ + TNetMonStates iState; + + /** + * Time @ which the packet data is resumed + */ + TTime iPacketDataAvailableTime; + + /** + * Time @ which the packet data is lost + */ + TTime iPacketDataUnAvailableTime; + + /** + * Auto Restart Timer + */ + CPeriodic* iAutoRestartTimer; + + /** + * Roaming Status + */ + TInt iRoamingStatus; + +}; + +#endif // End of file