GNU Radio Manual and C++ API Reference 3.10.5.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
17namespace gr {
18namespace 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 */
30class PDU_API pdu_split : virtual public gr::block
31{
32public:
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