Files
qt-migration-legatus/qt5-before/dlbo/Lts/Services/Messaging/msg_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

109 lines
5.5 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<service namespace="Messaging" abbreviation="MSG" procNames="Messaging" exerciseDependency="Global" groups="Core" prio="3">
<rcs>
<Id Id="$Id$"/>
<HeadURL HeadURL="$HeadURL$"/>
<Author Author="$Author$"/>
</rcs>
<operatorRights offset="21">
<guiPlugin name="Messaging" offset="1">
<operatorRightGroup name="Messages" description="Edit and Send Operator and OC Messages">
<operatorRight right="MessagesShow" value="1" description="Show (own) Messages"/>
<operatorRight right="MessagesSend" value="2" description="Edit and Send Operator Messages"/>
<operatorRight right="MessagesSendOc" value="3" description="Send Messages to O/C"/>
</operatorRightGroup>
</guiPlugin>
</operatorRights>
<tables>
<table name="address_type">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="msg_message_operator_data">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="time_stamp" datatype="bigint"/>
<column name="sender_id" datatype="integer" default="1"/>
<column name="recipient_id" datatype="integer"/>
<column name="exercise_id" datatype="integer"/>
<column name="is_read" datatype="boolean"/>
<column name="is_send" datatype="boolean"/>
<column name="is_deleted" datatype="boolean"/>
<column name="subject" datatype="text"/>
<column name="message" datatype="text"/>
<column name="sender_text" datatype="text"/>
<column name="recipient_text" datatype="text"/>
<column name="recipient_type" datatype="integer" isForeignKey="1"/>
<column name="sender_type" datatype="integer" isForeignKey="1"/>
<column name="corresponding_outbox_message_id" datatype="integer" default="0"/>
<constraint name="UQ_msg_message_data_id" type="unique">
<column name="id"/>
</constraint>
<constraint name="IDX_msg_message_operator_is_deleted" type="index">
<column name="is_deleted"/>
</constraint>
<foreignKey name="FK_msg_message_operator_data_address_type_recv">
<source table="msg_message_operator_data" column="recipient_type"/>
<destination table="address_type" column="id"/>
</foreignKey>
<foreignKey name="FK_msg_message_operator_data_address_type_send">
<source table="msg_message_operator_data" column="sender_type"/>
<destination table="address_type" column="id"/>
</foreignKey>
</table>
</tables>
<views/>
<dbServiceStructs>
<serviceStruct name="MsgMessageData" table="msg_message_operator_data"/>
<table name="msg_message_operator_data"/>
</dbServiceStructs>
<topicTypes>
<topicType name="CreateOperatorMessageRequest">
<column name="recipientIds" idlType="sequence&lt;long&gt;" comment="Dependent on recipientType: - OperatorId, - ParticipantId"/>
<column name="exerciseId" idlType="long"/>
<column name="senderId" idlType="long" comment="Dependent on senderType: - OperatorId, - ParticipantId (or EqId?)"/>
<column name="subject" idlType="string"/>
<column name="message" idlType="string" comment="Shall be empty if Receiver is Non-O/C Participant. Not optional though."/>
<column name="senderType" idlType="AddressType"/>
<column name="recipientType" idlType="AddressType"/>
</topicType>
<topicType name="ModifyOperatorMessageRequest">
<column name="id" idlType="long" isKey="1"/>
<column name="isRead" idlType="boolean"/>
<column name="isSend" idlType="boolean"/>
<column name="isDeleted" idlType="boolean"/>
</topicType>
<topicType name="OperatorMessage" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="id" idlType="long" isKey="1"/>
<column name="senderId" idlType="long"/>
<column name="recipientId" idlType="long"/>
<column name="exerciseId" idlType="long"/>
<column name="subject" idlType="string"/>
<column name="message" idlType="string"/>
<column name="isRead" idlType="boolean"/>
<column name="isSend" idlType="boolean"/>
<column name="isDeleted" idlType="boolean"/>
<column name="senderText" idlType="string"/>
<column name="recipientText" idlType="string"/>
<column name="senderType" idlType="AddressType"/>
<column name="recipientType" idlType="AddressType"/>
<column name="correspondingOutboxMessageId" idlType="long"/>
<column name="timeStamp" idlType="long long"/>
</topicType>
</topicTypes>
<functionTopics>
<functionTopic name="ModifyOperatorMessage" requestTopicType="ModifyOperatorMessageRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyOperatorMessageRequest" replyTopicName="ModifyOperatorMessageReply" routeInReplay="0"/>
<functionTopic name="CreateOperatorMessage" requestTopicType="CreateOperatorMessageRequest" replyTopicType="Core::FunctionReply" requestTopicName="CreateOperatorMessageRequest" replyTopicName="CreateOperatorMessageReply" routeInReplay="0"/>
</functionTopics>
<enumerations>
<enumeration name="AddressType" table="address_type">
<attribute key="Operator" value="1"/>
<attribute key="ObserverController" value="2"/>
<attribute key="Participant" value="3"/>
</enumeration>
</enumerations>
</service>