X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=gnuradio-core%2Fsrc%2Flib%2Fruntime%2Fgr_block.cc;h=b8b1bd9c73ac9db1c5449f8e6792039d11337e21;hb=ea29b08aeb54227e6628f655ccfdb96fe4d8c378;hp=8b705a3523ad55f9906ffd899df2f0c44e4f9ad5;hpb=09a1e803a9e6587c78d20cdf16891e5295874668;p=debian%2Fgnuradio diff --git a/gnuradio-core/src/lib/runtime/gr_block.cc b/gnuradio-core/src/lib/runtime/gr_block.cc index 8b705a35..b8b1bd9c 100644 --- a/gnuradio-core/src/lib/runtime/gr_block.cc +++ b/gnuradio-core/src/lib/runtime/gr_block.cc @@ -27,34 +27,21 @@ #include #include #include - -static long s_next_id = 0; -static long s_ncurrently_allocated = 0; - -long -gr_block_ncurrently_allocated () -{ - return s_ncurrently_allocated; -} +#include gr_block::gr_block (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature) - : d_name (name), - d_input_signature (input_signature), - d_output_signature (output_signature), + : gr_basic_block(name, input_signature, output_signature), d_output_multiple (1), d_relative_rate (1.0), - d_unique_id (s_next_id++), d_history(1), d_fixed_rate(false) { - s_ncurrently_allocated++; } gr_block::~gr_block () { - s_ncurrently_allocated--; } // stub implementation: 1:1 @@ -64,17 +51,11 @@ gr_block::forecast (int noutput_items, gr_vector_int &ninput_items_required) { unsigned ninputs = ninput_items_required.size (); for (unsigned i = 0; i < ninputs; i++) - ninput_items_required[i] = noutput_items; + ninput_items_required[i] = noutput_items + history() - 1; } // default implementation -bool -gr_block::check_topology (int ninputs, int noutputs) -{ - return true; -} - bool gr_block::start() { @@ -129,3 +110,11 @@ gr_block::fixed_rate_noutput_to_ninput(int noutput) { throw std::runtime_error("Unimplemented"); } + +std::ostream& +operator << (std::ostream& os, const gr_block *m) +{ + os << "name() << " (" << m->unique_id() << ")>"; + return os; +} +