diff --git a/core/include/Variable/Variable.h b/core/include/Variable/Variable.h index dbdab81..55ba6c9 100644 --- a/core/include/Variable/Variable.h +++ b/core/include/Variable/Variable.h @@ -3,6 +3,7 @@ #include +class IDataSeries; class QString; /** @@ -16,6 +17,8 @@ public: QString mission() const noexcept; QString unit() const noexcept; + void addDataSeries(std::unique_ptr dataSeries) noexcept; + private: class VariablePrivate; spimpl::unique_impl_ptr impl; diff --git a/core/src/Variable/Variable.cpp b/core/src/Variable/Variable.cpp index 22d3775..02a2713 100644 --- a/core/src/Variable/Variable.cpp +++ b/core/src/Variable/Variable.cpp @@ -1,14 +1,17 @@ #include "Variable/Variable.h" +#include + struct Variable::VariablePrivate { explicit VariablePrivate(const QString &name, const QString &unit, const QString &mission) - : m_Name{name}, m_Unit{unit}, m_Mission{mission} + : m_Name{name}, m_Unit{unit}, m_Mission{mission}, m_DataSeries{nullptr} { } QString m_Name; QString m_Unit; QString m_Mission; + std::unique_ptr m_DataSeries; }; Variable::Variable(const QString &name, const QString &unit, const QString &mission) @@ -30,3 +33,11 @@ QString Variable::unit() const noexcept { return impl->m_Unit; } + +void Variable::addDataSeries(std::unique_ptr dataSeries) noexcept +{ + if (!impl->m_DataSeries) { + impl->m_DataSeries = std::move(dataSeries); + } + /// @todo : else, merge the two data series (if possible) +}