From d879aa6012788d823f0163bb627c7b16ecd386a2 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 27 Aug 2018 16:40:55 +0200 Subject: [PATCH] Ref T312, plugin manager listener chec function (simulator available?) --- src/blackcore/pluginmanagersimulator.cpp | 16 +++++++++++++++- src/blackcore/pluginmanagersimulator.h | 3 +++ 2 files changed, 18 insertions(+), 1 deletion(-) 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;