Original Symbian headers
Selected EUSER, Window Server, networking, graphics and device declarations
Loading...
Searching...
No Matches
CDeltaTimer Class Reference

A queue of timed events. More...

#include <e32base.h>

Inheritance diagram for CDeltaTimer:
CActive CBase

Public Member Functions

virtual IMPORT_C void Queue (TTimeIntervalMicroSeconds32 aTimeInMicroSeconds, TDeltaTimerEntry &aEntry)
 Adds a new timed event entry into the timed event queue.
 
virtual IMPORT_C void Remove (TDeltaTimerEntry &aEntry)
 Removes the specified timed event entry from the timer queue.
 
IMPORT_C TInt QueueLong (TTimeIntervalMicroSeconds aTimeInMicroSeconds, TDeltaTimerEntry &aEntry)
 Adds a new timed event entry into the timed event queue.
 
 ~CDeltaTimer ()
 Destructor.
 
- Public Member Functions inherited from CActive
IMPORT_C ~CActive ()
 Frees resources prior to destruction.
 
IMPORT_C void Cancel ()
 Cancels the wait for completion of an outstanding request.
 
IMPORT_C void Deque ()
 Removes the active object from the active scheduler's list of active objects.
 
IMPORT_C void SetPriority (TInt aPriority)
 Sets the priority of the active object.
 
TBool IsActive () const
 Determines whether the active object has a request outstanding.
 
TBool IsAdded () const
 Determines whether the active object has been added to the active scheduler's list of active objects.
 
TInt Priority () const
 Gets the priority of the active object.
 
- Public Member Functions inherited from CBase
 CBase ()
 Default constructor.
 
virtual IMPORT_C ~CBase ()
 Virtual destructor.
 
TAny * operator new (TUint aSize, TAny *aBase) __NO_THROW
 Initialises the object to binary zeroes.
 
TAny * operator new (TUint aSize) __NO_THROW
 Allocates the object from the heap and then initialises its contents to binary zeroes.
 
TAny * operator new (TUint aSize, TLeave)
 Allocates the object from the heap and then initialises its contents to binary zeroes.
 
TAny * operator new (TUint aSize, TUint aExtraSize) __NO_THROW
 Allocates the object from the heap and then initialises its contents to binary zeroes.
 
TAny * operator new (TUint aSize, TLeave, TUint aExtraSize)
 Allocates the object from the heap and then initialises its contents to binary zeroes.
 

Static Public Member Functions

static IMPORT_C CDeltaTimer * NewL (TInt aPriority)
 Creates a new timed event queue with the specified active object priority.
 
static IMPORT_C CDeltaTimer * NewL (TInt aPriority, TTimeIntervalMicroSeconds32 aGranularity)
 Creates a new timed event queue with the specified active object priority, and the specified timer granularity.
 
- Static Public Member Functions inherited from CBase
static IMPORT_C void Delete (CBase *aPtr)
 Deletes the specified object.
 

Additional Inherited Members

- Public Types inherited from CActive
enum  TPriority {
  EPriorityIdle =-100 , EPriorityLow =-20 , EPriorityStandard =0 , EPriorityUserInput =10 ,
  EPriorityHigh =20
}
 Defines standard priorities for active objects. More...
 
- Public Attributes inherited from CActive
TRequestStatus iStatus
 The request status associated with an asynchronous request.
 
- Protected Member Functions inherited from CActive
IMPORT_C CActive (TInt aPriority)
 Constructs the active object with the specified priority.
 
IMPORT_C void SetActive ()
 Indicates that the active object has issued a request and that it is now outstanding.
 
virtual IMPORT_C TInt RunError (TInt aError)
 Handles a leave occurring in the request completion event handler RunL().
 
virtual IMPORT_C TInt Extension_ (TUint aExtensionId, TAny *&a0, TAny *a1)
 Extension function.
 

Detailed Description

A queue of timed events.

A timed event is a callback function encapsulated by a TDeltaTimerEntry object, and is intended to be called when the time interval represented by the event expires.

The queue itself is a TDeltaQue list. A timed event entry is added into a position in the queue that is determined by the time interval specified for that event. Although the time interval for a timed event is specified as an interval from the present moment, when added to the queue the implementation treats each event as having an interval from the previous timed event (or now).

CDeltaTimer is an active object, driven by an RTimer which is usually set to expire upon completion of the event at the head of the queue. If the time to the next event is too great or an event at the head of the queue has been removed, the timer may be set to expire prior to the event at the head of the queue (if any).

When the timer completes, the head of the queue is inspected to see whether the timed event at the head of the queue has expired. On expiry, the callback function represented by that timed event is called, and the timed event entry is removed from the queue. The queue then inspects further events for expiry, calling and removing them as necessary until either the queue is empty or there is an event in the future to wait for.

Note that the tick period is the minimum time interval for an event and the granularity of all timings using the queue. Note that in general, any event may be called back some time after it has expired and that specifically the duration of all events will at least be rounded up to a muliple of the tick period.

See also
TDeltaTimerEntry
TDeltaQue
RTimer
API status
Published to all clients. Released API.

Definition at line 1910 of file e32base.h.

Constructor & Destructor Documentation

◆ ~CDeltaTimer()

CDeltaTimer::~CDeltaTimer ( )

Destructor.

Frees all resources before destruction of the object. Specifically, it cancels any outstanding timer requests generated by the RTimer object and then deletes all timed event entries from the timed event queue.

RTimer

(generated from Symbian Developer Library)

Member Function Documentation

◆ NewL() [1/2]

static IMPORT_C CDeltaTimer * CDeltaTimer::NewL ( TInt  aPriority)
static

Creates a new timed event queue with the specified active object priority.

Parameters
aPriorityThe priority of this active object.

(generated from Symbian Developer Library)

◆ NewL() [2/2]

static IMPORT_C CDeltaTimer * CDeltaTimer::NewL ( TInt  aPriority,
TTimeIntervalMicroSeconds32  aGranularity 
)
static

Creates a new timed event queue with the specified active object priority, and the specified timer granularity.

Parameters
aPriorityThe priority of this active object.
aGranularityIgnored. The resolution of the timer is the tick period.

(generated from Symbian Developer Library)

◆ Queue()

IMPORT_C void CDeltaTimer::Queue ( TTimeIntervalMicroSeconds32  aTimeInMicroSeconds,
TDeltaTimerEntry &  aEntry 
)
virtual

Adds a new timed event entry into the timed event queue.

Parameters
aTimeInMicroSecondsThe interval from the present time when the timed event entry is to expire.
aEntryThe timed event entry encapsulating the call back that is to be called when this timed event entry expires.

(generated from Symbian Developer Library)

◆ QueueLong()

IMPORT_C TInt CDeltaTimer::QueueLong ( TTimeIntervalMicroSeconds  aTimeInMicroSeconds,
TDeltaTimerEntry &  aEntry 
)

Adds a new timed event entry into the timed event queue.

Parameters
aTimeInMicroSecondsThe interval from the present time when the timed event entry is to expire.
aEntryThe timed event entry encapsulating the call back that is to be called when this timed event entry expires.

(generated from Symbian Developer Library)

◆ Remove()

IMPORT_C void CDeltaTimer::Remove ( TDeltaTimerEntry &  aEntry)
virtual

Removes the specified timed event entry from the timer queue.

Parameters
aEntryThe timed event entry.

(generated from Symbian Developer Library)


The documentation for this class was generated from the following files: