PLCnext API Documentation  22.3.0.20
IArConfigurationService.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 "ArConfigurationServiceProxyFactory.hpp"
10 #include "ArConfiguration.hpp"
11 #include "ArDifference.hpp"
12 #include "Arp/System/Core/delegate.hxx"
13 #include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx"
14 #include "Arp/System/Rsc/Services/IRscWriteEnumerator.hxx"
15 #include <vector>
16 
17 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IArConfigurationService.cs
18 
19 namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
20 {
21 
22 using namespace Arp;
23 using namespace Arp::System::Rsc::Services;
24 
28 {
29 public: // typedefs
30  using Ptr = std::shared_ptr<IArConfigurationService>;
31  using GetConfigurationsResultDelegate = delegate<void(IRscReadEnumerator<ArConfiguration>&)>;
32  using GetDifferencesResultDelegate = delegate<void(IRscReadEnumerator<ArDifference>&)>;
33 
34 public: // construction/destruction
36  IArConfigurationService(void) = default;
37 
38 public: // static policy operation
39  static IRscServiceProxyFactory& GetProxyFactory(void);
40 
41 public: // abstract operations
47  virtual ArConfiguration GetConfiguration(uint16 arUserId) = 0;
48 
55  virtual void GetConfigurations(const std::vector<uint16>& arUserIds, GetConfigurationsResultDelegate resultDelegate) = 0;
56 
62  virtual ArDifference GetDifference(uint16 arUserId) = 0;
63 
70  virtual void GetDifferences(const std::vector<uint16>& arUserIds, GetDifferencesResultDelegate resultDelegate) = 0;
71 };
72 
74 // inline methods of class IArConfigurationService
75 inline IRscServiceProxyFactory& IArConfigurationService::GetProxyFactory()
76 {
77  return ArConfigurationServiceProxyFactory::GetInstance();
78 }
79 
80 }}}}} // end of namespace Arp::Io::ProfinetStack::Controller::Services
This service provides PROFINET AR configurations and differences
Definition: IArConfigurationService.hpp:27
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
Root namespace for the PLCnext API
Contains AR configurations with differences
Definition: ArDifference.hpp:25
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
Contains configuration for an AR
Definition: ArConfiguration.hpp:25