summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-02-05 11:36:17 -0800
committerJosh Blum <josh@joshknows.com>2010-02-05 11:36:17 -0800
commit89152d1ffe452438db46932ebc62d5ccc5b79208 (patch)
tree47c261e35669fbc8a5e0dd0a1a9db63bcd1a5964 /include
parentbff701727b268a87900b5f8445847a3920c23541 (diff)
downloaduhd-89152d1ffe452438db46932ebc62d5ccc5b79208.tar.gz
uhd-89152d1ffe452438db46932ebc62d5ccc5b79208.tar.bz2
uhd-89152d1ffe452438db46932ebc62d5ccc5b79208.zip
Made get_link the only way to create nested props.
Removed the obj::ptr and sptr typedefs. The dboard manager now must store not the subdevs, but their proxies.
Diffstat (limited to 'include')
-rw-r--r--include/usrp_uhd/gain_handler.hpp4
-rw-r--r--include/usrp_uhd/usrp/dboard/manager.hpp11
-rw-r--r--include/usrp_uhd/wax.hpp12
3 files changed, 14 insertions, 13 deletions
diff --git a/include/usrp_uhd/gain_handler.hpp b/include/usrp_uhd/gain_handler.hpp
index 22e987803..786db993b 100644
--- a/include/usrp_uhd/gain_handler.hpp
+++ b/include/usrp_uhd/gain_handler.hpp
@@ -31,7 +31,7 @@ public:
typedef boost::shared_ptr<gain_handler> sptr;
template <class T> gain_handler(
- wax::obj::ptr wax_obj_ptr, const T &gain_prop,
+ wax::obj *wax_obj_ptr, const T &gain_prop,
const T &gain_min_prop, const T &gain_max_prop,
const T &gain_step_prop, const T &gain_names_prop
){
@@ -63,7 +63,7 @@ public:
private:
- wax::obj::ptr _wax_obj_ptr;
+ wax::obj *_wax_obj_ptr;
wax::obj _gain_prop;
wax::obj _gain_min_prop;
wax::obj _gain_max_prop;
diff --git a/include/usrp_uhd/usrp/dboard/manager.hpp b/include/usrp_uhd/usrp/dboard/manager.hpp
index e4eb76bcf..8cc5658d9 100644
--- a/include/usrp_uhd/usrp/dboard/manager.hpp
+++ b/include/usrp_uhd/usrp/dboard/manager.hpp
@@ -66,14 +66,15 @@ public:
//interface
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);
+ wax::obj get_rx_subdev(const std::string &subdev_name);
+ wax::obj 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::map<std::string, base::sptr> _rx_dboards;
- std::map<std::string, base::sptr> _tx_dboards;
+ //each dboard here is actually a subdevice proxy
+ //the subdevice proxy is internal to the cpp file
+ std::map<std::string, wax::obj> _rx_dboards;
+ std::map<std::string, wax::obj> _tx_dboards;
};
}}} //namespace
diff --git a/include/usrp_uhd/wax.hpp b/include/usrp_uhd/wax.hpp
index f0e7a3acc..29a96cdb6 100644
--- a/include/usrp_uhd/wax.hpp
+++ b/include/usrp_uhd/wax.hpp
@@ -19,7 +19,6 @@
#define INCLUDED_WAX_HPP
#include <boost/any.hpp>
-#include <boost/shared_ptr.hpp>
#include <iostream>
/*!
@@ -45,8 +44,6 @@
namespace wax{
- typedef boost::bad_any_cast bad_cast;
-
/*!
* WAX object base class:
*
@@ -61,9 +58,6 @@ namespace wax{
*/
class obj{
public:
- //obj pointer typedefs
- typedef boost::shared_ptr<obj> sptr;
- typedef obj* ptr;
/*!
* Default constructor:
@@ -151,6 +145,12 @@ namespace wax{
};
/*!
+ * The wax::bad cast will be thrown when
+ * cast is called with the wrong typeid.
+ */
+ typedef boost::bad_any_cast bad_cast;
+
+ /*!
* Cast a wax::obj into the desired obj.
* Usage wax::cast<new_obj>(my_value).
*