OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 WEBKIT_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ | 5 #ifndef WEBKIT_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ |
6 #define WEBKIT_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ | 6 #define WEBKIT_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 17 matching lines...) Expand all Loading... |
28 } | 28 } |
29 | 29 |
30 namespace chromeos { | 30 namespace chromeos { |
31 | 31 |
32 class FileAccessPermissions; | 32 class FileAccessPermissions; |
33 | 33 |
34 // An interface to provide local filesystem paths. | 34 // An interface to provide local filesystem paths. |
35 class WEBKIT_STORAGE_EXPORT CrosMountPointProvider | 35 class WEBKIT_STORAGE_EXPORT CrosMountPointProvider |
36 : public fileapi::ExternalFileSystemMountPointProvider { | 36 : public fileapi::ExternalFileSystemMountPointProvider { |
37 public: | 37 public: |
38 using fileapi::FileSystemMountPointProvider::ValidateFileSystemCallback; | 38 using fileapi::FileSystemMountPointProvider::OpenFileSystemCallback; |
39 using fileapi::FileSystemMountPointProvider::DeleteFileSystemCallback; | 39 using fileapi::FileSystemMountPointProvider::DeleteFileSystemCallback; |
40 | 40 |
41 // CrosMountPointProvider will take an ownership of a |mount_points| | 41 // CrosMountPointProvider will take an ownership of a |mount_points| |
42 // reference. On the other hand, |system_mount_points| will be kept as a raw | 42 // reference. On the other hand, |system_mount_points| will be kept as a raw |
43 // pointer and it should outlive CrosMountPointProvider instance. | 43 // pointer and it should outlive CrosMountPointProvider instance. |
44 CrosMountPointProvider( | 44 CrosMountPointProvider( |
45 scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy, | 45 scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy, |
46 scoped_refptr<fileapi::ExternalMountPoints> mount_points, | 46 scoped_refptr<fileapi::ExternalMountPoints> mount_points, |
47 fileapi::ExternalMountPoints* system_mount_points); | 47 fileapi::ExternalMountPoints* system_mount_points); |
48 virtual ~CrosMountPointProvider(); | 48 virtual ~CrosMountPointProvider(); |
49 | 49 |
50 // Returns true if CrosMountpointProvider can handle |url|, i.e. its | 50 // Returns true if CrosMountpointProvider can handle |url|, i.e. its |
51 // file system type matches with what this provider supports. | 51 // file system type matches with what this provider supports. |
52 // This could be called on any threads. | 52 // This could be called on any threads. |
53 static bool CanHandleURL(const fileapi::FileSystemURL& url); | 53 static bool CanHandleURL(const fileapi::FileSystemURL& url); |
54 | 54 |
55 // fileapi::FileSystemMountPointProvider overrides. | 55 // fileapi::FileSystemMountPointProvider overrides. |
56 virtual bool CanHandleType(fileapi::FileSystemType type) const OVERRIDE; | 56 virtual bool CanHandleType(fileapi::FileSystemType type) const OVERRIDE; |
57 virtual void ValidateFileSystemRoot( | 57 virtual void OpenFileSystem( |
58 const GURL& origin_url, | 58 const GURL& origin_url, |
59 fileapi::FileSystemType type, | 59 fileapi::FileSystemType type, |
60 bool create, | 60 fileapi::OpenFileSystemMode mode, |
61 const ValidateFileSystemCallback& callback) OVERRIDE; | 61 const OpenFileSystemCallback& callback) OVERRIDE; |
62 virtual fileapi::FileSystemFileUtil* GetFileUtil( | 62 virtual fileapi::FileSystemFileUtil* GetFileUtil( |
63 fileapi::FileSystemType type) OVERRIDE; | 63 fileapi::FileSystemType type) OVERRIDE; |
64 virtual fileapi::AsyncFileUtil* GetAsyncFileUtil( | 64 virtual fileapi::AsyncFileUtil* GetAsyncFileUtil( |
65 fileapi::FileSystemType type) OVERRIDE; | 65 fileapi::FileSystemType type) OVERRIDE; |
66 virtual fileapi::CopyOrMoveFileValidatorFactory* | 66 virtual fileapi::CopyOrMoveFileValidatorFactory* |
67 GetCopyOrMoveFileValidatorFactory( | 67 GetCopyOrMoveFileValidatorFactory( |
68 fileapi::FileSystemType type, | 68 fileapi::FileSystemType type, |
69 base::PlatformFileError* error_code) OVERRIDE; | 69 base::PlatformFileError* error_code) OVERRIDE; |
70 virtual void InitializeCopyOrMoveFileValidatorFactory( | 70 virtual void InitializeCopyOrMoveFileValidatorFactory( |
71 fileapi::FileSystemType type, | 71 fileapi::FileSystemType type, |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 // Globally visible mount points. System MountPonts instance should outlive | 133 // Globally visible mount points. System MountPonts instance should outlive |
134 // all CrosMountPointProvider instances, so raw pointer is safe. | 134 // all CrosMountPointProvider instances, so raw pointer is safe. |
135 fileapi::ExternalMountPoints* system_mount_points_; | 135 fileapi::ExternalMountPoints* system_mount_points_; |
136 | 136 |
137 DISALLOW_COPY_AND_ASSIGN(CrosMountPointProvider); | 137 DISALLOW_COPY_AND_ASSIGN(CrosMountPointProvider); |
138 }; | 138 }; |
139 | 139 |
140 } // namespace chromeos | 140 } // namespace chromeos |
141 | 141 |
142 #endif // WEBKIT_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ | 142 #endif // WEBKIT_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_H_ |
OLD | NEW |