OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "chrome/browser/local_discovery/storage/privet_filesystem_backend.h" | 5 #include "chrome/browser/local_discovery/storage/privet_filesystem_backend.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "chrome/browser/local_discovery/storage/privet_filesystem_async_util.h" | 9 #include "chrome/browser/local_discovery/storage/privet_filesystem_async_util.h" |
10 #include "chrome/browser/local_discovery/storage/privet_filesystem_constants.h" | 10 #include "chrome/browser/local_discovery/storage/privet_filesystem_constants.h" |
11 #include "webkit/browser/fileapi/file_system_operation.h" | 11 #include "webkit/browser/fileapi/file_system_operation.h" |
12 #include "webkit/browser/fileapi/file_system_url.h" | 12 #include "webkit/browser/fileapi/file_system_url.h" |
13 | 13 |
14 namespace local_discovery { | 14 namespace local_discovery { |
15 | 15 |
16 PrivetFileSystemBackend::PrivetFileSystemBackend( | 16 PrivetFileSystemBackend::PrivetFileSystemBackend( |
17 fileapi::ExternalMountPoints* mount_points, | 17 storage::ExternalMountPoints* mount_points, |
18 content::BrowserContext* browser_context) | 18 content::BrowserContext* browser_context) |
19 : mount_points_(mount_points), | 19 : mount_points_(mount_points), |
20 async_util_(new PrivetFileSystemAsyncUtil(browser_context)) { | 20 async_util_(new PrivetFileSystemAsyncUtil(browser_context)) { |
21 } | 21 } |
22 | 22 |
23 PrivetFileSystemBackend::~PrivetFileSystemBackend() { | 23 PrivetFileSystemBackend::~PrivetFileSystemBackend() { |
24 } | 24 } |
25 | 25 |
26 bool PrivetFileSystemBackend::CanHandleType( | 26 bool PrivetFileSystemBackend::CanHandleType( |
27 fileapi::FileSystemType type) const { | 27 storage::FileSystemType type) const { |
28 return (type == fileapi::kFileSystemTypeCloudDevice); | 28 return (type == storage::kFileSystemTypeCloudDevice); |
29 } | 29 } |
30 | 30 |
31 void PrivetFileSystemBackend::Initialize(fileapi::FileSystemContext* context) { | 31 void PrivetFileSystemBackend::Initialize(storage::FileSystemContext* context) { |
32 mount_points_->RegisterFileSystem( | 32 mount_points_->RegisterFileSystem("privet", |
33 "privet", | 33 storage::kFileSystemTypeCloudDevice, |
34 fileapi::kFileSystemTypeCloudDevice, | 34 storage::FileSystemMountOption(), |
35 fileapi::FileSystemMountOption(), | 35 base::FilePath(kPrivetFilePath)); |
36 base::FilePath(kPrivetFilePath)); | |
37 } | 36 } |
38 | 37 |
39 void PrivetFileSystemBackend::ResolveURL( | 38 void PrivetFileSystemBackend::ResolveURL( |
40 const fileapi::FileSystemURL& url, | 39 const storage::FileSystemURL& url, |
41 fileapi::OpenFileSystemMode mode, | 40 storage::OpenFileSystemMode mode, |
42 const OpenFileSystemCallback& callback) { | 41 const OpenFileSystemCallback& callback) { |
43 // TODO(noamsml): Provide a proper root url and a proper name. | 42 // TODO(noamsml): Provide a proper root url and a proper name. |
44 GURL root_url = GURL( | 43 GURL root_url = GURL( |
45 fileapi::GetExternalFileSystemRootURIString(url.origin(), std::string())); | 44 storage::GetExternalFileSystemRootURIString(url.origin(), std::string())); |
46 callback.Run(root_url, std::string(), base::File::FILE_OK); | 45 callback.Run(root_url, std::string(), base::File::FILE_OK); |
47 } | 46 } |
48 | 47 |
49 fileapi::FileSystemQuotaUtil* PrivetFileSystemBackend::GetQuotaUtil() { | 48 storage::FileSystemQuotaUtil* PrivetFileSystemBackend::GetQuotaUtil() { |
50 // No quota support. | 49 // No quota support. |
51 return NULL; | 50 return NULL; |
52 } | 51 } |
53 | 52 |
54 fileapi::AsyncFileUtil* PrivetFileSystemBackend::GetAsyncFileUtil( | 53 storage::AsyncFileUtil* PrivetFileSystemBackend::GetAsyncFileUtil( |
55 fileapi::FileSystemType type) { | 54 storage::FileSystemType type) { |
56 return async_util_.get(); | 55 return async_util_.get(); |
57 } | 56 } |
58 | 57 |
59 fileapi::CopyOrMoveFileValidatorFactory* | 58 storage::CopyOrMoveFileValidatorFactory* |
60 PrivetFileSystemBackend::GetCopyOrMoveFileValidatorFactory( | 59 PrivetFileSystemBackend::GetCopyOrMoveFileValidatorFactory( |
61 fileapi::FileSystemType type, base::File::Error* error_code) { | 60 storage::FileSystemType type, |
| 61 base::File::Error* error_code) { |
62 DCHECK(error_code); | 62 DCHECK(error_code); |
63 *error_code = base::File::FILE_OK; | 63 *error_code = base::File::FILE_OK; |
64 return NULL; | 64 return NULL; |
65 } | 65 } |
66 | 66 |
67 fileapi::FileSystemOperation* | 67 storage::FileSystemOperation* |
68 PrivetFileSystemBackend::CreateFileSystemOperation( | 68 PrivetFileSystemBackend::CreateFileSystemOperation( |
69 const fileapi::FileSystemURL& url, | 69 const storage::FileSystemURL& url, |
70 fileapi::FileSystemContext* context, | 70 storage::FileSystemContext* context, |
71 base::File::Error* error_code) const { | 71 base::File::Error* error_code) const { |
72 return fileapi::FileSystemOperation::Create( | 72 return storage::FileSystemOperation::Create( |
73 url, context, | 73 url, |
74 make_scoped_ptr(new fileapi::FileSystemOperationContext(context))); | 74 context, |
| 75 make_scoped_ptr(new storage::FileSystemOperationContext(context))); |
75 } | 76 } |
76 | 77 |
77 bool PrivetFileSystemBackend::SupportsStreaming( | 78 bool PrivetFileSystemBackend::SupportsStreaming( |
78 const fileapi::FileSystemURL& url) const { | 79 const storage::FileSystemURL& url) const { |
79 return false; | 80 return false; |
80 } | 81 } |
81 | 82 |
82 bool PrivetFileSystemBackend::HasInplaceCopyImplementation( | 83 bool PrivetFileSystemBackend::HasInplaceCopyImplementation( |
83 fileapi::FileSystemType type) const { | 84 storage::FileSystemType type) const { |
84 return true; | 85 return true; |
85 } | 86 } |
86 | 87 |
87 scoped_ptr<webkit_blob::FileStreamReader> | 88 scoped_ptr<storage::FileStreamReader> |
88 PrivetFileSystemBackend::CreateFileStreamReader( | 89 PrivetFileSystemBackend::CreateFileStreamReader( |
89 const fileapi::FileSystemURL& url, | 90 const storage::FileSystemURL& url, |
90 int64 offset, | 91 int64 offset, |
91 const base::Time& expected_modification_time, | 92 const base::Time& expected_modification_time, |
92 fileapi::FileSystemContext* context) const { | 93 storage::FileSystemContext* context) const { |
93 return scoped_ptr<webkit_blob::FileStreamReader>(); | 94 return scoped_ptr<storage::FileStreamReader>(); |
94 } | 95 } |
95 | 96 |
96 scoped_ptr<fileapi::FileStreamWriter> | 97 scoped_ptr<storage::FileStreamWriter> |
97 PrivetFileSystemBackend::CreateFileStreamWriter( | 98 PrivetFileSystemBackend::CreateFileStreamWriter( |
98 const fileapi::FileSystemURL& url, | 99 const storage::FileSystemURL& url, |
99 int64 offset, | 100 int64 offset, |
100 fileapi::FileSystemContext* context) const { | 101 storage::FileSystemContext* context) const { |
101 return scoped_ptr<fileapi::FileStreamWriter>(); | 102 return scoped_ptr<storage::FileStreamWriter>(); |
102 } | 103 } |
103 | 104 |
104 } // namespace local_discovery | 105 } // namespace local_discovery |
OLD | NEW |