Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/convert_db_to_dds.h
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

76 lines
2.3 KiB
C++
Executable File

/**
* Convert db structures to dds structures
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2017-07-20
*/
#pragma once
#include <ExerciseManagement/exm_db.h>
#include <ExerciseManagement/exm.hpp>
#include <Common/ProjectConfig/project_defines.h>
#include <LtsUtilsCore/dds_vector.h>
namespace ExerciseManagement
{
namespace Database
{
inline Exercise convert(const ExmExercise &dbData)
{
ExerciseManagement::Exercise ddsData;
ddsData.id = dbData.id;
ddsData.name = dbData.name.toStdString();
// behaviour of QDateTime::toMSecsSinceEpoch() is undefinded if not valid:
if (dbData.beginTime.isValid())
ddsData.beginTime = dbData.beginTime.toMSecsSinceEpoch();
if (dbData.endTime.isValid())
ddsData.endTime = dbData.endTime.toMSecsSinceEpoch();
if (dbData.created.isValid())
ddsData.created = dbData.created.toMSecsSinceEpoch();
if (dbData.startTime.isValid())
ddsData.startTime = dbData.startTime.toMSecsSinceEpoch();
if (dbData.stopTime.isValid())
ddsData.stopTime = dbData.stopTime.toMSecsSinceEpoch();
ddsData.trainingAreaId = dbData.trainingAreaId;
if (!dbData.radioGroupId.isNull() && dbData.radioGroupId.canConvert<unsigned int>())
ddsData.radioGroupId = dbData.radioGroupId.toUInt();
ddsData.activePhaseId = dbData.activePhaseId;
ddsData.symbolFillTypeId = dbData.symbolFillTypeId;
ddsData.linkedExerciseId = dbData.linkedExerciseId;
if (!dbData.defaultTimeZone.isEmpty())
ddsData.defaultTimeZone = dbData.defaultTimeZone.at(0).toLatin1();
else
ddsData.defaultTimeZone = 'Z';
ddsData.sendToWMS = dbData.sendToWms;
ddsData.transferred = dbData.transferred;
ddsData.hasHlaInterface = dbData.hasHlaInterface;
ddsData.state = dbData.exerciseStateId;
ddsData.forces = dbData.forces.toStdString();
ddsData.description = dbData.description.toStdString();
ddsData.partitionName = IDL::exercisePartition(dbData.id);
return ddsData;
}
inline ExercisePhase convert(const ExmExercisePhase &dbData)
{
ExerciseManagement::ExercisePhase ddsData;
ddsData.id = dbData.id;
ddsData.name = dbData.name.toStdString();
ddsData.description = dbData.description.toStdString();
ddsData.beginTime = dbData.beginTime.toMSecsSinceEpoch();
ddsData.endTime = dbData.endTime.toMSecsSinceEpoch();
ddsData.exerciseId = dbData.exerciseId;
return ddsData;
}
}
}