diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-06-18 22:03:02 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-06-18 22:03:02 +0200 |
commit | 7234fe326d16d6bf9f4374a09ddc6ef790e6723f (patch) | |
tree | 437d4c40eeb1e9b34b369e4b82064a1572c7dac9 /src/modules/UserBackendMysql/UserBackendMysql.h | |
parent | bf561f8226e97f4ace4f04bddf198175e91ee7f0 (diff) | |
download | mad-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.h | 27 |
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_ */ |