From 89a688a2876a7922dc2824769b91cab8bba00c4b Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Thu, 15 Sep 2011 12:28:30 +0300 Subject: [PATCH] Hide or add proper copy ctor and assignement operator, initialize members via initialization lists in ping code --- .../stargazer/plugins/other/ping/ping.cpp | 46 ++++--------------- projects/stargazer/plugins/other/ping/ping.h | 39 ++++++++++------ 2 files changed, 36 insertions(+), 49 deletions(-) diff --git a/projects/stargazer/plugins/other/ping/ping.cpp b/projects/stargazer/plugins/other/ping/ping.cpp index 2968082a..c8240679 100644 --- a/projects/stargazer/plugins/other/ping/ping.cpp +++ b/projects/stargazer/plugins/other/ping/ping.cpp @@ -37,11 +37,6 @@ private: //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- -PING_SETTINGS::PING_SETTINGS() - : pingDelay(0) -{ -} -//----------------------------------------------------------------------------- int PING_SETTINGS::ParseSettings(const MODULE_SETTINGS & s) { PARAM_VALUE pv; @@ -66,9 +61,18 @@ return 0; } //----------------------------------------------------------------------------- PING::PING() - : users(NULL), + : errorStr(), + pingSettings(), + settings(), + users(NULL), + usersList(), + thread(), + mutex(), nonstop(false), isRunning(false), + pinger(), + ChgCurrIPNotifierList(), + ChgIPNotifierList(), onAddUserNotifier(*this), onDelUserNotifier(*this) { @@ -80,16 +84,6 @@ PING::~PING() pthread_mutex_destroy(&mutex); } //----------------------------------------------------------------------------- -const std::string PING::GetVersion() const -{ -return "Pinger v.1.01"; -} -//----------------------------------------------------------------------------- -void PING::SetSettings(const MODULE_SETTINGS & s) -{ -settings = s; -} -//----------------------------------------------------------------------------- int PING::ParseSettings() { int ret = pingSettings.ParseSettings(settings); @@ -98,16 +92,6 @@ if (ret) return ret; } //----------------------------------------------------------------------------- -void PING::SetUsers(USERS * u) -{ -users = u; -} -//----------------------------------------------------------------------------- -const std::string & PING::GetStrError() const -{ -return errorStr; -} -//----------------------------------------------------------------------------- int PING::Start() { GetUsers(); @@ -235,16 +219,6 @@ ping->isRunning = false; return NULL; } //----------------------------------------------------------------------------- -uint16_t PING::GetStartPosition() const -{ -return 100; -} -//----------------------------------------------------------------------------- -uint16_t PING::GetStopPosition() const -{ -return 100; -} -//----------------------------------------------------------------------------- void PING::SetUserNotifiers(USER_PTR u) { CHG_CURRIP_NOTIFIER_PING ChgCurrIPNotifier(*this, u); diff --git a/projects/stargazer/plugins/other/ping/ping.h b/projects/stargazer/plugins/other/ping/ping.h index 618ecc73..d25f6388 100644 --- a/projects/stargazer/plugins/other/ping/ping.h +++ b/projects/stargazer/plugins/other/ping/ping.h @@ -29,10 +29,15 @@ class SETTINGS; class CHG_CURRIP_NOTIFIER_PING: public PROPERTY_NOTIFIER_BASE { public: CHG_CURRIP_NOTIFIER_PING(const PING & p, USER_PTR u) : user(u), ping(p) {} + CHG_CURRIP_NOTIFIER_PING(const CHG_CURRIP_NOTIFIER_PING & rvalue) + : user(rvalue.user), ping(rvalue.ping) + {} void Notify(const uint32_t & oldIP, const uint32_t & newIP); USER_PTR GetUser() const { return user; } private: + CHG_CURRIP_NOTIFIER_PING & operator=(const CHG_CURRIP_NOTIFIER_PING & rvalue); + USER_PTR user; const PING & ping; }; @@ -40,10 +45,15 @@ private: class CHG_IPS_NOTIFIER_PING: public PROPERTY_NOTIFIER_BASE { public: CHG_IPS_NOTIFIER_PING(const PING & p, USER_PTR u) : user(u), ping(p) {} + CHG_IPS_NOTIFIER_PING(const CHG_IPS_NOTIFIER_PING & rvalue) + : user(rvalue.user), ping(rvalue.ping) + {} void Notify(const USER_IPS & oldIPS, const USER_IPS & newIPS); USER_PTR GetUser() const { return user; } private: + CHG_IPS_NOTIFIER_PING & operator=(const CHG_IPS_NOTIFIER_PING & rvalue); + USER_PTR user; const PING & ping; }; @@ -55,6 +65,9 @@ public: void Notify(const USER_PTR & user); private: + ADD_USER_NONIFIER_PING(const ADD_USER_NONIFIER_PING & rvalue); + ADD_USER_NONIFIER_PING & operator=(const ADD_USER_NONIFIER_PING & rvalue); + PING & ping; }; //----------------------------------------------------------------------------- @@ -65,12 +78,15 @@ public: void Notify(const USER_PTR & user); private: + DEL_USER_NONIFIER_PING(const DEL_USER_NONIFIER_PING & rvalue); + DEL_USER_NONIFIER_PING & operator=(const DEL_USER_NONIFIER_PING & rvalue); + PING & ping; }; //----------------------------------------------------------------------------- class PING_SETTINGS { public: - PING_SETTINGS(); + PING_SETTINGS() : pingDelay(0), errorStr() {} virtual ~PING_SETTINGS() {} const std::string & GetStrError() const { return errorStr; } int ParseSettings(const MODULE_SETTINGS & s); @@ -87,8 +103,8 @@ public: PING(); virtual ~PING(); - void SetUsers(USERS * u); - void SetSettings(const MODULE_SETTINGS & s); + void SetUsers(USERS * u) { users = u; } + void SetSettings(const MODULE_SETTINGS & s) { settings = s; } int ParseSettings(); int Start(); @@ -96,15 +112,18 @@ public: int Reload() { return 0; } bool IsRunning(); - const std::string & GetStrError() const; - const std::string GetVersion() const; - uint16_t GetStartPosition() const; - uint16_t GetStopPosition() const; + const std::string & GetStrError() const { return errorStr; } + const std::string GetVersion() const { return "Pinger v.1.01"; } + uint16_t GetStartPosition() const { return 100; } + uint16_t GetStopPosition() const { return 100; } void AddUser(USER_PTR u); void DelUser(USER_PTR u); private: + PING(const PING & rvalue); + PING & operator=(const PING & rvalue); + void GetUsers(); void SetUserNotifiers(USER_PTR u); void UnSetUserNotifiers(USER_PTR u); @@ -116,12 +135,6 @@ private: USERS * users; std::list usersList; - /* - ÍÙ ÄÏÌÖÎÙ ÐÅÒÅÐÒÏ×ÅÒÉÔØ ×ÏÚÍÏÖÎÏÓÔØ ÐÉÎÇÏ×ÁÎÉÑ ÀÚÅÒÁ ÐÒÉ ÉÚÍÅÎÅÎÉÉ - ÓÌÅÄÕÀÝÉÈ ÅÇÏ ÐÁÒÁÍÅÔÒÏ×: - - currIP - - ips - */ pthread_t thread; pthread_mutex_t mutex; bool nonstop; -- 2.44.2