8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
10namespace Arp::Base::Rsc::Commons::Services
15class IRscServiceProxy;
24 using Ptr = std::shared_ptr<IRscServiceProxyFactory>;
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
IRscServiceProxyFactory(void)=default
The default constructor.
IRscServiceProxyFactory(const IRscServiceProxyFactory &arg)=delete
The deleted copy constructor.
IRscServiceProxyFactory & operator=(const IRscServiceProxyFactory &arg)=delete
The deleted assignment operator.
std::shared_ptr< IRscServiceProxy > IRscServiceProxyPtr
The shared pointer type of the service type.
Definition: IRscServiceProxyFactory.hpp:25
std::shared_ptr< IRscServiceProxyFactory > Ptr
The shared pointer type of this proxy factory type.
Definition: IRscServiceProxyFactory.hpp:24
IRscServiceProxyFactory(IRscServiceProxyFactory &&arg) noexcept=default
The default move constructor.
virtual IRscServiceProxyPtr CreateServiceProxy(RscHandle providerHandle, RscHandle serviceHandle, RscClient &client)=0
Creates a service proxy instance to be used by RSC clients remotely.
virtual const char * GetServiceProviderName(void) const =0
Gets the service-provider name of the service to be created by this factory.
virtual ~IRscServiceProxyFactory(void)=default
Destructs this instance and frees all resources.
virtual const char * GetServiceName(void) const =0
Gets the service name of the service type to be created by this factory.
IRscServiceProxyFactory & operator=(IRscServiceProxyFactory &&arg) noexcept=default
The default move-assignment operator.
This class monitors a RSC client call using RAII idiom.
Definition: RscClient.TransactionGuard.hpp:18