summaryrefslogtreecommitdiffstats
path: root/src/modules/UserBackendMysql/UserBackendMysql.h
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-06-18 22:03:02 +0200
committerMatthias Schiffer <matthias@gamezock.de>2009-06-18 22:03:02 +0200
commit7234fe326d16d6bf9f4374a09ddc6ef790e6723f (patch)
tree437d4c40eeb1e9b34b369e4b82064a1572c7dac9 /src/modules/UserBackendMysql/UserBackendMysql.h
parentbf561f8226e97f4ace4f04bddf198175e91ee7f0 (diff)
downloadmad-7234fe326d16d6bf9f4374a09ddc6ef790e6723f.tar
mad-7234fe326d16d6bf9f4374a09ddc6ef790e6723f.zip
Globale Variablen durch Application-Klasse ersetzt
Diffstat (limited to 'src/modules/UserBackendMysql/UserBackendMysql.h')
-rw-r--r--src/modules/UserBackendMysql/UserBackendMysql.h27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/modules/UserBackendMysql/UserBackendMysql.h b/src/modules/UserBackendMysql/UserBackendMysql.h
index 523806f..aa141da 100644
--- a/src/modules/UserBackendMysql/UserBackendMysql.h
+++ b/src/modules/UserBackendMysql/UserBackendMysql.h
@@ -17,22 +17,25 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef MAD_MODULES_USERBACKENDMYSQL_H_
-#define MAD_MODULES_USERBACKENDMYSQL_H_
+#ifndef MAD_MODULES_USERBACKENDMYSQL_USERBACKENDMYSQL_H_
+#define MAD_MODULES_USERBACKENDMYSQL_USERBACKENDMYSQL_H_
#include <Server/UserBackend.h>
-#include <Server/UserManager.h>
+
+#include <Common/Application.h>
+
#include <Core/Configurable.h>
+#include <Core/ConfigManager.h>
#include <mysql/mysql.h>
-
namespace Mad {
namespace Modules {
+namespace UserBackendMysql {
class UserBackendMysql : public Server::UserBackend, private Core::Configurable {
private:
- static boost::shared_ptr<UserBackendMysql> backend;
+ Common::Application *application;
std::string host, username, passwd, db, unixSocket;
uint16_t port;
@@ -44,8 +47,6 @@ class UserBackendMysql : public Server::UserBackend, private Core::Configurable
MYSQL *mysql;
- UserBackendMysql() : port(0), mysql(0) {}
-
protected:
virtual bool handleConfigEntry(const Core::ConfigEntry &entry, bool);
virtual void configFinished();
@@ -61,18 +62,22 @@ class UserBackendMysql : public Server::UserBackend, private Core::Configurable
virtual boost::shared_ptr<std::set<unsigned long> > getGroupUserList(unsigned long gid) throw(Core::Exception);
public:
+ UserBackendMysql(Common::Application *application0) : application(application0), port(0), mysql(0) {
+ application->getConfigManager()->registerConfigurable(this);
+ }
+
virtual ~UserBackendMysql() {
+ application->getConfigManager()->unregisterConfigurable(this);
+
if(mysql) {
mysql_close(mysql);
mysql = 0;
}
}
-
- static void registerBackend();
- static void unregisterBackend();
};
}
}
+}
-#endif /* MAD_MODULES_USERBACKENDMYSQL_H_ */
+#endif /* MAD_MODULES_USERBACKENDMYSQL_USERBACKENDMYSQL_H_ */