|
||
class CActiveSchedulerWait : public CBase;
Controls a single scheduling loop in the current active scheduler.
This class provides better control of nested wait loops in the active scheduler.
Note that a CActiveSchedulerWait object can be used as a data member inside other CBase
derived classes.
CBase
-
Base class for all classes to be instantiated on the heap.
CActiveSchedulerWait
-
Controls a single scheduling loop in the current active scheduler.
Defined in CActiveSchedulerWait
:
AsyncStop()
Stops the scheduling loop owned by this object.AsyncStop(const TCallBack &)
Stops the scheduling loop owned by this object, specifying a callback.CActiveSchedulerWait()
Default constructor. CanStopNow()const
Reports whether stopping will have immediate effect.IsStarted()const
Reports whether this CActiveSchedulerWait object is currently started.Start()
Starts a new wait loop under the control of the current active scheduler.~CActiveSchedulerWait()
Ensures that the attached scheduler loop, and all nested loops, are stopped prio...Inherited from CBase
:
Delete(CBase *)
Deletes the specified object.Extension_(TUint,TAny *&,TAny *)
Extension function operator new(TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TAny *)
Initialises the object to binary zeroes.operator new(TUint,TLeave)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TLeave,TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TUint)
Allocates the object from the heap and then initialises its contents to binary z...IMPORT_C ~CActiveSchedulerWait();
Ensures that the attached scheduler loop, and all nested loops, are stopped prior to destruction.
CActiveSchedulerWait::AsyncStop()
Stops the scheduling loop owned by this object.IMPORT_C void Start();
Starts a new wait loop under the control of the current active scheduler.
Compared with CActiveScheduler::Start()
, this object owns control of the scheduling loop that is started, and that loop can only be stopped by using this objects
CActiveSchedulerWait::AsyncStop()
function or the CActiveScheduler::Halt(TInt)const
function. CActiveSchedulerWait::Start()
only returns when either of thos has occurred.
This is the preferred way to start a nested wait loop. Typically, a nested wait loop is used when the handling of a completed event in an active object requires processing further events from the other active objects before it can complete. This is a form of modal processing.
|
CActiveSchedulerWait::AsyncStop()
Stops the scheduling loop owned by this object.CActiveSchedulerWait::IsStarted()const
Reports whether this CActiveSchedulerWait object is currently started.CActiveScheduler::Start()
Starts a new wait loop under the control of the current active scheduler.CActiveScheduler::Halt(TInt)const
Unilaterally terminates the current scheduler loop.IMPORT_C void AsyncStop();
Stops the scheduling loop owned by this object.
Note that the corresponding call to CActiveSchedulerWait::Start()
only returns once all nested scheduler loops have stopped.
|
IMPORT_C void AsyncStop(const TCallBack &aCallMeWhenStopped);
Stops the scheduling loop owned by this object, specifying a callback.
This version of CActiveSchedulerWait::AsyncStop()
provides a callback which is invoked immediately after the scheduler loop actually stops before the corresponding call to
CActiveSchedulerWait::Start()
returns.
Note that the corresponding call to CActiveSchedulerWait::Start()
only returns once all nested scheduler loops have stopped.
|
|
inline TBool IsStarted() const;
Reports whether this CActiveSchedulerWait object is currently started.
Note: a CActiveSchedulerWait object itself becomes "stopped" as soon as CActiveSchedulerWait::AsyncStop()
is called, and can be started again immediately if required (but this would start a new nested level of the scheduler).
|
CActiveSchedulerWait::Start()
Starts a new wait loop under the control of the current active scheduler.CActiveSchedulerWait::AsyncStop()
Stops the scheduling loop owned by this object.IMPORT_C TBool CanStopNow() const;
Reports whether stopping will have immediate effect.
This returns an indication of whether a call to CActiveSchedulerWait::AsyncStop()
would be expected to stop the scheduler loop immediately, or whether it will have to wait until nested scheduler loops have
stopped. This may alter which version of CActiveSchedulerWait::AsyncStop()
you would want to call.
|
|
CActiveSchedulerWait::Start()
Starts a new wait loop under the control of the current active scheduler.CActiveSchedulerWait::AsyncStop()
Stops the scheduling loop owned by this object.