00001 00028 #ifndef DMN_TOURNAMENT 00029 #define DMN_TOURNAMENT 1 00030 00031 #include <dmn/dmn.h> 00032 #include <dmn/core.h> 00033 #include <dmn/module.h> 00034 00035 #include <list> 00036 00037 namespace dmn 00038 { 00042 class Tournament: public Module 00043 { 00044 public: 00048 Tournament(); 00049 00053 virtual ~Tournament() {} 00054 00062 virtual bool configure(Core *core) = 0; 00063 00072 virtual bool next_match(ID match, std::list<ID> *couples) = 0; 00073 00082 virtual bool set_match_winner(ID match, ID couple_winner) = 0; 00083 00092 virtual bool classification(std::list<ID> *teams) = 0; 00093 00099 virtual ID winner() = 0; 00100 00106 virtual bool is_finished() = 0; 00107 }; 00108 }; 00109 00110 #endif // DMN_TOURNAMENT