GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
annotator_raw.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2010,2013 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_GR_ANNOTATOR_RAW_H
12 #define INCLUDED_GR_ANNOTATOR_RAW_H
13 
14 #include <gnuradio/blocks/api.h>
15 #include <gnuradio/sync_block.h>
16 #include <gnuradio/tags.h>
17 
18 namespace gr {
19 namespace blocks {
20 
21 /*!
22  * \brief raw stream annotator testing block.
23  * \ingroup debug_tools_blk
24  *
25  * \details
26  * This block creates arbitrary tags to be sent downstream gnuradio/blocks
27  * to be sent are set manually via accessor methods and are sent
28  * only once.
29  *
30  * This block is intended for testing of tag related gnuradio/blocks
31  */
32 class BLOCKS_API annotator_raw : virtual public sync_block
33 {
34 public:
35  // gr::blocks::annotator_raw::sptr
36  typedef std::shared_ptr<annotator_raw> sptr;
37 
38  static sptr make(size_t sizeof_stream_item);
39 
40  // insert a tag to be added
41  virtual void add_tag(uint64_t offset, pmt::pmt_t key, pmt::pmt_t val) = 0;
42 };
43 
44 } /* namespace blocks */
45 } /* namespace gr */
46 
47 #endif /* INCLUDED_GR_ANNOTATOR_RAW_H */
raw stream annotator testing block.
Definition: annotator_raw.h:33
std::shared_ptr< annotator_raw > sptr
Definition: annotator_raw.h:36
static sptr make(size_t sizeof_stream_item)
virtual void add_tag(uint64_t offset, pmt::pmt_t key, pmt::pmt_t val)=0
synchronous 1:1 input to output with history
Definition: sync_block.h:26
#define BLOCKS_API
Definition: gr-blocks/include/gnuradio/blocks/api.h:18
GNU Radio logging wrapper.
Definition: basic_block.h:29
std::shared_ptr< pmt_base > pmt_t
typedef for shared pointer (transparent reference counting).
Definition: pmt.h:83