#ifndef SCIQLOP_VARIABLEREQUEST_H #define SCIQLOP_VARIABLEREQUEST_H #include #include #include #include #include #include #include class DataProviderParameters; class IDataProvider; /** * @brief The VariableRequest struct holds the information of an acquisition request */ struct VariableRequest { void addResult(std::shared_ptr 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 m_Provider{nullptr}; DataProviderParameters m_ProviderParameters{}; // Results std::shared_ptr m_Result{nullptr}; int m_ExecCount{0}; }; SCIQLOP_REGISTER_META_TYPE(VARIABLEREQUEST_REGISTRY, VariableRequest) #endif // SCIQLOP_VARIABLEREQUEST_H