/** * Marker object * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2016-04-12 */ #pragma once #include #include "dds_handler.h" #include "mrk_db.h" #include // Generated #include namespace MarkerManagement { class ObjectSnapshot final { public: explicit ObjectSnapshot(const std::shared_ptr &ddsHandler, const std::shared_ptr &db); ~ObjectSnapshot(); Core::FunctionReplyObject createObject(const MarkerManagement::Snapshot &data); Core::FunctionReplyObject updateObject(const MarkerManagement::Snapshot &data); Core::FunctionReplyObject removeObject(); qint32 getId() const{ return m_dataSnapshot.id(); } Snapshot getData() const { return m_dataSnapshot; } QString getName() const { return QString::fromStdString(m_dataSnapshot.name()); } bool isValid() const; // convert methods static Database::MrkSnapshot toDbData(const Snapshot &ddsData); // dds -> db static Snapshot toDdsData(const Database::MrkSnapshot &dbData); // db -> dds private: void onPublishData(); private: std::shared_ptr m_ddsHandler; std::shared_ptr m_db; MarkerManagement::Snapshot m_dataSnapshot; NGL::INGLLogger &m_logger; }; } // namespace MarkerManagement