Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(732)

Side by Side Diff: chrome/browser/media_galleries/linux/mtp_device_task_helper.cc

Issue 982283002: Implement DeleteFile and DeleteDirectory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/media_galleries/linux/mtp_device_task_helper.h" 5 #include "chrome/browser/media_galleries/linux/mtp_device_task_helper.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/numerics/safe_conversions.h" 10 #include "base/numerics/safe_conversions.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 87
88 GetMediaTransferProtocolManager()->GetFileInfo( 88 GetMediaTransferProtocolManager()->GetFileInfo(
89 device_handle_, file_id, 89 device_handle_, file_id,
90 base::Bind(&MTPDeviceTaskHelper::OnGetFileInfo, 90 base::Bind(&MTPDeviceTaskHelper::OnGetFileInfo,
91 weak_ptr_factory_.GetWeakPtr(), 91 weak_ptr_factory_.GetWeakPtr(),
92 success_callback, 92 success_callback,
93 error_callback)); 93 error_callback));
94 } 94 }
95 95
96 void MTPDeviceTaskHelper::ReadDirectory( 96 void MTPDeviceTaskHelper::ReadDirectory(
97 uint32 dir_id, 97 const uint32 directory_id,
98 const size_t max_size,
98 const ReadDirectorySuccessCallback& success_callback, 99 const ReadDirectorySuccessCallback& success_callback,
99 const ErrorCallback& error_callback) { 100 const ErrorCallback& error_callback) {
100 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 101 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
101 if (device_handle_.empty()) 102 if (device_handle_.empty())
102 return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED); 103 return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED);
103 104
104 GetMediaTransferProtocolManager()->ReadDirectory( 105 GetMediaTransferProtocolManager()->ReadDirectory(
105 device_handle_, dir_id, 106 device_handle_, directory_id, max_size,
106 base::Bind(&MTPDeviceTaskHelper::OnDidReadDirectory, 107 base::Bind(&MTPDeviceTaskHelper::OnDidReadDirectory,
107 weak_ptr_factory_.GetWeakPtr(), 108 weak_ptr_factory_.GetWeakPtr(), success_callback,
108 success_callback,
109 error_callback)); 109 error_callback));
110 } 110 }
111 111
112 void MTPDeviceTaskHelper::WriteDataIntoSnapshotFile( 112 void MTPDeviceTaskHelper::WriteDataIntoSnapshotFile(
113 const SnapshotRequestInfo& request_info, 113 const SnapshotRequestInfo& request_info,
114 const base::File::Info& snapshot_file_info) { 114 const base::File::Info& snapshot_file_info) {
115 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 115 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
116 if (device_handle_.empty()) { 116 if (device_handle_.empty()) {
117 return HandleDeviceError(request_info.error_callback, 117 return HandleDeviceError(request_info.error_callback,
118 base::File::FILE_ERROR_FAILED); 118 base::File::FILE_ERROR_FAILED);
(...skipping 12 matching lines...) Expand all
131 return HandleDeviceError(request.error_callback, 131 return HandleDeviceError(request.error_callback,
132 base::File::FILE_ERROR_FAILED); 132 base::File::FILE_ERROR_FAILED);
133 } 133 }
134 134
135 GetMediaTransferProtocolManager()->GetFileInfo( 135 GetMediaTransferProtocolManager()->GetFileInfo(
136 device_handle_, request.file_id, 136 device_handle_, request.file_id,
137 base::Bind(&MTPDeviceTaskHelper::OnGetFileInfoToReadBytes, 137 base::Bind(&MTPDeviceTaskHelper::OnGetFileInfoToReadBytes,
138 weak_ptr_factory_.GetWeakPtr(), request)); 138 weak_ptr_factory_.GetWeakPtr(), request));
139 } 139 }
140 140
141 // TODO(yawano) storage_name is not used, delete it.
141 void MTPDeviceTaskHelper::CopyFileFromLocal( 142 void MTPDeviceTaskHelper::CopyFileFromLocal(
142 const std::string& storage_name, 143 const std::string& storage_name,
143 const int source_file_descriptor, 144 const int source_file_descriptor,
144 const uint32 parent_id, 145 const uint32 parent_id,
145 const std::string& file_name, 146 const std::string& file_name,
146 const CopyFileFromLocalSuccessCallback& success_callback, 147 const CopyFileFromLocalSuccessCallback& success_callback,
147 const ErrorCallback& error_callback) { 148 const ErrorCallback& error_callback) {
148 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 149 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
149 150
150 GetMediaTransferProtocolManager()->CopyFileFromLocal( 151 GetMediaTransferProtocolManager()->CopyFileFromLocal(
151 device_handle_, source_file_descriptor, parent_id, file_name, 152 device_handle_, source_file_descriptor, parent_id, file_name,
152 base::Bind(&MTPDeviceTaskHelper::OnCopyFileFromLocal, 153 base::Bind(&MTPDeviceTaskHelper::OnCopyFileFromLocal,
153 weak_ptr_factory_.GetWeakPtr(), success_callback, 154 weak_ptr_factory_.GetWeakPtr(), success_callback,
154 error_callback)); 155 error_callback));
155 } 156 }
156 157
158 void MTPDeviceTaskHelper::DeleteObject(
159 const uint32 object_id,
160 const DeleteObjectSuccessCallback& success_callback,
161 const ErrorCallback& error_callback) {
162 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
163
164 GetMediaTransferProtocolManager()->DeleteObject(
165 device_handle_, object_id,
166 base::Bind(&MTPDeviceTaskHelper::OnDeleteObject,
167 weak_ptr_factory_.GetWeakPtr(), success_callback,
168 error_callback));
169 }
170
157 void MTPDeviceTaskHelper::CloseStorage() const { 171 void MTPDeviceTaskHelper::CloseStorage() const {
158 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 172 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
159 if (device_handle_.empty()) 173 if (device_handle_.empty())
160 return; 174 return;
161 GetMediaTransferProtocolManager()->CloseStorage(device_handle_, 175 GetMediaTransferProtocolManager()->CloseStorage(device_handle_,
162 base::Bind(&DoNothing)); 176 base::Bind(&DoNothing));
163 } 177 }
164 178
165 void MTPDeviceTaskHelper::OnDidOpenStorage( 179 void MTPDeviceTaskHelper::OnDidOpenStorage(
166 const OpenStorageCallback& completion_callback, 180 const OpenStorageCallback& completion_callback,
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 content::BrowserThread::PostTask( 307 content::BrowserThread::PostTask(
294 content::BrowserThread::IO, FROM_HERE, 308 content::BrowserThread::IO, FROM_HERE,
295 base::Bind(error_callback, base::File::FILE_ERROR_FAILED)); 309 base::Bind(error_callback, base::File::FILE_ERROR_FAILED));
296 return; 310 return;
297 } 311 }
298 312
299 content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, 313 content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE,
300 base::Bind(success_callback)); 314 base::Bind(success_callback));
301 } 315 }
302 316
317 void MTPDeviceTaskHelper::OnDeleteObject(
318 const DeleteObjectSuccessCallback& success_callback,
319 const ErrorCallback& error_callback,
320 const bool error) const {
321 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
322 if (error) {
323 content::BrowserThread::PostTask(
324 content::BrowserThread::IO, FROM_HERE,
325 base::Bind(error_callback, base::File::FILE_ERROR_FAILED));
326 return;
327 }
328
329 content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE,
330 base::Bind(success_callback));
331 }
332
303 void MTPDeviceTaskHelper::HandleDeviceError( 333 void MTPDeviceTaskHelper::HandleDeviceError(
304 const ErrorCallback& error_callback, 334 const ErrorCallback& error_callback,
305 base::File::Error error) const { 335 base::File::Error error) const {
306 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 336 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
307 content::BrowserThread::PostTask(content::BrowserThread::IO, 337 content::BrowserThread::PostTask(content::BrowserThread::IO,
308 FROM_HERE, 338 FROM_HERE,
309 base::Bind(error_callback, error)); 339 base::Bind(error_callback, error));
310 } 340 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698