##// END OF EJS Templates
Merge branch 'feature/DateTimeOfVariableAtInit' into develop
Merge branch 'feature/DateTimeOfVariableAtInit' into develop

File last commit:

r293:64d757eeae79
r299:bc65aa8d09b9 merge
Show More
VariableCacheController.h
40 lines | 1.1 KiB | text/x-c | CLexer
/ core / include / Variable / VariableCacheController.h
#ifndef SCIQLOP_VARIABLECACHECONTROLLER_H
#define SCIQLOP_VARIABLECACHECONTROLLER_H
#include <QObject>
#include <Data/SqpDateTime.h>
#include <QLoggingCategory>
#include <Common/spimpl.h>
class Variable;
Q_DECLARE_LOGGING_CATEGORY(LOG_VariableCacheController)
/// This class aims to store in the cache 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> variable, const SqpDateTime &dateTime);
/// Return all of the SqpDataTime part of the dateTime whose are not in the cache
QVector<SqpDateTime> provideNotInCacheDateTimeList(std::shared_ptr<Variable> variable,
const SqpDateTime &dateTime);
QVector<SqpDateTime> dateCacheList(std::shared_ptr<Variable> variable) const noexcept;
void displayCache(std::shared_ptr<Variable> variable);
private:
class VariableCacheControllerPrivate;
spimpl::unique_impl_ptr<VariableCacheControllerPrivate> impl;
};
#endif // SCIQLOP_VARIABLECACHECONTROLLER_H