1 #include <map> 2 3 #include "android_hardware_automotive_audiocontrol_enums.h" 4 5 namespace android { 6 namespace hardware { 7 namespace automotive { 8 namespace audiocontrol { 9 const std::map<std::string, ContentTypeEnum> ContentTypeEnumString { 10 { "AUDIO_CONTENT_TYPE_UNKNOWN", ContentTypeEnum::AUDIO_CONTENT_TYPE_UNKNOWN }, 11 { "AUDIO_CONTENT_TYPE_SPEECH", ContentTypeEnum::AUDIO_CONTENT_TYPE_SPEECH }, 12 { "AUDIO_CONTENT_TYPE_MUSIC", ContentTypeEnum::AUDIO_CONTENT_TYPE_MUSIC }, 13 { "AUDIO_CONTENT_TYPE_MOVIE", ContentTypeEnum::AUDIO_CONTENT_TYPE_MOVIE }, 14 { "AUDIO_CONTENT_TYPE_SONIFICATION", ContentTypeEnum::AUDIO_CONTENT_TYPE_SONIFICATION }, 15 }; 16 stringToContentTypeEnum(const std::string & value)17 ContentTypeEnum stringToContentTypeEnum(const std::string& value) { 18 auto enumValue = ContentTypeEnumString.find(value); 19 return enumValue != ContentTypeEnumString.end() ? enumValue->second : ContentTypeEnum::UNKNOWN; 20 } 21 toString(ContentTypeEnum o)22 std::string toString(ContentTypeEnum o) { 23 switch (o) { 24 case ContentTypeEnum::AUDIO_CONTENT_TYPE_UNKNOWN: return "AUDIO_CONTENT_TYPE_UNKNOWN"; 25 case ContentTypeEnum::AUDIO_CONTENT_TYPE_SPEECH: return "AUDIO_CONTENT_TYPE_SPEECH"; 26 case ContentTypeEnum::AUDIO_CONTENT_TYPE_MUSIC: return "AUDIO_CONTENT_TYPE_MUSIC"; 27 case ContentTypeEnum::AUDIO_CONTENT_TYPE_MOVIE: return "AUDIO_CONTENT_TYPE_MOVIE"; 28 case ContentTypeEnum::AUDIO_CONTENT_TYPE_SONIFICATION: return "AUDIO_CONTENT_TYPE_SONIFICATION"; 29 default: return std::to_string(static_cast<int>(o)); 30 } 31 } 32 33 const std::map<std::string, UsageEnumType> UsageEnumTypeString { 34 { "AUDIO_USAGE_UNKNOWN", UsageEnumType::AUDIO_USAGE_UNKNOWN }, 35 { "AUDIO_USAGE_MEDIA", UsageEnumType::AUDIO_USAGE_MEDIA }, 36 { "AUDIO_USAGE_VOICE_COMMUNICATION", UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION }, 37 { "AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING", UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING }, 38 { "AUDIO_USAGE_ALARM", UsageEnumType::AUDIO_USAGE_ALARM }, 39 { "AUDIO_USAGE_NOTIFICATION", UsageEnumType::AUDIO_USAGE_NOTIFICATION }, 40 { "AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE", UsageEnumType::AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE }, 41 { "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST", UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST }, 42 { "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT", UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT }, 43 { "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED", UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED }, 44 { "AUDIO_USAGE_NOTIFICATION_EVENT", UsageEnumType::AUDIO_USAGE_NOTIFICATION_EVENT }, 45 { "AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY", UsageEnumType::AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY }, 46 { "AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE", UsageEnumType::AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE }, 47 { "AUDIO_USAGE_ASSISTANCE_SONIFICATION", UsageEnumType::AUDIO_USAGE_ASSISTANCE_SONIFICATION }, 48 { "AUDIO_USAGE_GAME", UsageEnumType::AUDIO_USAGE_GAME }, 49 { "AUDIO_USAGE_VIRTUAL_SOURCE", UsageEnumType::AUDIO_USAGE_VIRTUAL_SOURCE }, 50 { "AUDIO_USAGE_ASSISTANT", UsageEnumType::AUDIO_USAGE_ASSISTANT }, 51 { "AUDIO_USAGE_CALL_ASSISTANT", UsageEnumType::AUDIO_USAGE_CALL_ASSISTANT }, 52 { "AUDIO_USAGE_EMERGENCY", UsageEnumType::AUDIO_USAGE_EMERGENCY }, 53 { "AUDIO_USAGE_SAFETY", UsageEnumType::AUDIO_USAGE_SAFETY }, 54 { "AUDIO_USAGE_VEHICLE_STATUS", UsageEnumType::AUDIO_USAGE_VEHICLE_STATUS }, 55 { "AUDIO_USAGE_ANNOUNCEMENT", UsageEnumType::AUDIO_USAGE_ANNOUNCEMENT }, 56 }; 57 stringToUsageEnumType(const std::string & value)58 UsageEnumType stringToUsageEnumType(const std::string& value) { 59 auto enumValue = UsageEnumTypeString.find(value); 60 return enumValue != UsageEnumTypeString.end() ? enumValue->second : UsageEnumType::UNKNOWN; 61 } 62 toString(UsageEnumType o)63 std::string toString(UsageEnumType o) { 64 switch (o) { 65 case UsageEnumType::AUDIO_USAGE_UNKNOWN: return "AUDIO_USAGE_UNKNOWN"; 66 case UsageEnumType::AUDIO_USAGE_MEDIA: return "AUDIO_USAGE_MEDIA"; 67 case UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION: return "AUDIO_USAGE_VOICE_COMMUNICATION"; 68 case UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: return "AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING"; 69 case UsageEnumType::AUDIO_USAGE_ALARM: return "AUDIO_USAGE_ALARM"; 70 case UsageEnumType::AUDIO_USAGE_NOTIFICATION: return "AUDIO_USAGE_NOTIFICATION"; 71 case UsageEnumType::AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE: return "AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE"; 72 case UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST: return "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST"; 73 case UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT: return "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT"; 74 case UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED: return "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED"; 75 case UsageEnumType::AUDIO_USAGE_NOTIFICATION_EVENT: return "AUDIO_USAGE_NOTIFICATION_EVENT"; 76 case UsageEnumType::AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: return "AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY"; 77 case UsageEnumType::AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: return "AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE"; 78 case UsageEnumType::AUDIO_USAGE_ASSISTANCE_SONIFICATION: return "AUDIO_USAGE_ASSISTANCE_SONIFICATION"; 79 case UsageEnumType::AUDIO_USAGE_GAME: return "AUDIO_USAGE_GAME"; 80 case UsageEnumType::AUDIO_USAGE_VIRTUAL_SOURCE: return "AUDIO_USAGE_VIRTUAL_SOURCE"; 81 case UsageEnumType::AUDIO_USAGE_ASSISTANT: return "AUDIO_USAGE_ASSISTANT"; 82 case UsageEnumType::AUDIO_USAGE_CALL_ASSISTANT: return "AUDIO_USAGE_CALL_ASSISTANT"; 83 case UsageEnumType::AUDIO_USAGE_EMERGENCY: return "AUDIO_USAGE_EMERGENCY"; 84 case UsageEnumType::AUDIO_USAGE_SAFETY: return "AUDIO_USAGE_SAFETY"; 85 case UsageEnumType::AUDIO_USAGE_VEHICLE_STATUS: return "AUDIO_USAGE_VEHICLE_STATUS"; 86 case UsageEnumType::AUDIO_USAGE_ANNOUNCEMENT: return "AUDIO_USAGE_ANNOUNCEMENT"; 87 default: return std::to_string(static_cast<int>(o)); 88 } 89 } 90 91 const std::map<std::string, ActivationType> ActivationTypeString { 92 { "onBoot", ActivationType::onBoot }, 93 { "onSourceChanged", ActivationType::onSourceChanged }, 94 { "onPlaybackChanged", ActivationType::onPlaybackChanged }, 95 }; 96 stringToActivationType(const std::string & value)97 ActivationType stringToActivationType(const std::string& value) { 98 auto enumValue = ActivationTypeString.find(value); 99 return enumValue != ActivationTypeString.end() ? enumValue->second : ActivationType::UNKNOWN; 100 } 101 toString(ActivationType o)102 std::string toString(ActivationType o) { 103 switch (o) { 104 case ActivationType::onBoot: return "onBoot"; 105 case ActivationType::onSourceChanged: return "onSourceChanged"; 106 case ActivationType::onPlaybackChanged: return "onPlaybackChanged"; 107 default: return std::to_string(static_cast<int>(o)); 108 } 109 } 110 111 const std::map<std::string, OutDeviceType> OutDeviceTypeString { 112 { "AUDIO_DEVICE_OUT_SPEAKER", OutDeviceType::AUDIO_DEVICE_OUT_SPEAKER }, 113 { "AUDIO_DEVICE_OUT_WIRED_HEADSET", OutDeviceType::AUDIO_DEVICE_OUT_WIRED_HEADSET }, 114 { "AUDIO_DEVICE_OUT_WIRED_HEADPHONE", OutDeviceType::AUDIO_DEVICE_OUT_WIRED_HEADPHONE }, 115 { "AUDIO_DEVICE_OUT_BLUETOOTH_A2DP", OutDeviceType::AUDIO_DEVICE_OUT_BLUETOOTH_A2DP }, 116 { "AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES", OutDeviceType::AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES }, 117 { "AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER", OutDeviceType::AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER }, 118 { "AUDIO_DEVICE_OUT_HDMI", OutDeviceType::AUDIO_DEVICE_OUT_HDMI }, 119 { "AUDIO_DEVICE_OUT_HDMI_EARC", OutDeviceType::AUDIO_DEVICE_OUT_HDMI_EARC }, 120 { "AUDIO_DEVICE_OUT_AUX_DIGITAL", OutDeviceType::AUDIO_DEVICE_OUT_AUX_DIGITAL }, 121 { "AUDIO_DEVICE_OUT_USB_ACCESSORY", OutDeviceType::AUDIO_DEVICE_OUT_USB_ACCESSORY }, 122 { "AUDIO_DEVICE_OUT_USB_DEVICE", OutDeviceType::AUDIO_DEVICE_OUT_USB_DEVICE }, 123 { "AUDIO_DEVICE_OUT_LINE", OutDeviceType::AUDIO_DEVICE_OUT_LINE }, 124 { "AUDIO_DEVICE_OUT_HDMI_ARC", OutDeviceType::AUDIO_DEVICE_OUT_HDMI_ARC }, 125 { "AUDIO_DEVICE_OUT_AUX_LINE", OutDeviceType::AUDIO_DEVICE_OUT_AUX_LINE }, 126 { "AUDIO_DEVICE_OUT_SPEAKER_SAFE", OutDeviceType::AUDIO_DEVICE_OUT_SPEAKER_SAFE }, 127 { "AUDIO_DEVICE_OUT_BUS", OutDeviceType::AUDIO_DEVICE_OUT_BUS }, 128 { "AUDIO_DEVICE_OUT_USB_HEADSET", OutDeviceType::AUDIO_DEVICE_OUT_USB_HEADSET }, 129 { "AUDIO_DEVICE_OUT_BLE_HEADSET", OutDeviceType::AUDIO_DEVICE_OUT_BLE_HEADSET }, 130 { "AUDIO_DEVICE_OUT_BLE_SPEAKER", OutDeviceType::AUDIO_DEVICE_OUT_BLE_SPEAKER }, 131 { "AUDIO_DEVICE_OUT_BLE_BROADCAST", OutDeviceType::AUDIO_DEVICE_OUT_BLE_BROADCAST }, 132 { "AUDIO_DEVICE_OUT_DEFAULT", OutDeviceType::AUDIO_DEVICE_OUT_DEFAULT }, 133 { "TYPE_BUILTIN_SPEAKER", OutDeviceType::TYPE_BUILTIN_SPEAKER }, 134 { "TYPE_WIRED_HEADSET", OutDeviceType::TYPE_WIRED_HEADSET }, 135 { "TYPE_WIRED_HEADPHONES", OutDeviceType::TYPE_WIRED_HEADPHONES }, 136 { "TYPE_BLUETOOTH_A2DP", OutDeviceType::TYPE_BLUETOOTH_A2DP }, 137 { "TYPE_HDMI", OutDeviceType::TYPE_HDMI }, 138 { "TYPE_USB_ACCESSORY", OutDeviceType::TYPE_USB_ACCESSORY }, 139 { "TYPE_USB_DEVICE", OutDeviceType::TYPE_USB_DEVICE }, 140 { "TYPE_USB_HEADSET", OutDeviceType::TYPE_USB_HEADSET }, 141 { "TYPE_AUX_LINE", OutDeviceType::TYPE_AUX_LINE }, 142 { "TYPE_BUS", OutDeviceType::TYPE_BUS }, 143 { "TYPE_BLE_HEADSET", OutDeviceType::TYPE_BLE_HEADSET }, 144 { "TYPE_BLE_SPEAKER", OutDeviceType::TYPE_BLE_SPEAKER }, 145 { "TYPE_BLE_BROADCAST", OutDeviceType::TYPE_BLE_BROADCAST }, 146 }; 147 stringToOutDeviceType(const std::string & value)148 OutDeviceType stringToOutDeviceType(const std::string& value) { 149 auto enumValue = OutDeviceTypeString.find(value); 150 return enumValue != OutDeviceTypeString.end() ? enumValue->second : OutDeviceType::UNKNOWN; 151 } 152 toString(OutDeviceType o)153 std::string toString(OutDeviceType o) { 154 switch (o) { 155 case OutDeviceType::AUDIO_DEVICE_OUT_SPEAKER: return "AUDIO_DEVICE_OUT_SPEAKER"; 156 case OutDeviceType::AUDIO_DEVICE_OUT_WIRED_HEADSET: return "AUDIO_DEVICE_OUT_WIRED_HEADSET"; 157 case OutDeviceType::AUDIO_DEVICE_OUT_WIRED_HEADPHONE: return "AUDIO_DEVICE_OUT_WIRED_HEADPHONE"; 158 case OutDeviceType::AUDIO_DEVICE_OUT_BLUETOOTH_A2DP: return "AUDIO_DEVICE_OUT_BLUETOOTH_A2DP"; 159 case OutDeviceType::AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES: return "AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES"; 160 case OutDeviceType::AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER: return "AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER"; 161 case OutDeviceType::AUDIO_DEVICE_OUT_HDMI: return "AUDIO_DEVICE_OUT_HDMI"; 162 case OutDeviceType::AUDIO_DEVICE_OUT_HDMI_EARC: return "AUDIO_DEVICE_OUT_HDMI_EARC"; 163 case OutDeviceType::AUDIO_DEVICE_OUT_AUX_DIGITAL: return "AUDIO_DEVICE_OUT_AUX_DIGITAL"; 164 case OutDeviceType::AUDIO_DEVICE_OUT_USB_ACCESSORY: return "AUDIO_DEVICE_OUT_USB_ACCESSORY"; 165 case OutDeviceType::AUDIO_DEVICE_OUT_USB_DEVICE: return "AUDIO_DEVICE_OUT_USB_DEVICE"; 166 case OutDeviceType::AUDIO_DEVICE_OUT_LINE: return "AUDIO_DEVICE_OUT_LINE"; 167 case OutDeviceType::AUDIO_DEVICE_OUT_HDMI_ARC: return "AUDIO_DEVICE_OUT_HDMI_ARC"; 168 case OutDeviceType::AUDIO_DEVICE_OUT_AUX_LINE: return "AUDIO_DEVICE_OUT_AUX_LINE"; 169 case OutDeviceType::AUDIO_DEVICE_OUT_SPEAKER_SAFE: return "AUDIO_DEVICE_OUT_SPEAKER_SAFE"; 170 case OutDeviceType::AUDIO_DEVICE_OUT_BUS: return "AUDIO_DEVICE_OUT_BUS"; 171 case OutDeviceType::AUDIO_DEVICE_OUT_USB_HEADSET: return "AUDIO_DEVICE_OUT_USB_HEADSET"; 172 case OutDeviceType::AUDIO_DEVICE_OUT_BLE_HEADSET: return "AUDIO_DEVICE_OUT_BLE_HEADSET"; 173 case OutDeviceType::AUDIO_DEVICE_OUT_BLE_SPEAKER: return "AUDIO_DEVICE_OUT_BLE_SPEAKER"; 174 case OutDeviceType::AUDIO_DEVICE_OUT_BLE_BROADCAST: return "AUDIO_DEVICE_OUT_BLE_BROADCAST"; 175 case OutDeviceType::AUDIO_DEVICE_OUT_DEFAULT: return "AUDIO_DEVICE_OUT_DEFAULT"; 176 case OutDeviceType::TYPE_BUILTIN_SPEAKER: return "TYPE_BUILTIN_SPEAKER"; 177 case OutDeviceType::TYPE_WIRED_HEADSET: return "TYPE_WIRED_HEADSET"; 178 case OutDeviceType::TYPE_WIRED_HEADPHONES: return "TYPE_WIRED_HEADPHONES"; 179 case OutDeviceType::TYPE_BLUETOOTH_A2DP: return "TYPE_BLUETOOTH_A2DP"; 180 case OutDeviceType::TYPE_HDMI: return "TYPE_HDMI"; 181 case OutDeviceType::TYPE_USB_ACCESSORY: return "TYPE_USB_ACCESSORY"; 182 case OutDeviceType::TYPE_USB_DEVICE: return "TYPE_USB_DEVICE"; 183 case OutDeviceType::TYPE_USB_HEADSET: return "TYPE_USB_HEADSET"; 184 case OutDeviceType::TYPE_AUX_LINE: return "TYPE_AUX_LINE"; 185 case OutDeviceType::TYPE_BUS: return "TYPE_BUS"; 186 case OutDeviceType::TYPE_BLE_HEADSET: return "TYPE_BLE_HEADSET"; 187 case OutDeviceType::TYPE_BLE_SPEAKER: return "TYPE_BLE_SPEAKER"; 188 case OutDeviceType::TYPE_BLE_BROADCAST: return "TYPE_BLE_BROADCAST"; 189 default: return std::to_string(static_cast<int>(o)); 190 } 191 } 192 193 const std::map<std::string, InDeviceType> InDeviceTypeString { 194 { "AUDIO_DEVICE_IN_COMMUNICATION", InDeviceType::AUDIO_DEVICE_IN_COMMUNICATION }, 195 { "AUDIO_DEVICE_IN_AMBIENT", InDeviceType::AUDIO_DEVICE_IN_AMBIENT }, 196 { "AUDIO_DEVICE_IN_BUILTIN_MIC", InDeviceType::AUDIO_DEVICE_IN_BUILTIN_MIC }, 197 { "AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET", InDeviceType::AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET }, 198 { "AUDIO_DEVICE_IN_WIRED_HEADSET", InDeviceType::AUDIO_DEVICE_IN_WIRED_HEADSET }, 199 { "AUDIO_DEVICE_IN_AUX_DIGITAL", InDeviceType::AUDIO_DEVICE_IN_AUX_DIGITAL }, 200 { "AUDIO_DEVICE_IN_HDMI", InDeviceType::AUDIO_DEVICE_IN_HDMI }, 201 { "AUDIO_DEVICE_IN_VOICE_CALL", InDeviceType::AUDIO_DEVICE_IN_VOICE_CALL }, 202 { "AUDIO_DEVICE_IN_TELEPHONY_RX", InDeviceType::AUDIO_DEVICE_IN_TELEPHONY_RX }, 203 { "AUDIO_DEVICE_IN_BACK_MIC", InDeviceType::AUDIO_DEVICE_IN_BACK_MIC }, 204 { "AUDIO_DEVICE_IN_REMOTE_SUBMIX", InDeviceType::AUDIO_DEVICE_IN_REMOTE_SUBMIX }, 205 { "AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET", InDeviceType::AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET }, 206 { "AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET", InDeviceType::AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET }, 207 { "AUDIO_DEVICE_IN_USB_ACCESSORY", InDeviceType::AUDIO_DEVICE_IN_USB_ACCESSORY }, 208 { "AUDIO_DEVICE_IN_USB_DEVICE", InDeviceType::AUDIO_DEVICE_IN_USB_DEVICE }, 209 { "AUDIO_DEVICE_IN_FM_TUNER", InDeviceType::AUDIO_DEVICE_IN_FM_TUNER }, 210 { "AUDIO_DEVICE_IN_TV_TUNER", InDeviceType::AUDIO_DEVICE_IN_TV_TUNER }, 211 { "AUDIO_DEVICE_IN_LINE", InDeviceType::AUDIO_DEVICE_IN_LINE }, 212 { "AUDIO_DEVICE_IN_SPDIF", InDeviceType::AUDIO_DEVICE_IN_SPDIF }, 213 { "AUDIO_DEVICE_IN_BLUETOOTH_A2DP", InDeviceType::AUDIO_DEVICE_IN_BLUETOOTH_A2DP }, 214 { "AUDIO_DEVICE_IN_LOOPBACK", InDeviceType::AUDIO_DEVICE_IN_LOOPBACK }, 215 { "AUDIO_DEVICE_IN_IP", InDeviceType::AUDIO_DEVICE_IN_IP }, 216 { "AUDIO_DEVICE_IN_BUS", InDeviceType::AUDIO_DEVICE_IN_BUS }, 217 { "AUDIO_DEVICE_IN_PROXY", InDeviceType::AUDIO_DEVICE_IN_PROXY }, 218 { "AUDIO_DEVICE_IN_USB_HEADSET", InDeviceType::AUDIO_DEVICE_IN_USB_HEADSET }, 219 { "AUDIO_DEVICE_IN_BLUETOOTH_BLE", InDeviceType::AUDIO_DEVICE_IN_BLUETOOTH_BLE }, 220 { "AUDIO_DEVICE_IN_HDMI_ARC", InDeviceType::AUDIO_DEVICE_IN_HDMI_ARC }, 221 { "AUDIO_DEVICE_IN_ECHO_REFERENCE", InDeviceType::AUDIO_DEVICE_IN_ECHO_REFERENCE }, 222 { "AUDIO_DEVICE_IN_DEFAULT", InDeviceType::AUDIO_DEVICE_IN_DEFAULT }, 223 { "AUDIO_DEVICE_IN_STUB", InDeviceType::AUDIO_DEVICE_IN_STUB }, 224 }; 225 stringToInDeviceType(const std::string & value)226 InDeviceType stringToInDeviceType(const std::string& value) { 227 auto enumValue = InDeviceTypeString.find(value); 228 return enumValue != InDeviceTypeString.end() ? enumValue->second : InDeviceType::UNKNOWN; 229 } 230 toString(InDeviceType o)231 std::string toString(InDeviceType o) { 232 switch (o) { 233 case InDeviceType::AUDIO_DEVICE_IN_COMMUNICATION: return "AUDIO_DEVICE_IN_COMMUNICATION"; 234 case InDeviceType::AUDIO_DEVICE_IN_AMBIENT: return "AUDIO_DEVICE_IN_AMBIENT"; 235 case InDeviceType::AUDIO_DEVICE_IN_BUILTIN_MIC: return "AUDIO_DEVICE_IN_BUILTIN_MIC"; 236 case InDeviceType::AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET: return "AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET"; 237 case InDeviceType::AUDIO_DEVICE_IN_WIRED_HEADSET: return "AUDIO_DEVICE_IN_WIRED_HEADSET"; 238 case InDeviceType::AUDIO_DEVICE_IN_AUX_DIGITAL: return "AUDIO_DEVICE_IN_AUX_DIGITAL"; 239 case InDeviceType::AUDIO_DEVICE_IN_HDMI: return "AUDIO_DEVICE_IN_HDMI"; 240 case InDeviceType::AUDIO_DEVICE_IN_VOICE_CALL: return "AUDIO_DEVICE_IN_VOICE_CALL"; 241 case InDeviceType::AUDIO_DEVICE_IN_TELEPHONY_RX: return "AUDIO_DEVICE_IN_TELEPHONY_RX"; 242 case InDeviceType::AUDIO_DEVICE_IN_BACK_MIC: return "AUDIO_DEVICE_IN_BACK_MIC"; 243 case InDeviceType::AUDIO_DEVICE_IN_REMOTE_SUBMIX: return "AUDIO_DEVICE_IN_REMOTE_SUBMIX"; 244 case InDeviceType::AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET: return "AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET"; 245 case InDeviceType::AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET: return "AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET"; 246 case InDeviceType::AUDIO_DEVICE_IN_USB_ACCESSORY: return "AUDIO_DEVICE_IN_USB_ACCESSORY"; 247 case InDeviceType::AUDIO_DEVICE_IN_USB_DEVICE: return "AUDIO_DEVICE_IN_USB_DEVICE"; 248 case InDeviceType::AUDIO_DEVICE_IN_FM_TUNER: return "AUDIO_DEVICE_IN_FM_TUNER"; 249 case InDeviceType::AUDIO_DEVICE_IN_TV_TUNER: return "AUDIO_DEVICE_IN_TV_TUNER"; 250 case InDeviceType::AUDIO_DEVICE_IN_LINE: return "AUDIO_DEVICE_IN_LINE"; 251 case InDeviceType::AUDIO_DEVICE_IN_SPDIF: return "AUDIO_DEVICE_IN_SPDIF"; 252 case InDeviceType::AUDIO_DEVICE_IN_BLUETOOTH_A2DP: return "AUDIO_DEVICE_IN_BLUETOOTH_A2DP"; 253 case InDeviceType::AUDIO_DEVICE_IN_LOOPBACK: return "AUDIO_DEVICE_IN_LOOPBACK"; 254 case InDeviceType::AUDIO_DEVICE_IN_IP: return "AUDIO_DEVICE_IN_IP"; 255 case InDeviceType::AUDIO_DEVICE_IN_BUS: return "AUDIO_DEVICE_IN_BUS"; 256 case InDeviceType::AUDIO_DEVICE_IN_PROXY: return "AUDIO_DEVICE_IN_PROXY"; 257 case InDeviceType::AUDIO_DEVICE_IN_USB_HEADSET: return "AUDIO_DEVICE_IN_USB_HEADSET"; 258 case InDeviceType::AUDIO_DEVICE_IN_BLUETOOTH_BLE: return "AUDIO_DEVICE_IN_BLUETOOTH_BLE"; 259 case InDeviceType::AUDIO_DEVICE_IN_HDMI_ARC: return "AUDIO_DEVICE_IN_HDMI_ARC"; 260 case InDeviceType::AUDIO_DEVICE_IN_ECHO_REFERENCE: return "AUDIO_DEVICE_IN_ECHO_REFERENCE"; 261 case InDeviceType::AUDIO_DEVICE_IN_DEFAULT: return "AUDIO_DEVICE_IN_DEFAULT"; 262 case InDeviceType::AUDIO_DEVICE_IN_STUB: return "AUDIO_DEVICE_IN_STUB"; 263 default: return std::to_string(static_cast<int>(o)); 264 } 265 } 266 267 } // audiocontrol 268 } // automotive 269 } // hardware 270 } // android 271