use core::cell::UnsafeCell;
use core::marker::{PhantomData, PhantomPinned};
use core::ptr::NonNull;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;
use objc2_core_foundation::*;
use crate::*;
#[doc(alias = "SKSummaryRef")]
#[repr(C)]
pub struct SKSummary {
inner: [u8; 0],
_p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
}
cf_type!(
unsafe impl SKSummary {}
);
#[cfg(feature = "objc2")]
cf_objc2_type!(
unsafe impl RefEncode<"__SKSummary"> for SKSummary {}
);
unsafe impl ConcreteType for SKSummary {
#[doc(alias = "SKSummaryGetTypeID")]
#[inline]
fn type_id() -> CFTypeID {
extern "C-unwind" {
fn SKSummaryGetTypeID() -> CFTypeID;
}
unsafe { SKSummaryGetTypeID() }
}
}
impl SKSummary {
#[doc(alias = "SKSummaryCreateWithString")]
#[inline]
pub unsafe fn with_string(in_string: Option<&CFString>) -> Option<CFRetained<SKSummary>> {
extern "C-unwind" {
fn SKSummaryCreateWithString(
in_string: Option<&CFString>,
) -> Option<NonNull<SKSummary>>;
}
let ret = unsafe { SKSummaryCreateWithString(in_string) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[doc(alias = "SKSummaryGetSentenceCount")]
#[inline]
pub unsafe fn sentence_count(&self) -> CFIndex {
extern "C-unwind" {
fn SKSummaryGetSentenceCount(summary: &SKSummary) -> CFIndex;
}
unsafe { SKSummaryGetSentenceCount(self) }
}
#[doc(alias = "SKSummaryGetParagraphCount")]
#[inline]
pub unsafe fn paragraph_count(&self) -> CFIndex {
extern "C-unwind" {
fn SKSummaryGetParagraphCount(summary: &SKSummary) -> CFIndex;
}
unsafe { SKSummaryGetParagraphCount(self) }
}
#[doc(alias = "SKSummaryCopySentenceAtIndex")]
#[inline]
pub unsafe fn sentence_at_index(&self, i: CFIndex) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn SKSummaryCopySentenceAtIndex(
summary: &SKSummary,
i: CFIndex,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { SKSummaryCopySentenceAtIndex(self, i) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[doc(alias = "SKSummaryCopyParagraphAtIndex")]
#[inline]
pub unsafe fn paragraph_at_index(&self, i: CFIndex) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn SKSummaryCopyParagraphAtIndex(
summary: &SKSummary,
i: CFIndex,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { SKSummaryCopyParagraphAtIndex(self, i) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[doc(alias = "SKSummaryCopySentenceSummaryString")]
#[inline]
pub unsafe fn sentence_summary_string(
&self,
num_sentences: CFIndex,
) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn SKSummaryCopySentenceSummaryString(
summary: &SKSummary,
num_sentences: CFIndex,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { SKSummaryCopySentenceSummaryString(self, num_sentences) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[doc(alias = "SKSummaryCopyParagraphSummaryString")]
#[inline]
pub unsafe fn paragraph_summary_string(
&self,
num_paragraphs: CFIndex,
) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn SKSummaryCopyParagraphSummaryString(
summary: &SKSummary,
num_paragraphs: CFIndex,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { SKSummaryCopyParagraphSummaryString(self, num_paragraphs) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[doc(alias = "SKSummaryGetSentenceSummaryInfo")]
#[inline]
pub unsafe fn sentence_summary_info(
&self,
num_sentences_in_summary: CFIndex,
out_rank_order_of_sentences: *mut CFIndex,
out_sentence_index_of_sentences: *mut CFIndex,
out_paragraph_index_of_sentences: *mut CFIndex,
) -> CFIndex {
extern "C-unwind" {
fn SKSummaryGetSentenceSummaryInfo(
summary: &SKSummary,
num_sentences_in_summary: CFIndex,
out_rank_order_of_sentences: *mut CFIndex,
out_sentence_index_of_sentences: *mut CFIndex,
out_paragraph_index_of_sentences: *mut CFIndex,
) -> CFIndex;
}
unsafe {
SKSummaryGetSentenceSummaryInfo(
self,
num_sentences_in_summary,
out_rank_order_of_sentences,
out_sentence_index_of_sentences,
out_paragraph_index_of_sentences,
)
}
}
#[doc(alias = "SKSummaryGetParagraphSummaryInfo")]
#[inline]
pub unsafe fn paragraph_summary_info(
&self,
num_paragraphs_in_summary: CFIndex,
out_rank_order_of_paragraphs: *mut CFIndex,
out_paragraph_index_of_paragraphs: *mut CFIndex,
) -> CFIndex {
extern "C-unwind" {
fn SKSummaryGetParagraphSummaryInfo(
summary: &SKSummary,
num_paragraphs_in_summary: CFIndex,
out_rank_order_of_paragraphs: *mut CFIndex,
out_paragraph_index_of_paragraphs: *mut CFIndex,
) -> CFIndex;
}
unsafe {
SKSummaryGetParagraphSummaryInfo(
self,
num_paragraphs_in_summary,
out_rank_order_of_paragraphs,
out_paragraph_index_of_paragraphs,
)
}
}
}
#[deprecated = "renamed to `SKSummary::with_string`"]
#[inline]
pub unsafe extern "C-unwind" fn SKSummaryCreateWithString(
in_string: Option<&CFString>,
) -> Option<CFRetained<SKSummary>> {
extern "C-unwind" {
fn SKSummaryCreateWithString(in_string: Option<&CFString>) -> Option<NonNull<SKSummary>>;
}
let ret = unsafe { SKSummaryCreateWithString(in_string) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
extern "C-unwind" {
#[deprecated = "renamed to `SKSummary::sentence_count`"]
pub fn SKSummaryGetSentenceCount(summary: &SKSummary) -> CFIndex;
}
extern "C-unwind" {
#[deprecated = "renamed to `SKSummary::paragraph_count`"]
pub fn SKSummaryGetParagraphCount(summary: &SKSummary) -> CFIndex;
}
#[deprecated = "renamed to `SKSummary::sentence_at_index`"]
#[inline]
pub unsafe extern "C-unwind" fn SKSummaryCopySentenceAtIndex(
summary: &SKSummary,
i: CFIndex,
) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn SKSummaryCopySentenceAtIndex(
summary: &SKSummary,
i: CFIndex,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { SKSummaryCopySentenceAtIndex(summary, i) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[deprecated = "renamed to `SKSummary::paragraph_at_index`"]
#[inline]
pub unsafe extern "C-unwind" fn SKSummaryCopyParagraphAtIndex(
summary: &SKSummary,
i: CFIndex,
) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn SKSummaryCopyParagraphAtIndex(
summary: &SKSummary,
i: CFIndex,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { SKSummaryCopyParagraphAtIndex(summary, i) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[deprecated = "renamed to `SKSummary::sentence_summary_string`"]
#[inline]
pub unsafe extern "C-unwind" fn SKSummaryCopySentenceSummaryString(
summary: &SKSummary,
num_sentences: CFIndex,
) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn SKSummaryCopySentenceSummaryString(
summary: &SKSummary,
num_sentences: CFIndex,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { SKSummaryCopySentenceSummaryString(summary, num_sentences) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[deprecated = "renamed to `SKSummary::paragraph_summary_string`"]
#[inline]
pub unsafe extern "C-unwind" fn SKSummaryCopyParagraphSummaryString(
summary: &SKSummary,
num_paragraphs: CFIndex,
) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn SKSummaryCopyParagraphSummaryString(
summary: &SKSummary,
num_paragraphs: CFIndex,
) -> Option<NonNull<CFString>>;
}
let ret = unsafe { SKSummaryCopyParagraphSummaryString(summary, num_paragraphs) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
extern "C-unwind" {
#[deprecated = "renamed to `SKSummary::sentence_summary_info`"]
pub fn SKSummaryGetSentenceSummaryInfo(
summary: &SKSummary,
num_sentences_in_summary: CFIndex,
out_rank_order_of_sentences: *mut CFIndex,
out_sentence_index_of_sentences: *mut CFIndex,
out_paragraph_index_of_sentences: *mut CFIndex,
) -> CFIndex;
}
extern "C-unwind" {
#[deprecated = "renamed to `SKSummary::paragraph_summary_info`"]
pub fn SKSummaryGetParagraphSummaryInfo(
summary: &SKSummary,
num_paragraphs_in_summary: CFIndex,
out_rank_order_of_paragraphs: *mut CFIndex,
out_paragraph_index_of_paragraphs: *mut CFIndex,
) -> CFIndex;
}