GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
pdu_split.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2021 NTESS LLC.
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_PDU_PDU_SPLIT_H
12 #define INCLUDED_PDU_PDU_SPLIT_H
13 
14 #include <gnuradio/block.h>
15 #include <gnuradio/pdu/api.h>
16 
17 namespace gr {
18 namespace pdu {
19 
20 /*!
21  * \brief Split PDU dict and data to separate ports
22  * \ingroup debug_tools_blk
23  * \ingroup pdu_blk
24  *
25  * Splits a PDU into its metadata dictionary and vector,
26  * outputs nothing if the input message is not a PDU. Useful for stripping metadata out
27  * for printing or saving.
28  *
29  */
30 class PDU_API pdu_split : virtual public gr::block
31 {
32 public:
33  typedef std::shared_ptr<pdu_split> sptr;
34 
35  /*!
36  * \brief Return a shared_ptr to a new instance of pdu::pdu_split.
37  *
38  * @param pass_empty_data - true to pass PDU vectors that are length 0
39  */
40  static sptr make(bool pass_empty_data = false);
41 };
42 
43 } // namespace pdu
44 } // namespace gr
45 
46 #endif /* INCLUDED_PDU_PDU_SPLIT_H */
The abstract base class for all 'terminal' processing blocks.
Definition: gnuradio-runtime/include/gnuradio/block.h:63
Split PDU dict and data to separate ports.
Definition: pdu_split.h:31
std::shared_ptr< pdu_split > sptr
Definition: pdu_split.h:33
static sptr make(bool pass_empty_data=false)
Return a shared_ptr to a new instance of pdu::pdu_split.
#define PDU_API
Definition: gr-pdu/include/gnuradio/pdu/api.h:18
GR_RUNTIME_API const pmt::pmt_t pdu()
GNU Radio logging wrapper.
Definition: basic_block.h:29