PLCnext API Documentation  21.0.0.35466
IPlcManagerService2.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 "PlcManagerService2ProxyFactory.hpp"
10 #include "PlcStartKind.hpp"
11 #include "PlcState.hpp"
12 
13 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IPlcManagerService2.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<IPlcManagerService2> Ptr;
28 
29 public: // construction/destruction
31  IPlcManagerService2(void);
33  virtual ~IPlcManagerService2(void);
34 
35 public: // static policy operation
36  static IRscServiceProxyFactory& GetProxyFactory(void);
37 
38 public: // abstract operations
39  virtual void Load(boolean async = false) = 0;
40  virtual void Start(PlcStartKind startKind, boolean async = false) = 0;
41  virtual void Stop(boolean async = false) = 0;
42  virtual void Reset(boolean async = false) = 0;
43  virtual PlcState GetPlcState() = 0;
44 
50  virtual void Change(boolean async = false) = 0;
51 
58  virtual void Restart(PlcStartKind startKind, boolean async = false) = 0;
59 
60 private: // deleted methods (for non-copyable classes)
61  IPlcManagerService2(const IPlcManagerService2& arg) = delete;
62  IPlcManagerService2& operator=(const IPlcManagerService2& arg) = delete;
63 };
64 
66 // inline methods of class IPlcManagerService2
68 {
69 }
70 
72 {
73 }
74 
75 inline IRscServiceProxyFactory& IPlcManagerService2::GetProxyFactory()
76 {
77  return PlcManagerService2ProxyFactory::GetInstance();
78 }
79 
80 }}}} // end of namespace Arp::Plc::Domain::Services
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
IPlcManagerService2(void)
Constructs an IPlcManagerService2 instance.
Definition: IPlcManagerService2.hpp:67
virtual ~IPlcManagerService2(void)
Destructs this instance and frees all resouces.
Definition: IPlcManagerService2.hpp:71
The DownloadChange extension of the Arp.Plc.Domain.Services.IPlcManagerService.
Definition: IPlcManagerService2.hpp:24
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18