PLCnext API Documentation 25.0.2.69
TicLinksConfiguration.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Io/Commons/Configuration/TicArc.hpp"
10#include <vector>
11
12namespace Arp::Io::Commons::Configuration
13{
14
21class ARP_EXPORT TicLinksConfiguration
22{
23public: // Impl forward declaration
24 class Impl;
25
26public: // usings
27 using Arcs = std::vector<TicArc>;
28
29public: // canonical construction/destruction/assignment
32 TicLinksConfiguration& operator=(const TicLinksConfiguration& arg) = delete;
35
36public: // construction
38
39public: // setter/getter operations
40 const Arcs& GetArcs(void)const noexcept;
41
42public: // operations
43 void Load(const String& filename);
44
45public: // Impl operations
46 Impl& GetImpl(void);
47 const Impl& GetImpl(void)const;
48
49private: // Impl usings
50 using Pimpl = PimplPtr<Impl>;
51
52private: // Impl fields
53 Pimpl pimpl;
54};
55
56} // end of namespace Arp::Io::Commons::Configuration
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 is used to read the links.xml file, which is the entry point of a Tic configuration.
Definition: TicLinksConfiguration.hpp:22
TicLinksConfiguration & operator=(TicLinksConfiguration &&arg) noexcept
Default move-assignment operator.
TicLinksConfiguration(TicLinksConfiguration &&arg) noexcept
Default move constructor.