/*
* Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
- * Author : Maxim Mamontov <faust@stargazer.dp.ua>
+ * Author : Maksym Mamontov <stg@madf.info>
*/
#ifndef __STG_SGCONFIG_PARSER_ADMINS_H__
#include "parser.h"
+#include "stg/common.h"
#include "stg/resetable.h"
#include <string>
class FACTORY : public BASE_PARSER::FACTORY
{
public:
- FACTORY(const ADMINS & admins) : m_admins(admins) {}
+ explicit FACTORY(const ADMINS & admins) : m_admins(admins) {}
virtual BASE_PARSER * create(const ADMIN & admin) { return new GET_ADMINS(admin, m_admins); }
static void Register(REGISTRY & registry, const ADMINS & admins)
- { registry[tag] = new FACTORY(admins); }
+ { registry[ToLower(tag)] = new FACTORY(admins); }
private:
const ADMINS & m_admins;
};
class FACTORY : public BASE_PARSER::FACTORY
{
public:
- FACTORY(ADMINS & admins) : m_admins(admins) {}
+ explicit FACTORY(ADMINS & admins) : m_admins(admins) {}
virtual BASE_PARSER * create(const ADMIN & admin) { return new ADD_ADMIN(admin, m_admins); }
static void Register(REGISTRY & registry, ADMINS & admins)
- { registry[tag] = new FACTORY(admins); }
+ { registry[ToLower(tag)] = new FACTORY(admins); }
private:
ADMINS & m_admins;
};
class FACTORY : public BASE_PARSER::FACTORY
{
public:
- FACTORY(ADMINS & admins) : m_admins(admins) {}
+ explicit FACTORY(ADMINS & admins) : m_admins(admins) {}
virtual BASE_PARSER * create(const ADMIN & admin) { return new DEL_ADMIN(admin, m_admins); }
static void Register(REGISTRY & registry, ADMINS & admins)
- { registry[tag] = new FACTORY(admins); }
+ { registry[ToLower(tag)] = new FACTORY(admins); }
private:
ADMINS & m_admins;
};
class FACTORY : public BASE_PARSER::FACTORY
{
public:
- FACTORY(ADMINS & admins) : m_admins(admins) {}
+ explicit FACTORY(ADMINS & admins) : m_admins(admins) {}
virtual BASE_PARSER * create(const ADMIN & admin) { return new CHG_ADMIN(admin, m_admins); }
static void Register(REGISTRY & registry, ADMINS & admins)
- { registry[tag] = new FACTORY(admins); }
+ { registry[ToLower(tag)] = new FACTORY(admins); }
private:
ADMINS & m_admins;
};