Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
ilwisobjectfactory.h
1 #ifndef ILWISOBJECTFACTORY_H
2 #define ILWISOBJECTFACTORY_H
3 
4 #include "Kernel_global.h"
5 #include "ilwis.h"
6 
7 namespace Ilwis {
8 
9 class IlwisObject;
10 class Resource;
11 class IlwisObjectConnector;
12 
21 class KERNELSHARED_EXPORT IlwisObjectFactory : public AbstractFactory
22 {
23 public:
33  IlwisObjectFactory(const QString& ty, const QString& sub, const QString& desc="");
34 
42  virtual IlwisObject *create(const Resource &resource,const PrepareOptions& options=PrepareOptions()) const = 0;
43  virtual IlwisObject *create(IlwisTypes, const QString& sub = sUNDEF ) const { return (sub == sUNDEF ? nullptr: nullptr); }
44 
45 protected:
46  IlwisObject *createObject(IlwisObjectConnector *connector,const PrepareOptions& options=PrepareOptions()) const;
47 
48 
49 };
50 }
51 
52 #endif // ILWISOBJECTFACTORY_H