18 #ifndef INCLUDED_LIBUHD_RFNOC_BLOCKDEF_HPP 19 #define INCLUDED_LIBUHD_RFNOC_BLOCKDEF_HPP 21 #include <boost/cstdint.hpp> 22 #include <boost/enable_shared_from_this.hpp> 28 namespace uhd {
namespace rfnoc {
35 typedef boost::shared_ptr<blockdef>
sptr;
52 bool is_variable(
const std::string &key)
const;
54 bool is_keyword(
const std::string &key)
const;
57 bool is_valid()
const;
59 std::string to_string()
const;
73 bool is_valid()
const;
75 std::string to_string()
const;
88 static sptr make_from_noc_id(boost::uint64_t noc_id);
91 virtual bool is_block()
const = 0;
94 virtual bool is_component()
const = 0;
97 virtual std::string get_key()
const = 0;
100 virtual std::string get_name()
const = 0;
103 virtual boost::uint64_t noc_id()
const = 0;
105 virtual ports_t get_input_ports() = 0;
106 virtual ports_t get_output_ports() = 0;
109 virtual std::vector<size_t> get_all_port_numbers() = 0;
114 virtual args_t get_args() = 0;
117 virtual registers_t get_settings_registers() = 0;
120 virtual registers_t get_readback_registers() = 0;
Definition: blockdef.hpp:32
uhd::dict< std::string, size_t > registers_t
Definition: blockdef.hpp:80
static const std::set< std::string > VALID_TYPES
Definition: blockdef.hpp:68
std::vector< arg_t > args_t
Definition: blockdef.hpp:78
Definition: build_info.hpp:25
#define UHD_RFNOC_API
Definition: config.hpp:103
boost::shared_ptr< blockdef > sptr
Definition: blockdef.hpp:35
Describes port options for a block definition.
Definition: blockdef.hpp:44
static const device_addr_t PORT_ARGS
A list of args a port can have.
Definition: blockdef.hpp:47
static const device_addr_t ARG_ARGS
A list of args an argument can have.
Definition: blockdef.hpp:67
Describes arguments in a block definition.
Definition: blockdef.hpp:64
std::vector< port_t > ports_t
Definition: blockdef.hpp:61
Definition: device_addr.hpp:47