Resolves 17 conflicts against legacy Qt5 semantics; validates with BUILD_RTI=ON BUILD_GRANTLEE=ON.
86 lines
3.1 KiB
C++
86 lines
3.1 KiB
C++
/**
|
|
* @RDE_HEADER@
|
|
* FileManagement DTC Implementation
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Stub-Header für Qt6-Migration - ersetzt DDS-generierten Header
|
|
*/
|
|
#pragma once
|
|
|
|
#include <FileManagement/flm_db_impl.h>
|
|
#include <DDS/DTC/generic_dtc.h>
|
|
#include <memory>
|
|
|
|
// Forward declarations für DDS
|
|
namespace DDSConnector
|
|
{
|
|
class DdsConnector;
|
|
}
|
|
|
|
// Stub für DDS DataReader - wird normalerweise von DDS generiert
|
|
template<typename T>
|
|
class DdsDataReaderStub
|
|
{
|
|
public:
|
|
struct LoanedSamplesWrapper
|
|
{
|
|
auto begin() { return m_samples.begin(); }
|
|
auto end() { return m_samples.end(); }
|
|
std::vector<T> 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::DdsConnector> &ddsConnector)
|
|
: DatabaseInterfaceImpl()
|
|
, m_ddsConnector(ddsConnector)
|
|
, m_dtcFileContent(std::make_unique<DdsDataReaderStub<FileContent>>())
|
|
, m_dtcFolder(std::make_unique<DdsDataReaderStub<Folder>>())
|
|
{
|
|
// Logger wird von DatabaseInterfaceImpl bereitgestellt
|
|
// m_logger ist in DatabaseInterfaceImpl definiert
|
|
}
|
|
|
|
~DtcImpl() override = default;
|
|
|
|
// Virtuelle Methoden für Custom-Implementierung
|
|
virtual bool getAllTemplates(QList<FileContent> &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<DDSConnector::DdsConnector> m_ddsConnector;
|
|
std::unique_ptr<DdsDataReaderStub<FileContent>> m_dtcFileContent;
|
|
std::unique_ptr<DdsDataReaderStub<Folder>> m_dtcFolder;
|
|
};
|
|
|
|
} // namespace Interface
|
|
} // namespace FileManagement
|