const std::string& serviceName,
const std::string& domain) {
- std::shared_ptr<Proxy> abstractMiddlewareProxy = createProxy(_ProxyClass<_AttributeExtensions...>::getInterfaceId(), participantId, serviceName, domain);
+ std::shared_ptr<Proxy> abstractMiddlewareProxy = createProxy(_ProxyClass<_AttributeExtensions...>::InterfaceType::getInterfaceId(), participantId, serviceName, domain);
if (abstractMiddlewareProxy) {
return std::make_shared<_ProxyClass<_AttributeExtensions...>>(abstractMiddlewareProxy);
}
};
template<typename _StubAdapter, typename _StubRemoteEventHandler>
-class Stub: public StubBase {
+class Stub: public virtual StubBase {
static_assert(std::is_base_of<StubAdapter, _StubAdapter>::value, "Invalid StubAdapter Class!");
public:
typedef _StubAdapter StubAdapterType;
}
virtual _StubRemoteEventHandler* initStubAdapter(const std::shared_ptr<_StubAdapter>& stubAdapter) = 0;
+ virtual const std::shared_ptr<_StubAdapter> getStubAdapter() {
+ return stubAdapter_;
+ }
+ protected:
+ std::shared_ptr<_StubAdapter> stubAdapter_;
+
};
enum SelectiveBroadcastSubscriptionEvent {