##// END OF EJS Templates
It's now possible to create the variable and ask data to be retreived...
It's now possible to create the variable and ask data to be retreived asynchronously

File last commit:

r300:462cefb59d8a
r319:c71a61da7f3d
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) const;
private:
class VariableCacheControllerPrivate;
spimpl::unique_impl_ptr<VariableCacheControllerPrivate> impl;
};
#endif // SCIQLOP_VARIABLECACHECONTROLLER_H