USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-g6563c537
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 <boost/shared_ptr.hpp>
14 #include <vector>
15 #include <stdint.h>
16 
17 namespace uhd { namespace transport {
18 
32 {
33 public:
34  typedef boost::shared_ptr<usb_device_handle> sptr;
35  typedef std::pair<uint16_t, uint16_t> vid_pid_pair_t;
36 
37  virtual ~usb_device_handle(void);
38 
43  virtual std::string get_serial() const = 0;
44 
49  virtual std::string get_manufacturer() const = 0;
50 
55  virtual std::string get_product() const = 0;
56 
61  virtual uint16_t get_vendor_id() const = 0;
62 
67  virtual uint16_t get_product_id() const = 0;
68 
73  virtual bool firmware_loaded() = 0;
74 
79  static std::vector<usb_device_handle::sptr> get_device_list(
80  uint16_t vid, uint16_t pid);
81  static std::vector<usb_device_handle::sptr> get_device_list(
82  const std::vector<usb_device_handle::vid_pid_pair_t>& vid_pid_pair_list);
83 
84 
85 }; // namespace usb
86 
87 }} // namespace uhd::transport
88 
89 #endif /* INCLUDED_UHD_TRANSPORT_USB_DEVICE_HANDLE_HPP */
boost::noncopyable noncopyable
Definition: noncopyable.hpp:46
Definition: usb_device_handle.hpp:31
boost::shared_ptr< usb_device_handle > sptr
Definition: usb_device_handle.hpp:34
Definition: build_info.hpp:13
std::pair< uint16_t, uint16_t > vid_pid_pair_t
Definition: usb_device_handle.hpp:35
#define UHD_API
Definition: config.h:68