/** * @RDE_HEADER@ * OperatorManagement DTC Implementation * $Id$ * $HeadURL$ * $Author$ * Stub-Header für Qt6-Migration - ersetzt DDS-generierten Header */ #pragma once #include #include #include // 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 effectiveAcls() const { return m_effectiveAcls; } struct VisiblePartyByExercise { int exerciseId() const { return m_exerciseId; } std::optional> visibleParties() const { return m_visibleParties; } std::optional> hiddenParties() const { return m_hiddenParties; } QString properties() const { return m_properties; } int m_exerciseId = 0; std::optional> m_visibleParties; std::optional> m_hiddenParties; QString m_properties; }; QVector visiblePartiesByExercise() const { return m_visiblePartiesByExercise; } QVector exerciseIds() const { return m_exerciseIds; } QString properties() const { return m_properties; } private: int m_id = 0; QString m_name; QVector m_effectiveAcls; QVector m_visiblePartiesByExercise; QVector 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) : 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 getOperatorsByOperatorRight(int operatorRight) = 0; virtual std::vector operatorForExerciseParty(int exerciseId, int partyId) = 0; virtual std::vector getNotificationRecipents(int exerciseId, int partyId, int operatorRight, int notificationType) = 0; virtual bool isAdlerAllowedParty(int exerciseId, int partyId, int operatorId) = 0; protected: std::shared_ptr m_ddsConnector; QHash m_userCont; // User-Container für Operator-Daten }; } // namespace Interface } // namespace OperatorManagement