00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _LOG4CPP_PROPERTIES_HH
00010 #define _LOG4CPP_PROPERTIES_HH
00011
00012 #include "PortabilityImpl.hh"
00013 #include <string>
00014 #include <iostream>
00015 #include <map>
00016
00017 namespace log4cpp {
00018
00019 class Properties : public std::map<std::string, std::string> {
00020 public:
00021 Properties();
00022 virtual ~Properties();
00023
00024 virtual void load(std::istream& in);
00025 virtual void save(std::ostream& out);
00026
00027 virtual int getInt(const std::string& property, int defaultValue);
00028 virtual bool getBool(const std::string& property, bool defaultValue);
00029 virtual std::string getString(const std::string& property,
00030 const char* defaultValue);
00031
00032 protected:
00033 virtual void _substituteVariables(std::string& value);
00034 };
00035 }
00036
00037 #endif // _LOG4CPP_PROPERTIES_HH
00038