]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugin_mgr.h
Cryptography with void* in the interfaces.
[stg.git] / projects / stargazer / plugin_mgr.h
index 79b6cae99b78f2af723a340a9f5235f541d31b80..1d402eb96df1a8b3d51fab0b6694012b974adaff 100644 (file)
@@ -1,6 +1,3 @@
-#ifndef __STG_PLUGIN_MGR_H__
-#define __STG_PLUGIN_MGR_H__
-
 /*
  *    This program is free software; you can redistribute it and/or modify
  *    it under the terms of the GNU General Public License as published by
 /*
  *    This program is free software; you can redistribute it and/or modify
  *    it under the terms of the GNU General Public License as published by
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
+#pragma once
+
 #include "stg/module_settings.h"
 
 #include <vector>
 
 #include "stg/module_settings.h"
 
 #include <vector>
 
-class SETTINGS_IMPL;
-class PLUGIN_RUNNER;
-class STORE;
-class ADMINS_IMPL;
-class TARIFFS_IMPL;
-class SERVICES_IMPL;
-class CORPORATIONS_IMPL;
-class USERS_IMPL;
-class TRAFFCOUNTER_IMPL;
-class STG_LOGGER;
-
 namespace STG
 {
 
 namespace STG
 {
 
+class SettingsImpl;
+class PluginRunner;
+struct Store;
+class AdminsImpl;
+class TariffsImpl;
+class ServicesImpl;
+class CorporationsImpl;
+class UsersImpl;
+class TraffCounterImpl;
+class Logger;
+
 class PluginManager
 {
     public:
 class PluginManager
 {
     public:
-        PluginManager(const SETTINGS_IMPL& settings,
-                      STORE& store, ADMINS_IMPL& admins, TARIFFS_IMPL& tariffs,
-                      SERVICES_IMPL& services, CORPORATIONS_IMPL& corporations,
-                      USERS_IMPL& users, TRAFFCOUNTER_IMPL& traffcounter);
+        PluginManager(const SettingsImpl& settings,
+                      Store& store, AdminsImpl& admins, TariffsImpl& tariffs,
+                      ServicesImpl& services, CorporationsImpl& corporations,
+                      UsersImpl& users, TraffCounterImpl& traffcounter);
         ~PluginManager();
 
         ~PluginManager();
 
-        void reload();
+        void reload(const SettingsImpl& settings);
+        void stop();
 
     private:
 
     private:
-        std::vector<PLUGIN_RUNNER*> m_modules;
-        STG_LOGGER & m_log;
+        std::vector<PluginRunner*> m_modules;
+        Logger & m_log;
 };
 
 };
 
-} // namespace STG
-
-#endif
+}