/** * Exercise object * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include "dds_handler.h" #include "esm_convert_to_tab.h" #include "esm_convert_from_tab.h" #include "logger.h" #include #include #include namespace EffectShowManagement { class Initialization; class ObjectEffectShow : QObject { Q_OBJECT public: explicit ObjectEffectShow(Initialization *mainHandler, QObject *parent = nullptr); ~ObjectEffectShow(); Core::FunctionReplyObject createObject(const Database::EsmEffectShow &data, bool bForceUpdateDb = false); Core::FunctionReplyObject removeObject(); Core::FunctionReplyObject updateObject(const EffectShowManagement::EffectShow &data); bool updateObject(const ConvertFromTab::OrderConfirmation_t &data); bool updateObject(const Database::EsmEffectShow &data); bool resetOrderConfirmation(); int getId() const { return m_data.id; } QString getName() const { return m_data.name; } int getIdAES() const { return m_data.idAreaEffectSimulation; } const Database::EsmEffectShow &getData() const { return m_data; } void setRemoveFromDdsOnDestruction(bool remove) { m_bRemoveFromDdsOnDestruction = remove; } /** * @brief Creates the data needed for the effect show order telegram from the effect show data. * @return Data needed for the effect show order telegram from the effect show data */ ConvertToTab::EffectShowOrder_t getEffectShowOrder() const; /** * @brief Creates the data needed for the effect show retract order telegram from the effect show data. * @return Data needed for the effect show retract order telegram from the effect show data */ ConvertToTab::RetractOrder_t getRetractOrder() const; /** * @brief Creates the data needed for the effect show continue telegram from the effect show data. * @return Data needed for the effect show continue telegram from the effect show data */ ConvertToTab::EffectShowContinue_t getContinueOrder() const; public Q_SLOTS: void onPublishData(); private: Initialization *m_mainHandler; Database::EsmEffectShow m_data; bool m_bRemoveFromDdsOnDestruction = true; NGL::INGLLogger &m_logger; }; }