#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"
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:
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:
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) {}
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;
};