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 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 writer.AppendUint32(offset); | 164 writer.AppendUint32(offset); |
165 writer.AppendUint32(bytes_to_read); | 165 writer.AppendUint32(bytes_to_read); |
166 proxy_->CallMethod( | 166 proxy_->CallMethod( |
167 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 167 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
168 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadFile, | 168 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadFile, |
169 weak_ptr_factory_.GetWeakPtr(), | 169 weak_ptr_factory_.GetWeakPtr(), |
170 callback, | 170 callback, |
171 error_callback)); | 171 error_callback)); |
172 } | 172 } |
173 | 173 |
| 174 void RenameObject(const std::string& handle, |
| 175 const uint32 object_id, |
| 176 const std::string& new_name, |
| 177 const RenameObjectCallback& callback, |
| 178 const ErrorCallback& error_callback) override { |
| 179 dbus::MethodCall method_call(mtpd::kMtpdInterface, mtpd::kRenameObject); |
| 180 dbus::MessageWriter writer(&method_call); |
| 181 writer.AppendString(handle); |
| 182 writer.AppendUint32(object_id); |
| 183 writer.AppendString(new_name); |
| 184 proxy_->CallMethod( |
| 185 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 186 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnRenameObject, |
| 187 weak_ptr_factory_.GetWeakPtr(), callback, error_callback)); |
| 188 } |
| 189 |
174 void CopyFileFromLocal(const std::string& handle, | 190 void CopyFileFromLocal(const std::string& handle, |
175 const int source_file_descriptor, | 191 const int source_file_descriptor, |
176 const uint32 parent_id, | 192 const uint32 parent_id, |
177 const std::string& file_name, | 193 const std::string& file_name, |
178 const CopyFileFromLocalCallback& callback, | 194 const CopyFileFromLocalCallback& callback, |
179 const ErrorCallback& error_callback) override { | 195 const ErrorCallback& error_callback) override { |
180 dbus::FileDescriptor file_descriptor(source_file_descriptor); | 196 dbus::FileDescriptor file_descriptor(source_file_descriptor); |
181 file_descriptor.CheckValidity(); | 197 file_descriptor.CheckValidity(); |
182 | 198 |
183 dbus::MethodCall method_call(mtpd::kMtpdInterface, | 199 dbus::MethodCall method_call(mtpd::kMtpdInterface, |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 size_t data_length = 0; | 394 size_t data_length = 0; |
379 dbus::MessageReader reader(response); | 395 dbus::MessageReader reader(response); |
380 if (!reader.PopArrayOfBytes(&data_bytes, &data_length)) { | 396 if (!reader.PopArrayOfBytes(&data_bytes, &data_length)) { |
381 error_callback.Run(); | 397 error_callback.Run(); |
382 return; | 398 return; |
383 } | 399 } |
384 std::string data(reinterpret_cast<const char*>(data_bytes), data_length); | 400 std::string data(reinterpret_cast<const char*>(data_bytes), data_length); |
385 callback.Run(data); | 401 callback.Run(data); |
386 } | 402 } |
387 | 403 |
| 404 void OnRenameObject(const RenameObjectCallback& callback, |
| 405 const ErrorCallback& error_callback, |
| 406 dbus::Response* response) { |
| 407 if (!response) { |
| 408 error_callback.Run(); |
| 409 return; |
| 410 } |
| 411 |
| 412 callback.Run(); |
| 413 } |
| 414 |
388 void OnCopyFileFromLocal(const CopyFileFromLocalCallback& callback, | 415 void OnCopyFileFromLocal(const CopyFileFromLocalCallback& callback, |
389 const ErrorCallback& error_callback, | 416 const ErrorCallback& error_callback, |
390 dbus::Response* response) { | 417 dbus::Response* response) { |
391 if (!response) { | 418 if (!response) { |
392 error_callback.Run(); | 419 error_callback.Run(); |
393 return; | 420 return; |
394 } | 421 } |
395 | 422 |
396 callback.Run(); | 423 callback.Run(); |
397 } | 424 } |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 | 477 |
451 MediaTransferProtocolDaemonClient::~MediaTransferProtocolDaemonClient() {} | 478 MediaTransferProtocolDaemonClient::~MediaTransferProtocolDaemonClient() {} |
452 | 479 |
453 // static | 480 // static |
454 MediaTransferProtocolDaemonClient* MediaTransferProtocolDaemonClient::Create( | 481 MediaTransferProtocolDaemonClient* MediaTransferProtocolDaemonClient::Create( |
455 dbus::Bus* bus) { | 482 dbus::Bus* bus) { |
456 return new MediaTransferProtocolDaemonClientImpl(bus); | 483 return new MediaTransferProtocolDaemonClientImpl(bus); |
457 } | 484 } |
458 | 485 |
459 } // namespace device | 486 } // namespace device |
OLD | NEW |