| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
List of all members | Public Member Functions
AAX_IACFTask Class Referenceabstract
AAX SDK Manual » Additional AAX features » Task agent interface

`#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] | oType | The type of this task request

## ◆ 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] | iType | The 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.

## ◆ SetProgress()

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

Inform the host about the current status of the task

Parameters

  [in] | iProgress | A value between 0 (no progress) and 1 (complete)

## ◆ GetProgress()

virtual float AAX_IACFTask::GetProgress | ( |  | ) | const
| pure virtual

Returns the current progress

## ◆ 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] | iResult | A buffer containing the result data. Expected result types, if any, and their data buffer format must be defined per task type.

## ◆ 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] | iStatus | The final status of the task. This indicates to the host whether or not the task was performed as requested.

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

- AAX_IACFTask.h