| 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 |