/** * Codification data object * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2016-11-18 */ #pragma once #include "initialization.h" #include "logger.h" #include #include namespace CodificationManagement { class ObjectCodificationData final { public: explicit ObjectCodificationData(const std::shared_ptr &ddsHandler, const std::shared_ptr &dbHandler); ~ObjectCodificationData(); Core::FunctionReplyObject createObject(const CodificationManagement::CodificationData &ddsData); Core::FunctionReplyObject updateObject(const CodificationManagement::CodificationData &ddsData); Core::FunctionReplyObject removeObject(); qint32 getId() const { return m_ddsData.id(); } QString getName() const { return QString::fromStdString(m_ddsData.name()); } const CodificationData &getData() const { return m_ddsData; } bool isValid() const; bool isUsed() const; // convert methodes static CodificationManagement::CodificationData toDdsData(const Database::CodCodificationTable &dbData); // db -> dds static Database::CodCodificationTable toDbData(const CodificationManagement::CodificationData &ddsData); // dds -> db protected: void onPublishData(); private: std::shared_ptr m_ddsHandler; std::shared_ptr m_dbHandler; CodificationData m_ddsData; NGL::INGLLogger &m_logger; }; }