PLCnext API Documentation  22.9.0.33
IPlcManagerService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
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"
12 
13 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IPlcManagerService.cs
14 
15 namespace Arp { namespace Plc { namespace Domain { namespace Services
16 {
17 
18 using namespace Arp;
19 using namespace Arp::System::Rsc::Services;
20 
26 {
27 public: // typedefs
28  using Ptr = std::shared_ptr<IPlcManagerService>;
29 
30 public: // construction/destruction
32  IPlcManagerService(void) = default;
33 
34 public: // static policy operation
35  static IRscServiceProxyFactory& GetProxyFactory(void);
36 
37 public: // abstract operations
43  virtual void Load(boolean async = false) = 0;
44 
63  virtual void Start(PlcStartKind startKind, boolean async = false) = 0;
64 
70  virtual void Stop(boolean async = false) = 0;
71 
77  virtual void Reset(boolean async = false) = 0;
78 
86  virtual PlcState GetPlcState() = 0;
87 };
88 
90 // inline methods of class IPlcManagerService
91 inline IRscServiceProxyFactory& IPlcManagerService::GetProxyFactory()
92 {
93  return PlcManagerServiceProxyFactory::GetInstance();
94 }
95 
96 }}}} // end of namespace Arp::Plc::Domain::Services
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