Commit Graph
67 Commits
Author SHA1 Message Date
berrux-dev 2df80f90a7 Migrates CentralEffectSimulation to generated rtiddsgen API
Converts accessor calls to plain member access across ces service.
2026-09-21 02:45:54 +02:00
berrux-dev 40f767fc4d Migrates AudioVideoManagement to generated rtiddsgen API
Converts accessor calls to plain member access across avm service and plugin.
2026-09-21 02:45:51 +02:00
berrux-dev 82356f23e5 Migrates InfrastructureManagement to generated rtiddsgen API
Converts accessor calls to plain member access across ism service.
2026-09-21 02:45:09 +02:00
berrux-dev 472f537313 Migrates AreaEffectSimulation to generated rtiddsgen API
Converts accessor calls to plain member access across aes service and plugin.
2026-09-21 02:45:07 +02:00
berrux-dev cf62b17d58 Reworks CMake wiring for Qt6 codegen include order
Adds missing toolchain packages and include dirs so generated headers resolve.
2026-09-21 02:42:27 +02:00
berrux-dev 220ca64679 Removes migration stub headers superseded by codegen outputs
Drops 184 stub headers and obsolete stub tests now generated in the build tree.
2026-09-21 02:38:33 +02:00
berrux-dev 7d1074588c Migrates flt handlers to CorePortType and plain members 2026-09-18 17:49:15 +02:00
berrux-dev a3e44a5bd8 Reworks FilterManagement CMake for Qt6 codegen 2026-09-18 17:49:15 +02:00
berrux-dev bd3cccbc15 Updates flm module tests for generated rtiddsgen API 2026-09-18 17:47:34 +02:00
berrux-dev b96dec41e4 Fixes enum casts and CorePortType in flm service glue 2026-09-18 17:47:34 +02:00
berrux-dev 3c058facd7 Migrates flm handlers and objects to plain member access 2026-09-18 17:47:34 +02:00
berrux-dev e156fbb5e4 Adds Q_OBJECT and generated includes to flm custom impls 2026-09-18 17:47:34 +02:00
berrux-dev d79d89c352 Reworks FileManagement codegen wiring and WebSockets link 2026-09-18 17:47:34 +02:00
berrux-dev c32c9031e7 Removes leftover service stub headers in flm and flt services 2026-09-18 17:47:33 +02:00
berrux-dev 619c7683d4 Guards pdm_translation stub copy against codegen race 2026-09-18 17:45:16 +02:00
torsten 882f783bcb Migrates cmake targets under folder ./Z to Qt6 2026-09-17 14:26:48 +00:00
torsten 4de31193b6 Migrates lts/services/f* 2026-09-17 10:22:08 +00:00
torsten 86f331341a Integrates unittests for lts/services/s almost successfull into final validation phase 2026-09-17 07:13:12 +00:00
torsten 80d73fc330 Integrates unittests for Lts/Services/S* into validation step 2026-09-16 19:13:40 +00:00
torsten a5e5560478 Removes dlbo onging qt5 development income folder 2026-09-16 12:44:04 +00:00
torstenandCopilot 691bf21f3e Replace Qt5:: with Qt6:: in 26 CMakeLists.txt files
Qt6 migration: Update all target_link_libraries to use Qt6::Core, Qt6::Widgets,
Qt6::Network, Qt6::Svg, Qt6::Xml, Qt6::Concurrent, Qt6::PrintSupport, Qt6::Sql,
Qt6::Test, Qt6::WebSockets, Qt6::SerialPort instead of Qt5:: equivalents.

Affected components:
- Lts/Common: LtsRestClient, LtsWidgets
- Lts/Application: THP, SitMapReplayTest
- Lts/Plugins: ParticipantManagement, ServiceManagement
- Lts/Services: VideoOverlayManagement
- Lts/Tools: 18 tool CMakeLists.txt files

