USRP Hardware Driver and USRP Manual  Version: 3.11.0.HEAD-0-g13c32cef
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>
12 #include <boost/utility.hpp>
13 #include <boost/shared_ptr.hpp>
14 #include <stdint.h>
15 #include <vector>
16 
17 namespace uhd { namespace transport {
18 
31 class UHD_API usb_device_handle : boost::noncopyable {
32 public:
33  typedef boost::shared_ptr<usb_device_handle> sptr;
34  typedef std::pair<uint16_t, uint16_t> vid_pid_pair_t;
35 
36  virtual ~usb_device_handle(void);
37 
42  virtual std::string get_serial() const = 0;
43 
48  virtual std::string get_manufacturer() const = 0;
49 
54  virtual std::string get_product() const = 0;
55 
60  virtual uint16_t get_vendor_id() const = 0;
61 
66  virtual uint16_t get_product_id() const = 0;
67 
72  virtual bool firmware_loaded() = 0;
73 
78  static std::vector<usb_device_handle::sptr> get_device_list(uint16_t vid, uint16_t pid);
79  static std::vector<usb_device_handle::sptr> get_device_list(const std::vector<usb_device_handle::vid_pid_pair_t>& vid_pid_pair_list);
80 
81 
82 }; //namespace usb
83 
84 }} //namespace
85 
86 #endif /* INCLUDED_UHD_TRANSPORT_USB_DEVICE_HANDLE_HPP */
Definition: usb_device_handle.hpp:31
boost::shared_ptr< usb_device_handle > sptr
Definition: usb_device_handle.hpp:33
Definition: build_info.hpp:14
std::pair< uint16_t, uint16_t > vid_pid_pair_t
Definition: usb_device_handle.hpp:34
#define UHD_API
Definition: config.h:63