aboutsummaryrefslogtreecommitdiffstats
path: root/include/usrp_uhd/usrp/dboard
diff options
context:
space:
mode:
Diffstat (limited to 'include/usrp_uhd/usrp/dboard')
-rw-r--r--include/usrp_uhd/usrp/dboard/base.hpp8
-rw-r--r--include/usrp_uhd/usrp/dboard/manager.hpp19
2 files changed, 14 insertions, 13 deletions
diff --git a/include/usrp_uhd/usrp/dboard/base.hpp b/include/usrp_uhd/usrp/dboard/base.hpp
index 0c207f564..2b839a6fc 100644
--- a/include/usrp_uhd/usrp/dboard/base.hpp
+++ b/include/usrp_uhd/usrp/dboard/base.hpp
@@ -20,10 +20,10 @@ namespace usrp_uhd{ namespace usrp{ namespace dboard{
class base : boost::noncopyable{
public:
typedef boost::shared_ptr<base> sptr;
- //the constructor args consist of a subdev index and an interface
+ //the constructor args consist of a subdev name 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;
+ typedef boost::tuple<std::string, interface::sptr> ctor_args_t;
//structors
base(ctor_args_t const&);
@@ -36,11 +36,11 @@ public:
virtual void tx_set(const wax::type &key, const wax::type &val) = 0;
protected:
- size_t get_subdev_index(void);
+ std::string get_subdev_name(void);
interface::sptr get_interface(void);
private:
- size_t _subdev_index;
+ std::string _subdev_name;
interface::sptr _dboard_interface;
};
diff --git a/include/usrp_uhd/usrp/dboard/manager.hpp b/include/usrp_uhd/usrp/dboard/manager.hpp
index d977fa527..4eaa9f889 100644
--- a/include/usrp_uhd/usrp/dboard/manager.hpp
+++ b/include/usrp_uhd/usrp/dboard/manager.hpp
@@ -5,8 +5,9 @@
#ifndef INCLUDED_USRP_UHD_USRP_DBOARD_MANAGER_HPP
#define INCLUDED_USRP_UHD_USRP_DBOARD_MANAGER_HPP
-#include <vector>
+#include <map>
#include <usrp_uhd/wax.hpp>
+#include <usrp_uhd/props.hpp>
#include <boost/utility.hpp>
#include <boost/shared_ptr.hpp>
#include <usrp_uhd/usrp/dboard/base.hpp>
@@ -32,12 +33,12 @@ public:
*
* \param dboard_id the dboard id (rx or tx)
* \param dboard_ctor the dboard constructor function pointer
- * \param num_subdevs the number of subdevs in this dboard
+ * \param subdev_names the names of the subdevs on this dboard
*/
static void register_subdevs(
dboard_id_t dboard_id,
dboard_ctor_t dboard_ctor,
- size_t num_subdevs
+ const prop_names_t &subdev_names
);
public:
@@ -51,16 +52,16 @@ public:
~manager(void);
//interface
- size_t get_num_rx_subdevs(void);
- size_t get_num_tx_subdevs(void);
- wax::obj::sptr get_rx_subdev(size_t subdev_index);
- wax::obj::sptr get_tx_subdev(size_t subdev_index);
+ prop_names_t get_rx_subdev_names(void);
+ prop_names_t get_tx_subdev_names(void);
+ wax::obj::sptr get_rx_subdev(const std::string &subdev_name);
+ wax::obj::sptr get_tx_subdev(const std::string &subdev_name);
private:
//list of rx and tx dboards in this manager
//each dboard here is actually a subdevice
- std::vector<base::sptr> _rx_dboards;
- std::vector<base::sptr> _tx_dboards;
+ std::map<std::string, base::sptr> _rx_dboards;
+ std::map<std::string, base::sptr> _tx_dboards;
};
}}} //namespace