From ceba508593fbb2f897dfa6ba38ec3839e62d85a8 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Fri, 13 Oct 2023 15:29:06 +1100 Subject: Add modified time to TrackData --- src/database/include/file_gatherer.hpp | 10 ++++++---- src/database/include/track.hpp | 19 +++++++++++++++---- 2 files changed, 21 insertions(+), 8 deletions(-) (limited to 'src/database/include') diff --git a/src/database/include/file_gatherer.hpp b/src/database/include/file_gatherer.hpp index 133cf81a..378727f7 100644 --- a/src/database/include/file_gatherer.hpp +++ b/src/database/include/file_gatherer.hpp @@ -19,15 +19,17 @@ class IFileGatherer { public: virtual ~IFileGatherer(){}; - virtual auto FindFiles(const std::pmr::string& root, - std::function cb) + virtual auto FindFiles( + const std::pmr::string& root, + std::function cb) -> void = 0; }; class FileGathererImpl : public IFileGatherer { public: - virtual auto FindFiles(const std::pmr::string& root, - std::function cb) + virtual auto FindFiles( + const std::pmr::string& root, + std::function cb) -> void override; }; diff --git a/src/database/include/track.hpp b/src/database/include/track.hpp index 44bfbc54..1067b25e 100644 --- a/src/database/include/track.hpp +++ b/src/database/include/track.hpp @@ -7,6 +7,7 @@ #pragma once #include +#include #include #include @@ -118,23 +119,30 @@ class TrackData { const std::pmr::string filepath_; const uint64_t tags_hash_; const bool is_tombstoned_; + const std::pair modified_at_; public: /* Constructor used when adding new tracks to the database. */ - TrackData(TrackId id, const std::pmr::string& path, uint64_t hash) + TrackData(TrackId id, + const std::pmr::string& path, + uint64_t hash, + std::pair modified_at) : id_(id), filepath_(path, &memory::kSpiRamResource), tags_hash_(hash), - is_tombstoned_(false) {} + is_tombstoned_(false), + modified_at_(modified_at) {} TrackData(TrackId id, const std::pmr::string& path, uint64_t hash, - bool is_tombstoned) + bool is_tombstoned, + std::pair modified_at) : id_(id), filepath_(path, &memory::kSpiRamResource), tags_hash_(hash), - is_tombstoned_(is_tombstoned) {} + is_tombstoned_(is_tombstoned), + modified_at_(modified_at) {} TrackData(TrackData&& other) = delete; TrackData& operator=(TrackData& other) = delete; @@ -145,6 +153,9 @@ class TrackData { auto filepath() const -> std::pmr::string { return filepath_; } auto tags_hash() const -> uint64_t { return tags_hash_; } auto is_tombstoned() const -> bool { return is_tombstoned_; } + auto modified_at() const -> std::pair { + return modified_at_; + } auto UpdateHash(uint64_t new_hash) const -> TrackData; -- cgit v1.2.3