| Index: device/media_transfer_protocol/media_transfer_protocol_manager.cc
|
| diff --git a/device/media_transfer_protocol/media_transfer_protocol_manager.cc b/device/media_transfer_protocol/media_transfer_protocol_manager.cc
|
| index 2a7f478c2f1bf5fac7af4cb8c41c87b2acf4f146..1c21be445852142b9de4e88f222853eaa14f38d7 100644
|
| --- a/device/media_transfer_protocol/media_transfer_protocol_manager.cc
|
| +++ b/device/media_transfer_protocol/media_transfer_protocol_manager.cc
|
| @@ -223,6 +223,24 @@ class MediaTransferProtocolManagerImpl : public MediaTransferProtocolManager {
|
| weak_ptr_factory_.GetWeakPtr()));
|
| }
|
|
|
| + void RenameObject(const std::string& storage_handle,
|
| + const uint32 object_id,
|
| + const std::string& new_name,
|
| + const RenameObjectCallback& callback) override {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| + if (!ContainsKey(handles_, storage_handle) || !mtp_client_) {
|
| + callback.Run(true /* error */);
|
| + return;
|
| + }
|
| + rename_object_callbacks_.push(callback);
|
| + mtp_client_->RenameObject(
|
| + storage_handle, object_id, new_name,
|
| + base::Bind(&MediaTransferProtocolManagerImpl::OnRenameObject,
|
| + weak_ptr_factory_.GetWeakPtr()),
|
| + base::Bind(&MediaTransferProtocolManagerImpl::OnRenameObjectError,
|
| + weak_ptr_factory_.GetWeakPtr()));
|
| + }
|
| +
|
| void CopyFileFromLocal(const std::string& storage_handle,
|
| const int source_file_descriptor,
|
| const uint32 parent_id,
|
| @@ -271,6 +289,7 @@ class MediaTransferProtocolManagerImpl : public MediaTransferProtocolManager {
|
| typedef std::queue<ReadDirectoryCallback> ReadDirectoryCallbackQueue;
|
| typedef std::queue<ReadFileCallback> ReadFileCallbackQueue;
|
| typedef std::queue<GetFileInfoCallback> GetFileInfoCallbackQueue;
|
| + typedef std::queue<RenameObjectCallback> RenameObjectCallbackQueue;
|
| typedef std::queue<CopyFileFromLocalCallback> CopyFileFromLocalCallbackQueue;
|
| typedef std::queue<DeleteObjectCallback> DeleteObjectCallbackQueue;
|
|
|
| @@ -487,6 +506,18 @@ class MediaTransferProtocolManagerImpl : public MediaTransferProtocolManager {
|
| get_file_info_callbacks_.pop();
|
| }
|
|
|
| + void OnRenameObject() {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| + rename_object_callbacks_.front().Run(false /* no error */);
|
| + rename_object_callbacks_.pop();
|
| + }
|
| +
|
| + void OnRenameObjectError() {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| + rename_object_callbacks_.front().Run(true /* error */);
|
| + rename_object_callbacks_.pop();
|
| + }
|
| +
|
| void OnCopyFileFromLocal() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| copy_file_from_local_callbacks_.front().Run(false /* no error */);
|
| @@ -592,6 +623,7 @@ class MediaTransferProtocolManagerImpl : public MediaTransferProtocolManager {
|
| ReadDirectoryCallbackQueue read_directory_callbacks_;
|
| ReadFileCallbackQueue read_file_callbacks_;
|
| GetFileInfoCallbackQueue get_file_info_callbacks_;
|
| + RenameObjectCallbackQueue rename_object_callbacks_;
|
| CopyFileFromLocalCallbackQueue copy_file_from_local_callbacks_;
|
| DeleteObjectCallbackQueue delete_object_callbacks_;
|
|
|
|
|