USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-gaea0e2de
UHD and USRP Manual
usb_device_handle.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2010-2013 Ettus Research LLC
3 // Copyright 2018 Ettus Research, a National Instruments Company
4 //
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 
8 #ifndef INCLUDED_UHD_TRANSPORT_USB_DEVICE_HANDLE_HPP
9 #define INCLUDED_UHD_TRANSPORT_USB_DEVICE_HANDLE_HPP
10 
11 #include <uhd/config.hpp>
13 #include <stdint.h>
14 #include <boost/shared_ptr.hpp>
15 #include <string>
16 #include <vector>
17 
18 namespace uhd { namespace transport {
19 
33 {
34 public:
35  typedef boost::shared_ptr<usb_device_handle> sptr;
36  typedef std::pair<uint16_t, uint16_t> vid_pid_pair_t;
37 
38  virtual ~usb_device_handle(void);
39 
44  virtual std::string get_serial() const = 0;
45 
50  virtual std::string get_manufacturer() const = 0;
51 
56  virtual std::string get_product() const = 0;
57 
62  virtual uint16_t get_vendor_id() const = 0;
63 
68  virtual uint16_t get_product_id() const = 0;
69 
74  virtual bool firmware_loaded() = 0;
75 
80  static std::vector<usb_device_handle::sptr> get_device_list(
81  uint16_t vid, uint16_t pid);
82  static std::vector<usb_device_handle::sptr> get_device_list(
83  const std::vector<usb_device_handle::vid_pid_pair_t>& vid_pid_pair_list);
84 
85 
86 }; // namespace usb
87 
88 }} // namespace uhd::transport
89 
90 #endif /* INCLUDED_UHD_TRANSPORT_USB_DEVICE_HANDLE_HPP */
boost::noncopyable noncopyable
Definition: noncopyable.hpp:46
Definition: usb_device_handle.hpp:32
boost::shared_ptr< usb_device_handle > sptr
Definition: usb_device_handle.hpp:35
Definition: build_info.hpp:13
std::pair< uint16_t, uint16_t > vid_pid_pair_t
Definition: usb_device_handle.hpp:36
#define UHD_API
Definition: config.h:68