1 #ifndef ANDROID_AUDIO_POLICY_CAPENGINE_CONFIGURATION_ENUMS_H
2 #define ANDROID_AUDIO_POLICY_CAPENGINE_CONFIGURATION_ENUMS_H
3 
4 #include <array>
5 #include <string>
6 
7 #include <xsdc/XsdcSupport.h>
8 
9 namespace android {
10     namespace audio {
11         namespace policy {
12             namespace capengine {
13                 namespace configuration {
14                     enum class ParameterNameEnumType {
15                         UNKNOWN = -1,
16                         volume_profile,
17                         communication,
18                         ambient,
19                         builtin_mic,
20                         bluetooth_sco_headset,
21                         wired_headset,
22                         hdmi,
23                         telephony_rx,
24                         back_mic,
25                         remote_submix,
26                         anlg_dock_headset,
27                         dgtl_dock_headset,
28                         usb_accessory,
29                         usb_device,
30                         fm_tuner,
31                         tv_tuner,
32                         line,
33                         spdif,
34                         bluetooth_a2dp,
35                         loopback,
36                         ip,
37                         bus,
38                         proxy,
39                         usb_headset,
40                         bluetooth_ble,
41                         hdmi_arc,
42                         echo_reference,
43                         ble_headset,
44                         stub,
45                         hdmi_earc,
46                         device_address,
47                         earpiece,
48                         speaker,
49                         wired_headphone,
50                         bluetooth_sco,
51                         bluetooth_sco_carkit,
52                         bluetooth_a2dp_headphones,
53                         bluetooth_a2dp_speaker,
54                         telephony_tx,
55                         fm,
56                         aux_line,
57                         speaker_safe,
58                         hearing_aid,
59                         echo_canceller,
60                         ble_speaker,
61                         ble_broadcast,
62                     };
63                     ParameterNameEnumType stringToParameterNameEnumType(const std::string& value);
64                     std::string toString(ParameterNameEnumType o);
65 
66                     enum class LangEnum {
67                         UNKNOWN = -1,
68                         EMPTY,
69                     };
70                     LangEnum stringToLangEnum(const std::string& value);
71                     std::string toString(LangEnum o);
72 
73                     enum class SpaceEnum {
74                         UNKNOWN = -1,
75                         _default,
76                         preserve,
77                     };
78                     SpaceEnum stringToSpaceEnum(const std::string& value);
79                     std::string toString(SpaceEnum o);
80 
81                     enum class MatchesWhenEnum {
82                         UNKNOWN = -1,
83                         Is,
84                         IsNot,
85                         Includes,
86                         Excludes,
87                     };
88                     MatchesWhenEnum stringToMatchesWhenEnum(const std::string& value);
89                     std::string toString(MatchesWhenEnum o);
90 
91                     enum class TypeEnum {
92                         UNKNOWN = -1,
93                         Any,
94                         All,
95                     };
96                     TypeEnum stringToTypeEnum(const std::string& value);
97                     std::string toString(TypeEnum o);
98 
99                 } // configuration
100             } // capengine
101         } // policy
102     } // audio
103 } // android
104 
105 //
106 // global type declarations for package
107 //
108 
109 namespace android {
110     namespace details {
111         template<> inline constexpr std::array<::android::audio::policy::capengine::configuration::ParameterNameEnumType, 46> xsdc_enum_values<::android::audio::policy::capengine::configuration::ParameterNameEnumType> = {
112             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::volume_profile,
113             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::communication,
114             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::ambient,
115             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::builtin_mic,
116             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::bluetooth_sco_headset,
117             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::wired_headset,
118             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::hdmi,
119             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::telephony_rx,
120             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::back_mic,
121             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::remote_submix,
122             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::anlg_dock_headset,
123             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::dgtl_dock_headset,
124             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::usb_accessory,
125             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::usb_device,
126             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::fm_tuner,
127             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::tv_tuner,
128             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::line,
129             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::spdif,
130             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::bluetooth_a2dp,
131             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::loopback,
132             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::ip,
133             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::bus,
134             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::proxy,
135             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::usb_headset,
136             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::bluetooth_ble,
137             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::hdmi_arc,
138             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::echo_reference,
139             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::ble_headset,
140             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::stub,
141             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::hdmi_earc,
142             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::device_address,
143             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::earpiece,
144             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::speaker,
145             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::wired_headphone,
146             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::bluetooth_sco,
147             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::bluetooth_sco_carkit,
148             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::bluetooth_a2dp_headphones,
149             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::bluetooth_a2dp_speaker,
150             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::telephony_tx,
151             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::fm,
152             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::aux_line,
153             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::speaker_safe,
154             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::hearing_aid,
155             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::echo_canceller,
156             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::ble_speaker,
157             ::android::audio::policy::capengine::configuration::ParameterNameEnumType::ble_broadcast,
158         };
159         template<> inline constexpr std::array<::android::audio::policy::capengine::configuration::LangEnum, 1> xsdc_enum_values<::android::audio::policy::capengine::configuration::LangEnum> = {
160             ::android::audio::policy::capengine::configuration::LangEnum::EMPTY,
161         };
162         template<> inline constexpr std::array<::android::audio::policy::capengine::configuration::SpaceEnum, 2> xsdc_enum_values<::android::audio::policy::capengine::configuration::SpaceEnum> = {
163             ::android::audio::policy::capengine::configuration::SpaceEnum::_default,
164             ::android::audio::policy::capengine::configuration::SpaceEnum::preserve,
165         };
166         template<> inline constexpr std::array<::android::audio::policy::capengine::configuration::MatchesWhenEnum, 4> xsdc_enum_values<::android::audio::policy::capengine::configuration::MatchesWhenEnum> = {
167             ::android::audio::policy::capengine::configuration::MatchesWhenEnum::Is,
168             ::android::audio::policy::capengine::configuration::MatchesWhenEnum::IsNot,
169             ::android::audio::policy::capengine::configuration::MatchesWhenEnum::Includes,
170             ::android::audio::policy::capengine::configuration::MatchesWhenEnum::Excludes,
171         };
172         template<> inline constexpr std::array<::android::audio::policy::capengine::configuration::TypeEnum, 2> xsdc_enum_values<::android::audio::policy::capengine::configuration::TypeEnum> = {
173             ::android::audio::policy::capengine::configuration::TypeEnum::Any,
174             ::android::audio::policy::capengine::configuration::TypeEnum::All,
175         };
176     }  // namespace details
177 }  // namespace android
178 
179 #endif // ANDROID_AUDIO_POLICY_CAPENGINE_CONFIGURATION_ENUMS_H
180