+class CHG_AFTER_NOTIFIER : public STG::PropertyNotifierBase<std::string> {
+public:
+ CHG_AFTER_NOTIFIER(SMUX & s, const UserPtr & u)
+ : STG::PropertyNotifierBase<std::string>(),
+ smux(s), userPtr(u) {}
+ CHG_AFTER_NOTIFIER(const CHG_AFTER_NOTIFIER & rvalue)
+ : STG::PropertyNotifierBase<std::string>(),
+ smux(rvalue.smux), userPtr(rvalue.userPtr) {}
+ void notify(const std::string &, const std::string &) override;
+
+ UserPtr GetUserPtr() const { return userPtr; }
+
+private:
+ CHG_AFTER_NOTIFIER & operator=(const CHG_AFTER_NOTIFIER & rvalue);
+ SMUX & smux;
+ UserPtr userPtr;
+};
+//-----------------------------------------------------------------------------
+class ADD_DEL_TARIFF_NOTIFIER : public STG::NotifierBase<STG::TariffData> {
+public:
+ explicit ADD_DEL_TARIFF_NOTIFIER(SMUX & s)
+ : STG::NotifierBase<STG::TariffData>(), smux(s) {}
+ void notify(const STG::TariffData &) override;
+
+private:
+ SMUX & smux;
+};
+//-----------------------------------------------------------------------------
+class ADD_USER_NOTIFIER : public STG::NotifierBase<UserPtr> {
+public:
+ explicit ADD_USER_NOTIFIER(SMUX & s) : STG::NotifierBase<STG::User*>(), smux(s) {}
+ void notify(const UserPtr &) override;
+
+private:
+ SMUX & smux;
+};
+//-----------------------------------------------------------------------------
+class DEL_USER_NOTIFIER : public STG::NotifierBase<UserPtr> {
+public:
+ explicit DEL_USER_NOTIFIER(SMUX & s) : STG::NotifierBase<UserPtr>(), smux(s) {}
+ void notify(const UserPtr &) override;
+
+private:
+ SMUX & smux;
+};
+//-----------------------------------------------------------------------------
+class SMUX : public STG::Plugin {