use core::ptr::NonNull;
use objc2_core_foundation::*;
use crate::*;
pub const kCMMetadataIdentifierError_AllocationFailed: OSStatus = -16300;
pub const kCMMetadataIdentifierError_RequiredParameterMissing: OSStatus = -16301;
pub const kCMMetadataIdentifierError_BadKey: OSStatus = -16302;
pub const kCMMetadataIdentifierError_BadKeyLength: OSStatus = -16303;
pub const kCMMetadataIdentifierError_BadKeyType: OSStatus = -16304;
pub const kCMMetadataIdentifierError_BadNumberKey: OSStatus = -16305;
pub const kCMMetadataIdentifierError_BadKeySpace: OSStatus = -16306;
pub const kCMMetadataIdentifierError_BadIdentifier: OSStatus = -16307;
pub const kCMMetadataIdentifierError_NoKeyValueAvailable: OSStatus = -16308;
pub const kCMMetadataDataTypeRegistryError_AllocationFailed: OSStatus = -16310;
pub const kCMMetadataDataTypeRegistryError_RequiredParameterMissing: OSStatus = -16311;
pub const kCMMetadataDataTypeRegistryError_BadDataTypeIdentifier: OSStatus = -16312;
pub const kCMMetadataDataTypeRegistryError_DataTypeAlreadyRegistered: OSStatus = -16313;
pub const kCMMetadataDataTypeRegistryError_RequiresConformingBaseType: OSStatus = -16314;
pub const kCMMetadataDataTypeRegistryError_MultipleConformingBaseTypes: OSStatus = -16315;
extern "C" {
pub static kCMMetadataKeySpace_QuickTimeUserData: &'static CFString;
}
extern "C" {
pub static kCMMetadataKeySpace_ISOUserData: &'static CFString;
}
extern "C" {
pub static kCMMetadataKeySpace_QuickTimeMetadata: &'static CFString;
}
extern "C" {
pub static kCMMetadataKeySpace_iTunes: &'static CFString;
}
extern "C" {
pub static kCMMetadataKeySpace_ID3: &'static CFString;
}
extern "C" {
pub static kCMMetadataKeySpace_Icy: &'static CFString;
}
extern "C" {
pub static kCMMetadataKeySpace_HLSDateRange: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataLocation_ISO6709: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataDirection_Facing: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataPreferredAffineTransform: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataVideoOrientation: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataLivePhotoStillImageTransform:
&'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataLivePhotoStillImageTransformReferenceDimensions:
&'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataSegmentIdentifier: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataSceneIlluminance: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataSpatialAudioMix: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataDisplayMaskRectangleMono: &'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataDisplayMaskRectangleStereoLeft:
&'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataDisplayMaskRectangleStereoRight:
&'static CFString;
}
extern "C" {
pub static kCMMetadataIdentifier_QuickTimeMetadataPresentationImmersiveMedia: &'static CFString;
}
extern "C-unwind" {
pub fn CMMetadataCreateIdentifierForKeyAndKeySpace(
allocator: Option<&CFAllocator>,
key: &CFType,
key_space: &CFString,
identifier_out: NonNull<*const CFString>,
) -> OSStatus;
}
extern "C-unwind" {
pub fn CMMetadataCreateKeyFromIdentifier(
allocator: Option<&CFAllocator>,
identifier: &CFString,
key_out: NonNull<*const CFType>,
) -> OSStatus;
}
extern "C-unwind" {
pub fn CMMetadataCreateKeyFromIdentifierAsCFData(
allocator: Option<&CFAllocator>,
identifier: &CFString,
key_out: NonNull<*const CFData>,
) -> OSStatus;
}
extern "C-unwind" {
pub fn CMMetadataCreateKeySpaceFromIdentifier(
allocator: Option<&CFAllocator>,
identifier: &CFString,
key_space_out: NonNull<*const CFString>,
) -> OSStatus;
}
extern "C" {
pub static kCMMetadataBaseDataType_RawData: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_UTF8: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_UTF16: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_GIF: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_JPEG: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_PNG: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_BMP: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_Float32: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_Float64: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_SInt8: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_SInt16: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_SInt32: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_SInt64: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_UInt8: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_UInt16: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_UInt32: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_UInt64: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_PointF32: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_DimensionsF32: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_RectF32: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_AffineTransformF64: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_PolygonF32: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_PolylineF32: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_JSON: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_PerspectiveTransformF64: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_RasterRectangleValue: &'static CFString;
}
extern "C" {
pub static kCMMetadataBaseDataType_ExtendedRasterRectangleValue: &'static CFString;
}
extern "C" {
pub static kCMMetadataDataType_QuickTimeMetadataLocation_ISO6709: &'static CFString;
}
extern "C" {
pub static kCMMetadataDataType_QuickTimeMetadataDirection: &'static CFString;
}
extern "C" {
pub static kCMMetadataDataType_QuickTimeMetadataUUID: &'static CFString;
}
extern "C" {
pub static kCMMetadataDataType_QuickTimeMetadataMilliLux: &'static CFString;
}
extern "C-unwind" {
pub fn CMMetadataDataTypeRegistryRegisterDataType(
data_type: &CFString,
description: &CFString,
conforming_data_types: &CFArray,
) -> OSStatus;
}
#[inline]
pub unsafe extern "C-unwind" fn CMMetadataDataTypeRegistryDataTypeIsRegistered(
data_type: &CFString,
) -> bool {
extern "C-unwind" {
fn CMMetadataDataTypeRegistryDataTypeIsRegistered(data_type: &CFString) -> Boolean;
}
let ret = unsafe { CMMetadataDataTypeRegistryDataTypeIsRegistered(data_type) };
ret != 0
}
#[inline]
pub unsafe extern "C-unwind" fn CMMetadataDataTypeRegistryGetDataTypeDescription(
data_type: &CFString,
) -> CFRetained<CFString> {
extern "C-unwind" {
fn CMMetadataDataTypeRegistryGetDataTypeDescription(
data_type: &CFString,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CMMetadataDataTypeRegistryGetDataTypeDescription(data_type) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}
#[inline]
pub unsafe extern "C-unwind" fn CMMetadataDataTypeRegistryGetConformingDataTypes(
data_type: &CFString,
) -> CFRetained<CFArray> {
extern "C-unwind" {
fn CMMetadataDataTypeRegistryGetConformingDataTypes(
data_type: &CFString,
) -> Option<NonNull<CFArray>>;
}
let ret = unsafe { CMMetadataDataTypeRegistryGetConformingDataTypes(data_type) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}
#[inline]
pub unsafe extern "C-unwind" fn CMMetadataDataTypeRegistryDataTypeConformsToDataType(
data_type: &CFString,
conforms_to_data_type: &CFString,
) -> bool {
extern "C-unwind" {
fn CMMetadataDataTypeRegistryDataTypeConformsToDataType(
data_type: &CFString,
conforms_to_data_type: &CFString,
) -> Boolean;
}
let ret = unsafe {
CMMetadataDataTypeRegistryDataTypeConformsToDataType(data_type, conforms_to_data_type)
};
ret != 0
}
#[inline]
pub unsafe extern "C-unwind" fn CMMetadataDataTypeRegistryGetBaseDataTypes(
) -> Option<CFRetained<CFArray>> {
extern "C-unwind" {
fn CMMetadataDataTypeRegistryGetBaseDataTypes() -> Option<NonNull<CFArray>>;
}
let ret = unsafe { CMMetadataDataTypeRegistryGetBaseDataTypes() };
ret.map(|ret| unsafe { CFRetained::retain(ret) })
}
#[inline]
pub unsafe extern "C-unwind" fn CMMetadataDataTypeRegistryDataTypeIsBaseDataType(
data_type: &CFString,
) -> bool {
extern "C-unwind" {
fn CMMetadataDataTypeRegistryDataTypeIsBaseDataType(data_type: &CFString) -> Boolean;
}
let ret = unsafe { CMMetadataDataTypeRegistryDataTypeIsBaseDataType(data_type) };
ret != 0
}
#[inline]
pub unsafe extern "C-unwind" fn CMMetadataDataTypeRegistryGetBaseDataTypeForConformingDataType(
data_type: &CFString,
) -> CFRetained<CFString> {
extern "C-unwind" {
fn CMMetadataDataTypeRegistryGetBaseDataTypeForConformingDataType(
data_type: &CFString,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CMMetadataDataTypeRegistryGetBaseDataTypeForConformingDataType(data_type) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}