8#include "Arp/Plc/Domain/Commons/PlcStartKind.hpp"
9#include "Arp/Plc/Domain/Commons/DcgResultInfo.hpp"
31 using Ptr = std::shared_ptr<IPlcComponent>;
108 virtual void ResetPlc(
bool isChanging,
bool onError) = 0;
117 virtual void UnloadPlc(
bool isChanging,
bool onError) = 0;
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
IPlcComponent(void)=default
Constructs an IPlcComponent instance.
virtual void ResetPlc(bool isChanging, bool onError)=0
Resets the PLC project configuration of this component.
virtual DcgResultInfo LoadPlc(bool isChanging)=0
Loads the PLC project configuration of this component.
IPlcComponent(IPlcComponent &&arg)=default
The move-constructor.
virtual void StartPlc(PlcStartKind startKind)=0
Starts this PLC component using the specified start kind.
virtual void StopPlc(void)=0
Stops this PLC component.
IPlcComponent(const IPlcComponent &arg)=default
The deleted copy-constructor.
IPlcComponent & operator=(IPlcComponent &&arg)=default
The move-assignment operator.
virtual DcgResultInfo SetupPlc(bool isChanging, PlcStartKind startKind)=0
Sets up the PLC project configuration of this component.
virtual ~IPlcComponent(void)=default
The destructor.
virtual void UnloadPlc(bool isChanging, bool onError)=0
Unloads the PLC project configuration of this component.
IPlcComponent & operator=(const IPlcComponent &arg)=default
The deleted copy-assignment operator.
Namespace for interface types of the PLC domain
PlcStartKind
Determines which kind of start operation is initiated using PlcManager::StartPlc(PlcStartKind startKi...
Definition: PlcStartKind.hpp:18