| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 
							
- #include <ctkPluginConstants.h>
 
- #include <service/event/ctkEventConstants.h>
 
- #include <QCoreApplication>
 
- #include <QDir>
 
- #include "ctkSnippetReportManager.h"
 
- // dummy main
 
- int main(int argc, char** argv)
 
- {
 
-   QCoreApplication myApp(argc, argv);
 
-   QString tmpPath = QDir::tempPath() + "/snippet-eventadmin-intro";
 
-   ctkProperties fwProps;
 
-   fwProps[ctkPluginConstants::FRAMEWORK_STORAGE] = tmpPath;
 
-   fwProps[ctkPluginConstants::FRAMEWORK_STORAGE_CLEAN] = ctkPluginConstants::FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT;
 
-   fwProps["org.commontk.pluginfw.debug.resolve"] = true;
 
-   fwProps["org.commontk.pluginfw.debug.service_reference"] = true;
 
-   fwProps["org.commontk.pluginfw.debug.errors"] = true;
 
-   fwProps["org.commontk.pluginfw.debug.pluginfw"] = true;
 
-   fwProps["org.commontk.pluginfw.debug.lazy_activation"] = true;
 
-   ctkPluginFrameworkLauncher::setFrameworkProperties(fwProps);
 
-   ctkPluginFrameworkLauncher::start("org.commontk.eventadmin");
 
-   ctkPluginContext* pluginContext = ctkPluginFrameworkLauncher::getPluginContext();
 
-   ReportManager reportManager(pluginContext);
 
-   //! [Event Handler service registration]
 
-   ReportEventHandler eventHandler;
 
-   ctkDictionary props;
 
-   props[ctkEventConstants::EVENT_TOPIC] = "com/acme/reportgenerator/GENERATED";
 
-   pluginContext->registerService<ctkEventHandler>(&eventHandler, props);
 
-   //! [Event Handler service registration]
 
-   // You can also use a wildcard in the final character of the EVENT_TOPIC
 
-   //! [Event Handler service registration wildcard]
 
-   props[ctkEventConstants::EVENT_TOPIC] = "com/acme/reportgenerator/*";
 
-   pluginContext->registerService<ctkEventHandler>(&eventHandler, props);
 
-   //! [Event Handler service registration wildcard]
 
-   // Or you could use a filter expression (using LDAP syntax)
 
-   //! [Event Handler service registration filter]
 
-   props[ctkEventConstants::EVENT_TOPIC] = "com/acme/reportgenerator/GENERATED";
 
-   props[ctkEventConstants::EVENT_FILTER] = "(title=samplereport)";
 
-   pluginContext->registerService<ctkEventHandler>(&eventHandler, props);
 
-   //! [Event Handler service registration filter]
 
-   //! [Event Handler service registration slot]
 
-   ReportEventHandlerUsingSlots eventHandlerUsingSlots;
 
-   ctkDictionary propsForSlot;
 
-   propsForSlot[ctkEventConstants::EVENT_TOPIC] = "com/acme/reportgenerator/*";
 
-   ctkServiceReference ref = pluginContext->getServiceReference<ctkEventAdmin>();
 
-   if (ref)
 
-   {
 
-     ctkEventAdmin* eventAdmin = pluginContext->getService<ctkEventAdmin>(ref);
 
-     eventAdmin->subscribeSlot(&eventHandlerUsingSlots, SLOT(handleEvent(ctkEvent)), propsForSlot);
 
-   }
 
-   //! [Event Handler service registration slot]
 
-   reportManager.reportGenerated(Report());
 
- }
 
 
  |