PLCnext API Documentation 26.0.1.58
RscServiceProxyInfo.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Base/Rsc/Commons/Services/RscClient.hpp"
10#include "Arp/Base/Rsc/Commons/Services/RscServiceHandle.hpp"
11#include "Arp/Base/Rsc/Commons/Services/IRscServiceProxyFactory.hpp"
12
13namespace Arp::Base::Rsc::Commons::Services
14{
15
20class ARP_EXPORT RscServiceProxyInfo
21{
22public: // Impl forward declaration
23 class Impl;
24
25public: // construction
26 RscServiceProxyInfo(const RscServiceHandle& serviceHandle, const char* serviceName, const String& serviceProviderName);
27
28 // canonical construction/destruction/assignment
34
35public: // setter/getter operations
36 const RscServiceHandle& GetRscServiceHandle(void)const;
37 const String& GetServiceName(void)const;
38 const String& GetServiceProviderName(void)const;
39
40public: // operations
41 void ReadServiceHandle(RscClient& client);
42
43public: // internal operations
44 Impl& GetImpl(void);
45 const Impl& GetImpl(void)const;
46
47private: // Impl usings
49
50private: // Impl fields
51 Pimpl pimpl;
52};
53
54} // end of namespace Arp::Base::Rsc::Commons::Services
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
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
This class contains all infos of a RSC service proxy.
Definition: RscServiceProxyInfo.hpp:21
RscServiceProxyInfo(RscServiceProxyInfo &&arg) noexcept
The default move constructor.
RscServiceProxyInfo & operator=(RscServiceProxyInfo &&arg) noexcept
The default move-assignment operator.
RscServiceProxyInfo(const RscServiceProxyInfo &arg)
The default copy constructor.
RscServiceProxyInfo & operator=(const RscServiceProxyInfo &arg)
The default copy-assignment operator.