8 #include "Arp/System/Rsc/Services/IRscService.hpp" 9 #include "DeviceSettingsServiceProxyFactory.hpp" 10 #include "AccessErrorCode.hpp" 11 #include "Arp/System/Core/delegate.hxx" 12 #include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx" 13 #include "Arp/System/Rsc/Services/IRscWriteEnumerator.hxx" 14 #include "Arp/System/Rsc/Services/RscString.hxx" 15 #include "DeviceSettingItem.hpp" 16 #include "DeviceSettingResult.hpp" 20 namespace Arp {
namespace Device {
namespace Interface {
namespace Services
32 using Ptr = std::shared_ptr<IDeviceSettingsService>;
33 using ReadValuesSettingsDelegate = delegate<void(IRscWriteEnumerator<RscString<512>>&)>;
34 using ReadValuesResultDelegate = delegate<void(IRscReadEnumerator<DeviceSettingResult>&)>;
35 using WriteValuesSettingItemsDelegate = delegate<void(IRscWriteEnumerator<DeviceSettingItem>&)>;
36 using WriteValuesResultDelegate = delegate<void(IRscReadEnumerator<AccessErrorCode>&)>;
43 static IRscServiceProxyFactory& GetProxyFactory(
void);
58 virtual void ReadValues(ReadValuesSettingsDelegate settingsDelegate, ReadValuesResultDelegate resultDelegate) = 0;
73 virtual void WriteValues(WriteValuesSettingItemsDelegate settingItemsDelegate, WriteValuesResultDelegate resultDelegate) = 0;
78 inline IRscServiceProxyFactory& IDeviceSettingsService::GetProxyFactory()
80 return DeviceSettingsServiceProxyFactory::GetInstance();
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
Use this service to read and write device settings.
Definition: IDeviceSettingsService.hpp:29
Container for a combination of an error code and a value which is a result for a read operation to a ...
Definition: DeviceSettingResult.hpp:29
Container for a (relative) setting identifier with its value.
Definition: DeviceSettingItem.hpp:31
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
AccessErrorCode
Enumeration for error codes returned from Device.Interface.Services.
Definition: AccessErrorCode.hpp:20