]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/configproto.cpp
Added ability to list authorizers for user.
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / configproto.cpp
index 07c319a0c9e0cf0849cee2853db291192692bbab..015c24602fb5391345a8826ad926cd64293af434 100644 (file)
@@ -86,17 +86,18 @@ else
     }
 }
 //-----------------------------------------------------------------------------
-CONFIGPROTO::CONFIGPROTO()
+CONFIGPROTO::CONFIGPROTO(PLUGIN_LOGGER & l)
     : answerList(),
       requestList(),
       adminIP(0),
       adminLogin(),
+      adminPassword(),
       port(0),
       thrReciveSendConf(),
       nonstop(true),
       state(0),
       currAdmin(NULL),
-      WriteServLog(GetStgLogger()),
+      logger(l),
       listenSocket(-1),
       parserGetServInfo(),
       parserGetUsers(),
@@ -106,6 +107,7 @@ CONFIGPROTO::CONFIGPROTO()
       parserDelUser(),
       parserCheckUser(),
       parserSendMessage(),
+      parserAuthBy(),
       parserGetAdmins(),
       parserAddAdmin(),
       parserDelAdmin(),
@@ -129,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);
@@ -144,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);
     }
 
@@ -157,10 +160,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;
@@ -178,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<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)));