Source code
Revision control
Copy as Markdown
Other Tools
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;
use crate::*;
/// [Apple's documentation](https://developer.apple.com/documentation/corefoundation/cfpropertylistmutabilityoptions?language=objc)
// NS_OPTIONS
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CFPropertyListMutabilityOptions(pub CFOptionFlags);
bitflags::bitflags! {
impl CFPropertyListMutabilityOptions: CFOptionFlags {
#[doc(alias = "kCFPropertyListImmutable")]
const Immutable = 0;
#[doc(alias = "kCFPropertyListMutableContainers")]
const MutableContainers = 1<<0;
#[doc(alias = "kCFPropertyListMutableContainersAndLeaves")]
const MutableContainersAndLeaves = 1<<1;
}
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CFPropertyListMutabilityOptions {
const ENCODING: Encoding = CFOptionFlags::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CFPropertyListMutabilityOptions {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
/// # Safety
///
/// - `allocator` might not allow `None`.
/// - `xml_data` might not allow `None`.
/// - `error_string` must be a valid pointer.
#[cfg(feature = "CFData")]
#[deprecated = "Use CFPropertyListCreateWithData instead."]
#[inline]
pub unsafe extern "C-unwind" fn CFPropertyListCreateFromXMLData(
allocator: Option<&CFAllocator>,
xml_data: Option<&CFData>,
mutability_option: CFOptionFlags,
error_string: *mut *const CFString,
) -> Option<CFRetained<CFPropertyList>> {
extern "C-unwind" {
fn CFPropertyListCreateFromXMLData(
allocator: Option<&CFAllocator>,
xml_data: Option<&CFData>,
mutability_option: CFOptionFlags,
error_string: *mut *const CFString,
) -> Option<NonNull<CFPropertyList>>;
}
let ret = unsafe {
CFPropertyListCreateFromXMLData(allocator, xml_data, mutability_option, error_string)
};
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
/// # Safety
///
/// - `allocator` might not allow `None`.
/// - `property_list` should be of the correct type.
/// - `property_list` might not allow `None`.
#[cfg(feature = "CFData")]
#[deprecated = "Use CFPropertyListCreateData instead."]
#[inline]
pub unsafe extern "C-unwind" fn CFPropertyListCreateXMLData(
allocator: Option<&CFAllocator>,
property_list: Option<&CFPropertyList>,
) -> Option<CFRetained<CFData>> {
extern "C-unwind" {
fn CFPropertyListCreateXMLData(
allocator: Option<&CFAllocator>,
property_list: Option<&CFPropertyList>,
) -> Option<NonNull<CFData>>;
}
let ret = unsafe { CFPropertyListCreateXMLData(allocator, property_list) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
/// # Safety
///
/// - `allocator` might not allow `None`.
/// - `property_list` should be of the correct type.
/// - `property_list` might not allow `None`.
#[inline]
pub unsafe extern "C-unwind" fn CFPropertyListCreateDeepCopy(
allocator: Option<&CFAllocator>,
property_list: Option<&CFPropertyList>,
mutability_option: CFOptionFlags,
) -> Option<CFRetained<CFPropertyList>> {
extern "C-unwind" {
fn CFPropertyListCreateDeepCopy(
allocator: Option<&CFAllocator>,
property_list: Option<&CFPropertyList>,
mutability_option: CFOptionFlags,
) -> Option<NonNull<CFPropertyList>>;
}
let ret = unsafe { CFPropertyListCreateDeepCopy(allocator, property_list, mutability_option) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
/// [Apple's documentation](https://developer.apple.com/documentation/corefoundation/cfpropertylistformat?language=objc)
// NS_ENUM
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CFPropertyListFormat(pub CFIndex);
impl CFPropertyListFormat {
#[doc(alias = "kCFPropertyListOpenStepFormat")]
pub const OpenStepFormat: Self = Self(1);
#[doc(alias = "kCFPropertyListXMLFormat_v1_0")]
pub const XMLFormat_v1_0: Self = Self(100);
#[doc(alias = "kCFPropertyListBinaryFormat_v1_0")]
pub const BinaryFormat_v1_0: Self = Self(200);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CFPropertyListFormat {
const ENCODING: Encoding = CFIndex::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CFPropertyListFormat {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
/// # Safety
///
/// `plist` should be of the correct type.
#[inline]
pub unsafe extern "C-unwind" fn CFPropertyListIsValid(
plist: &CFPropertyList,
format: CFPropertyListFormat,
) -> bool {
extern "C-unwind" {
fn CFPropertyListIsValid(plist: &CFPropertyList, format: CFPropertyListFormat) -> Boolean;
}
let ret = unsafe { CFPropertyListIsValid(plist, format) };
ret != 0
}
extern "C-unwind" {
/// # Safety
///
/// - `property_list` should be of the correct type.
/// - `stream` might not allow `None`.
/// - `error_string` must be a valid pointer.
#[cfg(feature = "CFStream")]
#[deprecated = "Use CFPropertyListWrite instead."]
pub fn CFPropertyListWriteToStream(
property_list: &CFPropertyList,
stream: Option<&CFWriteStream>,
format: CFPropertyListFormat,
error_string: *mut *const CFString,
) -> CFIndex;
}
/// # Safety
///
/// - `allocator` might not allow `None`.
/// - `stream` might not allow `None`.
/// - `format` must be a valid pointer.
/// - `error_string` must be a valid pointer.
#[cfg(feature = "CFStream")]
#[deprecated = "Use CFPropertyListCreateWithStream instead."]
#[inline]
pub unsafe extern "C-unwind" fn CFPropertyListCreateFromStream(
allocator: Option<&CFAllocator>,
stream: Option<&CFReadStream>,
stream_length: CFIndex,
mutability_option: CFOptionFlags,
format: *mut CFPropertyListFormat,
error_string: *mut *const CFString,
) -> Option<CFRetained<CFPropertyList>> {
extern "C-unwind" {
fn CFPropertyListCreateFromStream(
allocator: Option<&CFAllocator>,
stream: Option<&CFReadStream>,
stream_length: CFIndex,
mutability_option: CFOptionFlags,
format: *mut CFPropertyListFormat,
error_string: *mut *const CFString,
) -> Option<NonNull<CFPropertyList>>;
}
let ret = unsafe {
CFPropertyListCreateFromStream(
allocator,
stream,
stream_length,
mutability_option,
format,
error_string,
)
};
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
/// [Apple's documentation](https://developer.apple.com/documentation/corefoundation/kcfpropertylistreadcorrupterror?language=objc)
pub const kCFPropertyListReadCorruptError: CFIndex = 3840;
/// [Apple's documentation](https://developer.apple.com/documentation/corefoundation/kcfpropertylistreadunknownversionerror?language=objc)
pub const kCFPropertyListReadUnknownVersionError: CFIndex = 3841;
/// [Apple's documentation](https://developer.apple.com/documentation/corefoundation/kcfpropertylistreadstreamerror?language=objc)
pub const kCFPropertyListReadStreamError: CFIndex = 3842;
/// [Apple's documentation](https://developer.apple.com/documentation/corefoundation/kcfpropertylistwritestreamerror?language=objc)
pub const kCFPropertyListWriteStreamError: CFIndex = 3851;
/// # Safety
///
/// - `allocator` might not allow `None`.
/// - `data` might not allow `None`.
/// - `format` must be a valid pointer.
/// - `error` must be a valid pointer.
#[cfg(all(feature = "CFData", feature = "CFError"))]
#[inline]
pub unsafe extern "C-unwind" fn CFPropertyListCreateWithData(
allocator: Option<&CFAllocator>,
data: Option<&CFData>,
options: CFOptionFlags,
format: *mut CFPropertyListFormat,
error: *mut *mut CFError,
) -> Option<CFRetained<CFPropertyList>> {
extern "C-unwind" {
fn CFPropertyListCreateWithData(
allocator: Option<&CFAllocator>,
data: Option<&CFData>,
options: CFOptionFlags,
format: *mut CFPropertyListFormat,
error: *mut *mut CFError,
) -> Option<NonNull<CFPropertyList>>;
}
let ret = unsafe { CFPropertyListCreateWithData(allocator, data, options, format, error) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
/// # Safety
///
/// - `allocator` might not allow `None`.
/// - `stream` might not allow `None`.
/// - `format` must be a valid pointer.
/// - `error` must be a valid pointer.
#[cfg(all(feature = "CFError", feature = "CFStream"))]
#[inline]
pub unsafe extern "C-unwind" fn CFPropertyListCreateWithStream(
allocator: Option<&CFAllocator>,
stream: Option<&CFReadStream>,
stream_length: CFIndex,
options: CFOptionFlags,
format: *mut CFPropertyListFormat,
error: *mut *mut CFError,
) -> Option<CFRetained<CFPropertyList>> {
extern "C-unwind" {
fn CFPropertyListCreateWithStream(
allocator: Option<&CFAllocator>,
stream: Option<&CFReadStream>,
stream_length: CFIndex,
options: CFOptionFlags,
format: *mut CFPropertyListFormat,
error: *mut *mut CFError,
) -> Option<NonNull<CFPropertyList>>;
}
let ret = unsafe {
CFPropertyListCreateWithStream(allocator, stream, stream_length, options, format, error)
};
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
extern "C-unwind" {
/// # Safety
///
/// - `property_list` should be of the correct type.
/// - `stream` might not allow `None`.
/// - `error` must be a valid pointer.
#[cfg(all(feature = "CFError", feature = "CFStream"))]
pub fn CFPropertyListWrite(
property_list: &CFPropertyList,
stream: Option<&CFWriteStream>,
format: CFPropertyListFormat,
options: CFOptionFlags,
error: *mut *mut CFError,
) -> CFIndex;
}
/// # Safety
///
/// - `allocator` might not allow `None`.
/// - `property_list` should be of the correct type.
/// - `property_list` might not allow `None`.
/// - `error` must be a valid pointer.
#[cfg(all(feature = "CFData", feature = "CFError"))]
#[inline]
pub unsafe extern "C-unwind" fn CFPropertyListCreateData(
allocator: Option<&CFAllocator>,
property_list: Option<&CFPropertyList>,
format: CFPropertyListFormat,
options: CFOptionFlags,
error: *mut *mut CFError,
) -> Option<CFRetained<CFData>> {
extern "C-unwind" {
fn CFPropertyListCreateData(
allocator: Option<&CFAllocator>,
property_list: Option<&CFPropertyList>,
format: CFPropertyListFormat,
options: CFOptionFlags,
error: *mut *mut CFError,
) -> Option<NonNull<CFData>>;
}
let ret = unsafe { CFPropertyListCreateData(allocator, property_list, format, options, error) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}