| 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_ITask Class Referenceabstract
AAX SDK Manual » Additional AAX features » Task agent interface

`#include <AAX_ITask.h>`

Inheritance diagram for AAX_ITask:
[legend]

## Description

Interface representing a request to perform a 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_ITask ()=default
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_ITask * | SetDone (AAX_TaskCompletionStatus iStatus)=0
| Inform the host that the task is completed.

## Constructor & Destructor Documentation

## ◆ ~AAX_ITask()

virtual AAX_ITask::~AAX_ITask | ( |  | ) |
| virtual default

## Member Function Documentation

## ◆ GetType()

virtual AAX_Result AAX_ITask::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

Implemented in AAX_VTask.

## ◆ GetArgumentOfType()

virtual AAX_IACFDataBuffer const * AAX_ITask::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.

Implemented in AAX_VTask.

## ◆ SetProgress()

virtual AAX_Result AAX_ITask::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)

Implemented in AAX_VTask.

## ◆ GetProgress()

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

Returns the current progress

Implemented in AAX_VTask.

## ◆ AddResult()

virtual AAX_Result AAX_ITask::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.

Implemented in AAX_VTask.

## ◆ SetDone()

virtual AAX_ITask * AAX_ITask::SetDone | ( | AAX_TaskCompletionStatus | iStatus | ) |
| pure virtual

Inform the host that the task is completed.

If successful, returns a null pointer. Otherwise, returns a pointer back to the same object. This is the expected usage pattern:

// release the task on success, retain it on failure
myTask = myTask->SetDone(status);

Parameters

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

Implemented in AAX_VTask.

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

- AAX_ITask.h