#![allow(unused)]
use std::ffi::CString;
use zenrc_dds::{dds_log, dds_set_log_mask};
pub mod mask {
pub use zenrc_dds::DDS_LC_ALL as ALL;
pub use zenrc_dds::DDS_LC_CONFIG as CONFIG;
pub use zenrc_dds::DDS_LC_DATA as DATA;
pub use zenrc_dds::DDS_LC_DISCOVERY as DISCOVERY;
pub use zenrc_dds::DDS_LC_ERROR as ERROR;
pub use zenrc_dds::DDS_LC_FATAL as FATAL;
pub use zenrc_dds::DDS_LC_INFO as INFO;
pub use zenrc_dds::DDS_LC_TIMING as TIMING;
pub use zenrc_dds::DDS_LC_TRACE as TRACE;
pub use zenrc_dds::DDS_LC_TRAFFIC as TRAFFIC;
pub use zenrc_dds::DDS_LC_WARNING as WARNING;
pub const DEFAULT: u32 = FATAL | ERROR | WARNING;
}
pub fn set_log_mask(cats: u32) {
unsafe { dds_set_log_mask(cats) };
}
pub fn write(cat: u32, msg: &str) {
let Ok(cmsg) = CString::new(msg) else { return };
unsafe {
dds_log(
cat,
c"<rust>".as_ptr(),
0,
c"<rust>".as_ptr(),
c"%s\n".as_ptr(),
cmsg.as_ptr(),
);
}
}
pub fn init() {
set_log_mask(mask::DEFAULT);
}