1 #include <map>
2 
3 #include "android_hardware_automotive_audiocontrol_fade_enums.h"
4 
5 namespace android {
6     namespace hardware {
7         namespace automotive {
8             namespace audiocontrol {
9                 namespace fade {
10                     const std::map<std::string, FadeStateEnumType> FadeStateEnumTypeString {
11                         { "0", FadeStateEnumType::_0 },
12                         { "1", FadeStateEnumType::_1 },
13                         { "FADE_STATE_DISABLED", FadeStateEnumType::FADE_STATE_DISABLED },
14                         { "FADE_STATE_ENABLED_DEFAULT", FadeStateEnumType::FADE_STATE_ENABLED_DEFAULT },
15                     };
16 
stringToFadeStateEnumType(const std::string & value)17                     FadeStateEnumType stringToFadeStateEnumType(const std::string& value) {
18                         auto enumValue = FadeStateEnumTypeString.find(value);
19                         return enumValue != FadeStateEnumTypeString.end() ? enumValue->second : FadeStateEnumType::UNKNOWN;
20                     }
21 
toString(FadeStateEnumType o)22                     std::string toString(FadeStateEnumType o) {
23                         switch (o) {
24                             case FadeStateEnumType::_0: return "0";
25                             case FadeStateEnumType::_1: return "1";
26                             case FadeStateEnumType::FADE_STATE_DISABLED: return "FADE_STATE_DISABLED";
27                             case FadeStateEnumType::FADE_STATE_ENABLED_DEFAULT: return "FADE_STATE_ENABLED_DEFAULT";
28                             default: return std::to_string(static_cast<int>(o));
29                         }
30                     }
31 
32                     const std::map<std::string, UsageEnumType> UsageEnumTypeString {
33                         { "AUDIO_USAGE_UNKNOWN", UsageEnumType::AUDIO_USAGE_UNKNOWN },
34                         { "AUDIO_USAGE_MEDIA", UsageEnumType::AUDIO_USAGE_MEDIA },
35                         { "AUDIO_USAGE_VOICE_COMMUNICATION", UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION },
36                         { "AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING", UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING },
37                         { "AUDIO_USAGE_ALARM", UsageEnumType::AUDIO_USAGE_ALARM },
38                         { "AUDIO_USAGE_NOTIFICATION", UsageEnumType::AUDIO_USAGE_NOTIFICATION },
39                         { "AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE", UsageEnumType::AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE },
40                         { "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST", UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST },
41                         { "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT", UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT },
42                         { "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED", UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED },
43                         { "AUDIO_USAGE_NOTIFICATION_EVENT", UsageEnumType::AUDIO_USAGE_NOTIFICATION_EVENT },
44                         { "AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY", UsageEnumType::AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY },
45                         { "AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE", UsageEnumType::AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE },
46                         { "AUDIO_USAGE_ASSISTANCE_SONIFICATION", UsageEnumType::AUDIO_USAGE_ASSISTANCE_SONIFICATION },
47                         { "AUDIO_USAGE_GAME", UsageEnumType::AUDIO_USAGE_GAME },
48                         { "AUDIO_USAGE_VIRTUAL_SOURCE", UsageEnumType::AUDIO_USAGE_VIRTUAL_SOURCE },
49                         { "AUDIO_USAGE_ASSISTANT", UsageEnumType::AUDIO_USAGE_ASSISTANT },
50                         { "AUDIO_USAGE_CALL_ASSISTANT", UsageEnumType::AUDIO_USAGE_CALL_ASSISTANT },
51                         { "AUDIO_USAGE_EMERGENCY", UsageEnumType::AUDIO_USAGE_EMERGENCY },
52                         { "AUDIO_USAGE_SAFETY", UsageEnumType::AUDIO_USAGE_SAFETY },
53                         { "AUDIO_USAGE_VEHICLE_STATUS", UsageEnumType::AUDIO_USAGE_VEHICLE_STATUS },
54                         { "AUDIO_USAGE_ANNOUNCEMENT", UsageEnumType::AUDIO_USAGE_ANNOUNCEMENT },
55                     };
56 
stringToUsageEnumType(const std::string & value)57                     UsageEnumType stringToUsageEnumType(const std::string& value) {
58                         auto enumValue = UsageEnumTypeString.find(value);
59                         return enumValue != UsageEnumTypeString.end() ? enumValue->second : UsageEnumType::UNKNOWN;
60                     }
61 
toString(UsageEnumType o)62                     std::string toString(UsageEnumType o) {
63                         switch (o) {
64                             case UsageEnumType::AUDIO_USAGE_UNKNOWN: return "AUDIO_USAGE_UNKNOWN";
65                             case UsageEnumType::AUDIO_USAGE_MEDIA: return "AUDIO_USAGE_MEDIA";
66                             case UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION: return "AUDIO_USAGE_VOICE_COMMUNICATION";
67                             case UsageEnumType::AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: return "AUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING";
68                             case UsageEnumType::AUDIO_USAGE_ALARM: return "AUDIO_USAGE_ALARM";
69                             case UsageEnumType::AUDIO_USAGE_NOTIFICATION: return "AUDIO_USAGE_NOTIFICATION";
70                             case UsageEnumType::AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE: return "AUDIO_USAGE_NOTIFICATION_TELEPHONY_RINGTONE";
71                             case UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST: return "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_REQUEST";
72                             case UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT: return "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_INSTANT";
73                             case UsageEnumType::AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED: return "AUDIO_USAGE_NOTIFICATION_COMMUNICATION_DELAYED";
74                             case UsageEnumType::AUDIO_USAGE_NOTIFICATION_EVENT: return "AUDIO_USAGE_NOTIFICATION_EVENT";
75                             case UsageEnumType::AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: return "AUDIO_USAGE_ASSISTANCE_ACCESSIBILITY";
76                             case UsageEnumType::AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: return "AUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE";
77                             case UsageEnumType::AUDIO_USAGE_ASSISTANCE_SONIFICATION: return "AUDIO_USAGE_ASSISTANCE_SONIFICATION";
78                             case UsageEnumType::AUDIO_USAGE_GAME: return "AUDIO_USAGE_GAME";
79                             case UsageEnumType::AUDIO_USAGE_VIRTUAL_SOURCE: return "AUDIO_USAGE_VIRTUAL_SOURCE";
80                             case UsageEnumType::AUDIO_USAGE_ASSISTANT: return "AUDIO_USAGE_ASSISTANT";
81                             case UsageEnumType::AUDIO_USAGE_CALL_ASSISTANT: return "AUDIO_USAGE_CALL_ASSISTANT";
82                             case UsageEnumType::AUDIO_USAGE_EMERGENCY: return "AUDIO_USAGE_EMERGENCY";
83                             case UsageEnumType::AUDIO_USAGE_SAFETY: return "AUDIO_USAGE_SAFETY";
84                             case UsageEnumType::AUDIO_USAGE_VEHICLE_STATUS: return "AUDIO_USAGE_VEHICLE_STATUS";
85                             case UsageEnumType::AUDIO_USAGE_ANNOUNCEMENT: return "AUDIO_USAGE_ANNOUNCEMENT";
86                             default: return std::to_string(static_cast<int>(o));
87                         }
88                     }
89 
90                     const std::map<std::string, ContentTypeEnum> ContentTypeEnumString {
91                         { "AUDIO_CONTENT_TYPE_UNKNOWN", ContentTypeEnum::AUDIO_CONTENT_TYPE_UNKNOWN },
92                         { "AUDIO_CONTENT_TYPE_SPEECH", ContentTypeEnum::AUDIO_CONTENT_TYPE_SPEECH },
93                         { "AUDIO_CONTENT_TYPE_MUSIC", ContentTypeEnum::AUDIO_CONTENT_TYPE_MUSIC },
94                         { "AUDIO_CONTENT_TYPE_MOVIE", ContentTypeEnum::AUDIO_CONTENT_TYPE_MOVIE },
95                         { "AUDIO_CONTENT_TYPE_SONIFICATION", ContentTypeEnum::AUDIO_CONTENT_TYPE_SONIFICATION },
96                     };
97 
stringToContentTypeEnum(const std::string & value)98                     ContentTypeEnum stringToContentTypeEnum(const std::string& value) {
99                         auto enumValue = ContentTypeEnumString.find(value);
100                         return enumValue != ContentTypeEnumString.end() ? enumValue->second : ContentTypeEnum::UNKNOWN;
101                     }
102 
toString(ContentTypeEnum o)103                     std::string toString(ContentTypeEnum o) {
104                         switch (o) {
105                             case ContentTypeEnum::AUDIO_CONTENT_TYPE_UNKNOWN: return "AUDIO_CONTENT_TYPE_UNKNOWN";
106                             case ContentTypeEnum::AUDIO_CONTENT_TYPE_SPEECH: return "AUDIO_CONTENT_TYPE_SPEECH";
107                             case ContentTypeEnum::AUDIO_CONTENT_TYPE_MUSIC: return "AUDIO_CONTENT_TYPE_MUSIC";
108                             case ContentTypeEnum::AUDIO_CONTENT_TYPE_MOVIE: return "AUDIO_CONTENT_TYPE_MOVIE";
109                             case ContentTypeEnum::AUDIO_CONTENT_TYPE_SONIFICATION: return "AUDIO_CONTENT_TYPE_SONIFICATION";
110                             default: return std::to_string(static_cast<int>(o));
111                         }
112                     }
113 
114                 } // fade
115             } // audiocontrol
116         } // automotive
117     } // hardware
118 } // android
119