Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
catalogitem.h
1 #ifndef CATALOGITEM_H
2 #define CATALOGITEM_H
3 
4 #include "Kernel_global.h"
5 #include <QVariant>
6 
7 class QSqlRecord;
8 class QSqlQuery;
9 
10 namespace Ilwis {
11 class KERNELSHARED_EXPORT CatalogItem : public Identity
12 {
13 public:
14  CatalogItem();
15  CatalogItem(const QUrl& url);
16 
17  CatalogItem(const QSqlRecord& rec);
18 
19  QString operator[] (const QString& property) const;
20  QVariant& operator[] (const QString& property);
21  bool hasProperty(const QString& property) const;
22  QUrl url() const;
23  QUrl container() const;
24  void setContainer(const QUrl &url);
25  quint64 size() const;
26  QString dimensions() const;
27  IlwisTypes ilwisType() const;
28  IlwisTypes extendedType() const;
29  QString type() const;
30  void setIlwisType(IlwisTypes tp);
31  void setExtendedType(IlwisTypes tp);
32  void prepare();
33  bool store(QSqlQuery &queryItem, QSqlQuery &queryProperties) const;
34  bool isValid() const;
35 
36 protected:
37  QHash<QString, QVariant> _properties;
38  QUrl _resource;
39  QUrl _container;
40  quint64 _size;
41  QString _dimensions;
42  IlwisTypes _ilwtype;
43  IlwisTypes _extendedType;
44 };
45 
46 uint qHash(const Ilwis::CatalogItem& resource );
47 bool operator==(const Ilwis::CatalogItem& resource1, const Ilwis::CatalogItem& resource2 );
48 bool operator<(const Ilwis::CatalogItem& resource1, const Ilwis::CatalogItem& resource2 );
49 }
50 
51 #endif // CATALOGITEM2_H