Mercurial > minori
view dep/animone/include/animone/player.h @ 367:8d45d892be88 default tip
*: instead of pugixml, use Qt XML features
this means we have one extra Qt dependency though...
author | Paper <paper@tflc.us> |
---|---|
date | Sun, 17 Nov 2024 22:55:47 -0500 |
parents | adb79bdde329 |
children |
line wrap: on
line source
#ifndef ANIMONE_ANIMONE_PLAYER_H_ #define ANIMONE_ANIMONE_PLAYER_H_ #include "animone/types.h" #include <string> #include <vector> #include <map> namespace animone { enum class ExecutablePlatform { Posix, // Posix platforms that aren't OS X Win32, // Windows Xnu, // OS X Unknown, // ... }; enum class WindowPlatform { Quartz, // OS X Win32, // Windows X11, // X11 Unknown, // ... }; enum class Strategy { WindowTitle, OpenFiles, UiAutomation // unused }; enum class PlayerType { Default, WebBrowser // unused }; struct ANIMONE_API Player { PlayerType type = PlayerType::Default; std::string name; std::string window_title_format; std::map<WindowPlatform, std::vector<std::string>> windows; std::map<ExecutablePlatform, std::vector<std::string>> executables; std::vector<Strategy> strategies; }; ANIMONE_API bool ParsePlayersData(const std::string& data, std::vector<Player>& players); ANIMONE_API bool ParsePlayersFile(const std::string& path, std::vector<Player>& players); } // namespace animone #endif // ANIMONE_ANIMONE_PLAYER_H_