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