diff options
author | Josh Blum <josh@joshknows.com> | 2010-01-15 15:45:33 -0800 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-01-15 15:45:33 -0800 |
commit | 92c76e574773e99d1bfb5c3a833217b8644779f4 (patch) | |
tree | 12c80f9acf1c9ac489eddaedb13861e0ab9674b0 /include/usrp_uhd/usrp/dboard/manager.hpp | |
parent | 3b47904f24169904bf65b29091d85ddfc2a7edb4 (diff) | |
download | uhd-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.hpp | 28 |
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 |