Validated with BUILD_RTI=ON and BUILD_RTI=OFF - both builds successful.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 19:38:18 +00:00
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
berrux-dev 92ad7d4686 remove all unneeded module listed from Niklas 2026-09-14 21:15:42 +02:00
torsten be912de9d6 Removes .IDL warnings: multiple enum definitons and builtin-type collisions 2026-09-14 15:45:58 +00:00
torsten eb02c1f001 Removes code-generated files that were accidentally committed to the repo 2026-09-14 11:21:00 +00:00
torsten 969e273904 Behebt strikt nur die verbleibenden CMake legacy command Fehler im Docker-Build der Qt6-Migration. 2026-09-12 12:35:50 +00:00
torsten 50c4a6fbc0 Strictly resolve CMake warnings in the Docker build. 2026-09-11 17:17:00 +00:00
torsten 8cec9973e7 Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts. 2026-09-07 19:36:21 +02:00
torsten ba1d9e2c04 Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts. 2026-09-07 19:30:39 +02:00
torsten b656e1aaa9 Resolves latest issues in Lts/Common Lts/DDS 2026-09-06 18:45:59 +02:00
torsten e398f4903d Infrastructure fixes in Lts/Services/RoutingServiceNG only 2026-09-05 19:45:43 +02:00
torsten afda2a82a8 Fixes rti 7.7 codegen invocations 2026-09-04 21:24:03 +02:00
torsten 0c1503d85c Adds latest migration results 2026-09-01 12:27:57 +02:00
torstenandCopilot 497baa804b Qt6/RTI 7.7 Migration: Build-System und RTI-Integration fixes
CMake Build-System:
- NGL_ADD_SUBDIR_GUARDED() vor erstem Aufruf definiert (Zeile 38)
- Z/src wird VOR ENABLE_TESTING() eingebunden
- InfrastructureManagement an Anfang von Lts/Services CMakeLists.txt
- ALIAS Targets für RTI nur für existierende Libraries erstellt

RTI 7.7 Integration:
- generic_base.h: QMetaMethod Include hinzugefügt
- generic_data_reader.h: Template-Signatur auf 2 Parameter angepasst
  - detail::DataReaderImpl<Q> als Default-Template-Parameter

Qt6 Location Support:
- Dockerfile: qtlocation und qtpositioning Module hinzugefügt

Dokumentation:
- C++23 Inkompatibilität mit RTI 7.7 in copilot-instructions.md
- EXTERNAL_DEPENDENCIES.md Strategie dokumentiert

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-30 13:36:41 +02:00
torsten 851d47e114 BUILD_RTI=OFF: 1902/1902 Targets erfolgreich, DDS-Stubs vervollständigt
Neue Stub-Header für BUILD_RTI=OFF Konfiguration:
- include/DDS/Generic/generic_base.h: Topic-Name-Templates, Helper-Funktionen
- include/DDS/Generic/generic_logger.h: Logger-Wrapper mit DataType-Enum
- include/DDS/Generic/ddsgen_export.h: Export-Makros (leer für OFF)
- include/DDS/Generic/generic_data_reader.h: Data Reader Template-Stub
- include/DDS/DTC/generic_dtc.h: Minimale DDS-Typen für DTC
- include/LtsUtils/LtsUtilsCore/data_modification_enum.h: DataModification Enum
- include/FileManagement/flm_dtc_impl.h: Virtuelle Methoden für Name-Helper
- include/OperatorManagement/opm_dtc_impl.h: DtcImpl ohne Q_OBJECT

Wichtige Änderungen:
- QObject-Basisklasse entfernt für DatabaseInterfaceImpl und DtcImpl (BUILD_RTI=OFF)
- Logger-Stub verwendet Qt-Logging (qDebug/qWarning/qCritical)
- FileStatus als int-Alias statt enum class für BUILD_RTI=OFF
- CMake: DDS-Bibliotheken als leere INTERFACE-Targets für BUILD_RTI=OFF
- std::optional: is_set() → has_value(), get() → value()
- QList → std::vector Konversionen korrigiert
- qAsConst-Fehler mit rvalue expressions behoben

