]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/configproto.cpp
Implemented XDG-compliant config file reading.
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / configproto.cpp
index 7ca37b49fb95a9c75302465d5658cdb31c26cf84..ec3e3ee3c86e765a5a048e3fe8fe920e596091b4 100644 (file)
  $Author: faust $
  */
 
+#include "configproto.h"
 
 #include <unistd.h>
 
-#include "configproto.h"
-
 //-----------------------------------------------------------------------------
 void ParseXMLStart(void *data, const char *el, const char **attr)
 {
@@ -87,39 +86,15 @@ else
 }
 //-----------------------------------------------------------------------------
 CONFIGPROTO::CONFIGPROTO(PLUGIN_LOGGER & l)
-    : answerList(),
-      requestList(),
-      adminIP(0),
-      adminLogin(),
-      adminPassword(),
+    : adminIP(0),
       port(0),
-      thrReciveSendConf(),
       nonstop(true),
       state(0),
       currAdmin(NULL),
       logger(l),
       listenSocket(-1),
-      parserGetServInfo(),
-      parserGetUsers(),
-      parserGetUser(),
-      parserChgUser(),
-      parserAddUser(),
-      parserDelUser(),
-      parserCheckUser(),
-      parserSendMessage(),
-      parserGetAdmins(),
-      parserAddAdmin(),
-      parserDelAdmin(),
-      parserChgAdmin(),
-      parserGetTariffs(),
-      parserAddTariff(),
-      parserDelTariff(),
-      parserChgTariff(),
       admins(NULL),
-      currParser(NULL),
-      dataParser(),
-      xmlParser(),
-      errorStr()
+      currParser(NULL)
 {
 dataParser.push_back(&parserGetServInfo);
 
@@ -130,6 +105,8 @@ dataParser.push_back(&parserAddUser);
 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);
@@ -158,10 +135,9 @@ XML_ParserFree(xmlParser);
 //-----------------------------------------------------------------------------
 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;
@@ -179,14 +155,14 @@ 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<int>(len), done) == XML_STATUS_ERROR)
         {
         logger("Invalid configuration request");
         printfd(__FILE__, "Parse error at line %d:\n%s\n",
@@ -211,51 +187,34 @@ while(nonstop)
 return 0;
 }
 //-----------------------------------------------------------------------------
-void CONFIGPROTO::SetPort(uint16_t p)
-{
-port = p;
-}
-//-----------------------------------------------------------------------------
 void CONFIGPROTO::SetAdmins(ADMINS * a)
 {
 admins = a;
 for (size_t i = 0; i < dataParser.size(); i++)
-    {
     dataParser[i]->SetAdmins(a);
-    }
-
 }
 //-----------------------------------------------------------------------------
 void CONFIGPROTO::SetUsers(USERS * u)
 {
 for (size_t i = 0; i < dataParser.size(); i++)
-    {
     dataParser[i]->SetUsers(u);
-    }
-
 }
 //-----------------------------------------------------------------------------
 void CONFIGPROTO::SetTariffs(TARIFFS * t)
 {
 for (size_t i = 0; i < dataParser.size(); i++)
-    {
     dataParser[i]->SetTariffs(t);
-    }
 }
 //-----------------------------------------------------------------------------
 void CONFIGPROTO::SetStore(STORE * s)
 {
 for (size_t i = 0; i < dataParser.size(); i++)
-    {
     dataParser[i]->SetStore(s);
-    }
 }
 //-----------------------------------------------------------------------------
 void CONFIGPROTO::SetStgSettings(const SETTINGS * s)
 {
 for (size_t i = 0; i < dataParser.size(); i++)
-    {
     dataParser[i]->SetStgSettings(s);
-    }
 }
 //-----------------------------------------------------------------------------