AccessControlDataBackendManager::AccessControlDataBackendManager( PluginManager& pluginManager ) : m_backends(), m_defaultBackend( nullptr ), m_configuredBackend( nullptr ) { for( auto pluginObject : pluginManager.pluginObjects() ) { auto pluginInterface = qobject_cast<PluginInterface *>( pluginObject ); auto accessControlDataBackendInterface = qobject_cast<AccessControlDataBackendInterface *>( pluginObject ); if( pluginInterface && accessControlDataBackendInterface ) { m_backends[pluginInterface->uid()] = accessControlDataBackendInterface; if( pluginInterface->flags().testFlag( Plugin::ProvidesDefaultImplementation ) ) { m_defaultBackend = accessControlDataBackendInterface; } } } if( m_defaultBackend == nullptr ) { qCritical( "AccessControlDataBackendManager: no default plugin available!" ); } reloadConfiguration(); }