8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Base/Core/Endianness.hpp"
10#include "Arp/Base/Acf/Commons/ComponentBase.hpp"
11#include "Arp/Plc/Domain/Commons/IPlcComponent.hpp"
12#include "Arp/Plc/Meta/Commons/IIoMetaComponent.hpp"
14namespace Arp::Io::Commons::Configuration
16class TicConfiguration;
72 Endianness endianness = Endianness::Current,
73 uint32 startOrderOffset = 0);
76 Endianness GetDefaultEndianness(
void)
const;
79 void Initialize(
void)
final;
80 void SubscribeServices(
void)
final;
81 void LoadSettings(
const String& settingsPath)
final;
82 void SetupSettings(
void)
final;
83 void PublishServices(
void)
final;
84 void LoadConfig(
void)
final;
85 void SetupConfig(
void)
final;
86 void ResetConfig(
void)
final;
87 void Dispose(
void)
final;
88 void PowerDown(
void)
final;
92 DcgResultInfo SetupPlc(
bool isChanging, PlcStartKind startKind)
final;
93 void StartPlc(PlcStartKind startKind)
final;
94 void StopPlc(
void)
final;
95 void ResetPlc(
bool isChanging,
bool onError)
final;
96 void UnloadPlc(
bool isChanging,
bool onError)
final;
108 virtual void InitializeInternal(
void);
109 virtual void SubscribeServicesInternal(
void);
110 virtual void LoadSettingsInternal(
const String& settingsPath);
111 virtual void SetupSettingsInternal(
void);
112 virtual void PublishServicesInternal(
void);
113 virtual void LoadConfigInternal(
void);
114 virtual void SetupConfigInternal(
void);
115 virtual void ResetConfigInternal(
void);
116 virtual void DisposeInternal(
void);
117 virtual void PowerDownInternal(
void);
121 virtual DcgResultInfo SetupPlcInternal(
bool isChanging, PlcStartKind startKind);
122 virtual void StartPlcInternal(PlcStartKind startKind);
123 virtual void StopPlcInternal(
void);
124 virtual void ResetPlcInternal(
bool isChanging,
bool onError);
125 virtual void UnloadPlcInternal(
bool isChanging,
bool onError);
129 const Impl& GetImpl(
void)
const;
Use this class as base class of all Acf components.
Definition: ComponentBase.hpp:20
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 reads and stores a complete Tic hierarchy defined by a Tic links file.
Definition: TicConfiguration.hpp:38
This class is used to store and to manage fieldbus frame buffer objects.
Definition: DataManager.hpp:59
This class shall be used as a base class for all IO components.
Definition: IoComponentBase.hpp:54
~IoComponentBase(void) override
THe default destructor.
IoComponentBase & operator=(IoComponentBase &&arg) noexcept
The move assignment operator.
IoComponentBase(IoComponentBase &&arg) noexcept
The move constructor.
Base class for libraries of IO components
Definition: IoLibraryBase.hpp:18
This class is used to return the result of a PLC operation concerning download-changes (Dcg).
Definition: DcgResultInfo.hpp:21
This is the most important interface of the PLC domain. It is used to load and unload the PLC project...
Definition: IPlcComponent.hpp:29
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
Namespace for interface types of the IO domain
PlcStartKind
Determines which kind of start operation is initiated using PlcManager::StartPlc(PlcStartKind startKi...
Definition: PlcStartKind.hpp:18
DcgResult
The result of a PLC download-changes operation.
Definition: DcgResult.hpp:19