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 ( TInt aPriority ) [private]

Constructor.

Parameters

TInt aPriority Active object priority

~CMsvOperationActiveSchedulerWait()

IMPORT_C ~CMsvOperationActiveSchedulerWait ( )

Destructor.

Any active request on the object is cancelled.

Member Functions Documentation

DoCancel()

void DoCancel ( ) [private, virtual]

Implements cancellation of an outstanding request.

CActive::DoCancel()

NewLC(TInt)

IMPORT_C CMsvOperationActiveSchedulerWait * NewLC ( TInt aPriority = 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 = EPriorityStandard Active object priority. It has a default value of EPriorityStandard.

RunL()

void RunL ( ) [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 void Start ( )

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

Member Data Documentation

CActiveSchedulerWait iActiveSchedulerWait

CActiveSchedulerWait iActiveSchedulerWait [private]