PLCnext API Documentation 25.0.2.69
RscContext.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/Rsc.hpp"
10#include "Arp/Base/Rsc/Commons/Services/RscReader.hpp"
11#include "Arp/Base/Rsc/Commons/Services/RscWriter.hpp"
12#include "Arp/Base/Rsc/Commons/Services/SerializationContext.hpp"
13
14namespace Arp::Base::Rsc::Commons::Services
15{
16
21class ARP_EXPORT RscContext : public SerializationContext
22{
23public: // Impl forward declaration
24 class Impl;
25
26public: // construction
27 RscContext(Impl& impl);
28
29 // canonical construction/destruction/assignment
30 RscContext(const RscContext& arg) = delete;
31 RscContext(RscContext&& arg)noexcept;
32 RscContext& operator=(const RscContext& arg) = delete;
35
36public: // setter/getter operations
37 RscReader& GetReader(void);
38 RscWriter& GetWriter(void);
39
40public: // internal operations
41 Impl& GetImpl(void);
42 const Impl& GetImpl(void)const;
43
44private: // Impl usings
45 using Pimpl = Impl*;
46
47private: // Impl fields
48 Pimpl pimpl = nullptr;
49};
50
51} // end of namespace Arp::Base::Rsc::Commons::Services
This class provides RSC reader and writer of the actual connection.
Definition: RscContext.hpp:22
RscContext & operator=(RscContext &&arg) noexcept
The default move-assignment operator.
~RscContext(void)
The default destructor.
RscContext(RscContext &&arg) noexcept
The default move constructor.
Reads marshaled data of RSC services.
Definition: RscReader.hpp:34
Writes marshalled data of RSC services.
Definition: RscWriter.hpp:34
This class serves as base class for all serialization contexts supported by RSC.
Definition: SerializationContext.hpp:23