]> git.stg.codes - stg.git/blobdiff - libs/srvconf/parsers/get_user.h
Fix XML-RPC module compilation on C++17-only compilers.
[stg.git] / libs / srvconf / parsers / get_user.h
index a0e3e3a4a8eaab59ebd8a60d9d0796eaeee133be..008ce2c1f372dd79f83ef1f4e5886f9112b109cc 100644 (file)
@@ -19,8 +19,7 @@
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
-#ifndef __STG_STGLIBS_SRVCONF_PARSER_GET_USER_H__
-#define __STG_STGLIBS_SRVCONF_PARSER_GET_USER_H__
+#pragma once
 
 #include "base.h"
 #include "property.h"
 
 namespace STG
 {
-namespace GET_USER
+namespace GetUser
 {
 
-class PARSER: public STG::PARSER
+class Parser: public STG::Parser
 {
 public:
-    typedef GET_USER::INFO INFO;
+    using Info = GetUser::Info;
 
-    PARSER(CALLBACK f, void * data, const std::string & encoding);
-    virtual ~PARSER();
-    int  ParseStart(const char * el, const char ** attr);
-    void ParseEnd(const char * el);
-    void Failure(const std::string & reason) { callback(false, reason, info, data); }
+    Parser(Callback f, void* data, const std::string& encoding);
+
+    ~Parser() override;
+    int  ParseStart(const char* el, const char** attr) override;
+    void ParseEnd(const char* el) override;
+    void Failure(const std::string& reason) override { callback(false, reason, info, data); }
 
 private:
-    PROPERTY_PARSERS propertyParsers;
-    CALLBACK callback;
-    void * data;
+    PropertyParsers propertyParsers;
+    Callback callback;
+    void* data;
     std::string encoding;
-    INFO info;
+    Info info;
     int depth;
     bool parsingAnswer;
     std::string error;
 
-    void ParseUser(const char * el, const char ** attr);
-    void ParseUserParams(const char * el, const char ** attr);
-    void ParseAuthBy(const char * el, const char ** attr);
-    void ParseServices(const char * el, const char ** attr);
+    void ParseUser(const char* el, const char** attr);
+    void ParseUserParams(const char* el, const char** attr);
+    void ParseAuthBy(const char* el, const char** attr);
+    void ParseServices(const char* el, const char** attr);
 };
 
-} // namespace GET_USER
+} // namespace GetUser
 } // namespace STG
-
-#endif