diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/element.cpp | 15 | ||||
-rw-r--r-- | lib/element_impl.hpp | 5 | ||||
-rw-r--r-- | lib/hier_block.cpp | 1 |
3 files changed, 13 insertions, 8 deletions
diff --git a/lib/element.cpp b/lib/element.cpp index d73d68b..464ad94 100644 --- a/lib/element.cpp +++ b/lib/element.cpp @@ -32,6 +32,11 @@ Element::Element(const std::string &name) this->reset(new ElementImpl()); (*this)->name = name; (*this)->unique_id = ++unique_id_pool; + + //default io signature to something + IOSignature sig; sig.push_back(1); + this->set_input_signature(sig); + this->set_output_signature(sig); } long Element::unique_id(void) const @@ -45,22 +50,22 @@ std::string Element::name(void) const } -void Element::set_output_signature(gr_io_signature_sptr sig) +void Element::set_output_signature(const IOSignature &sig) { - (*this)->output_signature= sig; + (*this)->output_signature = sig; } -void Element::set_input_signature(gr_io_signature_sptr sig) +void Element::set_input_signature(const IOSignature &sig) { (*this)->input_signature = sig; } -gr_io_signature_sptr Element::input_signature(void) const +const IOSignature &Element::input_signature(void) const { return (*this)->input_signature; } -gr_io_signature_sptr Element::output_signature(void) const +const IOSignature &Element::output_signature(void) const { return (*this)->output_signature; } diff --git a/lib/element_impl.hpp b/lib/element_impl.hpp index 6f787c8..6f35b80 100644 --- a/lib/element_impl.hpp +++ b/lib/element_impl.hpp @@ -23,7 +23,6 @@ #include <gnuradio/element.hpp> #include <gnuradio/block.hpp> #include <gr_types.h> -#include <gr_io_signature.h> #include <vector> static const int STATE_INERT = 0; @@ -46,8 +45,8 @@ struct ElementImpl //per port properties std::vector<size_t> input_items_sizes; std::vector<size_t> output_items_sizes; - gr_io_signature_sptr input_signature; - gr_io_signature_sptr output_signature; + IOSignature input_signature; + IOSignature output_signature; std::vector<size_t> input_history_items; std::vector<size_t> output_multiple_items; diff --git a/lib/hier_block.cpp b/lib/hier_block.cpp index c067ab6..3184595 100644 --- a/lib/hier_block.cpp +++ b/lib/hier_block.cpp @@ -47,6 +47,7 @@ void HierBlock::connect( const Element &sink, const size_t sink_index ){ + //TODO, this is the perfect place to validate IO sigs const tsbe::Connection conn( tsbe::Port(src->get_elem(), src_index), tsbe::Port(sink->get_elem(), sink_index) |