PLCnext API Documentation  22.9.0.33
PciDeviceStatePayload.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 
7 #pragma once
8 
9 
10 #include "Arp/System/Nm/SpecializedPayload.hpp"
11 #include "Arp/System/NmPayload/Device/PciDeviceState.hpp"
12 
13 
14 namespace Arp { namespace System { namespace NmPayload { namespace Device
15 {
16 
17 
20 class PciDeviceStatePayload : public Arp::System::Nm::SpecializedPayload<PciDeviceStatePayload>
21 {
22 public:
24  using ArgumentsType = PciDeviceState;
25 
26  using SpecializedPayload::SpecializedPayload;
27 
30  explicit PciDeviceStatePayload(PciDeviceState state);
31 
33  PciDeviceState GetState() const;
34 
35 private:
36  // Do not change the order of the field initialization!
37  const size_t indexState = this->AddField<PciDeviceState>();
38 };
39 
40 
41 }}}} // namespace Arp::System::NmPayload::Device
Payload class for the status of PCI extension devices
Definition: PciDeviceStatePayload.hpp:21
PciDeviceStatePayload(PciDeviceState state)
Creates a payload object
PciDeviceState GetState() const
Returns the state of the interface
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:43
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API