Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
abstractfactory.h
1 #ifndef ABSTRACTFACTORY_H
2 #define ABSTRACTFACTORY_H
3 
4 #include "Kernel_global.h"
5 
6 
7 
8 
9 namespace Ilwis {
10 
11 class Resource;
12 class CatalogConnector;
13 typedef std::unique_ptr<Ilwis::CatalogConnector> UPCatalogConnector;
14 
18 class KERNELSHARED_EXPORT AbstractFactory : public FactoryInterface
19 {
20 public:
25  QString description() const;
30  QString type() const;
36  QString subtype() const;
41  QString key() const;
46  bool prepare() ;
52  bool canUse(const Resource &resource) const;
53 protected:
54  AbstractFactory(const QString& ty, const QString& sub, const QString& desc="");
55 private:
56 
57  QString _type;
58  QString _subtype;
59  QString _description;
60 
61 };
62 }
63 
64 typedef bool (* CheckUsage)(const Ilwis::Resource&,const Ilwis::UPCatalogConnector &);
65 
66 #endif // ABSTRACTFACTORY_H