PLCnext API Documentation 25.0.2.69
TicFrames.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/TicBase.hpp"
10
11namespace Arp::Io::Commons::Configuration
12{
13
14// forwards
15class TicFrame;
16
29class ARP_EXPORT TicFrames : public TicBase
30{
31public: // Impl forward declaration
32 class Impl;
33
34public: // usings
35 using Ptr = std::shared_ptr<TicFrames>;
36
37public: // canonical construction/destruction/assignment
38 TicFrames(const TicFrames& arg) = delete;
39 TicFrames(TicFrames&& arg)noexcept;
40 TicFrames& operator=(const TicFrames& arg) = delete;
41 TicFrames& operator=(TicFrames&& arg)noexcept;
42 ~TicFrames(void) override;
43
44public: // construction
45 TicFrames(void);
46
47public: // static operations
48 static const char* GetTicElementName(void);
49
50public: // setter/getter operations
51 size_t GetFrameCount(void)const;
52
53public: // operations
54 bool TryReadAttribute(TicReader& reader, const String& attributeName)final;
55 bool TryCreateElement(const String& elementName, ChildPtr& result)final;
56 void OnReadEnd(void)override;
57
58public: // Impl operations
59 Impl& GetImpl(void);
60 const Impl& GetImpl(void)const;
61
62private: // Impl usings
63 using Pimpl = PimplPtr<Impl>;
64
65private: // Impl fields
66 Pimpl pimpl;
67};
68
69} // 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 the base class for all predefined Tic elements.
Definition: TicBase.hpp:42
This class is used to read and store a single Tic frames element called IO:Frames.
Definition: TicFrames.hpp:30
TicFrames & operator=(TicFrames &&arg) noexcept
Default move-assignment operator.
~TicFrames(void) override
Default destructor.
TicFrames(TicFrames &&arg) noexcept
Default move constructor.
This class is used to read the content of Tic files.
Definition: TicReader.hpp:24