33 #ifndef CXSERVICETRACKERLISTENER_H_ 34 #define CXSERVICETRACKERLISTENER_H_ 36 #include <QSharedDataPointer> 37 #include <boost/function.hpp> 38 #include <boost/shared_ptr.hpp> 39 #undef REGISTERED //Needed on windows to avoid compiler error. Not sure why. 40 #include <ctkServiceEvent.h> 41 #include "ctkServiceTracker.h" 42 #include "ctkServiceTrackerCustomizer.h" 43 #include "ctkPluginContext.h" 44 #include <ctkPluginFramework.h> 79 boost::function<
void (T*)> serviceAdded,
80 boost::function<
void (T*)> serviceModified,
81 boost::function<
void (T*)> serviceRemoved)
84 mServiceTrackerCustomizer = customizer;
85 mServiceTrackerCustomizer->setServiceAddedCallback(serviceAdded);
86 mServiceTrackerCustomizer->setServiceModifiedCallback(serviceModified);
87 mServiceTrackerCustomizer->setServiceRemovedCallback(serviceRemoved);
88 mServiceTracker.reset(
new ctkServiceTracker<T*>(context, mServiceTrackerCustomizer.get()));
100 mServiceTracker->open();
105 QList<T*> services = mServiceTracker->getServices();
106 foreach(T* temp, services)
107 if(temp->getName() == name)
114 return mServiceTracker->getServices();
118 boost::shared_ptr<ServiceTrackerCustomizer<T> > mServiceTrackerCustomizer;
119 boost::shared_ptr<ctkServiceTracker<T*> > mServiceTracker;
ServiceTrackerListener(ctkPluginContext *context, boost::function< void(T *)> serviceAdded, boost::function< void(T *)> serviceModified, boost::function< void(T *)> serviceRemoved)
T * getServiceFromName(QString name)
QList< T * > getServices()
Notify changes in a service lifecycle.
Helper class for listening to services being added, modified and removed.
~ServiceTrackerListener()
Namespace for all CustusX production code.