USRP Hardware Driver and USRP Manual  Version: 4.6.0.0
UHD and USRP Manual
filter_node.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2019 Ettus Research, a National Instruments Brand
3 //
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 //
6 
7 #pragma once
8 
9 #include <uhd/types/filters.hpp>
10 #include <string>
11 #include <vector>
12 
13 namespace uhd { namespace rfnoc { namespace detail {
14 
15 // TODO: Support static filters
16 // TODO: User-defined (external?) filter
20 {
21 public:
22  using sptr = std::shared_ptr<filter_node>;
23 
24  virtual ~filter_node() = default;
25 
26  virtual std::vector<std::string> get_rx_filter_names(const size_t chan) const = 0;
28  const std::string& name, const size_t chan) = 0;
29  virtual void set_rx_filter(const std::string& name,
31  const size_t chan) = 0;
32 
33  virtual std::vector<std::string> get_tx_filter_names(const size_t chan) const = 0;
35  const std::string& name, const size_t chan) = 0;
36  virtual void set_tx_filter(const std::string& name,
38  const size_t chan) = 0;
39 };
40 
41 }}} /* namespace uhd::rfnoc::detail */
virtual std::vector< std::string > get_rx_filter_names(const size_t chan) const =0
virtual std::vector< std::string > get_tx_filter_names(const size_t chan) const =0
virtual void set_tx_filter(const std::string &name, uhd::filter_info_base::sptr filter, const size_t chan)=0
std::shared_ptr< filter_node > sptr
Definition: filter_node.hpp:22
virtual void set_rx_filter(const std::string &name, uhd::filter_info_base::sptr filter, const size_t chan)=0
virtual uhd::filter_info_base::sptr get_rx_filter(const std::string &name, const size_t chan)=0
virtual ~filter_node()=default
virtual uhd::filter_info_base::sptr get_tx_filter(const std::string &name, const size_t chan)=0
Definition: filter_node.hpp:19
Definition: build_info.hpp:12
std::shared_ptr< filter_info_base > sptr
Definition: filters.hpp:26