00001
00028 #ifndef DMN_MATCH_H
00029 #define DMN_MATCH_H 1
00030
00031 #include <dmn/dmn.h>
00032 #include <dmn/core.h>
00033 #include <dmn/module.h>
00034
00035 #include <list>
00036 #include <utility>
00037
00038 namespace dmn
00039 {
00043 class Match: public Module
00044 {
00045 public:
00049 Match();
00050
00054 virtual ~Match() {}
00055
00063 virtual bool configure(Core *core) = 0;
00064
00073 virtual bool next_game(ID game, std::list<ID> *couples) = 0;
00074
00081 virtual void set_game_winner(ID game, ID couple_winner) = 0;
00082
00088 virtual Points points_to_win() = 0;
00089
00097 virtual void score_board(std::list<Score> *score) = 0;
00098
00104 virtual ID winner() = 0;
00105
00111 virtual bool is_finished() = 0;
00112 };
00113 };
00114
00115 #endif // DMN_MATCH_H