Files
qt-migration-legatus/qt5-before/dlbo/Lts/Proxies/Buildings/bld_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

228 lines
14 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<service namespace="Buildings" abbreviation="BLD" procNames="Buildings" exerciseDependency="Exercise" groups="ExercisePreparation,ExerciseExecution,ExercisePaused">
<rcs>
<Id Id="$Id: ea_export_script.txt 41311 2018-04-23 09:43:45Z ehrlicher $"/>
<HeadURL HeadURL="$HeadURL: svn://slssvn/TDS/branches/product/devel/trunk/Lts/Common/CodeGen/ea_export_script.txt $"/>
<Author Author="$Author: ehrlicher $"/>
</rcs>
<operatorRights offset="47">
<guiPlugin name="BuildingViewer" offset="1">
<operatorRightGroup name="Building Viewer" description="Edit Building Viewer Settings, View Building List, Show Building Viewer">
<operatorRight right="BuildingViewerSettingsEdit" value="1" description="Edit Building Viewer Settings"/>
<operatorRight right="BuildingViewerSettingsView" value="2" description="View Building Viewer Settings"/>
<operatorRight right="BuildingListView" value="3" description="View Buildings List"/>
<operatorRight right="ViewStateDebug" value="4" description="View Building States"/>
<operatorRight right="BuildingViewerShow" value="5" description="Access Building Viewer"/>
<operatorRight right="DefineEgcuSegments" value="6" description="Define Egcu Segments"/>
</operatorRightGroup>
</guiPlugin>
</operatorRights>
<topicTypes>
<topicType name="BsmState">
<column name="id" idlType="long" isKey="1"/>
<column name="connected" idlType="boolean"/>
<column name="hostport" idlType="long" comment="port seems to be reserved in idl ..."/>
<column name="hostname" idlType="string"/>
<column name="versionInfo" idlType="string"/>
</topicType>
<topicType name="BuildingHitLineInfo" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="id" idlType="long" isKey="1"/>
<column name="originatorParticipantId" idlType="long"/>
<column name="buildingId" idlType="long"/>
<column name="hitOnRoomId" idlType="long"/>
<column name="originatorPos" idlType="Core::GeoPosition"/>
<column name="buildingPos" idlType="Core::GeoPosition"/>
<column name="chargeTypeId" idlType="long"/>
<column name="originatorPartyId" idlType="long"/>
<column name="sampleTime" idlType="long long"/>
<column name="contaminationStates" idlType="sequence&lt;ContaminationState&gt;"/>
</topicType>
<topicType name="BuildingState" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1" baseValueType="BuildingStateBase">
<column name="originatorParticipantId" idlType="long"/>
<column name="aesId" idlType="long" comment="if building was hit by AES"/>
<column name="chargeTypeId" idlType="long"/>
<column name="damagePercent" idlType="long"/>
<column name="damagePercentOld" idlType="long"/>
<column name="vulnerabilityState" idlType="ProjectDataManagement::VulnerabilityState"/>
<column name="originatorType" idlType="ProjectDataManagement::StateChangeOriginator"/>
<column name="hitOnRoomId" idlType="long" comment="the room which was originally hit (can be 0)"/>
<column name="roomStates" idlType="sequence&lt;RoomState&gt;"/>
<column name="contaminationStates" idlType="sequence&lt;ContaminationState&gt;"/>
</topicType>
<topicType name="BuildingStateBase">
<column name="id" idlType="long" isKey="1" comment="= MainStructureElementId"/>
<column name="structureElementId" idlType="long" comment="= root structure element (type BuildingControlUnit)"/>
<column name="assetId" idlType="long" comment="= root asset (connected with root structureElementId BuildingControlUnit)"/>
<column name="sampleTime" idlType="long long"/>
<column name="name" idlType="string"/>
</topicType>
<topicType name="BuildingStateTechnical" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1" baseValueType="BuildingStateBase">
<column name="bsmStates" idlType="sequence&lt;BsmState&gt;"/>
</topicType>
<topicType name="BridgeStatus" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1" baseValueType="Core::BaseEntityWithSampleTime">
<column name="buildingId" idlType="long"/>
<column name="status" idlType="long" comment="0-Intact,1-Broken as in enum InfrastructureManagement::BridgeStatus"/>
</topicType>
<topicType name="ContaminationState" >
<column name="aesId" idlType="long"/>
<column name="vulnerabilityState" idlType="ProjectDataManagement::VulnerabilityState"/>
<column name="rooms" idlType="sequence&lt;long&gt;"/>
</topicType>
<topicType name="HistoryState" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="mseId" idlType="long" isKey="1"/>
<column name="stateHistory" idlType="sequence&lt;HistoryStateItem&gt;"/>
<column name="sampleTime" idlType="long long"/>
</topicType>
<topicType name="HistoryStateItem">
<column name="originatorParticipantId" idlType="long"/>
<column name="originatorType" idlType="ProjectDataManagement::StateChangeOriginator"/>
<column name="aesId" idlType="long" comment="if building was hit by AES"/>
<column name="chargeTypeId" idlType="long"/>
<column name="damagePercent" idlType="long"/>
<column name="damagePercentOld" idlType="long"/>
<column name="vulnerabilityState" idlType="ProjectDataManagement::VulnerabilityState"/>
<column name="time" idlType="long long"/>
<column name="contaminationStates" idlType="sequence&lt;ContaminationState&gt;"/>
</topicType>
<topicType name="RelayState" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="id" idlType="long" isKey="1" comment="AssetID"/>
<column name="relayStates" idlType="sequence&lt;RelayStateItem&gt;"/>
<column name="stateTime" idlType="long long"/>
<column name="offlineTime" idlType="long long"/>
</topicType>
<topicType name="RelayStateItem">
<column name="id" idlType="long" comment="Relay-ID 0..7"/>
<column name="state" idlType="boolean"/>
</topicType>
<topicType name="RoomState">
<column name="id" idlType="long" isKey="1"/>
<column name="damagePercent" idlType="long"/>
<column name="remainingEffectPercent" idlType="long"/>
<column name="mountingPointId" idlType="long"/>
<column name="fortifyFactor" idlType="double" comment="default = 1.0"/>
</topicType>
<topicType name="Building">
<column name="buildingId" idlType="long" isKey="1"/>
<column name="roomIds" idlType="sequence&lt;long&gt;" isOptional="1"/>
</topicType>
<topicType name="FortifyFactor">
<column name="roomId" idlType="long"/>
<column name="fortifyFactor" idlType="double"/>
</topicType>
<topicType name="SendCesHitOnBuildingRequest">
<column name="buildingId" idlType="long" isKey="1"/>
<column name="chargeTypeId" idlType="long"/>
<column name="destructiveFactor" idlType="long"/>
<column name="penetrationFactor" idlType="long"/>
<column name="aesId" idlType="long"/>
<column name="effectTime" idlType="long long"/>
<column name="impactPosition" idlType="Core::GeoPosition"/>
<column name="properties" idlType="string"/>
</topicType>
<topicType name="SendCesHit3DonBuildingRequest">
<column name="buildingId" idlType="long" isKey="1"/>
<column name="chargeTypeId" idlType="long"/>
<column name="destructiveFactor" idlType="long"/>
<column name="penetrationFactor" idlType="long"/>
<column name="aesId" idlType="long"/>
<column name="effectTime" idlType="long long"/>
<column name="impactPosition" idlType="Core::GeoPosition"/>
<column name="detonationLocation" idlType="Core::GeoPosition"/>
<column name="detonationDistance" idlType="double" comment="indirect for fuseType FtProximity|FtImpact|FtDelay"/>
<column name="properties" idlType="string"/>
</topicType>
<topicType name="SetBuildingStatesRequest">
<column name="buildings" idlType="sequence&lt;Building&gt;" isKey="1"/>
<column name="vulnerabilityState" idlType="ProjectDataManagement::VulnerabilityState"/>
<column name="resetContamination" idlType="boolean" isOptional="1"/>
</topicType>
<topicType name="SetBuildingContaminationStateRequest">
<column name="buildingId" idlType="long" isKey="1"/>
<column name="contaminationState" idlType="ContaminationState"/>
</topicType>
<topicType name="SetFortifyFactorRequest">
<column name="buildingId" idlType="long" isKey="1"/>
<column name="fortifyFactors" idlType="sequence&lt;FortifyFactor&gt;"/>
</topicType>
<topicType name="SetRelayInfoRequest" extensibility="EXTENSIBLE">
<column name="requestId" idlType="long"/>
<column name="relayInfo" idlType="RelayInfo"/>
</topicType>
<topicType name="SwitchRelayPulse">
<column name="count" idlType="long" comment="Anzahl der Ausfuehrungen ( 0 = kein Pulse)"/>
<column name="pulse" idlType="long" comment="Dauer des Pulses in ms"/>
<column name="delay" idlType="long" comment="Zeit zwischen den Pulsen in ms"/>
</topicType>
<topicType name="SwitchRelayRequest">
<column name="buildingId" idlType="long" isKey="1" comment="id MainStructureElementId"/>
<column name="assetId" idlType="long" comment="AssetId der EGCU"/>
<column name="state" idlType="StateSetRelay"/>
<column name="number" idlType="long" comment="number of relay (0-8)"/>
<column name="pulseAttributes" idlType="SwitchRelayPulse" isOptional="1"/>
</topicType>
<topicType name="TriggerBsmFlashRequest">
<column name="buildingId" idlType="long" isKey="1" comment="id MainStructureElementId"/>
<column name="assetId" idlType="long" comment="AssetId der EGCU"/>
</topicType>
<topicType name="RelayInfo" extensibility="EXTENSIBLE">
<column name="assetId" idlType="long"/>
<column name="index" idlType="long"/>
<column name="name" idlType="string"/>
<column name="description" idlType="string"/>
<column name="property" idlType="string"/>
</topicType>
</topicTypes>
<functionTopics>
<functionTopic name="SendCesHitOnBuilding" requestTopicType="SendCesHitOnBuildingRequest" replyTopicType="Core::FunctionReply" requestTopicName="SendCesHitOnBuildingRequest" replyTopicName="SendCesHitOnBuildingReply" routeInReplay="0"/>
<functionTopic name="SendCesHit3DonBuilding" requestTopicType="SendCesHit3DonBuildingRequest" replyTopicType="Core::FunctionReply" requestTopicName="SendCesHit3DonBuildingRequest" replyTopicName="SendCesHit3DonBuildingReply" routeInReplay="0"/>
<functionTopic name="SetBuildingStates" requestTopicType="SetBuildingStatesRequest" replyTopicType="Core::FunctionReply" requestTopicName="SetBuildingStatesRequest" replyTopicName="SetBuildingStatesReply" routeInReplay="0"/>
<functionTopic name="SetBuildingContaminationState" requestTopicType="SetBuildingContaminationStateRequest" replyTopicType="Core::FunctionReply" requestTopicName="SetBuildingContaminationStateRequest" replyTopicName="SetBuildingContaminationStateReply" routeInReplay="0"/>
<functionTopic name="SetFortifyFactor" requestTopicType="SetFortifyFactorRequest" replyTopicType="Core::FunctionReply" requestTopicName="SetFortifyFactorRequest" replyTopicName="SetFortifyFactorReply" routeInReplay="0"/>
<functionTopic name="SetRelayInfo" requestTopicType="SetRelayInfoRequest" replyTopicType="Core::FunctionReply" requestTopicName="SetRelayInfoRequest" replyTopicName="SetRelayInfoReply" routeInReplay="0"/>
<functionTopic name="SwitchRelay" requestTopicType="SwitchRelayRequest" replyTopicType="Core::FunctionReply" requestTopicName="SwitchRelayRequest" replyTopicName="SwitchRelayReply" routeInReplay="0"/>
<functionTopic name="TriggerBsmFlash" requestTopicType="TriggerBsmFlashRequest" replyTopicType="Core::FunctionReply" requestTopicName="TriggerBsmFlashRequest" replyTopicName="TriggerBsmFlashReply" routeInReplay="0"/>
</functionTopics>
<enumerations>
<enumeration name="EffectTypeEnum">
<attribute key="Undefined" value="0"/>
<attribute key="Relay" value="1"/>
<attribute key="BackgroundSound" value="2"/>
<attribute key="BsmFlash" value="3"/>
</enumeration>
<enumeration name="StateSetRelay">
<attribute key="SwitchOff" value="0"/>
<attribute key="SwitchOn" value="1"/>
<attribute key="Pulse" value="2"/>
<attribute key="GetState" value="3"/>
</enumeration>
</enumerations>
<tables>
<table name="bcu_egcu_relay_infos" comment="EGCU-Relay-Names">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="asset_id" datatype="bigint" comment="0 = default for all EGCU's &amp;gt; 0 = assetId for special entries"/>
<column name="index" datatype="integer" comment="Index of Relay">
<sequence start="0" increment="1"/>
</column>
<column name="name" datatype="text" comment="Name of relay"/>
<column name="description" datatype="text" comment="description of relay"/>
<column name="properties" datatype="text" comment="properties of relay"/>
<constraint name="UQ_bcu_egcu_relay_infos_id" type="unique">
<column name="id"/>
</constraint>
<constraint name="UQ_bcu_egcu_relay_infos_index" type="unique">
<column name="index"/>
</constraint>
<constraint name="UQ_bcu_egcu_relay_infos_name" type="unique">
<column name="name"/>
</constraint>
</table>
</tables>
<views/>
<dbServiceStructs>
<serviceStruct name="BcuEgcuRelayInfos" table="bcu_egcu_relay_infos"/>
<table name="bcu_egcu_relay_infos"/>
</dbServiceStructs>
</service>