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. |