PLCnext API Documentation  21.9.0.40
IPlcManagerService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Rsc/Services/IRscService.hpp"
9 #include "PlcManagerServiceProxyFactory.hpp"
10 #include "PlcStartKind.hpp"
11 #include "PlcState.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 
25 {
26 public: // typedefs
27  using Ptr = std::shared_ptr<IPlcManagerService>;
28 
29 public: // construction/destruction
31  IPlcManagerService(void) = default;
32 
33 public: // static policy operation
34  static IRscServiceProxyFactory& GetProxyFactory(void);
35 
36 public: // abstract operations
42  virtual void Load(boolean async = false) = 0;
43 
62  virtual void Start(PlcStartKind startKind, boolean async = false) = 0;
63 
69  virtual void Stop(boolean async = false) = 0;
70 
76  virtual void Reset(boolean async = false) = 0;
77 
85  virtual PlcState GetPlcState() = 0;
86 };
87 
89 // inline methods of class IPlcManagerService
90 inline IRscServiceProxyFactory& IPlcManagerService::GetProxyFactory()
91 {
92  return PlcManagerServiceProxyFactory::GetInstance();
93 }
94 
95 }}}} // end of namespace Arp::Plc::Domain::Services
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
Use this service to control the PLC of the controller.
Definition: IPlcManagerService.hpp:24