##// END OF EJS Templates
Fix the close button on the graphs and multi selection in the same graph
Fix the close button on the graphs and multi selection in the same graph

File last commit:

r1004:15899f42a907
r1094:f391b1d9fb19
Show More
VariableCacheStrategyFactory.h
46 lines | 1.3 KiB | text/x-c | CLexer
/ core / include / Variable / VariableCacheStrategyFactory.h
#ifndef SCIQLOP_VARIABLECACHESTRATEGYFACTORY_H
#define SCIQLOP_VARIABLECACHESTRATEGYFACTORY_H
#include <memory>
#include <stdexcept>
#include "VariableCacheStrategy.h"
#include "VariableSingleThresholdCacheStrategy.h"
#include <QLoggingCategory>
#include <QString>
Q_LOGGING_CATEGORY(LOG_VariableCacheStrategyFactory, "VariableCacheStrategyFactory")
enum class CacheStrategy { SingleThreshold, TwoThreashold };
class VariableCacheStrategyFactory {
using cacheStratPtr = std::unique_ptr<VariableCacheStrategy>;
public:
static cacheStratPtr createCacheStrategy(CacheStrategy specificStrategy)
{
switch (specificStrategy) {
case CacheStrategy::SingleThreshold: {
return std::unique_ptr<VariableCacheStrategy>{
new VariableSingleThresholdCacheStrategy{}};
break;
}
case CacheStrategy::TwoThreashold: {
qCCritical(LOG_VariableCacheStrategyFactory())
<< QObject::tr("cache strategy not implemented yet");
break;
}
default:
qCCritical(LOG_VariableCacheStrategyFactory())
<< QObject::tr("Unknown cache strategy");
}
return nullptr;
}
};
#endif // VARIABLECACHESTRATEGYFACTORY_H