77 lines
2.0 KiB
C++
77 lines
2.0 KiB
C++
#pragma once
|
|
|
|
// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert
|
|
// Für die Migration erstellen wir minimale Implementierungen
|
|
|
|
#include <functional>
|
|
#include <QObject>
|
|
#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<void(const std::vector<Folder>&, const std::vector<int32_t>&, DataModification)>;
|
|
using FileContentCallback = std::function<void(const std::vector<FileContent>&, const std::vector<int32_t>&, 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<Folder> emptyFolders;
|
|
std::vector<int32_t> emptyIds;
|
|
callback(emptyFolders, emptyIds, DataModification::eModified);
|
|
}
|
|
|
|
virtual std::shared_ptr<Folder> folder(int32_t /*folderId*/) const
|
|
{
|
|
return nullptr;
|
|
}
|
|
|
|
// FileContent operations
|
|
virtual void fileContents(FileContentCallback callback) const
|
|
{
|
|
// STUB-Implementierung
|
|
std::vector<FileContent> emptyContents;
|
|
std::vector<int32_t> emptyIds;
|
|
callback(emptyContents, emptyIds, DataModification::eModified);
|
|
}
|
|
|
|
virtual std::shared_ptr<FileContent> 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
|