| 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 #include "device/media_transfer_protocol/media_transfer_protocol_daemon_client.h
" | 5 #include "device/media_transfer_protocol/media_transfer_protocol_daemon_client.h
" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 } | 144 } |
| 145 proxy_->CallMethod( | 145 proxy_->CallMethod( |
| 146 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 146 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 147 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnGetFileInfo, | 147 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnGetFileInfo, |
| 148 weak_ptr_factory_.GetWeakPtr(), | 148 weak_ptr_factory_.GetWeakPtr(), |
| 149 callback, | 149 callback, |
| 150 error_callback)); | 150 error_callback)); |
| 151 } | 151 } |
| 152 | 152 |
| 153 // MediaTransferProtocolDaemonClient override. | 153 // MediaTransferProtocolDaemonClient override. |
| 154 virtual void ReadFileChunkById(const std::string& handle, | 154 virtual void ReadFileChunk(const std::string& handle, |
| 155 uint32 file_id, | 155 uint32 file_id, |
| 156 uint32 offset, | 156 uint32 offset, |
| 157 uint32 bytes_to_read, | 157 uint32 bytes_to_read, |
| 158 const ReadFileCallback& callback, | 158 const ReadFileCallback& callback, |
| 159 const ErrorCallback& error_callback) OVERRIDE { | 159 const ErrorCallback& error_callback) OVERRIDE { |
| 160 DCHECK_LE(bytes_to_read, kMaxChunkSize); | 160 DCHECK_LE(bytes_to_read, kMaxChunkSize); |
| 161 dbus::MethodCall method_call(mtpd::kMtpdInterface, | 161 dbus::MethodCall method_call(mtpd::kMtpdInterface, mtpd::kReadFileChunk); |
| 162 mtpd::kReadFileChunkById); | |
| 163 dbus::MessageWriter writer(&method_call); | 162 dbus::MessageWriter writer(&method_call); |
| 164 writer.AppendString(handle); | 163 writer.AppendString(handle); |
| 165 writer.AppendUint32(file_id); | 164 writer.AppendUint32(file_id); |
| 166 writer.AppendUint32(offset); | 165 writer.AppendUint32(offset); |
| 167 writer.AppendUint32(bytes_to_read); | 166 writer.AppendUint32(bytes_to_read); |
| 168 proxy_->CallMethod( | 167 proxy_->CallMethod( |
| 169 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 168 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 170 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadFile, | 169 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadFile, |
| 171 weak_ptr_factory_.GetWeakPtr(), | 170 weak_ptr_factory_.GetWeakPtr(), |
| 172 callback, | 171 callback, |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 LOG(ERROR) << kInvalidResponseMsg << response->ToString(); | 323 LOG(ERROR) << kInvalidResponseMsg << response->ToString(); |
| 325 error_callback.Run(); | 324 error_callback.Run(); |
| 326 return; | 325 return; |
| 327 } | 326 } |
| 328 | 327 |
| 329 for (int i = 0; i < entries_protobuf.file_entries_size(); ++i) | 328 for (int i = 0; i < entries_protobuf.file_entries_size(); ++i) |
| 330 file_entries.push_back(entries_protobuf.file_entries(i)); | 329 file_entries.push_back(entries_protobuf.file_entries(i)); |
| 331 callback.Run(file_entries); | 330 callback.Run(file_entries); |
| 332 } | 331 } |
| 333 | 332 |
| 334 // Handles the result of ReadFileChunkById and calls |callback| or | 333 // Handles the result of ReadFileChunk and calls |callback| or |
| 335 // |error_callback|. | 334 // |error_callback|. |
| 336 void OnReadFile(const ReadFileCallback& callback, | 335 void OnReadFile(const ReadFileCallback& callback, |
| 337 const ErrorCallback& error_callback, | 336 const ErrorCallback& error_callback, |
| 338 dbus::Response* response) { | 337 dbus::Response* response) { |
| 339 if (!response) { | 338 if (!response) { |
| 340 error_callback.Run(); | 339 error_callback.Run(); |
| 341 return; | 340 return; |
| 342 } | 341 } |
| 343 | 342 |
| 344 const uint8* data_bytes = NULL; | 343 const uint8* data_bytes = NULL; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 | 394 |
| 396 MediaTransferProtocolDaemonClient::~MediaTransferProtocolDaemonClient() {} | 395 MediaTransferProtocolDaemonClient::~MediaTransferProtocolDaemonClient() {} |
| 397 | 396 |
| 398 // static | 397 // static |
| 399 MediaTransferProtocolDaemonClient* MediaTransferProtocolDaemonClient::Create( | 398 MediaTransferProtocolDaemonClient* MediaTransferProtocolDaemonClient::Create( |
| 400 dbus::Bus* bus) { | 399 dbus::Bus* bus) { |
| 401 return new MediaTransferProtocolDaemonClientImpl(bus); | 400 return new MediaTransferProtocolDaemonClientImpl(bus); |
| 402 } | 401 } |
| 403 | 402 |
| 404 } // namespace device | 403 } // namespace device |
| OLD | NEW |