PLCnext API Documentation 26.0.1.58
IRscServiceProxy2.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Services/IRscServiceProxy.hpp"
9#include "Arp/Base/Rsc/Commons/Services/RscServiceHandle.hpp"
10
11namespace Arp::Base::Rsc::Commons::Services
12{
13
18class ARP_EXPORT IRscServiceProxy2 : public IRscServiceProxy
19{
20public: // usings
21 using Ptr = std::shared_ptr<IRscServiceProxy2>;
22
23public: // construction
25 IRscServiceProxy2(void) = default;
26
27 // canonical construction/destruction/assignment
31 IRscServiceProxy2(IRscServiceProxy2&& arg)noexcept = default;
37 virtual ~IRscServiceProxy2(void) = default;
38
39public: // abstract operations
42 virtual const RscServiceHandle& GetRscServiceHandle(void)const = 0;
43
46 virtual void UpdateRscServiceHandle(RscClient& rscClient) = 0;
47};
48
49} // end of namespace Arp::Base::Rsc::Commons::Services
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
The interface of RSC service proxies used on client side to invoke services remotely.
Definition: IRscServiceProxy2.hpp:19
virtual const RscServiceHandle & GetRscServiceHandle(void) const =0
Gets the RSC service handle of the remote service instance.
IRscServiceProxy2(IRscServiceProxy2 &&arg) noexcept=default
The default move constructor.
IRscServiceProxy2(void)=default
Constructs an IRscServiceProxy2 instance.
IRscServiceProxy2(const IRscServiceProxy2 &arg)=delete
The default copy constructor.
IRscServiceProxy2 & operator=(IRscServiceProxy2 &&arg) noexcept=default
The default move-assignment operator.
virtual ~IRscServiceProxy2(void)=default
Destructs this instance and frees all resources.
virtual void UpdateRscServiceHandle(RscClient &rscClient)=0
Updates the service handle of the refered remote service instance, e.g. when a reconnect occurs.
IRscServiceProxy2 & operator=(const IRscServiceProxy2 &arg)=delete
The default copy-assignment operator.
Interface of RSC service proxies used on client side to invoke a service remotely.
Definition: IRscServiceProxy.hpp:20
This class monitors a RSC client call using RAII idiom.
Definition: RscClient.TransactionGuard.hpp:18
This class is used for adressing RSC service instances remotely.
Definition: RscServiceHandle.hpp:22