$Author: faust $
*/
+#include "configproto.h"
#include <unistd.h>
-#include "configproto.h"
-
//-----------------------------------------------------------------------------
void ParseXMLStart(void *data, const char *el, const char **attr)
{
if (cp->currParser)
{
cp->currParser->SetAnswerList(&cp->answerList);
- cp->currParser->SetCurrAdmin(cp->currAdmin);
+ cp->currParser->SetCurrAdmin(*cp->currAdmin);
cp->currParser->ParseStart(data, el, attr);
}
else
{
- for (unsigned int i = 0; i < cp->dataParser.size(); i++)
+ for (size_t i = 0; i < cp->dataParser.size(); i++)
{
cp->dataParser[i]->SetAnswerList(&cp->answerList);
- //cp->currAdmin->SetAdminIP(cp->GetAdminIP());
- cp->dataParser[i]->SetCurrAdmin(cp->currAdmin);
+ cp->dataParser[i]->SetCurrAdmin(*cp->currAdmin);
cp->dataParser[i]->Reset();
if (cp->dataParser[i]->ParseStart(data, el, attr) == 0)
{
}
else
{
- for (unsigned int i = 0; i < cp->dataParser.size(); i++)
+ for (size_t i = 0; i < cp->dataParser.size(); i++)
{
if (cp->dataParser[i]->ParseEnd(data, el) == 0)
{
}
}
//-----------------------------------------------------------------------------
-CONFIGPROTO::CONFIGPROTO()
+CONFIGPROTO::CONFIGPROTO(PLUGIN_LOGGER & l)
: adminIP(0),
port(0),
- nonstop(1),
+ nonstop(true),
state(0),
- currAdmin(),
- WriteServLog(GetStgLogger()),
- outerSocket(0),
- listenSocket(0),
+ currAdmin(NULL),
+ logger(l),
+ listenSocket(-1),
admins(NULL),
- //users(NULL),
- //tariffs(NULL),
- //store(NULL),
- //settings(NULL),
currParser(NULL)
{
dataParser.push_back(&parserGetServInfo);
dataParser.push_back(&parserDelUser);
dataParser.push_back(&parserCheckUser);
dataParser.push_back(&parserSendMessage);
+dataParser.push_back(&parserAuthBy);
+dataParser.push_back(&parserUserInfo);
dataParser.push_back(&parserGetTariffs);
dataParser.push_back(&parserAddTariff);
if (!xmlParser)
{
- WriteServLog("Couldn't allocate memory for parser.");
+ logger("Couldn't allocate memory for parser.");
exit(1);
}
-//XML_SetElementHandler(parser, ParseXMLStart, ParseXMLEnd);
}
//-----------------------------------------------------------------------------
CONFIGPROTO::~CONFIGPROTO()
//-----------------------------------------------------------------------------
int CONFIGPROTO::ParseCommand()
{
-list<string>::iterator n;
+std::list<std::string>::iterator n;
int done = 0;
char str[9];
-int len;
if (requestList.empty())
return 0;
{
strncpy(str, (*n).c_str(), 8);
str[8] = 0;
- len = strlen(str);
+ size_t len = strlen(str);
- n++;
+ ++n;
if (n == requestList.end())
done = 1;
- n--;
+ --n;
- if (XML_Parse(xmlParser, (*n).c_str(), len, done) == XML_STATUS_ERROR)
+ if (XML_Parse(xmlParser, (*n).c_str(), static_cast<int>(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)));
if (done)
return 0;
- n++;
+ ++n;
}
return 0;
}
//-----------------------------------------------------------------------------
-void CONFIGPROTO::SetPort(uint16_t p)
-{
-port = p;
-}
-//-----------------------------------------------------------------------------
-/*void CONFIGPROTO::SetHostAllow(HOSTALLOW *)
-{
-//hostAllow = ha;
-}*/
-//-----------------------------------------------------------------------------
void CONFIGPROTO::SetAdmins(ADMINS * a)
{
admins = a;
-for (unsigned int i = 0; i < dataParser.size(); i++)
- {
+for (size_t i = 0; i < dataParser.size(); i++)
dataParser[i]->SetAdmins(a);
- }
-
}
//-----------------------------------------------------------------------------
void CONFIGPROTO::SetUsers(USERS * u)
{
-//users = u;
-for (unsigned int i = 0; i < dataParser.size(); i++)
- {
+for (size_t i = 0; i < dataParser.size(); i++)
dataParser[i]->SetUsers(u);
- }
-
}
//-----------------------------------------------------------------------------
void CONFIGPROTO::SetTariffs(TARIFFS * t)
{
-//tariffs = t;
-for (unsigned int i = 0; i < dataParser.size(); i++)
- {
+for (size_t i = 0; i < dataParser.size(); i++)
dataParser[i]->SetTariffs(t);
- }
}
//-----------------------------------------------------------------------------
-void CONFIGPROTO::SetStore(BASE_STORE * s)
+void CONFIGPROTO::SetStore(STORE * s)
{
-//store = s;
-for (unsigned int i = 0; i < dataParser.size(); i++)
- {
+for (size_t i = 0; i < dataParser.size(); i++)
dataParser[i]->SetStore(s);
- }
}
//-----------------------------------------------------------------------------
void CONFIGPROTO::SetStgSettings(const SETTINGS * s)
{
-//settings = s;
-for (unsigned int i = 0; i < dataParser.size(); i++)
- {
+for (size_t i = 0; i < dataParser.size(); i++)
dataParser[i]->SetStgSettings(s);
- }
-}
-//-----------------------------------------------------------------------------
-/*void CONFIGPROTO::Start()
-{
-finished = false;
-threadExited = false;
-status = starting;
-
-xmlParser = XML_ParserCreate(NULL);
-
-if (!xmlParser)
- {
- WriteServLog("Couldn't allocate memory for parser.");
- }
-
-pthread_create(&thrReciveSendConf, NULL, ReciveSendConf, this);
-status = started;
-}*/
-//-----------------------------------------------------------------------------
-/*int CONFIGPROTO::Stop()
-{
-nonstop = true;
-close(outerSocket);
-return 0;
-}*/
-//-----------------------------------------------------------------------------
-/*void CONFIGPROTO::Restart()
-{
-//Stop();
-//Start();
-}*/
-//-----------------------------------------------------------------------------
-/*CONF_STATUS CONFIGPROTO::Status()
-{
-//return status;
-}
-//-----------------------------------------------------------------------------
-*/
-const string & CONFIGPROTO::GetStrError() const
-{
-return errorStr;
-}
-//-----------------------------------------------------------------------------
-uint32_t CONFIGPROTO::GetAdminIP() const
-{
-return adminIP;
}
//-----------------------------------------------------------------------------