AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AAX_VCollection.h
Go to the documentation of this file.
1 // **************************************************************************************
2 // FILE: AAX_VCollection.h
3 //
4 // Copyright 2013 by Avid Technology, Inc.
5 // All rights reserved
6 //
7 // CONFIDENTIAL: This document contains confidential information.
8 // Do not disclose any information contained in this document to any
9 // third-party without the prior written consent of Avid Technology, Inc.
10 //
11 // **************************************************************************************
12 
13 #ifndef AAX_VCOLLECTION_H
14 #define AAX_VCOLLECTION_H
15 
16 #include "AAX.h"
17 #include "AAX_ICollection.h"
18 #include "AAX_IACFCollection.h"
19 #include "acfunknown.h"
20 #include "ACFPtr.h"
21 #include <set>
22 
23 class IACFUnknown;
24 class IACFPluginDefinition;
25 class AAX_IACFCollection;
27 
33 {
34 public:
35  AAX_VCollection (IACFUnknown * pUnkHost);
36  virtual ~AAX_VCollection ();
37 
43  virtual AAX_Result AddEffect ( const char * inEffectID, AAX_IEffectDescriptor * inEffectDescriptor );
44  virtual AAX_Result SetManufacturerName( const char* inPackageName );
45  virtual AAX_Result AddPackageName( const char *inPackageName );
46  virtual AAX_Result SetPackageVersion( uint32_t inVersion );
47  virtual AAX_IPropertyMap * NewPropertyMap ();
48  virtual AAX_Result SetProperties ( AAX_IPropertyMap * iProperties );
49 
50  IACFPluginDefinition* GetIUnknown(void) const;
51 
52 private:
53  ACFPtr<IACFUnknown> mUnkHost;
54  ACFPtr<AAX_IACFCollection> mIACFCollection;
55  std::set<AAX_IEffectDescriptor *> mEffectDescriptors;
56  std::set<AAX_IPropertyMap *> mPropertyMaps;
57 };
58 
59 #endif
virtual AAX_Result SetPackageVersion(uint32_t inVersion)
Set the plug-in package version number.
Various utility definitions for AAX.
Versioned interface to represent a plug-in binary&#39;s static description.
Definition: AAX_IACFCollection.h:39
Interface to represent a plug-in binary&#39;s static description.
Definition: AAX_ICollection.h:51
Generic plug-in description property map.
Definition: AAX_IPropertyMap.h:56
virtual AAX_Result SetProperties(AAX_IPropertyMap *iProperties)
Set the properties of a new property map.
IACFPluginDefinition * GetIUnknown(void) const
virtual AAX_Result AddPackageName(const char *inPackageName)
Set the plug-in package name.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.dox:231
virtual AAX_IEffectDescriptor * NewDescriptor()
Create a new Effect descriptor.
int32_t AAX_Result
Definition: AAX.h:118
virtual AAX_IPropertyMap * NewPropertyMap()
Create a new property map.
AAX_VCollection(IACFUnknown *pUnkHost)
Version-managed concrete AAX_ICollection class.
Definition: AAX_VCollection.h:32
virtual AAX_Result AddEffect(const char *inEffectID, AAX_IEffectDescriptor *inEffectDescriptor)
Add an Effect description to the collection.
virtual AAX_Result SetManufacturerName(const char *inPackageName)
Set the plug-in manufacturer name.
virtual ~AAX_VCollection()
Versioned interface to represent a plug-in binary&#39;s static description.
Interface to represent a plug-in binary&#39;s static description.
Description interface for an effect&#39;s (plug-in type&#39;s) components.
Definition: AAX_IEffectDescriptor.h:47