X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/13121b693bd98a04532195b9631b862b6136b3c7..3e061469c8529e44e50a22b648837259fbc19d70:/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h?ds=sidebyside diff --git a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h index 1095dd73..a58773a1 100644 --- a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h +++ b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h @@ -16,6 +16,7 @@ #include "stg/plugin.h" #include "stg/admin_conf.h" #include "stg/module_settings.h" +#include "stg/logger.h" #define RPC_CONFIG_VERSION "Stargazer RPC v. 0.2" @@ -30,11 +31,12 @@ class RPC_CONFIG_SETTINGS { public: RPC_CONFIG_SETTINGS(); - virtual ~RPC_CONFIG_SETTINGS() {}; - const std::string & GetStrError() const { return errorStr; }; + virtual ~RPC_CONFIG_SETTINGS() {} + const std::string & GetStrError() const { return errorStr; } int ParseSettings(const MODULE_SETTINGS & s); - uint16_t GetPort() const { return port; }; - double GetCookieTimeout() const { return cookieTimeout; }; + uint16_t GetPort() const { return port; } + double GetCookieTimeout() const { return cookieTimeout; } + private: std::string errorStr; int port; @@ -43,12 +45,18 @@ private: struct ADMIN_INFO { + ADMIN_INFO() + : admin(), + accessTime(0), + priviledges() + {} + std::string admin; time_t accessTime; PRIV priviledges; }; -class RPC_CONFIG :public PLUGIN +class RPC_CONFIG : public PLUGIN { public: RPC_CONFIG(); @@ -69,8 +77,8 @@ public: 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; } + uint16_t GetStartPosition() const { return 20; } + uint16_t GetStopPosition() const { return 20; } bool GetAdminInfo(const std::string & cookie, ADMIN_INFO * info); @@ -80,6 +88,9 @@ public: bool LogoutAdmin(const std::string & cookie); private: + RPC_CONFIG(const RPC_CONFIG & rvalue); + RPC_CONFIG & operator=(const RPC_CONFIG & rvalue); + static void * Run(void *); std::string GetCookie() const; void InitiateRegistry(); @@ -91,6 +102,7 @@ private: TARIFFS * tariffs; STORE * store; MODULE_SETTINGS settings; + int fd; xmlrpc_c::registry rpcRegistry; xmlrpc_c::serverAbyss * rpcServer; bool running; @@ -100,6 +112,7 @@ private: ADMIN_INFO> cookies; size_t dayFee; std::vector dirNames; + PLUGIN_LOGGER logger; }; #endif