/** * Exercise object * $Id$ * $HeadURL$ * Philipp Last */ #pragma once #include "dds_handler.h" #include "logger.h" #include // Generated #include namespace Evaluations { class ObjectComment final { public: ObjectComment(const std::shared_ptr &ddsHandler, const std::shared_ptr &db); ~ObjectComment() = default; Core::FunctionReplyObject createObject(const Database::EvlComment &data); Core::FunctionReplyObject updateObject(const Database::EvlComment &data); Core::FunctionReplyObject removeObject(); int getId() const { return m_data.id; } protected: void onPublishData(); private: std::shared_ptr m_ddsHandler; std::shared_ptr m_db; Database::EvlComment m_data; NGL::INGLLogger &m_logger; }; class ObjectSchema final { public: ObjectSchema(const std::shared_ptr &ddsHandler, const std::shared_ptr &db); ~ObjectSchema() = default; Core::FunctionReplyObject createObject(const Database::EvlSchema &data); Core::FunctionReplyObject updateObject(const Database::EvlSchema &data); Core::FunctionReplyObject removeObject(); int getId() const { return m_data.id; } protected: void onPublishData(); private: std::shared_ptr m_ddsHandler; std::shared_ptr m_db; Database::EvlSchema m_data; NGL::INGLLogger &m_logger; }; }