Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Data/pdm_data_plugin.cpp
T
berrux-dev c3eda18234 Migrates remaining services and plugins to generated rtiddsgen API
Converts accessor calls to plain member access across the residual service set.
2026-09-21 02:47:48 +02:00

50 lines
1.5 KiB
C++
Executable File

#include "pdm_data_plugin.h"
#include <OperatorManagement/opm_gui_plugin_interface.h>
#include <DDS/DDSConnector/dds_connector.h>
#include <ProjectDataManagement/logger.h>
#include <LtsSession/lts_session_data_dds.h>
#include <LtsUtils/LtsUtilsCore/dds_vector.h>
#include <ngltranslator/ngltranslator.h>
namespace ProjectDataManagement
{
std::shared_ptr<DataPluginBase::Interface> DataPlugin::createDataInterface(LtsSession::LtsSessionDataDds *session)
{
std::shared_ptr<ProjectDataManagement::Interface::Dtc> dtc;
std::shared_ptr<ProjectDataManagement::Interface::Ftc> ftc;
if (!session->createTopicClient(dtc, ftc, false, true))
return std::shared_ptr<DataPluginBase::Interface>();
connect(dtc.get(), &ProjectDataManagement::Interface::Dtc::translationBlobChanged,
this, &DataPlugin::onTranslationBlobChanged);
dtc.get()->enableTranslationBlob();
return std::make_shared<DataInterfaceImpl>(dtc, ftc);
}
void DataPlugin::onTranslationBlobChanged(const ProjectDataManagement::TranslationBlob &data, DataModification modType)
{
if (modType == DataModification::eRemoved)
return;
NGL::setTranslationDataJson(LtsUtils::toQByteArray(data.payload), data.md5sum.c_str(), true);
}
DataInterfaceImpl::DataInterfaceImpl(const std::shared_ptr<ProjectDataManagement::Interface::Dtc> &dtc,
const std::shared_ptr<ProjectDataManagement::Interface::Ftc> &ftc)
: DataInterface()
, m_dtc(dtc)
, m_ftc(ftc)
{}
}