12 #ifndef CXSERVICETRACKERLISTENER_H_ 13 #define CXSERVICETRACKERLISTENER_H_ 15 #include <QSharedDataPointer> 16 #include <boost/function.hpp> 17 #include <boost/shared_ptr.hpp> 18 #undef REGISTERED //Needed on windows to avoid compiler error. Not sure why. 19 #include <ctkServiceEvent.h> 20 #include "ctkServiceTracker.h" 21 #include "ctkServiceTrackerCustomizer.h" 22 #include "ctkPluginContext.h" 23 #include <ctkPluginFramework.h> 58 boost::function<
void (T*)> serviceAdded,
59 boost::function<
void (T*)> serviceModified,
60 boost::function<
void (T*)> serviceRemoved)
63 mServiceTrackerCustomizer = customizer;
64 mServiceTrackerCustomizer->setServiceAddedCallback(serviceAdded);
65 mServiceTrackerCustomizer->setServiceModifiedCallback(serviceModified);
66 mServiceTrackerCustomizer->setServiceRemovedCallback(serviceRemoved);
67 mServiceTracker.reset(
new ctkServiceTracker<T*>(context, mServiceTrackerCustomizer.get()));
79 mServiceTracker->open();
84 QList<T*> services = mServiceTracker->getServices();
85 foreach(T* temp, services)
86 if(temp->getName() == name)
93 return mServiceTracker->getServices();
97 boost::shared_ptr<ServiceTrackerCustomizer<T> > mServiceTrackerCustomizer;
98 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.