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"
19 namespace Arp {
namespace Io {
namespace Interbus {
namespace Services
32 using Ptr = std::shared_ptr<IPcpService>;
39 static IRscServiceProxyFactory& GetProxyFactory(
void);
65 virtual void PcpAbort(
uint8 communicationReference,
uint8 reasonCode,
const std::vector<uint8>& abortDetail) = 0;
138 inline IRscServiceProxyFactory& IPcpService::GetProxyFactory()
140 return PcpServiceProxyFactory::GetInstance();
Service to communicate to PCP devices
Definition: IPcpService.hpp:30
virtual StatusResult PcpStatus(uint8 communicationReference, uint8 invokeId)=0
Get current status of PCP device
virtual InitiateResult PcpInitiate(uint8 communicationReference)=0
Establish 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
Abort connection to a PCP device
virtual InterbusResult PcpRead(uint8 communicationReference, uint8 invokeId, const ObjectAddress &pcpObject, std::vector< uint8 > &data)=0
Read data record from PCP device
virtual IdentifyResult PcpIdentify(uint8 communicationReference, uint8 invokeId)=0
Get device information of PCP device.
virtual InterbusResult PcpWrite(uint8 communicationReference, uint8 invokeId, const ObjectAddress &pcpObject, const std::vector< uint8 > &data)=0
Write data record to a PCP device
Result on PcpIdentify service
Definition: IdentifyResult.hpp:25
Contains result of a PcpInitiate service
Definition: InitiateResult.hpp:26
Contains error information of Interbus service.
Definition: InterbusResult.hpp:24
Contains parameter to address an object
Definition: ObjectAddress.hpp:24
Result on 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
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API