1use {CString, CVoid, Error};
2
3extern {
4
5 #[no_mangle]
6 pub fn indy_set_logger(context: *const CVoid,
7 enabled: Option<EnabledCB>,
8 log: Option<LogCB>,
9 flush: Option<FlushCB>) -> Error;
10
11 #[no_mangle]
12 pub fn indy_set_logger_with_max_lvl(context: *const CVoid,
13 enabled: Option<EnabledCB>,
14 log: Option<LogCB>,
15 flush: Option<FlushCB>,
16 max_lvl: u32)-> Error;
17
18 #[no_mangle]
19 pub fn indy_set_log_max_lvl(max_lvl: u32) -> Error;
20
21 #[no_mangle]
22 pub fn indy_set_default_logger(pattern: CString) -> Error;
23
24 #[no_mangle]
25 pub fn indy_get_logger(context_p: *mut CVoid,
26 enabled_cb_p: *mut Option<EnabledCB>,
27 log_cb_p: *mut Option<LogCB>,
28 flush_cb_p: *mut Option<FlushCB>) -> Error;
29}
30
31pub type EnabledCB = extern fn(context: *const CVoid,
32 level: u32,
33 target: CString) -> bool;
34
35pub type LogCB = extern fn(context: *const CVoid,
36 level: u32,
37 target: CString,
38 message: CString,
39 module_path: CString,
40 file: CString,
41 line: u32);
42
43pub type FlushCB = extern fn(context: *const CVoid);
44