Android-cuttlefish cvd tool
chroot.h
Go to the documentation of this file.
1//
2// Copyright (C) 2026 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16#pragma once
17
18#include <stdint.h>
19
20#include <string>
21#include <string_view>
22
24#include "cuttlefish/io/io.h"
26
27namespace cuttlefish {
28
38 public:
40 std::string_view path_prefix);
41
43 std::string_view path) override;
44
45 Result<uint32_t> FileAttributes(std::string_view path) const override;
46
48 std::string_view path) override;
49
50 Result<void> DeleteFile(std::string_view path) override;
51
53 std::string_view path) override;
54
55 private:
56 Result<std::string> ChrootToRealPath(std::string_view) const;
57
59 std::string path_prefix_;
60};
61
62} // namespace cuttlefish
Result< std::unique_ptr< ReaderWriterSeeker > > CreateFile(std::string_view path) override
Definition: chroot.cc:56
Result< void > DeleteFile(std::string_view path) override
Definition: chroot.cc:62
ChrootReadWriteFilesystem(ReadWriteFilesystem &real_filesystem, std::string_view path_prefix)
Definition: chroot.cc:37
Result< std::string > ChrootToRealPath(std::string_view) const
Definition: chroot.cc:76
Result< std::unique_ptr< ReaderSeeker > > OpenReadOnly(std::string_view path) override
Definition: chroot.cc:41
std::string path_prefix_
Definition: chroot.h:59
Result< uint32_t > FileAttributes(std::string_view path) const override
Definition: chroot.cc:48
ReadWriteFilesystem * real_filesystem_
Definition: chroot.h:58
Result< std::unique_ptr< ReaderWriterSeeker > > OpenReadWrite(std::string_view path) override
Definition: chroot.cc:70
Definition: filesystem.h:37
Definition: alloc_driver.h:20
tl::expected< T, StackTraceError > Result
Definition: result_type.h:30