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)
This commit is contained in:
1 parent
eafbbbbbe9
commit
851d47e114
17 files changed
+606
-40
No files matched your search
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* OperatorManagement DTC Implementation
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Stub-Header für Qt6-Migration - ersetzt DDS-generierten Header
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <FileManagement/flm_db_impl.h>
|
||||
#include <QHash>
|
||||
#include <memory>
|
||||
|
||||
// Forward declarations für DDS
|
||||
namespace DDSConnector
|
||||
{
|
||||
class DdsConnector;
|
||||
}
|
||||
|
||||
// User-Klasse Stub für Qt6-Migration
|
||||
// Hinweis: Diese Klasse wird normalerweise von DDS generiert
|
||||
// Dieser Stub stellt die benötigten Methoden für opm_dtc_impl_custom.cpp bereit
|
||||
class User
|
||||
{
|
||||
public:
|
||||
int id() const { return m_id; }
|
||||
QString name() const { return m_name; }
|
||||
QVector<int> effectiveAcls() const { return m_effectiveAcls; }
|
||||
|
||||
struct VisiblePartyByExercise
|
||||
{
|
||||
int exerciseId() const { return m_exerciseId; }
|
||||
std::optional<QVector<int>> visibleParties() const { return m_visibleParties; }
|
||||
std::optional<QVector<int>> hiddenParties() const { return m_hiddenParties; }
|
||||
QString properties() const { return m_properties; }
|
||||
|
||||
int m_exerciseId = 0;
|
||||
std::optional<QVector<int>> m_visibleParties;
|
||||
std::optional<QVector<int>> m_hiddenParties;
|
||||
QString m_properties;
|
||||
};
|
||||
|
||||
QVector<VisiblePartyByExercise> visiblePartiesByExercise() const { return m_visiblePartiesByExercise; }
|
||||
QVector<int> exerciseIds() const { return m_exerciseIds; }
|
||||
QString properties() const { return m_properties; }
|
||||
|
||||
private:
|
||||
int m_id = 0;
|
||||
QString m_name;
|
||||
QVector<int> m_effectiveAcls;
|
||||
QVector<VisiblePartyByExercise> m_visiblePartiesByExercise;
|
||||
QVector<int> m_exerciseIds;
|
||||
QString m_properties;
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------
|
||||
namespace OperatorManagement
|
||||
{
|
||||
namespace Interface
|
||||
{
|
||||
/**
|
||||
* @brief DtcImpl - Basisklasse für OperatorManagement DTC
|
||||
*
|
||||
* Stellt Logger und User-Container für Custom-Implementierungen bereit
|
||||
* Erbt von FileManagement::DatabaseInterfaceImpl für Datenbank-Zugriff
|
||||
*/
|
||||
class DtcImpl : public FileManagement::DatabaseInterfaceImpl
|
||||
{
|
||||
public:
|
||||
explicit DtcImpl(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector)
|
||||
: FileManagement::DatabaseInterfaceImpl()
|
||||
, m_ddsConnector(ddsConnector)
|
||||
{
|
||||
// Logger wird von DatabaseInterfaceImpl bereitgestellt
|
||||
// m_logger ist in DatabaseInterfaceImpl definiert
|
||||
}
|
||||
|
||||
~DtcImpl() override = default;
|
||||
|
||||
// Virtuelle Methoden für Custom-Implementierung
|
||||
virtual std::vector<int> getOperatorsByOperatorRight(int operatorRight) = 0;
|
||||
virtual std::vector<int> operatorForExerciseParty(int exerciseId, int partyId) = 0;
|
||||
virtual std::vector<int> getNotificationRecipents(int exerciseId, int partyId, int operatorRight, int notificationType) = 0;
|
||||
virtual bool isAdlerAllowedParty(int exerciseId, int partyId, int operatorId) = 0;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<DDSConnector::DdsConnector> m_ddsConnector;
|
||||
QHash<int, User> m_userCont; // User-Container für Operator-Daten
|
||||
};
|
||||
|
||||
} // namespace Interface
|
||||
} // namespace OperatorManagement
|
||||
Reference in new issue
Block a user