]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/other/ping/ping.h
Start replacing notifiers with subscriptions.
[stg.git] / projects / stargazer / plugins / other / ping / ping.h
index 6a82811224b9886b1a24e6fc56911adb153dc96c..68d79794afd27cc77428a9d43119447525401ea0 100644 (file)
@@ -3,6 +3,7 @@
 #include "stg/plugin.h"
 #include "stg/module_settings.h"
 #include "stg/notifer.h"
+#include "stg/subscriptions.h"
 #include "stg/user_ips.h"
 #include "stg/pinger.h"
 #include "stg/users.h"
@@ -31,7 +32,7 @@ class CHG_CURRIP_NOTIFIER_PING: public STG::PropertyNotifierBase<uint32_t> {
 public:
     CHG_CURRIP_NOTIFIER_PING(const PING & p, UserPtr u)
         : user(u), ping(p) {}
-    void Notify(const uint32_t & oldIP, const uint32_t & newIP);
+    void notify(const uint32_t & oldIP, const uint32_t & newIP) override;
     UserPtr GetUser() const { return user; }
 
 private:
@@ -45,7 +46,7 @@ class CHG_IPS_NOTIFIER_PING: public STG::PropertyNotifierBase<STG::UserIPs> {
 public:
     CHG_IPS_NOTIFIER_PING(const PING & p, UserPtr u)
         : user(u), ping(p) {}
-    void Notify(const STG::UserIPs & oldIPS, const STG::UserIPs & newIPS);
+    void notify(const STG::UserIPs & oldIPS, const STG::UserIPs & newIPS) override;
     UserPtr GetUser() const { return user; }
 
 private:
@@ -55,30 +56,6 @@ private:
     const PING & ping;
 };
 //-----------------------------------------------------------------------------
-class ADD_USER_NONIFIER_PING: public STG::NotifierBase<UserPtr> {
-public:
-    explicit ADD_USER_NONIFIER_PING(PING & p) : ping(p) {}
-    void Notify(const UserPtr & user);
-
-private:
-    ADD_USER_NONIFIER_PING(const ADD_USER_NONIFIER_PING &);
-    ADD_USER_NONIFIER_PING & operator=(const ADD_USER_NONIFIER_PING &);
-
-    PING & ping;
-};
-//-----------------------------------------------------------------------------
-class DEL_USER_NONIFIER_PING: public STG::NotifierBase<UserPtr> {
-public:
-    explicit DEL_USER_NONIFIER_PING(PING & p) : ping(p) {}
-    void Notify(const UserPtr & user);
-
-private:
-    DEL_USER_NONIFIER_PING(const DEL_USER_NONIFIER_PING &);
-    DEL_USER_NONIFIER_PING & operator=(const DEL_USER_NONIFIER_PING &);
-
-    PING & ping;
-};
-//-----------------------------------------------------------------------------
 class PING_SETTINGS {
 public:
     PING_SETTINGS() : pingDelay(0) {}
@@ -136,8 +113,8 @@ private:
     std::list<CHG_CURRIP_NOTIFIER_PING> ChgCurrIPNotifierList;
     std::list<CHG_IPS_NOTIFIER_PING> ChgIPNotifierList;
 
-    ADD_USER_NONIFIER_PING onAddUserNotifier;
-    DEL_USER_NONIFIER_PING onDelUserNotifier;
+    STG::ScopedConnection m_onAddUserConn;
+    STG::ScopedConnection m_onDelUserConn;
 
     STG::PluginLogger logger;
 };