diff options
| author | 2015-12-02 13:30:24 +0100 | |
|---|---|---|
| committer | 2015-12-02 13:30:24 +0100 | |
| commit | 860f5cbf1ea159d7d1c3fce2364747a822c50461 (patch) | |
| tree | cc4f7e8bb3efc944b8ce101c5db46162b31f2834 /src/base.cpp | |
| parent | Merge branch 'master+reloadmod' (diff) | |
| parent | Add SERVICE_CUSTOM for services managed by a module (diff) | |
Merge branch 'master+serviceinit'
Diffstat (limited to 'src/base.cpp')
| -rw-r--r-- | src/base.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/base.cpp b/src/base.cpp index 496b23ef5..0ff3fbe4c 100644 --- a/src/base.cpp +++ b/src/base.cpp @@ -95,6 +95,10 @@ ServiceProvider::~ServiceProvider() { } +void ServiceProvider::RegisterService() +{ +} + ExtensionItem::ExtensionItem(const std::string& Key, ExtensibleType exttype, Module* mod) : ServiceProvider(mod, Key, SERVICE_METADATA) , type(exttype) @@ -140,6 +144,12 @@ void* ExtensionItem::unset_raw(Extensible* container) return rv; } +void ExtensionItem::RegisterService() +{ + if (!ServerInstance->Extensions.Register(this)) + throw ModuleException("Extension already exists: " + name); +} + bool ExtensionManager::Register(ExtensionItem* item) { return types.insert(std::make_pair(item->name, item)).second; |
