##// END OF EJS Templates
commit
commit

File last commit:

r683:4d03130678b7
r684:90684a2a46fa
Show More
VariableRequest.h
49 lines | 1.2 KiB | text/x-c | CLexer
#ifndef SCIQLOP_VARIABLEREQUEST_H
#define SCIQLOP_VARIABLEREQUEST_H
#include <QObject>
#include <QUuid>
#include <Common/MetaTypes.h>
#include <Data/DataProviderParameters.h>
#include <Data/IDataSeries.h>
#include <Data/SqpRange.h>
#include <memory>
class DataProviderParameters;
class IDataProvider;
/**
* @brief The VariableRequest struct holds the information of an acquisition request
*/
struct VariableRequest {
void addResult(std::shared_ptr<IDataSeries> dataSeries)
{
if (!m_Result) {
m_Result = dataSeries->clone();
}
else {
m_Result->merge(dataSeries.get());
}
++m_ExecCount;
}
bool isFinished() const { return m_ProviderParameters.m_Times.size() == m_ExecCount; }
// Parameters
SqpRange m_RangeRequested{INVALID_RANGE};
SqpRange m_CacheRangeRequested{INVALID_RANGE};
std::shared_ptr<IDataProvider> m_Provider{nullptr};
DataProviderParameters m_ProviderParameters{};
// Results
std::shared_ptr<IDataSeries> m_Result{nullptr};
int m_ExecCount{0};
};
SCIQLOP_REGISTER_META_TYPE(VARIABLEREQUEST_REGISTRY, VariableRequest)
#endif // SCIQLOP_VARIABLEREQUEST_H