]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/parsers/chg_admin.cpp
Store parser answer in configproto.
[stg.git] / stglibs / srvconf.lib / parsers / chg_admin.cpp
index de9185148e23c205a7ef93baa0e64e37a0a2be22..14679dff6f04c8d0c61d2d6bc6b914ff1e450279 100644 (file)
 
 using namespace STG;
 
-CHG_ADMIN::PARSER::PARSER(SIMPLE::CALLBACK f, void * d)
-    : callback(f),
-      data(d),
-      depth(0)
-{
-}
-//-----------------------------------------------------------------------------
-int CHG_ADMIN::PARSER::ParseStart(const char *el, const char **attr)
-{
-depth++;
-if (depth == 1)
-    if (strcasecmp(el, "SetAdmin") == 0)
-        ParseAnswer(el, attr);
-return 0;
-}
-//-----------------------------------------------------------------------------
-void CHG_ADMIN::PARSER::ParseEnd(const char *)
-{
-depth--;
-}
-//-----------------------------------------------------------------------------
-void CHG_ADMIN::PARSER::ParseAnswer(const char * /*el*/, const char ** attr)
-{
-if (!callback)
-    return;
-if (attr && attr[0] && attr[1])
-    callback(strcasecmp(attr[1], "ok") == 0, attr[1], data);
-else
-    callback(false, "Invalid response.", data);
-}
-
-std::string CHG_ADMIN::Serialize(const ADMIN_CONF_RES & conf)
+std::string CHG_ADMIN::Serialize(const ADMIN_CONF_RES & conf, const std::string & /*encoding*/)
 {
 std::string params;
 if (!conf.login.empty())
@@ -66,6 +35,6 @@ if (!conf.login.empty())
 if (!conf.password.empty())
     params += " password=\"" + conf.password.data() + "\"";
 if (!conf.priv.empty())
-    params += " priv=\"" + x2str(conf.priv.data().ToInt()) + "\"";
+    params += " priv=\"" + unsigned2str(conf.priv.data().ToInt()) + "\"";
 return params;
 }