| 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_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_ | 5 #ifndef WEBKIT_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_ |
| 6 #define WEBKIT_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_ | 6 #define WEBKIT_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 class FileSystemQuotaUtil; | 28 class FileSystemQuotaUtil; |
| 29 class RemoteFileSystemProxyInterface; | 29 class RemoteFileSystemProxyInterface; |
| 30 | 30 |
| 31 // An interface to provide mount-point-specific path-related utilities | 31 // An interface to provide mount-point-specific path-related utilities |
| 32 // and specialized FileSystemFileUtil instance. | 32 // and specialized FileSystemFileUtil instance. |
| 33 class FILEAPI_EXPORT FileSystemMountPointProvider { | 33 class FILEAPI_EXPORT FileSystemMountPointProvider { |
| 34 public: | 34 public: |
| 35 // Callback for ValidateFileSystemRoot. | 35 // Callback for ValidateFileSystemRoot. |
| 36 typedef base::Callback<void(base::PlatformFileError error)> | 36 typedef base::Callback<void(base::PlatformFileError error)> |
| 37 ValidateFileSystemCallback; | 37 ValidateFileSystemCallback; |
| 38 typedef base::Callback<void(base::PlatformFileError error)> |
| 39 DeleteFileSystemCallback; |
| 38 virtual ~FileSystemMountPointProvider() {} | 40 virtual ~FileSystemMountPointProvider() {} |
| 39 | 41 |
| 40 // Validates the filesystem for the given |origin_url| and |type|. | 42 // Validates the filesystem for the given |origin_url| and |type|. |
| 41 // This verifies if it is allowed to request (or create) the filesystem | 43 // This verifies if it is allowed to request (or create) the filesystem |
| 42 // and if it can access (or create) the root directory of the mount point. | 44 // and if it can access (or create) the root directory of the mount point. |
| 43 // If |create| is true this may also create the root directory for | 45 // If |create| is true this may also create the root directory for |
| 44 // the filesystem if it doesn't exist. | 46 // the filesystem if it doesn't exist. |
| 45 virtual void ValidateFileSystemRoot( | 47 virtual void ValidateFileSystemRoot( |
| 46 const GURL& origin_url, | 48 const GURL& origin_url, |
| 47 FileSystemType type, | 49 FileSystemType type, |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 // This method itself does *not* check if the given path exists and is a | 102 // This method itself does *not* check if the given path exists and is a |
| 101 // regular file. | 103 // regular file. |
| 102 virtual FileStreamWriter* CreateFileStreamWriter( | 104 virtual FileStreamWriter* CreateFileStreamWriter( |
| 103 const FileSystemURL& url, | 105 const FileSystemURL& url, |
| 104 int64 offset, | 106 int64 offset, |
| 105 FileSystemContext* context) const = 0; | 107 FileSystemContext* context) const = 0; |
| 106 | 108 |
| 107 // Returns the specialized FileSystemQuotaUtil for this mount point. | 109 // Returns the specialized FileSystemQuotaUtil for this mount point. |
| 108 // This could return NULL if this mount point does not support quota. | 110 // This could return NULL if this mount point does not support quota. |
| 109 virtual FileSystemQuotaUtil* GetQuotaUtil() = 0; | 111 virtual FileSystemQuotaUtil* GetQuotaUtil() = 0; |
| 112 |
| 113 // Deletes the filesystem for the given |origin_url| and |type|. |
| 114 virtual void DeleteFileSystem( |
| 115 const GURL& origin_url, |
| 116 FileSystemType type, |
| 117 FileSystemContext* context, |
| 118 const DeleteFileSystemCallback& callback) const = 0; |
| 110 }; | 119 }; |
| 111 | 120 |
| 112 // An interface to control external file system access permissions. | 121 // An interface to control external file system access permissions. |
| 113 class ExternalFileSystemMountPointProvider | 122 class ExternalFileSystemMountPointProvider |
| 114 : public FileSystemMountPointProvider { | 123 : public FileSystemMountPointProvider { |
| 115 public: | 124 public: |
| 116 // Returns the list of top level directories that are exposed by this | 125 // Returns the list of top level directories that are exposed by this |
| 117 // provider. This list is used to set appropriate child process file access | 126 // provider. This list is used to set appropriate child process file access |
| 118 // permissions. | 127 // permissions. |
| 119 virtual std::vector<FilePath> GetRootDirectories() const = 0; | 128 virtual std::vector<FilePath> GetRootDirectories() const = 0; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 139 virtual void RemoveMountPoint(const FilePath& mount_point) = 0; | 148 virtual void RemoveMountPoint(const FilePath& mount_point) = 0; |
| 140 // Gets virtual path by known filesystem path. Returns false when filesystem | 149 // Gets virtual path by known filesystem path. Returns false when filesystem |
| 141 // path is not exposed by this provider. | 150 // path is not exposed by this provider. |
| 142 virtual bool GetVirtualPath(const FilePath& file_system_path, | 151 virtual bool GetVirtualPath(const FilePath& file_system_path, |
| 143 FilePath* virtual_path) = 0; | 152 FilePath* virtual_path) = 0; |
| 144 }; | 153 }; |
| 145 | 154 |
| 146 } // namespace fileapi | 155 } // namespace fileapi |
| 147 | 156 |
| 148 #endif // WEBKIT_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_ | 157 #endif // WEBKIT_FILEAPI_FILE_SYSTEM_MOUNT_POINT_PROVIDER_H_ |
| OLD | NEW |