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

Interface for service factory classes to create instances of the service implementation, service stubs or service security stub, respectively. More...

#include <IRscServiceFactory.hpp>

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

Public Types

using Ptr = std::shared_ptr< IRscServiceFactory >
 The shared_tr type of this type.
 

Public Member Functions

 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...
 

Detailed Description

Interface for service factory classes to create instances of the service implementation, service stubs or service security stub, respectively.

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

Constructor & Destructor Documentation

◆ IRscServiceFactory()

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

The default move constructor.

Parameters
argThe argument to move.

Member Function Documentation

◆ CreateServiceImpl()

virtual IRscService::Ptr Arp::Base::Rsc::Commons::Services::IRscServiceFactory::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.

Implemented in Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase.

◆ CreateServiceStub()

virtual IRscServiceStub::Ptr Arp::Base::Rsc::Commons::Services::IRscServiceFactory::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.

Implemented in Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase.

◆ GetServiceProviderName()

virtual String Arp::Base::Rsc::Commons::Services::IRscServiceFactory::GetServiceProviderName ( void  ) const
pure virtual

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

Returns
The name of the service-provider of this factory.

Implemented in Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived >, and Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase.

◆ IsSecure()

virtual bool Arp::Base::Rsc::Commons::Services::IRscServiceFactory::IsSecure ( void  ) const
pure virtual

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

Returns
true if this service is public and requires security, otherwise false.

Implemented in Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived >, and Arp::Base::Rsc::Commons::Services::RscServiceFactoryBase.

◆ operator=()

IRscServiceFactory & Arp::Base::Rsc::Commons::Services::IRscServiceFactory::operator= ( IRscServiceFactory &&  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 file: