10 #ifndef INCLUDED_DIGITAL_HEADER_FORMAT_BASE_H
11 #define INCLUDED_DIGITAL_HEADER_FORMAT_BASE_H
111 :
public std::enable_shared_from_this<gr::digital::header_format_base>
114 typedef std::shared_ptr<header_format_base>
sptr;
119 sptr
base() {
return shared_from_this(); };
137 virtual bool format(
int nbytes_in,
138 const unsigned char* input,
162 virtual bool parse(
int nbits_in,
163 const unsigned char* input,
164 std::vector<pmt::pmt_t>& info,
165 int& nbits_processed) = 0;
171 virtual size_t header_nbits()
const = 0;
177 size_t header_nbytes()
const;
180 enum state_t { STATE_SYNC_SEARCH, STATE_HAVE_SYNC };
187 virtual void enter_search();
190 virtual void enter_have_sync();
193 virtual void enter_have_header(
int payload_len);
196 virtual bool header_ok() = 0;
201 virtual int header_payload() = 0;
std::shared_ptr< logger > logger_ptr
Definition: logger.h:250
#define DIGITAL_API
Definition: gr-digital/include/gnuradio/digital/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