/** * Exercise object * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "dds_handler.h" #include "logger.h" #include // Generated #include namespace Evaluations { class ObjectEvaluationElement; class ObjectCriterium final { public: explicit ObjectCriterium(const std::shared_ptr &ddsHandler, const std::shared_ptr &db); ~ObjectCriterium(); Core::FunctionReplyObject createObject(const Database::EvlCriterium &data); Core::FunctionReplyObject updateObject(const Database::EvlCriterium &data); Core::FunctionReplyObject removeObject(); ObjectEvaluationElement *getElement(int id) const { return m_elementsMap.value(id);} void addElement(ObjectEvaluationElement *oee); void removeElement(int id) { m_elementsMap.remove(id);} int getId() const { return m_data.id; } protected Q_SLOTS: void onPublishData(); private: std::shared_ptr m_ddsHandler; std::shared_ptr m_db; Database::EvlCriterium m_data; QHash m_elementsMap; NGL::INGLLogger &m_logger; }; }