summaryrefslogtreecommitdiffstats
path: root/lib/usrp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-02-01 12:35:34 -0800
committerJosh Blum <josh@joshknows.com>2010-02-01 12:35:34 -0800
commitcc8caeb1230fbaed4a6bc64848a584d51b69362a (patch)
tree086264364fe1d9d1f790a077cd7d9f3219cc369a /lib/usrp
parent5e455ca92280e3c22f5484cb81a2aef0cdfb5de4 (diff)
downloaduhd-cc8caeb1230fbaed4a6bc64848a584d51b69362a.tar.gz
uhd-cc8caeb1230fbaed4a6bc64848a584d51b69362a.tar.bz2
uhd-cc8caeb1230fbaed4a6bc64848a584d51b69362a.zip
Work on the properties framwork with wax::obj.
Now the obj handles all 3 things in 1, properties, polymorphic container, proxy.
Diffstat (limited to 'lib/usrp')
-rw-r--r--lib/usrp/dboard/base.cpp9
-rw-r--r--lib/usrp/dboard/basic.cpp8
-rw-r--r--lib/usrp/dboard/dboards.hpp8
-rw-r--r--lib/usrp/dboard/manager.cpp4
-rw-r--r--lib/usrp/mboard/test.cpp16
-rw-r--r--lib/usrp/usrp.cpp10
6 files changed, 28 insertions, 27 deletions
diff --git a/lib/usrp/dboard/base.cpp b/lib/usrp/dboard/base.cpp
index 1dd722ed1..18489f3b2 100644
--- a/lib/usrp/dboard/base.cpp
+++ b/lib/usrp/dboard/base.cpp
@@ -16,6 +16,7 @@
//
#include <usrp_uhd/usrp/dboard/base.hpp>
+#include <stdexcept>
using namespace usrp_uhd::usrp::dboard;
@@ -60,11 +61,11 @@ rx_base::~rx_base(void){
/* NOP */
}
-void rx_base::tx_get(const wax::type &, wax::type &){
+void rx_base::tx_get(const wax::obj &, wax::obj &){
throw std::runtime_error("cannot call tx_get on a rx dboard");
}
-void rx_base::tx_set(const wax::type &, const wax::type &){
+void rx_base::tx_set(const wax::obj &, const wax::obj &){
throw std::runtime_error("cannot call tx_set on a rx dboard");
}
@@ -79,10 +80,10 @@ tx_base::~tx_base(void){
/* NOP */
}
-void tx_base::rx_get(const wax::type &, wax::type &){
+void tx_base::rx_get(const wax::obj &, wax::obj &){
throw std::runtime_error("cannot call rx_get on a tx dboard");
}
-void tx_base::rx_set(const wax::type &, const wax::type &){
+void tx_base::rx_set(const wax::obj &, const wax::obj &){
throw std::runtime_error("cannot call rx_set on a tx dboard");
}
diff --git a/lib/usrp/dboard/basic.cpp b/lib/usrp/dboard/basic.cpp
index d92d02eec..35512aa5f 100644
--- a/lib/usrp/dboard/basic.cpp
+++ b/lib/usrp/dboard/basic.cpp
@@ -28,11 +28,11 @@ basic_rx::~basic_rx(void){
/* NOP */
}
-void basic_rx::rx_get(const wax::type &, wax::type &){
+void basic_rx::rx_get(const wax::obj &, wax::obj &){
/* TODO */
}
-void basic_rx::rx_set(const wax::type &, const wax::type &){
+void basic_rx::rx_set(const wax::obj &, const wax::obj &){
/* TODO */
}
@@ -47,10 +47,10 @@ basic_tx::~basic_tx(void){
/* NOP */
}
-void basic_tx::tx_get(const wax::type &, wax::type &){
+void basic_tx::tx_get(const wax::obj &, wax::obj &){
/* TODO */
}
-void basic_tx::tx_set(const wax::type &, const wax::type &){
+void basic_tx::tx_set(const wax::obj &, const wax::obj &){
/* TODO */
}
diff --git a/lib/usrp/dboard/dboards.hpp b/lib/usrp/dboard/dboards.hpp
index 35433bb3a..218849eb6 100644
--- a/lib/usrp/dboard/dboards.hpp
+++ b/lib/usrp/dboard/dboards.hpp
@@ -33,8 +33,8 @@ public:
basic_rx(ctor_args_t const& args);
~basic_rx(void);
- void rx_get(const wax::type &key, wax::type &val);
- void rx_set(const wax::type &key, const wax::type &val);
+ void rx_get(const wax::obj &key, wax::obj &val);
+ void rx_set(const wax::obj &key, const wax::obj &val);
};
class basic_tx : public tx_base{
@@ -45,8 +45,8 @@ public:
basic_tx(ctor_args_t const& args);
~basic_tx(void);
- void tx_get(const wax::type &key, wax::type &val);
- void tx_set(const wax::type &key, const wax::type &val);
+ void tx_get(const wax::obj &key, wax::obj &val);
+ void tx_set(const wax::obj &key, const wax::obj &val);
};
diff --git a/lib/usrp/dboard/manager.cpp b/lib/usrp/dboard/manager.cpp
index fcdde84db..12cfdd156 100644
--- a/lib/usrp/dboard/manager.cpp
+++ b/lib/usrp/dboard/manager.cpp
@@ -93,7 +93,7 @@ private:
type_t _type;
//forward the get calls to the rx or tx
- void get(const wax::type &key, wax::type &val){
+ void get(const wax::obj &key, wax::obj &val){
switch(_type){
case RX_TYPE: return _subdev->rx_get(key, val);
case TX_TYPE: return _subdev->tx_get(key, val);
@@ -101,7 +101,7 @@ private:
}
//forward the set calls to the rx or tx
- void set(const wax::type &key, const wax::type &val){
+ void set(const wax::obj &key, const wax::obj &val){
switch(_type){
case RX_TYPE: return _subdev->rx_set(key, val);
case TX_TYPE: return _subdev->tx_set(key, val);
diff --git a/lib/usrp/mboard/test.cpp b/lib/usrp/mboard/test.cpp
index 071a10c2b..57482448c 100644
--- a/lib/usrp/mboard/test.cpp
+++ b/lib/usrp/mboard/test.cpp
@@ -59,9 +59,9 @@ public:
}
~shell_dboard(void){}
private:
- void get(const wax::type &key_, wax::type &val){
- wax::type key; std::string name;
- tie(key, name) = extract_named_prop(key_);
+ void get(const wax::obj &key_, wax::obj &val){
+ wax::obj key; std::string name;
+ boost::tie(key, name) = extract_named_prop(key_);
//handle the get request conditioned on the key
switch(wax::cast<dboard_prop_t>(key)){
@@ -97,7 +97,7 @@ private:
}
}
- void set(const wax::type &, const wax::type &){
+ void set(const wax::obj &, const wax::obj &){
throw std::runtime_error("Cannot set on usrp test dboard");
}
@@ -122,9 +122,9 @@ test::~test(void){
/* NOP */
}
-void test::get(const wax::type &key_, wax::type &val){
- wax::type key; std::string name;
- tie(key, name) = extract_named_prop(key_);
+void test::get(const wax::obj &key_, wax::obj &val){
+ wax::obj key; std::string name;
+ boost::tie(key, name) = extract_named_prop(key_);
//handle the get request conditioned on the key
switch(wax::cast<mboard_prop_t>(key)){
@@ -179,6 +179,6 @@ void test::get(const wax::type &key_, wax::type &val){
}
}
-void test::set(const wax::type &, const wax::type &){
+void test::set(const wax::obj &, const wax::obj &){
throw std::runtime_error("Cannot set on usrp test mboard");
}
diff --git a/lib/usrp/usrp.cpp b/lib/usrp/usrp.cpp
index 56bfd37fc..e3016be5f 100644
--- a/lib/usrp/usrp.cpp
+++ b/lib/usrp/usrp.cpp
@@ -54,9 +54,9 @@ usrp::~usrp(void){
/* NOP */
}
-void usrp::get(const wax::type &key_, wax::type &val){
- wax::type key; std::string name;
- tie(key, name) = extract_named_prop(key_);
+void usrp::get(const wax::obj &key_, wax::obj &val){
+ wax::obj key; std::string name;
+ boost::tie(key, name) = extract_named_prop(key_);
//handle the get request conditioned on the key
switch(wax::cast<device_prop_t>(key)){
@@ -70,7 +70,7 @@ void usrp::get(const wax::type &key_, wax::type &val){
);
//turn the mboard sptr object into a wax::obj::sptr
//this allows the properties access through the wax::proxy
- val = wax::obj::cast(_mboards[name]);
+ val = _mboards[name]->get_link();
return;
case DEVICE_PROP_MBOARD_NAMES:
@@ -79,7 +79,7 @@ void usrp::get(const wax::type &key_, wax::type &val){
}
}
-void usrp::set(const wax::type &, const wax::type &){
+void usrp::set(const wax::obj &, const wax::obj &){
throw std::runtime_error("Cannot set in usrp device");
}