| AAX SDK 2.8.0 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-2024 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * This file is part of the Avid AAX SDK.
8 *
9 * The AAX SDK is subject to commercial or open-source licensing.
10 *
11 * By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
12 * Agreement and Avid Privacy Policy.
13 *
14 * AAX SDK License: https://developer.avid.com/aax
15 * Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
16 *
17 * Or: You may also use this code under the terms of the GPL v3 (see
18 * www.gnu.org/licenses).
19 *
20 * THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
21 * EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
22 * DISCLAIMED.
23 *
24 */
25
32/*================================================================================================*/
33
34
35#ifndef AAX_CTaskAgent_H
36#define AAX_CTaskAgent_H
37
38#include "AAX_ITaskAgent.h"
39#include <memory>
40
41 class AAX_IController;
42 class AAX_IEffectParameters;
43 class AAX_ITask;
44
54 class AAX_CTaskAgent : public AAX_ITaskAgent
55{
56 public:
57 AAX_CTaskAgent (void) = default;
58 ~AAX_CTaskAgent (void) AAX_OVERRIDE;
59
60 public:
61
65 AAX_Result Initialize (IACFUnknown * iController ) AAX_OVERRIDE;
66 AAX_Result Uninitialize (void) AAX_OVERRIDE;
68
80 AAX_Result AddTask(IACFUnknown * iTask) AAX_OVERRIDE;
81 AAX_Result CancelAllTasks() AAX_OVERRIDE;
83
84protected:
85
91 virtual AAX_Result AddTask(std::unique_ptr<AAX_ITask> iTask);
92
96 virtual AAX_Result ReceiveTask(std::unique_ptr<AAX_ITask> iTask);
97
98public:
99
106 AAX_IController* GetController (void) { return mController; };
110 AAX_IEffectParameters* GetEffectParameters (void) { return mEffectParameters; }
112
113 private:
114 void ReleaseObjects();
115
116 AAX_IController* mController = nullptr;
117 AAX_IEffectParameters* mEffectParameters = nullptr;
118};
119
120
121#endif
AAX_Result
int32_t AAX_Result
Definition: AAX.h:347
AAX_ITaskAgent.h
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
AAX_CTaskAgent
Default implementation of the AAX_ITaskAgent interface.
Definition: AAX_CTaskAgent.h:55
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:106
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:110
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:55
AAX_IEffectParameters
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:93
AAX_ITask
Interface representing a request to perform a task.
Definition: AAX_ITask.h:61
AAX_ITaskAgent
Interface for a component that accepts task requests.
Definition: AAX_ITaskAgent.h:49
AAX_ITaskAgent::AAX_OVERRIDE
void **ppvObjOut AAX_OVERRIDE
Definition: AAX_ITaskAgent.h:53