]> git.stg.codes - stg.git/blobdiff - include/stg/plugin.h
Use std::lock_guard instead of STG_LOCKER.
[stg.git] / include / stg / plugin.h
index 2deabcc3c853b7fab16d52808cd8973be056fbcc..9e0b362cabba5b50ea69cc6e47e01d90b100a360 100644 (file)
  *    Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
  */
 
  *    Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
  */
 
-/*
- $Revision: 1.12 $
- $Date: 2010/03/04 11:53:14 $
- $Author: faust $
-*/
-
-
-#ifndef PLUGIN_H
-#define PLUGIN_H
+#pragma once
 
 #include <string>
 
 #include <string>
-
-#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;
-struct MODULE_SETTINGS;
-
-class PLUGIN : private NONCOPYABLE {
-public:
-    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(const MODULE_SETTINGS &) = 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;
+#include <cstdint>
+
+namespace STG
+{
+
+struct TraffCounter;
+struct Settings;
+struct Store;
+struct Admins;
+class Users;
+class 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
+}