55 lines
1.4 KiB
C++
Raw Normal View History

2025-04-28 12:25:20 +08:00
#include "XNAerodynamics.hpp"
#include "XNAerodynamicsPubSubTypes.hpp"
#include <QString>
#include <QMutex>
#include <QMutexLocker>
#include <QHash>
#include <functional>
namespace XNSim
{
namespace ATA04
{
class Aerodynamics_input_Interface
{
public:
Aerodynamics_input_Interface();
~Aerodynamics_input_Interface();
QString getData(const QString &varName);
void inputDataListener(const XNSim::ATA04::Aerodynamics_input &input);
private:
XNSim::ATA04::Aerodynamics_input input;
QHash<QString, std::function<QString(const QString &)>> getDataFunction;
QMutex mutex;
};
class Aerodynamics_output_Interface
{
public:
Aerodynamics_output_Interface();
~Aerodynamics_output_Interface();
QString getData(const QString &varName);
void outputDataListener(const XNSim::ATA04::Aerodynamics_output &output);
private:
XNSim::ATA04::Aerodynamics_output output;
QHash<QString, std::function<QString(const QString &)>> getDataFunction;
QMutex mutex;
};
class Aerodynamics_heartbeat_Interface
{
public:
Aerodynamics_heartbeat_Interface();
~Aerodynamics_heartbeat_Interface();
QString getData(const QString &varName);
void heartbeatListener(const XNSim::ATA04::Aerodynamics_heartbeat &heartbeat);
private:
XNSim::ATA04::Aerodynamics_heartbeat heartbeat;
QHash<QString, std::function<QString(const QString &)>> getDataFunction;
QMutex mutex;
};
} // namespace ATA04
} // namespace XNSim