Files
qt-migration-legatus/qt5-before/dlbo/Lts/Services/SituationReplayManagement/srm_service.xml
T
torstenandCopilot 7173785915 Qt6 Migration: Complete migration with DDS/RTI support and build validation
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 18:20:26 +00:00

99 lines
5.3 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<service namespace="SituationReplayManagement" abbreviation="SRM" procNames="SituationReplayManagement" exerciseDependency="Global">
<rcs>
<Id Id="$Id$"/>
<HeadURL HeadURL="$HeadURL$"/>
<Author Author="$Author$"/>
</rcs>
<operatorRights offset="37">
<guiPlugin name="SituationReplayManagement" offset="1">
<operatorRightGroup name="Replay Management" description="Manage Replays">
<operatorRight right="ReplayManagement" value="1" description="Manage Replays"/>
</operatorRightGroup>
</guiPlugin>
</operatorRights>
<tables>
<table name="replay_partition">
<column name="id" datatype="integer" isPrimaryKey="1" comment="not serial, since partition_no &amp;lt; 256"/>
<column name="exercise_id" datatype="integer" isForeignKey="1"/>
<column name="workstation_id" datatype="integer" isForeignKey="1"/>
<column name="operator_id" datatype="integer" isForeignKey="1"/>
<column name="replay_type_id" datatype="integer" isForeignKey="1"/>
<column name="is_used" datatype="boolean" default="false"/>
<column name="created" datatype="timestamp" default="now()"/>
<foreignKey name="FK_replay_exercise">
<source table="replay_partition" column="exercise_id"/>
<destination service="ExerciseManagement" serviceAbbr="exm" schema="exm" table="exercise" column="id"/>
</foreignKey>
<foreignKey name="FK_replay_replay_type">
<source table="replay_partition" column="replay_type_id"/>
<destination service="Core" serviceAbbr="core" schema="core" table="replay_type" column="id"/>
</foreignKey>
<foreignKey name="FK_replay_partition_opm_operator">
<source table="replay_partition" column="operator_id"/>
<destination service="OperatorManagement" serviceAbbr="opm" schema="opm" table="opm_operator" column="id"/>
</foreignKey>
<foreignKey name="FK_replay_partition_asm_asset">
<source table="replay_partition" column="workstation_id"/>
<destination service="AssetManagement" serviceAbbr="asm" schema="asm" table="asm_asset" column="id"/>
</foreignKey>
</table>
<table name="replay_partition_journal" comment="Information about past and currently used replay partitions (as a journal)">
<column name="id" datatype="bigint" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="replay_partition_id" datatype="integer" default="0"/>
<column name="replay_type_id" datatype="integer" isForeignKey="1"/>
<column name="exercise_id" datatype="integer" isForeignKey="1"/>
<column name="workstation_id" datatype="integer" isForeignKey="1"/>
<column name="operator_id" datatype="bigint" isForeignKey="1"/>
<column name="created" datatype="timestamp" default="now()"/>
<foreignKey name="FK_replay_journal_replay_type">
<source table="replay_partition_journal" column="replay_type_id"/>
<destination service="Core" serviceAbbr="core" schema="core" table="replay_type" column="id"/>
</foreignKey>
<foreignKey name="FK_replay_journal_exercise">
<source table="replay_partition_journal" column="exercise_id"/>
<destination service="ExerciseManagement" serviceAbbr="exm" schema="exm" table="exercise" column="id"/>
</foreignKey>
<foreignKey name="FK_replay_partition_journal_opm_operator">
<source table="replay_partition_journal" column="operator_id"/>
<destination service="OperatorManagement" serviceAbbr="opm" schema="opm" table="opm_operator" column="id"/>
</foreignKey>
<foreignKey name="FK_replay_partition_journal_asm_asset">
<source table="replay_partition_journal" column="workstation_id"/>
<destination service="AssetManagement" serviceAbbr="asm" schema="asm" table="asm_asset" column="id"/>
</foreignKey>
</table>
</tables>
<views/>
<dbServiceStructs>
<serviceStruct name="SrmReplayPartition" table="replay_partition"/>
<serviceStruct name="SrmReplayPartitionJournal" table="replay_partition_journal"/>
<table name="replay_partition"/>
<table name="replay_partition_journal"/>
</dbServiceStructs>
<topicTypes>
<topicType name="ReplayPartitionCreateRequest">
<column name="workstationId" idlType="long"/>
<column name="exerciseId" idlType="long"/>
<column name="operatorId" idlType="long"/>
<column name="replayType" idlType="Core::ReplayType"/>
</topicType>
<topicType name="ReplayPartitionRemoveRequest">
<column name="id" idlType="long"/>
<column name="workstationId" idlType="long"/>
<column name="operatorId" idlType="long"/>
</topicType>
</topicTypes>
<functionTopics>
<functionTopic name="ReplayPartitionCreate" requestTopicType="ReplayPartitionCreateRequest" replyTopicType="Core::FunctionReply" requestTopicName="ReplayPartitionCreateRequest" replyTopicName="ReplayPartitionCreateReply" routeInReplay="0"/>
<functionTopic name="ReplayPartitionRemove" requestTopicType="ReplayPartitionRemoveRequest" replyTopicType="Core::FunctionReply" requestTopicName="ReplayPartitionRemoveRequest" replyTopicName="ReplayPartitionRemoveReply" routeInReplay="0"/>
</functionTopics>
<enumerations>
<enumeration name="DummyEnum">
<attribute key="Dummy" value="0"/>
</enumeration>
</enumerations>
</service>