AVDECC Controller  v0.4.8
 All Classes Namespaces Files Functions Enumerations Enumerator Macros
entity_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_ENTITY_DESCRIPTOR_H_
35 #define _AVDECC_CONTROLLER_LIB_ENTITY_DESCRIPTOR_H_
36 
37 #include <stdint.h>
38 #include "build.h"
39 #include "descriptor_base.h"
40 
41 namespace avdecc_lib
42 {
43  class configuration_descriptor;
44 
45  class entity_descriptor : public virtual descriptor_base
46  {
47  public:
51  AVDECC_CONTROLLER_LIB32_API virtual uint64_t STDCALL entity_id() = 0;
52 
56  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL vendor_id() = 0;
57 
61  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL entity_model_id() = 0;
62 
66  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL entity_capabilities() = 0;
67 
72  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL talker_stream_sources() = 0;
73 
77  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL talker_capabilities() = 0;
78 
83  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL listener_stream_sinks() = 0;
84 
88  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL listener_capabilities() = 0;
89 
93  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL controller_capabilities() = 0;
94 
98  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL available_index() = 0;
99 
103  AVDECC_CONTROLLER_LIB32_API virtual uint64_t STDCALL association_id() = 0;
104 
108  AVDECC_CONTROLLER_LIB32_API virtual uint8_t * STDCALL entity_name() = 0;
109 
113  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL vendor_name_string() = 0;
114 
118  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL model_name_string() = 0;
119 
123  AVDECC_CONTROLLER_LIB32_API virtual uint8_t * STDCALL firmware_version() = 0;
124 
128  AVDECC_CONTROLLER_LIB32_API virtual uint8_t * STDCALL group_name() = 0;
129 
133  AVDECC_CONTROLLER_LIB32_API virtual uint8_t * STDCALL serial_number() = 0;
134 
138  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL configurations_count() = 0;
139 
143  AVDECC_CONTROLLER_LIB32_API virtual uint16_t STDCALL current_configuration() = 0;
144 
149  AVDECC_CONTROLLER_LIB32_API virtual uint32_t STDCALL config_desc_count() = 0;
150 
154  AVDECC_CONTROLLER_LIB32_API virtual configuration_descriptor * STDCALL get_config_desc_by_index(uint16_t config_desc_index) = 0;
155 
159  AVDECC_CONTROLLER_LIB32_API virtual int STDCALL send_set_config_cmd() = 0;
160 
164  AVDECC_CONTROLLER_LIB32_API virtual int STDCALL send_get_config_cmd() = 0;
165  };
166 }
167 
168 #endif
Definition: entity_descriptor.h:45
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL controller_capabilities()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL entity_capabilities()=0
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL send_set_config_cmd()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL current_configuration()=0
virtual AVDECC_CONTROLLER_LIB32_API uint8_t *STDCALL firmware_version()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL talker_capabilities()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL talker_stream_sources()=0
virtual AVDECC_CONTROLLER_LIB32_API uint64_t STDCALL entity_id()=0
virtual AVDECC_CONTROLLER_LIB32_API uint64_t STDCALL association_id()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL model_name_string()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL vendor_name_string()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL vendor_id()=0
virtual AVDECC_CONTROLLER_LIB32_API uint8_t *STDCALL serial_number()=0
virtual AVDECC_CONTROLLER_LIB32_API uint8_t *STDCALL entity_name()=0
virtual AVDECC_CONTROLLER_LIB32_API uint8_t *STDCALL group_name()=0
Definition: configuration_descriptor.h:58
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL config_desc_count()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL listener_capabilities()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL entity_model_id()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL listener_stream_sinks()=0
virtual AVDECC_CONTROLLER_LIB32_API uint16_t STDCALL configurations_count()=0
virtual AVDECC_CONTROLLER_LIB32_API int STDCALL send_get_config_cmd()=0
virtual AVDECC_CONTROLLER_LIB32_API uint32_t STDCALL available_index()=0
Definition: descriptor_base.h:40
virtual AVDECC_CONTROLLER_LIB32_API configuration_descriptor *STDCALL get_config_desc_by_index(uint16_t config_desc_index)=0