8 #include "Arp/System/Rsc/Services/IRscService.hpp" 9 #include "DataAccessServiceProxyFactory.hpp" 10 #include "Arp/System/Core/delegate.hxx" 11 #include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx" 12 #include "Arp/System/Rsc/Services/IRscWriteEnumerator.hxx" 13 #include "Arp/System/Rsc/Services/RscString.hxx" 14 #include "DataAccessError.hpp" 15 #include "ReadItem.hpp" 16 #include "WriteItem.hpp" 20 namespace Arp {
namespace Plc {
namespace Gds {
namespace Services
72 typedef std::shared_ptr<IDataAccessService> Ptr;
73 typedef delegate<void(IRscWriteEnumerator<RscString<512>>&)> ReadPortNamesDelegate;
74 typedef delegate<void(IRscReadEnumerator<ReadItem>&)> ReadResultDelegate;
75 typedef delegate<void(IRscWriteEnumerator<WriteItem>&)> WriteDataDelegate;
76 typedef delegate<void(IRscReadEnumerator<DataAccessError>&)> WriteResultDelegate;
85 static IRscServiceProxyFactory& GetProxyFactory(
void);
130 virtual void Read(ReadPortNamesDelegate portNamesDelegate, ReadResultDelegate resultDelegate) = 0;
174 virtual void Write(WriteDataDelegate dataDelegate, WriteResultDelegate resultDelegate) = 0;
191 inline IRscServiceProxyFactory& IDataAccessService::GetProxyFactory()
193 return DataAccessServiceProxyFactory::GetInstance();
Stores the data to be read, written by the controller and a possible data access error.
Definition: ReadItem.hpp:26
Namespace for classes and interfaces for the Remote Service Call implementation
virtual ~IDataAccessService(void)
Destructs this instance and frees all resouces.
Definition: IDataAccessService.hpp:187
DataAccessError
This enumeration contains the possible data access errors.
Definition: DataAccessError.hpp:20
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
Services for the direct data access.
Definition: IDataAccessService.hpp:69
IDataAccessService(void)
Constructs an IDataAccessService instance.
Definition: IDataAccessService.hpp:183
Stores the to be written data and the related variable name to be write to.
Definition: WriteItem.hpp:26