Accelerated Computation Engine
eabstractdatafactory.h
1 #ifndef EABSTRACTDATAFACTORY_H
2 #define EABSTRACTDATAFACTORY_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;
43  virtual QString fileExtension(quint16 type) const = 0;
51  virtual std::unique_ptr<EAbstractData> make(quint16 type) const = 0;
52 public:
54  static void setInstance(std::unique_ptr<EAbstractDataFactory>&& instance);
58  virtual ~EAbstractDataFactory() = default;
59 private:
63  static EAbstractDataFactory* _instance;
64 };
65 
66 
67 
68 #endif
virtual quint16 size() const =0
Definition: eabstractdatafactory.h:17
static EAbstractDataFactory & instance()
Definition: eabstractdatafactory.cpp:27
virtual QString fileExtension(quint16 type) const =0
static void setInstance(std::unique_ptr< EAbstractDataFactory > &&instance)
Definition: eabstractdatafactory.cpp:54
virtual std::unique_ptr< EAbstractData > make(quint16 type) const =0
virtual QString name(quint16 type) const =0
virtual ~EAbstractDataFactory()=default