PLCnext API Documentation 25.0.2.69
Public Member Functions | List of all members
Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase Class Referenceabstract

Base class of all RSC service factories. More...

#include <RscServiceFactoryBase.hpp>

Inheritance diagram for Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase:
Inheritance graph

Public Member Functions

 RscServiceFactoryBase (bool isSecure, const String &serviceProviderName="")
 Constructs an RscServiceFactoryBase instance. More...
 
 RscServiceFactoryBase (const RscServiceFactoryBase &arg)=delete
 
 RscServiceFactoryBase (RscServiceFactoryBase &&arg) noexcept
 The default move constructor. More...
 
RscServiceFactoryBaseoperator= (const RscServiceFactoryBase &arg)=delete
 
RscServiceFactoryBaseoperator= (RscServiceFactoryBase &&arg) noexcept
 The default move-assignment operator. More...
 
 ~RscServiceFactoryBase (void) override
 The default destructor.
 
bool IsSecure (void) const override
 Determines if the services of this factory shall be authorized by security. More...
 
String GetServiceProviderName (void) const override
 Gets the service-provider name of the services created by this factory. More...
 
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 SerializationKind::JRsc. More...
 
virtual IRscService::Ptr CreateServiceImpl (const char *providerName, IRscAuthorizator *pAuthorizator)=0
 Creates a service implementation instance. More...
 
Impl & GetImpl (void)
 For internal use only. More...
 
const Impl & GetImpl (void) const
 
- Public Member Functions inherited from Arp::Base::Rsc::Commons::Services::IRscServiceFactory
 IRscServiceFactory (void)=default
 The default constructor.
 
 IRscServiceFactory (const IRscServiceFactory &arg)=delete
 The deleted copy constructor.
 
 IRscServiceFactory (IRscServiceFactory &&arg) noexcept=default
 The default move constructor. More...
 
IRscServiceFactoryoperator= (const IRscServiceFactory &)=delete
 The deleted assignment operator.
 
IRscServiceFactoryoperator= (IRscServiceFactory &&arg) noexcept=default
 The default move-assignment operator. More...
 
virtual ~IRscServiceFactory (void)=default
 Destructs this instance and frees all resources.
 
virtual bool IsSecure (void) const =0
 Determines if the services of this factory shall be authorized by security. More...
 
virtual String GetServiceProviderName (void) const =0
 Gets the service-provider name of the services created by this factory. More...
 
virtual IRscService::Ptr CreateServiceImpl (const char *providerName, IRscAuthorizator *pAuthorizator)=0
 Creates a service implementation instance. More...
 
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 SerializationKind::JRsc. More...
 

Additional Inherited Members

- Public Types inherited from Arp::Base::Rsc::Commons::Services::IRscServiceFactory
using Ptr = std::shared_ptr< IRscServiceFactory >
 The shared_tr type of this type.
 

Detailed Description

Base class of all RSC service factories.

This class is not intended for direct use, but required by RscGenerator to implement services.

Constructor & Destructor Documentation

◆ RscServiceFactoryBase() [1/2]

Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase::RscServiceFactoryBase ( bool  isSecure,
const String serviceProviderName = "" 
)
explicit

Constructs an RscServiceFactoryBase instance.

Parameters
isSecureSecurity is enabled for services created by this factory.
serviceProviderNameThe service provider name of the RSC service to create.

The default service provider name is 'Arp' for all PLCnext services. If the argument defaults to an empty string, the application name (process name) is used. For component services, the name shall be the component name of the component which provides this RSC service.

◆ RscServiceFactoryBase() [2/2]

Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase::RscServiceFactoryBase ( RscServiceFactoryBase &&  arg)
defaultnoexcept

The default move constructor.

Parameters
argThe argument to move.

Member Function Documentation

◆ CreateServiceImpl()

virtual IRscService::Ptr Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase::CreateServiceImpl ( const char *  providerName,
IRscAuthorizator pAuthorizator 
)
pure virtual

Creates a service implementation instance.

Parameters
providerNameThe service-provider name of the service implementation to create.
pAuthorizatorThe authorizator to use for authorization of the service calls.
Returns
The new service implementation instance.

Implements Arp::Base::Rsc::Commons::Services::IRscServiceFactory.

◆ CreateServiceStub()

virtual IRscServiceStub::Ptr Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase::CreateServiceStub ( SerializationKind  kind,
IRscService::Ptr  pService 
)
pure virtual

This operation creates a service stub of various serialization kinds, e.g. SerializationKind::Rsc or SerializationKind::JRsc.

Parameters
kindThe serialization kind, i.e. the remote technology supported by the stub.
pServiceThe service implementation instance.
Returns
The new service stub instance.

Implements Arp::Base::Rsc::Commons::Services::IRscServiceFactory.

◆ GetImpl()

const RscServiceFactoryBase::Impl & Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase::GetImpl ( void  )

For internal use only.

Returns
The impl instance.

◆ GetServiceProviderName()

String Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase::GetServiceProviderName ( void  ) const
overridevirtual

Gets the service-provider name of the services created by this factory.

Implements Arp::Base::Rsc::Commons::Services::IRscServiceFactory.

◆ IsSecure()

bool Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase::IsSecure ( void  ) const
overridevirtual

Determines if the services of this factory shall be authorized by security.

Implements Arp::Base::Rsc::Commons::Services::IRscServiceFactory.

◆ operator=()

RscServiceFactoryBase & Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase::operator= ( RscServiceFactoryBase &&  arg)
defaultnoexcept

The default move-assignment operator.

Parameters
argThe argument to move.
Returns
This instance.

The documentation for this class was generated from the following files: