#define PLUGIN_H
#include <string>
+#include <cstdint>
#include "noncopyable.h"
-#include "os_int.h"
#include "admins.h"
#include "users.h"
#include "tariffs.h"
+#include "services.h"
+#include "corporations.h"
class TRAFFCOUNTER;
class SETTINGS;
class STORE;
-class MODULE_SETTINGS;
+struct 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 ~PLUGIN() {}
+ 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 MODULE_SETTINGS &) {}
virtual int ParseSettings() = 0;
virtual int Start() = 0;
virtual int Stop() = 0;
- virtual int Reload() = 0;
+ virtual int Reload(const MODULE_SETTINGS &) = 0;
virtual bool IsRunning() = 0;
virtual const std::string & GetStrError() const = 0;
- virtual const std::string GetVersion() const = 0;
+ virtual std::string GetVersion() const = 0;
virtual uint16_t GetStartPosition() const = 0;
virtual uint16_t GetStopPosition() const = 0;
};