use core::ptr::NonNull;
use objc2_core_foundation::*;
use crate::*;
#[inline]
pub unsafe extern "C-unwind" fn MAImageCaptioningCopyCaption(
url: &CFURL,
error: *mut *mut CFError,
) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn MAImageCaptioningCopyCaption(
url: &CFURL,
error: *mut *mut CFError,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { MAImageCaptioningCopyCaption(url, error) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
extern "C-unwind" {
pub fn MAImageCaptioningSetCaption(
url: &CFURL,
string: Option<&CFString>,
error: *mut *mut CFError,
) -> bool;
}
#[inline]
pub unsafe extern "C-unwind" fn MAImageCaptioningCopyMetadataTagPath() -> CFRetained<CFString> {
extern "C-unwind" {
fn MAImageCaptioningCopyMetadataTagPath() -> Option<NonNull<CFString>>;
}
let ret = unsafe { MAImageCaptioningCopyMetadataTagPath() };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}