PLCnext API Documentation 25.0.2.69
IPcpService.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/IRscService.hpp"
10#include <vector>
11#include "Arp/Io/Interbus/Services/IdentifyResult.hpp"
12#include "Arp/Io/Interbus/Services/InitiateResult.hpp"
13#include "Arp/Io/Interbus/Services/InterbusResult.hpp"
14#include "Arp/Io/Interbus/Services/ObjectAddress.hpp"
15#include "Arp/Io/Interbus/Services/StatusResult.hpp"
16
17// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IPcpService.cs
18
20{
21
22using namespace Arp::Base::Rsc::Commons;
23
38class ARP_EXPORT IPcpService : public IRscService
39{
40public: // usings
41 using Ptr = std::shared_ptr<IPcpService>;
42
43public: // construction/destruction
45 IPcpService(void) = default;
46
47public: // static policy operation
48 static IRscServiceProxyFactory& GetProxyFactory(void);
49
50public: // abstract operations
60 virtual InitiateResult PcpInitiate(uint8 communicationReference) = 0;
61
74 virtual void PcpAbort(uint8 communicationReference, uint8 reasonCode, const std::vector<byte>& abortDetail) = 0;
75
88 virtual IdentifyResult PcpIdentify(uint8 communicationReference, uint8 invokeId) = 0;
89
102 virtual StatusResult PcpStatus(uint8 communicationReference, uint8 invokeId) = 0;
103
122 virtual InterbusResult PcpRead(uint8 communicationReference, uint8 invokeId, const ObjectAddress& pcpObject, std::vector<byte>& data) = 0;
123
142 virtual InterbusResult PcpWrite(uint8 communicationReference, uint8 invokeId, const ObjectAddress& pcpObject, const std::vector<byte>& data) = 0;
143};
144
145} // end of namespace Arp::Io::Interbus::Services
This is the base interface of all Rsc services.
Definition: IRscService.hpp:22
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
This service provides acyclic communication to PCP devices. As default all PCP devices in the Interbu...
Definition: IPcpService.hpp:39
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< byte > &abortDetail)=0
This operation aborts a connection to a PCP device.
virtual InterbusResult PcpWrite(uint8 communicationReference, uint8 invokeId, const ObjectAddress &pcpObject, const std::vector< byte > &data)=0
This operation writes a data record to a PCP device.
virtual IdentifyResult PcpIdentify(uint8 communicationReference, uint8 invokeId)=0
This operation gets device information of PCP device.
virtual InterbusResult PcpRead(uint8 communicationReference, uint8 invokeId, const ObjectAddress &pcpObject, std::vector< byte > &data)=0
This operation reads a data record from 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
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:25
Namespace for Interbus services