KPluginInfo PluginManager::pluginInfo( const Plugin *plugin ) const { for ( PluginManagerPrivate::InfoToPluginMap::ConstIterator it = _kpmp->loadedPlugins.constBegin(); it != _kpmp->loadedPlugins.constEnd(); ++it ) { if ( it.value() == plugin ) return it.key(); } return KPluginInfo(); }
PluginList PluginManager::loadedPlugins( const QString &category ) const { PluginList result; for ( PluginManagerPrivate::InfoToPluginMap::ConstIterator it = _kpmp->loadedPlugins.constBegin(); it != _kpmp->loadedPlugins.constEnd(); ++it ) { if ( category.isEmpty() || it.key().category() == category ) result.append( it.value() ); } return result; }
void PluginManager::slotShutdownTimeout() { // When we were already done the timer might still fire. // Do nothing in that case. if ( _kpmp->shutdownMode == PluginManagerPrivate::DoneShutdown ) return; QStringList remaining; for ( PluginManagerPrivate::InfoToPluginMap::ConstIterator it = _kpmp->loadedPlugins.constBegin(); it != _kpmp->loadedPlugins.constEnd(); ++it ) remaining.append( it.value()->pluginId() ); kWarning( 14010 ) << "Some plugins didn't shutdown in time!" << endl << "Remaining plugins: " << remaining.join( QLatin1String( ", " ) ) << endl << "Forcing Kopete shutdown now." << endl; slotShutdownDone(); }