PLCnext API Documentation 25.0.2.69
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived > Class Template Reference

Base class for Rsc component service factories. More...

#include <RscComponentServiceFactoryBase.hxx>

Inheritance diagram for Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived >:
Inheritance graph

Public Member Functions

 RscComponentServiceFactoryBase (IComponent &component)
 Constructs this factory. More...
 
bool IsSecure (void) const override
 Determines if security is enabled for this service type. More...
 
String GetServiceProviderName (void) const override
 Gets the service provider name of this factory, which is the component name. More...
 
- 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...
 

Static Public Member Functions

static IRscServiceFactoryCreate (IComponent &component)
 Creates a new instance of this factory. More...
 

Protected Attributes

IComponentcomponent
 The component instance which is controlled by the RSC service.
 

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

template<class TDerived>
class Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived >

Base class for Rsc component service factories.

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

Constructor & Destructor Documentation

◆ RscComponentServiceFactoryBase()

template<class TDerived >
Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived >::RscComponentServiceFactoryBase ( IComponent component)
inlineexplicit

Constructs this factory.

Template Parameters
TDerivedThe super type implementing this factory.
Parameters
componentThe component of this factory.

Member Function Documentation

◆ Create()

template<class TDerived >
IRscServiceFactory * Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived >::Create ( IComponent component)
inlinestatic

Creates a new instance of this factory.

Template Parameters
TDerivedThe super type implementing this factory.
Parameters
componentThe component of this factory.
Returns
The new created factory instance.

◆ GetServiceProviderName()

template<class TDerived >
String Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived >::GetServiceProviderName ( void  ) const
inlineoverridevirtual

Gets the service provider name of this factory, which is the component name.

Template Parameters
TDerivedThe super type implementing this factory.
Returns
The service provider name.

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

◆ IsSecure()

template<class TDerived >
bool Arp::Base::Rsc::Commons::Services::RscComponentServiceFactoryBase< TDerived >::IsSecure ( void  ) const
inlineoverridevirtual

Determines if security is enabled for this service type.

Template Parameters
TDerivedThe super type implementing this factory.
Returns
true if security is enabled for this service type, otherwise false.

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


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