summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/element.cpp15
-rw-r--r--lib/element_impl.hpp5
-rw-r--r--lib/hier_block.cpp1
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)