--- /dev/null
+#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