diff options
| author | Adam <Adam@anope.org> | 2016-07-28 21:29:35 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2016-07-28 21:29:35 -0400 |
| commit | 0e758a2ac23dc4a001e8e126cec14588da9a9769 (patch) | |
| tree | 45df813323e023c5c89db7279426c4ad0943b4a9 /modules/operserv/main/operserv.cpp | |
| parent | a3c8afae00c54d5b95c620248b51f90679d7d53f (diff) | |
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
Diffstat (limited to 'modules/operserv/main/operserv.cpp')
| -rw-r--r-- | modules/operserv/main/operserv.cpp | 46 |
1 files changed, 11 insertions, 35 deletions
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<Event::Log> { Reference<ServiceBot> 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<Event::BotPrivmsg>(this) + , EventHook<Event::ServerQuit>(this) + , EventHook<Event::UserModeSet>(this) + , EventHook<Event::UserModeUnset>(this) + , EventHook<Event::UserConnect>(this) + , EventHook<Event::UserNickChange>(this) + , EventHook<Event::CheckKick>(this) + , EventHook<Event::Help>(this) + , EventHook<Event::Log>(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<Anope::string>("client"); if (osnick.empty()) - throw ConfigException(this->name + ": <client> must be defined"); + throw ConfigException(Module::name + ": <client> 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; } |
