PLCnext API Documentation 23.0.2.9
IArConfigurationService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include <vector>
9#include "Arp/Io/ProfinetStack/Controller/Services/ArConfiguration.hpp"
10#include "Arp/Io/ProfinetStack/Controller/Services/ArConfigurationServiceProxyFactory.hpp"
11#include "Arp/Io/ProfinetStack/Controller/Services/ArDifference.hpp"
12#include "Arp/System/Core/delegate.hxx"
13#include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx"
14#include "Arp/System/Rsc/Services/IRscService.hpp"
15#include "Arp/System/Rsc/Services/IRscWriteEnumerator.hxx"
16
17// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IArConfigurationService.cs
18
19namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
20{
21
22using namespace Arp;
23using namespace Arp::System::Rsc::Services;
24
29{
30public: // typedefs
31 using Ptr = std::shared_ptr<IArConfigurationService>;
32 using GetConfigurationsResultDelegate = delegate<void(IRscReadEnumerator<ArConfiguration>&)>;
33 using GetDifferencesResultDelegate = delegate<void(IRscReadEnumerator<ArDifference>&)>;
34
35public: // construction/destruction
37 IArConfigurationService(void) = default;
38
39public: // static policy operation
40 static IRscServiceProxyFactory& GetProxyFactory(void);
41
42public: // abstract operations
49
56 virtual void GetConfigurations(const std::vector<uint16>& arUserIds, GetConfigurationsResultDelegate resultDelegate) = 0;
57
63 virtual ArDifference GetDifference(uint16 arUserId) = 0;
64
71 virtual void GetDifferences(const std::vector<uint16>& arUserIds, GetDifferencesResultDelegate resultDelegate) = 0;
72};
73
75// inline methods of class IArConfigurationService
76inline IRscServiceProxyFactory& IArConfigurationService::GetProxyFactory()
77{
78 return ArConfigurationServiceProxyFactory::GetInstance();
79}
80
81}}}}} // end of namespace Arp::Io::ProfinetStack::Controller::Services
Contains configuration for an AR
Definition: ArConfiguration.hpp:26
Contains AR configurations with differences
Definition: ArDifference.hpp:26
This service provides PROFINET AR configurations and differences
Definition: IArConfigurationService.hpp:29
virtual void GetDifferences(const std::vector< uint16 > &arUserIds, GetDifferencesResultDelegate resultDelegate)=0
Get differences in configuration for multiple ARs
virtual ArConfiguration GetConfiguration(uint16 arUserId)=0
Get PROFINET configuration for one AR
IArConfigurationService(void)=default
Constructs an IArConfigurationService instance.
virtual void GetConfigurations(const std::vector< uint16 > &arUserIds, GetConfigurationsResultDelegate resultDelegate)=0
Get PROFINET configuration for multiple ARs
virtual ArDifference GetDifference(uint16 arUserId)=0
Get difference in configuration for one AR
Interface for reading an array or an enumerator. For regular enumerators UndefinedArrayLength is used...
Definition: IRscReadEnumerator.hxx:21
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API