--- /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 <e32base.h>
+#include <etelsat.h>
+#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