+#include <expat.h>
+#include <langinfo.h>
+
+using namespace STG;
+
+class SERVCONF::IMPL
+{
+public:
+ IMPL(const std::string & server, uint16_t port,
+ const std::string & login, const std::string & password);
+ IMPL(const std::string & server, uint16_t port,
+ const std::string & localAddress, uint16_t localPort,
+ const std::string & login, const std::string & password);
+ ~IMPL() { XML_ParserFree(parser); }
+
+ const std::string & GetStrError() const;
+ static void Start(void * data, const char * el, const char ** attr);
+ static void End(void * data, const char * el);
+
+ int RawXML(const std::string & request, RAW_XML::CALLBACK f, void * data);
+
+ template <class P, typename C>
+ int Exec(const std::string & request, C callback, void * data)