1 /**********************************************************************
2  *
3  *   FreeDoko a Doppelkopf-Game
4  *
5  *   Copyright (C) 2001 – 2018 by Diether Knof and Borg Enders
6  *
7  *   This program is free software; you can redistribute it and/or
8  *   modify it under the terms of the GNU General Public License as
9  *   published by the Free Software Foundation; either version 2 of
10  *   the License, or (at your option) any later version.
11  *
12  *   This program is distributed in the hope that it will be useful,
13  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *   GNU General Public License for more details.
16  *   You can find this license in the file 'gpl.txt'.
17  *
18  *   You should have received a copy of the GNU General Public License
19  *   along with this program; if not, write to the Free Software
20  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21  *   MA  02111-1307  USA
22  *
23  *  Contact:
24  *    Diether Knof dknof@posteo.de
25  *
26  **********************************************************************/
27 
28 #pragma once
29 
30 enum class GameStatus {
31   programstart = 0,
32   quit = 1,
33   party = 0x10,
34   party_new = party,
35   party_initial_loaded,
36   party_loaded,
37   party_play,
38   party_finished,
39   game = 0x100,
40   game_new = game,
41   game_init,
42   game_cards_distribution,
43   game_manual_cards_distribution,
44   game_reservation,
45   game_redistribute,
46   game_poverty_shift,
47   game_start,
48   game_play,
49   game_full_trick,
50   game_trick_taken,
51   game_finished,
52   game_closed
53 }; // enum class GameStatus
54 
55 string to_string(GameStatus game_status) noexcept;
56 string gettext(GameStatus game_status);
57 ostream& operator<<(ostream& ostr, GameStatus game_status);
58 
59 bool operator&(GameStatus lhs, GameStatus rhs);
60 
61 bool in_running_game() noexcept;
62 
63 extern GameStatus game_status;
64