#pragma once // STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert // Für die Migration erstellen wir minimale Implementierungen #include #include #include "flm_db.h" namespace FileManagement { namespace Interface { // DataModification Enum (aus DDS generiert) enum class DataModification { eAdded, eModified, eRemoved }; // Callback types using FolderCallback = std::function&, const std::vector&, DataModification)>; using FileContentCallback = std::function&, const std::vector&, DataModification)>; // Dtc - Data Transfer Component interface for FileManagement class Dtc : public QObject { Q_OBJECT public: virtual ~Dtc() = default; // Initialization methods virtual void enableFolder() {} virtual void waitForHistoricalDataFolder() {} virtual void enableFileContent() {} virtual void waitForHistoricalDataFileContent() {} // Folder operations virtual void folders(FolderCallback callback) const { // STUB-Implementierung - keine Ordner vorhanden std::vector emptyFolders; std::vector emptyIds; callback(emptyFolders, emptyIds, DataModification::eModified); } virtual std::shared_ptr folder(int32_t /*folderId*/) const { return nullptr; } // FileContent operations virtual void fileContents(FileContentCallback callback) const { // STUB-Implementierung std::vector emptyContents; std::vector emptyIds; callback(emptyContents, emptyIds, DataModification::eModified); } virtual std::shared_ptr fileContent(int32_t /*fileContentId*/) const { return nullptr; } signals: void folderChanged(const FileManagement::Folder &folder, DataModification modification); void fileContentChanged(const FileManagement::FileContent &fileContent, DataModification modification); }; class Ftc; } // namespace Interface } // namespace FileManagement