summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2015-11-23 12:51:00 +0100
committerAttila Molnar <attilamolnar@hush.com>2015-11-23 12:51:00 +0100
commit6fc00fa62905e5990fa9667f540e10a775832540 (patch)
treefa037bc3e25569d720d596139f120529e7642109 /src
parent42de16029da37f08ce1827352aa78b4b29d888cb (diff)
Implement ModeHandler::RegisterService()
Diffstat (limited to 'src')
-rw-r--r--src/mode.cpp6
-rw-r--r--src/modules.cpp7
2 files changed, 6 insertions, 7 deletions
diff --git a/src/mode.cpp b/src/mode.cpp
index 671b5d854..6038f6f5b 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -90,6 +90,12 @@ bool ModeHandler::ResolveModeConflict(std::string& theirs, const std::string& ou
return (theirs < ours);
}
+void ModeHandler::RegisterService()
+{
+ ServerInstance->Modes.AddMode(this);
+ ServerInstance->Modules.AddReferent((GetModeType() == MODETYPE_CHANNEL ? "mode/" : "umode/") + name, this);
+}
+
ModeAction SimpleUserModeHandler::OnModeChange(User* source, User* dest, Channel* channel, std::string &parameter, bool adding)
{
/* We're either trying to add a mode we already have or
diff --git a/src/modules.cpp b/src/modules.cpp
index d28657ca8..f5998f79c 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -556,13 +556,6 @@ void ModuleManager::AddService(ServiceProvider& item)
{
switch (item.service)
{
- case SERVICE_MODE:
- {
- ModeHandler* mh = static_cast<ModeHandler*>(&item);
- ServerInstance->Modes->AddMode(mh);
- AddReferent((mh->GetModeType() == MODETYPE_CHANNEL ? "mode/" : "umode/") + item.name, &item);
- return;
- }
case SERVICE_METADATA:
if (!ServerInstance->Extensions.Register(static_cast<ExtensionItem*>(&item)))
throw ModuleException("Extension " + std::string(item.name) + " already exists.");