#pragma once #include #include #include struct MetaEntry { QString base; QString path; QString md5sum; QString etag; quint64 last_changed_timestamp = 0; }; typedef QSharedPointer MetaEntryPtr; class HttpMetaCache { public: // supply path to the cache index file HttpMetaCache(QString path); ~HttpMetaCache(); MetaEntryPtr getEntryForResource(QString base, QString resource_path); void addEntry(QString base, QString resource_path, QString etag); void addBase(QString base, QString base_root); private: void Save(); void Load(); struct EntryMap { QString base_path; QMap entry_list; }; QMap m_entries; QString m_index_file; };