PLCnext API Documentation 24.0.0.71
IRscServiceProxy.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/IRscService.hpp"
10
11namespace Arp { namespace System { namespace Rsc { namespace Services
12{
13
14// forwards
15class RscClient;
16
21class IRscServiceProxy : public IRscService
22{
23 friend class RscClient;
24
25public: // usings
26 using Ptr = std::shared_ptr<IRscServiceProxy>;
27
28public: // construction/destruction
30 IRscServiceProxy(void) = default;
32 virtual ~IRscServiceProxy(void) = default;
33
34protected: // abstract operations
35 virtual RscHandle GetServiceHandle(void) = 0;
36 virtual RscHandle GetServiceProviderHandle(void) = 0;
37 virtual void ReadServiceHandle(void) = 0;
38
39private: // deleted methods (for non-copyable interfaces)
40 IRscServiceProxy(const IRscServiceProxy& arg) = delete;
41 IRscServiceProxy& operator=(const IRscServiceProxy& arg) = delete;
42};
43
44}}}} // 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