XNSim/XNMonitor/ModelTopicMonitor/GroundHandlingMonitor.h
2025-04-28 12:25:20 +08:00

73 lines
1.6 KiB
C++
Executable File

/**
* @file GroundHandlingMonitor.h
* @author jinchao
* @brief 地操模型主题监控类
* @version 1.0
* @date 2025-03-10
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#pragma once
#include "../TopicMonitorFactory/TopicMonitor.h"
#include "../../XNModels/XNGroundHandling/XNGroundHandlingInterface/XNGroundHandlingInterface.hpp"
#include <QMap>
/**
* @brief 地操模型主题监控类
*/
class GroundHandlingMonitor : public TopicMonitor
{
Q_OBJECT
public:
/**
* @brief 构造函数
* @param parent 父对象
*/
GroundHandlingMonitor(QObject *parent = nullptr);
/**
* @brief 析构函数
*/
virtual ~GroundHandlingMonitor();
/**
* @brief 开始监控
* @param topicName 主题名称
* @return 是否成功
*/
virtual bool startMonitoring(const QString &topicName) override;
/**
* @brief 停止监控
* @param topicName 主题名称
* @return 是否成功
*/
virtual void stopMonitoring(const QString &topicName) override;
/**
* @brief 注入数据
* @param varName 变量名称
* @param value 值
* @return 是否成功
*/
virtual bool injectData(const QString &varName, double value) override;
/**
* @brief 获取数据
* @param topicName 主题名称
* @param varName 变量名称
* @return 值
*/
virtual QString getData(const QString &topicName, const QString &varName) override;
private:
/**
* @brief 输入接口
*/
XNSim::ATA04::GroundHandling_input_Interface *inputInterface;
/**
* @brief 输出接口
*/
XNSim::ATA04::GroundHandling_output_Interface *outputInterface;
/**
* @brief 心跳接口
*/
XNSim::ATA04::GroundHandling_heartbeat_Interface *heartbeatInterface;
};