Fennel: /home/pub/open/dev/fennel/common/ConfigMap.h Source File (original) (raw)

00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 #ifndef Fennel_ConfigMap_Included 00025 #define Fennel_ConfigMap_Included 00026 00027 #include 00028 00029 #include "fennel/common/TraceSource.h" 00030 00031 FENNEL_BEGIN_NAMESPACE 00032 00037 class FENNEL_COMMON_EXPORT ConfigMap : public TraceSource 00038 { 00039 typedef std::mapstd::string,std::string StringMap; 00040 typedef StringMap::iterator StringMapIter; 00041 typedef StringMap::const_iterator StringMapConstIter; 00042 00043 StringMap paramVals; 00044 00045 public: 00049 explicit ConfigMap(); 00050 00054 virtual ~ConfigMap(); 00055 00063 void readParams(std::istream &paramStream); 00064 00070 void dumpParams(std::ostream &dumpStream) const; 00071 00076 void mergeFrom(const ConfigMap&); 00077 00078 00088 std::string getStringParam( 00089 std::string paramName, 00090 std::string defaultVal = "") const; 00091 00101 int getIntParam( 00102 std::string paramName, 00103 int defaultVal = 0) const; 00104 00114 long getLongParam( 00115 std::string paramName, 00116 long defaultVal = 0) const; 00117 00127 bool getBoolParam( 00128 std::string paramName, 00129 bool defaultVal = false) const; 00130 00138 bool isParamSet(std::string paramName) const; 00139 00147 void setStringParam( 00148 std::string paramName, 00149 std::string paramVal); 00150 00154 void clear(); 00155 }; 00156 00157 FENNEL_END_NAMESPACE 00158 00159 #endif 00160 00161