/** * 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 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