/** * @RDE_HEADER@ * FileManagement 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; } // Stub für DDS DataReader - wird normalerweise von DDS generiert template class DdsDataReaderStub { public: struct LoanedSamplesWrapper { auto begin() { return m_samples.begin(); } auto end() { return m_samples.end(); } std::vector m_samples; }; LoanedSamplesWrapper readAlive() { return LoanedSamplesWrapper{}; } }; //------------------------------------------------------------------------------------------------------------- namespace FileManagement { namespace Interface { /** * @brief DtcImpl - Basisklasse für FileManagement DTC * * Stellt Logger und DDS-DataReader für Custom-Implementierungen bereit * Erbt von DatabaseInterfaceImpl für Datenbank-Zugriff */ class DtcImpl : public DatabaseInterfaceImpl { public: explicit DtcImpl(const std::shared_ptr &ddsConnector) : DatabaseInterfaceImpl() , m_ddsConnector(ddsConnector) , m_dtcFileContent(std::make_unique>()) , m_dtcFolder(std::make_unique>()) { // Logger wird von DatabaseInterfaceImpl bereitgestellt // m_logger ist in DatabaseInterfaceImpl definiert } ~DtcImpl() override = default; // Virtuelle Methoden für Custom-Implementierung virtual bool getAllTemplates(QList &allTemplates) = 0; virtual bool getAllFiles(const FileType &fileType, int folderId, QStringList &allFiles, bool showHidden = false) = 0; virtual bool getFilesOperator(const FileType &fileType, int folderId, int operatorId, QStringList &allFiles) = 0; virtual bool getFile(const FileType &fileType, int folderId, const QString &fileName, FileContent &fileMetadata) = 0; virtual int getExerciseId(int folderId) = 0; virtual int getFileId(const FileType &fileType, const QString &fileName, int exerciseId, int phaseId) = 0; virtual int findFolder(int parentId, const QString &name) const = 0; virtual int getExerciseFolderId(int exerciseId) const = 0; virtual int getPhaseFolderId(int exerciseId, int phaseId) const = 0; virtual int getPartyFolderId(int exerciseId, int partyId) const = 0; // Default-Implementierungen für Namen-Helper virtual QString getExerciseFolderName(int exerciseId) const { return QLatin1String("$EX_") + QString::number(exerciseId); } virtual QString getPartyFolderName(int partyId) const { return QLatin1String("$PY_") + QString::number(partyId); } virtual QString getPhaseFolderName(int phaseId) const { return QLatin1String("$PH_") + QString::number(phaseId); } protected: std::shared_ptr m_ddsConnector; std::unique_ptr> m_dtcFileContent; std::unique_ptr> m_dtcFolder; }; } // namespace Interface } // namespace FileManagement