A registered service. More...
Public Member Functions | |
ServiceRegistrationBase (const ServiceRegistrationBase ®) | |
operator bool_type () const | |
A boolean conversion operator converting this ServiceRegistrationBase object to true if it is valid and to false otherwise. More... | |
ServiceRegistrationBase & | operator= (std::nullptr_t) |
Releases any resources held or locked by this ServiceRegistrationBase and renders it invalid. More... | |
~ServiceRegistrationBase () | |
ServiceReferenceBase | GetReference (const std::string &interfaceId=std::string()) const |
Returns a ServiceReference object for a service being registered. More... | |
void | SetProperties (const ServiceProperties &properties) |
Updates the properties associated with a service. More... | |
void | Unregister () |
Unregisters a service. More... | |
bool | operator< (const ServiceRegistrationBase &o) const |
Compare two ServiceRegistrationBase objects. More... | |
bool | operator== (const ServiceRegistrationBase ®istration) const |
ServiceRegistrationBase & | operator= (const ServiceRegistrationBase ®istration) |
A registered service.
The framework returns a ServiceRegistrationBase
object when a ModuleContext::RegisterService()
method invocation is successful. The ServiceRegistrationBase
object is for the private use of the registering module and should not be shared with other modules.
The ServiceRegistrationBase
object may be used to update the properties of the service or to unregister the service.
ServiceRegistrationBase::ServiceRegistrationBase | ( | const ServiceRegistrationBase & | reg | ) |
ServiceRegistrationBase::~ServiceRegistrationBase | ( | ) |
ServiceReferenceBase ServiceRegistrationBase::GetReference | ( | const std::string & | interfaceId = std::string() | ) | const |
Returns a ServiceReference
object for a service being registered.
The ServiceReference
object may be shared with other modules.
std::logic_error | If this ServiceRegistrationBase object has already been unregistered or if it is invalid. |
ServiceReference
object. Referenced by ServiceRegistration< I1, Interfaces >::GetReference().
ServiceRegistrationBase::operator bool_type | ( | ) | const |
A boolean conversion operator converting this ServiceRegistrationBase object to true
if it is valid and to false
otherwise.
A SeriveRegistration object is invalid if it was default-constructed or was invalidated by assigning 0 to it.
true
if this ServiceRegistrationBase object is valid, false
otherwise. bool ServiceRegistrationBase::operator< | ( | const ServiceRegistrationBase & | o | ) | const |
Compare two ServiceRegistrationBase objects.
If both ServiceRegistrationBase objects are valid, the comparison is done using the underlying ServiceReference object. Otherwise, this ServiceRegistrationBase object is less than the other object if and only if this object is invalid and the other object is valid.
o | The ServiceRegistrationBase object to compare with. |
true
if this ServiceRegistrationBase object is less than the other object. ServiceRegistrationBase& ServiceRegistrationBase::operator= | ( | std::nullptr_t | ) |
Releases any resources held or locked by this ServiceRegistrationBase
and renders it invalid.
ServiceRegistrationBase& ServiceRegistrationBase::operator= | ( | const ServiceRegistrationBase & | registration | ) |
bool ServiceRegistrationBase::operator== | ( | const ServiceRegistrationBase & | registration | ) | const |
void ServiceRegistrationBase::SetProperties | ( | const ServiceProperties & | properties | ) |
Updates the properties associated with a service.
The ServiceConstants::OBJECTCLASS and ServiceConstants::SERVICE_ID keys cannot be modified by this method. These values are set by the framework when the service is registered in the environment.
The following steps are taken to modify service properties:
properties | The properties for this service. See ServiceProperties for a list of standard service property keys. Changes should not be made to this object after calling this method. To update the service's properties this method should be called again. |
std::logic_error | If this ServiceRegistrationBase object has already been unregistered or if it is invalid. |
std::invalid_argument | If properties contains case variants of the same key name. |
void ServiceRegistrationBase::Unregister | ( | ) |
Unregisters a service.
Remove a ServiceRegistrationBase
object from the framework service registry. All ServiceRegistrationBase
objects associated with this ServiceRegistrationBase
object can no longer be used to interact with the service once unregistration is complete.
The following steps are taken to unregister a service:
ServiceRegistrationBase
objects for the service may no longer be used to get a service object for the service. ServiceFactory::UngetService
method is called to release the service object for the module. std::logic_error | If this ServiceRegistrationBase object has already been unregistered or if it is invalid. |