PLCnext API Documentation 24.0.0.71
IRscServiceProxyFactory.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include "Arp/System/Rsc/Services/Rsc.h"
9
10namespace Arp { namespace System { namespace Rsc { namespace Services
11{
12
13// forwards
14class IRscServiceProxy;
15class RscClient;
16
21class IRscServiceProxyFactory
22{
23public: // typedefs
24 typedef std::shared_ptr<IRscServiceProxyFactory> Ptr;
25
26protected: // construction/destruction
28 IRscServiceProxyFactory(void) = default;
30 virtual ~IRscServiceProxyFactory(void) = default;
31
32public: // abstract operations
33 virtual const char* GetServiceName(void)const = 0;
34 virtual const char* GetServiceProviderName(void)const = 0;
35 virtual IRscServiceProxy* CreateServiceProxy(RscHandle providerHandle, RscHandle remotingServiceHandle, RscClient& client) = 0;
36
37private: // deleted methods (for non-copyable interfaces)
38 IRscServiceProxyFactory(const IRscServiceProxyFactory& arg); // = delete;
39 IRscServiceProxyFactory& operator=(const IRscServiceProxyFactory& arg); // = delete;
40};
41
42}}}} // end of namespace Arp::System::Rsc::Services
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API