summaryrefslogtreecommitdiff
path: root/modules/protocol/inspircd20.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-11-23 23:10:41 -0500
committerAdam <Adam@anope.org>2012-11-23 23:10:41 -0500
commitded89b0d4939c4c1b9bbbb9007cd12286ff077a0 (patch)
treef1962bc7e4dcd4ebedde23dbd875399bfb0f4932 /modules/protocol/inspircd20.cpp
parent36b1166cf6efddbc9a9abc8f00ad13bb0d4e56a9 (diff)
Made IRCDProto a Service
Diffstat (limited to 'modules/protocol/inspircd20.cpp')
-rw-r--r--modules/protocol/inspircd20.cpp11
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));