diff options
author | Attila Molnar <attilamolnar@hush.com> | 2015-11-23 12:51:00 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2015-11-23 12:51:00 +0100 |
commit | 6fc00fa62905e5990fa9667f540e10a775832540 (patch) | |
tree | fa037bc3e25569d720d596139f120529e7642109 /src | |
parent | 42de16029da37f08ce1827352aa78b4b29d888cb (diff) |
Implement ModeHandler::RegisterService()
Diffstat (limited to 'src')
-rw-r--r-- | src/mode.cpp | 6 | ||||
-rw-r--r-- | src/modules.cpp | 7 |
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 ¶meter, 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."); |