Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4354)

Unified Diff: chrome/browser/devtools/adb/android_usb_device.cc

Issue 18593002: Usb backend refactor step 2: Separate Usb Device Handle and Usb Device (deprecate) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/devtools/adb/android_usb_device.cc
diff --git a/chrome/browser/devtools/adb/android_usb_device.cc b/chrome/browser/devtools/adb/android_usb_device.cc
index 6cd98085d3e2b379131c7fbf22a70df656bfd2ac..77770eac51be10502f7fe90e61667b344e564278 100644
--- a/chrome/browser/devtools/adb/android_usb_device.cc
+++ b/chrome/browser/devtools/adb/android_usb_device.cc
@@ -9,6 +9,7 @@
#include "base/base64.h"
#include "base/lazy_instance.h"
#include "base/message_loop/message_loop.h"
+#include "base/stl_util.h"
#include "base/strings/stringprintf.h"
#include "chrome/browser/devtools/adb/android_rsa.h"
#include "chrome/browser/devtools/adb/android_usb_socket.h"
@@ -38,8 +39,6 @@ const uint32 kVersion = 0x01000000;
static const char kHostConnectMessage[] = "host::";
-typedef std::vector<scoped_refptr<UsbDevice> > UsbDevices;
-
base::LazyInstance<AndroidUsbDevices>::Leaky g_devices =
LAZY_INSTANCE_INITIALIZER;
@@ -212,21 +211,21 @@ void AndroidUsbDevice::Enumerate(Profile* profile,
AndroidUsbDevices* devices) {
UsbService* service =
UsbServiceFactory::GetInstance()->GetForProfile(profile);
- UsbDevices usb_devices;
- service->EnumerateDevices(&usb_devices);
+
+ std::vector<int> usb_devices;
+ service->GetDevices(&usb_devices);
// GC Android devices with no actual usb device.
AndroidUsbDevices::iterator it = g_devices.Get().begin();
- std::set<UsbDevice*> claimed_devices;
+ std::set<int> claimed_devices;
while (it != g_devices.Get().end()) {
bool found_device = false;
- for (UsbDevices::iterator it2 = usb_devices.begin();
- it2 != usb_devices.end() && !found_device; ++it2) {
- UsbDevice* usb_device = it2->get();
+ for (size_t i = 0; i < usb_devices.size(); ++i) {
+ int usb_device_id = usb_devices[i];
AndroidUsbDevice* device = it->get();
- if (usb_device == device->usb_device_) {
+ if (usb_device_id == device->usb_device_->device()) {
found_device = true;
- claimed_devices.insert(*it2);
+ claimed_devices.insert(usb_device_id);
}
}
@@ -235,14 +234,13 @@ void AndroidUsbDevice::Enumerate(Profile* profile,
else
++it;
}
-
+// service->OpenDevice(usb_device_id)
// Add new devices.
AndroidUsbDevices new_devices;
- for (UsbDevices::iterator it = usb_devices.begin(); it != usb_devices.end();
- ++it) {
- UsbDevice* usb_device = *it;
- if (claimed_devices.find(usb_device) != claimed_devices.end())
+ for (size_t i = 0; i < usb_devices.size(); ++i) {
+ if (ContainsKey(claimed_devices, usb_devices[i]))
continue;
+ scoped_refptr<UsbDevice> usb_device = service->OpenDevice(usb_devices[i]);
scoped_refptr<UsbConfigDescriptor> config = new UsbConfigDescriptor();
usb_device->ListInterfaces(config.get(), base::Bind(&BoolNoop));
for (size_t j = 0; j < config->GetNumInterfaces(); ++j) {
« no previous file with comments | « no previous file | chrome/browser/extensions/api/usb/usb_api.h » ('j') | chrome/browser/extensions/api/usb/usb_api.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698