From 0e758a2ac23dc4a001e8e126cec14588da9a9769 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 28 Jul 2016 21:29:35 -0400 Subject: Allow serializable fields to use storage in the respective objects. Split service management code nito a proper servicemanager. Make service references managed instead of lazy lookup. Also made events and serializable use service manager instead of their respective systems for management --- modules/operserv/main/operserv.cpp | 46 +++++++++----------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) (limited to 'modules/operserv/main/operserv.cpp') diff --git a/modules/operserv/main/operserv.cpp b/modules/operserv/main/operserv.cpp index 0a4f1b692..40c392ea7 100644 --- a/modules/operserv/main/operserv.cpp +++ b/modules/operserv/main/operserv.cpp @@ -13,15 +13,6 @@ #include "modules/help.h" #include "modules/nickserv.h" -class SGlineType : public XLineType -{ - public: - SGlineType(Module *creator) : XLineType(creator, "SGLine") - { - SetParent(xline); - } -}; - class SGLineManager : public XLineManager { public: @@ -74,15 +65,6 @@ class SGLineManager : public XLineManager } }; -class SQlineType : public XLineType -{ - public: - SQlineType(Module *creator) : XLineType(creator, "SQLine") - { - SetParent(xline); - } -}; - class SQLineManager : public XLineManager { public: @@ -152,15 +134,6 @@ class SQLineManager : public XLineManager } }; -class SNlineType : public XLineType -{ - public: - SNlineType(Module *creator) : XLineType(creator, "SNLine") - { - SetParent(xline); - } -}; - class SNLineManager : public XLineManager { public: @@ -211,20 +184,23 @@ class OperServCore : public Module , public EventHook { Reference OperServ; - SGlineType sgtype; SGLineManager sglines; - SQlineType sqtype; SQLineManager sqlines; - SNlineType sntype; SNLineManager snlines; public: OperServCore(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PSEUDOCLIENT | VENDOR) - , sgtype(this) + , EventHook(this) + , EventHook(this) + , EventHook(this) + , EventHook(this) + , EventHook(this) + , EventHook(this) + , EventHook(this) + , EventHook(this) + , EventHook(this) , sglines(this) - , sqtype(this) , sqlines(this) - , sntype(this) , snlines(this) { @@ -250,11 +226,11 @@ class OperServCore : public Module const Anope::string &osnick = conf->GetModule(this)->Get("client"); if (osnick.empty()) - throw ConfigException(this->name + ": must be defined"); + throw ConfigException(Module::name + ": must be defined"); ServiceBot *bi = ServiceBot::Find(osnick, true); if (!bi) - throw ConfigException(this->name + ": no bot named " + osnick); + throw ConfigException(Module::name + ": no bot named " + osnick); OperServ = bi; } -- cgit