1use std::ffi::CStr;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq)]
5pub enum LogLevel {
6 Error,
8 Warning,
10 Info,
12 Debug,
14}
15
16impl Default for LogLevel {
17 fn default() -> Self {
18 LogLevel::Info
19 }
20}
21
22impl LogLevel {
23 pub fn set(self) {
25 let level = CStr::from_bytes_with_nul(match self {
26 LogLevel::Error => b"error\0",
27 LogLevel::Warning => b"warning\0",
28 LogLevel::Info => b"info\0",
29 LogLevel::Debug => b"debug\0",
30 })
31 .unwrap();
32
33 unsafe {
34 coco_sys::coco_set_log_level(level.as_ptr());
35 }
36 }
37}