44 lines
1.1 KiB
C++
Executable File
44 lines
1.1 KiB
C++
Executable File
/**
|
|
* Load/Publish db-translations
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
#pragma once
|
|
|
|
#include <ProjectDataManagement/pdm_db.h>
|
|
#include <ProjectDataManagement/pdm_dts.h>
|
|
#include <ProjectDataManagement/pdm_fts.h>
|
|
|
|
#include <QObject>
|
|
#include <QJsonObject>
|
|
#include <QTimer>
|
|
#include "logger.h"
|
|
|
|
namespace ProjectDataManagement
|
|
{
|
|
class DdsHandler;
|
|
class Translation : public QObject,
|
|
protected Interface::Fts::InsertUpdateTranslationRequestHandler
|
|
{
|
|
public:
|
|
Translation(const std::shared_ptr<DdsHandler> &dds,
|
|
const std::shared_ptr<ProjectDataManagement::DatabaseInterface> &db);
|
|
~Translation();
|
|
|
|
protected Q_SLOTS:
|
|
void collectAndPublishData();
|
|
void publishData();
|
|
private:
|
|
void addToJson(const Database::PdmTranslation &data);
|
|
void onInsertUpdateTranslationRequest(const rti::core::SampleIdentity &cookie,
|
|
const InsertUpdateTranslationRequest &request) override;
|
|
private:
|
|
QHash<int, QJsonObject> m_jsonData;
|
|
std::shared_ptr<DdsHandler> m_dds;
|
|
std::shared_ptr<ProjectDataManagement::DatabaseInterface> m_db;
|
|
QTimer m_publishTimer;
|
|
NGL::INGLLogger &m_logger;
|
|
};
|
|
}
|