VariableAcquisitionWorker.h
61 lines
| 1.8 KiB
| text/x-c
|
CLexer
r498 | #ifndef SCIQLOP_VARIABLEACQUISITIONWORKER_H | |||
#define SCIQLOP_VARIABLEACQUISITIONWORKER_H | ||||
#include "CoreGlobal.h" | ||||
#include <Data/DataProviderParameters.h> | ||||
#include <QLoggingCategory> | ||||
#include <QObject> | ||||
#include <QUuid> | ||||
r510 | #include <Data/AcquisitionDataPacket.h> | |||
#include <Data/IDataSeries.h> | ||||
r501 | #include <Data/SqpRange.h> | |||
r498 | ||||
#include <QLoggingCategory> | ||||
#include <Common/spimpl.h> | ||||
Q_DECLARE_LOGGING_CATEGORY(LOG_VariableAcquisitionWorker) | ||||
class Variable; | ||||
class IDataProvider; | ||||
/// This class aims to handle all acquisition request | ||||
class SCIQLOP_CORE_EXPORT VariableAcquisitionWorker : public QObject { | ||||
Q_OBJECT | ||||
public: | ||||
explicit VariableAcquisitionWorker(QObject *parent = 0); | ||||
r510 | virtual ~VariableAcquisitionWorker(); | |||
r498 | ||||
r510 | void pushVariableRequest(QUuid vIdentifier, SqpRange rangeRequested, | |||
SqpRange cacheRangeRequested, DataProviderParameters parameters, | ||||
std::shared_ptr<IDataProvider> provider); | ||||
void abortProgressRequested(QUuid vIdentifier); | ||||
void initialize(); | ||||
void finalize(); | ||||
signals: | ||||
void dataProvided(QUuid vIdentifier, const SqpRange &rangeRequested, | ||||
const SqpRange &cacheRangeRequested, | ||||
QVector<AcquisitionDataPacket> dataAcquired); | ||||
void variableRequestInProgress(QUuid vIdentifier, double progress); | ||||
public slots: | ||||
void onVariableDataAcquired(QUuid acqIdentifier, std::shared_ptr<IDataSeries> dataSeries, | ||||
SqpRange dataRangeAcquired); | ||||
void onVariableRetrieveDataInProgress(QUuid acqIdentifier, double progress); | ||||
private slots: | ||||
void onExecuteRequest(QUuid acqIdentifier); | ||||
r498 | ||||
private: | ||||
r510 | void waitForFinish(); | |||
r498 | class VariableAcquisitionWorkerPrivate; | |||
spimpl::unique_impl_ptr<VariableAcquisitionWorkerPrivate> impl; | ||||
}; | ||||
#endif // SCIQLOP_VARIABLEACQUISITIONWORKER_H | ||||