Files
qt5-legatus-legacy/Lts/Services/Evaluations/object_criterium.h
T
2026-08-13 18:33:10 +02:00

51 lines
1.2 KiB
C++
Executable File

/**
* Exercise object
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include "dds_handler.h"
#include "logger.h"
#include <DDS/Core/function_reply_object.h>
// Generated
#include <Evaluations/evl_db.h>
namespace Evaluations
{
class ObjectEvaluationElement;
class ObjectCriterium final
{
public:
explicit ObjectCriterium(const std::shared_ptr<DdsHandler> &ddsHandler,
const std::shared_ptr<DatabaseInterface> &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<DdsHandler> m_ddsHandler;
std::shared_ptr<DatabaseInterface> m_db;
Database::EvlCriterium m_data;
QHash<qint32, ObjectEvaluationElement *> m_elementsMap;
NGL::INGLLogger &m_logger;
};
}