PLCnext API Documentation 25.0.2.69
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Arp::Io::Commons::Configuration::TicFrame Class Reference

This class is used to read and store a single Tic frame element called IO:Frame. More...

#include <TicFrame.hpp>

Inheritance diagram for Arp::Io::Commons::Configuration::TicFrame:
Inheritance graph

Public Types

using Ptr = std::shared_ptr< TicFrame >
 
using ConstPtr = std::shared_ptr< const TicFrame >
 
using PortPtr = std::shared_ptr< TicPort >
 
using BufferInfo = Arp::Io::Commons::Data::BufferInfo
 
using BitSize = Arp::Plc::Meta::Commons::BitSize
 
- Public Types inherited from Arp::Io::Commons::Configuration::TicBase
using Ptr = std::shared_ptr< TicBase >
 
using ChildPtr = ITicSerializable::Ptr
 
using ChildElements = std::vector< ChildPtr >
 
- Public Types inherited from Arp::Io::Commons::Configuration::ITicSerializable
using Ptr = std::shared_ptr< ITicSerializable >
 

Public Member Functions

 TicFrame (const TicFrame &arg)=delete
 
 TicFrame (TicFrame &&arg) noexcept
 Default move constructor.
 
TicFrameoperator= (const TicFrame &arg)=delete
 
TicFrameoperator= (TicFrame &&arg) noexcept
 Default move-assignment operator.
 
 ~TicFrame (void) override
 Default destructor.
 
 TicFrame (void)
 Default constructor.
 
const StringGetFrameID (void) const noexcept
 Returns the FrameId of this Tic frame. More...
 
BitSize GetLength (void) const noexcept
 Returns the length of this Tic frame. More...
 
const BufferInfoGetBufferInfo (void) const
 Returns the BufferInfo instance of this Tic frame. More...
 
bool TryReadAttribute (TicReader &reader, const String &attributeName) final
 This operation is called every time an attribute is read, to read the attributes content. More...
 
bool TryCreateElement (const String &elementName, ChildPtr &result) final
 Factory method to create child elements. More...
 
void OnReadEnd (void) override
 Validation method. The default implementation is just empty. More...
 
Impl & GetImpl (void)
 For internal use only.
 
const Impl & GetImpl (void) const
 
- Public Member Functions inherited from Arp::Io::Commons::Configuration::TicBase
 TicBase (const TicBase &arg)=delete
 
 TicBase (TicBase &&arg) noexcept
 Default move constructor.
 
TicBaseoperator= (const TicBase &arg)=delete
 
TicBaseoperator= (TicBase &&arg) noexcept
 Default move-assignment operator.
 
 ~TicBase (void) override
 Default destructor.
 
 TicBase (void)
 Default constructor.
 
const ChildElements & GetChildElements (void) const
 Returns all childs of this element. More...
 
void ReadTic (TicReader &reader) final
 This operation shall be implemented by all classes which should read its context from Tic files. More...
 
void WriteTic (TicWriter &writer) final
 This method is currently not implemented and should not be used. More...
 
virtual bool TryReadAttribute (TicReader &reader, const String &attributeName)
 This operation is called every time an attribute is read. More...
 
virtual bool TryCreateElement (const String &elementName, ChildPtr &result)
 Factory method to create child elements. More...
 
virtual bool TryReadCustomAttribute (TicReader &reader, const String &attributeName)
 This operation is called every time an attribute is read. More...
 
virtual bool TryCreateCustomElement (const String &elementName, ChildPtr &result)
 Factory method to create child elements. More...
 
virtual void OnReadEnd (void)
 Validates the content of the current element. More...
 
Impl & GetImpl (void)
 For internal use only.
 
const Impl & GetImpl (void) const
 
- Public Member Functions inherited from Arp::Io::Commons::Configuration::ITicSerializable
 ITicSerializable (void)=default
 Constructs an ITicSerializable instance.
 
 ITicSerializable (const ITicSerializable &arg)=default
 Copy constructor.
 
 ITicSerializable (ITicSerializable &&arg) noexcept=default
 Move constructor.
 
ITicSerializableoperator= (const ITicSerializable &arg)=default
 Copy-assignment operator.
 
ITicSerializableoperator= (ITicSerializable &&arg) noexcept=default
 Move-assignment operator.
 
virtual ~ITicSerializable (void)=default
 Destructs this instance and frees all resources.
 
virtual void ReadTic (TicReader &reader)=0
 This operation shall be implemented to read the content from Tic documents. More...
 
virtual void WriteTic (TicWriter &writer)=0
 This operation shall be implemented to write the content to Tic documents. More...
 

Static Public Member Functions

static const char * GetTicElementName (void)
 Returns the Tic name of this element called IO:Frame. More...
 

Detailed Description

This class is used to read and store a single Tic frame element called IO:Frame.

By default this class reads the Tic attributes FrameID and Length. To add custom attributes, the method TryReadCustomAttribute needs to be overloaded by a derived class.

The factory method TryCreateCustomElement can be overloaded to create custom sub-elements. The default implementation of this class creates an instance of the type TicPorts for the Tic elements called IO:Ports.

Member Function Documentation

◆ GetBufferInfo()

const TicFrame::BufferInfo & Arp::Io::Commons::Configuration::TicFrame::GetBufferInfo ( void  ) const

Returns the BufferInfo instance of this Tic frame.

Returns
The BufferInfo instance.

◆ GetFrameID()

const String & Arp::Io::Commons::Configuration::TicFrame::GetFrameID ( void  ) const
noexcept

Returns the FrameId of this Tic frame.

Returns
The FrameId

◆ GetLength()

TicFrame::BitSize Arp::Io::Commons::Configuration::TicFrame::GetLength ( void  ) const
noexcept

Returns the length of this Tic frame.

Returns
The length as BitSize

◆ GetTicElementName()

const char * Arp::Io::Commons::Configuration::TicFrame::GetTicElementName ( void  )
static

Returns the Tic name of this element called IO:Frame.

Returns
IO:Frame

◆ OnReadEnd()

void Arp::Io::Commons::Configuration::TicFrame::OnReadEnd ( void  )
overridevirtual

Validation method. The default implementation is just empty.

Reimplemented from Arp::Io::Commons::Configuration::TicBase.

◆ TryCreateElement()

bool Arp::Io::Commons::Configuration::TicFrame::TryCreateElement ( const String elementName,
ChildPtr &  result 
)
finalvirtual

Factory method to create child elements.

Parameters
elementNameName of the child to create.
resultThe created child element.
Returns
true if the child element was created, otherwise false if the element should be skipped.

If a Tic ports element called IO:Ports is read, an element of type TicPorts is created by default.

Reimplemented from Arp::Io::Commons::Configuration::TicBase.

◆ TryReadAttribute()

bool Arp::Io::Commons::Configuration::TicFrame::TryReadAttribute ( TicReader reader,
const String attributeName 
)
finalvirtual

This operation is called every time an attribute is read, to read the attributes content.

This operation reads the value of the attribute from the given TicReader. If the containing element should not be processed, the operation returns false to skip the attribute.

Parameters
readerThe TicReader to read the attribute value from.
attributeNameThe name of the attribute to read.
Returns
true if the attribute value has been read, otherwise false if the attribute was skipped.

This operation reads the attributes FrameID and Length by default.

Reimplemented from Arp::Io::Commons::Configuration::TicBase.


The documentation for this class was generated from the following files: