51 lines
1.2 KiB
C++
Executable File
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;
|
|
|
|
};
|
|
}
|