Files
qt5-legatus-legacy/Lts/Services/EffectShowClient/handler_tab_data.h
T
2026-08-13 18:33:10 +02:00

71 lines
1.9 KiB
C++
Executable File

/**
* Handler for player data
* $Id$
* $HeadURL$
* $Author$
* Created by gr, SLSE, 2017-02-20
*/
#pragma once
#include "dds_handler.h"
#include "logger.h"
#include "esc_convert_from_tab.h"
#include "esc_convert_to_tab.h"
#include <TrainingAreaBase/tab_dtc.h>
namespace EffectShowClient
{
class MainHandler;
/**
* @brief Handler for data exchange with the Training Aeria Base (TAB) Proxy.
*
* (1)Receives the telegrams from central operating station via Training Area Base proxy.\n
* (2)Sends Telegrams to central operating station via Training Area Base proxy.\n
*/
class HandlerTabData : public QObject
, protected TrainingAreaBase::Interface::Ftc::SendFireSmokeMarkerDataReplyHandler
{
Q_OBJECT
public:
explicit HandlerTabData(MainHandler *mainHandler,
QObject *parent = nullptr);
~HandlerTabData();
/**
* @brief Receives the relevant telegrams from TAB after service start
*/
bool init();
/**
* @brief Triggers TAB to send order confirmation telegram to central operating station.
* @param[in] orderConfirmation Data for order confirmation telegram
*/
void orderConfirmation(const ConvertToTab::OrderConfirmation_t &orderConfirmation);
/**
* @brief Triggers TAB to send the vehicle status telegramm to central operating station.
* @param[in] vehicleStatus Data for vehicle status telegram
*/
void vehicleStatus(const ConvertToTab::VehicleStatus_t &vehicleStatus);
protected:
void onSendFireSmokeMarkerDataReply(const Core::FunctionReplyObject &reply) override final;
Q_SIGNALS:
void effectShowStopped(qint16 idEffectShow);
void effectShowContinued(const ConvertFromTab::EffectShowContinue_t &effectShowContinue);
private Q_SLOTS:
void onFireSmokeMarkerDataChanged(const TrainingAreaBase::FireSmokeMarkerData &data, DataModification modType);
private: // attributes
MainHandler *m_mainHandler;
NGL::INGLLogger &m_logger;
};
} // namespace EffectShowClient