1 #include <map>
2 
3 #include "aidl_android_hardware_bluetooth_audio_setting_enums.h"
4 
5 namespace aidl {
6     namespace android {
7         namespace hardware {
8             namespace bluetooth {
9                 namespace audio {
10                     namespace setting {
11                         const std::map<std::string, AudioLocation> AudioLocationString {
12                             { "MONO", AudioLocation::MONO },
13                             { "STEREO", AudioLocation::STEREO },
14                         };
15 
stringToAudioLocation(const std::string & value)16                         AudioLocation stringToAudioLocation(const std::string& value) {
17                             auto enumValue = AudioLocationString.find(value);
18                             return enumValue != AudioLocationString.end() ? enumValue->second : AudioLocation::UNKNOWN;
19                         }
20 
toString(AudioLocation o)21                         std::string toString(AudioLocation o) {
22                             switch (o) {
23                                 case AudioLocation::MONO: return "MONO";
24                                 case AudioLocation::STEREO: return "STEREO";
25                                 default: return std::to_string(static_cast<int>(o));
26                             }
27                         }
28 
29                         const std::map<std::string, CodecType> CodecTypeString {
30                             { "LC3", CodecType::LC3 },
31                             { "APTX_ADAPTIVE_LE", CodecType::APTX_ADAPTIVE_LE },
32                             { "APTX_ADAPTIVE_LEX", CodecType::APTX_ADAPTIVE_LEX },
33                         };
34 
stringToCodecType(const std::string & value)35                         CodecType stringToCodecType(const std::string& value) {
36                             auto enumValue = CodecTypeString.find(value);
37                             return enumValue != CodecTypeString.end() ? enumValue->second : CodecType::UNKNOWN;
38                         }
39 
toString(CodecType o)40                         std::string toString(CodecType o) {
41                             switch (o) {
42                                 case CodecType::LC3: return "LC3";
43                                 case CodecType::APTX_ADAPTIVE_LE: return "APTX_ADAPTIVE_LE";
44                                 case CodecType::APTX_ADAPTIVE_LEX: return "APTX_ADAPTIVE_LEX";
45                                 default: return std::to_string(static_cast<int>(o));
46                             }
47                         }
48 
49                     } // setting
50                 } // audio
51             } // bluetooth
52         } // hardware
53     } // android
54 } // aidl
55