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

Unified Diff: chrome/browser/extensions/api/serial/serial_api.cc

Issue 158063002: Use udev for serial device enumeration on Linux (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: doc nits Created 6 years, 10 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/extensions/api/serial/serial_api.cc
diff --git a/chrome/browser/extensions/api/serial/serial_api.cc b/chrome/browser/extensions/api/serial/serial_api.cc
index c2d6f5a963e3ac410b6890debe6bfa9a9feb84fc..2a1d6f735f1c4933a075e27d4dff40138b293f19 100644
--- a/chrome/browser/extensions/api/serial/serial_api.cc
+++ b/chrome/browser/extensions/api/serial/serial_api.cc
@@ -9,9 +9,9 @@
#include "base/values.h"
#include "chrome/browser/extensions/api/serial/serial_connection.h"
#include "chrome/browser/extensions/api/serial/serial_event_dispatcher.h"
-#include "chrome/browser/extensions/api/serial/serial_port_enumerator.h"
#include "chrome/common/extensions/api/serial.h"
#include "content/public/browser/browser_thread.h"
+#include "device/serial/serial_device_enumerator.h"
#include "extensions/browser/extension_system.h"
using content::BrowserThread;
@@ -84,18 +84,23 @@ bool SerialGetDevicesFunction::Prepare() {
void SerialGetDevicesFunction::Work() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
- std::vector<linked_ptr<serial::DeviceInfo> > devices;
- SerialPortEnumerator::StringSet port_names =
- SerialPortEnumerator::GenerateValidSerialPortNames();
- for (SerialPortEnumerator::StringSet::const_iterator iter =
- port_names.begin();
- iter != port_names.end();
- ++iter) {
+ std::vector<device::SerialDeviceInfo> devices;
+ scoped_ptr<device::SerialDeviceEnumerator> enumerator =
+ device::SerialDeviceEnumerator::Create();
+ enumerator->GetDevices(&devices);
+
+ std::vector<linked_ptr<serial::DeviceInfo> > out_devices;
+ std::vector<device::SerialDeviceInfo>::const_iterator iter = devices.begin();
+ for (; iter != devices.end(); ++iter) {
linked_ptr<serial::DeviceInfo> info(new serial::DeviceInfo);
- info->path = *iter;
- devices.push_back(info);
+ info->path = iter->path;
+ info->vendor_id = iter->vendor_id;
+ info->product_id = iter->product_id;
+ info->display_name = iter->display_name;
+ out_devices.push_back(info);
}
- results_ = serial::GetDevices::Results::Create(devices);
+
+ results_ = serial::GetDevices::Results::Create(out_devices);
}
SerialConnectFunction::SerialConnectFunction() {}

Powered by Google App Engine
This is Rietveld 408576698