##// END OF EJS Templates
Completes fuzzing test structure by setting initial range for the time controller
Completes fuzzing test structure by setting initial range for the time controller

File last commit:

r1004:15899f42a907
r1209:324a3ee21c58
Show More
VariableCacheStrategyFactory.h
46 lines | 1.3 KiB | text/x-c | CLexer
/ core / include / Variable / VariableCacheStrategyFactory.h
Alexandre Leroux
Updates cache strategy
r771 #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");
}
Alexandre Leroux
Removes compilation warnings (with Meson)
r1004
return nullptr;
Alexandre Leroux
Updates cache strategy
r771 }
};
#endif // VARIABLECACHESTRATEGYFACTORY_H