diff options
author | Josh Blum <josh@joshknows.com> | 2010-01-14 19:02:55 -0800 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-01-14 19:02:55 -0800 |
commit | 3b47904f24169904bf65b29091d85ddfc2a7edb4 (patch) | |
tree | c6423c67a341a55ebbeb60c1519635cefb7d6612 /include/usrp_uhd/usrp/dboard/base.hpp | |
parent | b52880892d1a85203e58cdb049877e7ae4c16663 (diff) | |
download | uhd-3b47904f24169904bf65b29091d85ddfc2a7edb4.tar.gz uhd-3b47904f24169904bf65b29091d85ddfc2a7edb4.tar.bz2 uhd-3b47904f24169904bf65b29091d85ddfc2a7edb4.zip |
Switched dboard ctor arguments with a tuple.
Sub-classes only need to pass the single argument,
makes implementation cleaner.
Added a dboard registry and api for the manager.
This way, one could externally register custom dboard from the api.
Diffstat (limited to 'include/usrp_uhd/usrp/dboard/base.hpp')
-rw-r--r-- | include/usrp_uhd/usrp/dboard/base.hpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/include/usrp_uhd/usrp/dboard/base.hpp b/include/usrp_uhd/usrp/dboard/base.hpp index 86ab7dde6..09cc9b324 100644 --- a/include/usrp_uhd/usrp/dboard/base.hpp +++ b/include/usrp_uhd/usrp/dboard/base.hpp @@ -8,6 +8,7 @@ #include <usrp_uhd/wax.hpp> #include <boost/utility.hpp> #include <boost/shared_ptr.hpp> +#include <boost/tuple/tuple.hpp> #include <usrp_uhd/usrp/dboard/interface.hpp> namespace usrp_uhd{ namespace usrp{ namespace dboard{ @@ -19,9 +20,13 @@ namespace usrp_uhd{ namespace usrp{ namespace dboard{ class xcvr_base : boost::noncopyable{ public: typedef boost::shared_ptr<xcvr_base> sptr; + //the constructor args consist of a subdev index and an interface + //derived classes should pass the args into the base class ctor + //but should not have to deal with the internals of the args + typedef boost::tuple<size_t, interface::sptr> ctor_args_t; //structors - xcvr_base(size_t subdev_index, interface::sptr dboard_interface); + xcvr_base(ctor_args_t const&); ~xcvr_base(void); //interface @@ -48,7 +53,7 @@ public: /*! * Create a new rx dboard object, override in subclasses. */ - rx_base(size_t subdev_index, interface::sptr sptr_interface); + rx_base(ctor_args_t const&); virtual ~rx_base(void); @@ -66,7 +71,7 @@ public: /*! * Create a new rx dboard object, override in subclasses. */ - tx_base(size_t subdev_index, interface::sptr sptr_interface); + tx_base(ctor_args_t const&); virtual ~tx_base(void); |