Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Location: e32base.h
Link against: euser.lib

Class CIdle

CIdle

Support

Supported from 5.0

Description

An active object that performs low-priority processing when no higher-priority active objects are ready to run.

An idle time active object together with its associated callback function may be used to implement potentially long running background tasks, such as spreadsheet recalculation and word processor repagination.

Derivation

CActiveThe core class of the active object abstraction
CBaseBase class for all classes to be instantiated on the heap
CIdleAn active object that performs low-priority processing when no higher-priority active objects are ready to run

Defined in CIdle:
New(), NewL(), Start(), ~CIdle()

Inherited from CActive:
Cancel(), Deque(), DoCancel(), EPriorityHigh, EPriorityIdle, EPriorityLow, EPriorityStandard, EPriorityUserInput, IsActive(), IsAdded(), Priority(), RunError(), RunL(), SetActive(), SetPriority(), TPriority, iStatus

Inherited from CBase:
operator new()

See also:


Construction and destruction


New()

static CIdle* New(TInt aPriority);

Description

Allocates and initialises an Idle time active object and adds it to the active scheduler.

Parameters

TInt aPriority

An integer specifying the priority of this active object. It must be lower than that of all other active objects on the active scheduler. The value CActive::TPriority::EPriorityIdle is recommended

Return value

CIdle*

Pointer to the new Idle time active object or NULL if the object could not be created.


NewL()

static CIdle* NewL(TInt aPriority);

Description

Allocates and initialises an Idle time active object and adds it to the active scheduler. The function leaves on failure.

Parameters

TInt aPriority

An integer specifying the priority of this active object. It must be lower than that of all other active objects on the active scheduler. The value CActive::TPriority::EPriorityIdle is recommended

Return value

CIdle*

Pointer to the new Idle time active object.


~CIdle()

~CIdle();

Description

Frees resources prior to destruction. Specifically, it cancels any outstanding request.

[Top]


Start function


Start()

void Start(TCallBack aCallBack);

Description

Starts the background task.

The background task is encapsulated in the callback. The function represented by this callback is called every time this Idle time active object is scheduled to run.

The callback function should be structured to perform a background task in many increments, i.e. it should voluntarily relinquish control (i.e. return) after a suitable time interval to allow other, higher priority events to be handled.

If the callback function has further work to do, it should return a true value. This ensures that the active object is scheduled to run again later.

Once the callback function has finally completed its work, it should return a false value. The active object is then no longer scheduled to run.

Parameters

TCallBack aCallBack

A callback object encapsulating a function which is called when no higher priority active object is ready to run.

See also: