From 5dc87c938ab756aebda2d4e1fdd75136e5103f07 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Thu, 8 Apr 2021 23:58:23 +0100 Subject: Remove usecountbase from ExtensionItem and refer to using pointers. At one point (1.2?) this was actually useful but nowadays its not. --- include/extensible.h | 9 ++++----- src/extensible.cpp | 4 ++-- src/modules.cpp | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/include/extensible.h b/include/extensible.h index cf9e4762c..78640fb73 100644 --- a/include/extensible.h +++ b/include/extensible.h @@ -25,7 +25,6 @@ /** Base class for logic that extends an Extensible object. */ class CoreExport ExtensionItem : public ServiceProvider - , public usecountbase { public: /** Types of Extensible that an ExtensionItem can apply to. */ @@ -132,7 +131,7 @@ class CoreExport Extensible , public Serializable { public: - typedef insp::flat_map, void*> ExtensibleStore; + typedef insp::flat_map ExtensibleStore; // Friend access for the protected getter/setter friend class ExtensionItem; @@ -155,7 +154,7 @@ class CoreExport Extensible Extensible(); Cullable::Result Cull() override; ~Extensible() override; - void UnhookExtensions(const std::vector>& toRemove); + void UnhookExtensions(const std::vector& toRemove); /** * Free all extension items attached to this Extensible @@ -172,10 +171,10 @@ class CoreExport Extensible class CoreExport ExtensionManager { public: - typedef std::map > ExtMap; + typedef std::map ExtMap; bool Register(ExtensionItem* item); - void BeginUnregister(Module* module, std::vector >& list); + void BeginUnregister(Module* module, std::vector& list); ExtensionItem* GetItem(const std::string& name); /** Get all registered extensions keyed by their names diff --git a/src/extensible.cpp b/src/extensible.cpp index 88230ae9a..5055dd091 100644 --- a/src/extensible.cpp +++ b/src/extensible.cpp @@ -24,7 +24,7 @@ bool ExtensionManager::Register(ExtensionItem* item) return types.emplace(item->name, item).second; } -void ExtensionManager::BeginUnregister(Module* module, std::vector>& items) +void ExtensionManager::BeginUnregister(Module* module, std::vector& items) { for (ExtMap::iterator type = types.begin(); type != types.end(); ) { @@ -75,7 +75,7 @@ void Extensible::FreeAllExtItems() extensions.clear(); } -void Extensible::UnhookExtensions(const std::vector>& items) +void Extensible::UnhookExtensions(const std::vector& items) { for (const auto& item : items) { diff --git a/src/modules.cpp b/src/modules.cpp index 8315a7cce..54b3c2c66 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -389,7 +389,7 @@ void ModuleManager::DoSafeUnload(Module* mod) UnregisterModes(mod, MODETYPE_USER); UnregisterModes(mod, MODETYPE_CHANNEL); - std::vector > items; + std::vector items; ServerInstance->Extensions.BeginUnregister(modfind->second, items); /* Give the module a chance to tidy out all its metadata */ const chan_hash& chans = ServerInstance->GetChans(); -- cgit v1.3.1-10-gc9f91