Medical Imaging Interaction Toolkit  2018.4.99-f51274ea
Medical Imaging Interaction Toolkit
us::ServiceRegistration< I1, I2, I3 > Class Template Reference

#include <usServiceRegistration.h>

Inheritance diagram for us::ServiceRegistration< I1, I2, I3 >:
Collaboration diagram for us::ServiceRegistration< I1, I2, I3 >:

Public Member Functions

 ServiceRegistration ()
 
ServiceReference< I1 > GetReference (InterfaceType< I1 >) const
 
ServiceReference< I2 > GetReference (InterfaceType< I2 >) const
 
ServiceReference< I3 > GetReference (InterfaceType< I3 >) const
 
- Public Member Functions inherited from us::ServiceRegistrationBase
 ServiceRegistrationBase (const ServiceRegistrationBase &reg)
 
 operator bool_type () const
 
ServiceRegistrationBaseoperator= (int null)
 
 ~ServiceRegistrationBase ()
 
ServiceReferenceBase GetReference (const std::string &interfaceId=std::string()) const
 
void SetProperties (const ServiceProperties &properties)
 
void Unregister ()
 
bool operator< (const ServiceRegistrationBase &o) const
 
bool operator== (const ServiceRegistrationBase &registration) const
 
ServiceRegistrationBaseoperator= (const ServiceRegistrationBase &registration)
 

Detailed Description

template<class I1, class I2 = void, class I3 = void>
class us::ServiceRegistration< I1, I2, I3 >

A registered service.

The framework returns a ServiceRegistration object when a ModuleContext::RegisterService() method invocation is successful. The ServiceRegistration object is for the private use of the registering module and should not be shared with other modules.

The ServiceRegistration object may be used to update the properties of the service or to unregister the service.

Template Parameters
SClass tyoe of the service interface
See also
ModuleContext::RegisterService()
Remarks
This class is thread safe.

Definition at line 48 of file usServiceRegistration.h.

Constructor & Destructor Documentation

◆ ServiceRegistration()

template<class I1, class I2 = void, class I3 = void>
us::ServiceRegistration< I1, I2, I3 >::ServiceRegistration ( )
inline

Creates an invalid ServiceRegistration object. You can use this object in boolean expressions and it will evaluate to false.

Definition at line 58 of file usServiceRegistration.h.

Member Function Documentation

◆ GetReference() [1/3]

template<class I1, class I2 = void, class I3 = void>
ServiceReference<I1> us::ServiceRegistration< I1, I2, I3 >::GetReference ( InterfaceType< I1 >  ) const
inline

Returns a ServiceReference object for a service being registered.

The ServiceReference object may be shared with other modules.

Exceptions
std::logic_errorIf this ServiceRegistration object has already been unregistered or if it is invalid.
Returns
ServiceReference object.

Definition at line 75 of file usServiceRegistration.h.

Referenced by mitk::NavigationDataSource::GetMicroserviceID(), mitk::IGTLMessageSource::GetMicroserviceID(), mitk::Annotation::GetMicroserviceID(), and mitk::Annotation::SetUSProperty().

◆ GetReference() [2/3]

template<class I1, class I2 = void, class I3 = void>
ServiceReference<I2> us::ServiceRegistration< I1, I2, I3 >::GetReference ( InterfaceType< I2 >  ) const
inline

Returns a ServiceReference object for a service being registered.

The ServiceReference object may be shared with other modules.

Exceptions
std::logic_errorIf this ServiceRegistration object has already been unregistered or if it is invalid.
Returns
ServiceReference object.

Definition at line 79 of file usServiceRegistration.h.

◆ GetReference() [3/3]

template<class I1, class I2 = void, class I3 = void>
ServiceReference<I3> us::ServiceRegistration< I1, I2, I3 >::GetReference ( InterfaceType< I3 >  ) const
inline

Returns a ServiceReference object for a service being registered.

The ServiceReference object may be shared with other modules.

Exceptions
std::logic_errorIf this ServiceRegistration object has already been unregistered or if it is invalid.
Returns
ServiceReference object.

Definition at line 83 of file usServiceRegistration.h.


The documentation for this class was generated from the following file: