X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/32248221316271f3a09a771ce35b77236f4bbeed..2741145e6eb219cb0ccb75e729b86f8fc2b499bb:/include/stg/tariffs.h?ds=sidebyside diff --git a/include/stg/tariffs.h b/include/stg/tariffs.h index b492833b..66db5f31 100644 --- a/include/stg/tariffs.h +++ b/include/stg/tariffs.h @@ -18,30 +18,41 @@ * Author : Maxim Mamontov */ -#ifndef TARIFFS_H -#define TARIFFS_H +#pragma once #include -#include +#include -class ADMIN; -class TARIFF; -struct TARIFF_DATA; +#include "notifer.h" -class TARIFFS { -public: - virtual int ReadTariffs () = 0; - virtual const TARIFF * FindByName(const std::string & name) const = 0; - virtual const TARIFF * GetNoTariff() 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; +namespace STG +{ - virtual void GetTariffsData(std::list * tdl) = 0; +struct Admin; +struct Tariff; +struct TariffData; - virtual size_t Count() const = 0; +struct Tariffs { + virtual ~Tariffs() = default; - virtual const std::string & GetStrError() const = 0; + virtual int ReadTariffs() = 0; + virtual const Tariff* FindByName(const std::string& name) const = 0; + virtual const Tariff* GetNoTariff() 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 TariffData& td, const Admin* admin) = 0; + + virtual void AddNotifierAdd(NotifierBase* notifier) = 0; + virtual void DelNotifierAdd(NotifierBase* notifier) = 0; + + virtual void AddNotifierDel(NotifierBase* notifier) = 0; + virtual void DelNotifierDel(NotifierBase* notifier) = 0; + + virtual void GetTariffsData(std::vector* tdl) const = 0; + + virtual size_t Count() const = 0; + + virtual const std::string& GetStrError() const = 0; }; -#endif +}