CMsvOperationActiveSchedulerWait Class Reference

class CMsvOperationActiveSchedulerWait : public CActive

Utility class used to wait until an asynchronous messaging operation has completed.

To use the class:

1. Create a new CMsvOperationActiveSchedulerWait object

2. Call the messaging function that returns the asynchronous operation. The operation observer parameter should be the iStatus word of the CMsvOperationActiveSchedulerWait object. This means that the CMsvOperationActiveSchedulerWait object will be signalled when the operation completes.

3. Call the CMsvOperationActiveSchedulerWait object's Start() function. This sets the object to be active.

These steps cause the program to wait until the operation completes.

     CMsvOperationActiveSchedulerWait* waiter=CMsvOperationActiveSchedulerWait::NewLC();
     CMsvOperation* op = function_returning_opLC(waiter->iStatus);
     waiter->Start();

     CleanupStack::PopAndDestroy(2); // op, waiter

Inherits from

Constructor & Destructor Documentation

CMsvOperationActiveSchedulerWait(TInt)

CMsvOperationActiveSchedulerWait(TIntaPriority)[private]

Constructor.

Parameters

TInt aPriorityActive object priority

~CMsvOperationActiveSchedulerWait()

IMPORT_C~CMsvOperationActiveSchedulerWait()

Destructor.

Any active request on the object is cancelled.

Member Functions Documentation

DoCancel()

voidDoCancel()[private, virtual]

Implements cancellation of an outstanding request.

CActive::DoCancel()

NewLC(TInt)

IMPORT_C CMsvOperationActiveSchedulerWait *NewLC(TIntaPriority = EPriorityStandard)[static]

Allocates and constructs a new CMsvOperationActiveSchedulerWait object.

The new object is added to the active scheduler and left on the cleanup stack.

leave
KErrNoMemory

Parameters

TInt aPriority = EPriorityStandardActive object priority. It has a default value of EPriorityStandard.

RunL()

voidRunL()[private, virtual]

Handles a request completion event.

The function stops the object waiting, and allows the program to resume execution after the Start() function call.

CActive::RunL()

Start()

IMPORT_C voidStart()

Sets the object to be active, and wait until the request is completed.

Member Data Documentation

CActiveSchedulerWait iActiveSchedulerWait

CActiveSchedulerWait iActiveSchedulerWait[private]