PLCnext API Documentation  22.0.0.43
IConfigurationService.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 "ConfigurationServiceProxyFactory.hpp"
10 #include "Arp/System/Rsc/Services/RscString.hxx"
11 #include "Arp/System/Rsc/Services/RscVariant.hxx"
12 #include "ConfigurationErrorCode.hpp"
13 #include <vector>
14 
15 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IConfigurationService.cs
16 
17 namespace Arp { namespace Io { namespace ProfinetStack { namespace System { namespace Services
18 {
19 
20 using namespace Arp;
21 using namespace Arp::System::Rsc::Services;
22 
27 {
28 public: // typedefs
29  using Ptr = std::shared_ptr<IConfigurationService>;
30 
31 public: // construction/destruction
33  IConfigurationService(void) = default;
34 
35 public: // static policy operation
36  static IRscServiceProxyFactory& GetProxyFactory(void);
37 
38 public: // abstract operations
45  virtual ConfigurationErrorCode Read(const RscString<512>& name, RscVariant<512>& value) = 0;
46 
53  virtual ConfigurationErrorCode Write(const RscString<512>& name, RscVariant<512> value) = 0;
54 
59  virtual RscString<512> GetControllerName() = 0;
60 
65  virtual std::vector<RscString<512>> GetDeviceNames() = 0;
66 };
67 
69 // inline methods of class IConfigurationService
70 inline IRscServiceProxyFactory& IConfigurationService::GetProxyFactory()
71 {
72  return ConfigurationServiceProxyFactory::GetInstance();
73 }
74 
75 }}}}} // end of namespace Arp::Io::ProfinetStack::System::Services
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
This service read and writes different configuration options to the profinet system.
Definition: IConfigurationService.hpp:26
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
System components used by the System, Device, Plc or Io domains.