X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/0907aa4037b12b6b88ee24495d4577a064d4f8db..2574a28cbf000603bc31f61593dbf061ff56c1d5:/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 e7c800d5..f42114a5 100644 --- a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h +++ b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.h @@ -15,7 +15,10 @@ #include #include -#include +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" +#include +#pragma GCC diagnostic pop #define RPC_CONFIG_VERSION "Stargazer RPC v. 0.2" @@ -23,8 +26,8 @@ namespace STG { struct Admins; -struct Tariffs; -struct Users; +class Tariffs; +class Users; struct Store; } @@ -75,7 +78,7 @@ public: int Start() override; int Stop() override; int Reload(const STG::ModuleSettings & /*ms*/) override { return 0; } - bool IsRunning() override { return running && !stopped; } + bool IsRunning() override { return m_thread.joinable() && !stopped; } const std::string & GetStrError() const override { return errorStr; } std::string GetVersion() const override { return RPC_CONFIG_VERSION; } @@ -93,7 +96,7 @@ private: RPC_CONFIG(const RPC_CONFIG & rvalue); RPC_CONFIG & operator=(const RPC_CONFIG & rvalue); - static void * Run(void *); + void Run(std::stop_token token); std::string GetCookie() const; void InitiateRegistry(); @@ -107,9 +110,8 @@ private: int fd; xmlrpc_c::registry rpcRegistry; xmlrpc_c::serverAbyss * rpcServer; - bool running; bool stopped; - pthread_t tid; + std::jthread m_thread; std::map cookies; size_t dayFee;