X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/bdd372a64811c52e2924c6d391ce6801aabc8ada..4b7c404f1c3340d5e0ce0d1763176d04f9774d98:/include/stg/user_property.h diff --git a/include/stg/user_property.h b/include/stg/user_property.h index ade21f4e..9030d37f 100644 --- a/include/stg/user_property.h +++ b/include/stg/user_property.h @@ -15,12 +15,13 @@ $Author: faust $ #include #include +#include "stg/logger.h" +#include "stg/locker.h" +#include "stg/scriptexecuter.h" + #include "store.h" #include "admin.h" #include "notifer.h" -#include "logger.h" -#include "locker.h" -#include "scriptexecuter.h" #include "noncopyable.h" extern const volatile time_t stgTime; @@ -42,10 +43,10 @@ public: operator const varT&() const throw() { return value; } void AddBeforeNotifier(PROPERTY_NOTIFIER_BASE * n); - void DelBeforeNotifier(PROPERTY_NOTIFIER_BASE * n); + void DelBeforeNotifier(const PROPERTY_NOTIFIER_BASE * n); void AddAfterNotifier(PROPERTY_NOTIFIER_BASE * n); - void DelAfterNotifier(PROPERTY_NOTIFIER_BASE * n); + void DelAfterNotifier(const PROPERTY_NOTIFIER_BASE * n); time_t ModificationTime() const throw() { return modificationTime; } void ModifyTime() throw(); @@ -173,7 +174,10 @@ template inline USER_PROPERTY::USER_PROPERTY(varT & val) : value(val), - modificationTime(stgTime) + modificationTime(stgTime), + beforeNotifiers(), + afterNotifiers(), + mutex() { pthread_mutex_init(&mutex, NULL); } @@ -232,10 +236,10 @@ beforeNotifiers.insert(n); //----------------------------------------------------------------------------- template inline -void USER_PROPERTY::DelBeforeNotifier(PROPERTY_NOTIFIER_BASE * n) +void USER_PROPERTY::DelBeforeNotifier(const PROPERTY_NOTIFIER_BASE * n) { STG_LOCKER locker(&mutex, __FILE__, __LINE__); -beforeNotifiers.erase(n); +beforeNotifiers.erase(const_cast *>(n)); } //----------------------------------------------------------------------------- template @@ -248,10 +252,10 @@ afterNotifiers.insert(n); //----------------------------------------------------------------------------- template inline -void USER_PROPERTY::DelAfterNotifier(PROPERTY_NOTIFIER_BASE * n) +void USER_PROPERTY::DelAfterNotifier(const PROPERTY_NOTIFIER_BASE * n) { STG_LOCKER locker(&mutex, __FILE__, __LINE__); -afterNotifiers.erase(n); +afterNotifiers.erase(const_cast *>(n)); } //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- @@ -282,8 +286,6 @@ bool USER_PROPERTY_LOGGED::Set(const varT & val, const std::string & msg) { const PRIV * priv = admin->GetPriv(); -std::string adm_login = admin->GetLogin(); -std::string adm_ip = admin->GetIPStr(); if ((priv->userConf && !isStat) || (priv->userStat && isStat) ||