PLCnext API Documentation 24.0.0.71
RscServiceProxyFactoryBase.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include "Arp/System/Rsc/Services/Rsc.h"
9#include "Arp/System/Rsc/Services/IRscServiceProxyFactory.hpp"
10namespace Arp { namespace System { namespace Rsc { namespace Services
11{
12
17class RscServiceProxyFactoryBase : public IRscServiceProxyFactory
18{
19protected: // typedefs
20 typedef RscServiceProxyFactoryBase Base;
21
22protected: // construction/destruction
24 RscServiceProxyFactoryBase(const char* serviceName, const char* serviceProviderName = "");
26 virtual ~RscServiceProxyFactoryBase(void) = default;
27
28public: // operations
29 const char* GetServiceName(void)const override;
30 const char* GetServiceProviderName(void)const override;
31
32private: // fields
33 const String serviceName;
34 const String serviceProviderName;
35};
36
38// inline methods of class RscServiceProxyFactoryBase
39inline RscServiceProxyFactoryBase::RscServiceProxyFactoryBase(const char* serviceNameArg, const char* serviceProviderNameArg)
40 : serviceName(serviceNameArg)
41 , serviceProviderName(serviceProviderNameArg)
42{
43}
44
45inline const char* RscServiceProxyFactoryBase::GetServiceName(void)const
46{
47 return this->serviceName.CStr();
48}
49
50inline const char* RscServiceProxyFactoryBase::GetServiceProviderName(void)const
51{
52 return this->serviceProviderName.CStr();
53}
54
55}}}} // 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