]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/parsers/chg_service.cpp
Implemented encoding for all parsers.
[stg.git] / stglibs / srvconf.lib / parsers / chg_service.cpp
index 2eed494f8c1d244bae90bb231ba7512c1a0bc918..eabe11df43f231af0f92df5511859481a266c1d0 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "chg_service.h"
 
+#include "resetable_utils.h"
+
 #include "stg/service_conf.h"
 #include "stg/common.h"
 
 
 using namespace STG;
 
-namespace
-{
-
-template <typename T>
-void appendResetable(std::ostream & stream, const std::string & name, const T & value)
-{
-if (!value.empty())
-    stream << "<" << name << " value=\"" << value.data() << "\"/>";
-}
-
-} // namespace anonymous
-
-std::string CHG_SERVICE::Serialize(const SERVICE_CONF_RES & conf)
+std::string CHG_SERVICE::Serialize(const SERVICE_CONF_RES & conf, const std::string & encoding)
 {
 std::ostringstream stream;
 
 appendResetable(stream, "name", conf.name);
-appendResetable(stream, "comment", conf.comment);
+appendResetable(stream, "comment", MaybeIconv(conf.comment, "koi8-ru", encoding));
 appendResetable(stream, "cost", conf.cost);
 appendResetable(stream, "payDay", conf.payDay);