Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Side by Side Diff: chrome/browser/chromeos/fileapi/file_system_backend.h

Issue 2568033002: mediaview: Skeleton for ARC Documents Provider FS. (Closed)
Patch Set: IWYU and comments. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_H_
6 #define CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_H_ 6 #define CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 class FileSystemBackend : public storage::ExternalFileSystemBackend { 66 class FileSystemBackend : public storage::ExternalFileSystemBackend {
67 public: 67 public:
68 using storage::FileSystemBackend::OpenFileSystemCallback; 68 using storage::FileSystemBackend::OpenFileSystemCallback;
69 69
70 // |system_mount_points| should outlive FileSystemBackend instance. 70 // |system_mount_points| should outlive FileSystemBackend instance.
71 FileSystemBackend( 71 FileSystemBackend(
72 std::unique_ptr<FileSystemBackendDelegate> drive_delegate, 72 std::unique_ptr<FileSystemBackendDelegate> drive_delegate,
73 std::unique_ptr<FileSystemBackendDelegate> file_system_provider_delegate, 73 std::unique_ptr<FileSystemBackendDelegate> file_system_provider_delegate,
74 std::unique_ptr<FileSystemBackendDelegate> mtp_delegate, 74 std::unique_ptr<FileSystemBackendDelegate> mtp_delegate,
75 std::unique_ptr<FileSystemBackendDelegate> arc_content_delegate, 75 std::unique_ptr<FileSystemBackendDelegate> arc_content_delegate,
76 std::unique_ptr<FileSystemBackendDelegate>
77 arc_documents_provider_delegate,
76 scoped_refptr<storage::ExternalMountPoints> mount_points, 78 scoped_refptr<storage::ExternalMountPoints> mount_points,
77 storage::ExternalMountPoints* system_mount_points); 79 storage::ExternalMountPoints* system_mount_points);
78 ~FileSystemBackend() override; 80 ~FileSystemBackend() override;
79 81
80 // Adds system mount points, such as "archive", and "removable". This 82 // Adds system mount points, such as "archive", and "removable". This
81 // function is no-op if these mount points are already present. 83 // function is no-op if these mount points are already present.
82 void AddSystemMountPoints(); 84 void AddSystemMountPoints();
83 85
84 // Returns true if CrosMountpointProvider can handle |url|, i.e. its 86 // Returns true if CrosMountpointProvider can handle |url|, i.e. its
85 // file system type matches with what this provider supports. 87 // file system type matches with what this provider supports.
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 150
149 // The delegate instance for the provided file system related operations. 151 // The delegate instance for the provided file system related operations.
150 std::unique_ptr<FileSystemBackendDelegate> file_system_provider_delegate_; 152 std::unique_ptr<FileSystemBackendDelegate> file_system_provider_delegate_;
151 153
152 // The delegate instance for the MTP file system related operations. 154 // The delegate instance for the MTP file system related operations.
153 std::unique_ptr<FileSystemBackendDelegate> mtp_delegate_; 155 std::unique_ptr<FileSystemBackendDelegate> mtp_delegate_;
154 156
155 // The delegate instance for the ARC content file system related operations. 157 // The delegate instance for the ARC content file system related operations.
156 std::unique_ptr<FileSystemBackendDelegate> arc_content_delegate_; 158 std::unique_ptr<FileSystemBackendDelegate> arc_content_delegate_;
157 159
160 // The delegate instance for the ARC documents provider related operations.
161 std::unique_ptr<FileSystemBackendDelegate> arc_documents_provider_delegate_;
162
158 // Mount points specific to the owning context (i.e. per-profile mount 163 // Mount points specific to the owning context (i.e. per-profile mount
159 // points). 164 // points).
160 // 165 //
161 // It is legal to have mount points with the same name as in 166 // It is legal to have mount points with the same name as in
162 // system_mount_points_. Also, mount point paths may overlap with mount point 167 // system_mount_points_. Also, mount point paths may overlap with mount point
163 // paths in system_mount_points_. In both cases mount points in 168 // paths in system_mount_points_. In both cases mount points in
164 // |mount_points_| will have a priority. 169 // |mount_points_| will have a priority.
165 // E.g. if |mount_points_| map 'foo1' to '/foo/foo1' and 170 // E.g. if |mount_points_| map 'foo1' to '/foo/foo1' and
166 // |file_system_mount_points_| map 'xxx' to '/foo/foo1/xxx', |GetVirtualPaths| 171 // |file_system_mount_points_| map 'xxx' to '/foo/foo1/xxx', |GetVirtualPaths|
167 // will resolve '/foo/foo1/xxx/yyy' as 'foo1/xxx/yyy' (i.e. the mapping from 172 // will resolve '/foo/foo1/xxx/yyy' as 'foo1/xxx/yyy' (i.e. the mapping from
168 // |mount_points_| will be used). 173 // |mount_points_| will be used).
169 scoped_refptr<storage::ExternalMountPoints> mount_points_; 174 scoped_refptr<storage::ExternalMountPoints> mount_points_;
170 175
171 // Globally visible mount points. System MountPonts instance should outlive 176 // Globally visible mount points. System MountPonts instance should outlive
172 // all FileSystemBackend instances, so raw pointer is safe. 177 // all FileSystemBackend instances, so raw pointer is safe.
173 storage::ExternalMountPoints* system_mount_points_; 178 storage::ExternalMountPoints* system_mount_points_;
174 179
175 DISALLOW_COPY_AND_ASSIGN(FileSystemBackend); 180 DISALLOW_COPY_AND_ASSIGN(FileSystemBackend);
176 }; 181 };
177 182
178 } // namespace chromeos 183 } // namespace chromeos
179 184
180 #endif // CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_H_ 185 #endif // CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698