// // Copyright 2016 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // #ifndef INCLUDED_LIBUHD_RFNOC_GRAPH_IMPL_HPP #define INCLUDED_LIBUHD_RFNOC_GRAPH_IMPL_HPP #include #include namespace uhd { namespace rfnoc { class graph_impl : public graph { public: /*! * \param name An optional name to describe this graph * \param device_ptr Weak pointer to the originating device3 * \param msg_handler Pointer to the async message handler */ graph_impl( const std::string &name, boost::weak_ptr device_ptr //async_msg_handler::sptr msg_handler ); virtual ~graph_impl() {}; /************************************************************************ * Connection API ***********************************************************************/ void connect( const block_id_t &src_block, size_t src_block_port, const block_id_t &dst_block, size_t dst_block_port, const size_t pkt_size = 0 ); void connect( const block_id_t &src_block, const block_id_t &dst_block ); /************************************************************************ * Utilities ***********************************************************************/ std::string get_name() const { return _name; } private: //! Optional: A string to describe this graph const std::string _name; //! Reference to the generating device object const boost::weak_ptr _device_ptr; }; }} /* namespace uhd::rfnoc */ #endif /* INCLUDED_LIBUHD_RFNOC_GRAPH_IMPL_HPP */ // vim: sw=4 et: