A reference to a service. More...
Public Member Functions | |
ServiceReferenceBase (const ServiceReferenceBase &ref) | |
operator bool_type () const | |
Converts this ServiceReferenceBase instance into a boolean expression. More... | |
ServiceReferenceBase & | operator= (std::nullptr_t) |
Releases any resources held or locked by this ServiceReferenceBase and renders it invalid. More... | |
~ServiceReferenceBase () | |
Any | GetProperty (const std::string &key) const |
Returns the property value to which the specified property key is mapped in the properties ServiceProperties object of the service referenced by this ServiceReferenceBase object. More... | |
void | GetPropertyKeys (std::vector< std::string > &keys) const |
Returns a list of the keys in the ServiceProperties object of the service referenced by this ServiceReferenceBase object. More... | |
Module * | GetModule () const |
Returns the module that registered the service referenced by this ServiceReferenceBase object. More... | |
void | GetUsingModules (std::vector< Module * > &modules) const |
Returns the modules that are using the service referenced by this ServiceReferenceBase object. More... | |
std::string | GetInterfaceId () const |
Returns the interface identifier this ServiceReferenceBase object is bound to. More... | |
bool | IsConvertibleTo (const std::string &interfaceid) const |
Checks wether this ServiceReferenceBase object can be converted to another ServiceReferenceBase object, which will be bound to the given interface identifier. More... | |
bool | operator< (const ServiceReferenceBase &reference) const |
Compares this ServiceReferenceBase with the specified ServiceReferenceBase for order. More... | |
bool | operator== (const ServiceReferenceBase &reference) const |
ServiceReferenceBase & | operator= (const ServiceReferenceBase &reference) |
A reference to a service.
ServiceReferenceBase::ServiceReferenceBase | ( | const ServiceReferenceBase & | ref | ) |
ServiceReferenceBase::~ServiceReferenceBase | ( | ) |
std::string ServiceReferenceBase::GetInterfaceId | ( | ) | const |
Returns the interface identifier this ServiceReferenceBase object is bound to.
A default constructed ServiceReferenceBase object is not bound to any interface identifier and calling this method will return an empty string.
Referenced by ServiceReference< S >::ServiceReference().
Module* ServiceReferenceBase::GetModule | ( | ) | const |
Returns the module that registered the service referenced by this ServiceReferenceBase
object.
This method must return 0
when the service has been unregistered. This can be used to determine if the service has been unregistered.
ServiceReferenceBase
object; 0
if that service has already been unregistered. Any ServiceReferenceBase::GetProperty | ( | const std::string & | key | ) | const |
Returns the property value to which the specified property key is mapped in the properties ServiceProperties
object of the service referenced by this ServiceReferenceBase
object.
Property keys are case-insensitive.
This method continues to return property values after the service has been unregistered. This is so references to unregistered services can still be interrogated.
key | The property key. |
void ServiceReferenceBase::GetPropertyKeys | ( | std::vector< std::string > & | keys | ) | const |
Returns a list of the keys in the ServiceProperties
object of the service referenced by this ServiceReferenceBase
object.
This method will continue to return the keys after the service has been unregistered. This is so references to unregistered services can still be interrogated.
keys | A vector being filled with the property keys. |
void ServiceReferenceBase::GetUsingModules | ( | std::vector< Module * > & | modules | ) | const |
Returns the modules that are using the service referenced by this ServiceReferenceBase
object.
Specifically, this method returns the modules whose usage count for that service is greater than zero.
modules | A list of modules whose usage count for the service referenced by this ServiceReferenceBase object is greater than zero. |
bool ServiceReferenceBase::IsConvertibleTo | ( | const std::string & | interfaceid | ) | const |
Checks wether this ServiceReferenceBase object can be converted to another ServiceReferenceBase object, which will be bound to the given interface identifier.
ServiceReferenceBase objects can be converted if the underlying service implementation was registered under multiple service interfaces.
interfaceid |
true
if this ServiceReferenceBase object can be converted, false
otherwise. Referenced by ServiceReference< S >::ServiceReference().
ServiceReferenceBase::operator bool_type | ( | ) | const |
Converts this ServiceReferenceBase instance into a boolean expression.
If this instance was default constructed or the service it references has been unregistered, the conversion returns false
, otherwise it returns true
.
bool ServiceReferenceBase::operator< | ( | const ServiceReferenceBase & | reference | ) | const |
Compares this ServiceReferenceBase
with the specified ServiceReferenceBase
for order.
If this ServiceReferenceBase
and the specified ServiceReferenceBase
have the same service id they are equal. This ServiceReferenceBase
is less than the specified ServiceReferenceBase
if it has a lower service ranking and greater if it has a higher service ranking. Otherwise, if this ServiceReferenceBase
and the specified ServiceReferenceBase
have the same service ranking, this ServiceReferenceBase
is less than the specified ServiceReferenceBase
if it has a higher service id and greater if it has a lower service id.
reference | The ServiceReferenceBase to be compared. |
ServiceReferenceBase
is less than or greater than the specified ServiceReferenceBase
. ServiceReferenceBase& ServiceReferenceBase::operator= | ( | std::nullptr_t | ) |
Releases any resources held or locked by this ServiceReferenceBase
and renders it invalid.
Referenced by ServiceReference< S >::ServiceReference().
ServiceReferenceBase& ServiceReferenceBase::operator= | ( | const ServiceReferenceBase & | reference | ) |
bool ServiceReferenceBase::operator== | ( | const ServiceReferenceBase & | reference | ) | const |