CSmsuActiveBase Class Reference

class CSmsuActiveBase : public CActive

Base class for SMS active objects.

Inherits from

Constructor & Destructor Documentation

CSmsuActiveBase(TInt)

IMPORT_CCSmsuActiveBase(TIntaPriority)[protected]

Constructor.

capability
None

Parameters

TInt aPriorityActive object priority

~CSmsuActiveBase()

IMPORT_C~CSmsuActiveBase()
Destructor.
capability
None

Member Functions Documentation

Complete(TInt)

IMPORT_C voidComplete(TIntaStatus)[protected, virtual]

Object use complete.

This is called at the end of the RunL(), if the RunL() has not reset the object to be active.

If an observer has been set (see Queue()), DoComplete() is called, and that observer is signalled with the object status.

capability
None

Parameters

TInt aStatusActive object status word

CompleteMyself(TInt, TBool)

IMPORT_C voidCompleteMyself(TIntaStatus,
TBoolaSetActive = ETrue
)[protected]

Signals this object.

capability
None

Parameters

TInt aStatusStatus code with which to signal the object
TBool aSetActive = ETrueTrue to set the object to be active

CompleteMyselfAfterTimeout(TInt)

IMPORT_C voidCompleteMyselfAfterTimeout(TIntaStatus)[protected]

This function is used to request that the active object is completed after the current timeout is handled. When a timeout occurs, the active object is cancelled which requires DoCancel() to be called. However the object is active until after the DoCancel() meaning it is not possible to make a new request. This function requests a second call to Complete() (via RunL etc.) which is done without the object being active.

This function can only be called when a timeout occurs, otherwise it would not get actioned.

capability
None

Parameters

TInt aStatusStatus code with which to signal the object

ConstructTimeoutL()

IMPORT_C voidConstructTimeoutL()[protected]

Constructs a timer.

This is required before use of TimedSetActive().
capability
None

DoComplete(TInt &)

voidDoComplete(TInt &)[protected, inline, virtual]

Implements derived-class specified Complete() behaviour.

This is called from Complete().

Parameters

TInt &

DoRunL()

voidDoRunL()[protected, pure virtual]

Implements derived-class specified RunL() behaviour.

This is called from RunL().

Queue(TRequestStatus &)

IMPORT_C voidQueue(TRequestStatus &aStatus)[protected]

Sets an asynchronous observer to which to report completion of this object.

capability
None

Parameters

TRequestStatus & aStatusAsynchronous status word of the observer

RunError(TInt)

IMPORT_C TIntRunError(TIntaError)[protected, virtual]

Handles leaves occurring in the RunL() function.

It calls Complete().

capability
None

Parameters

TInt aErrorRunL() leave code

RunL()

IMPORT_C voidRunL()[protected, virtual]

Handles the object's request completion event.

If a timer has been set with TimedSetActive(), this is cancelled. DoRunL() is then called. If, after this, the object is not active, Complete() is called.
capability
None

TimedOut()

IMPORT_C TBoolTimedOut()const [protected]

Determines if the object has timed out.

TimedSetActive

TimedSetActive(const TTimeIntervalMicroSeconds32 &)

IMPORT_C voidTimedSetActive(const TTimeIntervalMicroSeconds32 &aTimeIntervalMicroSeconds32)[protected]

Activates the object, and sets it to be completed after a specified time.

capability
None

Parameters

const TTimeIntervalMicroSeconds32 & aTimeIntervalMicroSeconds32Time after which to complete the object

TimedSetActiveCancel()

IMPORT_C voidTimedSetActiveCancel()[protected]

Cancels a TimedSetActive() request.

TimedSetActive

Member Data Documentation

TRequestStatus * iReport

TRequestStatus *iReport[protected]

Observer, set by Queue().

CSmsuTimeout * iSmsuTimeout

CSmsuTimeout *iSmsuTimeout[protected]

Timer, to be activated by TimedSetActive().