metadata: cache recent files for faster operation

(cherry picked from commit 6ee014ddb7ab77537289e1f41f13345e5db54710)
This commit is contained in:
Alberto Griggio
2019-12-09 04:27:13 -08:00
committed by Lawrence Lee
parent e3f3b8ae91
commit e7fdad875a
3 changed files with 31 additions and 16 deletions

View File

@@ -24,6 +24,7 @@
#include <exiv2/exiv2.hpp>
#include <memory>
#include "procparams.h"
#include "cache.h"
namespace rtengine {
@@ -74,11 +75,10 @@ private:
Exiv2::ExifData exif_data_;
Exiv2::IptcData iptc_data_;
Exiv2::XmpData xmp_data_;
typedef std::pair<std::shared_ptr<Exiv2::Image>, Glib::TimeVal> CacheVal;
typedef Cache<Glib::ustring, CacheVal> ImageCache;
static std::unique_ptr<ImageCache> cache_;
};
// Glib::ustring get_xmp_sidecar_path(const Glib::ustring &path);
// Exiv2::Image::AutoPtr open_exiv2(const Glib::ustring &fname,
// bool merge_xmp_sidecar);
// Exiv2::XmpData read_exiv2_xmp(const Glib::ustring &fname);
} // namespace rtengine