X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4271ab433cd55bbd2612292bcf39e4dc3d7274f1..0907aa4037b12b6b88ee24495d4577a064d4f8db:/stargazer/plugins/configuration/rpcconfig/rpcconfig.h diff --git a/stargazer/plugins/configuration/rpcconfig/rpcconfig.h b/stargazer/plugins/configuration/rpcconfig/rpcconfig.h deleted file mode 100644 index e7c800d5..00000000 --- a/stargazer/plugins/configuration/rpcconfig/rpcconfig.h +++ /dev/null @@ -1,118 +0,0 @@ -#pragma once - -#include "stg/plugin.h" -#include "stg/admin_conf.h" -#include "stg/module_settings.h" -#include "stg/logger.h" - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -#define RPC_CONFIG_VERSION "Stargazer RPC v. 0.2" - -namespace STG -{ - -struct Admins; -struct Tariffs; -struct Users; -struct Store; - -} - -class RPC_CONFIG_SETTINGS -{ -public: - RPC_CONFIG_SETTINGS(); - virtual ~RPC_CONFIG_SETTINGS() {} - const std::string & GetStrError() const { return errorStr; } - int ParseSettings(const STG::ModuleSettings & s); - uint16_t GetPort() const { return port; } - double GetCookieTimeout() const { return cookieTimeout; } - -private: - std::string errorStr; - uint16_t port; - double cookieTimeout; -}; - -struct ADMIN_INFO -{ - ADMIN_INFO() - : admin(), - accessTime(0), - priviledges() - {} - - std::string admin; - time_t accessTime; - STG::Priv priviledges; -}; - -class RPC_CONFIG : public STG::Plugin -{ -public: - RPC_CONFIG(); - ~RPC_CONFIG() override; - - void SetUsers(STG::Users * u) override { users = u; } - void SetTariffs(STG::Tariffs * t) override { tariffs = t; } - void SetAdmins(STG::Admins * a) override { admins = a; } - void SetStore(STG::Store * s) override { store = s; } - void SetStgSettings(const STG::Settings * s) override; - void SetSettings(const STG::ModuleSettings & s) override { settings = s; } - int ParseSettings() override; - - int Start() override; - int Stop() override; - int Reload(const STG::ModuleSettings & /*ms*/) override { return 0; } - bool IsRunning() override { return running && !stopped; } - - const std::string & GetStrError() const override { return errorStr; } - std::string GetVersion() const override { return RPC_CONFIG_VERSION; } - uint16_t GetStartPosition() const override { return 20; } - uint16_t GetStopPosition() const override { return 20; } - - bool GetAdminInfo(const std::string & cookie, - ADMIN_INFO * info); - bool CheckAdmin(const std::string & login, - const std::string & password, - std::string * cookie); - 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(); - - mutable std::string errorStr; - RPC_CONFIG_SETTINGS rpcConfigSettings; - STG::Users * users; - STG::Admins * admins; - STG::Tariffs * tariffs; - STG::Store * store; - STG::ModuleSettings settings; - int fd; - xmlrpc_c::registry rpcRegistry; - xmlrpc_c::serverAbyss * rpcServer; - bool running; - bool stopped; - pthread_t tid; - std::map cookies; - size_t dayFee; - std::vector dirNames; - STG::PluginLogger logger; -};