X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/b3139bf3f37b3b0244efea8b4b5e5a7d0bc90095..4ede6cbe23f97d5fe3b196bd0313f011d9004070:/include/stg/user_property.h?ds=sidebyside diff --git a/include/stg/user_property.h b/include/stg/user_property.h index 398c4579..20ca6fd8 100644 --- a/include/stg/user_property.h +++ b/include/stg/user_property.h @@ -33,6 +33,8 @@ public: virtual std::string ToString() const = 0; }; //----------------------------------------------------------------------------- +typedef std::map REGISTRY; +//----------------------------------------------------------------------------- template class USER_PROPERTY : public USER_PROPERTY_BASE { public: @@ -75,10 +77,11 @@ public: bool isStat, STG_LOGGER & logger, const std::string & sd, - std::map & properties); + REGISTRY & properties); virtual ~USER_PROPERTY_LOGGED() {} USER_PROPERTY_LOGGED * GetPointer() throw() { return this; } + const USER_PROPERTY_LOGGED * GetPointer() const throw() { return this; } const varT & Get() const { return USER_PROPERTY::ConstData(); } const std::string & GetName() const { return name; } bool Set(const varT & val, @@ -125,7 +128,7 @@ private: USER_STAT stat; USER_CONF conf; - std::map properties; + REGISTRY properties; public: USER_PROPERTIES(const std::string & sd); @@ -212,7 +215,7 @@ template inline void USER_PROPERTY::Set(const varT & rvalue) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); typename std::set *>::iterator ni; @@ -242,7 +245,7 @@ template inline void USER_PROPERTY::AddBeforeNotifier(PROPERTY_NOTIFIER_BASE * n) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); beforeNotifiers.insert(n); } //----------------------------------------------------------------------------- @@ -250,7 +253,7 @@ template inline void USER_PROPERTY::DelBeforeNotifier(const PROPERTY_NOTIFIER_BASE * n) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); beforeNotifiers.erase(const_cast *>(n)); } //----------------------------------------------------------------------------- @@ -258,7 +261,7 @@ template inline void USER_PROPERTY::AddAfterNotifier(PROPERTY_NOTIFIER_BASE * n) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); afterNotifiers.insert(n); } //----------------------------------------------------------------------------- @@ -266,7 +269,7 @@ template inline void USER_PROPERTY::DelAfterNotifier(const PROPERTY_NOTIFIER_BASE * n) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); afterNotifiers.erase(const_cast *>(n)); } //----------------------------------------------------------------------------- @@ -280,7 +283,7 @@ USER_PROPERTY_LOGGED::USER_PROPERTY_LOGGED(varT & val, bool isSt, STG_LOGGER & logger, const std::string & sd, - std::map & properties) + REGISTRY & properties) : USER_PROPERTY(val), stgLogger(logger), @@ -392,7 +395,7 @@ else inline std::string USER_PROPERTIES::GetPropertyValue(const std::string & name) const { -std::map::const_iterator it = properties.find(name); +REGISTRY::const_iterator it = properties.find(ToLower(name)); if (it == properties.end()) return ""; return it->second->ToString(); @@ -401,7 +404,7 @@ return it->second->ToString(); inline bool USER_PROPERTIES::Exists(const std::string & name) const { -return properties.find(name) != properties.end(); +return properties.find(ToLower(name)) != properties.end(); } //------------------------------------------------------------------------- //-------------------------------------------------------------------------