#pragma once

#include "../../../../include/dv-processing/io/data/IOHeader.hpp"

#include <pybind11/pybind11.h>

namespace py = pybind11;

/**
 * @brief Bind CompressionType class to python
 * @param m pybind The module to bind to
 */
void bind_data_io_header(py::module &m) {
	using pybind11::operator""_a;

	py::enum_<dv::CompressionType> compressionType(m, "CompressionType");
	for (auto enumValue = static_cast<int8_t>(dv::CompressionType::MIN);
		static_cast<dv::CompressionType>(enumValue) <= dv::CompressionType::MAX; enumValue++) {
		auto currentEnum = static_cast<dv::CompressionType>(enumValue);
		compressionType.value(dv::EnumNameCompressionType(currentEnum), currentEnum);
	}
}
