aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2019-06-06 18:47:05 -0700
committerMartin Braun <martin.braun@ettus.com>2019-11-26 11:49:26 -0800
commit4b23b6102c182e4f5a8612e16752d34465bf190c (patch)
tree4c505de324038addba02073879de4aae235f1674 /host/include
parentbba75b29feed2d3b42f9b6c4eb4bc574c09924c7 (diff)
downloaduhd-4b23b6102c182e4f5a8612e16752d34465bf190c.tar.gz
uhd-4b23b6102c182e4f5a8612e16752d34465bf190c.tar.bz2
uhd-4b23b6102c182e4f5a8612e16752d34465bf190c.zip
rfnoc: noc_block_base: Store property tree reference from make_args
Diffstat (limited to 'host/include')
-rw-r--r--host/include/uhd/rfnoc/noc_block_base.hpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/host/include/uhd/rfnoc/noc_block_base.hpp b/host/include/uhd/rfnoc/noc_block_base.hpp
index fb26f6089..e951ffc72 100644
--- a/host/include/uhd/rfnoc/noc_block_base.hpp
+++ b/host/include/uhd/rfnoc/noc_block_base.hpp
@@ -8,6 +8,7 @@
#define INCLUDED_LIBUHD_NOC_BLOCK_BASE_HPP
#include <uhd/config.hpp>
+#include <uhd/property_tree.hpp>
#include <uhd/rfnoc/block_id.hpp>
#include <uhd/rfnoc/node.hpp>
#include <uhd/rfnoc/register_iface_holder.hpp>
@@ -105,6 +106,12 @@ public:
*/
uhd::device_addr_t get_block_args() const { return _block_args; }
+ //! Return a reference to this block's subtree
+ uhd::property_tree::sptr& get_tree() const { return _tree; }
+
+ //! Return a reference to this block's subtree (non-const version)
+ uhd::property_tree::sptr& get_tree() { return _tree; }
+
protected:
noc_block_base(make_args_ptr make_args);
@@ -192,6 +199,12 @@ private:
//! Arguments that were passed into this block
const uhd::device_addr_t _block_args;
+ //! Reference to this block's subtree
+ //
+ // It is mutable because _tree->access<>(..).get() is not const, but we
+ // need to do just that in some const contexts
+ mutable uhd::property_tree::sptr _tree;
+
}; // class noc_block_base
}} /* namespace uhd::rfnoc */