X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/9701b7ab4dc4cd709ad4dcaa750fc0021f15e231..83ce40b2a471b560ec7516efebcb5ddcf7519071:/include/stg/plugin.h?ds=sidebyside diff --git a/include/stg/plugin.h b/include/stg/plugin.h index d196b353..c638a2f5 100644 --- a/include/stg/plugin.h +++ b/include/stg/plugin.h @@ -18,48 +18,46 @@ * Author : Boris Mikhailenko */ -/* - $Revision: 1.12 $ - $Date: 2010/03/04 11:53:14 $ - $Author: faust $ -*/ - - -#ifndef PLUGIN_H -#define PLUGIN_H +#pragma once #include - -#include "noncopyable.h" -#include "os_int.h" -#include "admins.h" -#include "users.h" -#include "tariffs.h" - -class TRAFFCOUNTER; -class SETTINGS; -class STORE; -class MODULE_SETTINGS; - -class PLUGIN : private NONCOPYABLE { -public: - virtual void SetUsers(USERS * u) = 0; - virtual void SetTariffs(TARIFFS * t) = 0; - virtual void SetAdmins(ADMINS * a) = 0; - virtual void SetTraffcounter(TRAFFCOUNTER * tc) = 0; - virtual void SetStore(STORE * st) = 0; - virtual void SetStgSettings(const SETTINGS * s) = 0; - virtual void SetSettings(const MODULE_SETTINGS & s) = 0; - virtual int ParseSettings() = 0; - - virtual int Start() = 0; - virtual int Stop() = 0; - virtual int Reload() = 0; - virtual bool IsRunning() = 0; - virtual const std::string & GetStrError() const = 0; - virtual const std::string GetVersion() const = 0; - virtual uint16_t GetStartPosition() const = 0; - virtual uint16_t GetStopPosition() const = 0; +#include + +namespace STG +{ + +struct TraffCounter; +struct Settings; +struct Store; +struct Admins; +struct Users; +struct Tariffs; +struct Services; +struct Corporations; +struct ModuleSettings; + +struct Plugin { + virtual ~Plugin() = default; + + virtual void SetUsers(Users*) {} + virtual void SetTariffs(Tariffs*) {} + virtual void SetAdmins(Admins*) {} + virtual void SetServices(Services*) {} + virtual void SetCorporations(Corporations*) {} + virtual void SetTraffcounter(TraffCounter*) {} + virtual void SetStore(Store*) {} + virtual void SetStgSettings(const Settings*) {} + virtual void SetSettings(const ModuleSettings&) {} + virtual int ParseSettings() = 0; + + virtual int Start() = 0; + virtual int Stop() = 0; + virtual int Reload(const ModuleSettings&) = 0; + virtual bool IsRunning() = 0; + virtual const std::string& GetStrError() const = 0; + virtual std::string GetVersion() const = 0; + virtual uint16_t GetStartPosition() const = 0; + virtual uint16_t GetStopPosition() const = 0; }; -#endif +}