PLCnext API Documentation 23.6.0.37
IDeviceSettingsService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include "Arp/Device/Interface/Services/AccessErrorCode.hpp"
9#include "Arp/Device/Interface/Services/DeviceSettingItem.hpp"
10#include "Arp/Device/Interface/Services/DeviceSettingResult.hpp"
11#include "Arp/Device/Interface/Services/DeviceSettingsServiceProxyFactory.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#include "Arp/System/Rsc/Services/RscString.hxx"
17
18// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IDeviceSettingsService.cs
19
20namespace Arp { namespace Device { namespace Interface { namespace Services
21{
22
23using namespace Arp;
24using namespace Arp::System::Rsc::Services;
25
36{
37public: // typedefs
38 using Ptr = std::shared_ptr<IDeviceSettingsService>;
39 using ReadValuesResultDelegate = delegate<void(IRscReadEnumerator<DeviceSettingResult>&)>;
40 using ReadValuesSettingsDelegate = delegate<void(IRscWriteEnumerator<RscString<512>>&)>;
41 using WriteValuesResultDelegate = delegate<void(IRscReadEnumerator<AccessErrorCode>&)>;
42 using WriteValuesSettingItemsDelegate = delegate<void(IRscWriteEnumerator<DeviceSettingItem>&)>;
43
44public: // construction/destruction
46 IDeviceSettingsService(void) = default;
47
48public: // static policy operation
49 static IRscServiceProxyFactory& GetProxyFactory(void);
50
51public: // abstract operations
55 virtual DeviceSettingResult ReadValue(const RscString<512>& setting) = 0;
56
60 virtual void ReadValues(ReadValuesSettingsDelegate settingsDelegate, ReadValuesResultDelegate resultDelegate) = 0;
61
66 virtual AccessErrorCode WriteValue(const DeviceSettingItem& settingItem) = 0;
67
71 virtual void WriteValues(WriteValuesSettingItemsDelegate settingItemsDelegate, WriteValuesResultDelegate resultDelegate) = 0;
72};
73
75// inline methods of class IDeviceSettingsService
76inline IRscServiceProxyFactory& IDeviceSettingsService::GetProxyFactory()
77{
78 return DeviceSettingsServiceProxyFactory::GetInstance();
79}
80
81}}}} // end of namespace Arp::Device::Interface::Services
Container for a (relative) setting identifier with its value.
Definition: DeviceSettingItem.hpp:32
Container for a combination of an error code and a value which is a result for a read operation to a ...
Definition: DeviceSettingResult.hpp:30
This service provides operations to read and write settings from resp. to the device.
Definition: IDeviceSettingsService.hpp:36
virtual AccessErrorCode WriteValue(const DeviceSettingItem &settingItem)=0
This operation writes a single setting.
IDeviceSettingsService(void)=default
Constructs an IDeviceSettingsService instance.
virtual void WriteValues(WriteValuesSettingItemsDelegate settingItemsDelegate, WriteValuesResultDelegate resultDelegate)=0
This operation writes a list of settings.
virtual DeviceSettingResult ReadValue(const RscString< 512 > &setting)=0
This operation reads a single setting.
virtual void ReadValues(ReadValuesSettingsDelegate settingsDelegate, ReadValuesResultDelegate resultDelegate)=0
This operation reads a list of settings.
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:20
Interface for writing an array or an enumerator. For regular enumerators UndefinedArrayLength is used...
Definition: IRscWriteEnumerator.hxx:23
AccessErrorCode
Enumeration for error codes returned from Device.Interface.Services.
Definition: AccessErrorCode.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API