8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/IRscService.hpp"
10#include "Arp/Base/Rsc/Commons/Services/IRscServiceStub.hpp"
12namespace Arp::Base::Rsc::Commons::Services
29 using Ptr = std::shared_ptr<IRscServiceFactory>;
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
This interface is used to authorize a Rsc service call.
Definition: IRscAuthorizator.hpp:21
Interface for service factory classes to create instances of the service implementation,...
Definition: IRscServiceFactory.hpp:26
virtual IRscServiceStub::Ptr CreateServiceStub(SerializationKind kind, IRscService::Ptr pService)=0
This operation creates a service stub of various serialization kinds, e.g. SerializationKind::Rsc or ...
std::shared_ptr< IRscServiceFactory > Ptr
The shared_tr type of this type.
Definition: IRscServiceFactory.hpp:29
IRscServiceFactory(const IRscServiceFactory &arg)=delete
The deleted copy constructor.
virtual String GetServiceProviderName(void) const =0
Gets the service-provider name of the services created by this factory.
virtual IRscService::Ptr CreateServiceImpl(const char *providerName, IRscAuthorizator *pAuthorizator)=0
Creates a service implementation instance.
IRscServiceFactory(void)=default
The default constructor.
virtual bool IsSecure(void) const =0
Determines if the services of this factory shall be authorized by security.
IRscServiceFactory(IRscServiceFactory &&arg) noexcept=default
The default move constructor.
virtual ~IRscServiceFactory(void)=default
Destructs this instance and frees all resources.
IRscServiceFactory & operator=(const IRscServiceFactory &)=delete
The deleted assignment operator.
IRscServiceFactory & operator=(IRscServiceFactory &&arg) noexcept=default
The default move-assignment operator.
std::shared_ptr< IRscServiceStub > Ptr
The shared pointer type of this type.
Definition: IRscServiceStub.hpp:21