Accelerated Computation Engine
eabstractanalyticfactory.h
1 #ifndef EABSTRACTANALYTICFACTORY_H
2 #define EABSTRACTANALYTICFACTORY_H
3 #include <memory>
4 #include <QString>
5 #include "global.h"
6 //
7 
8 
9 
18 {
19 public:
27  virtual quint16 size() const = 0;
35  virtual QString name(quint16 type) const = 0;
44  virtual QString commandName(quint16 type) const = 0;
53  virtual std::unique_ptr<EAbstractAnalytic> make(quint16 type) const = 0;
54 public:
56  static void setInstance(std::unique_ptr<EAbstractAnalyticFactory>&& instance);
60  virtual ~EAbstractAnalyticFactory() = default;
61 private:
62  static void checkCommandNames(EAbstractAnalyticFactory* factory);
63  static void checkCommandArguments(EAbstractAnalytic* analytic);
67  static EAbstractAnalyticFactory* _instance;
68 };
69 
70 
71 
72 #endif
Definition: eabstractanalytic.h:24
virtual std::unique_ptr< EAbstractAnalytic > make(quint16 type) const =0
Definition: eabstractanalyticfactory.h:17
static void setInstance(std::unique_ptr< EAbstractAnalyticFactory > &&instance)
Definition: eabstractanalyticfactory.cpp:59
virtual quint16 size() const =0
virtual ~EAbstractAnalyticFactory()=default
static EAbstractAnalyticFactory & instance()
Definition: eabstractanalyticfactory.cpp:29
virtual QString commandName(quint16 type) const =0
virtual QString name(quint16 type) const =0