/** * Exercise object * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "dds_handler.h" #include "esm_convert_to_tab.h" #include "logger.h" #include #include #include namespace EffectShowManagement { class Initialization; class ObjectEffectShowActorRelocation final { public: explicit ObjectEffectShowActorRelocation(Initialization *mainHandler); ~ObjectEffectShowActorRelocation(); Core::FunctionReplyObject createObject(const Database::EsmEffectShowActorRelocation &data); Core::FunctionReplyObject updateObject(const Database::EsmEffectShowActorRelocation &data); Core::FunctionReplyObject removeObject(); int getId() const { return m_data.id; } int getIdEffectShowActor() const { return m_data.esmParticipantId; } Database::EsmEffectShowActorRelocation getData() const { return m_data; } /** * @brief Creates the data needed for the effect show actor relocation telegram from the effect show actor relocation data. * @return Data needed for the effect show actor relocation telegram from the effect show actor relocation data */ ConvertToTab::RelocationOrder_t getRelocationOrder() const; /** * @brief Creates the data needed for the effect show actor relocation retract telegram from the effect show actor relocation data. * @return Data needed for the effect show actor relocation retract telegram from the effect show actor relocation data */ ConvertToTab::RetractOrder_t getRetractOrder() const; /** * @brief Converts Effect Show Actor Relocation DDS data to DB data. * @param ddsData Effect Show Actor Relocation DDS data * @return Effect Show Actor Relocation DB data */ static Database::EsmEffectShowActorRelocation ddsToDb(const EffectShowManagement::EffectShowActorRelocation &ddsData); protected: void onPublishData(); private: Initialization *m_mainHandler; Database::EsmEffectShowActorRelocation m_data; NGL::INGLLogger &m_logger; }; }