1 #ifndef MASTERCATALOG_H
2 #define MASTERCATALOG_H
7 #include "Kernel_global.h"
12 class CatalogConnector;
14 typedef std::shared_ptr<IlwisObject> ESPIlwisObject;
47 bool addContainer(
const QUrl &location);
54 bool addItems(
const std::vector<Ilwis::Resource> &items);
62 bool removeItems(
const QList<Resource> &items);
71 quint64 url2id(
const QUrl& url, IlwisTypes tp)
const;
81 Resource name2Resource(
const QString& name, IlwisTypes tp = itUNKNOWN)
const;
89 Resource id2Resource(quint64 iid)
const;
99 quint64 name2id(
const QString& name, IlwisTypes tp= itUNKNOWN)
const;
106 IlwisTypes id2type(quint64
id)
const;
112 quint64 createId()
const;
118 void registerObject(ESPIlwisObject &data);
125 bool isRegistered(quint64
id)
const;
132 bool unregister(quint64);
142 std::vector<Resource> select(
const QUrl& resource,
const QString& selection)
const;
152 QUrl name2url(
const QString &name, IlwisTypes tp=itUNKNOWN)
const;
160 ESPIlwisObject
get(
const QUrl &resource, IlwisTypes type)
const;
167 ESPIlwisObject
get(quint64 id)
const;
176 bool contains(
const QUrl &url, IlwisTypes type)
const;
178 bool usesContainers(
const QUrl &scheme)
const;
179 void addContainerException(
const QString& scheme);
182 quint32 lookupSize()
const {
return _lookup.size(); }
183 void dumpLookup()
const;
184 quint32 usecount(quint64
id);
190 QHash<quint64, ESPIlwisObject> _lookup;
191 std::set<QUrl> _catalogs;
192 std::set<uint> _knownHashes;
193 std::set<QString> _containerExceptions;
209 #endif // MASTERCATALOG_H