PLCnext API Documentation  22.3.0.20
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  using Ptr = std::shared_ptr<IPlcManagerService2>;
28 
29 public: // construction/destruction
31  IPlcManagerService2(void) = default;
32 
33 public: // static policy operation
34  static IRscServiceProxyFactory& GetProxyFactory(void);
35 
36 public: // abstract operations
37  virtual void Load(boolean async = false) = 0;
38  virtual void Start(PlcStartKind startKind, boolean async = false) = 0;
39  virtual void Stop(boolean async = false) = 0;
40  virtual void Reset(boolean async = false) = 0;
41  virtual PlcState GetPlcState() = 0;
42 
48  virtual void Change(boolean async = false) = 0;
49 
56  virtual void Restart(PlcStartKind startKind, boolean async = false) = 0;
57 };
58 
60 // inline methods of class IPlcManagerService2
61 inline IRscServiceProxyFactory& IPlcManagerService2::GetProxyFactory()
62 {
63  return PlcManagerService2ProxyFactory::GetInstance();
64 }
65 
66 }}}} // end of namespace Arp::Plc::Domain::Services
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
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