* Author : Maxim Mamontov <faust@stargazer.dp.ua>
*/
-#ifndef __STG_STGLIBS_SRVCONF_PARSER_GET_SERVICE_H__
-#define __STG_STGLIBS_SRVCONF_PARSER_GET_SERVICE_H__
+#pragma once
#include "base.h"
#include "property.h"
namespace STG
{
-namespace GET_SERVICE
+namespace GetService
{
-class PARSER: public STG::PARSER
+class Parser: public STG::Parser
{
-public:
- typedef GET_SERVICE::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;
- INFO info;
- std::string encoding;
- int depth;
- bool parsingAnswer;
- std::string error;
-
- void ParseService(const char * el, const char ** attr);
- //void ParseServiceParams(const char * el, const char ** attr);
+ public:
+ using Info = GetService::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;
+ Info info;
+ std::string encoding;
+ int depth;
+ bool parsingAnswer;
+ std::string error;
+
+ void ParseService(const char* el, const char** attr);
+ //void ParseServiceParams(const char* el, const char** attr);
};
-} // namespace GET_SERVICE
+} // namespace GetService
} // namespace STG
-
-#endif