Mercurial > libanimone
view include/animone/player.h @ 29:40fd3776ce9b
cmake: we are not "animia" anymore
author | Paper <paper@tflc.us> |
---|---|
date | Sun, 09 Feb 2025 23:15:55 -0500 |
parents | 60ded877339b |
children | 93224b26a0ee |
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_