USRP Hardware Driver and USRP Manual  Version: 4.4.0.HEAD-0-g5fac246b
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 #pragma once
8 
9 #include <uhd/config.hpp>
10 #include <uhd/property_tree.hpp>
12 #include <uhd/usrp/dboard_id.hpp>
15 #include <uhd/utils/pimpl.hpp>
16 #include <memory>
17 
18 namespace uhd { namespace usrp {
19 
25 {
26 public:
27  typedef std::shared_ptr<dboard_base> sptr;
33  typedef void* ctor_args_t;
34 
35  // structors
37  virtual ~dboard_base() {}
38 
39  // post-construction initializer
40  virtual void initialize() {}
41 
42 protected:
43  std::string get_subdev_name(void);
44  dboard_iface::sptr get_iface(void);
45  dboard_id_t get_rx_id(void);
46  dboard_id_t get_tx_id(void);
47  dboard_eeprom_t get_rx_eeprom(void);
48  dboard_eeprom_t get_tx_eeprom(void);
49  property_tree::sptr get_rx_subtree(void);
50  property_tree::sptr get_tx_subtree(void);
51 
52 private:
53  UHD_PIMPL_DECL(impl) _impl;
54 };
55 
61 {
62 public:
67  ~xcvr_dboard_base() override {}
68 };
69 
75 {
76 public:
81  ~rx_dboard_base() override {}
82 };
83 
89 {
90 public:
95  ~tx_dboard_base() override {}
96 };
97 
98 }} // namespace uhd::usrp
uhd::usrp::dboard_eeprom_t
Definition: dboard_eeprom.hpp:17
config.hpp
property_tree.hpp
uhd::usrp::dboard_base::initialize
virtual void initialize()
Definition: dboard_base.hpp:40
dboard_iface.hpp
pimpl.hpp
uhd::usrp::dboard_base::sptr
std::shared_ptr< dboard_base > sptr
Definition: dboard_base.hpp:27
uhd::usrp::rx_dboard_base
Definition: dboard_base.hpp:74
UHD_API
#define UHD_API
Definition: config.h:87
UHD_PIMPL_DECL
#define UHD_PIMPL_DECL(_name)
Definition: pimpl.hpp:31
uhd::property_tree::sptr
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:222
noncopyable.hpp
uhd::usrp::dboard_iface::sptr
std::shared_ptr< dboard_iface > sptr
Definition: dboard_iface.hpp:55
uhd::usrp::tx_dboard_base
Definition: dboard_base.hpp:88
uhd::usrp::dboard_base::~dboard_base
virtual ~dboard_base()
Definition: dboard_base.hpp:37
uhd::usrp::dboard_base::ctor_args_t
void * ctor_args_t
Definition: dboard_base.hpp:33
uhd::usrp::dboard_id_t
Definition: dboard_id.hpp:17
uhd
Definition: build_info.hpp:12
uhd::usrp::rx_dboard_base::~rx_dboard_base
~rx_dboard_base() override
Definition: dboard_base.hpp:81
uhd::usrp::xcvr_dboard_base
Definition: dboard_base.hpp:60
dboard_eeprom.hpp
uhd::usrp::dboard_base
Definition: dboard_base.hpp:24
uhd::usrp::tx_dboard_base::~tx_dboard_base
~tx_dboard_base() override
Definition: dboard_base.hpp:95
uhd::noncopyable
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
uhd::usrp::xcvr_dboard_base::~xcvr_dboard_base
~xcvr_dboard_base() override
Definition: dboard_base.hpp:67
dboard_id.hpp