OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef COMPONENTS_FILESYSTEM_DIRECTORY_IMPL_H_ | 5 #ifndef COMPONENTS_FILESYSTEM_DIRECTORY_IMPL_H_ |
6 #define COMPONENTS_FILESYSTEM_DIRECTORY_IMPL_H_ | 6 #define COMPONENTS_FILESYSTEM_DIRECTORY_IMPL_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 // |Directory| implementation: | 38 // |Directory| implementation: |
39 void Read(const ReadCallback& callback) override; | 39 void Read(const ReadCallback& callback) override; |
40 void OpenFile(const mojo::String& path, | 40 void OpenFile(const mojo::String& path, |
41 mojo::InterfaceRequest<File> file, | 41 mojo::InterfaceRequest<File> file, |
42 uint32_t open_flags, | 42 uint32_t open_flags, |
43 const OpenFileCallback& callback) override; | 43 const OpenFileCallback& callback) override; |
44 void OpenFileHandle(const mojo::String& path, | 44 void OpenFileHandle(const mojo::String& path, |
45 uint32_t open_flags, | 45 uint32_t open_flags, |
46 const OpenFileHandleCallback& callback) override; | 46 const OpenFileHandleCallback& callback) override; |
| 47 void OpenFileHandles(mojo::Array<FileOpenDetailsPtr> details, |
| 48 const OpenFileHandlesCallback& callback) override; |
47 void OpenDirectory(const mojo::String& path, | 49 void OpenDirectory(const mojo::String& path, |
48 mojo::InterfaceRequest<Directory> directory, | 50 mojo::InterfaceRequest<Directory> directory, |
49 uint32_t open_flags, | 51 uint32_t open_flags, |
50 const OpenDirectoryCallback& callback) override; | 52 const OpenDirectoryCallback& callback) override; |
51 void Rename(const mojo::String& path, | 53 void Rename(const mojo::String& path, |
52 const mojo::String& new_path, | 54 const mojo::String& new_path, |
53 const RenameCallback& callback) override; | 55 const RenameCallback& callback) override; |
54 void Delete(const mojo::String& path, | 56 void Delete(const mojo::String& path, |
55 uint32_t delete_flags, | 57 uint32_t delete_flags, |
56 const DeleteCallback& callback) override; | 58 const DeleteCallback& callback) override; |
57 void Exists(const mojo::String& path, | 59 void Exists(const mojo::String& path, |
58 const ExistsCallback& callback) override; | 60 const ExistsCallback& callback) override; |
59 void IsWritable(const mojo::String& path, | 61 void IsWritable(const mojo::String& path, |
60 const IsWritableCallback& callback) override; | 62 const IsWritableCallback& callback) override; |
61 void Flush(const FlushCallback& callback) override; | 63 void Flush(const FlushCallback& callback) override; |
62 void StatFile(const mojo::String& path, | 64 void StatFile(const mojo::String& path, |
63 const StatFileCallback& callback) override; | 65 const StatFileCallback& callback) override; |
64 void Clone(mojo::InterfaceRequest<Directory> directory) override; | 66 void Clone(mojo::InterfaceRequest<Directory> directory) override; |
65 void ReadEntireFile(const mojo::String& path, | 67 void ReadEntireFile(const mojo::String& path, |
66 const ReadEntireFileCallback& callback) override; | 68 const ReadEntireFileCallback& callback) override; |
67 void WriteFile(const mojo::String& path, | 69 void WriteFile(const mojo::String& path, |
68 mojo::Array<uint8_t> data, | 70 mojo::Array<uint8_t> data, |
69 const WriteFileCallback& callback) override; | 71 const WriteFileCallback& callback) override; |
70 | 72 |
71 private: | 73 private: |
| 74 mojo::ScopedHandle OpenFileHandleImpl(const mojo::String& raw_path, |
| 75 uint32_t open_flags, |
| 76 FileError* error); |
| 77 |
72 mojo::StrongBinding<Directory> binding_; | 78 mojo::StrongBinding<Directory> binding_; |
73 base::FilePath directory_path_; | 79 base::FilePath directory_path_; |
74 scoped_refptr<SharedTempDir> temp_dir_; | 80 scoped_refptr<SharedTempDir> temp_dir_; |
75 scoped_refptr<LockTable> lock_table_; | 81 scoped_refptr<LockTable> lock_table_; |
76 | 82 |
77 DISALLOW_COPY_AND_ASSIGN(DirectoryImpl); | 83 DISALLOW_COPY_AND_ASSIGN(DirectoryImpl); |
78 }; | 84 }; |
79 | 85 |
80 } // namespace filesystem | 86 } // namespace filesystem |
81 | 87 |
82 #endif // COMPONENTS_FILESYSTEM_DIRECTORY_IMPL_H_ | 88 #endif // COMPONENTS_FILESYSTEM_DIRECTORY_IMPL_H_ |
OLD | NEW |