]> git.stg.codes - stg.git/blobdiff - libs/srvconf/parsers/get_tariff.h
Public interfaces: part 1
[stg.git] / libs / srvconf / parsers / get_tariff.h
index be78fdbd114dde6c7c584d0a1969f153b0bdd39a..7cf4062e31dfb8819e907130200793c758e64f14 100644 (file)
@@ -18,8 +18,7 @@
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
-#ifndef __STG_STGLIBS_SRVCONF_PARSER_GET_TARIFF_H__
-#define __STG_STGLIBS_SRVCONF_PARSER_GET_TARIFF_H__
+#pragma once
 
 #include "base.h"
 #include "property.h"
 
 namespace STG
 {
-namespace GET_TARIFF
+namespace GetTariff
 {
 
-class PARSER: public STG::PARSER
+class Parser: public STG::Parser
 {
-public:
-    typedef GET_TARIFF::INFO 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); }
-
-private:
-    PROPERTY_PARSERS propertyParsers;
-    CALLBACK callback;
-    void * data;
-    std::string encoding;
-    INFO info;
-    int depth;
-    bool parsingAnswer;
-    std::string error;
-
-    void ParseTariff(const char * el, const char ** attr);
-    void ParseTariffParams(const char * el, const char ** attr);
+    public:
+        using Info = GetTariff::Info;
+
+        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:
+        PropertyParsers propertyParsers;
+        Callback callback;
+        void* data;
+        std::string encoding;
+        Info info;
+        int depth;
+        bool parsingAnswer;
+        std::string error;
+
+        void ParseTariff(const char* el, const char** attr);
+        void ParseTariffParams(const char* el, const char** attr);
 };
 
-} // namespace GET_TARIFF
+} // namespace GetTariff
 } // namespace STG
-
-#endif