OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/chromeos/file_system_provider/fileapi/provider_async_fi
le_util.h" | |
6 | |
7 #include "base/callback.h" | |
8 #include "base/files/file_path.h" | |
9 #include "base/logging.h" | |
10 #include "base/platform_file.h" | |
11 #include "content/public/browser/browser_thread.h" | |
12 #include "webkit/browser/fileapi/file_system_operation_context.h" | |
13 #include "webkit/browser/fileapi/file_system_url.h" | |
14 #include "webkit/common/blob/shareable_file_reference.h" | |
15 | |
16 using content::BrowserThread; | |
17 | |
18 namespace chromeos { | |
19 namespace file_system_provider { | |
20 namespace internal { | |
21 | |
22 ProviderAsyncFileUtil::ProviderAsyncFileUtil() {} | |
23 | |
24 ProviderAsyncFileUtil::~ProviderAsyncFileUtil() {} | |
25 | |
26 void ProviderAsyncFileUtil::CreateOrOpen( | |
27 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
28 const fileapi::FileSystemURL& url, | |
29 int file_flags, | |
30 const CreateOrOpenCallback& callback) { | |
31 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
32 base::PlatformFile platform_file = base::kInvalidPlatformFileValue; | |
33 if ((file_flags & base::PLATFORM_FILE_CREATE) || | |
34 (file_flags & base::PLATFORM_FILE_OPEN_ALWAYS) || | |
35 (file_flags & base::PLATFORM_FILE_CREATE_ALWAYS) || | |
36 (file_flags & base::PLATFORM_FILE_OPEN_TRUNCATED)) { | |
37 callback.Run(base::File::FILE_ERROR_SECURITY, | |
38 base::PassPlatformFile(&platform_file), | |
39 base::Closure()); | |
40 return; | |
41 } | |
42 | |
43 NOTIMPLEMENTED(); | |
44 callback.Run(base::File::FILE_ERROR_NOT_FOUND, | |
45 base::PassPlatformFile(&platform_file), | |
46 base::Closure()); | |
47 } | |
48 | |
49 void ProviderAsyncFileUtil::EnsureFileExists( | |
50 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
51 const fileapi::FileSystemURL& url, | |
52 const EnsureFileExistsCallback& callback) { | |
53 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
54 callback.Run(base::File::FILE_ERROR_SECURITY, false /* created */); | |
55 } | |
56 | |
57 void ProviderAsyncFileUtil::CreateDirectory( | |
58 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
59 const fileapi::FileSystemURL& url, | |
60 bool exclusive, | |
61 bool recursive, | |
62 const StatusCallback& callback) { | |
63 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
64 callback.Run(base::File::FILE_ERROR_SECURITY); | |
65 } | |
66 | |
67 void ProviderAsyncFileUtil::GetFileInfo( | |
68 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
69 const fileapi::FileSystemURL& url, | |
70 const GetFileInfoCallback& callback) { | |
71 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
72 NOTIMPLEMENTED(); | |
73 callback.Run(base::File::FILE_ERROR_NOT_FOUND, base::File::Info()); | |
74 } | |
75 | |
76 void ProviderAsyncFileUtil::ReadDirectory( | |
77 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
78 const fileapi::FileSystemURL& url, | |
79 const ReadDirectoryCallback& callback) { | |
80 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
81 NOTIMPLEMENTED(); | |
82 callback.Run(base::File::FILE_ERROR_NOT_FOUND, EntryList(), false); | |
83 } | |
84 | |
85 void ProviderAsyncFileUtil::Touch( | |
86 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
87 const fileapi::FileSystemURL& url, | |
88 const base::Time& last_access_time, | |
89 const base::Time& last_modified_time, | |
90 const StatusCallback& callback) { | |
91 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
92 callback.Run(base::File::FILE_ERROR_SECURITY); | |
93 } | |
94 | |
95 void ProviderAsyncFileUtil::Truncate( | |
96 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
97 const fileapi::FileSystemURL& url, | |
98 int64 length, | |
99 const StatusCallback& callback) { | |
100 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
101 callback.Run(base::File::FILE_ERROR_SECURITY); | |
102 } | |
103 | |
104 void ProviderAsyncFileUtil::CopyFileLocal( | |
105 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
106 const fileapi::FileSystemURL& src_url, | |
107 const fileapi::FileSystemURL& dest_url, | |
108 CopyOrMoveOption option, | |
109 const CopyFileProgressCallback& progress_callback, | |
110 const StatusCallback& callback) { | |
111 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
112 callback.Run(base::File::FILE_ERROR_SECURITY); | |
113 } | |
114 | |
115 void ProviderAsyncFileUtil::MoveFileLocal( | |
116 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
117 const fileapi::FileSystemURL& src_url, | |
118 const fileapi::FileSystemURL& dest_url, | |
119 CopyOrMoveOption option, | |
120 const StatusCallback& callback) { | |
121 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
122 callback.Run(base::File::FILE_ERROR_SECURITY); | |
123 } | |
124 | |
125 void ProviderAsyncFileUtil::CopyInForeignFile( | |
126 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
127 const base::FilePath& src_file_path, | |
128 const fileapi::FileSystemURL& dest_url, | |
129 const StatusCallback& callback) { | |
130 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
131 callback.Run(base::File::FILE_ERROR_SECURITY); | |
132 } | |
133 | |
134 void ProviderAsyncFileUtil::DeleteFile( | |
135 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
136 const fileapi::FileSystemURL& url, | |
137 const StatusCallback& callback) { | |
138 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
139 callback.Run(base::File::FILE_ERROR_SECURITY); | |
140 } | |
141 | |
142 void ProviderAsyncFileUtil::DeleteDirectory( | |
143 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
144 const fileapi::FileSystemURL& url, | |
145 const StatusCallback& callback) { | |
146 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
147 callback.Run(base::File::FILE_ERROR_SECURITY); | |
148 } | |
149 | |
150 void ProviderAsyncFileUtil::DeleteRecursively( | |
151 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
152 const fileapi::FileSystemURL& url, | |
153 const StatusCallback& callback) { | |
154 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
155 callback.Run(base::File::FILE_ERROR_SECURITY); | |
156 } | |
157 | |
158 void ProviderAsyncFileUtil::CreateSnapshotFile( | |
159 scoped_ptr<fileapi::FileSystemOperationContext> context, | |
160 const fileapi::FileSystemURL& url, | |
161 const CreateSnapshotFileCallback& callback) { | |
162 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
163 NOTIMPLEMENTED(); | |
164 callback.Run(base::File::FILE_ERROR_NOT_FOUND, | |
165 base::File::Info(), | |
166 base::FilePath(), | |
167 scoped_refptr<webkit_blob::ShareableFileReference>()); | |
168 } | |
169 | |
170 } // namespace internal | |
171 } // namespace file_system_provider | |
172 } // namespace chromeos | |
OLD | NEW |