X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/9701b7ab4dc4cd709ad4dcaa750fc0021f15e231..5dfab5bea026e33031d041b233c73e196469b4ac:/include/stg/tariffs.h diff --git a/include/stg/tariffs.h b/include/stg/tariffs.h index 1f91948f..66db5f31 100644 --- a/include/stg/tariffs.h +++ b/include/stg/tariffs.h @@ -18,29 +18,41 @@ * Author : Maxim Mamontov */ -#ifndef TARIFFS_H -#define TARIFFS_H +#pragma once #include -#include +#include -class ADMIN; -class TARIFF; -class 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 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; +namespace STG +{ - virtual void GetTariffsData(std::list * tdl) = 0; +struct Admin; +struct Tariff; +struct TariffData; - virtual const std::string & GetStrError() const = 0; +struct Tariffs { + virtual ~Tariffs() = default; + + 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 +}