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