X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/71f9f56c6dee0f8b1e7f6df93a56f95f4974d4d2..8f8cc12362a05f4163db159c40579745b4b7aba6:/include/stg/user_property.h diff --git a/include/stg/user_property.h b/include/stg/user_property.h index da60ff1c..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<std::string, USER_PROPERTY_BASE *> REGISTRY; +//----------------------------------------------------------------------------- template<typename varT> class USER_PROPERTY : public USER_PROPERTY_BASE { public: @@ -75,10 +77,11 @@ public: bool isStat, STG_LOGGER & logger, const std::string & sd, - std::map<std::string, USER_PROPERTY_BASE*> & properties); + REGISTRY & properties); virtual ~USER_PROPERTY_LOGGED() {} USER_PROPERTY_LOGGED<varT> * GetPointer() throw() { return this; } + const USER_PROPERTY_LOGGED<varT> * GetPointer() const throw() { return this; } const varT & Get() const { return USER_PROPERTY<varT>::ConstData(); } const std::string & GetName() const { return name; } bool Set(const varT & val, @@ -121,8 +124,6 @@ class USER_PROPERTIES : private NONCOPYABLE { наÑале Ð¸Ð´ÐµÑ Ð·Ð°ÐºÑÑÑÐ°Ñ ÑекÑÐ¸Ñ * */ -public: - typedef std::map<std::string, USER_PROPERTY_BASE *> REGISTRY; private: USER_STAT stat; USER_CONF conf; @@ -214,7 +215,7 @@ template <typename varT> inline void USER_PROPERTY<varT>::Set(const varT & rvalue) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); typename std::set<PROPERTY_NOTIFIER_BASE<varT> *>::iterator ni; @@ -244,7 +245,7 @@ template <typename varT> inline void USER_PROPERTY<varT>::AddBeforeNotifier(PROPERTY_NOTIFIER_BASE<varT> * n) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); beforeNotifiers.insert(n); } //----------------------------------------------------------------------------- @@ -252,7 +253,7 @@ template <typename varT> inline void USER_PROPERTY<varT>::DelBeforeNotifier(const PROPERTY_NOTIFIER_BASE<varT> * n) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); beforeNotifiers.erase(const_cast<PROPERTY_NOTIFIER_BASE<varT> *>(n)); } //----------------------------------------------------------------------------- @@ -260,7 +261,7 @@ template <typename varT> inline void USER_PROPERTY<varT>::AddAfterNotifier(PROPERTY_NOTIFIER_BASE<varT> * n) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); afterNotifiers.insert(n); } //----------------------------------------------------------------------------- @@ -268,7 +269,7 @@ template <typename varT> inline void USER_PROPERTY<varT>::DelAfterNotifier(const PROPERTY_NOTIFIER_BASE<varT> * n) { -STG_LOCKER locker(&mutex, __FILE__, __LINE__); +STG_LOCKER locker(&mutex); afterNotifiers.erase(const_cast<PROPERTY_NOTIFIER_BASE<varT> *>(n)); } //----------------------------------------------------------------------------- @@ -282,7 +283,7 @@ USER_PROPERTY_LOGGED<varT>::USER_PROPERTY_LOGGED(varT & val, bool isSt, STG_LOGGER & logger, const std::string & sd, - USER_PROPERTIES::REGISTRY & properties) + REGISTRY & properties) : USER_PROPERTY<varT>(val), stgLogger(logger),