aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2026-03-02 20:59:41 +0000
committerGravatar Sadie Powell2026-03-02 21:09:27 +0000
commit7110535309675a6579c57900ef75498bfb2e0ce6 (patch)
treed419a876ee5534e5aef23f14efde5161d92a0126 /src/modules.cpp
parentLoad the swhois module if a config contains the swhois_ext module. (diff)
downloadinspircd++-7110535309675a6579c57900ef75498bfb2e0ce6.tar.gz
inspircd++-7110535309675a6579c57900ef75498bfb2e0ce6.tar.bz2
inspircd++-7110535309675a6579c57900ef75498bfb2e0ce6.zip
Rename ServiceProvider::creator to service_creator and add GetSource.
Diffstat (limited to 'src/modules.cpp')
-rw-r--r--src/modules.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/modules.cpp b/src/modules.cpp
index c2a2f1d7f..00a36c8e9 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -181,7 +181,7 @@ void Module::OnChangeConnectClass(LocalUser*, const std::shared_ptr<ConnectClas
void Module::OnPostChangeConnectClass(LocalUser*, bool) { DetachEvent(I_OnPostChangeConnectClass); }
ServiceProvider::ServiceProvider(Module* mod, const std::string& stype, const std::string& sname)
- : creator(mod)
+ : service_creator(mod)
, service_name(sname)
, service_type(stype)
{
@@ -195,6 +195,13 @@ void ServiceProvider::DisableAutoRegister()
std::erase(*ServerInstance->Modules.NewServices, this);
}
+std::string ServiceProvider::GetSource() const
+{
+ if (!this->service_creator)
+ return "the core";
+ return FMT::format("the {} module", ModuleManager::ShrinkModName(this->service_creator->ModuleFile));
+}
+
void ServiceProvider::RegisterService()
{
// Intentionally left blank.
@@ -430,7 +437,7 @@ void ModuleManager::UnregisterModes(Module* mod, ModeType modetype)
{
ModeHandler* const mh = i->second;
++i;
- if (mh->creator == mod)
+ if (mh->service_creator == mod)
this->DelService(*mh);
}
}
@@ -478,7 +485,7 @@ void ModuleManager::DoSafeUnload(Module* mod)
for (DataProviderMap::iterator i = DataProviders.begin(); i != DataProviders.end(); )
{
DataProviderMap::iterator curr = i++;
- if (curr->second->creator == mod)
+ if (curr->second->service_creator == mod)
{
DataProviders.erase(curr);
FOREACH_MOD(OnServiceDel, (*curr->second));
@@ -632,7 +639,7 @@ void ModuleManager::AddServices(const ServiceList& list)
void ModuleManager::AddService(ServiceProvider& item)
{
ServerInstance->Logs.Debug("SERVICE", "Adding {} {} ({}) provided by {}", item.service_type,
- item.service_name, (void*)&item, item.creator ? item.creator->ModuleFile : "the core");
+ item.service_name, (void*)&item, item.GetSource());
item.RegisterService();
FOREACH_MOD(OnServiceAdd, (item));
@@ -641,7 +648,7 @@ void ModuleManager::AddService(ServiceProvider& item)
void ModuleManager::DelService(ServiceProvider& item)
{
ServerInstance->Logs.Debug("SERVICE", "Deleting {} {} ({}) provided by {}", item.service_type,
- item.service_name, (void*)&item, item.creator ? item.creator->ModuleFile : "the core");
+ item.service_name, (void*)&item, item.GetSource());
item.UnregisterService();
FOREACH_MOD(OnServiceDel, (item));