diff options
author | Tom Rondeau <trondeau@vt.edu> | 2012-07-05 22:01:45 -0400 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2012-07-05 22:01:45 -0400 |
commit | 9aabbe0601919c9fecd46e4e418e5c94183fca45 (patch) | |
tree | 6a0a096e0288ac2744829005af3672ba8365ba8c /gnuradio-core/src/lib | |
parent | efa0fc2b4071949939db75454f2464174f701445 (diff) |
core: adding ability to change and reset skiphead parameters.
Diffstat (limited to 'gnuradio-core/src/lib')
-rw-r--r-- | gnuradio-core/src/lib/general/gr_skiphead.cc | 25 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_skiphead.h | 20 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_skiphead.i | 13 |
3 files changed, 54 insertions, 4 deletions
diff --git a/gnuradio-core/src/lib/general/gr_skiphead.cc b/gnuradio-core/src/lib/general/gr_skiphead.cc index c887376e45..e9dad8fab8 100644 --- a/gnuradio-core/src/lib/general/gr_skiphead.cc +++ b/gnuradio-core/src/lib/general/gr_skiphead.cc @@ -41,6 +41,31 @@ gr_make_skiphead (size_t itemsize, uint64_t nitems_to_skip) return gnuradio::get_initial_sptr(new gr_skiphead (itemsize, nitems_to_skip)); } +void +gr_skiphead::set_nitems_to_skip(uint64_t nitems_to_skip) +{ + d_nitems_to_skip = nitems_to_skip; + reset(); +} + +uint64_t +gr_skiphead::nitems_to_skip() const +{ + return d_nitems_to_skip; +} + +uint64_t +gr_skiphead::nitems_skiped() const +{ + return d_nitems; +} + +void +gr_skiphead::reset() +{ + d_nitems = 0; +} + int gr_skiphead::general_work(int noutput_items, gr_vector_int &ninput_items_ignored, diff --git a/gnuradio-core/src/lib/general/gr_skiphead.h b/gnuradio-core/src/lib/general/gr_skiphead.h index 899b40f27a..710530ff4c 100644 --- a/gnuradio-core/src/lib/general/gr_skiphead.h +++ b/gnuradio-core/src/lib/general/gr_skiphead.h @@ -51,6 +51,26 @@ class GR_CORE_API gr_skiphead : public gr_block public: + /*! + * \brief Sets number of items to skip; resets current skip count to 0. + */ + void set_nitems_to_skip(uint64_t nitems_to_skip); + + /*! + * \brief Gets the number of items to skip. + */ + uint64_t nitems_to_skip() const; + + /*! + * \brief Gets the number of items already skipped. + */ + uint64_t nitems_skiped() const; + + /*! + * \brief Resets number of items skipped to 0. + */ + void reset(); + int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, diff --git a/gnuradio-core/src/lib/general/gr_skiphead.i b/gnuradio-core/src/lib/general/gr_skiphead.i index 3246db9702..8ab23a77a6 100644 --- a/gnuradio-core/src/lib/general/gr_skiphead.i +++ b/gnuradio-core/src/lib/general/gr_skiphead.i @@ -22,9 +22,14 @@ GR_SWIG_BLOCK_MAGIC(gr,skiphead); -gr_skiphead_sptr gr_make_skiphead (size_t itemsize, uint64_t nitems_to_skip); +gr_skiphead_sptr gr_make_skiphead(size_t itemsize, + uint64_t nitems_to_skip); -class gr_skiphead : public gr_block { - friend gr_skiphead_sptr gr_make_skiphead (size_t itemsize, uint64_t nitems_to_skip); - gr_skiphead (size_t itemsize, uint64_t nitems_to_skip); +class gr_skiphead : public gr_block +{ +public: + void set_nitems_to_skip(uint64_t nitems_to_skip); + uint64_t nitems_to_skip() const; + uint64_t nitems_skiped() const; + void reset(); }; |