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