PLCnext API Documentation  22.9.0.33
ITicSerializable.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 
9 namespace Arp { namespace System { namespace Commons { namespace Configuration
10 {
11 
12 // forwards
13 class TicReader;
14 class TicSerializationContext;
15 
17 {
18 public: // typedefs
19  typedef std::shared_ptr<ITicSerializable> Ptr;
20 
21 protected: // construction/destruction
23  ITicSerializable(void) = default;
25  virtual ~ITicSerializable(void) = default;
26 
27 public: // abstract operations
28  virtual void ReadTic(TicReader& reader, TicSerializationContext& context) = 0;
29 
30 protected: // copying methods (for copyable classes)
32  ITicSerializable(const ITicSerializable& arg) = default;
35 };
36 
37 }}}} // end of namespace Arp::System::Commons::Configuration
virtual ~ITicSerializable(void)=default
Destructs this instance and frees all resources.
ITicSerializable(void)=default
Constructs an ITicSerializable instance.
ITicSerializable(const ITicSerializable &arg)=default
Copies an ITicSerializable instance.
ITicSerializable & operator=(const ITicSerializable &arg)=default
Assigns an ITicSerializable instance.
Definition: TicSerializationContext.hpp:19
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API