Build-Status: 1902/1902 Targets erfolgreich (BUILD_RTI=OFF)
Tests: Nicht ausführbar ohne RTI Connext DDS (BUILD_RTI=ON erforderlich)
2026-08-30 10:36:47 +02:00
torsten eafbbbbbe9 BUILD_RTI=OFF: CODEGEN_* Makros in IF-Blocekt + DatabaseInterfaceImpl Stubs
- Alle 38 Service-Module CMakeLists.txt: CODEGEN_* Makros in IF(BUILD_RTI) gepackt
- flm_db_impl_custom.h: Include-Pfad korrigiert (Lts/Services/... → FileManagement/)
- DatabaseInterfaceImpl Stub-Header erstellt für:
  - FileManagement (flm_db_impl.h)
  - InfrastructureManagement (ism_db_impl.h)
  - ParticipantManagement (ppm_db_impl.h)
  - RecordingManagement (rec_db_impl.h)
  - Evaluations (evl_db_impl.h)
- opm_enums.hpp: Placeholder-Enums für OperatorManagement

Ermöglicht BUILD_RTI=OFF Builds ohne RTI/DDS Codegenerierung
2026-08-29 23:45:19 +02:00
torsten bb1447c858 Qt6 migration fixes: RTI DDS alias targets, ErrorMessage namespace, DDS header include path 2026-08-27 09:02:26 +02:00
torstenandCopilot 1edc9934fa Session 028: Optional dependencies configuration
- Added WITH_VLC option to Lts/Application/THP (default OFF)
- Added WITH_SCHUSSTAFEL option to CentralEffectSimulation (default OFF)
- Added WITH_ARCGIS option to Explosions plugin (default OFF)
- Protected VLC includes with #ifdef THP_HAS_VLC
- Added qt5compat module to Docker image for QTextCodec support
- Validated CMake configure and lts_common build in Docker container
- All external dependencies now optional, build succeeds without them

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 19:55:38 +02:00
torstenandCopilot d5af8b9764 Session 026: Lts/Services Qt5:: to Qt6:: migration
- Migrated all 104 CMakeLists.txt files in Lts/Services
- Replaced Qt5::Core, Qt5::Gui, Qt5::Widgets, Qt5::Network, Qt5::Svg,
  Qt5::Concurrent, Qt5::WebSockets, Qt5::Sql, Qt5::Xml, Qt5::Test,
  Qt5::SerialPort with Qt6:: equivalents
- 1244 files modified (CMakeLists.txt and source files)
- Zero Qt5:: references remaining in Lts/Services
- QTextCodec, QDesktopWidget: No blocking issues found
- QRegExp: 7 occurrences remain (deprecated but functional)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 19:23:30 +02:00
torstenandCopilot 0ca0e9ac60 SIGNAL/SLOT migration: lts_app_descriptor_editor.cpp and qsql_informix.cpp
- Migrated 12 SIGNAL/SLOT connections in lts_app_descriptor_editor.cpp to function-pointer syntax
  - clicked, editingFinished, pressed, textChanged signals
  - Added required includes: QListView, QLineEdit, QPushButton
- Migrated 2 SIGNAL/SLOT connections in qsql_informix.cpp to function-pointer syntax
  - timeout signal connections
- Added Qt5::Core5Compat dependency for QTextCodec support in Qt6
  - Updated CMakeLists.txt to link Qt6::Core5Compat

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 09:24:42 +02:00
torsten 060792032b SIGNAL/SLOT migration: socket_handler (5), targettimer (1), socketreader (2) + status update
- Migrated old SIGNAL/SLOT connect syntax to function-pointer syntax
- socket_handler.cpp: timeout, connected, disconnected, readyRead, bytesWritten
- targettimer.cpp: timeout → MyTimerSlot
- socketreader.cpp: readyRead, error (with QOverload for overloaded signal)
- Updated MIGRATION_STATUS.md with migration progress
- Part of Qt5→Qt6 migration with C++17 constraint (RTI 7.7.0 compatibility)
2026-08-25 09:16:43 +02:00
torstenandCopilot f15f342a47 QRegExp → QRegularExpression migration complete
Migrated all remaining QRegExp usage to QRegularExpression for Qt6 compatibility:

- Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.cpp
  - Changed helper functions to use QRegularExpression::match().hasMatch()
  - Updated inline regex validation

- Lts/Plugins/PlanEditor/mil2525d_to_mil2525c.cpp
  - Fixed m_sidcQuery.exactMatch() → match().hasMatch()

- Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.cpp
  - Video file pattern matching migrated

- Lts/Proxies/TrainingAreaBase/Plugins/Nmea/nmea_handler_rx.cpp
  - NMEA message parsing with QRegularExpression

- Lts/Proxies/TrainingAreaBaseOC/handler_aes_data.cpp
  - AES data handler regex patterns migrated

- Lts/Services/AudioVideoManagement/stream_name_mapping.*
  - Stream name validation patterns

- Lts/Services/NmeaManagement/nmea_handler.cpp
  - NMEA handler regex patterns

- Lts/Viewer/SituationMap/Symbology/sidc_builder_base.cpp, sidc_codec.cpp
  - SIDC code validation patterns

- Test files updated for compilation

All QRegExp::exactMatch() calls replaced with QRegularExpression::match().hasMatch()
All QRegExp::cap(n) calls replaced with QRegularExpressionMatch::captured(n)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-24 19:10:44 +02:00
torsten 793c9f8b81 BUILD_RTI=OFF: Fix remaining include and build issues
TrainingAreaBase:
- Add BUILD_RTI guards to dds_handler.cpp (entire file)
- Add BUILD_RTI guards to recv_from_dds_aes.h for tab_db.h include
- Add BUILD_RTI guards to main_handler.h for tab_db.h include
- Remove duplicate m_logger declaration in main_handler.h
- Add stub headers for RTI types (tab_db_stub.hpp, tab_enums_stub.hpp, etc.)

VideoOverlayManagement:
- Fix member initialization order in handler_overlays.h
- Fix member initialization order in avs_interface.h
- Fix member initialization order in main_handler.h
- Change logger.cpp include from NGLLogger.h to INGLLogger.h
- Add BUILD_RTI guard to handler_overlays.cpp for RTI signal connection

Plugins:
- Migrate QDesktopWidget → QScreen in Light/Dark style plugins
- Fix CMakeLists.txt for SituationReplayManagement (BUILD_RTI guards)
- Fix CMakeLists.txt for CombatNetRadio (Qt6::Core linking)
- Remove QDesktopWidget includes in multiple plugin files

Infrastructure:
- Remove duplicate INGLLogger.h include directory
- Add stub headers for ProjectDataManagement (pdm.hpp, etc.)
- Add stub headers for RoutingServiceNG

BUILD_RTI=OFF build now compiles successfully (1112 targets).
2026-08-24 14:37:16 +02:00
torstenandCopilot 4969e4ff9b Fix INGLLogger initialization for BUILD_RTI=OFF compatibility
- Replace NGL::NGLLoggerBootstrap::getNGLRootLogger() with NGL::getMemoryLogger()
  in all VideoOverlayManagement handler classes
- Fix Qt6 signal syntax in avs_interface.cpp (error → errorOccurred)
- Ensures compatibility with BUILD_RTI=OFF builds
- Affected files:
  * logger.cpp - Added BUILD_RTI guards, use NGL::getMemoryLogger()
  * avs_interface.cpp - Logger init + Qt6 signal fix
  * main_handler.cpp - Logger init fix
  * handler_overlays.cpp - Logger init fix
  * handler_infrastructure_data.cpp - Logger init fix
  * handler_participant_data.cpp - Logger init fix

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-24 12:58:54 +02:00
torstenandCopilot 47985c5a88 Fix LtsUtilsCore include path and BUILD_RTI guards
- LtsUtilsCore/CMakeLists.txt: Fixed include path from /.. to /../..
  for both LtsUtilsCoreHeaderOnly and LtsUtilsCore targets
