PLCnext API Documentation  21.0.0.35466
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:
23  using SpecializedPayload::SpecializedPayload;
24 
27  explicit PciDeviceStatePayload(PciDeviceState state);
28 
30  PciDeviceState GetState() const;
31 
32 private:
33  // Do not change the order of the field initialization!
34  const size_t indexState = this->AddField<PciDeviceState>();
35 };
36 
37 
38 }}}} // namespace Arp::System::NmPayload::Device
PciDeviceStatePayload(PciDeviceState state)
Creates a payload object
Payload class for the status of PCI extension devices
Definition: PciDeviceStatePayload.hpp:20
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:42
Root namespace for the PLCnext API
PciDeviceState GetState() const
Returns the state of the interface
System components used by the System, Device, Plc or Io domains.