git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed traff type descritpion.
[stg.git]
/
stglibs
/
srvconf.lib
/
servconf.cpp
diff --git
a/stglibs/srvconf.lib/servconf.cpp
b/stglibs/srvconf.lib/servconf.cpp
index 16878f18112300b1bcee12f8ee13e1681ff32e6d..0f91a563033c52ba650204b356f05afafa8a5449 100644
(file)
--- a/
stglibs/srvconf.lib/servconf.cpp
+++ b/
stglibs/srvconf.lib/servconf.cpp
@@
-60,6
+60,7
@@
class SERVCONF::IMPL
public:
IMPL(const std::string & server, uint16_t port,
const std::string & login, const std::string & password);
public:
IMPL(const std::string & server, uint16_t port,
const std::string & login, const std::string & password);
+ ~IMPL() { XML_ParserFree(parser); }
const std::string & GetStrError() const;
static void Start(void * data, const char * el, const char ** attr);
const std::string & GetStrError() const;
static void Start(void * data, const char * el, const char ** attr);
@@
-224,9
+225,15
@@
int SERVCONF::DelUser(const std::string & login, SIMPLE::CALLBACK f, void * data
return pImpl->Exec<SIMPLE::PARSER>("DelUser", "<DelUser login=\"" + login + "\"/>", f, data);
}
return pImpl->Exec<SIMPLE::PARSER>("DelUser", "<DelUser login=\"" + login + "\"/>", f, data);
}
-int SERVCONF::AddUser(const std::string & login, SIMPLE::CALLBACK f, void * data)
+int SERVCONF::AddUser(const std::string & login,
+ const USER_CONF_RES & conf,
+ const USER_STAT_RES & stat,
+ SIMPLE::CALLBACK f, void * data)
{
{
-return pImpl->Exec<SIMPLE::PARSER>("AddUser", "<AddUser><Login value=\"" + login + "\"/></AddUser>", f, data);
+int res = pImpl->Exec<SIMPLE::PARSER>("AddUser", "<AddUser><Login value=\"" + login + "\"/></AddUser>", f, data);
+if (res != st_ok)
+ return res;
+return pImpl->Exec<CHG_USER::PARSER>("<SetUser><Login value=\"" + login + "\"/>" + CHG_USER::Serialize(conf, stat) + "</SetUser>", f, data);
}
int SERVCONF::AuthBy(const std::string & login, AUTH_BY::CALLBACK f, void * data)
}
int SERVCONF::AuthBy(const std::string & login, AUTH_BY::CALLBACK f, void * data)
@@
-236,7
+243,7
@@
return pImpl->Exec<AUTH_BY::PARSER>("<GetUserAuthBy login=\"" + login + "\"/>",
int SERVCONF::SendMessage(const std::string & login, const std::string & text, SIMPLE::CALLBACK f, void * data)
{
int SERVCONF::SendMessage(const std::string & login, const std::string & text, SIMPLE::CALLBACK f, void * data)
{
-return pImpl->Exec<SIMPLE::PARSER>("SendMessage", "<Message login=\"" + login + "\" msgver=\"1\" msgtype=\"1\" repeat=\"0\" repeatperiod=\"0\" showtime=\"0\" text=\"" + Encode12str(text) + "\"/>", f, data);
+return pImpl->Exec<SIMPLE::PARSER>("SendMessage
Result
", "<Message login=\"" + login + "\" msgver=\"1\" msgtype=\"1\" repeat=\"0\" repeatperiod=\"0\" showtime=\"0\" text=\"" + Encode12str(text) + "\"/>", f, data);
}
int SERVCONF::CheckUser(const std::string & login, const std::string & password, SIMPLE::CALLBACK f, void * data)
}
int SERVCONF::CheckUser(const std::string & login, const std::string & password, SIMPLE::CALLBACK f, void * data)
@@
-348,11
+355,13
@@
int ret = 0;
if ((ret = nt.Connect()) != st_ok)
{
errorMsg = nt.GetError();
if ((ret = nt.Connect()) != st_ok)
{
errorMsg = nt.GetError();
+ cp.Failure(errorMsg);
return ret;
}
return ret;
}
-if ((ret = nt.Transact(request
.c_str()
, ParserRecv, this)) != st_ok)
+if ((ret = nt.Transact(request, ParserRecv, this)) != st_ok)
{
errorMsg = nt.GetError();
{
errorMsg = nt.GetError();
+ cp.Failure(errorMsg);
return ret;
}
return ret;
}
@@
-370,7
+379,7
@@
if ((ret = nt.Connect()) != st_ok)
return ret;
}
std::string response;
return ret;
}
std::string response;
-if ((ret = nt.Transact(request
.c_str()
, SimpleRecv, &response)) != st_ok)
+if ((ret = nt.Transact(request, SimpleRecv, &response)) != st_ok)
{
errorMsg = nt.GetError();
callback(false, errorMsg, "", data);
{
errorMsg = nt.GetError();
callback(false, errorMsg, "", data);