ソースを参照

Add a service listener in the PluginBrowser application.

Sascha Zelzer 14 年 前
コミット
2da1ade5ed
共有2 個のファイルを変更した8 個の追加0 個の削除を含む
  1. 6 0
      Applications/ctkPluginBrowser/ctkPluginBrowser.cpp
  2. 2 0
      Applications/ctkPluginBrowser/ctkPluginBrowser.h

+ 6 - 0
Applications/ctkPluginBrowser/ctkPluginBrowser.cpp

@@ -60,6 +60,7 @@ ctkPluginBrowser::ctkPluginBrowser(ctkPluginFramework* framework)
 
   framework->getPluginContext()->connectFrameworkListener(this, SLOT(frameworkEvent(ctkPluginFrameworkEvent)));
   framework->getPluginContext()->connectPluginListener(this, SLOT(pluginEvent(ctkPluginEvent)));
+  framework->getPluginContext()->connectServiceListener(this, "serviceEvent");
 
   QStringList pluginDirs;
 #ifdef CMAKE_INTDIR
@@ -242,6 +243,11 @@ void ctkPluginBrowser::pluginEvent(const ctkPluginEvent& event)
   }
 }
 
+void ctkPluginBrowser::serviceEvent(const ctkServiceEvent &event)
+{
+  qDebug() << "ServiceEvent: [" << event.getType() << "]" << event.getServiceReference().getUsingPlugins();
+}
+
 void ctkPluginBrowser::startPlugin()
 {
   startPlugin(ctkPlugin::START_TRANSIENT | ctkPlugin::START_ACTIVATION_POLICY);

+ 2 - 0
Applications/ctkPluginBrowser/ctkPluginBrowser.h

@@ -31,6 +31,7 @@
 #include <ctkPluginEvent.h>
 #include <ctkPluginFrameworkEvent.h>
 #include <ctkPlugin.h>
+#include <ctkServiceEvent.h>
 
 
 class ctkPluginFramework;
@@ -52,6 +53,7 @@ private slots:
 
   void frameworkEvent(const ctkPluginFrameworkEvent& event);
   void pluginEvent(const ctkPluginEvent& event);
+  void serviceEvent(const ctkServiceEvent& event);
 
   void startPlugin();
   void startPluginNow();