Function libpulse_binding::util::unwrap_optional_callback [] [src]

pub fn unwrap_optional_callback<T>(
    cb: Option<(T, *mut c_void)>
) -> (Option<T>, *mut c_void)

Unwraps optional callback function + data pointer tuple, wrapping the function pointer in an option wrapper. Used internally in passing such parameters to an underlying C function.

Example:

Be careful when using this code, it's not being tested!
fn foo(cb: Option<(SuccessCb, *mut c_void)>) {
    let (cb_f, cb_d) = ::util::unwrap_optional_callback::<SuccessCb>(cb);
    //do something, i.e. passing cb_f and cb_d to C function
}