]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig-ng/stgconfig.h
Добавляю экспериментальный плагин конфигуратора. Проект полумертв, но
[stg.git] / projects / stargazer / plugins / configuration / sgconfig-ng / stgconfig.h
diff --git a/projects/stargazer/plugins/configuration/sgconfig-ng/stgconfig.h b/projects/stargazer/plugins/configuration/sgconfig-ng/stgconfig.h
new file mode 100644 (file)
index 0000000..28e52d1
--- /dev/null
@@ -0,0 +1,66 @@
+#ifndef __STGCONFIG_H__
+#define __STGCONFIG_H__
+
+#include <string>
+
+#include "base_plugin.h"
+#include "os_int.h"
+#include "main_thread.h"
+
+#define PLUGIN_VERSION "stgconfig v.2.0"
+
+namespace boost {
+    class thread;
+};
+
+class USERS;
+class TARIFFS;
+class ADMINS;
+class BASE_STORE;
+class TRAFFCOUNTER;
+class SETTINGS;
+
+class STGCONFIG2 : public BASE_PLUGIN
+{
+public:
+    STGCONFIG2();
+    virtual ~STGCONFIG2();
+
+    void                SetUsers(USERS * u) { users = u; };
+    void                SetTariffs(TARIFFS * t) { tariffs = t; };
+    void                SetAdmins(ADMINS * a) { admins = a; };
+    void                SetStore(BASE_STORE * s) { store = s; };
+    void                SetTraffcounter(TRAFFCOUNTER *) {};
+    void                SetStgSettings(const SETTINGS * s) { stgSettings = s; };
+    void                SetSettings(const MODULE_SETTINGS & s) { modSettings = s; };
+    int                 ParseSettings();
+
+    int                 Start();
+    int                 Stop();
+    int                 Reload() { return 0; };
+    bool                IsRunning();
+
+    const std::string & GetStrError() const { return errorStr; };
+    const std::string   GetVersion() const { return PLUGIN_VERSION; };
+    uint16_t            GetStartPosition() const { return 220; };
+    uint16_t            GetStopPosition() const { return 220; };
+
+private:
+    USERS * users;
+    TARIFFS * tariffs;
+    ADMINS * admins;
+    BASE_STORE * store;
+    const SETTINGS * stgSettings;
+    MODULE_SETTINGS modSettings;
+
+    MAIN_THREAD ct;
+
+    mutable std::string errorStr;
+
+    boost::thread * thread;
+
+};
+
+extern "C" BASE_PLUGIN * GetPlugin();
+
+#endif