60 lines
1.8 KiB
C++
Executable File
60 lines
1.8 KiB
C++
Executable File
/**
|
|
* Handler for all Language HMI objects
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Hanna E. Rathje, SLSE, 2015-09-03
|
|
*/
|
|
#pragma once
|
|
|
|
#include <QObject>
|
|
#include <QMap>
|
|
#include <EffectShowClient/esc_db.h>
|
|
#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<int, ObjectOrder *> m_orderObjMap;
|
|
MainHandler *m_mainHandler;
|
|
NGL::INGLLogger &m_logger;
|
|
|
|
};
|
|
}
|