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

Base class for RSC service proxies. More...

#include <RscServiceProxyBase.hxx>

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

Public Member Functions

 RscServiceProxyBase (RscHandle providerHandle, RscHandle serviceHandle, RscClient &rscClient)
 Constructs a RscServiceProxyBase instance. More...
 
RscClientGetRscClient (void) const
 Gets the RscClient to be used for remote or ipc communication. More...
 
String GetServiceName (void) const override
 Gets the service name of this proxy. More...
 
String GetServiceProviderName (void) const override
 Gets the service provider name of this proxy. More...
 
RscHandle GetServiceHandle (void) override
 Gets the service handle. More...
 
RscHandle GetServiceProviderHandle (void) override
 Gets the service provider handle. More...
 
void ReadServiceHandles (void) override
 Updates the service handle of the remote service instance. More...
 
- Public Member Functions inherited from Arp::Base::Rsc::Commons::Services::IRscServiceProxy
 IRscServiceProxy (void)=default
 The default constructor.
 
 IRscServiceProxy (const IRscServiceProxy &arg)=delete
 The deleted copy constructor.
 
 IRscServiceProxy (IRscServiceProxy &&arg) noexcept=default
 The default move constructor. More...
 
IRscServiceProxyoperator= (const IRscServiceProxy &)=delete
 The deleted assignment operator.
 
IRscServiceProxyoperator= (IRscServiceProxy &&arg) noexcept=default
 The default move-assignment operator. More...
 
virtual ~IRscServiceProxy (void)=default
 Destructs this instance and frees all resources.
 
virtual RscClientGetRscClient (void) const =0
 Gets the RscClient of this proxy. More...
 
virtual String GetServiceName (void) const =0
 Gets the service name of this proxy. More...
 
virtual String GetServiceProviderName (void) const =0
 Gets the service provider name of this proxy. More...
 
virtual RscHandle GetServiceHandle (void)=0
 Gets the service handle of the remote service instance. More...
 
virtual RscHandle GetServiceProviderHandle (void)=0
 Gets the service handle of the remote service-provider instance. More...
 
virtual void ReadServiceHandles (void)=0
 Updates the service handle of the remote service instance. More...
 
- Public Member Functions inherited from Arp::Base::Rsc::Commons::IRscService
 IRscService (void)=default
 The default constructor.
 
 IRscService (const IRscService &arg)=delete
 The deleted copy constructor. More...
 
 IRscService (IRscService &&arg) noexcept=default
 The default move constructor. More...
 
IRscServiceoperator= (const IRscService &arg)=delete
 The deleted assignment operator. More...
 
IRscServiceoperator= (IRscService &&arg) noexcept=default
 The default move-assignment operator. More...
 
virtual ~IRscService (void)=default
 Destructs this instance and frees all resources.
 

Protected Types

using ServiceType = T
 The service interface type (e.g. IDemoService)
 

Additional Inherited Members

- Public Types inherited from Arp::Base::Rsc::Commons::Services::IRscServiceProxy
using Ptr = std::shared_ptr< IRscServiceProxy >
 The pointer type of this type.
 
- Public Types inherited from Arp::Base::Rsc::Commons::IRscService
using Ptr = std::shared_ptr< IRscService >
 The shared_ptr type of IRscService.
 
- Static Public Member Functions inherited from Arp::Base::Rsc::Commons::IRscService
static IRscServiceProxyFactoryGetProxyFactory (void)
 Returns a reference to service proxy factory to create a proxy instance of this service. More...
 

Detailed Description

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

Base class for RSC service proxies.

Template Parameters
TThe service proxy type.

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

Constructor & Destructor Documentation

◆ RscServiceProxyBase()

template<class T >
Arp::Base::Rsc::Commons::Services::RscServiceProxyBase< T >::RscServiceProxyBase ( RscHandle  providerHandle,
RscHandle  serviceHandle,
RscClient rscClient 
)
inline

Constructs a RscServiceProxyBase instance.

Parameters
providerHandleThe service provider handle.
serviceHandleThe service handle.
rscClientThe RscClient to be used for remote or ipc communication.
Template Parameters
TThe type of the RSC service interface.

Member Function Documentation

◆ GetRscClient()

template<class T >
RscClient & Arp::Base::Rsc::Commons::Services::RscServiceProxyBase< T >::GetRscClient ( void  ) const
inlinevirtual

Gets the RscClient to be used for remote or ipc communication.

Returns
The RscClient to be used for remote or ipc communication.
Template Parameters
TThe service interface type.

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

◆ GetServiceHandle()

template<class T >
RscHandle Arp::Base::Rsc::Commons::Services::RscServiceProxyBase< T >::GetServiceHandle ( void  )
inlineoverridevirtual

Gets the service handle.

Returns
The service handle.
Template Parameters
TThe service interface type.

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

◆ GetServiceName()

template<class T >
String Arp::Base::Rsc::Commons::Services::RscServiceProxyBase< T >::GetServiceName ( void  ) const
overridevirtual

Gets the service name of this proxy.

Returns
The service name of this proxy.

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

◆ GetServiceProviderHandle()

template<class T >
RscHandle Arp::Base::Rsc::Commons::Services::RscServiceProxyBase< T >::GetServiceProviderHandle ( void  )
inlineoverridevirtual

Gets the service provider handle.

Returns
The service provider handle.
Template Parameters
TThe service interface type.

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

◆ GetServiceProviderName()

template<class T >
String Arp::Base::Rsc::Commons::Services::RscServiceProxyBase< T >::GetServiceProviderName ( void  ) const
overridevirtual

Gets the service provider name of this proxy.

Returns
The service name provider of this proxy.

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

◆ ReadServiceHandles()

template<class T >
void Arp::Base::Rsc::Commons::Services::RscServiceProxyBase< T >::ReadServiceHandles ( void  )
inlineoverridevirtual

Updates the service handle of the remote service instance.

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


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