#ifndef SCIQLOP_VARIABLECACHECONTROLLER_H #define SCIQLOP_VARIABLECACHECONTROLLER_H #include #include #include class Variable; /// This class aims to store in the cash all of the dateTime already requested to the variable. class VariableCacheController : public QObject { Q_OBJECT public: explicit VariableCacheController(QObject *parent = 0); void addDateTime(std::shared_ptr variable, const SqpDateTime &dateTime); /// Return all of the SqpDataTime part of the dateTime whose are not in the cache QVector provideNotInCacheDateTimeList(std::shared_ptr variable, const SqpDateTime &dateTime); QVector dateCacheList(std::shared_ptr variable) const noexcept; private: class VariableCacheControllerPrivate; spimpl::unique_impl_ptr impl; }; #endif // SCIQLOP_VARIABLECACHECONTROLLER_H