diff options
author | Josh Blum <josh@joshknows.com> | 2010-02-05 11:36:17 -0800 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-02-05 11:36:17 -0800 |
commit | 89152d1ffe452438db46932ebc62d5ccc5b79208 (patch) | |
tree | 47c261e35669fbc8a5e0dd0a1a9db63bcd1a5964 /include | |
parent | bff701727b268a87900b5f8445847a3920c23541 (diff) | |
download | uhd-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.hpp | 4 | ||||
-rw-r--r-- | include/usrp_uhd/usrp/dboard/manager.hpp | 11 | ||||
-rw-r--r-- | include/usrp_uhd/wax.hpp | 12 |
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). * |