aboutsummaryrefslogtreecommitdiffstats
path: root/include/usrp_uhd/usrp/dboard/manager.hpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-01-15 15:45:33 -0800
committerJosh Blum <josh@joshknows.com>2010-01-15 15:45:33 -0800
commit92c76e574773e99d1bfb5c3a833217b8644779f4 (patch)
tree12c80f9acf1c9ac489eddaedb13861e0ab9674b0 /include/usrp_uhd/usrp/dboard/manager.hpp
parent3b47904f24169904bf65b29091d85ddfc2a7edb4 (diff)
downloaduhd-92c76e574773e99d1bfb5c3a833217b8644779f4.tar.gz
uhd-92c76e574773e99d1bfb5c3a833217b8644779f4.tar.bz2
uhd-92c76e574773e99d1bfb5c3a833217b8644779f4.zip
Dboard base class that is no longer also the xcvr.
The xcvr base inherits from this (as does rx and tx base). Added m4 macro to check for compiler flags. The configure checks flags and headers. Merged the register subdev static methods into one method that associates a dboard id with a dboard constructor. The manager code is responsible for checking this association and creating the correct subdev instances.
Diffstat (limited to 'include/usrp_uhd/usrp/dboard/manager.hpp')
-rw-r--r--include/usrp_uhd/usrp/dboard/manager.hpp28
1 files changed, 7 insertions, 21 deletions
diff --git a/include/usrp_uhd/usrp/dboard/manager.hpp b/include/usrp_uhd/usrp/dboard/manager.hpp
index 788b8a6eb..d977fa527 100644
--- a/include/usrp_uhd/usrp/dboard/manager.hpp
+++ b/include/usrp_uhd/usrp/dboard/manager.hpp
@@ -8,7 +8,6 @@
#include <vector>
#include <usrp_uhd/wax.hpp>
#include <boost/utility.hpp>
-#include <boost/function.hpp>
#include <boost/shared_ptr.hpp>
#include <usrp_uhd/usrp/dboard/base.hpp>
@@ -26,29 +25,16 @@ public:
typedef uint16_t dboard_id_t;
//dboard constructor (each dboard should have a ::make with this signature)
- typedef boost::function<xcvr_base::sptr(xcvr_base::ctor_args_t)> dboard_ctor_t;
+ typedef base::sptr(*dboard_ctor_t)(base::ctor_args_t const&);
/*!
- * Register rx subdevices for a given dboard id.
+ * Register subdevices for a given dboard id.
*
- * \param dboard_id the rx dboard id
+ * \param dboard_id the dboard id (rx or tx)
* \param dboard_ctor the dboard constructor function pointer
- * \param num_subdevs the number of rx subdevs in this dboard
+ * \param num_subdevs the number of subdevs in this dboard
*/
- static void register_rx_subdev(
- dboard_id_t dboard_id,
- dboard_ctor_t dboard_ctor,
- size_t num_subdevs
- );
-
- /*!
- * Register tx subdevices for a given dboard id.
- *
- * \param dboard_id the tx dboard id
- * \param dboard_ctor the dboard constructor function pointer
- * \param num_subdevs the number of tx subdevs in this dboard
- */
- static void register_tx_subdev(
+ static void register_subdevs(
dboard_id_t dboard_id,
dboard_ctor_t dboard_ctor,
size_t num_subdevs
@@ -73,8 +59,8 @@ public:
private:
//list of rx and tx dboards in this manager
//each dboard here is actually a subdevice
- std::vector<xcvr_base::sptr> _rx_dboards;
- std::vector<xcvr_base::sptr> _tx_dboards;
+ std::vector<base::sptr> _rx_dboards;
+ std::vector<base::sptr> _tx_dboards;
};
}}} //namespace