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

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;
};
}