Ref T312, plugin manager listener chec function (simulator available?)

This commit is contained in:
Klaus Basan
2018-08-27 16:40:55 +02:00
parent 0db1683aa3
commit d879aa6012
2 changed files with 18 additions and 1 deletions

View File

@@ -41,7 +41,7 @@ namespace BlackCore
ISimulatorFactory *factory = getFactory(pluginId); ISimulatorFactory *factory = getFactory(pluginId);
if (!factory) if (!factory)
{ {
CLogMessage(this).warning("Could not load plugin %1.") << pluginId; CLogMessage(this).warning("Could not load plugin '%1'.") << pluginId;
m_plugins.remove(pluginId); m_plugins.remove(pluginId);
return nullptr; return nullptr;
} }
@@ -71,6 +71,20 @@ namespace BlackCore
return list; 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() void CPluginManagerSimulator::collectPlugins()
{ {
IPluginManager::collectPlugins(); IPluginManager::collectPlugins();

View File

@@ -55,6 +55,9 @@ namespace BlackCore
//! Get all simulator driver plugins //! Get all simulator driver plugins
BlackMisc::Simulation::CSimulatorPluginInfoList getAvailableSimulatorPlugins() const; BlackMisc::Simulation::CSimulatorPluginInfoList getAvailableSimulatorPlugins() const;
//! Check if simulator is connected
int checkAvailableListeners();
//! \copydoc BlackCore::IPluginManager::collectPlugins() //! \copydoc BlackCore::IPluginManager::collectPlugins()
virtual void collectPlugins() override; virtual void collectPlugins() override;