Porytiles
Loading...
Searching...
No Matches
project_artifact_checksum_provider.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <string>
5
9
10namespace porytiles {
11
23 public:
24 explicit ProjectArtifactChecksumProvider(std::filesystem::path project_root)
25 : project_root_{std::move(project_root)}
26 {
27 }
28
29 [[nodiscard]] std::unordered_map<ArtifactKey, std::string>
30 compute_tileset_artifact_checksums(const std::vector<ArtifactKey> &keys) const override;
31
32 [[nodiscard]] std::unordered_map<ArtifactKey, std::string>
33 load_cached_tileset_checksums(const std::string &tileset_name) const override;
34
36 const std::string &tileset_name, const std::unordered_map<ArtifactKey, std::string> &checksums) const override;
37
38 private:
39 const std::filesystem::path project_root_;
40};
41
42} // namespace porytiles
Abstract service for managing artifact checksums.
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Pokeemerald project filesystem-based implementation of ArtifactChecksumProvider.
std::unordered_map< ArtifactKey, std::string > load_cached_tileset_checksums(const std::string &tileset_name) const override
Loads the cached checksums for the given Tileset.
ChainableResult< void > cache_tileset_checksums(const std::string &tileset_name, const std::unordered_map< ArtifactKey, std::string > &checksums) const override
Caches checksums for the given Tileset to persistent storage.
std::unordered_map< ArtifactKey, std::string > compute_tileset_artifact_checksums(const std::vector< ArtifactKey > &keys) const override
Computes checksums for the given Tileset artifacts.
ProjectArtifactChecksumProvider(std::filesystem::path project_root)