VirtualBox Main API
Public Member Functions | List of all members
IInternalProgressControl Interface Reference
Inheritance diagram for IInternalProgressControl:

Public Member Functions

void setCurrentOperationProgress (in unsigned long percent)
 Internal method, not to be called externally.
 
void waitForOtherProgressCompletion (in IProgress progressOther, in unsigned long timeoutMS)
 Internal method, not to be called externally.
 
void setNextOperation (in wstring nextOperationDescription, in unsigned long nextOperationsWeight)
 Internal method, not to be called externally.
 
void notifyPointOfNoReturn ()
 Internal method, not to be called externally.
 
void notifyComplete (in long resultCode, in IVirtualBoxErrorInfo errorInfo)
 Internal method, not to be called externally.
 

Member Function Documentation

◆ setCurrentOperationProgress()

void IInternalProgressControl::setCurrentOperationProgress ( in unsigned long  percent)

Internal method, not to be called externally.

◆ waitForOtherProgressCompletion()

void IInternalProgressControl::waitForOtherProgressCompletion ( in IProgress  progressOther,
in unsigned long  timeoutMS 
)

Internal method, not to be called externally.

Waits until the other task is completed (including all sub-operations) and forward all changes from the other progress to this progress. This means sub-operation number, description, percent and so on.

The caller is responsible for having at least the same count of sub-operations in this progress object as there are in the other progress object.

If the other progress object supports cancel and this object gets any cancel request (when here enabled as well), it will be forwarded to the other progress object.

Error information is automatically preserved (by transferring it to the current thread's error information). If the caller wants to set it as the completion state of this progress it needs to be done separately.

Parameters
progressOtherOther progress object to be "cloned".
timeoutMSTimeout (in ms). Pass 0 for an infinite timeout.
Expected result codes:
VBOX_E_TIMEOUTWaiting time has expired.

◆ setNextOperation()

void IInternalProgressControl::setNextOperation ( in wstring  nextOperationDescription,
in unsigned long  nextOperationsWeight 
)

Internal method, not to be called externally.

◆ notifyPointOfNoReturn()

void IInternalProgressControl::notifyPointOfNoReturn ( )

Internal method, not to be called externally.

◆ notifyComplete()

void IInternalProgressControl::notifyComplete ( in long  resultCode,
in IVirtualBoxErrorInfo  errorInfo 
)

Internal method, not to be called externally.