1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
extern crate libc;
use self::libc::{c_void, c_char};
use errors::ErrorCode;
extern crate time;
extern crate log;
use errors::ToErrorCode;
use cl::logger::{EnabledCB, LogCB, FlushCB, IndyCryptoLogger, IndyCryptoDefaultLogger};
use ffi::ctypes::CTypesUtils;
#[no_mangle]
pub extern fn indy_crypto_set_logger(context: *const c_void,
enabled: Option<EnabledCB>,
log: Option<LogCB>,
flush: Option<FlushCB>) -> ErrorCode {
trace!("indy_crypto_set_logger >>> context: {:?}, enabled: {:?}, log: {:?}, flush: {:?}", context, log, enabled, flush);
check_useful_c_callback!(log, ErrorCode::CommonInvalidParam3);
let res = match IndyCryptoLogger::init(context, enabled, log, flush) {
Ok(()) => ErrorCode::Success,
Err(err) => err.to_error_code()
};
trace!("indy_crypto_set_logger: <<< res: {:?}", res);
res
}
#[no_mangle]
pub extern fn indy_crypto_set_default_logger(pattern: *const c_char) -> ErrorCode {
trace!("indy_crypto_set_default_logger >>> pattern: {:?}", pattern);
check_useful_opt_c_str!(pattern, ErrorCode::CommonInvalidParam1);
trace!("indy_crypto_set_default_logger: entities >>> pattern: {:?}", pattern);
let res = match IndyCryptoDefaultLogger::init(pattern) {
Ok(()) => ErrorCode::Success,
Err(err) => err.to_error_code()
};
trace!("indy_crypto_set_default_logger: <<< res: {:?}", res);
res
}