Loading...
Searching...
No Matches
filter_node.hpp
Go to the documentation of this file.
//
// Copyright 2019 Ettus Research, a National Instruments Brand
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#pragma once
#include <uhd/types/filters.hpp>
#include <string>
#include <vector>
namespace uhd { namespace rfnoc { namespace detail {
// TODO: Support static filters
// TODO: User-defined (external?) filter
class filter_node
{
public:
using sptr = std::shared_ptr<filter_node>;
virtual ~filter_node() = default;
virtual std::vector<std::string> get_rx_filter_names(const size_t chan) const = 0;
virtual uhd::filter_info_base::sptr get_rx_filter(
const std::string& name, const size_t chan) = 0;
virtual void set_rx_filter(const std::string& name,
uhd::filter_info_base::sptr filter,
const size_t chan) = 0;
virtual std::vector<std::string> get_tx_filter_names(const size_t chan) const = 0;
virtual uhd::filter_info_base::sptr get_tx_filter(
const std::string& name, const size_t chan) = 0;
virtual void set_tx_filter(const std::string& name,
uhd::filter_info_base::sptr filter,
const size_t chan) = 0;
};
}}} /* namespace uhd::rfnoc::detail */
uhd::filter_info_base::sptr
std::shared_ptr< filter_info_base > sptr
Definition filters.hpp:24
uhd::rfnoc::detail::filter_node
Definition filter_node.hpp:20
uhd::rfnoc::detail::filter_node::~filter_node
virtual ~filter_node()=default
uhd::rfnoc::detail::filter_node::get_rx_filter
virtual uhd::filter_info_base::sptr get_rx_filter(const std::string &name, const size_t chan)=0
uhd::rfnoc::detail::filter_node::get_tx_filter_names
virtual std::vector< std::string > get_tx_filter_names(const size_t chan) const =0
uhd::rfnoc::detail::filter_node::set_rx_filter
virtual void set_rx_filter(const std::string &name, uhd::filter_info_base::sptr filter, const size_t chan)=0
uhd::rfnoc::detail::filter_node::get_rx_filter_names
virtual std::vector< std::string > get_rx_filter_names(const size_t chan) const =0
uhd::rfnoc::detail::filter_node::set_tx_filter
virtual void set_tx_filter(const std::string &name, uhd::filter_info_base::sptr filter, const size_t chan)=0
uhd::rfnoc::detail::filter_node::get_tx_filter
virtual uhd::filter_info_base::sptr get_tx_filter(const std::string &name, const size_t chan)=0
uhd::rfnoc::detail::filter_node::sptr
std::shared_ptr< filter_node > sptr
Definition filter_node.hpp:22
filters.hpp
uhd::rfnoc::detail
Definition graph.hpp:16
uhd::rfnoc
Definition actions.hpp:24
uhd
Definition build_info.hpp:12