| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |