AVDECC Controller  v0.4.8
 All Classes Namespaces Files Functions Enumerations Enumerator Macros
configuration_descriptor.h
Go to the documentation of this file.
1 /*
2  * Licensed under the MIT License (MIT)
3  *
4  * Copyright (c) 2013 AudioScience Inc.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy of
7  * this software and associated documentation files (the "Software"), to deal in
8  * the Software without restriction, including without limitation the rights to
9  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
10  * the Software, and to permit persons to whom the Software is furnished to do so,
11  * subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in all
14  * copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22  */
23 
33 #pragma once
34 #ifndef _AVDECC_CONTROLLER_LIB_CONFIGURATION_DESCRIPTOR_H_
35 #define _AVDECC_CONTROLLER_LIB_CONFIGURATION_DESCRIPTOR_H_
36 
37 #include <stdint.h>
38 #include "build.h"
39 #include "descriptor_base.h"
40 
41 namespace avdecc_lib
42 {
43  class audio_unit_descriptor;
44  class stream_input_descriptor;
45  class stream_output_descriptor;
46  class jack_input_descriptor;
47  class jack_output_descriptor;
48  class avb_interface_descriptor;
49  class clock_source_descriptor;
50  class locale_descriptor;
51  class strings_descriptor;
52  class stream_port_input_descriptor;
53  class stream_port_output_descriptor;
54  class audio_cluster_descriptor;
55  class audio_map_descriptor;
56  class clock_domain_descriptor;
57 
59  {
60  public:
64  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL descriptor_counts_count() = 0;
65 
69  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL get_desc_type_from_config_by_index(int desc_index) = 0;
70 
74  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL get_desc_count_from_config_by_index(int desc_index) = 0;
75 
79  AVDECC_CONTROLLER_LIB32_API virtual bool STDCALL are_desc_type_and_index_in_config(int desc_type, int desc_count_index) = 0;
80 
84  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL audio_unit_desc_count() = 0;
85 
89  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL stream_input_desc_count() = 0;
90 
94  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL stream_output_desc_count() = 0;
95 
99  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL jack_input_desc_count() = 0;
100 
104  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL jack_output_desc_count() = 0;
105 
109  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL avb_interface_desc_count() = 0;
110 
114  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL clock_source_desc_count() = 0;
115 
119  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL locale_desc_count() = 0;
120 
124  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL strings_desc_count() = 0;
125 
129  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL stream_port_input_desc_count() = 0;
130 
134  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL stream_port_output_desc_count() = 0;
135 
139  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL audio_cluster_desc_count() = 0;
140 
144  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL audio_map_desc_count() = 0;
145 
149  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL clock_domain_desc_count() = 0;
150 
154  AVDECC_CONTROLLER_LIB32_API virtual audio_unit_descriptor * STDCALL get_audio_unit_desc_by_index(uint32_t audio_unit_desc_index) = 0;
155 
159  AVDECC_CONTROLLER_LIB32_API virtual stream_input_descriptor * STDCALL get_stream_input_desc_by_index(uint32_t stream_input_desc_index) = 0;
160 
164  AVDECC_CONTROLLER_LIB32_API virtual stream_output_descriptor * STDCALL get_stream_output_desc_by_index(uint32_t stream_output_desc_index) = 0;
165 
169  AVDECC_CONTROLLER_LIB32_API virtual jack_input_descriptor * STDCALL get_jack_input_desc_by_index(uint32_t jack_input_desc_index) = 0;
170 
174  AVDECC_CONTROLLER_LIB32_API virtual jack_output_descriptor * STDCALL get_jack_output_desc_by_index(uint32_t jack_output_desc_index) = 0;
175 
179  AVDECC_CONTROLLER_LIB32_API virtual avb_interface_descriptor * STDCALL get_avb_interface_desc_by_index(uint32_t avb_interface_desc_index) = 0;
180 
184  AVDECC_CONTROLLER_LIB32_API virtual clock_source_descriptor * STDCALL get_clock_source_desc_by_index(uint32_t clock_source_desc_index) = 0;
185 
189  AVDECC_CONTROLLER_LIB32_API virtual locale_descriptor * STDCALL get_locale_desc_by_index(uint32_t locale_desc_index) = 0;
190 
194  AVDECC_CONTROLLER_LIB32_API virtual strings_descriptor * STDCALL get_strings_desc_by_index(uint32_t strings_desc_index) = 0;
195 
199  AVDECC_CONTROLLER_LIB32_API virtual stream_port_input_descriptor * STDCALL get_stream_port_input_desc_by_index(uint32_t stream_port_input_desc_index) = 0;
200 
204  AVDECC_CONTROLLER_LIB32_API virtual stream_port_output_descriptor * STDCALL get_stream_port_output_desc_by_index(uint32_t stream_port_output_desc_index) = 0;
205 
209  AVDECC_CONTROLLER_LIB32_API virtual audio_cluster_descriptor * STDCALL get_audio_cluster_desc_by_index(uint32_t audio_cluster_desc_index) = 0;
210 
214  AVDECC_CONTROLLER_LIB32_API virtual audio_map_descriptor * STDCALL get_audio_map_desc_by_index(uint32_t audio_map_desc_index) = 0;
215 
219  AVDECC_CONTROLLER_LIB32_API virtual clock_domain_descriptor * STDCALL get_clock_domain_desc_by_index(uint32_t clock_domain_desc_index) = 0;
220  };
221 }
222 
223 #endif
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL audio_unit_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API audio_unit_descriptor *STDCALL get_audio_unit_desc_by_index(uint32_t audio_unit_desc_index)=0
virtual AVDECC_CONTROLLER_LIB32_API audio_cluster_descriptor *STDCALL get_audio_cluster_desc_by_index(uint32_t audio_cluster_desc_index)=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL stream_output_desc_count()=0
Definition: audio_unit_descriptor.h:42
Definition: stream_port_output_descriptor.h:41
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL audio_cluster_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL descriptor_counts_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL get_desc_count_from_config_by_index(int desc_index)=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL clock_domain_desc_count()=0
Definition: clock_domain_descriptor.h:45
Definition: audio_map_descriptor.h:45
virtual AVDECC_CONTROLLER_LIB32_API stream_output_descriptor *STDCALL get_stream_output_desc_by_index(uint32_t stream_output_desc_index)=0
Definition: avb_interface_descriptor.h:43
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL audio_map_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API jack_output_descriptor *STDCALL get_jack_output_desc_by_index(uint32_t jack_output_desc_index)=0
virtual AVDECC_CONTROLLER_LIB32_API clock_domain_descriptor *STDCALL get_clock_domain_desc_by_index(uint32_t clock_domain_desc_index)=0
Definition: stream_input_descriptor.h:41
virtual AVDECC_CONTROLLER_LIB32_API stream_port_output_descriptor *STDCALL get_stream_port_output_desc_by_index(uint32_t stream_port_output_desc_index)=0
virtual AVDECC_CONTROLLER_LIB32_API bool STDCALL are_desc_type_and_index_in_config(int desc_type, int desc_count_index)=0
Definition: jack_output_descriptor.h:41
virtual AVDECC_CONTROLLER_LIB32_API audio_map_descriptor *STDCALL get_audio_map_desc_by_index(uint32_t audio_map_desc_index)=0
virtual AVDECC_CONTROLLER_LIB32_API stream_input_descriptor *STDCALL get_stream_input_desc_by_index(uint32_t stream_input_desc_index)=0
Definition: jack_input_descriptor.h:41
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL strings_desc_count()=0
Definition: strings_descriptor.h:41
virtual AVDECC_CONTROLLER_LIB32_API jack_input_descriptor *STDCALL get_jack_input_desc_by_index(uint32_t jack_input_desc_index)=0
Definition: stream_output_descriptor.h:41
Definition: locale_descriptor.h:42
virtual AVDECC_CONTROLLER_LIB32_API locale_descriptor *STDCALL get_locale_desc_by_index(uint32_t locale_desc_index)=0
Definition: configuration_descriptor.h:58
virtual AVDECC_CONTROLLER_LIB32_API clock_source_descriptor *STDCALL get_clock_source_desc_by_index(uint32_t clock_source_desc_index)=0
Definition: audio_cluster_descriptor.h:43
virtual AVDECC_CONTROLLER_LIB32_API avb_interface_descriptor *STDCALL get_avb_interface_desc_by_index(uint32_t avb_interface_desc_index)=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL clock_source_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL locale_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL stream_port_output_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL avb_interface_desc_count()=0
Definition: clock_source_descriptor.h:43
virtual AVDECC_CONTROLLER_LIB32_API stream_port_input_descriptor *STDCALL get_stream_port_input_desc_by_index(uint32_t stream_port_input_desc_index)=0
Definition: stream_port_input_descriptor.h:41
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL stream_port_input_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL jack_input_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API strings_descriptor *STDCALL get_strings_desc_by_index(uint32_t strings_desc_index)=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL stream_input_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL get_desc_type_from_config_by_index(int desc_index)=0
Definition: descriptor_base.h:40
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL jack_output_desc_count()=0