8 #include "Arp/Plc/Domain/Services/PlcManagerServiceProxyFactory.hpp"
9 #include "Arp/Plc/Domain/Services/PlcStartKind.hpp"
10 #include "Arp/Plc/Domain/Services/PlcState.hpp"
11 #include "Arp/System/Rsc/Services/IRscService.hpp"
15 namespace Arp {
namespace Plc {
namespace Domain {
namespace Services
28 using Ptr = std::shared_ptr<IPlcManagerService>;
35 static IRscServiceProxyFactory& GetProxyFactory(
void);
43 virtual void Load(
boolean async =
false) = 0;
63 virtual void Start(PlcStartKind startKind,
boolean async =
false) = 0;
70 virtual void Stop(
boolean async =
false) = 0;
77 virtual void Reset(
boolean async =
false) = 0;
91 inline IRscServiceProxyFactory& IPlcManagerService::GetProxyFactory()
93 return PlcManagerServiceProxyFactory::GetInstance();
Use this service to control the PLC of the controller.
Definition: IPlcManagerService.hpp:26
virtual void Reset(boolean async=false)=0
Resets the PLC and unloads its configuration.
IPlcManagerService(void)=default
Constructs an IPlcManagerService instance.
virtual PlcState GetPlcState()=0
Gets the actual PLC state.
virtual void Start(PlcStartKind startKind, boolean async=false)=0
Starts the PLC.
virtual void Stop(boolean async=false)=0
Stops the PLC.
virtual void Load(boolean async=false)=0
Loads the PLC configuration and setup the PLC.
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API