summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/common/execution_api.hpp
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2023-03-22 14:58:49 +0100
committerKlaus Aehlig <klaus.aehlig@huawei.com>2023-03-23 16:00:15 +0100
commitcf5fe9c264d0c7199b9ca13362913916ba689c6f (patch)
treea925629ba3978b20f766c701faa4e951c3745c8e /src/buildtool/execution_api/common/execution_api.hpp
parent27a7f0f98986abc54cd52b17974743287d6eaa79 (diff)
downloadjustbuild-cf5fe9c264d0c7199b9ca13362913916ba689c6f.tar.gz
execution api: support retrieving from more than one API
Diffstat (limited to 'src/buildtool/execution_api/common/execution_api.hpp')
-rw-r--r--src/buildtool/execution_api/common/execution_api.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/buildtool/execution_api/common/execution_api.hpp b/src/buildtool/execution_api/common/execution_api.hpp
index de1f89c0..ffa31483 100644
--- a/src/buildtool/execution_api/common/execution_api.hpp
+++ b/src/buildtool/execution_api/common/execution_api.hpp
@@ -60,10 +60,14 @@ class IExecutionApi {
/// \brief Retrieve artifacts from CAS and store to specified paths.
/// Tree artifacts are resolved its containing file artifacts are
/// recursively retrieved.
+ /// If the alternative is provided, it can be assumed that this
+ /// alternative CAS is more close, but it might not contain all the
+ /// needed artifacts.
+ /// NOLINTNEXTLINE(google-default-arguments)
[[nodiscard]] virtual auto RetrieveToPaths(
std::vector<Artifact::ObjectInfo> const& artifacts_info,
- std::vector<std::filesystem::path> const& output_paths) noexcept
- -> bool = 0;
+ std::vector<std::filesystem::path> const& output_paths,
+ IExecutionApi* alternative = nullptr) noexcept -> bool = 0;
/// \brief Retrieve artifacts from CAS and write to file descriptors.
/// Tree artifacts are not resolved and instead the tree object will be