From 5039f381454bc0afc4f676085afa998c438e02e7 Mon Sep 17 00:00:00 2001
From: Josh Morman <mormjb@gmail.com>
Date: Thu, 23 Apr 2020 08:12:30 -0400
Subject: digital: add pybind11 bindings

---
 .../digital/bindings/header_buffer_python.cc       | 115 +++++++++++++++++++++
 1 file changed, 115 insertions(+)
 create mode 100644 gr-digital/python/digital/bindings/header_buffer_python.cc

(limited to 'gr-digital/python/digital/bindings/header_buffer_python.cc')

diff --git a/gr-digital/python/digital/bindings/header_buffer_python.cc b/gr-digital/python/digital/bindings/header_buffer_python.cc
new file mode 100644
index 0000000000..4079277d62
--- /dev/null
+++ b/gr-digital/python/digital/bindings/header_buffer_python.cc
@@ -0,0 +1,115 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/digital/header_buffer.h>
+// pydoc.h is automatically generated in the build directory
+#include <header_buffer_pydoc.h>
+
+void bind_header_buffer(py::module& m)
+{
+
+    using header_buffer = ::gr::digital::header_buffer;
+
+
+    py::class_<header_buffer, std::shared_ptr<header_buffer>>(
+        m, "header_buffer", D(header_buffer))
+
+        .def(py::init<uint8_t*>(),
+             py::arg("buffer") = __null,
+             D(header_buffer, header_buffer, 0))
+        .def(py::init<gr::digital::header_buffer const&>(),
+             py::arg("arg0"),
+             D(header_buffer, header_buffer, 1))
+
+
+        .def("clear", &header_buffer::clear, D(header_buffer, clear))
+
+
+        .def("header", &header_buffer::header, D(header_buffer, header))
+
+
+        .def("add_field8",
+             &header_buffer::add_field8,
+             py::arg("data"),
+             py::arg("len") = 8,
+             py::arg("bs") = false,
+             D(header_buffer, add_field8))
+
+
+        .def("add_field16",
+             &header_buffer::add_field16,
+             py::arg("data"),
+             py::arg("len") = 16,
+             py::arg("bs") = false,
+             D(header_buffer, add_field16))
+
+
+        .def("add_field32",
+             &header_buffer::add_field32,
+             py::arg("data"),
+             py::arg("len") = 32,
+             py::arg("bs") = false,
+             D(header_buffer, add_field32))
+
+
+        .def("add_field64",
+             &header_buffer::add_field64,
+             py::arg("data"),
+             py::arg("len") = 64,
+             py::arg("bs") = false,
+             D(header_buffer, add_field64))
+
+
+        .def("insert_bit",
+             &header_buffer::insert_bit,
+             py::arg("bit"),
+             D(header_buffer, insert_bit))
+
+
+        .def("extract_field8",
+             &header_buffer::extract_field8,
+             py::arg("pos"),
+             py::arg("len") = 8,
+             py::arg("bs") = false,
+             D(header_buffer, extract_field8))
+
+
+        .def("extract_field16",
+             &header_buffer::extract_field16,
+             py::arg("pos"),
+             py::arg("len") = 16,
+             py::arg("bs") = false,
+             D(header_buffer, extract_field16))
+
+
+        .def("extract_field32",
+             &header_buffer::extract_field32,
+             py::arg("pos"),
+             py::arg("len") = 32,
+             py::arg("bs") = false,
+             D(header_buffer, extract_field32))
+
+
+        .def("extract_field64",
+             &header_buffer::extract_field64,
+             py::arg("pos"),
+             py::arg("len") = 64,
+             py::arg("bs") = false,
+             D(header_buffer, extract_field64))
+
+        ;
+}
-- 
cgit v1.2.3