-struct RS_USER {
-RS_USER();
-RS_USER(const std::vector<uint32_t> & r, USER_PTR it);
-
-time_t lastSentTime;
-USER_PTR user;
-std::vector<uint32_t> routers;
-int shortPacketsCount;
+class USER;
+//-----------------------------------------------------------------------------
+class CONNECTED_NOTIFIER: public PROPERTY_NOTIFIER_BASE<bool> {
+public:
+ CONNECTED_NOTIFIER(REMOTE_SCRIPT & r, USER & u)
+ : PROPERTY_NOTIFIER_BASE<bool>(), user(u), rs(r) {}
+ CONNECTED_NOTIFIER(const CONNECTED_NOTIFIER & rhs)
+ : PROPERTY_NOTIFIER_BASE<bool>(), user(rhs.user), rs(rhs.rs) {}
+ void Notify(const bool & oldValue, const bool & newValue);
+
+private:
+ CONNECTED_NOTIFIER & operator=(const CONNECTED_NOTIFIER & rhs);
+
+ USER & user;
+ REMOTE_SCRIPT & rs;
+};
+//-----------------------------------------------------------------------------
+struct USER {
+ USER(const std::vector<uint32_t> & r, USER_PTR it, REMOTE_SCRIPT & rs);
+ USER(const USER & rhs);
+ ~USER();
+
+ time_t lastSentTime;
+ USER_PTR user;
+ std::vector<uint32_t> routers;
+ int shortPacketsCount;
+ uint32_t ip;
+ CONNECTED_NOTIFIER notifier;