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