PLCnext API Documentation  22.9.0.33
IAcyclicCommunicationService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include <vector>
9 #include "Arp/Io/Profibus/Services/AcyclicCommunicationServiceProxyFactory.hpp"
10 #include "Arp/Io/Profibus/Services/RecordParameters.hpp"
11 #include "Arp/Io/Profibus/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 
16 namespace Arp { namespace Io { namespace Profibus { namespace Services
17 {
18 
19 using namespace Arp;
20 using namespace Arp::System::Rsc::Services;
21 
27 {
28 public: // typedefs
29  using Ptr = std::shared_ptr<IAcyclicCommunicationService>;
30 
31 public: // construction/destruction
34 
35 public: // static policy operation
36  static IRscServiceProxyFactory& GetProxyFactory(void);
37 
38 public: // abstract operations
45  virtual RecordResult ReadRecord(const RecordParameters& parameters, std::vector<uint8>& data) = 0;
46 
53  virtual RecordResult WriteRecord(const RecordParameters& parameters, const std::vector<uint8>& data) = 0;
54 };
55 
57 // inline methods of class IAcyclicCommunicationService
58 inline IRscServiceProxyFactory& IAcyclicCommunicationService::GetProxyFactory()
59 {
60  return AcyclicCommunicationServiceProxyFactory::GetInstance();
61 }
62 
63 }}}} // end of namespace Arp::Io::Profibus::Services
Use this service for acyclic communication with Profibus slaves
Definition: IAcyclicCommunicationService.hpp:27
IAcyclicCommunicationService(void)=default
Constructs an IAcyclicCommunicationService instance.
virtual RecordResult WriteRecord(const RecordParameters &parameters, const std::vector< uint8 > &data)=0
Writes object to Profibus module
virtual RecordResult ReadRecord(const RecordParameters &parameters, std::vector< uint8 > &data)=0
Reads object from Profibus module
Parameters to address a module.
Definition: RecordParameters.hpp:25
Result of the record service
Definition: RecordResult.hpp:24
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API