summaryrefslogtreecommitdiff
path: root/modules/database/db_sql_live.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/database/db_sql_live.cpp')
-rw-r--r--modules/database/db_sql_live.cpp19
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