X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/f91192c77eec33a27dea7fcd0d451823ef478529..0c9d10cb3d9399280fe5eca715287d2454788654:/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp diff --git a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp index 86072bcf..dca87fbe 100644 --- a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp +++ b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp @@ -25,7 +25,12 @@ #include "admins_methods.h" #include "messages_methods.h" +namespace +{ PLUGIN_CREATOR rpcc; +} + +extern "C" PLUGIN * GetPlugin(); RPC_CONFIG_SETTINGS::RPC_CONFIG_SETTINGS() : errorStr(), @@ -36,11 +41,9 @@ RPC_CONFIG_SETTINGS::RPC_CONFIG_SETTINGS() int RPC_CONFIG_SETTINGS::ParseSettings(const MODULE_SETTINGS & s) { -int p; PARAM_VALUE pv; -std::vector::const_iterator pvi; - pv.param = "Port"; +std::vector::const_iterator pvi; pvi = std::find(s.moduleParams.begin(), s.moduleParams.end(), pv); if (pvi == s.moduleParams.end()) { @@ -48,13 +51,14 @@ if (pvi == s.moduleParams.end()) printfd(__FILE__, "Parameter 'Port' not found\n"); return -1; } +int p; if (ParseIntInRange(pvi->value[0], 2, 65535, &p)) { errorStr = "Cannot parse parameter \'Port\': " + errorStr; printfd(__FILE__, "Cannot parse parameter 'Port'\n"); return -1; } -port = p; +port = static_cast(p); pv.param = "CookieTimeout"; pvi = std::find(s.moduleParams.begin(), s.moduleParams.end(), pv); @@ -117,12 +121,12 @@ if (ret) return ret; } -void RPC_CONFIG::SetStgSettings(const SETTINGS * settings) +void RPC_CONFIG::SetStgSettings(const SETTINGS * s) { - dayFee = settings->GetDayFee(); + dayFee = s->GetDayFee(); dirNames.erase(dirNames.begin(), dirNames.end()); for (size_t i = 0; i < DIR_NUM; ++i) { - dirNames.push_back(settings->GetDirName(i)); + dirNames.push_back(s->GetDirName(i)); } } @@ -469,5 +473,11 @@ xmlrpc_c::methodPtr const methodGetOnlinIPsPtr(new METHOD_GET_ONLINE_IPS( users )); rpcRegistry.addMethod("stargazer.get_online_ips", methodGetOnlinIPsPtr); + +xmlrpc_c::methodPtr const methodGetUserAuthByPtr(new METHOD_GET_USER_AUTH_BY( + this, + users + )); +rpcRegistry.addMethod("stargazer.get_user_auth_by", methodGetUserAuthByPtr); }