diff options
| author | 2016-11-18 17:30:38 +0100 | |
|---|---|---|
| committer | 2017-11-16 14:15:25 +0000 | |
| commit | 3b51dfb1d611a874c3f1138d1c1ec1bb8984334c (patch) | |
| tree | 83e33012964806048fc9f1b69056c24f4246d8d0 /src/modules.cpp | |
| parent | Add a class which encapsulates the concept of token lists. (diff) | |
Add events which are fired when a service is added or deleted.
Diffstat (limited to 'src/modules.cpp')
| -rw-r--r-- | src/modules.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/modules.cpp b/src/modules.cpp index de2fe96b3..065f12a1f 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -139,6 +139,8 @@ ModResult Module::OnNumeric(User*, const Numeric::Numeric&) { DetachEvent(I_OnNu ModResult Module::OnAcceptConnection(int, ListenSocket*, irc::sockets::sockaddrs*, irc::sockets::sockaddrs*) { DetachEvent(I_OnAcceptConnection); return MOD_RES_PASSTHRU; } ModResult Module::OnSendWhoLine(User*, const std::vector<std::string>&, User*, Membership*, Numeric::Numeric&) { DetachEvent(I_OnSendWhoLine); return MOD_RES_PASSTHRU; } void Module::OnSetUserIP(LocalUser*) { DetachEvent(I_OnSetUserIP); } +void Module::OnServiceAdd(ServiceProvider&) { DetachEvent(I_OnServiceAdd); } +void Module::OnServiceDel(ServiceProvider&) { DetachEvent(I_OnServiceDel); } #ifdef INSPIRCD_ENABLE_TESTSUITE void Module::OnRunTestSuite() { } @@ -547,11 +549,13 @@ void ModuleManager::AddService(ServiceProvider& item) DataProviders.insert(std::make_pair(item.name.substr(slash + 1), &item)); } dynamic_reference_base::reset_all(); - return; + break; } default: item.RegisterService(); } + + FOREACH_MOD(OnServiceAdd, (item)); } void ModuleManager::DelService(ServiceProvider& item) @@ -571,6 +575,8 @@ void ModuleManager::DelService(ServiceProvider& item) default: throw ModuleException("Cannot delete unknown service type"); } + + FOREACH_MOD(OnServiceDel, (item)); } ServiceProvider* ModuleManager::FindService(ServiceType type, const std::string& name) |
