AAX SDK 2.8.0
Avid Audio Extensions Development Kit
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
41class AAX_IController;
43class AAX_ITask;
44
55{
56public:
57 AAX_CTaskAgent (void) = default;
59
60public:
61
68
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
113private:
114 void ReleaseObjects();
115
116 AAX_IController* mController = nullptr;
117 AAX_IEffectParameters* mEffectParameters = nullptr;
118};
119
120
121#endif
int32_t AAX_Result
Definition: AAX.h:347
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
Default implementation of the AAX_ITaskAgent interface.
Definition: AAX_CTaskAgent.h:55
AAX_Result Uninitialize(void) AAX_OVERRIDE
AAX_Result AddTask(IACFUnknown *iTask) AAX_OVERRIDE
Default implemenation of AddTask()
AAX_IController * GetController(void)
Returns a pointer to the plug-in's controller interface.
Definition: AAX_CTaskAgent.h:106
AAX_Result CancelAllTasks() AAX_OVERRIDE
~AAX_CTaskAgent(void) AAX_OVERRIDE
AAX_Result Initialize(IACFUnknown *iController) AAX_OVERRIDE
virtual AAX_Result ReceiveTask(std::unique_ptr< AAX_ITask > iTask)
Convenience method for adding versioned tasks.
AAX_IEffectParameters * GetEffectParameters(void)
Returns a pointer to the plug-in's data model interface.
Definition: AAX_CTaskAgent.h:110
AAX_CTaskAgent(void)=default
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
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:93
Interface representing a request to perform a task.
Definition: AAX_ITask.h:61
Interface for a component that accepts task requests.
Definition: AAX_ITaskAgent.h:49
void **ppvObjOut AAX_OVERRIDE
Definition: AAX_ITaskAgent.h:53