00001 #ifndef CONF_INTERFACE_H
00002 #define CONF_INTERFACE_H
00003 #include <string>
00004
00005 class ConfigInterface
00006 {
00007 public:
00008 ConfigInterface() {}
00009 virtual ~ConfigInterface() {}
00010 virtual void Load(std::string _file) = 0;
00011 virtual void SetDefaultString(const std::string & name, const std::string & value) = 0;
00012 virtual void SetDefaultInt(const std::string & name, const int & value) = 0;
00013 virtual void SetDefaultBool(const std::string & name, const bool & value) = 0;
00014
00015 virtual bool Get( const std::string & name,
00016 std::string & value) = 0;
00017 virtual bool Get( const std::string & name,
00018 int & value) = 0;
00019 virtual bool Get( const std::string & name,
00020 bool & value) = 0;
00021
00022 virtual void SetString(std::string name, const std::string & value) = 0;
00023 virtual void SetInt(std::string name, const int & value) = 0;
00024 virtual void SetBool(std::string name, const bool & value) = 0;
00025
00026 virtual std::string GetAsString() = 0;
00027 virtual void Parse(std::string line) = 0;
00028 virtual void ParseShellArgs(int argc, char** argv) = 0;
00029 virtual bool IsLoaded() = 0;
00030 };
00031
00032 #endif