Mercurial > libanimone
view include/animone/player.h @ 26:77a5ea5e996c
*: transfer back to cmake from autotools
autotools just made lots of things more complicated than
they should have and many things broke (i.e. translations)
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Thu, 20 Jun 2024 05:56:06 -0400 |
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_