00001 // -*- C++ -*- 00019 /* 00020 * $Log: ManagerConfig.h,v $ 00021 * Revision 1.3 2006/11/06 01:26:28 n-ando 00022 * Some trivial fixes. 00023 * 00024 * Revision 1.2 2006/10/23 08:38:23 n-ando 00025 * To get Property after "init()" calling, getConfig() was added. 00026 * 00027 * Revision 1.1 2006/10/17 10:21:38 n-ando 00028 * The first commitment. 00029 * 00030 * 00031 */ 00032 00033 00034 #ifndef ManagerConfig_h 00035 #define ManagerConfig_h 00036 00037 #include <rtm/Properties.h> 00038 00039 00040 namespace RTC 00041 { 00042 00043 00076 class ManagerConfig 00077 { 00078 public: 00079 // The list of default configuration file path. 00080 static const char* config_file_path[]; 00081 00082 // Environment value to specify configuration file 00083 static const char* config_file_env; 00084 00085 00101 ManagerConfig(); 00102 00103 00126 ManagerConfig(int argc, char** argv); 00127 00128 00140 virtual ~ManagerConfig(); 00141 00142 00168 Properties init(); 00169 00170 00198 Properties init(int argc, char** argv); 00199 00200 00222 Properties getConfig() const; 00223 00224 protected: 00246 void parseArgs(int argc, char** argv); 00247 00248 00268 bool findConfigFile(); 00269 00270 00298 void setSystemInformation(Properties& prop); 00299 00300 00308 bool fileExist(const std::string& filename); 00309 00310 std::string m_configFile; 00311 Properties m_properties; 00312 00313 00314 }; 00315 00316 }; // namespace RTC 00317 00318 00319 #endif // ManagerConfig_h 00320