Ejemplo n.º 1
0
AbstractListener* Loader::listenerInstance()
{
  if (!isLoaded()){
    qDebug() << "Bad library." << this->errorString() << this->fileName();
    return 0;
  } else {
    QObject* instance = this->instance();
    AbstractPlugin* plugin = qobject_cast<AbstractPlugin*>(instance);
    
    if (instance == 0){
      qDebug() << "Instance nil.";
      return 0;
    } else {
      AbstractListener* listener = plugin->listener();
      
      if (listener == 0){
	qDebug() << "Listener nil.";
	return 0;
      } else {
	return listener;
      }
    }
  }
  
  return 0;
}