USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-gaea0e2de
UHD and USRP Manual
dboard_base.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2010,2017 Ettus Research, A National Instruments Company
3 //
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 //
6 
7 #ifndef INCLUDED_UHD_USRP_DBOARD_BASE_HPP
8 #define INCLUDED_UHD_USRP_DBOARD_BASE_HPP
9 
10 #include <uhd/config.hpp>
11 #include <uhd/property_tree.hpp>
13 #include <uhd/usrp/dboard_id.hpp>
15 #include <uhd/utils/pimpl.hpp>
16 #include <boost/shared_ptr.hpp>
18 
19 namespace uhd { namespace usrp {
20 
26 {
27 public:
28  typedef boost::shared_ptr<dboard_base> sptr;
34  typedef void* ctor_args_t;
35 
36  // structors
37  dboard_base(ctor_args_t);
38  virtual ~dboard_base() {}
39 
40  // post-construction initializer
41  virtual void initialize() {}
42 
43 protected:
44  std::string get_subdev_name(void);
45  dboard_iface::sptr get_iface(void);
46  dboard_id_t get_rx_id(void);
47  dboard_id_t get_tx_id(void);
48  dboard_eeprom_t get_rx_eeprom(void);
49  dboard_eeprom_t get_tx_eeprom(void);
50  property_tree::sptr get_rx_subtree(void);
51  property_tree::sptr get_tx_subtree(void);
52 
53 private:
54  UHD_PIMPL_DECL(impl) _impl;
55 };
56 
62 {
63 public:
68  virtual ~xcvr_dboard_base() {}
69 };
70 
76 {
77 public:
82  virtual ~rx_dboard_base() {}
83 };
84 
90 {
91 public:
96  virtual ~tx_dboard_base() {}
97 };
98 
99 }} // namespace uhd::usrp
100 
101 #endif /* INCLUDED_UHD_USRP_DBOARD_BASE_HPP */
Definition: dboard_id.hpp:18
boost::noncopyable noncopyable
Definition: noncopyable.hpp:46
virtual ~dboard_base()
Definition: dboard_base.hpp:38
boost::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:217
virtual void initialize()
Definition: dboard_base.hpp:41
Definition: build_info.hpp:13
Definition: dboard_base.hpp:75
Definition: dboard_base.hpp:89
Definition: dboard_eeprom.hpp:18
Definition: dboard_base.hpp:61
boost::shared_ptr< dboard_base > sptr
Definition: dboard_base.hpp:28
void * ctor_args_t
Definition: dboard_base.hpp:34
#define UHD_PIMPL_DECL(_name)
Definition: pimpl.hpp:32
#define UHD_API
Definition: config.h:68
boost::shared_ptr< dboard_iface > sptr
Definition: dboard_iface.hpp:56
Definition: dboard_base.hpp:25
virtual ~rx_dboard_base()
Definition: dboard_base.hpp:82
virtual ~tx_dboard_base()
Definition: dboard_base.hpp:96
virtual ~xcvr_dboard_base()
Definition: dboard_base.hpp:68