22 #ifndef USSERVICEREGISTRATION_H
23 #define USSERVICEREGISTRATION_H
47 template<
class I1,
class I2 =
void,
class I3 =
void>
77 return this->ServiceRegistrationBase::GetReference(us_service_interface_iid<I1>());
81 return this->ServiceRegistrationBase::GetReference(us_service_interface_iid<I2>());
85 return this->ServiceRegistrationBase::GetReference(us_service_interface_iid<I3>());
89 using ServiceRegistrationBase::operator=;
104 template<
class I1,
class I2>
105 class ServiceRegistration<I1, I2, void> :
public ServiceRegistrationBase
110 ServiceRegistration() : ServiceRegistrationBase()
114 ServiceReference<I1> GetReference(InterfaceType<I1>)
const
116 return ServiceReference<I1>(this->ServiceRegistrationBase::GetReference(us_service_interface_iid<I1>()));
119 ServiceReference<I2> GetReference(InterfaceType<I2>)
const
121 return ServiceReference<I2>(this->ServiceRegistrationBase::GetReference(us_service_interface_iid<I2>()));
124 using ServiceRegistrationBase::operator=;
131 ServiceRegistration(
const ServiceRegistrationBase& base)
132 : ServiceRegistrationBase(base)
139 class ServiceRegistration<I1, void, void> :
public ServiceRegistrationBase
144 ServiceRegistration() : ServiceRegistrationBase()
148 ServiceReference<I1> GetReference()
const
150 return this->GetReference(InterfaceType<I1>());
153 ServiceReference<I1> GetReference(InterfaceType<I1>)
const
155 return ServiceReference<I1>(this->ServiceRegistrationBase::GetReference(us_service_interface_iid<I1>()));
158 using ServiceRegistrationBase::operator=;
164 ServiceRegistration(
const ServiceRegistrationBase& base)
165 : ServiceRegistrationBase(base)
172 class ServiceRegistration<void, void, void> :
public ServiceRegistrationBase
181 ServiceRegistration() : ServiceRegistrationBase()
185 ServiceRegistration(
const ServiceRegistrationBase& base)
186 : ServiceRegistrationBase(base)
190 using ServiceRegistrationBase::operator=;
203 #endif // USSERVICEREGISTRATION_H