X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/9701b7ab4dc4cd709ad4dcaa750fc0021f15e231..25f2c3fa03f0729e4f06fbabbb380f4e2ec25e7d:/include/stg/tariffs.h?ds=sidebyside

diff --git a/include/stg/tariffs.h b/include/stg/tariffs.h
index 1f91948f..6a851c5a 100644
--- a/include/stg/tariffs.h
+++ b/include/stg/tariffs.h
@@ -24,21 +24,33 @@
 #include <string>
 #include <list>
 
+#include "notifer.h"
+
 class ADMIN;
 class TARIFF;
-class TARIFF_DATA;
+struct TARIFF_DATA;
 
 class TARIFFS {
 public:
-    virtual int            ReadTariffs () = 0;
+    typedef std::list<TARIFF> Tariffs;
+
+    virtual ~TARIFFS() {}
+    virtual int ReadTariffs () = 0;
     virtual const TARIFF * FindByName(const std::string & name) const = 0;
     virtual const TARIFF * GetNoTariff() const = 0;
-    virtual int            GetTariffsNum() const = 0;
-    virtual int            Del(const std::string & name, const ADMIN * admin) = 0;
-    virtual int            Add(const std::string & name, const ADMIN * admin) = 0;
-    virtual int            Chg(const TARIFF_DATA & td, const ADMIN * admin) = 0;
+    virtual int Del(const std::string & name, const ADMIN * admin) = 0;
+    virtual int Add(const std::string & name, const ADMIN * admin) = 0;
+    virtual int Chg(const TARIFF_DATA & td, const ADMIN * admin) = 0;
+
+    virtual void AddNotifierAdd(NOTIFIER_BASE<TARIFF_DATA> * notifier) = 0;
+    virtual void DelNotifierAdd(NOTIFIER_BASE<TARIFF_DATA> * notifier) = 0;
+
+    virtual void AddNotifierDel(NOTIFIER_BASE<TARIFF_DATA> * notifier) = 0;
+    virtual void DelNotifierDel(NOTIFIER_BASE<TARIFF_DATA> * notifier) = 0;
+
+    virtual void GetTariffsData(std::list<TARIFF_DATA> * tdl) const = 0;
 
-    virtual void           GetTariffsData(std::list<TARIFF_DATA> * tdl) = 0;
+    virtual size_t Count() const = 0;
 
     virtual const std::string & GetStrError() const = 0;
 };