/** * Handler for all Language HMI objects * $Id$ * $HeadURL$ * $Author$ * Created by Hanna E. Rathje, SLSE, 2015-09-03 */ #pragma once #include #include #include #include "dds_handler.h" #include "esc_convert_from_tab.h" #include "esc_convert_to_tab.h" #include "logger.h" namespace EffectShowClient { class ObjectOrder; class MainHandler; class HandlerOrder : public QObject , protected Interface::Fts::OrderModifyRequestHandler { Q_OBJECT public: explicit HandlerOrder(MainHandler *mainHandler, QObject *parent = nullptr); ~HandlerOrder(); bool init(); void createOrder(const ConvertFromTab::EffectShowOrder_t &effectShowOrder); void createOrder(const ConvertFromTab::RelocationOrder_t &relocationOrder); void removeOrder(const ConvertFromTab::OrderRetract_t &orderRetract); void sendOrderConfirmation(const ConvertToTab::OrderConfirmation_t &oc); void sendOrderConfirmationFromId(const ConvertToTab::OrderConfirmation_t &oc); void updateOrderWithId(int orderId, const QString &answerText, EffectShowManagement::OrderConfirmation_e orderConf); bool updateOrder(ObjectOrder* order, const QString &answerText, EffectShowManagement::OrderConfirmation_e orderConf); bool checkForActiveOrder(int orderId); Q_SIGNALS: void startHandlerFiring(const Database::EscOrder &escOrder); void endHandlerFiring(const Database::EscOrder &escOrder); void effectShowStarted(); void effectShowInterrupted(); private: void onOrderModifyRequest(const rti::core::SampleIdentity &cookie, const OrderModifyRequest &request) override final; private: QMap m_orderObjMap; MainHandler *m_mainHandler; NGL::INGLLogger &m_logger; }; }