blob: e5818c6e05819978c51b3c251aab27a7702fd7b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
/*
* UserBackendMysql.cpp
*
* Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UserBackendMysql.h"
#include <Common/ConfigEntry.h>
#define init UserBackendMysql_LTX_init
#define deinit UserBackendMysql_LTX_deinit
namespace Mad {
namespace Modules {
UserBackendMysql *UserBackendMysql::backend;
bool UserBackendMysql::handleConfigEntry(const Common::ConfigEntry &entry, bool handled) {
if(handled)
return false;
if(entry[0].getKey().matches("UserBackendMysql")) {
if(entry[1].getKey().matches("Host")) {
if(entry[2].empty())
host = entry[1][0];
}
else if(entry[1].getKey().matches("Username")) {
if(entry[2].empty())
username = entry[1][0];
}
else if(entry[1].getKey().matches("Password")) {
if(entry[2].empty())
password = entry[1][0];
}
else if(entry[1].getKey().matches("Database")) {
if(entry[2].empty())
db = entry[1][0];
}
else if(entry[1].getKey().matches("Queries")) {
if(entry[2].getKey().matches("ListUsers")) {
if(entry[3].empty())
queryListUsers = entry[2][0];
}
else if(entry[2].getKey().matches("ListGroups")) {
if(entry[3].empty())
queryListGroups = entry[2][0];
}
else if(entry[2].getKey().matches("ListUserGroups")) {
if(entry[3].empty())
queryListUserGroups = entry[2][0];
}
else if(entry[2].getKey().matches("ListGroupUsers")) {
if(entry[3].empty())
queryListGroupUsers = entry[2][0];
}
else if(entry[2].getKey().matches("UserById")) {
if(entry[3].empty())
queryUserById = entry[2][0];
}
else if(entry[2].getKey().matches("UserByName")) {
if(entry[3].empty())
queryUserByName = entry[2][0];
}
else if(entry[2].getKey().matches("GroupById")) {
if(entry[3].empty())
queryGroupById = entry[2][0];
}
else if(entry[2].getKey().matches("GroupByName")) {
if(entry[3].empty())
queryGroupByName = entry[2][0];
}
}
}
}
void UserBackendMysql::configFinished() {
UserBackend::registerBackend(backend);
}
}
}
extern "C" {
void init() {
Mad::Modules::UserBackendMysql::registerBackend();
}
void deinit() {
Mad::Modules::UserBackendMysql::unregisterBackend();
}
}
|