X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/0d5bff91a33dc190351adc0010f8218c81423799..08dd72f2d8d3d7766e4fa87f01840c3ed8211091:/projects/stargazer/plugins/configuration/sgconfig/parser_services.h diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_services.h b/projects/stargazer/plugins/configuration/sgconfig/parser_services.h index f4d87fe9..27dbb4c8 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_services.h +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_services.h @@ -18,8 +18,7 @@ * Author : Maxim Mamontov */ -#ifndef __STG_SGCONFIG_PARSER_SERVICES_H__ -#define __STG_SGCONFIG_PARSER_SERVICES_H__ +#pragma once #include "parser.h" @@ -29,10 +28,11 @@ #include -class SERVICES; - namespace STG { + +struct Services; + namespace PARSER { @@ -42,23 +42,23 @@ class GET_SERVICES: public BASE_PARSER class FACTORY : public BASE_PARSER::FACTORY { public: - FACTORY(const SERVICES & services) : m_services(services) {} - virtual BASE_PARSER * create(const ADMIN & admin) { return new GET_SERVICES(admin, m_services); } - static void Register(REGISTRY & registry, const SERVICES & services) + explicit FACTORY(const Services & services) : m_services(services) {} + BASE_PARSER * create(const Admin & admin) override { return new GET_SERVICES(admin, m_services); } + static void Register(REGISTRY & registry, const Services & services) { registry[ToLower(tag)] = new FACTORY(services); } private: - const SERVICES & m_services; + const Services & m_services; }; static const char * tag; - GET_SERVICES(const ADMIN & admin, const SERVICES & services) + GET_SERVICES(const Admin & admin, const Services & services) : BASE_PARSER(admin, tag), m_services(services) {} private: - const SERVICES & m_services; + const Services & m_services; - void CreateAnswer(); + void CreateAnswer() override; }; class GET_SERVICE: public BASE_PARSER @@ -67,25 +67,25 @@ class GET_SERVICE: public BASE_PARSER class FACTORY : public BASE_PARSER::FACTORY { public: - FACTORY(const SERVICES & services) : m_services(services) {} - virtual BASE_PARSER * create(const ADMIN & admin) { return new GET_SERVICE(admin, m_services); } - static void Register(REGISTRY & registry, SERVICES & services) + explicit FACTORY(const Services & services) : m_services(services) {} + BASE_PARSER * create(const Admin & admin) override { return new GET_SERVICE(admin, m_services); } + static void Register(REGISTRY & registry, Services & services) { registry[ToLower(tag)] = new FACTORY(services); } private: - const SERVICES & m_services; + const Services & m_services; }; static const char * tag; - GET_SERVICE(const ADMIN & admin, const SERVICES & services) + GET_SERVICE(const Admin & admin, const Services & services) : BASE_PARSER(admin, tag), m_services(services) {} - int Start(void * data, const char * el, const char ** attr); + int Start(void * data, const char * el, const char ** attr) override; private: std::string m_name; - const SERVICES & m_services; + const Services & m_services; - void CreateAnswer(); + void CreateAnswer() override; }; class ADD_SERVICE: public BASE_PARSER @@ -94,25 +94,25 @@ class ADD_SERVICE: public BASE_PARSER class FACTORY : public BASE_PARSER::FACTORY { public: - FACTORY(SERVICES & services) : m_services(services) {} - virtual BASE_PARSER * create(const ADMIN & admin) { return new ADD_SERVICE(admin, m_services); } - static void Register(REGISTRY & registry, SERVICES & services) + explicit FACTORY(Services & services) : m_services(services) {} + BASE_PARSER * create(const Admin & admin) override { return new ADD_SERVICE(admin, m_services); } + static void Register(REGISTRY & registry, Services & services) { registry[ToLower(tag)] = new FACTORY(services); } private: - SERVICES & m_services; + Services & m_services; }; static const char * tag; - ADD_SERVICE(const ADMIN & admin, SERVICES & services) + ADD_SERVICE(const Admin & admin, Services & services) : BASE_PARSER(admin, tag), m_services(services) {} - int Start(void * data, const char * el, const char ** attr); + int Start(void * data, const char * el, const char ** attr) override; private: std::string m_name; - SERVICES & m_services; + Services & m_services; - void CreateAnswer(); + void CreateAnswer() override; }; class DEL_SERVICE: public BASE_PARSER @@ -121,25 +121,25 @@ class DEL_SERVICE: public BASE_PARSER class FACTORY : public BASE_PARSER::FACTORY { public: - FACTORY(SERVICES & services) : m_services(services) {} - virtual BASE_PARSER * create(const ADMIN & admin) { return new DEL_SERVICE(admin, m_services); } - static void Register(REGISTRY & registry, SERVICES & services) + explicit FACTORY(Services & services) : m_services(services) {} + BASE_PARSER * create(const Admin & admin) override { return new DEL_SERVICE(admin, m_services); } + static void Register(REGISTRY & registry, Services & services) { registry[ToLower(tag)] = new FACTORY(services); } private: - SERVICES & m_services; + Services & m_services; }; static const char * tag; - DEL_SERVICE(const ADMIN & admin, SERVICES & services) + DEL_SERVICE(const Admin & admin, Services & services) : BASE_PARSER(admin, tag), m_services(services) {} - int Start(void * data, const char * el, const char ** attr); + int Start(void * data, const char * el, const char ** attr) override; private: std::string m_name; - SERVICES & m_services; + Services & m_services; - void CreateAnswer(); + void CreateAnswer() override; }; class CHG_SERVICE: public BASE_PARSER @@ -148,28 +148,26 @@ class CHG_SERVICE: public BASE_PARSER class FACTORY : public BASE_PARSER::FACTORY { public: - FACTORY(SERVICES & services) : m_services(services) {} - virtual BASE_PARSER * create(const ADMIN & admin) { return new CHG_SERVICE(admin, m_services); } - static void Register(REGISTRY & registry, SERVICES & services) + explicit FACTORY(Services & services) : m_services(services) {} + BASE_PARSER * create(const Admin & admin) override { return new CHG_SERVICE(admin, m_services); } + static void Register(REGISTRY & registry, Services & services) { registry[ToLower(tag)] = new FACTORY(services); } private: - SERVICES & m_services; + Services & m_services; }; static const char * tag; - CHG_SERVICE(const ADMIN & admin, SERVICES & services) + CHG_SERVICE(const Admin & admin, Services & services) : BASE_PARSER(admin, tag), m_services(services) {} - int Start(void * data, const char * el, const char ** attr); + int Start(void * data, const char * el, const char ** attr) override; private: - SERVICE_CONF_RES m_service; - SERVICES & m_services; + ServiceConfOpt m_service; + Services & m_services; - void CreateAnswer(); + void CreateAnswer() override; }; } // namespace PARSER } // namespace STG - -#endif