diff options
author | Adam <Adam@anope.org> | 2012-11-23 23:10:41 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-11-23 23:10:41 -0500 |
commit | ded89b0d4939c4c1b9bbbb9007cd12286ff077a0 (patch) | |
tree | f1962bc7e4dcd4ebedde23dbd875399bfb0f4932 /modules/protocol/inspircd20.cpp | |
parent | 36b1166cf6efddbc9a9abc8f00ad13bb0d4e56a9 (diff) |
Made IRCDProto a Service
Diffstat (limited to 'modules/protocol/inspircd20.cpp')
-rw-r--r-- | modules/protocol/inspircd20.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index 965294904..5410ac2f4 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -20,12 +20,12 @@ static bool has_svstopic_topiclock = false; static unsigned int spanningtree_proto_ver = 0; static bool has_servicesmod = false; -static IRCDProto *insp12; +static ServiceReference<IRCDProto> insp12("IRCDProto", "inspircd12"); class InspIRCd20Proto : public IRCDProto { public: - InspIRCd20Proto() : IRCDProto("InspIRCd 2.0") + InspIRCd20Proto(Module *creator) : IRCDProto(creator, "InspIRCd 2.0") { DefaultPseudoclientModes = "+I"; CanSVSNick = true; @@ -647,6 +647,7 @@ class ProtoInspIRCd : public Module public: ProtoInspIRCd(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL), + ircd_proto(this), message_away(this), message_error(this), message_join(this), message_kick(this), message_kill(this), message_motd(this), message_part(this), message_ping(this), message_privmsg(this), message_quit(this), message_squit(this), message_stats(this), message_topic(this), message_version(this), @@ -675,7 +676,6 @@ class ProtoInspIRCd : public Module m_insp12 = ModuleManager::FindModule("inspircd12"); if (!m_insp12) throw ModuleException("Unable to find inspircd12"); - insp12 = m_insp12->GetIRCDProto(); if (!insp12) throw ModuleException("No protocol interface for insp12"); ModuleManager::DetachAll(m_insp12); @@ -689,11 +689,6 @@ class ProtoInspIRCd : public Module ModuleManager::UnloadModule(m_insp12, NULL); } - IRCDProto *GetIRCDProto() anope_override - { - return &ircd_proto; - } - void OnUserNickChange(User *u, const Anope::string &) anope_override { u->RemoveModeInternal(ModeManager::FindUserModeByName(UMODE_REGISTERED)); |