Logo Search packages:      
Sourcecode: virtualbox-ose version File versions

VMTask Struct Reference

Inherited by VMProgressTask.

List of all members.

Detailed Description

Task structure for asynchronous VM operations.

Once created, the task structure adds itself as a Console caller. This means:

1. The user must check for rc() before using the created structure (e.g. passing it as a thread function argument). If rc() returns a failure, the Console object may not be used by the task (see Console::addCaller() for more details). 2. On successful initialization, the structure keeps the Console caller until destruction (to ensure Console remains in the Ready state and won't be accidentally uninitialized). Forgetting to delete the created task will lead to Console::uninit() stuck waiting for releasing all added callers.

If aUsesVMPtr parameter is true, the task structure will also add itself as a Console::mpVM caller with the same meaning as above. See Console::addVMCaller() for more info.

Definition at line 120 of file ConsoleImpl.cpp.

Public Member Functions

bool isOk () const
HRESULT rc () const
void releaseCaller ()
void releaseVMCaller ()
 VMTask (Console *aConsole, bool aUsesVMPtr)

Public Attributes

const ComObjPtr< ConsolemConsole

Private Attributes

bool mCallerAdded: 1
bool mVMCallerAdded: 1

The documentation for this struct was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index