diff options
| author | Ashish Chaudhari <ashish@ettus.com> | 2015-03-17 13:52:29 -0700 |
|---|---|---|
| committer | Ashish Chaudhari <ashish@ettus.com> | 2015-03-17 13:52:29 -0700 |
| commit | 6a34824ad10eaa2d2b642b959f278f6c4e326d6d (patch) | |
| tree | 1aa582ee8e5cef716b59ec4deb3a8e5f4f532929 /host/lib/transport/libusb1_base.cpp | |
| parent | 5682321efa26bb97f5d0c37d8e9921fc11a9b923 (diff) | |
| parent | 306b5243e12af0db493856ad8397abac9835db0c (diff) | |
| download | uhd-6a34824ad10eaa2d2b642b959f278f6c4e326d6d.tar.gz uhd-6a34824ad10eaa2d2b642b959f278f6c4e326d6d.tar.bz2 uhd-6a34824ad10eaa2d2b642b959f278f6c4e326d6d.zip | |
Merge branch 'master' into ashish/vivado
Diffstat (limited to 'host/lib/transport/libusb1_base.cpp')
| -rw-r--r-- | host/lib/transport/libusb1_base.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/host/lib/transport/libusb1_base.cpp b/host/lib/transport/libusb1_base.cpp index ee4e20adb..18acb1fdc 100644 --- a/host/lib/transport/libusb1_base.cpp +++ b/host/lib/transport/libusb1_base.cpp @@ -343,15 +343,21 @@ libusb::special_handle::sptr libusb::special_handle::make(device::sptr dev){ std::vector<usb_device_handle::sptr> usb_device_handle::get_device_list( boost::uint16_t vid, boost::uint16_t pid ){ - std::vector<usb_device_handle::sptr> handles; + return usb_device_handle::get_device_list(std::vector<usb_device_handle::vid_pid_pair_t>(1,usb_device_handle::vid_pid_pair_t(vid,pid))); +} +std::vector<usb_device_handle::sptr> usb_device_handle::get_device_list(const std::vector<usb_device_handle::vid_pid_pair_t>& vid_pid_pair_list) +{ + std::vector<usb_device_handle::sptr> handles; libusb::device_list::sptr dev_list = libusb::device_list::make(); - for (size_t i = 0; i < dev_list->size(); i++){ - usb_device_handle::sptr handle = libusb::special_handle::make(dev_list->at(i)); - if (handle->get_vendor_id() == vid and handle->get_product_id() == pid){ - handles.push_back(handle); - } + for(size_t iter = 0; iter < vid_pid_pair_list.size(); ++iter) + { + for (size_t i = 0; i < dev_list->size(); i++){ + usb_device_handle::sptr handle = libusb::special_handle::make(dev_list->at(i)); + if (handle->get_vendor_id() == vid_pid_pair_list[iter].first and handle->get_product_id() == vid_pid_pair_list[iter].second){ + handles.push_back(handle); + } + } } - return handles; } |
