pub type IValueProvider = *mut c_void;