| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

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

- File List
- File Members

Loading...
Searching...
No Matches
AAX_CTaskAgent.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
19/*================================================================================================*/
20
21
22#ifndef AAX_CTaskAgent_H
23#define AAX_CTaskAgent_H
24
25#include "AAX_ITaskAgent.h"
26#include <memory>
27
28 class AAX_IController;
29 class AAX_IEffectParameters;
30 class AAX_ITask;
31
41 class AAX_CTaskAgent : public AAX_ITaskAgent
42{
43 public:
44 AAX_CTaskAgent (void) = default;
45 ~AAX_CTaskAgent (void) AAX_OVERRIDE;
46
47 public:
48
52 AAX_Result Initialize (IACFUnknown * iController ) AAX_OVERRIDE;
53 AAX_Result Uninitialize (void) AAX_OVERRIDE;
55
67 AAX_Result AddTask(IACFUnknown * iTask) AAX_OVERRIDE;
68 AAX_Result CancelAllTasks() AAX_OVERRIDE;
70
71protected:
72
78 virtual AAX_Result AddTask(std::unique_ptr<AAX_ITask> iTask);
79
83 virtual AAX_Result ReceiveTask(std::unique_ptr<AAX_ITask> iTask);
84
85public:
86
93 AAX_IController* GetController (void) { return mController; };
97 AAX_IEffectParameters* GetEffectParameters (void) { return mEffectParameters; }
99
100 private:
101 void ReleaseObjects();
102
103 AAX_IController* mController = nullptr;
104 AAX_IEffectParameters* mEffectParameters = nullptr;
105};
106
107
108#endif
AAX_Result
int32_t AAX_Result
Definition: AAX.h:334
AAX_ITaskAgent.h
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
AAX_CTaskAgent
Default implementation of the AAX_ITaskAgent interface.
Definition: AAX_CTaskAgent.h:42
AAX_CTaskAgent::Uninitialize
AAX_Result Uninitialize(void) AAX_OVERRIDE
AAX_CTaskAgent::AddTask
AAX_Result AddTask(IACFUnknown *iTask) AAX_OVERRIDE
Default implemenation of AddTask()
AAX_CTaskAgent::GetController
AAX_IController * GetController(void)
Returns a pointer to the plug-in's controller interface.
Definition: AAX_CTaskAgent.h:93
AAX_CTaskAgent::CancelAllTasks
AAX_Result CancelAllTasks() AAX_OVERRIDE
AAX_CTaskAgent::~AAX_CTaskAgent
~AAX_CTaskAgent(void) AAX_OVERRIDE
AAX_CTaskAgent::Initialize
AAX_Result Initialize(IACFUnknown *iController) AAX_OVERRIDE
AAX_CTaskAgent::ReceiveTask
virtual AAX_Result ReceiveTask(std::unique_ptr< AAX_ITask > iTask)
Convenience method for adding versioned tasks.
AAX_CTaskAgent::GetEffectParameters
AAX_IEffectParameters * GetEffectParameters(void)
Returns a pointer to the plug-in's data model interface.
Definition: AAX_CTaskAgent.h:97
AAX_CTaskAgent::AAX_CTaskAgent
AAX_CTaskAgent(void)=default
AAX_IController
Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAX ...
Definition: AAX_IController.h:42
AAX_IEffectParameters
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:80
AAX_ITask
Interface representing a request to perform a task.
Definition: AAX_ITask.h:48
AAX_ITaskAgent
Interface for a component that accepts task requests.
Definition: AAX_ITaskAgent.h:36
AAX_ITaskAgent::AAX_OVERRIDE
void **ppvObjOut AAX_OVERRIDE
Definition: AAX_ITaskAgent.h:40