git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add initialization to some settings fields
[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 46905b15366e539b319ad4010cf72b72e1156e6a..a5467aae23243bd4cb01e6a94b1618a5e77074e1 100644
(file)
--- a/
projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp
+++ b/
projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp
@@
-1,16
+1,15
@@
#include <cstdlib>
#include <csignal>
#include <cstdlib>
#include <csignal>
+#include <vector>
+#include <algorithm>
+
#include "rpcconfig.h"
#include "rpcconfig.h"
-#include "../../../admin.h"
-#include "../../../admins.h"
-#include "../../../users.h"
-#include "../../../tariffs.h"
-#include "../../../traffcounter.h"
-#include "../../../settings.h"
-#include "base_store.h"
-#include "base_settings.h"
+#include "common.h"
+#include "admin.h"
+#include "module_settings.h"
+#include "settings.h"
#include "info_methods.h"
#include "users_methods.h"
#include "info_methods.h"
#include "users_methods.h"
@@
-18,8
+17,7
@@
#include "admins_methods.h"
#include "messages_methods.h"
#include "admins_methods.h"
#include "messages_methods.h"
-class RPC_CONFIG_CREATOR
-{
+class RPC_CONFIG_CREATOR {
private:
RPC_CONFIG * rpcconfig;
private:
RPC_CONFIG * rpcconfig;
@@
-27,16
+25,16
@@
public:
RPC_CONFIG_CREATOR()
: rpcconfig(new RPC_CONFIG())
{
RPC_CONFIG_CREATOR()
: rpcconfig(new RPC_CONFIG())
{
- }
;
+ }
~RPC_CONFIG_CREATOR()
{
delete rpcconfig;
~RPC_CONFIG_CREATOR()
{
delete rpcconfig;
- }
;
+ }
RPC_CONFIG * GetPlugin()
{
return rpcconfig;
RPC_CONFIG * GetPlugin()
{
return rpcconfig;
- }
;
+ }
};
RPC_CONFIG_CREATOR rpcc;
};
RPC_CONFIG_CREATOR rpcc;
@@
-48,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)
@@
-70,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.";
@@
-89,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
@@
-107,15
+105,21
@@
else
return 0;
}
return 0;
}
-
BASE_
PLUGIN * GetPlugin()
+PLUGIN * GetPlugin()
{
return rpcc.GetPlugin();
}
RPC_CONFIG::RPC_CONFIG()
{
return rpcc.GetPlugin();
}
RPC_CONFIG::RPC_CONFIG()
- : rpcServer(NULL)
+ : users(NULL),
+ admins(NULL),
+ tariffs(NULL),
+ store(NULL),
+ rpcServer(NULL),
+ running(false),
+ stopped(true),
+ dayFee(0)
{
{
-
}
RPC_CONFIG::~RPC_CONFIG()
}
RPC_CONFIG::~RPC_CONFIG()
@@
-134,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();
@@
-225,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))
{
@@
-235,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;
@@
-278,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);