From 26ac315192e0d8a04d50e910697ab794eedf0cc1 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 20 Apr 2014 14:35:14 -0400 Subject: New event system --- modules/database/db_flatfile.cpp | 15 ++++++++++++++- modules/database/db_old.cpp | 13 +++++++++---- modules/database/db_redis.cpp | 13 ++++++++++++- modules/database/db_sql.cpp | 21 ++++++++++++++++++++- modules/database/db_sql_live.cpp | 16 +++++++++++++++- 5 files changed, 70 insertions(+), 8 deletions(-) (limited to 'modules/database') diff --git a/modules/database/db_flatfile.cpp b/modules/database/db_flatfile.cpp index c4b2254c8..50f1412b1 100644 --- a/modules/database/db_flatfile.cpp +++ b/modules/database/db_flatfile.cpp @@ -103,6 +103,11 @@ class LoadData : public Serialize::Data }; class DBFlatFile : public Module, public Pipe + , public EventHook + , public EventHook + , public EventHook + , public EventHook + , public EventHook { /* Day the last backup was on */ int last_day; @@ -167,7 +172,15 @@ class DBFlatFile : public Module, public Pipe } public: - DBFlatFile(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR), last_day(0), loaded(false), child_pid(-1) + DBFlatFile(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR) + , EventHook("OnRestart") + , EventHook("OnShutdown") + , EventHook("OnLoadDatabase") + , EventHook("OnSaveDatabase") + , EventHook("OnSerializeTypeCreate") + , last_day(0) + , loaded(false) + , child_pid(-1) { } diff --git a/modules/database/db_old.cpp b/modules/database/db_old.cpp index 82f26e064..f80d55d5a 100644 --- a/modules/database/db_old.cpp +++ b/modules/database/db_old.cpp @@ -1294,16 +1294,21 @@ static void LoadNews() } class DBOld : public Module + , public EventHook + , public EventHook { PrimitiveExtensibleItem mlock_on, mlock_off, mlock_limit; PrimitiveExtensibleItem mlock_key; public: - DBOld(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR), - mlock_on(this, "mlock_on"), mlock_off(this, "mlock_off"), mlock_limit(this, "mlock_limit"), mlock_key(this, "mlock_key") + DBOld(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR) + , EventHook("OnLoadDatabase") + , EventHook("OnUplinkSync") + , mlock_on(this, "mlock_on") + , mlock_off(this, "mlock_off") + , mlock_limit(this, "mlock_limit") + , mlock_key(this, "mlock_key") { - - hashm = Config->GetModule(this)->Get("hash"); if (hashm != "md5" && hashm != "oldmd5" && hashm != "sha1" && hashm != "plain" && hashm != "sha256") diff --git a/modules/database/db_redis.cpp b/modules/database/db_redis.cpp index d7585bc32..81b1f083f 100644 --- a/modules/database/db_redis.cpp +++ b/modules/database/db_redis.cpp @@ -121,6 +121,11 @@ class SubscriptionListener : public Interface }; class DatabaseRedis : public Module, public Pipe + , public EventHook + , public EventHook + , public EventHook + , public EventHook + , public EventHook { SubscriptionListener sl; std::set updated_items; @@ -128,7 +133,13 @@ class DatabaseRedis : public Module, public Pipe public: ServiceReference redis; - DatabaseRedis(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR), sl(this) + DatabaseRedis(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR) + , EventHook("OnLoadDatabase") + , EventHook("OnSerializeTypeCreate") + , EventHook("OnSerializableConstruct") + , EventHook("OnSerializableDestruct") + , EventHook("OnSerializableUpdate") + , sl(this) { me = this; diff --git a/modules/database/db_sql.cpp b/modules/database/db_sql.cpp index 34ae7cfea..5d213cb9a 100644 --- a/modules/database/db_sql.cpp +++ b/modules/database/db_sql.cpp @@ -55,6 +55,13 @@ public: }; class DBSQL : public Module, public Pipe + , public EventHook + , public EventHook + , public EventHook + , public EventHook + , public EventHook + , public EventHook + , public EventHook { ServiceReference sql; SQLSQLInterface sqlinterface; @@ -89,7 +96,19 @@ class DBSQL : public Module, public Pipe } public: - DBSQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR), sql("", ""), sqlinterface(this), shutting_down(false), loading_databases(false), loaded(false), imported(false) + DBSQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR) + , EventHook("OnShutdown") + , EventHook("OnRestart") + , EventHook("OnLoadDatabase") + , EventHook("OnSerializableConstruct") + , EventHook("OnSerializableDestruct") + , EventHook("OnSerializableUpdate") + , EventHook("OnSerializeTypeCreate") + , sqlinterface(this) + , shutting_down(false) + , loading_databases(false) + , loaded(false) + , imported(false) { diff --git a/modules/database/db_sql_live.cpp b/modules/database/db_sql_live.cpp index 0099ff5e2..ad10f0a7d 100644 --- a/modules/database/db_sql_live.cpp +++ b/modules/database/db_sql_live.cpp @@ -4,6 +4,13 @@ using namespace SQL; class DBMySQL : public Module, public Pipe + , public EventHook + , public EventHook + , public EventHook + , public EventHook + , public EventHook + , public EventHook + , public EventHook { private: Anope::string prefix; @@ -64,7 +71,14 @@ class DBMySQL : public Module, public Pipe } public: - DBMySQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR), SQL("", "") + DBMySQL(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, DATABASE | VENDOR) + , EventHook("OnLoadDatabase") + , EventHook("OnShutdown") + , EventHook("OnRestart") + , EventHook("OnSerializableConstruct") + , EventHook("OnSerializableDestruct") + , EventHook("OnSerializeCheck") + , EventHook("OnSerializableUpdate") { this->lastwarn = 0; this->ro = false; -- cgit