71 lines
1.9 KiB
C++
Executable File
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
|
|
|