Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
#include <usServiceTrackerCustomizer.h>
Public Types | |
typedef S | ServiceType |
typedef T | TrackedType |
typedef ServiceReference< ServiceType > | ServiceReferenceType |
Public Member Functions | |
virtual | ~ServiceTrackerCustomizer () |
virtual TrackedType | AddingService (const ServiceReferenceType &reference)=0 |
virtual void | ModifiedService (const ServiceReferenceType &reference, TrackedType service)=0 |
virtual void | RemovedService (const ServiceReferenceType &reference, TrackedType service)=0 |
The ServiceTrackerCustomizer
interface allows a ServiceTracker
to customize the service objects that are tracked. A ServiceTrackerCustomizer
is called when a service is being added to a ServiceTracker
. The ServiceTrackerCustomizer
can then return an object for the tracked service. A ServiceTrackerCustomizer
is also called when a tracked service is modified or has been removed from a ServiceTracker
.
The methods in this interface may be called as the result of a ServiceEvent
being received by a ServiceTracker
. Since ServiceEvent
s are synchronously delivered, it is highly recommended that implementations of these methods do not register (ModuleContext::RegisterService
), modify ( ServiceRegistration::SetProperties
) or unregister ( ServiceRegistration::Unregister
) a service while being synchronized on any object.
The ServiceTracker
class is thread-safe. It does not call a ServiceTrackerCustomizer
while holding any locks. ServiceTrackerCustomizer
implementations must also be thread-safe.
S | The type of the service being tracked |
T | The type of the tracked object. |
Definition at line 63 of file usServiceTrackerCustomizer.h.
typedef ServiceReference<ServiceType> us::ServiceTrackerCustomizer< S, T >::ServiceReferenceType |
Definition at line 67 of file usServiceTrackerCustomizer.h.
typedef S us::ServiceTrackerCustomizer< S, T >::ServiceType |
Definition at line 65 of file usServiceTrackerCustomizer.h.
typedef T us::ServiceTrackerCustomizer< S, T >::TrackedType |
Definition at line 66 of file usServiceTrackerCustomizer.h.
|
inlinevirtual |
Definition at line 69 of file usServiceTrackerCustomizer.h.
|
pure virtual |
A service is being added to the ServiceTracker
.
This method is called before a service which matched the search parameters of the ServiceTracker
is added to the ServiceTracker
. This method should return the service object to be tracked for the specified ServiceReference
. The returned service object is stored in the ServiceTracker
and is available from the GetService
and GetServices
methods.
reference | The reference to the service being added to the ServiceTracker . |
0
if the specified referenced service should not be tracked. Implemented in us::ServiceTracker< mitk::InteractionEventObserver >, us::ServiceTracker< ctkXnatSession >, and us::ServiceTracker< mitk::IShaderRepository >.
|
pure virtual |
A service tracked by the ServiceTracker
has been modified.
This method is called when a service being tracked by the ServiceTracker
has had it properties modified.
reference | The reference to the service that has been modified. |
service | The service object for the specified referenced service. |
|
pure virtual |
A service tracked by the ServiceTracker
has been removed.
This method is called after a service is no longer being tracked by the ServiceTracker
.
reference | The reference to the service that has been removed. |
service | The service object for the specified referenced service. |