X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/641204dfbdb9fc870cdd2e7f9e3169a44693e7bf..0cfd1e2a9dfa559bf50e3884b556824537e3daf7:/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h diff --git a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h index 64f1182e..1213f7d3 100644 --- a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h +++ b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h @@ -1,28 +1,30 @@ #ifndef __RPC_CONFIG_H__ #define __RPC_CONFIG_H__ +#include + +#include #include +#include +#include #include #include #include -#include - -#include "base_plugin.h" -#include "base_store.h" -#include "base_settings.h" -#include "admin_conf.h" -#include "../../../admin.h" -#include "../../../admins.h" -#include "../../../users.h" -#include "../../../tariffs.h" -#include "../../../traffcounter.h" -#include "../../../settings.h" +#include "stg/os_int.h" +#include "stg/plugin.h" +#include "stg/admin_conf.h" +#include "stg/module_settings.h" #define RPC_CONFIG_VERSION "Stargazer RPC v. 0.2" -extern "C" BASE_PLUGIN * GetPlugin(); +extern "C" PLUGIN * GetPlugin(); + +class ADMINS; +class TARIFFS; +class USERS; +class STORE; class RPC_CONFIG_SETTINGS { @@ -34,10 +36,6 @@ public: uint16_t GetPort() const { return port; }; double GetCookieTimeout() const { return cookieTimeout; }; private: - int ParseIntInRange(const std::string & str, - int min, - int max, - int * val); std::string errorStr; int port; double cookieTimeout; @@ -50,30 +48,30 @@ struct ADMIN_INFO PRIV priviledges; }; -class RPC_CONFIG :public BASE_PLUGIN +class RPC_CONFIG :public PLUGIN { public: RPC_CONFIG(); virtual ~RPC_CONFIG(); - 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) { settings = s; }; + void SetUsers(USERS * u) { users = u; } + void SetTariffs(TARIFFS * t) { tariffs = t; } + void SetAdmins(ADMINS * a) { admins = a; } + void SetStore(STORE * s) { store = s; } + void SetTraffcounter(TRAFFCOUNTER *) {} + void SetStgSettings(const SETTINGS * s); + void SetSettings(const MODULE_SETTINGS & s) { settings = s; } int ParseSettings(); int Start(); int Stop(); - int Reload() { return 0; }; - bool IsRunning() { return running && !stopped; }; + int Reload() { return 0; } + bool IsRunning() { return running && !stopped; } - const string & GetStrError() const { return errorStr; }; - const string GetVersion() const { return RPC_CONFIG_VERSION; }; - uint16_t GetStartPosition() const { return 220; }; - uint16_t GetStopPosition() const { return 220; }; + const std::string & GetStrError() const { return errorStr; } + const std::string GetVersion() const { return RPC_CONFIG_VERSION; } + uint16_t GetStartPosition() const { return 220; } + uint16_t GetStopPosition() const { return 220; } bool GetAdminInfo(const std::string & cookie, ADMIN_INFO * info); @@ -83,14 +81,17 @@ public: bool LogoutAdmin(const std::string & cookie); private: - mutable string errorStr; + static void * Run(void *); + std::string GetCookie() const; + void InitiateRegistry(); + + mutable std::string errorStr; RPC_CONFIG_SETTINGS rpcConfigSettings; USERS * users; ADMINS * admins; TARIFFS * tariffs; - BASE_STORE * store; + STORE * store; MODULE_SETTINGS settings; - const SETTINGS * stgSettings; xmlrpc_c::registry rpcRegistry; xmlrpc_c::serverAbyss * rpcServer; bool running; @@ -98,10 +99,8 @@ private: pthread_t tid; std::map cookies; - - static void * Run(void *); - std::string GetCookie() const; - void InitiateRegistry(); + size_t dayFee; + std::vector dirNames; }; #endif