Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
folderconnector.h
1 #ifndef FOLDERCONNECTOR_H
2 #define FOLDERCONNECTOR_H
3 
4 namespace Ilwis {
5 
6 class ConnectorInterface;
7 
8 class FolderConnector : public ContainerConnector
9 {
10 public:
12  FolderConnector(const Resource &resource, bool);
13  ~FolderConnector() {}
14  std::vector<QUrl> sources(const QStringList &filters, int options=foFULLPATHS) const;
15  QString provider() const;
16  bool prepare();
17  QFileInfo toLocalFile(const QUrl &datasource) const;
18 
19  static ConnectorInterface *create(const Resource &resource, bool load);
20  bool canUse(const Resource &resource) const;
21  bool isValid() const;
22 
23 private:
24  std::vector<QUrl> loadFolders(const QStringList &namefilter) const;
25  Resource loadFolder(const QFileInfo &file, QUrl container, const QString &path, const QUrl &url) const;
26 
27  std::vector<std::unique_ptr<CatalogConnector>> _catalogs;
28  std::unique_ptr<QFile> _file;
29 };
30 }
31 
32 #endif // FOLDERCONNECTOR_H