PLCnext API Documentation 23.6.0.37
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
40{
41public: // typedefs
42 using Ptr = std::shared_ptr<IPcpService>;
43
44public: // construction/destruction
46 IPcpService(void) = default;
47
48public: // static policy operation
49 static IRscServiceProxyFactory& GetProxyFactory(void);
50
51public: // abstract operations
61 virtual InitiateResult PcpInitiate(uint8 communicationReference) = 0;
62
75 virtual void PcpAbort(uint8 communicationReference, uint8 reasonCode, const std::vector<byte>& abortDetail) = 0;
76
89 virtual IdentifyResult PcpIdentify(uint8 communicationReference, uint8 invokeId) = 0;
90
103 virtual StatusResult PcpStatus(uint8 communicationReference, uint8 invokeId) = 0;
104
123 virtual InterbusResult PcpRead(uint8 communicationReference, uint8 invokeId, const ObjectAddress& pcpObject, std::vector<byte>& data) = 0;
124
143 virtual InterbusResult PcpWrite(uint8 communicationReference, uint8 invokeId, const ObjectAddress& pcpObject, const std::vector<byte>& data) = 0;
144};
145
147// inline methods of class IPcpService
148inline IRscServiceProxyFactory& IPcpService::GetProxyFactory()
149{
150 return PcpServiceProxyFactory::GetInstance();
151}
152
153}}}} // 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:40
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
Base interface for all Rsc service interface.
Definition: IRscService.hpp:20
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:28
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API