X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/0cfd1e2a9dfa559bf50e3884b556824537e3daf7..2ec8d26979179d19f4a3d11e8430a969c65dea43:/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp diff --git a/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp b/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp index 23c7d32a..015c2460 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp @@ -86,16 +86,41 @@ else } } //----------------------------------------------------------------------------- -CONFIGPROTO::CONFIGPROTO() - : adminIP(0), +CONFIGPROTO::CONFIGPROTO(PLUGIN_LOGGER & l) + : answerList(), + requestList(), + adminIP(0), + adminLogin(), + adminPassword(), port(0), - nonstop(1), + thrReciveSendConf(), + nonstop(true), state(0), - currAdmin(), - WriteServLog(GetStgLogger()), - listenSocket(0), + currAdmin(NULL), + logger(l), + listenSocket(-1), + parserGetServInfo(), + parserGetUsers(), + parserGetUser(), + parserChgUser(), + parserAddUser(), + parserDelUser(), + parserCheckUser(), + parserSendMessage(), + parserAuthBy(), + parserGetAdmins(), + parserAddAdmin(), + parserDelAdmin(), + parserChgAdmin(), + parserGetTariffs(), + parserAddTariff(), + parserDelTariff(), + parserChgTariff(), admins(NULL), - currParser(NULL) + currParser(NULL), + dataParser(), + xmlParser(), + errorStr() { dataParser.push_back(&parserGetServInfo); @@ -106,6 +131,7 @@ dataParser.push_back(&parserAddUser); dataParser.push_back(&parserDelUser); dataParser.push_back(&parserCheckUser); dataParser.push_back(&parserSendMessage); +dataParser.push_back(&parserAuthBy); dataParser.push_back(&parserGetTariffs); dataParser.push_back(&parserAddTariff); @@ -121,7 +147,7 @@ xmlParser = XML_ParserCreate(NULL); if (!xmlParser) { - WriteServLog("Couldn't allocate memory for parser."); + logger("Couldn't allocate memory for parser."); exit(1); } @@ -134,10 +160,9 @@ XML_ParserFree(xmlParser); //----------------------------------------------------------------------------- int CONFIGPROTO::ParseCommand() { -list::iterator n; +std::list::iterator n; int done = 0; char str[9]; -int len; if (requestList.empty()) return 0; @@ -155,16 +180,16 @@ while(nonstop) { strncpy(str, (*n).c_str(), 8); str[8] = 0; - len = strlen(str); + size_t len = strlen(str); ++n; if (n == requestList.end()) done = 1; --n; - if (XML_Parse(xmlParser, (*n).c_str(), len, done) == XML_STATUS_ERROR) + if (XML_Parse(xmlParser, (*n).c_str(), static_cast(len), done) == XML_STATUS_ERROR) { - WriteServLog("Invalid configuration request"); + logger("Invalid configuration request"); printfd(__FILE__, "Parse error at line %d:\n%s\n", XML_GetCurrentLineNumber(xmlParser), XML_ErrorString(XML_GetErrorCode(xmlParser)));