PLCnext API Documentation 23.0.2.9
RscServiceProxyFactoryBase.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
7#include "Arp/System/Rsc/Services/Rsc.h"
8#include "Arp/System/Rsc/Services/IRscServiceProxyFactory.hpp"
9namespace Arp { namespace System { namespace Rsc { namespace Services
10{
11
16class RscServiceProxyFactoryBase : public IRscServiceProxyFactory
17{
18protected: // typedefs
19 typedef RscServiceProxyFactoryBase Base;
20
21protected: // construction/destruction
23 RscServiceProxyFactoryBase(const char* serviceName, const char* serviceProviderName = "");
25 virtual ~RscServiceProxyFactoryBase(void) = default;
26
27public: // operations
28 const char* GetServiceName(void)const override;
29 const char* GetServiceProviderName(void)const override;
30
31private: // fields
32 const String serviceName;
33 const String serviceProviderName;
34};
35
37// inline methods of class RscServiceProxyFactoryBase
38inline RscServiceProxyFactoryBase::RscServiceProxyFactoryBase(const char* serviceNameArg, const char* serviceProviderNameArg)
39 : serviceName(serviceNameArg)
40 , serviceProviderName(serviceProviderNameArg)
41{
42}
43
44inline const char* RscServiceProxyFactoryBase::GetServiceName(void)const
45{
46 return this->serviceName.CStr();
47}
48
49inline const char* RscServiceProxyFactoryBase::GetServiceProviderName(void)const
50{
51 return this->serviceProviderName.CStr();
52}
53
54}}}} // end of namespace Arp::System::Rsc::Services
Arp::BasicString< char8 > String
The Arp String class.
Definition: TypeSystem.h:27
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API