]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/parser_services.cpp
Fight Optional
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / parser_services.cpp
index a9599d54953a2bfdd5d56121be28e191a53fb280..2ccddd386ef6f2dc28c5fbb6473d9e04804fc451 100644 (file)
@@ -47,14 +47,14 @@ void GET_SERVICES::CreateAnswer()
     }*/
 
     m_answer = "<Services>";
-    SERVICE_CONF conf;
+    ServiceConf conf;
     int h = m_services.OpenSearch();
     while (m_services.SearchNext(h, &conf) == 0)
     {
         m_answer += "<Service name=\"" + conf.name +
                     "\" comment=\"" + Encode12str(conf.comment) +
-                    "\" cost=\"" + x2str(conf.cost) +
-                    "\" payDay=\"" + x2str(conf.payDay) + "\"/>";
+                    "\" cost=\"" + std::to_string(conf.cost) +
+                    "\" payDay=\"" + std::to_string(conf.payDay) + "\"/>";
     }
     m_services.CloseSearch(h);
     m_answer += "</Services>";
@@ -80,14 +80,14 @@ void GET_SERVICE::CreateAnswer()
         return;
     }*/
 
-    SERVICE_CONF conf;
+    ServiceConf conf;
     if (!m_services.Find(m_name, &conf))
         m_answer = "<Error result=\"Service '" + m_name + "' does not exist.\"/>";
     else
         m_answer += "<" + m_tag + " name=\"" + conf.name +
                     "\" comment=\"" + Encode12str(conf.comment) +
-                    "\" cost=\"" + x2str(conf.cost) +
-                    "\" payDay=\"" + x2str(conf.payDay) + "\"/>";
+                    "\" cost=\"" + std::to_string(conf.cost) +
+                    "\" payDay=\"" + std::to_string(conf.payDay) + "\"/>";
 }
 
 int ADD_SERVICE::Start(void *, const char * el, const char ** attr)
@@ -102,7 +102,7 @@ int ADD_SERVICE::Start(void *, const char * el, const char ** attr)
 
 void ADD_SERVICE::CreateAnswer()
 {
-    SERVICE_CONF conf(m_name);
+    ServiceConf conf(m_name);
     if (m_services.Add(conf, &m_currAdmin) == 0)
         m_answer = "<" + m_tag + " result=\"Ok\"/>";
     else
@@ -178,25 +178,25 @@ int CHG_SERVICE::Start(void *, const char * el, const char ** attr)
 
 void CHG_SERVICE::CreateAnswer()
 {
-    if (m_service.name.empty())
+    if (!m_service.name)
     {
         m_answer = "<" + m_tag + " result=\"Empty service name.\"/>";
         return;
     }
 
-    if (!m_services.Exists(m_service.name.const_data()))
+    if (!m_services.Exists(m_service.name.value()))
     {
-        m_answer = "<" + m_tag + " result = \"Service '" + m_service.name.const_data() + "' does not exist.\"/>";
+        m_answer = "<" + m_tag + " result = \"Service '" + m_service.name.value() + "' does not exist.\"/>";
         return;
     }
 
-    SERVICE_CONF orig;
-    m_services.Find(m_service.name.const_data(), &orig);
+    ServiceConf orig;
+    m_services.Find(m_service.name.value(), &orig);
 
-    SERVICE_CONF_RES conf(orig);
-    conf.Splice(m_service);
+    ServiceConfOpt conf(orig);
+    conf.splice(m_service);
 
-    if (m_services.Change(conf.GetData(), &m_currAdmin) != 0)
+    if (m_services.Change(conf.get({}), &m_currAdmin) != 0)
         m_answer = "<" + m_tag + " result = \"" + m_services.GetStrError() + "\"/>";
     else
         m_answer = "<" + m_tag + " result = \"Ok\"/>";