From 4f9b7874d6b3a41939ecc2e872ec08d03af7b5f1 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 11 Apr 2013 00:08:28 -0500 Subject: Pass new config and the new config reader to the OnReload event, aswell as call it on module load on modules that hook to it --- modules/database/db_flatfile.cpp | 9 +++------ modules/database/db_plain.cpp | 14 +++----------- modules/database/db_sql.cpp | 11 ++++------- modules/database/db_sql_live.cpp | 9 +++------ 4 files changed, 13 insertions(+), 30 deletions(-) (limited to 'modules/database') diff --git a/modules/database/db_flatfile.cpp b/modules/database/db_flatfile.cpp index 50a513c65..dcf4a5aa4 100644 --- a/modules/database/db_flatfile.cpp +++ b/modules/database/db_flatfile.cpp @@ -169,8 +169,6 @@ class DBFlatFile : public Module, public Pipe Implementation i[] = { I_OnReload, I_OnLoadDatabase, I_OnSaveDatabase, I_OnSerializeTypeCreate }; ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); - - OnReload(); } void OnNotify() anope_override @@ -193,11 +191,10 @@ class DBFlatFile : public Module, public Pipe Anope::Quitting = true; } - void OnReload() anope_override + void OnReload(ServerConfig *conf, ConfigReader &reader) anope_override { - ConfigReader config; - database_file = config.ReadValue("db_flatfile", "database", "anope.db", 0); - use_fork = config.ReadFlag("db_flatfile", "fork", "no", 0); + database_file = reader.ReadValue("db_flatfile", "database", "anope.db", 0); + use_fork = reader.ReadFlag("db_flatfile", "fork", "no", 0); } EventReturn OnLoadDatabase() anope_override diff --git a/modules/database/db_plain.cpp b/modules/database/db_plain.cpp index f2b3bffd2..11274c593 100644 --- a/modules/database/db_plain.cpp +++ b/modules/database/db_plain.cpp @@ -589,19 +589,12 @@ class DBPlain : public Module public: DBPlain(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR) { - Implementation i[] = { I_OnReload, I_OnLoadDatabase, I_OnSaveDatabase }; ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); - OnReload(); - LastDay = 0; } - ~DBPlain() - { - } - void BackupDatabase() { /* Do not backup a database that doesn't exist */ @@ -642,11 +635,10 @@ class DBPlain : public Module } } - void OnReload() anope_override + void OnReload(ServerConfig *conf, ConfigReader &reader) anope_override { - ConfigReader config; - DatabaseFile = Anope::DataDir + "/" + config.ReadValue("db_plain", "database", "anope.db", 0); - BackupFile = Anope::DataDir + "/backups/" + config.ReadValue("db_plain", "database", "anope.db", 0); + DatabaseFile = Anope::DataDir + "/" + reader.ReadValue("db_plain", "database", "anope.db", 0); + BackupFile = Anope::DataDir + "/backups/" + reader.ReadValue("db_plain", "database", "anope.db", 0); } EventReturn OnLoadDatabase() anope_override diff --git a/modules/database/db_sql.cpp b/modules/database/db_sql.cpp index 74da4c44c..4025fec69 100644 --- a/modules/database/db_sql.cpp +++ b/modules/database/db_sql.cpp @@ -95,8 +95,6 @@ class DBSQL : public Module, public Pipe Implementation i[] = { I_OnReload, I_OnShutdown, I_OnRestart, I_OnLoadDatabase, I_OnSerializableConstruct, I_OnSerializableDestruct, I_OnSerializableUpdate, I_OnSerializeTypeCreate }; ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); - this->OnReload(); - if (ModuleManager::FindModule("db_sql_live") != NULL) throw ModuleException("db_sql can not be loaded after db_sql_live"); } @@ -148,13 +146,12 @@ class DBSQL : public Module, public Pipe this->imported = true; } - void OnReload() anope_override + void OnReload(ServerConfig *conf, ConfigReader &reader) anope_override { - ConfigReader config; - Anope::string engine = config.ReadValue("db_sql", "engine", "", 0); + Anope::string engine = reader.ReadValue("db_sql", "engine", "", 0); this->sql = ServiceReference("SQL::Provider", engine); - this->prefix = config.ReadValue("db_sql", "prefix", "anope_db_", 0); - this->import = config.ReadFlag("db_sql", "import", "false", 0); + this->prefix = reader.ReadValue("db_sql", "prefix", "anope_db_", 0); + this->import = reader.ReadFlag("db_sql", "import", "false", 0); } void OnShutdown() anope_override diff --git a/modules/database/db_sql_live.cpp b/modules/database/db_sql_live.cpp index ab08472d8..a26b08cf7 100644 --- a/modules/database/db_sql_live.cpp +++ b/modules/database/db_sql_live.cpp @@ -75,8 +75,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 +130,11 @@ class DBMySQL : public Module, public Pipe init = false; } - void OnReload() anope_override + void OnReload(ServerConfig *conf, ConfigReader &reader) anope_override { - ConfigReader config; - this->engine = config.ReadValue("db_sql", "engine", "", 0); + this->engine = reader.ReadValue("db_sql", "engine", "", 0); this->SQL = ServiceReference("SQL::Provider", this->engine); - this->prefix = config.ReadValue("db_sql", "prefix", "anope_db_", 0); + this->prefix = reader.ReadValue("db_sql", "prefix", "anope_db_", 0); } void OnSerializableConstruct(Serializable *obj) anope_override -- cgit