PLCnext API Documentation 23.0.2.9
IPcpService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include <vector>
9#include "Arp/Io/Interbus/Services/IdentifyResult.hpp"
10#include "Arp/Io/Interbus/Services/InitiateResult.hpp"
11#include "Arp/Io/Interbus/Services/InterbusResult.hpp"
12#include "Arp/Io/Interbus/Services/ObjectAddress.hpp"
13#include "Arp/Io/Interbus/Services/PcpServiceProxyFactory.hpp"
14#include "Arp/Io/Interbus/Services/StatusResult.hpp"
15#include "Arp/System/Rsc/Services/IRscService.hpp"
16
17// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IPcpService.cs
18
19namespace Arp { namespace Io { namespace Interbus { namespace Services
20{
21
22using namespace Arp;
23using namespace Arp::System::Rsc::Services;
24
37{
38public: // typedefs
39 using Ptr = std::shared_ptr<IPcpService>;
40
41public: // construction/destruction
43 IPcpService(void) = default;
44
45public: // static policy operation
46 static IRscServiceProxyFactory& GetProxyFactory(void);
47
48public: // abstract operations
58 virtual InitiateResult PcpInitiate(uint8 communicationReference) = 0;
59
72 virtual void PcpAbort(uint8 communicationReference, uint8 reasonCode, const std::vector<uint8>& abortDetail) = 0;
73
86 virtual IdentifyResult PcpIdentify(uint8 communicationReference, uint8 invokeId) = 0;
87
100 virtual StatusResult PcpStatus(uint8 communicationReference, uint8 invokeId) = 0;
101
120 virtual InterbusResult PcpRead(uint8 communicationReference, uint8 invokeId, const ObjectAddress& pcpObject, std::vector<uint8>& data) = 0;
121
140 virtual InterbusResult PcpWrite(uint8 communicationReference, uint8 invokeId, const ObjectAddress& pcpObject, const std::vector<uint8>& data) = 0;
141};
142
144// inline methods of class IPcpService
145inline IRscServiceProxyFactory& IPcpService::GetProxyFactory()
146{
147 return PcpServiceProxyFactory::GetInstance();
148}
149
150}}}} // end of namespace Arp::Io::Interbus::Services
This service provides acyclic communication to PCP devices. As default all PCP devices in the Interbu...
Definition: IPcpService.hpp:37
virtual StatusResult PcpStatus(uint8 communicationReference, uint8 invokeId)=0
This operation gets current status of PCP device.
virtual InitiateResult PcpInitiate(uint8 communicationReference)=0
This operation establishs a connection to a PCP device.
IPcpService(void)=default
Constructs an IPcpService instance.
virtual void PcpAbort(uint8 communicationReference, uint8 reasonCode, const std::vector< uint8 > &abortDetail)=0
This operation aborts a connection to a PCP device.
virtual InterbusResult PcpRead(uint8 communicationReference, uint8 invokeId, const ObjectAddress &pcpObject, std::vector< uint8 > &data)=0
This operation reads a data record from a PCP device.
virtual IdentifyResult PcpIdentify(uint8 communicationReference, uint8 invokeId)=0
This operation gets device information of PCP device.
virtual InterbusResult PcpWrite(uint8 communicationReference, uint8 invokeId, const ObjectAddress &pcpObject, const std::vector< uint8 > &data)=0
This operation writes a data record to a PCP device.
Result of the PcpIdentify service
Definition: IdentifyResult.hpp:25
Contains result the PcpInitiate service
Definition: InitiateResult.hpp:26
Contains error information of an Interbus service.
Definition: InterbusResult.hpp:24
Contains parameter to address an object
Definition: ObjectAddress.hpp:24
Result of the PcpStatus service
Definition: StatusResult.hpp:25
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:27
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API