1 #ifndef ANDROID_AUDIO_POLICY_ENGINE_CONFIGURATION_ENUMS_H 2 #define ANDROID_AUDIO_POLICY_ENGINE_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 engine { 13 namespace configuration { 14 enum class Version { 15 UNKNOWN = -1, 16 _1_0, 17 }; 18 Version stringToVersion(const std::string& value); 19 std::string toString(Version o); 20 21 enum class Stream { 22 UNKNOWN = -1, 23 AUDIO_STREAM_DEFAULT, 24 AUDIO_STREAM_VOICE_CALL, 25 AUDIO_STREAM_SYSTEM, 26 AUDIO_STREAM_RING, 27 AUDIO_STREAM_MUSIC, 28 AUDIO_STREAM_ALARM, 29 AUDIO_STREAM_NOTIFICATION, 30 AUDIO_STREAM_BLUETOOTH_SCO, 31 AUDIO_STREAM_ENFORCED_AUDIBLE, 32 AUDIO_STREAM_DTMF, 33 AUDIO_STREAM_TTS, 34 AUDIO_STREAM_ACCESSIBILITY, 35 AUDIO_STREAM_ASSISTANT, 36 }; 37 Stream stringToStream(const std::string& value); 38 std::string toString(Stream o); 39 40 enum class DeviceCategory { 41 UNKNOWN = -1, 42 DEVICE_CATEGORY_HEADSET, 43 DEVICE_CATEGORY_SPEAKER, 44 DEVICE_CATEGORY_EARPIECE, 45 DEVICE_CATEGORY_EXT_MEDIA, 46 DEVICE_CATEGORY_HEARING_AID, 47 }; 48 DeviceCategory stringToDeviceCategory(const std::string& value); 49 std::string toString(DeviceCategory o); 50 51 enum class ContentType { 52 UNKNOWN = -1, 53 AUDIO_CONTENT_TYPE_UNKNOWN, 54 AUDIO_CONTENT_TYPE_SPEECH, 55 AUDIO_CONTENT_TYPE_MUSIC, 56 AUDIO_CONTENT_TYPE_MOVIE, 57 AUDIO_CONTENT_TYPE_SONIFICATION, 58 }; 59 ContentType stringToContentType(const std::string& value); 60 std::string toString(ContentType o); 61 62 enum class UsageEnumType { 63 UNKNOWN = -1, 64 AUDIO_USAGE_UNKNOWN, 65 AUDIO_USAGE_MEDIA, 66 AUDIO_USAGE_VOICE_COMMUNICATION, 67 AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING, 68 AUDIO_USAGE_ALARM, 69 AUDIO_USAGE_NOTIFICATION, 70 AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE, 71 AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST, 72 AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT, 73 AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED, 74 AUDIO_USAGE_NOTIFICATION_EVENT, 75 AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY, 76 AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE, 77 AUDIO_USAGE_ASSISTANCE_SONIFICATION, 78 AUDIO_USAGE_GAME, 79 AUDIO_USAGE_VIRTUAL_SOURCE, 80 AUDIO_USAGE_ASSISTANT, 81 AUDIO_USAGE_CALL_ASSISTANT, 82 AUDIO_USAGE_EMERGENCY, 83 AUDIO_USAGE_SAFETY, 84 AUDIO_USAGE_VEHICLE_STATUS, 85 AUDIO_USAGE_ANNOUNCEMENT, 86 AUDIO_USAGE_SPEAKER_CLEANUP, 87 }; 88 UsageEnumType stringToUsageEnumType(const std::string& value); 89 std::string toString(UsageEnumType o); 90 91 enum class FlagType { 92 UNKNOWN = -1, 93 AUDIO_FLAG_NONE, 94 AUDIO_FLAG_AUDIBILITY_ENFORCED, 95 AUDIO_FLAG_SECURE, 96 AUDIO_FLAG_SCO, 97 AUDIO_FLAG_BEACON, 98 AUDIO_FLAG_HW_AV_SYNC, 99 AUDIO_FLAG_HW_HOTWORD, 100 AUDIO_FLAG_BYPASS_INTERRUPTION_POLICY, 101 AUDIO_FLAG_BYPASS_MUTE, 102 AUDIO_FLAG_LOW_LATENCY, 103 AUDIO_FLAG_DEEP_BUFFER, 104 AUDIO_FLAG_NO_MEDIA_PROJECTION, 105 AUDIO_FLAG_MUTE_HAPTIC, 106 AUDIO_FLAG_NO_SYSTEM_CAPTURE, 107 AUDIO_FLAG_CAPTURE_PRIVATE, 108 }; 109 FlagType stringToFlagType(const std::string& value); 110 std::string toString(FlagType o); 111 112 enum class ForcedConfigCommunicationDeviceType { 113 UNKNOWN = -1, 114 NONE, 115 SPEAKER, 116 BT_SCO, 117 BT_BLE, 118 WIRED_ACCESSORY, 119 }; 120 ForcedConfigCommunicationDeviceType stringToForcedConfigCommunicationDeviceType(const std::string& value); 121 std::string toString(ForcedConfigCommunicationDeviceType o); 122 123 enum class ForcedConfigMediaDeviceType { 124 UNKNOWN = -1, 125 NONE, 126 SPEAKER, 127 HEADPHONES, 128 BT_A2DP, 129 ANALOG_DOCK, 130 DIGITAL_DOCK, 131 WIRED_ACCESSORY, 132 NO_BT_A2DP, 133 }; 134 ForcedConfigMediaDeviceType stringToForcedConfigMediaDeviceType(const std::string& value); 135 std::string toString(ForcedConfigMediaDeviceType o); 136 137 enum class ForcedConfigDockType { 138 UNKNOWN = -1, 139 NONE, 140 BT_CAR_DOCK, 141 BT_DESK_DOCK, 142 ANALOG_DOCK, 143 DIGITAL_DOCK, 144 WIRED_ACCESSORY, 145 }; 146 ForcedConfigDockType stringToForcedConfigDockType(const std::string& value); 147 std::string toString(ForcedConfigDockType o); 148 149 enum class ForcedEncodingSourroundConfigType { 150 UNKNOWN = -1, 151 UNSPECIFIED, 152 NEVER, 153 ALWAYS, 154 MANUAL, 155 }; 156 ForcedEncodingSourroundConfigType stringToForcedEncodingSourroundConfigType(const std::string& value); 157 std::string toString(ForcedEncodingSourroundConfigType o); 158 159 enum class SourceEnumType { 160 UNKNOWN = -1, 161 AUDIO_SOURCE_DEFAULT, 162 AUDIO_SOURCE_MIC, 163 AUDIO_SOURCE_VOICE_UPLINK, 164 AUDIO_SOURCE_VOICE_DOWNLINK, 165 AUDIO_SOURCE_VOICE_CALL, 166 AUDIO_SOURCE_CAMCORDER, 167 AUDIO_SOURCE_VOICE_RECOGNITION, 168 AUDIO_SOURCE_VOICE_COMMUNICATION, 169 AUDIO_SOURCE_REMOTE_SUBMIX, 170 AUDIO_SOURCE_UNPROCESSED, 171 AUDIO_SOURCE_VOICE_PERFORMANCE, 172 AUDIO_SOURCE_ECHO_REFERENCE, 173 AUDIO_SOURCE_FM_TUNER, 174 }; 175 SourceEnumType stringToSourceEnumType(const std::string& value); 176 std::string toString(SourceEnumType o); 177 178 enum class PfwCriterionTypeEnum { 179 UNKNOWN = -1, 180 inclusive, 181 exclusive, 182 }; 183 PfwCriterionTypeEnum stringToPfwCriterionTypeEnum(const std::string& value); 184 std::string toString(PfwCriterionTypeEnum o); 185 186 } // configuration 187 } // engine 188 } // policy 189 } // audio 190 } // android 191 192 // 193 // global type declarations for package 194 // 195 196 namespace android { 197 namespace details { 198 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::Version, 1> xsdc_enum_values<::android::audio::policy::engine::configuration::Version> = { 199 ::android::audio::policy::engine::configuration::Version::_1_0, 200 }; 201 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::Stream, 13> xsdc_enum_values<::android::audio::policy::engine::configuration::Stream> = { 202 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_DEFAULT, 203 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_VOICE_CALL, 204 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_SYSTEM, 205 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_RING, 206 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_MUSIC, 207 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_ALARM, 208 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_NOTIFICATION, 209 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_BLUETOOTH_SCO, 210 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_ENFORCED_AUDIBLE, 211 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_DTMF, 212 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_TTS, 213 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_ACCESSIBILITY, 214 ::android::audio::policy::engine::configuration::Stream::AUDIO_STREAM_ASSISTANT, 215 }; 216 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::DeviceCategory, 5> xsdc_enum_values<::android::audio::policy::engine::configuration::DeviceCategory> = { 217 ::android::audio::policy::engine::configuration::DeviceCategory::DEVICE_CATEGORY_HEADSET, 218 ::android::audio::policy::engine::configuration::DeviceCategory::DEVICE_CATEGORY_SPEAKER, 219 ::android::audio::policy::engine::configuration::DeviceCategory::DEVICE_CATEGORY_EARPIECE, 220 ::android::audio::policy::engine::configuration::DeviceCategory::DEVICE_CATEGORY_EXT_MEDIA, 221 ::android::audio::policy::engine::configuration::DeviceCategory::DEVICE_CATEGORY_HEARING_AID, 222 }; 223 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::ContentType, 5> xsdc_enum_values<::android::audio::policy::engine::configuration::ContentType> = { 224 ::android::audio::policy::engine::configuration::ContentType::AUDIO_CONTENT_TYPE_UNKNOWN, 225 ::android::audio::policy::engine::configuration::ContentType::AUDIO_CONTENT_TYPE_SPEECH, 226 ::android::audio::policy::engine::configuration::ContentType::AUDIO_CONTENT_TYPE_MUSIC, 227 ::android::audio::policy::engine::configuration::ContentType::AUDIO_CONTENT_TYPE_MOVIE, 228 ::android::audio::policy::engine::configuration::ContentType::AUDIO_CONTENT_TYPE_SONIFICATION, 229 }; 230 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::UsageEnumType, 23> xsdc_enum_values<::android::audio::policy::engine::configuration::UsageEnumType> = { 231 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_UNKNOWN, 232 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_MEDIA, 233 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION, 234 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING, 235 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_ALARM, 236 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_NOTIFICATION, 237 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE, 238 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST, 239 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT, 240 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED, 241 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_NOTIFICATION_EVENT, 242 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY, 243 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE, 244 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_ASSISTANCE_SONIFICATION, 245 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_GAME, 246 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_VIRTUAL_SOURCE, 247 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_ASSISTANT, 248 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_CALL_ASSISTANT, 249 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_EMERGENCY, 250 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_SAFETY, 251 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_VEHICLE_STATUS, 252 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_ANNOUNCEMENT, 253 ::android::audio::policy::engine::configuration::UsageEnumType::AUDIO_USAGE_SPEAKER_CLEANUP, 254 }; 255 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::FlagType, 15> xsdc_enum_values<::android::audio::policy::engine::configuration::FlagType> = { 256 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_NONE, 257 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_AUDIBILITY_ENFORCED, 258 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_SECURE, 259 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_SCO, 260 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_BEACON, 261 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_HW_AV_SYNC, 262 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_HW_HOTWORD, 263 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_BYPASS_INTERRUPTION_POLICY, 264 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_BYPASS_MUTE, 265 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_LOW_LATENCY, 266 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_DEEP_BUFFER, 267 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_NO_MEDIA_PROJECTION, 268 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_MUTE_HAPTIC, 269 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_NO_SYSTEM_CAPTURE, 270 ::android::audio::policy::engine::configuration::FlagType::AUDIO_FLAG_CAPTURE_PRIVATE, 271 }; 272 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::ForcedConfigCommunicationDeviceType, 5> xsdc_enum_values<::android::audio::policy::engine::configuration::ForcedConfigCommunicationDeviceType> = { 273 ::android::audio::policy::engine::configuration::ForcedConfigCommunicationDeviceType::NONE, 274 ::android::audio::policy::engine::configuration::ForcedConfigCommunicationDeviceType::SPEAKER, 275 ::android::audio::policy::engine::configuration::ForcedConfigCommunicationDeviceType::BT_SCO, 276 ::android::audio::policy::engine::configuration::ForcedConfigCommunicationDeviceType::BT_BLE, 277 ::android::audio::policy::engine::configuration::ForcedConfigCommunicationDeviceType::WIRED_ACCESSORY, 278 }; 279 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType, 8> xsdc_enum_values<::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType> = { 280 ::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType::NONE, 281 ::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType::SPEAKER, 282 ::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType::HEADPHONES, 283 ::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType::BT_A2DP, 284 ::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType::ANALOG_DOCK, 285 ::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType::DIGITAL_DOCK, 286 ::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType::WIRED_ACCESSORY, 287 ::android::audio::policy::engine::configuration::ForcedConfigMediaDeviceType::NO_BT_A2DP, 288 }; 289 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::ForcedConfigDockType, 6> xsdc_enum_values<::android::audio::policy::engine::configuration::ForcedConfigDockType> = { 290 ::android::audio::policy::engine::configuration::ForcedConfigDockType::NONE, 291 ::android::audio::policy::engine::configuration::ForcedConfigDockType::BT_CAR_DOCK, 292 ::android::audio::policy::engine::configuration::ForcedConfigDockType::BT_DESK_DOCK, 293 ::android::audio::policy::engine::configuration::ForcedConfigDockType::ANALOG_DOCK, 294 ::android::audio::policy::engine::configuration::ForcedConfigDockType::DIGITAL_DOCK, 295 ::android::audio::policy::engine::configuration::ForcedConfigDockType::WIRED_ACCESSORY, 296 }; 297 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::ForcedEncodingSourroundConfigType, 4> xsdc_enum_values<::android::audio::policy::engine::configuration::ForcedEncodingSourroundConfigType> = { 298 ::android::audio::policy::engine::configuration::ForcedEncodingSourroundConfigType::UNSPECIFIED, 299 ::android::audio::policy::engine::configuration::ForcedEncodingSourroundConfigType::NEVER, 300 ::android::audio::policy::engine::configuration::ForcedEncodingSourroundConfigType::ALWAYS, 301 ::android::audio::policy::engine::configuration::ForcedEncodingSourroundConfigType::MANUAL, 302 }; 303 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::SourceEnumType, 13> xsdc_enum_values<::android::audio::policy::engine::configuration::SourceEnumType> = { 304 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_DEFAULT, 305 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_MIC, 306 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_VOICE_UPLINK, 307 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_VOICE_DOWNLINK, 308 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_VOICE_CALL, 309 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_CAMCORDER, 310 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_VOICE_RECOGNITION, 311 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_VOICE_COMMUNICATION, 312 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_REMOTE_SUBMIX, 313 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_UNPROCESSED, 314 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_VOICE_PERFORMANCE, 315 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_ECHO_REFERENCE, 316 ::android::audio::policy::engine::configuration::SourceEnumType::AUDIO_SOURCE_FM_TUNER, 317 }; 318 template<> inline constexpr std::array<::android::audio::policy::engine::configuration::PfwCriterionTypeEnum, 2> xsdc_enum_values<::android::audio::policy::engine::configuration::PfwCriterionTypeEnum> = { 319 ::android::audio::policy::engine::configuration::PfwCriterionTypeEnum::inclusive, 320 ::android::audio::policy::engine::configuration::PfwCriterionTypeEnum::exclusive, 321 }; 322 } // namespace details 323 } // namespace android 324 325 #endif // ANDROID_AUDIO_POLICY_ENGINE_CONFIGURATION_ENUMS_H 326