diff -r 000000000000 -r ff3b6d0fd310 satengine/SatServer/EventMonitors/inc/CSatEventMonitorHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/satengine/SatServer/EventMonitors/inc/CSatEventMonitorHandler.h Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,131 @@ +/* +* Copyright (c) 2002-2006 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: Base class for event monitors +* +*/ + + + +#ifndef CSATEVENTMONITORHANDLER_H +#define CSATEVENTMONITORHANDLER_H + +// INCLUDES +#include +#include +#include "MSatEventMonitor.h" + +// FORWARD DECLARATIONS +class MSatEventMonitorUtils; + + +// CLASS DECLARATION + +/** +* Base class for Event monitors. Responsible for +* starting and cancelling event monitoring and to inform +* Event observers of an event occurrence. +* +* @lib EventMonitors.lib +* @since Series 60 3.0 +*/ +class CSatEventMonitorHandler : public CBase, + public MSatEventMonitor + { + public: // Constructor and destructor + + /** + * C++ default constructor. + * @param aUtils Interface for Event monitor utils. + */ + CSatEventMonitorHandler( MSatEventMonitorUtils& aUtils ); + + /** + * Destructor. + */ + virtual ~CSatEventMonitorHandler(); + + public: // From base class + + /** + * From MSatEventMonitor Cancels event monitoring + */ + IMPORT_C void CancelMonitor(); + + /** + * From MSatEventMonitor Updates monitors state. + * This function call starts or cancels monitor + * @param aEvents A list of events to be monitored. If this monitors event + * is not on the list, this monitor is cancelled. + * @return TInt An error code indicating update status + */ + IMPORT_C TInt UpdateMonitor( TUint aEvents ); + + /** + * From MSatEventMonitor Checks is this event monitor monitoring + * particular event. + * @param aEvent Event to check against + * @return ETrue if aEvent is the same event this is monitoring + */ + IMPORT_C TBool IsMonitoringEvent( const TInt aEvent ); + + protected: // New functions + + /** + * Starts event monitoring + * @return An error code indicating monitor start status + */ + virtual TInt StartMonitor() = 0; + + /** + * Cancels event monitoring + */ + virtual void DoCancelMonitor() = 0; + + /** + * Base class constructor + * @param aEvent Monitor ID from the derived event monitor. + */ + void BaseConstructL( MSatEventMonitor::TEvent aEvent ); + + /** + * Passes event information to SatEngine when monitored event occurs. + * @param aIntArg An extra argument. Not all monitors use this. + * @param aSecArg An extra argument. Used if needed. + */ + void EventOccured( + TInt aIntArg = -1, + TInt aSecArg = -1 + ); + + protected: // Data + + // Event container. Link to SatEngine + MSatEventMonitorUtils& iEventUtils; + + private: + + // Derived monitor's event + RSat::TEventList iEvent; + + // Indicates is derived monitor SimRemovalMonitor + TBool iIsSimRemovalMonitor; + + // Indicaties is SimRemovalMonitor active + TBool iSimRemovalMonitorActive; + + }; + +#endif // CSATEVENTMONITORHANDLER_H + +// End of File