AAX SDK  2.4.1
Avid Audio Extensions Development Kit
AAX_VCollection.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright 2013-2017, 2019 by Avid Technology, Inc.
5  * All rights reserved.
6  *
7  * CONFIDENTIAL: This document contains confidential information. Do not
8  * read or examine this document unless you are an Avid Technology employee
9  * or have signed a non-disclosure agreement with Avid Technology which protects
10  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
11  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
12  * OF Avid Technology, INC.
13  *
14  */
15 
22 /*================================================================================================*/
23 
24 #ifndef AAX_VCOLLECTION_H
25 #define AAX_VCOLLECTION_H
26 
27 #include "AAX.h"
28 #include "AAX_ICollection.h"
29 #include "AAX_IACFCollection.h"
30 #include "AAX_VDescriptionHost.h"
31 #include "acfunknown.h"
32 #include "ACFPtr.h"
33 #include <set>
34 
35 class IACFUnknown;
36 class IACFPluginDefinition;
37 class AAX_IACFCollection;
39 
45 {
46 public:
49 
55  AAX_Result AddEffect ( const char * inEffectID, AAX_IEffectDescriptor * inEffectDescriptor ) AAX_OVERRIDE;
56  AAX_Result SetManufacturerName( const char* inPackageName ) AAX_OVERRIDE;
57  AAX_Result AddPackageName( const char *inPackageName ) AAX_OVERRIDE;
58  AAX_Result SetPackageVersion( uint32_t inVersion ) AAX_OVERRIDE;
61 
65 
66  IACFPluginDefinition* GetIUnknown(void) const;
67 
68 private:
69  ACFPtr<IACFUnknown> mUnkHost;
70  ACFPtr<AAX_IACFCollection> mIACFCollection;
71  AAX_VDescriptionHost mDescriptionHost;
72  std::set<AAX_IEffectDescriptor *> mEffectDescriptors;
73  std::set<AAX_IPropertyMap *> mPropertyMaps;
74 };
75 
76 #endif
Various utility definitions for AAX.
int32_t AAX_Result
Definition: AAX.h:337
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:141
Versioned interface to represent a plug-in binary's static description.
Interface to represent a plug-in binary's static description.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:248
Publicly inherits from IACFUnknown.This abstract interface is used to indentify all of the plug-in co...
Definition: AAX_ACFInterface.doxygen:297
Versioned interface to represent a plug-in binary's static description.
Definition: AAX_IACFCollection.h:40
Interface to represent a plug-in binary's static description.
Definition: AAX_ICollection.h:54
Definition: AAX_IDescriptionHost.h:25
Description interface for an effect's (plug-in type's) components.
Definition: AAX_IEffectDescriptor.h:50
Generic plug-in description property map.
Definition: AAX_IPropertyMap.h:59
Version-managed concrete AAX_ICollection class.
Definition: AAX_VCollection.h:45
AAX_Result SetProperties(AAX_IPropertyMap *inProperties) AAX_OVERRIDE
Set the properties of the collection.
~AAX_VCollection() AAX_OVERRIDE
AAX_Result AddPackageName(const char *inPackageName) AAX_OVERRIDE
Set the plug-in package name.
AAX_Result AddEffect(const char *inEffectID, AAX_IEffectDescriptor *inEffectDescriptor) AAX_OVERRIDE
Add an Effect description to the collection.
AAX_Result SetManufacturerName(const char *inPackageName) AAX_OVERRIDE
Set the plug-in manufacturer name.
AAX_IEffectDescriptor * NewDescriptor() AAX_OVERRIDE
Create a new Effect descriptor.
AAX_IPropertyMap * NewPropertyMap() AAX_OVERRIDE
Create a new property map.
AAX_VCollection(IACFUnknown *pUnkHost)
AAX_IDescriptionHost * DescriptionHost() AAX_OVERRIDE
AAX_Result SetPackageVersion(uint32_t inVersion) AAX_OVERRIDE
Set the plug-in package version number.
IACFDefinition * HostDefinition() const AAX_OVERRIDE
IACFPluginDefinition * GetIUnknown(void) const
Definition: AAX_VDescriptionHost.h:33