VariableAcquisitionWorker.h
66 lines
| 1.9 KiB
| text/x-c
|
CLexer
r527 | #ifndef SCIQLOP_VARIABLEACQUISITIONWORKER_H | |||
#define SCIQLOP_VARIABLEACQUISITIONWORKER_H | ||||
#include "CoreGlobal.h" | ||||
#include <Data/DataProviderParameters.h> | ||||
#include <QLoggingCategory> | ||||
#include <QObject> | ||||
#include <QUuid> | ||||
r539 | #include <Data/AcquisitionDataPacket.h> | |||
#include <Data/IDataSeries.h> | ||||
r530 | #include <Data/SqpRange.h> | |||
r527 | ||||
#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); | ||||
r539 | virtual ~VariableAcquisitionWorker(); | |||
r527 | ||||
r625 | QUuid pushVariableRequest(QUuid varRequestId, QUuid vIdentifier, SqpRange rangeRequested, | |||
SqpRange cacheRangeRequested, DataProviderParameters parameters, | ||||
std::shared_ptr<IDataProvider> provider); | ||||
r539 | ||||
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); | ||||
r761 | ||||
void variableCanceledRequested(QUuid vIdentifier); | ||||
r539 | public slots: | |||
void onVariableDataAcquired(QUuid acqIdentifier, std::shared_ptr<IDataSeries> dataSeries, | ||||
SqpRange dataRangeAcquired); | ||||
void onVariableRetrieveDataInProgress(QUuid acqIdentifier, double progress); | ||||
r761 | void onVariableAcquisitionFailed(QUuid acqIdentifier); | |||
r539 | ||||
r527 | private: | |||
r539 | void waitForFinish(); | |||
r527 | class VariableAcquisitionWorkerPrivate; | |||
spimpl::unique_impl_ptr<VariableAcquisitionWorkerPrivate> impl; | ||||
Alexandre Leroux
|
r657 | |||
private slots: | ||||
void onExecuteRequest(QUuid acqIdentifier); | ||||
r527 | }; | |||
#endif // SCIQLOP_VARIABLEACQUISITIONWORKER_H | ||||