2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation; either version 2 of the License, or
5 * (at your option) any later version.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 * Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
19 * Author : Maxim Mamontov <faust@stargazer.dp.ua>
22 #ifndef __STG_SGCONFIG_PARSER_ADMINS_H__
23 #define __STG_SGCONFIG_PARSER_ADMINS_H__
27 #include "stg/resetable.h"
39 class GET_ADMINS: public BASE_PARSER
42 class FACTORY : public BASE_PARSER::FACTORY
45 FACTORY(const ADMIN & admin, const ADMINS & admins)
46 : m_admin(admin), m_admins(admins)
48 virtual BASE_PARSER * create() { return new GET_ADMINS(m_admin, m_admins); }
50 const ADMIN & m_admin;
51 const ADMINS & m_admins;
54 GET_ADMINS(const ADMIN & admin, const ADMINS & admins)
55 : BASE_PARSER(admin, "GetAdmins"), m_admins(admins) {}
58 const ADMINS & m_admins;
63 class ADD_ADMIN: public BASE_PARSER
66 class FACTORY : public BASE_PARSER::FACTORY
69 FACTORY(const ADMIN & admin, ADMINS & admins)
70 : m_admin(admin), m_admins(admins)
72 virtual BASE_PARSER * create() { return new ADD_ADMIN(m_admin, m_admins); }
74 const ADMIN & m_admin;
78 ADD_ADMIN(const ADMIN & admin, ADMINS & admins)
79 : BASE_PARSER(admin, "AddAdmin"), m_admins(admins) {}
80 int Start(void * data, const char * el, const char ** attr);
89 class DEL_ADMIN: public BASE_PARSER
92 class FACTORY : public BASE_PARSER::FACTORY
95 FACTORY(const ADMIN & admin, ADMINS & admins)
96 : m_admin(admin), m_admins(admins)
98 virtual BASE_PARSER * create() { return new DEL_ADMIN(m_admin, m_admins); }
100 const ADMIN & m_admin;
104 DEL_ADMIN(const ADMIN & admin, ADMINS & admins)
105 : BASE_PARSER(admin, "DelAdmin"), m_admins(admins) {}
106 int Start(void * data, const char * el, const char ** attr);
115 class CHG_ADMIN: public BASE_PARSER
118 class FACTORY : public BASE_PARSER::FACTORY
121 FACTORY(const ADMIN & admin, ADMINS & admins)
122 : m_admin(admin), m_admins(admins)
124 virtual BASE_PARSER * create() { return new CHG_ADMIN(m_admin, m_admins); }
126 const ADMIN & m_admin;
130 CHG_ADMIN(const ADMIN & admin, ADMINS & admins)
131 : BASE_PARSER(admin, "ChgAdmin"), m_admins(admins) {}
132 int Start(void * data, const char * el, const char ** attr);
136 RESETABLE<std::string> password;
137 RESETABLE<std::string> privAsString;
143 } // namespace PARSER