#pragma once #include "XNATA04DataProcessor_global.h" #include #include "../XNAerodynamics/XNAerodynamicsInterface/XNAerodynamicsPubSubTypes.hpp" #include "../XNWeightBalance/XNWeightBalanceInterface/XNWeightBalancePubSubTypes.hpp" #include "../XNGroundHandling/XNGroundHandlingInterface/XNGroundHandlingPubSubTypes.hpp" #include class XNATA04DataProcessorPrivate; class XNATA04DATAPROCESSOR_EXPORT XNATA04DataProcessor : public XNModelObject { Q_OBJECT Q_DISABLE_COPY(XNATA04DataProcessor) Q_DECLARE_PRIVATE(XNATA04DataProcessor) XN_DECLARE_DDS() public: explicit XNATA04DataProcessor(QObject *parent = nullptr); virtual ~XNATA04DataProcessor(); protected: XNATA04DataProcessor(XNATA04DataProcessorPrivate &dd, QObject *parent = nullptr); public slots: virtual void OnInitialize() override; virtual void OnPrepareForExecute() override; public: virtual void StepUpdate() override; private: void OnWbOutput(const XNSim::ATA04::WeightBalance_output &output); void OnGhOutput(const XNSim::ATA04::GroundHandling_output &output); void OnAeroOutput(const XNSim::ATA04::Aerodynamics_output &output); void OnAeroHeartbeat(const XNSim::ATA04::Aerodynamics_heartbeat &heartbeat); void OnWbHeartbeat(const XNSim::ATA04::WeightBalance_heartbeat &heartbeat); void OnGhHeartbeat(const XNSim::ATA04::GroundHandling_heartbeat &heartbeat); void OnAeroInput(const QVariant &data); void OnWbInput(const QVariant &data); void OnGhInput(const QVariant &data); void SendUdpData(); void SendAeroOutput(); void SendWbOutput(); void SendGhOutput(); void SendAeroHeartbeat(); void SendWbHeartbeat(); void SendGhHeartbeat(); void SendUdpTestData(); }; Q_DECLARE_METATYPE(XNATA04DataProcessor)