PLCnext API Documentation 25.9.0.13
IDcpService.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/Base/Rsc/Commons/RscString.hxx"
12#include "Arp/Io/ProfinetStack/System/Services/DcpConfirmation.hpp"
13#include "Arp/Io/ProfinetStack/System/Services/DcpResult.hpp"
14#include "Arp/Io/ProfinetStack/System/Services/Station.hpp"
15#include "Arp/Io/ProfinetStack/System/Services/StationAddress.hpp"
16#include "Arp/Io/ProfinetStack/System/Services/StoreOption.hpp"
17
18// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IDcpService.cs
19
21{
22
23using namespace Arp::Base::Rsc::Commons;
24
33class ARP_EXPORT IDcpService : public IRscService
34{
35public: // usings
36 using Ptr = std::shared_ptr<IDcpService>;
37
38public: // construction/destruction
40 IDcpService(void) = default;
41
42public: // static policy operation
43 static IRscServiceProxyFactory& GetProxyFactory(void);
44
45public: // abstract operations
51 virtual DcpResult IdentifyAll(uint8 networkInterface = 0) = 0;
52
59 virtual std::vector<DcpResult> SetNames(const std::vector<Station>& stations, StoreOption storeOption, uint8 networkInterface = 0) = 0;
60
67 virtual std::vector<DcpResult> SetIpAddresses(const std::vector<StationAddress>& stationAddresses, StoreOption storeOption, uint8 networkInterface = 0) = 0;
68
75 virtual std::vector<DcpResult> SendSignals(const std::vector<RscString<18>>& stationMacAddresses, uint8 networkInterface = 0) = 0;
76
83 virtual std::vector<DcpResult> ResetToFactoryDefault(const std::vector<RscString<18>>& stationMacAddresses, uint8 networkInterface = 0) = 0;
84
90 virtual std::vector<DcpConfirmation> GetDcpConfirmations(const std::vector<uint32>& xids, uint8 networkInterface = 0) = 0;
91};
92
93} // end of namespace Arp::Io::ProfinetStack::System::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
Contains information that are returned by a request.
Definition: DcpResult.hpp:27
This service enables sending DCP requests and retrieving confirmations.
Definition: IDcpService.hpp:34
virtual std::vector< DcpConfirmation > GetDcpConfirmations(const std::vector< uint32 > &xids, uint8 networkInterface=0)=0
This operation returns all exisiting confirmations for selected requests.
virtual DcpResult IdentifyAll(uint8 networkInterface=0)=0
This operation sends a request to identify all devices in a network.
virtual std::vector< DcpResult > SendSignals(const std::vector< RscString< 18 > > &stationMacAddresses, uint8 networkInterface=0)=0
This operation sends requests to let the station LEDs flash for 3s for multiple stations.
virtual std::vector< DcpResult > SetNames(const std::vector< Station > &stations, StoreOption storeOption, uint8 networkInterface=0)=0
This operation sends requests to set the station names for multiple stations.
virtual std::vector< DcpResult > ResetToFactoryDefault(const std::vector< RscString< 18 > > &stationMacAddresses, uint8 networkInterface=0)=0
This operation sends requests to reset all station data for multiple stations.
virtual std::vector< DcpResult > SetIpAddresses(const std::vector< StationAddress > &stationAddresses, StoreOption storeOption, uint8 networkInterface=0)=0
This operation sends requests to set the station network addresses for multiple stations.
IDcpService(void)=default
Constructs an IDcpService instance.
std::uint8_t uint8
The Arp unsigned integer type of 1 byte size.
Definition: PrimitiveTypes.hpp:25
Namespace for Profinet I/O system services
StoreOption
Contains value to specify how requested changes shall be stored.
Definition: StoreOption.hpp:19