- session_handler.h: Added #if BUILD_RTI guard around dds_connector.h include
- data_writer_task.h: Removed override specifier from stub methods
  when BUILD_RTI=OFF (base class interface not available)

BUILD_RTI=OFF: 0 errors (validated)
BUILD_RTI=ON: Progresses further, external dependency errors remain
  (svcIsmCommon not available in Docker image - not migration issue)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-24 10:32:31 +02:00
torstenandCopilot 7a6be7474e Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document

C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+

Build status: BUILD_RTI=OFF successful (0 errors, warnings only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-23 20:49:23 +02:00
torstenandCopilot ec75789fae BUILD_RTI: Fix 4 compile errors and add missing type headers
- generic_base.h: Fix dds::topic namespace issue, move RTI includes inside BUILD_RTI guard
- wait_set_handler.h: Remove duplicate m_logger declarations (3→1)
- pub_sub_base.cpp: Fix constructor initializer list syntax (.→,), add m_logger initialization
- training_area_telegrams.h: Fix field naming (m_ prefix) for accessor methods
- PdmComboBox CMakeLists.txt: Add BUILD_RTI AND TARGET guards for svcPdmCommon/svcPdmClient
- PdmDataPlugin CMakeLists.txt: Wrap svcPdmClient link in BUILD_RTI guard
- CMakeLists.txt: Add RTI_UNIX, RTI_POSIX_THREADS compile definitions, remove duplicate add_subdirectory
- alm_types.h, ppm_types.h: Copy missing type headers from include/ directories

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-23 13:15:31 +02:00
torstenandCopilot 93020295ad Add BUILD_RTI guards to InfrastructureManagement and AudioVideoManagement DDS handlers
- ism_dtc_impl_custom.h/cpp: Wrap all DDS-dependent method declarations and implementations with BUILD_RTI guards
- dds_handler.cpp (InfrastructureManagement): Guard RTI DDS initialization code
- dds_handler.h/cpp (AudioVideoManagement): Guard DomainParticipant types and methods
- Enables building without RTI Connext DDS dependencies (BUILD_RTI=OFF)
- Stub types used when guards are disabled

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-22 11:55:44 +02:00
torsten 3cc3129de0 BUILD_RTI guards for DDS/Routing modules + logger init fixes
- Lts/DDS: Add BUILD_RTI guards to pacemaker.h, dds_connector.h,
  generic_fts_* files, generic_base.h, routing_plugin.h
- Lts/Services/RoutingServiceNG: Add BUILD_RTI guards to session.h/cpp,
  connection.h/cpp, data_writer_task.h/cpp
- Fix C++23 reference member initialization: use getLogger() instead of
  getNGLLogger() in constructor initializer lists
- Root CMakeLists.txt: Add Lts/DDS to include_directories
- Fix export header generation order (GENERATE_EXPORT_HEADER before
  TARGET_INCLUDE_DIRECTORIES)
- Remove auto-generated stub files (external deps collected separately)
2026-08-21 21:57:27 +02:00
torstenandCopilot 6588fc7d3f BUILD_RTI guards: svcTabCommon export header + GuezMinelayerProcessing stubs
- TrainingAreaBase/CMakeLists.txt: Wrap RTIDDSGEN with BUILD_RTI, add fallback target
- GuezMinelayerProcessing: BUILD_RTI guards for HandlerMinelayerData + stubs
- ddsfts/CMakeLists.txt: Fix INTERFACE→PUBLIC, add svcTabCommon dependency
- Add stub headers for BUILD_RTI=OFF compilation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-21 19:27:34 +02:00