12 #ifndef HAMMER_SettingsConsumer_HH
13 #define HAMMER_SettingsConsumer_HH
78 void setPath(
const std::string& path);
84 void addSetting(
const std::string& name,
const T& defaultValue);
100 template <
typename T>
101 T*
getSetting(
const std::string& otherPath,
const std::string& name)
const;
106 bool isOn(
const std::string& name)
const;
112 bool isOn(
const std::string& otherPath,
const std::string& name)
const;
115 template <
typename T>
117 const std::string& path =
"",
120 template <
typename T>
virtual void defineSettings()=0
purely virtual function for a class to define new settings
virtual void addRefs() const
void addSetting(const std::string &name, const T &defaultValue)
template method to add a new setting
void setPath(const std::string &path)
provide the basic path for the settings defined by this class, as in "<path>:<setting>" ...
Settings Consumer class template methods definitions.
SettingsHandler * _settingHandler
pointer to the settings repository handler.
SettingsConsumer & operator=(const SettingsConsumer &)=default
WTerm setWeightTerm(WTerm group)
std::string _settingPath
path of the settings defined by this class
std::set< std::string > _ownedSettings
Message logging routines.
void checkAndCleanSettings()
Hammer settings manager class.
Log & getLog() const
logging facility
Base class to access the settings repository.
virtual ~SettingsConsumer()
virtual destructor
Hammer exception definitions.
virtual void setSettingsHandler(SettingsHandler &sh)
set link to settings repository handler.
void removeSetting(const std::string &name)
T * getSetting(const std::string &name) const
template method to return a setting defined by this class
SettingsHandler * getSettingsHandler() const
provide the pointer to the repository handler
Hammer settings manager class.
SettingsConsumer()
base constructor
bool isOn(const std::string &name) const
method to check a boolean setting defined by this class
void updateVectorOfSettings(const std::vector< T > &values, const std::vector< std::string > &names, const std::string &path="", WTerm group=WTerm::COMMON)