diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/execution_api/local/TARGETS | 12 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/context.hpp | 31 |
2 files changed, 43 insertions, 0 deletions
diff --git a/src/buildtool/execution_api/local/TARGETS b/src/buildtool/execution_api/local/TARGETS index 682c8624..c753ba92 100644 --- a/src/buildtool/execution_api/local/TARGETS +++ b/src/buildtool/execution_api/local/TARGETS @@ -55,4 +55,16 @@ , ["src/utils/cpp", "path"] ] } +, "context": + { "type": ["@", "rules", "CC", "library"] + , "name": ["context"] + , "hdrs": ["context.hpp"] + , "deps": + [ ["@", "gsl", "", "gsl"] + , "config" + , ["src/buildtool/storage", "config"] + , ["src/buildtool/storage", "storage"] + ] + , "stage": ["src", "buildtool", "execution_api", "local"] + } } diff --git a/src/buildtool/execution_api/local/context.hpp b/src/buildtool/execution_api/local/context.hpp new file mode 100644 index 00000000..dcc0ee2c --- /dev/null +++ b/src/buildtool/execution_api/local/context.hpp @@ -0,0 +1,31 @@ +// Copyright 2024 Huawei Cloud Computing Technology Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_CONTEXT_HPP +#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_CONTEXT_HPP + +#include "gsl/gsl" +#include "src/buildtool/execution_api/local/config.hpp" +#include "src/buildtool/storage/config.hpp" +#include "src/buildtool/storage/storage.hpp" + +/// \brief Aggregate of storage entities. +/// \note No field is be stored as const ref to avoid binding to temporaries. +struct LocalContext final { + gsl::not_null<LocalExecutionConfig const*> const exec_config; + gsl::not_null<StorageConfig const*> const storage_config; + gsl::not_null<Storage const*> const storage; +}; + +#endif // INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_CONTEXT_HPP |