From af5b2b5e778ead57b0fe9e72561227f1ebbbfc42 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Fri, 23 Aug 2019 12:11:19 -0700 Subject: rfnoc: node: Add set_properties() node_t::set_properties() is a convenience function that lets you set multiple properties at once from a device_addr_t. --- host/include/uhd/rfnoc/node.hpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'host/include') diff --git a/host/include/uhd/rfnoc/node.hpp b/host/include/uhd/rfnoc/node.hpp index 59836fbf6..33831a4d7 100644 --- a/host/include/uhd/rfnoc/node.hpp +++ b/host/include/uhd/rfnoc/node.hpp @@ -10,9 +10,10 @@ #include #include #include +#include +#include #include #include -#include #include #include #include @@ -123,6 +124,19 @@ public: void set_property( const std::string& id, const prop_data_t& val, const size_t instance = 0); + /*! Set multiple properties coming from a dictionary + * + * This is equivalent to calling set_property() individually for every + * key/value pair of props. However, the type of the property will be + * automatically derived using RTTI. Only certain types are supported. + * + * Property resolution happens after all properties have been updated. + * + * If a key in \p props is not a valid property of this block, a warning is + * logged, but no error is raised. + */ + void set_properties(const uhd::device_addr_t& props, const size_t instance = 0); + /*! Get the value of a specific block argument. \p The type of an argument * must be known at compile time. * -- cgit v1.2.3