]> git.stg.codes - stg.git/commitdiff
Some refactoring.
authorMaxim Mamontov <faust.madf@gmail.com>
Tue, 27 May 2014 17:07:32 +0000 (20:07 +0300)
committerMaxim Mamontov <faust.madf@gmail.com>
Tue, 27 May 2014 17:07:32 +0000 (20:07 +0300)
projects/sgconf/main.cpp
projects/sgconf/xml.cpp
projects/sgconf/xml.h

index 625e8564a5ce0ad7842b242a34b272d4a0ec6e75..6a71f652ac399d8e9255b8bf7807f1d956aaba49 100644 (file)
 #include "actions.h"
 #include "config.h"
 
 #include "actions.h"
 #include "config.h"
 
-#include "stg/servconf.h"
-#include "stg/user_conf.h"
-#include "stg/user_stat.h"
-#include "stg/common.h"
-
-#include <cerrno>
-#include <clocale>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
 #include <string>
 #include <string>
-#include <sstream>
+#include <iostream>
 
 
-#include <unistd.h>
-#include <getopt.h>
-#include <iconv.h>
-#include <langinfo.h>
+#include <cstdlib> // getenv
+#include <cstring> // basename
 
 
-namespace
-{
-
-template <typename T>
-struct ARRAY_TYPE
-{
-typedef typename T::value_type type;
-};
+#include <unistd.h> // access
 
 
-template <typename T>
-struct ARRAY_TYPE<T[]>
-{
-typedef T type;
-};
-
-template <typename T, size_t N>
-struct ARRAY_TYPE<T[N]>
+namespace
 {
 {
-typedef T type;
-};
 
 template <typename T>
 struct nullary_function
 
 template <typename T>
 struct nullary_function
@@ -144,26 +116,6 @@ CONST_METHOD1_ADAPTER<C, A, R> Method1Adapt(R (C::* func)(A) const, C & obj)
 return CONST_METHOD1_ADAPTER<C, A, R>(func, obj);
 }
 
 return CONST_METHOD1_ADAPTER<C, A, R>(func, obj);
 }
 
-template <typename T>
-bool SetArrayItem(T & array, const char * index, const typename ARRAY_TYPE<T>::type & value)
-{
-size_t pos = 0;
-if (str2x(index, pos))
-    return false;
-array[pos] = value;
-return true;
-}
-
-void RawXMLCallback(bool result, const std::string & reason, const std::string & response, void * /*data*/)
-{
-if (!result)
-    {
-    std::cerr << "Failed to get raw XML response. Reason: '" << reason << "'." << std::endl;
-    return;
-    }
-SGCONF::PrintXML(response);
-}
-
 void Version(const std::string & self)
 {
 std::cout << self << ", version: 2.0.0-alpha.\n";
 void Version(const std::string & self)
 {
 std::cout << self << ", version: 2.0.0-alpha.\n";
@@ -396,17 +348,6 @@ ACTION * MakeAPIAction(COMMANDS & commands,
 return new API_ACTION(commands, "", false, funPtr);
 }
 
 return new API_ACTION(commands, "", false, funPtr);
 }
 
-bool RawXMLFunction(const SGCONF::CONFIG & config,
-                    const std::string & arg,
-                    const std::map<std::string, std::string> & /*options*/)
-{
-    STG::SERVCONF proto(config.server.data(),
-                        config.port.data(),
-                        config.userName.data(),
-                        config.userPass.data());
-    return proto.RawXML(arg, RawXMLCallback, NULL) == STG::st_ok;
-}
-
 } // namespace SGCONF
 
 time_t stgTime;
 } // namespace SGCONF
 
 time_t stgTime;
index bf5589fe856511d0e7539e3f09343e9450b582eb..ec8b9178a06305891cdca5c3ad84fa9503500d32 100644 (file)
@@ -1,5 +1,9 @@
 #include "xml.h"
 
 #include "xml.h"
 
+#include "config.h"
+
+#include "stg/servconf.h"
+
 #include <iostream>
 
 #include <expat.h>
 #include <iostream>
 
 #include <expat.h>
@@ -48,6 +52,16 @@ if (el != NULL)
     std::cout << Indent(state->level) << "</" << el << ">\n";
 }
 
     std::cout << Indent(state->level) << "</" << el << ">\n";
 }
 
+void RawXMLCallback(bool result, const std::string & reason, const std::string & response, void * /*data*/)
+{
+if (!result)
+    {
+    std::cerr << "Failed to get raw XML response. Reason: '" << reason << "'." << std::endl;
+    return;
+    }
+SGCONF::PrintXML(response);
+}
+
 }
 
 void SGCONF::PrintXML(const std::string& xml)
 }
 
 void SGCONF::PrintXML(const std::string& xml)
@@ -66,3 +80,14 @@ if (XML_Parse(parser, xml.c_str(), xml.length(), true) == XML_STATUS_ERROR)
 
 XML_ParserFree(parser);
 }
 
 XML_ParserFree(parser);
 }
+
+bool SGCONF::RawXMLFunction(const SGCONF::CONFIG & config,
+                            const std::string & arg,
+                            const std::map<std::string, std::string> & /*options*/)
+{
+    STG::SERVCONF proto(config.server.data(),
+                        config.port.data(),
+                        config.userName.data(),
+                        config.userPass.data());
+    return proto.RawXML(arg, RawXMLCallback, NULL) == STG::st_ok;
+}
index 25ee35c309affd048ef68b16760fd534c100f7f4..549a69b377faee922a8dec5422dd558a91544f2b 100644 (file)
 #define __STG_SGCONF_XML_H__
 
 #include <string>
 #define __STG_SGCONF_XML_H__
 
 #include <string>
+#include <map>
 
 namespace SGCONF
 {
 
 
 namespace SGCONF
 {
 
+struct CONFIG;
+
 void PrintXML(const std::string& xml);
 
 void PrintXML(const std::string& xml);
 
+bool RawXMLFunction(const SGCONF::CONFIG & config,
+                    const std::string & arg,
+                    const std::map<std::string, std::string> & /*options*/);
+
 }
 
 #endif
 }
 
 #endif