PLCnext API Documentation  20.6.0.30321
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  typedef std::shared_ptr<IPlcManagerService> Ptr;
28 
29 public: // construction/destruction
31  IPlcManagerService(void);
33  virtual ~IPlcManagerService(void);
34 
35 public: // static policy operation
36  static IRscServiceProxyFactory& GetProxyFactory(void);
37 
38 public: // abstract operations
44  virtual void Load(boolean async = false) = 0;
45 
61  virtual void Start(PlcStartKind startKind, boolean async = false) = 0;
62 
68  virtual void Stop(boolean async = false) = 0;
69 
75  virtual void Reset(boolean async = false) = 0;
76 
84  virtual PlcState GetPlcState() = 0;
85 
86 private: // deleted methods (for non-copyable classes)
87  IPlcManagerService(const IPlcManagerService& arg) = delete;
88  IPlcManagerService& operator=(const IPlcManagerService& arg) = delete;
89 };
90 
92 // inline methods of class IPlcManagerService
94 {
95 }
96 
98 {
99 }
100 
101 inline IRscServiceProxyFactory& IPlcManagerService::GetProxyFactory()
102 {
103  return PlcManagerServiceProxyFactory::GetInstance();
104 }
105 
106 }}}} // end of namespace Arp::Plc::Domain::Services
Namespace for classes and interfaces for the Remote Service Call implementation
virtual ~IPlcManagerService(void)
Destructs this instance and frees all resouces.
Definition: IPlcManagerService.hpp:97
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
IPlcManagerService(void)
Constructs an IPlcManagerService instance.
Definition: IPlcManagerService.hpp:93
Use this service to control the PLC of the controller.
Definition: IPlcManagerService.hpp:24