2 * Copyright (C) 2017-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
9 #include "AppTranslator.h"
12 #include "utils/StringUtils.h"
13 #include "utils/log.h"
20 using ActionName
= std::string
;
21 using CommandID
= uint32_t;
24 static const std::map
<ActionName
, CommandID
> AppCommands
= {
25 {"browser_back", APPCOMMAND_BROWSER_BACKWARD
},
26 {"browser_forward", APPCOMMAND_BROWSER_FORWARD
},
27 {"browser_refresh", APPCOMMAND_BROWSER_REFRESH
},
28 {"browser_stop", APPCOMMAND_BROWSER_STOP
},
29 {"browser_search", APPCOMMAND_BROWSER_SEARCH
},
30 {"browser_favorites", APPCOMMAND_BROWSER_FAVORITES
},
31 {"browser_home", APPCOMMAND_BROWSER_HOME
},
32 {"volume_mute", APPCOMMAND_VOLUME_MUTE
},
33 {"volume_down", APPCOMMAND_VOLUME_DOWN
},
34 {"volume_up", APPCOMMAND_VOLUME_UP
},
35 {"next_track", APPCOMMAND_MEDIA_NEXTTRACK
},
36 {"prev_track", APPCOMMAND_MEDIA_PREVIOUSTRACK
},
37 {"stop", APPCOMMAND_MEDIA_STOP
},
38 {"play_pause", APPCOMMAND_MEDIA_PLAY_PAUSE
},
39 {"launch_mail", APPCOMMAND_LAUNCH_MAIL
},
40 {"launch_media_select", APPCOMMAND_LAUNCH_MEDIA_SELECT
},
41 {"launch_app1", APPCOMMAND_LAUNCH_APP1
},
42 {"launch_app2", APPCOMMAND_LAUNCH_APP2
},
43 {"play", APPCOMMAND_MEDIA_PLAY
},
44 {"pause", APPCOMMAND_MEDIA_PAUSE
},
45 {"fastforward", APPCOMMAND_MEDIA_FAST_FORWARD
},
46 {"rewind", APPCOMMAND_MEDIA_REWIND
},
47 {"channelup", APPCOMMAND_MEDIA_CHANNEL_UP
},
48 {"channeldown", APPCOMMAND_MEDIA_CHANNEL_DOWN
}};
51 } // anonymous namespace
53 uint32_t CAppTranslator::TranslateAppCommand(const std::string
& szButton
)
56 std::string strAppCommand
= szButton
;
57 StringUtils::ToLower(strAppCommand
);
59 auto it
= AppCommands
.find(strAppCommand
);
60 if (it
!= AppCommands
.end())
61 return it
->second
| KEY_APPCOMMAND
;
63 CLog::Log(LOGERROR
, "{}: Can't find appcommand {}", __FUNCTION__
, szButton
);