PLCnext API Documentation 23.0.2.9
IRscServiceProxyFactory.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
7#include "Arp/System/Rsc/Services/Rsc.h"
8
9namespace Arp { namespace System { namespace Rsc { namespace Services
10{
11
12// forwards
13class IRscServiceProxy;
14class RscClient;
15
20class IRscServiceProxyFactory
21{
22public: // typedefs
23 typedef std::shared_ptr<IRscServiceProxyFactory> Ptr;
24
25protected: // construction/destruction
27 IRscServiceProxyFactory(void) = default;
29 virtual ~IRscServiceProxyFactory(void) = default;
30
31public: // abstract operations
32 virtual const char* GetServiceName(void)const = 0;
33 virtual const char* GetServiceProviderName(void)const = 0;
34 virtual IRscServiceProxy* CreateServiceProxy(RscHandle providerHandle, RscHandle remotingServiceHandle, RscClient& client) = 0;
35
36private: // deleted methods (for non-copyable interfaces)
37 IRscServiceProxyFactory(const IRscServiceProxyFactory& arg); // = delete;
38 IRscServiceProxyFactory& operator=(const IRscServiceProxyFactory& arg); // = delete;
39};
40
41}}}} // 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