AAX SDK  2.4.1
Avid Audio Extensions Development Kit
AAX_IPageTable.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  * Copyright 2016-2017 by Avid Technology, Inc.
4  * All rights reserved.
5  *
6  * CONFIDENTIAL: This document contains confidential information. Do not
7  * read or examine this document unless you are an Avid Technology employee
8  * or have signed a non-disclosure agreement with Avid Technology which protects
9  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
10  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
11  * OF Avid Technology, INC.
12  */
13 
14 #ifndef AAXLibrary_AAX_IPageTable_h
15 #define AAXLibrary_AAX_IPageTable_h
16 
17 #include "AAX.h"
18 #include "AAX_IString.h"
19 
20 class IACFUnknown;
21 
22 
28 {
29 public:
30 
35  virtual ~AAX_IPageTable() { }
36 
37  //
38  // AAX_IACFPageTable
39  //
40 
47  virtual AAX_Result Clear() = 0;
48 
58  virtual AAX_Result Empty(AAX_CBoolean& oEmpty) const = 0;
59 
66  virtual AAX_Result GetNumPages(int32_t& oNumPages) const = 0;
67 
75  virtual AAX_Result InsertPage(int32_t iPage) = 0;
76 
84  virtual AAX_Result RemovePage(int32_t iPage) = 0;
85 
99  virtual AAX_Result GetNumMappedParameterIDs(int32_t iPage, int32_t& oNumParameterIdentifiers) const = 0;
100 
110  virtual AAX_Result ClearMappedParameter(int32_t iPage, int32_t iIndex) = 0;
111 
123  virtual AAX_Result GetMappedParameterID(int32_t iPage, int32_t iIndex, AAX_IString& oParameterIdentifier) const = 0;
124 
142  virtual AAX_Result MapParameterID(AAX_CPageTableParamID iParameterIdentifier, int32_t iPage, int32_t iIndex) = 0;
143 
157  virtual AAX_Result GetNumParametersWithNameVariations(int32_t& oNumParameterIdentifiers) const = 0;
158 
173  virtual AAX_Result GetNameVariationParameterIDAtIndex(int32_t iIndex, AAX_IString& oParameterIdentifier) const = 0;
174 
196  virtual AAX_Result GetNumNameVariationsForParameter(AAX_CPageTableParamID iParameterIdentifier, int32_t& oNumVariations) const = 0;
197 
224  virtual AAX_Result GetParameterNameVariationAtIndex(AAX_CPageTableParamID iParameterIdentifier, int32_t iIndex, AAX_IString& oNameVariation, int32_t& oLength) const = 0;
225 
246  virtual AAX_Result GetParameterNameVariationOfLength(AAX_CPageTableParamID iParameterIdentifier, int32_t iLength, AAX_IString& oNameVariation) const = 0;
247 
256 
274 
296  virtual AAX_Result SetParameterNameVariation(AAX_CPageTableParamID iParameterIdentifier, const AAX_IString& iNameVariation, int32_t iLength) = 0;
297 };
298 
299 #endif
Various utility definitions for AAX.
int32_t AAX_Result
Definition: AAX.h:337
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:329
AAX_CParamID AAX_CPageTableParamID
Parameter identifier used in a page table.
Definition: AAX.h:353
An AAX string interface.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:248
Interface to the host's representation of a plug-in instance's page table.
Definition: AAX_IPageTable.h:28
virtual AAX_Result Clear()=0
Clears all parameter mappings from the table.
virtual AAX_Result GetNumMappedParameterIDs(int32_t iPage, int32_t &oNumParameterIdentifiers) const =0
Returns the total number of parameter IDs which are mapped to a page.
virtual AAX_Result GetMappedParameterID(int32_t iPage, int32_t iIndex, AAX_IString &oParameterIdentifier) const =0
Get the parameter identifier which is currently mapped to an index in this table.
virtual AAX_Result SetParameterNameVariation(AAX_CPageTableParamID iParameterIdentifier, const AAX_IString &iNameVariation, int32_t iLength)=0
virtual AAX_Result RemovePage(int32_t iPage)=0
Remove the page at index iPage.
virtual ~AAX_IPageTable()
Virtual destructor.
Definition: AAX_IPageTable.h:35
virtual AAX_Result MapParameterID(AAX_CPageTableParamID iParameterIdentifier, int32_t iPage, int32_t iIndex)=0
Map a parameter to this table.
virtual AAX_Result GetNumPages(int32_t &oNumPages) const =0
Get the number of pages currently in this table.
virtual AAX_Result Empty(AAX_CBoolean &oEmpty) const =0
Indicates whether the table is empty.
virtual AAX_Result ClearParameterNameVariations()=0
virtual AAX_Result GetParameterNameVariationOfLength(AAX_CPageTableParamID iParameterIdentifier, int32_t iLength, AAX_IString &oNameVariation) const =0
virtual AAX_Result InsertPage(int32_t iPage)=0
Insert a new empty page before the page at index iPage.
virtual AAX_Result ClearMappedParameter(int32_t iPage, int32_t iIndex)=0
Clear the parameter at a particular index in this table.
virtual AAX_Result GetNameVariationParameterIDAtIndex(int32_t iIndex, AAX_IString &oParameterIdentifier) const =0
virtual AAX_Result GetNumParametersWithNameVariations(int32_t &oNumParameterIdentifiers) const =0
virtual AAX_Result GetParameterNameVariationAtIndex(AAX_CPageTableParamID iParameterIdentifier, int32_t iIndex, AAX_IString &oNameVariation, int32_t &oLength) const =0
virtual AAX_Result ClearNameVariationsForParameter(AAX_CPageTableParamID iParameterIdentifier)=0
virtual AAX_Result GetNumNameVariationsForParameter(AAX_CPageTableParamID iParameterIdentifier, int32_t &oNumVariations) const =0
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:41