00001 00029 #ifndef CONFIG_DEFAULT_H 00030 #define CONFIG_DEFAULT_H 1 00031 00032 #include <dmn/config.h> 00033 00034 #include <string> 00035 00036 #include "configfile.h" 00037 00038 namespace dmn 00039 { 00047 class ConfigDefault: public Config 00048 { 00049 private: 00050 std::string configpath_; 00051 ConfigFile configfile_; 00052 00053 std::string Config_; 00054 std::string Core_; 00055 std::string Display_; 00056 std::string Sound_; 00057 std::string Tournament_; 00058 std::string Match_; 00059 std::string Game_; 00060 std::string Hand_; 00061 std::list<dmn::PlayerInfo> Teams_; 00062 00071 int last_point(const char *str); 00072 00080 const char *module_str(ModuleType type); 00081 00089 int list_dir(char *dirname); 00090 00096 int list(); 00097 00101 void usage(int status); 00102 00106 void version(); 00107 00114 void parse_command_line(int argc, char *argv[]); 00115 00119 void parse_file(); 00120 00124 void check_options(); 00125 00126 public: 00130 ConfigDefault(); 00131 00132 bool configure(int argc, char *argv[]); 00133 std::string config(); 00134 std::string core(const std::string& default_option); 00135 std::string display(const std::string& default_option); 00136 std::string sound(const std::string& default_option); 00137 std::string tournament(const std::string& default_option); 00138 std::string match(const std::string& default_option); 00139 std::string game(const std::string& default_option); 00140 std::string hand(const std::string& default_option); 00141 std::list<dmn::PlayerInfo> teams(const std::list<PlayerInfo> 00142 default_option); 00143 }; 00144 }; 00145 00146 #endif // CONFIG_DEFAULT_H