Complete Qt6 migration: full clean build green across groups G1-G12 incl. runtime plugin set
new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
This commit is contained in:
1718 files changed
+126739
-18495
No files matched your search
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
// Registers Qt metatypes for AVM DDS types used as QVariant values in GUI code.
|
||||
//
|
||||
// Declared in a single, guarded location so the QMetaTypeId<T> specialization is
|
||||
// defined before any Q_OBJECT slot/signal QtMocHelpers::SlotData instantiates the
|
||||
// primary QMetaTypeId<T> template. Qt6 rejects a class-template specialization that
|
||||
// follows the primary template's implicit instantiation ("specialization of
|
||||
// QMetaTypeId<T> after instantiation"), which Qt5 tolerated, so the declaration must
|
||||
// precede the first such SlotData in a translation unit.
|
||||
#include <AudioVideoManagement/avm_dtc.h>
|
||||
#include <QMetaType>
|
||||
|
||||
#ifndef Q_DECLARE_METATYPE_AVM_FREQUENCYPLANNING
|
||||
#define Q_DECLARE_METATYPE_AVM_FREQUENCYPLANNING
|
||||
Q_DECLARE_METATYPE(AudioVideoManagement::FrequencyPlanning)
|
||||
#endif
|
||||
@@ -263,7 +263,7 @@ void AvsMenus::Menu::replaceMvsEntries(MenuStruct &menu) const
|
||||
newMenu.reserve(menu.menuEntries.size());
|
||||
for (auto menuEntry : menu.menuEntries)
|
||||
{
|
||||
if (menuEntry.mountingPointId.is_set() && menuEntry.mountingPointId.get() < 0)
|
||||
if (menuEntry.mountingPointId.has_value() && menuEntry.mountingPointId.get() < 0)
|
||||
menuEntry.name = m_dtc->videoTeam(menuEntry.mountingPointId.get()*-1).streamName;
|
||||
newMenu.push_back(std::move(menuEntry));
|
||||
}
|
||||
@@ -360,12 +360,12 @@ void AvsMenus::Menu::setMenu(const MenuStruct &menu, const boost::optional<int>
|
||||
std::vector<AudioVideoManagement::AvMenuEntry> menuEntriesToUse;
|
||||
for (const auto &entry : realMenu.menuEntries())
|
||||
{
|
||||
if (!entry.isGroup() && !entry.mountingPointId.is_set() )
|
||||
if (!entry.isGroup() && !entry.mountingPointId.has_value() )
|
||||
continue;
|
||||
|
||||
bool isMounted = false;
|
||||
|
||||
if(!entry.isGroup() && entry.mountingPointId.is_set())
|
||||
if(!entry.isGroup() && entry.mountingPointId.has_value())
|
||||
{
|
||||
|
||||
for (const auto &mountedAsset : mountedAssets)
|
||||
|
||||
@@ -92,10 +92,10 @@ Database::AvmCnrConfig toDb(const ModifyCnrConfigRequest &config)
|
||||
result.radioCircuit = QString::fromStdString(config.radioCircuit);
|
||||
result.callSign = QString::fromStdString(config.callSign);
|
||||
result.partyId = config.partyId;
|
||||
if (config.unitId.is_set())
|
||||
if (config.unitId.has_value())
|
||||
result.unitId = config.unitId.get();
|
||||
result.recording = config.recording;
|
||||
if (config.exerciseId.is_set())
|
||||
if (config.exerciseId.has_value())
|
||||
result.exerciseId = config.exerciseId.get();
|
||||
|
||||
return result;
|
||||
@@ -491,7 +491,7 @@ bool CnrHandler::checkConstraint(const std::function<bool (const CnrConfig &)> &
|
||||
// or when both exercises are currently active.
|
||||
// If one is global and one local the constraint must always hold if the local exercise is active
|
||||
// Otherwise the constraint must always hold
|
||||
bool bothLocal = config.exerciseId.is_set() && exerciseId.is_initialized();
|
||||
bool bothLocal = config.exerciseId.has_value() && exerciseId.is_initialized();
|
||||
if (bothLocal)
|
||||
{
|
||||
bool sameExercise = config.exerciseId.get() == *exerciseId;
|
||||
@@ -500,12 +500,12 @@ bool CnrHandler::checkConstraint(const std::function<bool (const CnrConfig &)> &
|
||||
if (!sameExercise && !bothActive)
|
||||
continue;
|
||||
}
|
||||
else if(config.exerciseId.is_set() && !exerciseId.is_initialized())
|
||||
else if(config.exerciseId.has_value() && !exerciseId.is_initialized())
|
||||
{
|
||||
if(!isActiveExercise(config.exerciseId.get()))
|
||||
continue;
|
||||
}
|
||||
else if(exerciseId.is_initialized() && !config.exerciseId.is_set())
|
||||
else if(exerciseId.is_initialized() && !config.exerciseId.has_value())
|
||||
{
|
||||
if(!isActiveExercise(*exerciseId))
|
||||
continue;
|
||||
@@ -663,7 +663,7 @@ bool CnrHandler::isActiveExercise(int exerciseId) const
|
||||
bool CnrHandler::needDeviceConfig(const CnrConfig &config) const
|
||||
{
|
||||
// For global, we always need the config
|
||||
if (!config.exerciseId.is_set())
|
||||
if (!config.exerciseId.has_value())
|
||||
return true;
|
||||
|
||||
int32_t exerciseId = config.exerciseId.get();
|
||||
@@ -703,7 +703,7 @@ bool CnrHandler::haveActiveFrequencyPlanning() const
|
||||
QString CnrHandler::exerciseList(const CnrConfig &config) const
|
||||
{
|
||||
// Local
|
||||
if (config.exerciseId.is_set())
|
||||
if (config.exerciseId.has_value())
|
||||
return ExerciseContext(config.exerciseId.get()).toString();
|
||||
|
||||
// Global - all active exercises, no matter if they have active plannings or not
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@ Core::FunctionReplyObject isValid(int configId, int64_t exerciseId, Handler *han
|
||||
return reply.setStr(tr_lts("dds", "%1 config %2 does not exist")).arg(configTypeAsString).arg(configId);
|
||||
|
||||
const auto &config = handler->config(configId);
|
||||
if (config.exerciseId.is_set() && config.exerciseId.get() != exerciseId)
|
||||
if (config.exerciseId.has_value() && config.exerciseId.get() != exerciseId)
|
||||
return reply.setStr(tr_lts("dds", "%1 config %2 cannot be used in exercise %3")).arg(configTypeAsString).arg(configId).arg(exerciseId);
|
||||
|
||||
return reply;
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace AudioVideoManagement
|
||||
template<class T>
|
||||
boost::optional<T> toBoost(const dds::core::optional<T> &optionalValue)
|
||||
{
|
||||
if (!optionalValue.is_set())
|
||||
if (!optionalValue.has_value())
|
||||
return boost::none;
|
||||
return optionalValue.get();
|
||||
}
|
||||
|
||||
+7
-7
@@ -87,7 +87,7 @@ Database::AvmFrequencyPlanning toDb(const FrequencyPlanning &ddsPlan)
|
||||
{
|
||||
Database::AvmFrequencyPlanning dbPlan;
|
||||
dbPlan.id = ddsPlan.id;
|
||||
if (ddsPlan.exerciseId.is_set())
|
||||
if (ddsPlan.exerciseId.has_value())
|
||||
dbPlan.exerciseId = ddsPlan.exerciseId.get();
|
||||
dbPlan.dateOfCreation = ddsPlan.date;
|
||||
dbPlan.frequencySetId = ddsPlan.frequencySetId;
|
||||
@@ -385,8 +385,8 @@ Core::FunctionReplyObject FrequencyPlanningHandler::validateModifyRequest(const
|
||||
|
||||
const FrequencyPlanning &oldPlan = *found;
|
||||
|
||||
if ((oldPlan.exerciseId.is_set() && oldPlan.exerciseId.get() != request.exerciseId)
|
||||
|| (!oldPlan.exerciseId.is_set() && request.exerciseId != 0))
|
||||
if ((oldPlan.exerciseId.has_value() && oldPlan.exerciseId.get() != request.exerciseId)
|
||||
|| (!oldPlan.exerciseId.has_value() && request.exerciseId != 0))
|
||||
return reply.setStr(tr_lts("dds", "Exercise may not be changed"));
|
||||
|
||||
if (request.frequencySetId != oldPlan.frequencySetId)
|
||||
@@ -418,7 +418,7 @@ Core::FunctionReplyObject FrequencyPlanningHandler::validateRequest(const Core::
|
||||
return reply.setStr(tr_lts("dds", "FrequencyPlanning %1 does not exist")).arg(request.id);
|
||||
|
||||
const FrequencyPlanning &plan = *foundPlan;
|
||||
int exerciseId = plan.exerciseId.is_set() ? plan.exerciseId.get() : 0;
|
||||
int exerciseId = plan.exerciseId.has_value() ? plan.exerciseId.get() : 0;
|
||||
auto foundActivePlan = m_activePlannings.constFind(exerciseId);
|
||||
bool isActive = foundActivePlan != m_activePlannings.constEnd() && foundActivePlan->frequencyPlanningId == plan.id;
|
||||
if (isActive)
|
||||
@@ -543,7 +543,7 @@ Core::FunctionReplyObject FrequencyPlanningHandler::testActivation(const std::ve
|
||||
for (const FrequencyPlanningData &entry : entries)
|
||||
{
|
||||
const CnrConfig &cnrConfig = m_cnrHandler->config(entry.cnrConfigId);
|
||||
bool isGlobal = !cnrConfig.exerciseId.is_set();
|
||||
bool isGlobal = !cnrConfig.exerciseId.has_value();
|
||||
if (!isGlobal)
|
||||
continue;
|
||||
|
||||
@@ -620,7 +620,7 @@ std::vector<int> FrequencyPlanningHandler::takenGlobalCnrConfigs(const std::vect
|
||||
for (const FrequencyPlanningData &entry : plan.data)
|
||||
{
|
||||
const CnrConfig &cnrConfig = m_cnrHandler->config(entry.cnrConfigId);
|
||||
bool isGlobal = !cnrConfig.exerciseId.is_set();
|
||||
bool isGlobal = !cnrConfig.exerciseId.has_value();
|
||||
if (isGlobal)
|
||||
result.push_back(cnrConfig.id);
|
||||
}
|
||||
@@ -775,7 +775,7 @@ void FrequencyPlanningHandler::onCnrConfigRemoved(int cnrConfigId)
|
||||
req.data.erase(found);
|
||||
|
||||
req.date = fp.date;
|
||||
req.exerciseId = fp.exerciseId.is_set() ? fp.exerciseId.get() : 0;
|
||||
req.exerciseId = fp.exerciseId.has_value() ? fp.exerciseId.get() : 0;
|
||||
req.frequencySetId = fp.frequencySetId;
|
||||
req.id = fp.id;
|
||||
req.name = fp.name;
|
||||
|
||||
+3
-3
@@ -29,14 +29,14 @@ static FrequencyPlanningStatus convert(const ModifyFrequencyPlanningStatusReques
|
||||
}
|
||||
newData.uuid = request.uuid.empty() ? oldData.uuid : request.uuid;
|
||||
newData.id = oldData.id;
|
||||
if (request.sent.is_set())
|
||||
if (request.sent.has_value())
|
||||
{
|
||||
newData.sent = request.sent.get();
|
||||
newData.requester = request.requester; // ! Requester is only sent, when data gets sent.
|
||||
}
|
||||
if (request.received.is_set())
|
||||
if (request.received.has_value())
|
||||
newData.received = request.received.get();
|
||||
if (request.activated.is_set())
|
||||
if (request.activated.has_value())
|
||||
{
|
||||
newData.activated = request.activated.get();
|
||||
newData.requester = request.requester; // ! Requester is only sent, when data gets activated.
|
||||
|
||||
+3
-3
@@ -124,11 +124,11 @@ Database::AvmFrequencyPlanningStatus ObjectFrequencyPlanningStatus::toDbData(con
|
||||
dbData.content = QString::fromStdString(ddsData.content);
|
||||
dbData.reason = static_cast<int>(ddsData.reason);
|
||||
|
||||
if (ddsData.sent.is_set())
|
||||
if (ddsData.sent.has_value())
|
||||
dbData.sent = static_cast<qint64>(ddsData.sent.get());
|
||||
if (ddsData.received.is_set())
|
||||
if (ddsData.received.has_value())
|
||||
dbData.received = static_cast<qint64>(ddsData.received.get());
|
||||
if (ddsData.activated.is_set())
|
||||
if (ddsData.activated.has_value())
|
||||
dbData.activated = static_cast<qint64>(ddsData.activated.get());
|
||||
|
||||
return dbData;
|
||||
|
||||
@@ -67,7 +67,7 @@ Database::AvmTvcConfig toDb(const ModifyTvcConfigRequest &request)
|
||||
result.info = QString::fromStdString(request.info);
|
||||
result.recording = request.recording;
|
||||
result.tetraChannelId = request.tetraChannelId;
|
||||
if (request.exerciseId.is_set())
|
||||
if (request.exerciseId.has_value())
|
||||
result.exerciseId = request.exerciseId.get();
|
||||
|
||||
return result;
|
||||
@@ -427,7 +427,7 @@ void TvcHandler::onContextActivated(const ExerciseContext &context)
|
||||
|
||||
for (const TvcConfig &tvcConfig : std::as_const(m_cache))
|
||||
{
|
||||
bool isLocal = tvcConfig.exerciseId.is_set();
|
||||
bool isLocal = tvcConfig.exerciseId.has_value();
|
||||
if (isLocal)
|
||||
{
|
||||
if (tvcConfig.exerciseId == context.id())
|
||||
@@ -449,7 +449,7 @@ void TvcHandler::onContextDeactivated(const ExerciseContext &context)
|
||||
|
||||
for (const TvcConfig &tvcConfig : std::as_const(m_cache))
|
||||
{
|
||||
bool isLocal = tvcConfig.exerciseId.is_set();
|
||||
bool isLocal = tvcConfig.exerciseId.has_value();
|
||||
|
||||
if (isLocal)
|
||||
{
|
||||
@@ -535,7 +535,7 @@ bool TvcHandler::checkConstraint(const std::function<bool (const TvcConfig &)> &
|
||||
// If both configs are local the constraint must hold if they are in the same exercise
|
||||
// or when both exercises are currently active.
|
||||
// Otherwise (one or both are global) the constraint must always hold
|
||||
bool bothLocal = config.exerciseId.is_set() && exerciseId.is_initialized();
|
||||
bool bothLocal = config.exerciseId.has_value() && exerciseId.is_initialized();
|
||||
if (bothLocal)
|
||||
{
|
||||
bool sameExercise = config.exerciseId.get() == *exerciseId;
|
||||
@@ -557,7 +557,7 @@ bool TvcHandler::checkConstraint(const std::function<bool (const TvcConfig &)> &
|
||||
*/
|
||||
QString TvcHandler::exerciseList(const TvcConfig &config) const
|
||||
{
|
||||
bool isLocal = config.exerciseId.is_set();
|
||||
bool isLocal = config.exerciseId.has_value();
|
||||
if (isLocal)
|
||||
return ExerciseContext(config.exerciseId.get()).toString();
|
||||
|
||||
@@ -575,7 +575,7 @@ QString TvcHandler::exerciseList(const TvcConfig &config) const
|
||||
|
||||
bool TvcHandler::needDeviceConfig(const TvcConfig &config) const
|
||||
{
|
||||
bool isGlobal = !config.exerciseId.is_set();
|
||||
bool isGlobal = !config.exerciseId.has_value();
|
||||
bool hasActiveExericse = m_activeExercises->count() > 0;
|
||||
return (isGlobal && hasActiveExericse) || (!isGlobal && isActiveExercise(config.exerciseId.get()));
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user