Index: trunk/GnssCenter/main/mainwin.cpp
===================================================================
--- trunk/GnssCenter/main/mainwin.cpp	(revision 5051)
+++ trunk/GnssCenter/main/mainwin.cpp	(revision 5052)
@@ -41,11 +41,11 @@
     QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
     QObject* object = loader.instance();
-    qDebug() << fileName << object;
-
+    qDebug() << pluginsDir.absoluteFilePath(fileName) << object;
     if (object) {
-      t_pluginInterface* plugin = qobject_cast<t_pluginInterface*>(object);
+      t_pluginFactoryInterface* plugin = qobject_cast<t_pluginFactoryInterface*>(object);
       qDebug() << "Plugin: " << plugin;  
       if (plugin) {
-        plugin->show();
+        t_pluginInterface* widget = plugin->create();
+        widget->show();
       }
     }
Index: trunk/GnssCenter/main/plugininterface.h
===================================================================
--- trunk/GnssCenter/main/plugininterface.h	(revision 5051)
+++ trunk/GnssCenter/main/plugininterface.h	(revision 5052)
@@ -8,13 +8,15 @@
 class t_pluginInterface {
  public:
-  virtual ~t_pluginInterface() {}
-  virtual bool expectInputFile() const = 0;
-  virtual void setInputFile(const QString& fileName) = 0;
   virtual void show() = 0;
+};
+
+class t_pluginFactoryInterface {
+ public:
+  virtual t_pluginInterface* create() = 0;
 };
 
 } // namespace GnssCenter
 
-Q_DECLARE_INTERFACE(GnssCenter::t_pluginInterface, "GnssCenter_pluginInterface")
+Q_DECLARE_INTERFACE(GnssCenter::t_pluginFactoryInterface, "GnssCenter_pluginFactoryInterface")
 
 #endif
