diff options
Diffstat (limited to 'modules/database/db_sql_live.cpp')
-rw-r--r-- | modules/database/db_sql_live.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/modules/database/db_sql_live.cpp b/modules/database/db_sql_live.cpp index c7c48937a..1a53f98d0 100644 --- a/modules/database/db_sql_live.cpp +++ b/modules/database/db_sql_live.cpp @@ -1,13 +1,11 @@ #include "module.h" -#include "../extra/sql.h" -#include "../commands/os_session.h" +#include "modules/sql.h" using namespace SQL; class DBMySQL : public Module, public Pipe { private: - Anope::string engine; Anope::string prefix; ServiceReference<Provider> SQL; time_t lastwarn; @@ -29,7 +27,7 @@ class DBMySQL : public Module, public Pipe } else { - if (Anope::CurTime - Config->UpdateTimeout > lastwarn) + if (Anope::CurTime - Config->GetBlock("options")->Get<time_t>("updatetimeout") > lastwarn) { Log() << "Unable to locate SQL reference, going to readonly..."; Anope::ReadOnly = this->ro = true; @@ -66,7 +64,7 @@ class DBMySQL : public Module, public Pipe } public: - DBMySQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE), SQL("", "") + DBMySQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR), SQL("", "") { this->lastwarn = 0; this->ro = false; @@ -75,8 +73,6 @@ class DBMySQL : public Module, public Pipe Implementation i[] = { I_OnReload, I_OnShutdown, I_OnLoadDatabase, I_OnSerializableConstruct, I_OnSerializableDestruct, I_OnSerializeCheck, I_OnSerializableUpdate }; ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); - OnReload(); - if (ModuleManager::FindFirstOf(DATABASE) != this) throw ModuleException("If db_sql_live is loaded it must be the first database module loaded."); } @@ -132,12 +128,11 @@ class DBMySQL : public Module, public Pipe init = false; } - void OnReload() anope_override + void OnReload(Configuration::Conf *conf) anope_override { - ConfigReader config; - this->engine = config.ReadValue("db_sql", "engine", "", 0); - this->SQL = ServiceReference<Provider>("SQL::Provider", this->engine); - this->prefix = config.ReadValue("db_sql", "prefix", "anope_db_", 0); + Configuration::Block *block = conf->GetModule(this); + this->SQL = ServiceReference<Provider>("SQL::Provider", block->Get<const Anope::string>("engine")); + this->prefix = block->Get<const Anope::string>("prefix", "anope_db_"); } void OnSerializableConstruct(Serializable *obj) anope_override |