annotate include/animone/player.h @ 13:efbb8316395f

dep/animone: clean up OS X code GetProcessName() really belongs in fd.cc after removing the stupid unnecessary LaunchServices code that was stolen from... some library :)
author Paper <paper@paper.us.eu.org>
date Mon, 13 May 2024 14:15:47 -0400
parents a76fa32bdc92
children 27b988a1048c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
1 #ifndef ANIMONE_ANIMONE_PLAYER_H_
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
2 #define ANIMONE_ANIMONE_PLAYER_H_
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
3
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
4 #include <string>
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
5 #include <vector>
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
6
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
7 namespace animone {
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
8
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
9 enum class Strategy {
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
10 WindowTitle,
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
11 OpenFiles,
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
12 UiAutomation // unused
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
13 };
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
14
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
15 enum class PlayerType {
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
16 Default,
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
17 WebBrowser // unused
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
18 };
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
19
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
20 struct Player {
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
21 PlayerType type = PlayerType::Default;
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
22 std::string name;
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
23 std::string window_title_format;
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
24 std::vector<std::string> windows;
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
25 std::vector<std::string> executables;
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
26 std::vector<Strategy> strategies;
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
27 };
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
28
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
29 bool ParsePlayersData(const std::string& data, std::vector<Player>& players);
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
30 bool ParsePlayersFile(const std::string& path, std::vector<Player>& players);
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
31
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
32 } // namespace animone
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
33
a76fa32bdc92 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents:
diff changeset
34 #endif // ANIMONE_ANIMONE_PLAYER_H_