git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cosmetic changes in user_property.cpp
[stg.git]
/
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 7304f280f9a48bf47a859a004dcff3445c7afc96..af7419854c4a64f7e255f46702415686af7a0514 100644
(file)
--- a/
projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp
+++ b/
projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp
@@
-1,10
+1,15
@@
#include <cstdlib>
#include <csignal>
#include <cstdlib>
#include <csignal>
+#include <vector>
+#include <algorithm>
+
#include "rpcconfig.h"
#include "admin.h"
#include "module_settings.h"
#include "rpcconfig.h"
#include "admin.h"
#include "module_settings.h"
+#include "../../../settings.h"
+#include "common.h"
#include "info_methods.h"
#include "users_methods.h"
#include "info_methods.h"
#include "users_methods.h"
@@
-41,7
+46,7
@@
RPC_CONFIG_SETTINGS::RPC_CONFIG_SETTINGS()
{
}
{
}
-int RPC_CONFIG_SETTINGS::ParseIntInRange(const string & str,
+int RPC_CONFIG_SETTINGS::ParseIntInRange(const st
d::st
ring & str,
int min,
int max,
int * val)
int min,
int max,
int * val)
@@
-63,10
+68,10
@@
int RPC_CONFIG_SETTINGS::ParseSettings(const MODULE_SETTINGS & s)
{
int p;
PARAM_VALUE pv;
{
int p;
PARAM_VALUE pv;
-vector<PARAM_VALUE>::const_iterator pvi;
+
std::
vector<PARAM_VALUE>::const_iterator pvi;
pv.param = "Port";
pv.param = "Port";
-pvi = find(s.moduleParams.begin(), s.moduleParams.end(), pv);
+pvi =
std::
find(s.moduleParams.begin(), s.moduleParams.end(), pv);
if (pvi == s.moduleParams.end())
{
errorStr = "Parameter \'Port\' not found.";
if (pvi == s.moduleParams.end())
{
errorStr = "Parameter \'Port\' not found.";
@@
-82,7
+87,7
@@
if (ParseIntInRange(pvi->value[0], 2, 65535, &p))
port = p;
pv.param = "CookieTimeout";
port = p;
pv.param = "CookieTimeout";
-pvi = find(s.moduleParams.begin(), s.moduleParams.end(), pv);
+pvi =
std::
find(s.moduleParams.begin(), s.moduleParams.end(), pv);
if (pvi == s.moduleParams.end())
{
cookieTimeout = 1800; // 30 * 60
if (pvi == s.moduleParams.end())
{
cookieTimeout = 1800; // 30 * 60
@@
-100,7
+105,7
@@
else
return 0;
}
return 0;
}
-
BASE_
PLUGIN * GetPlugin()
+PLUGIN * GetPlugin()
{
return rpcc.GetPlugin();
}
{
return rpcc.GetPlugin();
}
@@
-110,10
+115,10
@@
RPC_CONFIG::RPC_CONFIG()
admins(NULL),
tariffs(NULL),
store(NULL),
admins(NULL),
tariffs(NULL),
store(NULL),
- stgSettings(NULL),
rpcServer(NULL),
running(false),
rpcServer(NULL),
running(false),
- stopped(true)
+ stopped(true),
+ dayFee(0)
{
}
{
}
@@
-133,6
+138,15
@@
if (ret)
return ret;
}
return ret;
}
+void RPC_CONFIG::SetStgSettings(const SETTINGS * settings)
+{
+ dayFee = settings->GetDayFee();
+ dirNames.erase(dirNames.begin(), dirNames.end());
+ for (size_t i = 0; i < DIR_NUM; ++i) {
+ dirNames.push_back(settings->GetDirName(i));
+ }
+}
+
int RPC_CONFIG::Start()
{
InitiateRegistry();
int RPC_CONFIG::Start()
{
InitiateRegistry();
@@
-224,7
+238,7
@@
bool RPC_CONFIG::CheckAdmin(const std::string & login,
const std::string & password,
std::string * cookie)
{
const std::string & password,
std::string * cookie)
{
-ADMIN
admin
;
+ADMIN
* admin = NULL
;
if (!admins->AdminCorrect(login, password, &admin))
{
if (!admins->AdminCorrect(login, password, &admin))
{
@@
-234,7
+248,7
@@
if (!admins->AdminCorrect(login, password, &admin))
ADMIN_INFO info;
time(&info.accessTime);
info.admin = login;
ADMIN_INFO info;
time(&info.accessTime);
info.admin = login;
-info.priviledges = *admin
.
GetPriv();
+info.priviledges = *admin
->
GetPriv();
*cookie = GetCookie();
cookies[*cookie] = info;
*cookie = GetCookie();
cookies[*cookie] = info;
@@
-277,7
+291,8
@@
void RPC_CONFIG::InitiateRegistry()
xmlrpc_c::methodPtr const methodInfoPtr(new METHOD_INFO(
tariffs,
users,
xmlrpc_c::methodPtr const methodInfoPtr(new METHOD_INFO(
tariffs,
users,
- stgSettings
+ dayFee,
+ dirNames
));
rpcRegistry.addMethod("stargazer.info", methodInfoPtr);
));
rpcRegistry.addMethod("stargazer.info", methodInfoPtr);