diff --git a/src/blackcore/pluginmanagersimulator.cpp b/src/blackcore/pluginmanagersimulator.cpp index 51b92bf3a..7191402f4 100644 --- a/src/blackcore/pluginmanagersimulator.cpp +++ b/src/blackcore/pluginmanagersimulator.cpp @@ -41,7 +41,7 @@ namespace BlackCore ISimulatorFactory *factory = getFactory(pluginId); if (!factory) { - CLogMessage(this).warning("Could not load plugin %1.") << pluginId; + CLogMessage(this).warning("Could not load plugin '%1'.") << pluginId; m_plugins.remove(pluginId); return nullptr; } @@ -71,6 +71,20 @@ namespace BlackCore return list; } + int CPluginManagerSimulator::checkAvailableListeners() + { + if (m_plugins.isEmpty()) { return 0; } + + int c = 0; + for (PluginExtended &pi : m_plugins.values()) + { + if (!pi.listener) { continue; } + pi.listener->check(); + c++; + } + return c; + } + void CPluginManagerSimulator::collectPlugins() { IPluginManager::collectPlugins(); diff --git a/src/blackcore/pluginmanagersimulator.h b/src/blackcore/pluginmanagersimulator.h index 7283d902a..e1edbc845 100644 --- a/src/blackcore/pluginmanagersimulator.h +++ b/src/blackcore/pluginmanagersimulator.h @@ -55,6 +55,9 @@ namespace BlackCore //! Get all simulator driver plugins BlackMisc::Simulation::CSimulatorPluginInfoList getAvailableSimulatorPlugins() const; + //! Check if simulator is connected + int checkAvailableListeners(); + //! \copydoc BlackCore::IPluginManager::collectPlugins() virtual void collectPlugins() override;