AAX SDK 2.8.0
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
List of all members | Public Member Functions
AAX_IACFTask Class Referenceabstract

#include <AAX_IACFTask.h>

Inheritance diagram for AAX_IACFTask:
[legend]
Collaboration diagram for AAX_IACFTask:
[legend]

Description

Versioned interface for an asynchronous task.

:Implemented by the AAX Host:

Used by the task agent.

This interface describes a task request and provides a way for the agent to express one or more results of the task as well as the progress of the task.

This interface is open-ended for both inputs and outputs. The host and agent must use common definitions for specific task types, their possible arguments, and the expected results.

Public Member Functions

virtual AAX_Result GetType (AAX_CTypeID *oType) const =0
 
virtual AAX_IACFDataBuffer const * GetArgumentOfType (AAX_CTypeID iType) const =0
 
virtual AAX_Result SetProgress (float iProgress)=0
 
virtual float GetProgress () const =0
 
virtual AAX_Result AddResult (AAX_IACFDataBuffer const *iResult)=0
 Attach result data to this task.
 
virtual AAX_Result SetDone (AAX_TaskCompletionStatus iStatus)=0
 Inform the host that the task is completed.
 
- Public Member Functions inherited from IACFUnknown
virtual BEGIN_ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE QueryInterface (const acfIID &iid, void **ppOut)=0
 Returns pointers to supported interfaces.
 
virtual acfUInt32 ACFMETHODCALLTYPE AddRef (void)=0
 Increments reference count.
 
virtual acfUInt32 ACFMETHODCALLTYPE Release (void)=0
 Decrements reference count.
 

Member Function Documentation

◆ GetType()

virtual AAX_Result AAX_IACFTask::GetType ( AAX_CTypeID oType) const
pure virtual

An identifier defining the type of the requested task

Parameters
[out]oTypeThe type of this task request

Implemented in AAX_CTask.

◆ GetArgumentOfType()

virtual AAX_IACFDataBuffer const * AAX_IACFTask::GetArgumentOfType ( AAX_CTypeID  iType) const
pure virtual

Additional information defining the request, depending on the task type

Parameters
[in]iTypeThe type of argument requested. Possible argument types, if any, and the resulting data buffer format must be defined per task type.
Returns
The requested argument data, or nullptr. This data buffer's type ID is expected to match iType . The caller takes ownership of this object.

Implemented in AAX_CTask.

◆ SetProgress()

virtual AAX_Result AAX_IACFTask::SetProgress ( float  iProgress)
pure virtual

Inform the host about the current status of the task

Parameters
[in]iProgressA value between 0 (no progress) and 1 (complete)

Implemented in AAX_CTask.

◆ GetProgress()

virtual float AAX_IACFTask::GetProgress ( ) const
pure virtual

Returns the current progress

Implemented in AAX_CTask.

◆ AddResult()

virtual AAX_Result AAX_IACFTask::AddResult ( AAX_IACFDataBuffer const *  iResult)
pure virtual

Attach result data to this task.

This can be called multiple times to add multiple types of results to a single task.

The host may process the result data immediately or may wait for the task to complete.

The plug-in is expected to release the data buffer upon making this call. At a minimum, the data buffer must not be changed after this call is made. See ACFPtr::inArg()

Parameters
[in]iResultA buffer containing the result data. Expected result types, if any, and their data buffer format must be defined per task type.

Implemented in AAX_CTask.

◆ SetDone()

virtual AAX_Result AAX_IACFTask::SetDone ( AAX_TaskCompletionStatus  iStatus)
pure virtual

Inform the host that the task is completed.

If AAX_SUCCESS is returned, the object should be considered invalid and released by the caller.

Parameters
[in]iStatusThe final status of the task. This indicates to the host whether or not the task was performed as requested.

Implemented in AAX_CTask.


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