PLCnext API Documentation 25.0.2.69
Public Member Functions | Protected Types | List of all members
Arp::Base::Rsc::Commons::Services::RscServiceStubBase< T > Class Template Referenceabstract

Base class for for Rsc service stub implementations. More...

#include <RscServiceStubBase.hxx>

Inheritance diagram for Arp::Base::Rsc::Commons::Services::RscServiceStubBase< T >:
Inheritance graph

Public Member Functions

 RscServiceStubBase (ServiceImplPtr serviceImplPtr)
 Constructs a RscServiceStubBase instance. More...
 
ServiceImplTypeGetServiceImpl (void) const
 Gets the service implementation instance. More...
 
virtual void Invoke (SerializationContext &context)=0
 Invokes a service operation polymorphic. More...
 
- Public Member Functions inherited from Arp::Base::Rsc::Commons::Services::IRscServiceStub
 IRscServiceStub (void)=default
 The default constructor.
 
 IRscServiceStub (const IRscServiceStub &arg)=delete
 The deleted copy constructor.
 
 IRscServiceStub (IRscServiceStub &&arg) noexcept=default
 The default move constructor. More...
 
IRscServiceStuboperator= (const IRscServiceStub &arg)=delete
 The deleted assignment operator.
 
IRscServiceStuboperator= (IRscServiceStub &&arg) noexcept=default
 The default move-assignment operator. More...
 
virtual ~IRscServiceStub (void)=default
 Destructs this instance and frees all resources.
 
virtual void Invoke (SerializationContext &context)=0
 Invokes a service operation polymorphic. More...
 

Protected Types

using ServiceImplType = T
 The type of the service implementation (e.g. DemoServiceImpl)
 
using ServiceImplPtr = std::shared_ptr< ServiceImplType >
 The type of the service implementation pointer.
 

Additional Inherited Members

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

Detailed Description

template<class T>
class Arp::Base::Rsc::Commons::Services::RscServiceStubBase< T >

Base class for for Rsc service stub implementations.

Template Parameters
TThe service implementation type.

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

Constructor & Destructor Documentation

◆ RscServiceStubBase()

template<class T >
Arp::Base::Rsc::Commons::Services::RscServiceStubBase< T >::RscServiceStubBase ( ServiceImplPtr  serviceImplPtr)
inlineexplicit

Constructs a RscServiceStubBase instance.

Parameters
serviceImplPtrThe adapted service implementation instance.
Template Parameters
TThe service implementation type.

Member Function Documentation

◆ GetServiceImpl()

template<class T >
T & Arp::Base::Rsc::Commons::Services::RscServiceStubBase< T >::GetServiceImpl ( void  ) const
inline

Gets the service implementation instance.

Returns
The service implementation instance.
Template Parameters
TThe service implementation type.

◆ Invoke()

template<class T >
virtual void Arp::Base::Rsc::Commons::Services::RscServiceStubBase< T >::Invoke ( SerializationContext context)
pure virtual

Invokes a service operation polymorphic.

Parameters
contextThe serialization context.

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


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