diff --git a/IOConnector/IOConnector.cpp b/IOConnector/IOConnector.cpp index 0c0df360a..0498c8aa0 100644 --- a/IOConnector/IOConnector.cpp +++ b/IOConnector/IOConnector.cpp @@ -245,6 +245,20 @@ namespace Plugin } + /* virtual */ Exchange::IExternal* IOConnector::Resource(const uint32_t id) + { + Exchange::IExternal* result = nullptr; + + Pins::iterator index = _pins.find(id); + + if (index != _pins.end()) { + result = index->second.Pin(); + result->AddRef(); + } + + return (result); + } + /* virtual */ void IOConnector::Deinitialize(PluginHost::IShell * service) { ASSERT(_service == service); diff --git a/IOConnector/IOConnector.h b/IOConnector/IOConnector.h index 4623bc445..4622c32f6 100644 --- a/IOConnector/IOConnector.h +++ b/IOConnector/IOConnector.h @@ -296,6 +296,7 @@ namespace Plugin { // ------------------------------------------------------------------------------------------------------- void Register(ICatalog::INotification* sink) override; void Unregister(ICatalog::INotification* sink) override; + Exchange::IExternal* Resource(const uint32_t id) override; // IWeb methods // -------------------------------------------------------------------------------------------------------