22 #ifndef USSERVICEREFERENCE_H
23 #define USSERVICEREFERENCE_H
63 class ServiceReference :
public ServiceReferenceBase {
67 typedef S ServiceType;
74 ServiceReference() : ServiceReferenceBase()
78 ServiceReference(
const ServiceReferenceBase& base)
79 : ServiceReferenceBase(base)
81 const std::string interfaceId(us_service_interface_iid<S>());
82 if (GetInterfaceId() != interfaceId)
84 if (this->IsConvertibleTo(interfaceId))
86 this->SetInterfaceId(interfaceId);
95 using ServiceReferenceBase::operator=;
107 class ServiceReference<void> :
public ServiceReferenceBase
117 ServiceReference() : ServiceReferenceBase()
121 ServiceReference(
const ServiceReferenceBase& base)
122 : ServiceReferenceBase(base)
126 using ServiceReferenceBase::operator=;
128 typedef void ServiceType;
142 #endif // USSERVICEREFERENCE_H