* Author : Maxim Mamontov <faust@stargazer.dp.ua>
*/
-#ifndef __STG_SGCONFIG_PARSER_SERVICES_H__
-#define __STG_SGCONFIG_PARSER_SERVICES_H__
+#pragma once
#include "parser.h"
#include <string>
-class SERVICES;
-
namespace STG
{
+
+struct Services;
+
namespace 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
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
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
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
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