Files
qt5-legatus-legacy/Lts/Services/SituationReplay/db_reader.h
T
2026-08-13 18:33:10 +02:00

50 lines
1.2 KiB
C++
Executable File

/**
* DbReader for SituationReplay
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <PluginInterfaces/record_replay_plugin.h>
#include "logger.h"
class QSqlDatabase;
class NSqlQuery;
namespace LtsPluginManager
{
struct PluginInstance;
}
namespace SituationReplay
{
class DbReader final
{
public:
explicit DbReader(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector,
int exerciseId,
bool bCanHandleSchemas);
~DbReader();
bool init(const QSqlDatabase &db);
bool setReplayStartTime(qint64 startTime);
bool readData(qint64 fromTime, qint64 toTime);
void publish(qint64 desiredTime);
void waitForAsyncOperations(qint64 desiredTime);
void clearData();
private:
bool loadPlugin(const LtsPluginManager::PluginInstance &pi);
private:
int m_exerciseId;
NSqlQuery *m_query;
std::shared_ptr<DDSConnector::DdsConnector> m_ddsConnector;
bool m_bCanHandleSchemas;
std::vector<RecordReplay::RecordReplayPlugin*> m_plugins;
LOGGER_T m_logger;
};
} // namespace RecordingManagement