| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/devtools/device/usb/android_usb_device.h" | 5 #include "chrome/browser/devtools/device/usb/android_usb_device.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/barrier_closure.h" | 10 #include "base/barrier_closure.h" |
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 uint32_t socket_id = ++last_socket_id_; | 372 uint32_t socket_id = ++last_socket_id_; |
| 373 sockets_[socket_id] = new AndroidUsbSocket(this, socket_id, command, | 373 sockets_[socket_id] = new AndroidUsbSocket(this, socket_id, command, |
| 374 base::Bind(&AndroidUsbDevice::SocketDeleted, this, socket_id)); | 374 base::Bind(&AndroidUsbDevice::SocketDeleted, this, socket_id)); |
| 375 return sockets_[socket_id]; | 375 return sockets_[socket_id]; |
| 376 } | 376 } |
| 377 | 377 |
| 378 void AndroidUsbDevice::Send(uint32_t command, | 378 void AndroidUsbDevice::Send(uint32_t command, |
| 379 uint32_t arg0, | 379 uint32_t arg0, |
| 380 uint32_t arg1, | 380 uint32_t arg1, |
| 381 const std::string& body) { | 381 const std::string& body) { |
| 382 std::unique_ptr<AdbMessage> message( | 382 auto message = base::MakeUnique<AdbMessage>(command, arg0, arg1, body); |
| 383 new AdbMessage(command, arg0, arg1, body)); | |
| 384 // Delay open request if not yet connected. | 383 // Delay open request if not yet connected. |
| 385 if (!is_connected_) { | 384 if (!is_connected_) { |
| 386 pending_messages_.push_back(message.release()); | 385 pending_messages_.push_back(std::move(message)); |
| 387 return; | 386 return; |
| 388 } | 387 } |
| 389 Queue(std::move(message)); | 388 Queue(std::move(message)); |
| 390 } | 389 } |
| 391 | 390 |
| 392 AndroidUsbDevice::~AndroidUsbDevice() { | 391 AndroidUsbDevice::~AndroidUsbDevice() { |
| 393 DCHECK(task_runner_->BelongsToCurrentThread()); | 392 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 394 Terminate(); | 393 Terminate(); |
| 395 } | 394 } |
| 396 | 395 |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 AndroidRSAPublicKey(rsa_key_.get()))); | 592 AndroidRSAPublicKey(rsa_key_.get()))); |
| 594 } | 593 } |
| 595 } | 594 } |
| 596 } | 595 } |
| 597 break; | 596 break; |
| 598 case AdbMessage::kCommandCNXN: | 597 case AdbMessage::kCommandCNXN: |
| 599 { | 598 { |
| 600 is_connected_ = true; | 599 is_connected_ = true; |
| 601 PendingMessages pending; | 600 PendingMessages pending; |
| 602 pending.swap(pending_messages_); | 601 pending.swap(pending_messages_); |
| 603 for (PendingMessages::iterator it = pending.begin(); | 602 for (auto& msg : pending) |
| 604 it != pending.end(); ++it) { | 603 Queue(std::move(msg)); |
| 605 Queue(base::WrapUnique(*it)); | |
| 606 } | |
| 607 } | 604 } |
| 608 break; | 605 break; |
| 609 case AdbMessage::kCommandOKAY: | 606 case AdbMessage::kCommandOKAY: |
| 610 case AdbMessage::kCommandWRTE: | 607 case AdbMessage::kCommandWRTE: |
| 611 case AdbMessage::kCommandCLSE: | 608 case AdbMessage::kCommandCLSE: |
| 612 { | 609 { |
| 613 AndroidUsbSockets::iterator it = sockets_.find(message->arg1); | 610 AndroidUsbSockets::iterator it = sockets_.find(message->arg1); |
| 614 if (it != sockets_.end()) | 611 if (it != sockets_.end()) |
| 615 it->second->HandleIncoming(std::move(message)); | 612 it->second->HandleIncoming(std::move(message)); |
| 616 } | 613 } |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 665 BrowserThread::PostTask( | 662 BrowserThread::PostTask( |
| 666 BrowserThread::UI, FROM_HERE, | 663 BrowserThread::UI, FROM_HERE, |
| 667 base::Bind(&ReleaseInterface, usb_handle, interface_id_)); | 664 base::Bind(&ReleaseInterface, usb_handle, interface_id_)); |
| 668 } | 665 } |
| 669 | 666 |
| 670 void AndroidUsbDevice::SocketDeleted(uint32_t socket_id) { | 667 void AndroidUsbDevice::SocketDeleted(uint32_t socket_id) { |
| 671 DCHECK(task_runner_->BelongsToCurrentThread()); | 668 DCHECK(task_runner_->BelongsToCurrentThread()); |
| 672 | 669 |
| 673 sockets_.erase(socket_id); | 670 sockets_.erase(socket_id); |
| 674 } | 671 } |
| OLD | NEW |