/*
 * 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_decrypt.h>
// pydoc.h is automatically generated in the build directory
#include <srs3_decrypt_pydoc.h>

void bind_srs3_decrypt(py::module& m)
{
    using srs3_decrypt = ::gr::satlab::srs3_decrypt;

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

        .def(py::init(&srs3_decrypt::make),
            py::arg("key"),
            py::arg("decrypt"),
            py::arg("auth"),
            D(srs3_decrypt, make)
        )

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

        .def("set_decrypt",
            &srs3_decrypt::set_decrypt,
            py::arg("decrypt"),
            D(srs3_decrypt, set_decrypt)
        )

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