git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
IP initialization added in TEST_ADMIN
[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..a4890e2c36a00a6f905ecbf9e218ce4c7d6f6ec3 100644
(file)
--- a/
projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp
+++ b/
projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp
@@
-1,25
+1,22
@@
#include <cstdlib>
#include <csignal>
#include <cstdlib>
#include <csignal>
-#include "rpcconfig.h"
+#include <vector>
+#include <algorithm>
-#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 "stg/common.h"
+#include "stg/admin.h"
+#include "stg/module_settings.h"
+#include "stg/settings.h"
+#include "rpcconfig.h"
#include "info_methods.h"
#include "users_methods.h"
#include "tariffs_methods.h"
#include "admins_methods.h"
#include "messages_methods.h"
#include "info_methods.h"
#include "users_methods.h"
#include "tariffs_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
+24,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
+45,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
+67,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
+86,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
+104,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
+137,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
+237,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
+247,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
+290,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);
@@
-333,7
+346,7
@@
xmlrpc_c::methodPtr const methodAddCashPtr(new METHOD_USER_CASH_ADD(
store,
users
));
store,
users
));
-rpcRegistry.addMethod("stargazer.add_cash", methodAddCashPtr);
+rpcRegistry.addMethod("stargazer.add_
user_
cash", methodAddCashPtr);
xmlrpc_c::methodPtr const methodSetCashPtr(new METHOD_USER_CASH_SET(
this,
xmlrpc_c::methodPtr const methodSetCashPtr(new METHOD_USER_CASH_SET(
this,
@@
-341,7
+354,7
@@
xmlrpc_c::methodPtr const methodSetCashPtr(new METHOD_USER_CASH_SET(
store,
users
));
store,
users
));
-rpcRegistry.addMethod("stargazer.set_cash", methodSetCashPtr);
+rpcRegistry.addMethod("stargazer.set_
user_
cash", methodSetCashPtr);
xmlrpc_c::methodPtr const methodTariffChangePtr(new METHOD_USER_TARIFF_CHANGE(
this,
xmlrpc_c::methodPtr const methodTariffChangePtr(new METHOD_USER_TARIFF_CHANGE(
this,
@@
-350,7
+363,7
@@
xmlrpc_c::methodPtr const methodTariffChangePtr(new METHOD_USER_TARIFF_CHANGE(
store,
users
));
store,
users
));
-rpcRegistry.addMethod("stargazer.
tariff_change
", methodTariffChangePtr);
+rpcRegistry.addMethod("stargazer.
chg_user_tariff
", methodTariffChangePtr);
xmlrpc_c::methodPtr const methodGetTariffPtr(new METHOD_TARIFF_GET(
this,
xmlrpc_c::methodPtr const methodGetTariffPtr(new METHOD_TARIFF_GET(
this,
@@
-420,7
+433,7
@@
xmlrpc_c::methodPtr const methodSendMessagePtr(new METHOD_MESSAGE_SEND(
this,
users
));
this,
users
));
-rpcRegistry.addMethod("stargazer.send_message", methodSendMessagePtr);
+rpcRegistry.addMethod("stargazer.send_
user_
message", methodSendMessagePtr);
xmlrpc_c::methodPtr const methodGetOnlinIPsPtr(new METHOD_GET_ONLINE_IPS(
this,
xmlrpc_c::methodPtr const methodGetOnlinIPsPtr(new METHOD_GET_ONLINE_IPS(
this,