--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/mmcesrv/mmceserver/inc/mceexpirationhandler.h Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 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: This header file is included by the subsystems which are
+* using timer services, but are not responsible for creating
+* the CTimerManager instance.
+*
+*/
+
+
+
+#ifndef __MCETIMER_H__
+#define __MCETIMER_H__
+
+// INCLUDES
+#include <e32def.h>
+
+/// Every timer is associated with an identifier of this type.
+/// When a timer is set, TMceTimerId is returned to the user of the Lightweight
+/// timer subsystem.
+/// When a timer expires, its TMceTimerId is passed in the callback.
+/// If the user wishes to stop or adjust a certain timer, it has to pass the
+/// TMceTimerId of the timer in question to the Lightweight timer subsystem.
+typedef TUint32 TMceTimerId;
+
+// CLASS DEFINITION
+/**
+ * When a timer expires, this interface is called by the Ligthweight timer
+ * subsystem.
+ */
+class MMCEExpirationHandler
+ {
+ public: // Constructors and destructor
+
+ /// Virtual destructor
+ virtual ~MMCEExpirationHandler() {}
+
+ public: // Abstract methods
+
+ /**
+ * Indicates that a timer has expired.
+ *
+ * @param aTimerId Identifies the expired timer
+ * @param aTimerParam User specified value which was given when the timer
+ * was set. It can be used to identify the timer in case multiple timers
+ * are running simultaneously. Value is NULL if the timer was set using
+ * CTimerManager::StartL() without parameter aTimerParam. Ownership isn't
+ * transferred.
+ */
+ virtual void TimerExpiredL( TMceTimerId aTimerId, TAny* aTimerParam ) = 0;
+ };
+
+
+// CLASS DEFINITION
+/**
+ * MMceTimerManager provides methods for starting, stopping and adjusting timers.
+ */
+class MMceTimerManager
+ {
+ public: // Enumerations
+
+ /// This exists for backward compatibility
+ enum TMceTimerIdValues
+ {
+ /// TimerId that is never used with a valid timer
+ KNoSuchTimer = 0
+ };
+
+ public: // Constructors and destructor
+
+ /// Virtual destructor
+ virtual ~MMceTimerManager() {}
+
+ public: // Abstract methods
+
+ /**
+ * Creates a new timer and starts it.
+ *
+ * @pre aObserver != NULL
+ * @see See also this method 'MMCEExpirationHandler::TimerExpiredL'
+ *
+ * @param aObserver IN: Callback to use when timer expires. Ownership is
+ * not transferred.
+ * @param aMilliseconds Timer duration in milliseconds (with 32 bits, the
+ * max value is ~50 days)
+ * @return value TimerId value identifying the new timer
+ *
+ * In case of an error, this function leaves.
+ */
+ virtual TMceTimerId StartL( MMCEExpirationHandler* aObserver,
+ TUint aMilliseconds ) = 0;
+
+ /**
+ * Creates a new timer and starts it.
+ *
+ * @pre aObserver != NULL
+ * @see See also this method 'MMCEExpirationHandler::TimerExpiredL'
+ *
+ * @param aObserver IN: Callback to use when timer expires. Ownership is
+ * not transferred.
+ * @param aMilliseconds Timer duration in milliseconds (with 32 bits, the
+ * max value is ~50 days)
+ * @param aTimerParam User specified value which will be passed to the
+ * aObserver function MMCEExpirationHandler::TimerExpiredL() when the timer
+ * expires. Ownership isn't transferred.
+ * @return value TimerId value identifying the new timer
+ *
+ * In case of an error, this function leaves.
+ */
+ virtual TMceTimerId StartL( MMCEExpirationHandler* aObserver,
+ TUint aMilliseconds,
+ TAny* aTimerParam ) = 0;
+
+ /**
+ * Stops the specified timer.
+ *
+ * This function doesn't leave in case of error, as it is thought that this
+ * function is usually also called from destructors.
+ *
+ * @param aTimerId Identifies the timer to be stopped
+ * @return value KErrNone: successful
+ * KErrNotFound : no such timer exists
+ */
+ virtual TInt Stop( TMceTimerId aTimerId ) = 0;
+
+ /**
+ * Checks if there exists a timer which hasn't expired yet, with the
+ * specified TimerId.
+ *
+ * @param aTimerId Identifies the timer
+ * @return value ETrue: timer exists, KFalse: no such timer
+ */
+ virtual TBool IsRunning( TMceTimerId aTimerId ) const = 0;
+
+ };
+
+#endif // __MCETIMER_H__
+
+