00001 #ifndef _ROLE_CONFIGURATION_H 00002 #define _ROLE_CONFIGURATION_H 00003 00030 #include <map> 00031 #include <string> 00032 #include <iostream> 00033 00034 00035 namespace WURDE{ 00056 class WURDEConfiguration { 00057 public: 00061 WURDEConfiguration(); 00062 ~WURDEConfiguration(){}; 00063 00064 std::string getDataDirectory(){return m_dataDir;} 00065 std::string getBinDirectory(){return m_binDir;} 00066 std::string getConfigDirectory(){return m_configDir;} 00067 std::string getMCPConfigFile(){return m_mcpConfigFile;} 00068 std::string getLogDirectory(){ return m_logDirectory;} 00069 std::string getModuleName(){ return m_moduleName;} 00070 00071 int getLogLevel(){return m_logLevel;} 00072 00073 void setDataDirectory(std::string val){m_dataDir=val;} 00074 void setBinDirectory(std::string val){m_binDir=val;} 00075 void setConfigDirectory(std::string val){m_configDir=val;} 00076 void setMCPConfigFile(std::string val){m_mcpConfigFile=val;} 00077 void setLogDirectory(std::string val){m_logDirectory=val;} 00078 void setModuleName(std::string val){ m_moduleName=val;} 00079 00080 void setLogLevel(int val){m_logLevel=val;} 00081 00085 bool haveOption(std::string name); 00086 00092 std::string getOption(std::string name); 00093 00097 void setOption(std::string name, std::string value); 00098 00102 bool haveModuleOption(std::string module, std::string name); 00103 00109 std::string getModuleOption(std::string module, std::string name); 00110 00114 void setModuleOption(std::string module, std::string name, std::string value); 00115 00126 void readEnvironment(); 00127 00128 protected: 00129 std::string m_moduleName; 00130 00131 std::string m_dataDir; 00132 std::string m_binDir; 00133 std::string m_configDir; 00134 std::string m_mcpConfigFile; 00135 std::string m_logDirectory; 00136 00137 int m_logLevel; 00141 std::multimap<std::string,std::string> m_options; 00142 00147 std::multimap<std::string,std::multimap<std::string,std::string> > m_moduleOptions; 00148 00149 00150 }; 00151 00152 void parseWURDEConfig(std::string config); 00153 00154 extern WURDEConfiguration g_globalConfiguration; 00155 } 00156 00157 #endif