/*
 * Copyright 2021 Free Software Foundation, Inc.
 *
 * This file is part of GNU Radio
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
 *
 */

#include <pybind11/complex.h>
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>

namespace py = pybind11;

#include <gnuradio/satlab/srs3_encrypt.h>
// pydoc.h is automatically generated in the build directory
#include <srs3_encrypt_pydoc.h>

void bind_srs3_encrypt(py::module& m)
{
    using srs3_encrypt = ::gr::satlab::srs3_encrypt;

    py::class_<srs3_encrypt,
               gr::block,
               gr::basic_block,
               std::shared_ptr<srs3_encrypt>>(m, "srs3_encrypt", D(srs3_encrypt))

        .def(py::init(&srs3_encrypt::make),
           py::arg("key"),
           py::arg("encrypt"),
           py::arg("auth"),
           D(srs3_encrypt, make)
        )

        .def("set_key",
            &srs3_encrypt::set_key,
            py::arg("key"),
            D(srs3_encrypt, set_key)
        )

        .def("set_encrypt",
            &srs3_encrypt::set_encrypt,
            py::arg("encrypt"),
            D(srs3_encrypt, set_encrypt)
        )

        .def("set_auth",
            &srs3_encrypt::set_auth,
            py::arg("auth"),
            D(srs3_encrypt, set_auth)
        );
}
