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