PLCnext API Documentation 23.6.0.37
IAcyclicCommunicationService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include <vector>
9#include "Arp/Io/ProfinetStack/Controller/Services/AcyclicCommunicationServiceProxyFactory.hpp"
10#include "Arp/Io/ProfinetStack/Controller/Services/RecordParam.hpp"
11#include "Arp/Io/ProfinetStack/Controller/Services/RecordResult.hpp"
12#include "Arp/System/Rsc/Services/IRscService.hpp"
13
14// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IAcyclicCommunicationService.cs
15
16namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
17{
18
19using namespace Arp;
20using namespace Arp::System::Rsc::Services;
21
30{
31public: // typedefs
32 using Ptr = std::shared_ptr<IAcyclicCommunicationService>;
33
34public: // construction/destruction
37
38public: // static policy operation
39 static IRscServiceProxyFactory& GetProxyFactory(void);
40
41public: // abstract operations
55 virtual RecordResult RecordRead(const RecordParam& recordParam, std::vector<byte>& data) = 0;
56
70 virtual RecordResult RecordWrite(const RecordParam& recordParam, const std::vector<byte>& data) = 0;
71};
72
74// inline methods of class IAcyclicCommunicationService
75inline IRscServiceProxyFactory& IAcyclicCommunicationService::GetProxyFactory()
76{
77 return AcyclicCommunicationServiceProxyFactory::GetInstance();
78}
79
80}}}}} // end of namespace Arp::Io::ProfinetStack::Controller::Services
Use this service for acyclic PROFINET communication
Definition: IAcyclicCommunicationService.hpp:30
virtual RecordResult RecordWrite(const RecordParam &recordParam, const std::vector< byte > &data)=0
Write data on a device module (blocking mode)
virtual RecordResult RecordRead(const RecordParam &recordParam, std::vector< byte > &data)=0
Read data from a device module (blocking mode)
IAcyclicCommunicationService(void)=default
Constructs an IAcyclicCommunicationService instance.
Parameter to address a module. Use either the Node ID or the address consisting the station name,...
Definition: RecordParam.hpp:26
Result of the record service
Definition: RecordResult.hpp:24
Base interface for all Rsc service interface.
Definition: IRscService.hpp:20
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API