use core::cell::UnsafeCell;
use core::ffi::*;
use core::marker::{PhantomData, PhantomPinned};
use core::ptr::NonNull;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;
use objc2_core_foundation::*;
use crate::*;
#[doc(alias = "CFNetServiceRef")]
#[repr(C)]
pub struct CFNetService {
inner: [u8; 0],
_p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
}
cf_type!(
unsafe impl CFNetService {}
);
#[cfg(feature = "objc2")]
cf_objc2_type!(
unsafe impl RefEncode<"__CFNetService"> for CFNetService {}
);
#[doc(alias = "CFNetServiceMonitorRef")]
#[repr(C)]
pub struct CFNetServiceMonitor {
inner: [u8; 0],
_p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
}
cf_type!(
unsafe impl CFNetServiceMonitor {}
);
#[cfg(feature = "objc2")]
cf_objc2_type!(
unsafe impl RefEncode<"__CFNetServiceMonitor"> for CFNetServiceMonitor {}
);
#[doc(alias = "CFNetServiceBrowserRef")]
#[repr(C)]
pub struct CFNetServiceBrowser {
inner: [u8; 0],
_p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
}
cf_type!(
unsafe impl CFNetServiceBrowser {}
);
#[cfg(feature = "objc2")]
cf_objc2_type!(
unsafe impl RefEncode<"__CFNetServiceBrowser"> for CFNetServiceBrowser {}
);
extern "C" {
pub static kCFStreamErrorDomainMach: i32;
}
extern "C" {
pub static kCFStreamErrorDomainNetServices: i32;
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CFNetServicesError(pub c_int);
impl CFNetServicesError {
#[doc(alias = "kCFNetServicesErrorUnknown")]
pub const Unknown: Self = Self(-72000);
#[doc(alias = "kCFNetServicesErrorCollision")]
pub const Collision: Self = Self(-72001);
#[doc(alias = "kCFNetServicesErrorNotFound")]
pub const NotFound: Self = Self(-72002);
#[doc(alias = "kCFNetServicesErrorInProgress")]
pub const InProgress: Self = Self(-72003);
#[doc(alias = "kCFNetServicesErrorBadArgument")]
pub const BadArgument: Self = Self(-72004);
#[doc(alias = "kCFNetServicesErrorCancel")]
pub const Cancel: Self = Self(-72005);
#[doc(alias = "kCFNetServicesErrorInvalid")]
pub const Invalid: Self = Self(-72006);
#[doc(alias = "kCFNetServicesErrorTimeout")]
pub const Timeout: Self = Self(-72007);
#[doc(alias = "kCFNetServicesErrorMissingRequiredConfiguration")]
pub const MissingRequiredConfiguration: Self = Self(-72008);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CFNetServicesError {
const ENCODING: Encoding = c_int::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CFNetServicesError {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CFNetServiceMonitorType(pub c_int);
impl CFNetServiceMonitorType {
#[doc(alias = "kCFNetServiceMonitorTXT")]
pub const TXT: Self = Self(1);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CFNetServiceMonitorType {
const ENCODING: Encoding = c_int::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CFNetServiceMonitorType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CFNetServiceRegisterFlags(pub CFOptionFlags);
bitflags::bitflags! {
impl CFNetServiceRegisterFlags: CFOptionFlags {
#[doc(alias = "kCFNetServiceFlagNoAutoRename")]
const FlagNoAutoRename = 1;
}
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CFNetServiceRegisterFlags {
const ENCODING: Encoding = CFOptionFlags::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CFNetServiceRegisterFlags {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct CFNetServiceBrowserFlags(pub CFOptionFlags);
bitflags::bitflags! {
impl CFNetServiceBrowserFlags: CFOptionFlags {
#[doc(alias = "kCFNetServiceFlagMoreComing")]
const FlagMoreComing = 1;
#[doc(alias = "kCFNetServiceFlagIsDomain")]
const FlagIsDomain = 2;
#[doc(alias = "kCFNetServiceFlagIsDefault")]
const FlagIsDefault = 4;
#[doc(alias = "kCFNetServiceFlagIsRegistrationDomain")]
#[deprecated]
const FlagIsRegistrationDomain = 4;
#[doc(alias = "kCFNetServiceFlagRemove")]
const FlagRemove = 8;
}
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CFNetServiceBrowserFlags {
const ENCODING: Encoding = CFOptionFlags::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CFNetServiceBrowserFlags {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C, packed(2))]
#[allow(unpredictable_function_pointer_comparisons)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct CFNetServiceClientContext {
pub version: CFIndex,
pub info: *mut c_void,
pub retain: CFAllocatorRetainCallBack,
pub release: CFAllocatorReleaseCallBack,
pub copyDescription: CFAllocatorCopyDescriptionCallBack,
}
#[cfg(feature = "objc2")]
unsafe impl Encode for CFNetServiceClientContext {
const ENCODING: Encoding = Encoding::Struct(
"CFNetServiceClientContext",
&[
<CFIndex>::ENCODING,
<*mut c_void>::ENCODING,
<CFAllocatorRetainCallBack>::ENCODING,
<CFAllocatorReleaseCallBack>::ENCODING,
<CFAllocatorCopyDescriptionCallBack>::ENCODING,
],
);
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for CFNetServiceClientContext {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type CFNetServiceClientCallBack =
Option<unsafe extern "C-unwind" fn(NonNull<CFNetService>, *mut CFStreamError, *mut c_void)>;
pub type CFNetServiceMonitorClientCallBack = Option<
unsafe extern "C-unwind" fn(
NonNull<CFNetServiceMonitor>,
*mut CFNetService,
CFNetServiceMonitorType,
*const CFData,
*mut CFStreamError,
*mut c_void,
),
>;
pub type CFNetServiceBrowserClientCallBack = Option<
unsafe extern "C-unwind" fn(
NonNull<CFNetServiceBrowser>,
CFOptionFlags,
*const CFType,
*mut CFStreamError,
*mut c_void,
),
>;
unsafe impl ConcreteType for CFNetService {
#[doc(alias = "CFNetServiceGetTypeID")]
#[inline]
fn type_id() -> CFTypeID {
extern "C-unwind" {
fn CFNetServiceGetTypeID() -> CFTypeID;
}
unsafe { CFNetServiceGetTypeID() }
}
}
unsafe impl ConcreteType for CFNetServiceMonitor {
#[doc(alias = "CFNetServiceMonitorGetTypeID")]
#[inline]
fn type_id() -> CFTypeID {
extern "C-unwind" {
fn CFNetServiceMonitorGetTypeID() -> CFTypeID;
}
unsafe { CFNetServiceMonitorGetTypeID() }
}
}
unsafe impl ConcreteType for CFNetServiceBrowser {
#[doc(alias = "CFNetServiceBrowserGetTypeID")]
#[inline]
fn type_id() -> CFTypeID {
extern "C-unwind" {
fn CFNetServiceBrowserGetTypeID() -> CFTypeID;
}
unsafe { CFNetServiceBrowserGetTypeID() }
}
}
impl CFNetService {
#[doc(alias = "CFNetServiceCreate")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn new(
alloc: Option<&CFAllocator>,
domain: &CFString,
service_type: &CFString,
name: &CFString,
port: i32,
) -> CFRetained<CFNetService> {
extern "C-unwind" {
fn CFNetServiceCreate(
alloc: Option<&CFAllocator>,
domain: &CFString,
service_type: &CFString,
name: &CFString,
port: i32,
) -> Option<NonNull<CFNetService>>;
}
let ret = unsafe { CFNetServiceCreate(alloc, domain, service_type, name, port) };
let ret =
ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}
#[doc(alias = "CFNetServiceCreateCopy")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn new_copy(
alloc: Option<&CFAllocator>,
service: &CFNetService,
) -> CFRetained<CFNetService> {
extern "C-unwind" {
fn CFNetServiceCreateCopy(
alloc: Option<&CFAllocator>,
service: &CFNetService,
) -> Option<NonNull<CFNetService>>;
}
let ret = unsafe { CFNetServiceCreateCopy(alloc, service) };
let ret =
ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}
#[doc(alias = "CFNetServiceGetDomain")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn domain(&self) -> CFRetained<CFString> {
extern "C-unwind" {
fn CFNetServiceGetDomain(the_service: &CFNetService) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CFNetServiceGetDomain(self) };
let ret =
ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}
#[doc(alias = "CFNetServiceGetType")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn r#type(&self) -> CFRetained<CFString> {
extern "C-unwind" {
fn CFNetServiceGetType(the_service: &CFNetService) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CFNetServiceGetType(self) };
let ret =
ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}
#[doc(alias = "CFNetServiceGetName")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn name(&self) -> CFRetained<CFString> {
extern "C-unwind" {
fn CFNetServiceGetName(the_service: &CFNetService) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CFNetServiceGetName(self) };
let ret =
ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}
#[doc(alias = "CFNetServiceRegisterWithOptions")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn register_with_options(
&self,
options: CFOptionFlags,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceRegisterWithOptions(
the_service: &CFNetService,
options: CFOptionFlags,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceRegisterWithOptions(self, options, error) };
ret != 0
}
#[doc(alias = "CFNetServiceResolveWithTimeout")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn resolve_with_timeout(
&self,
timeout: CFTimeInterval,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceResolveWithTimeout(
the_service: &CFNetService,
timeout: CFTimeInterval,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceResolveWithTimeout(self, timeout, error) };
ret != 0
}
#[doc(alias = "CFNetServiceCancel")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn cancel(&self) {
extern "C-unwind" {
fn CFNetServiceCancel(the_service: &CFNetService);
}
unsafe { CFNetServiceCancel(self) }
}
#[doc(alias = "CFNetServiceGetTargetHost")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn target_host(&self) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn CFNetServiceGetTargetHost(the_service: &CFNetService) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CFNetServiceGetTargetHost(self) };
ret.map(|ret| unsafe { CFRetained::retain(ret) })
}
#[doc(alias = "CFNetServiceGetPortNumber")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn port_number(&self) -> i32 {
extern "C-unwind" {
fn CFNetServiceGetPortNumber(the_service: &CFNetService) -> i32;
}
unsafe { CFNetServiceGetPortNumber(self) }
}
#[doc(alias = "CFNetServiceGetAddressing")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn addressing(&self) -> Option<CFRetained<CFArray>> {
extern "C-unwind" {
fn CFNetServiceGetAddressing(the_service: &CFNetService) -> Option<NonNull<CFArray>>;
}
let ret = unsafe { CFNetServiceGetAddressing(self) };
ret.map(|ret| unsafe { CFRetained::retain(ret) })
}
#[doc(alias = "CFNetServiceGetTXTData")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn txt_data(&self) -> Option<CFRetained<CFData>> {
extern "C-unwind" {
fn CFNetServiceGetTXTData(the_service: &CFNetService) -> Option<NonNull<CFData>>;
}
let ret = unsafe { CFNetServiceGetTXTData(self) };
ret.map(|ret| unsafe { CFRetained::retain(ret) })
}
#[doc(alias = "CFNetServiceSetTXTData")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn set_txt_data(&self, txt_record: &CFData) -> bool {
extern "C-unwind" {
fn CFNetServiceSetTXTData(the_service: &CFNetService, txt_record: &CFData) -> Boolean;
}
let ret = unsafe { CFNetServiceSetTXTData(self, txt_record) };
ret != 0
}
#[doc(alias = "CFNetServiceCreateDictionaryWithTXTData")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn new_dictionary_with_txt_data(
alloc: Option<&CFAllocator>,
txt_record: &CFData,
) -> Option<CFRetained<CFDictionary>> {
extern "C-unwind" {
fn CFNetServiceCreateDictionaryWithTXTData(
alloc: Option<&CFAllocator>,
txt_record: &CFData,
) -> Option<NonNull<CFDictionary>>;
}
let ret = unsafe { CFNetServiceCreateDictionaryWithTXTData(alloc, txt_record) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[doc(alias = "CFNetServiceCreateTXTDataWithDictionary")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn new_txt_data_with_dictionary(
alloc: Option<&CFAllocator>,
key_value_pairs: &CFDictionary,
) -> Option<CFRetained<CFData>> {
extern "C-unwind" {
fn CFNetServiceCreateTXTDataWithDictionary(
alloc: Option<&CFAllocator>,
key_value_pairs: &CFDictionary,
) -> Option<NonNull<CFData>>;
}
let ret = unsafe { CFNetServiceCreateTXTDataWithDictionary(alloc, key_value_pairs) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[doc(alias = "CFNetServiceSetClient")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn set_client(
&self,
client_cb: CFNetServiceClientCallBack,
client_context: *mut CFNetServiceClientContext,
) -> bool {
extern "C-unwind" {
fn CFNetServiceSetClient(
the_service: &CFNetService,
client_cb: CFNetServiceClientCallBack,
client_context: *mut CFNetServiceClientContext,
) -> Boolean;
}
let ret = unsafe { CFNetServiceSetClient(self, client_cb, client_context) };
ret != 0
}
#[doc(alias = "CFNetServiceScheduleWithRunLoop")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn schedule_with_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
extern "C-unwind" {
fn CFNetServiceScheduleWithRunLoop(
the_service: &CFNetService,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
unsafe { CFNetServiceScheduleWithRunLoop(self, run_loop, run_loop_mode) }
}
#[doc(alias = "CFNetServiceUnscheduleFromRunLoop")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn unschedule_from_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
extern "C-unwind" {
fn CFNetServiceUnscheduleFromRunLoop(
the_service: &CFNetService,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
unsafe { CFNetServiceUnscheduleFromRunLoop(self, run_loop, run_loop_mode) }
}
}
impl CFNetServiceMonitor {
#[doc(alias = "CFNetServiceMonitorCreate")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn new(
alloc: Option<&CFAllocator>,
the_service: &CFNetService,
client_cb: CFNetServiceMonitorClientCallBack,
client_context: NonNull<CFNetServiceClientContext>,
) -> CFRetained<CFNetServiceMonitor> {
extern "C-unwind" {
fn CFNetServiceMonitorCreate(
alloc: Option<&CFAllocator>,
the_service: &CFNetService,
client_cb: CFNetServiceMonitorClientCallBack,
client_context: NonNull<CFNetServiceClientContext>,
) -> Option<NonNull<CFNetServiceMonitor>>;
}
let ret =
unsafe { CFNetServiceMonitorCreate(alloc, the_service, client_cb, client_context) };
let ret =
ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}
#[doc(alias = "CFNetServiceMonitorInvalidate")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn invalidate(&self) {
extern "C-unwind" {
fn CFNetServiceMonitorInvalidate(monitor: &CFNetServiceMonitor);
}
unsafe { CFNetServiceMonitorInvalidate(self) }
}
#[doc(alias = "CFNetServiceMonitorStart")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn start(
&self,
record_type: CFNetServiceMonitorType,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceMonitorStart(
monitor: &CFNetServiceMonitor,
record_type: CFNetServiceMonitorType,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceMonitorStart(self, record_type, error) };
ret != 0
}
#[doc(alias = "CFNetServiceMonitorStop")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn stop(&self, error: *mut CFStreamError) {
extern "C-unwind" {
fn CFNetServiceMonitorStop(monitor: &CFNetServiceMonitor, error: *mut CFStreamError);
}
unsafe { CFNetServiceMonitorStop(self, error) }
}
#[doc(alias = "CFNetServiceMonitorScheduleWithRunLoop")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn schedule_with_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
extern "C-unwind" {
fn CFNetServiceMonitorScheduleWithRunLoop(
monitor: &CFNetServiceMonitor,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
unsafe { CFNetServiceMonitorScheduleWithRunLoop(self, run_loop, run_loop_mode) }
}
#[doc(alias = "CFNetServiceMonitorUnscheduleFromRunLoop")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn unschedule_from_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
extern "C-unwind" {
fn CFNetServiceMonitorUnscheduleFromRunLoop(
monitor: &CFNetServiceMonitor,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
unsafe { CFNetServiceMonitorUnscheduleFromRunLoop(self, run_loop, run_loop_mode) }
}
}
impl CFNetServiceBrowser {
#[doc(alias = "CFNetServiceBrowserCreate")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn new(
alloc: Option<&CFAllocator>,
client_cb: CFNetServiceBrowserClientCallBack,
client_context: NonNull<CFNetServiceClientContext>,
) -> CFRetained<CFNetServiceBrowser> {
extern "C-unwind" {
fn CFNetServiceBrowserCreate(
alloc: Option<&CFAllocator>,
client_cb: CFNetServiceBrowserClientCallBack,
client_context: NonNull<CFNetServiceClientContext>,
) -> Option<NonNull<CFNetServiceBrowser>>;
}
let ret = unsafe { CFNetServiceBrowserCreate(alloc, client_cb, client_context) };
let ret =
ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}
#[doc(alias = "CFNetServiceBrowserInvalidate")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn invalidate(&self) {
extern "C-unwind" {
fn CFNetServiceBrowserInvalidate(browser: &CFNetServiceBrowser);
}
unsafe { CFNetServiceBrowserInvalidate(self) }
}
#[doc(alias = "CFNetServiceBrowserSearchForDomains")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn search_for_domains(
&self,
registration_domains: bool,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceBrowserSearchForDomains(
browser: &CFNetServiceBrowser,
registration_domains: Boolean,
error: *mut CFStreamError,
) -> Boolean;
}
let ret =
unsafe { CFNetServiceBrowserSearchForDomains(self, registration_domains as _, error) };
ret != 0
}
#[doc(alias = "CFNetServiceBrowserSearchForServices")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn search_for_services(
&self,
domain: &CFString,
service_type: &CFString,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceBrowserSearchForServices(
browser: &CFNetServiceBrowser,
domain: &CFString,
service_type: &CFString,
error: *mut CFStreamError,
) -> Boolean;
}
let ret =
unsafe { CFNetServiceBrowserSearchForServices(self, domain, service_type, error) };
ret != 0
}
#[doc(alias = "CFNetServiceBrowserStopSearch")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn stop_search(&self, error: *mut CFStreamError) {
extern "C-unwind" {
fn CFNetServiceBrowserStopSearch(
browser: &CFNetServiceBrowser,
error: *mut CFStreamError,
);
}
unsafe { CFNetServiceBrowserStopSearch(self, error) }
}
#[doc(alias = "CFNetServiceBrowserScheduleWithRunLoop")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn schedule_with_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
extern "C-unwind" {
fn CFNetServiceBrowserScheduleWithRunLoop(
browser: &CFNetServiceBrowser,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
unsafe { CFNetServiceBrowserScheduleWithRunLoop(self, run_loop, run_loop_mode) }
}
#[doc(alias = "CFNetServiceBrowserUnscheduleFromRunLoop")]
#[deprecated = "Use nw_browser_t or nw_listener_t in Network framework instead"]
#[inline]
pub unsafe fn unschedule_from_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
extern "C-unwind" {
fn CFNetServiceBrowserUnscheduleFromRunLoop(
browser: &CFNetServiceBrowser,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
unsafe { CFNetServiceBrowserUnscheduleFromRunLoop(self, run_loop, run_loop_mode) }
}
}
impl CFNetService {
#[doc(alias = "CFNetServiceRegister")]
#[deprecated]
#[inline]
pub unsafe fn register(&self, error: *mut CFStreamError) -> bool {
extern "C-unwind" {
fn CFNetServiceRegister(
the_service: &CFNetService,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceRegister(self, error) };
ret != 0
}
#[doc(alias = "CFNetServiceResolve")]
#[deprecated]
#[inline]
pub unsafe fn resolve(&self, error: *mut CFStreamError) -> bool {
extern "C-unwind" {
fn CFNetServiceResolve(
the_service: &CFNetService,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceResolve(self, error) };
ret != 0
}
}
#[deprecated = "renamed to `CFNetService::new`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceCreate(
alloc: Option<&CFAllocator>,
domain: &CFString,
service_type: &CFString,
name: &CFString,
port: i32,
) -> CFRetained<CFNetService> {
extern "C-unwind" {
fn CFNetServiceCreate(
alloc: Option<&CFAllocator>,
domain: &CFString,
service_type: &CFString,
name: &CFString,
port: i32,
) -> Option<NonNull<CFNetService>>;
}
let ret = unsafe { CFNetServiceCreate(alloc, domain, service_type, name, port) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}
#[deprecated = "renamed to `CFNetService::new_copy`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceCreateCopy(
alloc: Option<&CFAllocator>,
service: &CFNetService,
) -> CFRetained<CFNetService> {
extern "C-unwind" {
fn CFNetServiceCreateCopy(
alloc: Option<&CFAllocator>,
service: &CFNetService,
) -> Option<NonNull<CFNetService>>;
}
let ret = unsafe { CFNetServiceCreateCopy(alloc, service) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}
#[deprecated = "renamed to `CFNetService::domain`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceGetDomain(
the_service: &CFNetService,
) -> CFRetained<CFString> {
extern "C-unwind" {
fn CFNetServiceGetDomain(the_service: &CFNetService) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CFNetServiceGetDomain(the_service) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}
#[deprecated = "renamed to `CFNetService::type`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceGetType(
the_service: &CFNetService,
) -> CFRetained<CFString> {
extern "C-unwind" {
fn CFNetServiceGetType(the_service: &CFNetService) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CFNetServiceGetType(the_service) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}
#[deprecated = "renamed to `CFNetService::name`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceGetName(
the_service: &CFNetService,
) -> CFRetained<CFString> {
extern "C-unwind" {
fn CFNetServiceGetName(the_service: &CFNetService) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CFNetServiceGetName(the_service) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::retain(ret) }
}
#[deprecated = "renamed to `CFNetService::register_with_options`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceRegisterWithOptions(
the_service: &CFNetService,
options: CFOptionFlags,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceRegisterWithOptions(
the_service: &CFNetService,
options: CFOptionFlags,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceRegisterWithOptions(the_service, options, error) };
ret != 0
}
#[deprecated = "renamed to `CFNetService::resolve_with_timeout`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceResolveWithTimeout(
the_service: &CFNetService,
timeout: CFTimeInterval,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceResolveWithTimeout(
the_service: &CFNetService,
timeout: CFTimeInterval,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceResolveWithTimeout(the_service, timeout, error) };
ret != 0
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetService::cancel`"]
pub fn CFNetServiceCancel(the_service: &CFNetService);
}
#[deprecated = "renamed to `CFNetService::target_host`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceGetTargetHost(
the_service: &CFNetService,
) -> Option<CFRetained<CFString>> {
extern "C-unwind" {
fn CFNetServiceGetTargetHost(the_service: &CFNetService) -> Option<NonNull<CFString>>;
}
let ret = unsafe { CFNetServiceGetTargetHost(the_service) };
ret.map(|ret| unsafe { CFRetained::retain(ret) })
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetService::port_number`"]
pub fn CFNetServiceGetPortNumber(the_service: &CFNetService) -> i32;
}
#[deprecated = "renamed to `CFNetService::addressing`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceGetAddressing(
the_service: &CFNetService,
) -> Option<CFRetained<CFArray>> {
extern "C-unwind" {
fn CFNetServiceGetAddressing(the_service: &CFNetService) -> Option<NonNull<CFArray>>;
}
let ret = unsafe { CFNetServiceGetAddressing(the_service) };
ret.map(|ret| unsafe { CFRetained::retain(ret) })
}
#[deprecated = "renamed to `CFNetService::txt_data`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceGetTXTData(
the_service: &CFNetService,
) -> Option<CFRetained<CFData>> {
extern "C-unwind" {
fn CFNetServiceGetTXTData(the_service: &CFNetService) -> Option<NonNull<CFData>>;
}
let ret = unsafe { CFNetServiceGetTXTData(the_service) };
ret.map(|ret| unsafe { CFRetained::retain(ret) })
}
#[deprecated = "renamed to `CFNetService::set_txt_data`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceSetTXTData(
the_service: &CFNetService,
txt_record: &CFData,
) -> bool {
extern "C-unwind" {
fn CFNetServiceSetTXTData(the_service: &CFNetService, txt_record: &CFData) -> Boolean;
}
let ret = unsafe { CFNetServiceSetTXTData(the_service, txt_record) };
ret != 0
}
#[deprecated = "renamed to `CFNetService::new_dictionary_with_txt_data`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceCreateDictionaryWithTXTData(
alloc: Option<&CFAllocator>,
txt_record: &CFData,
) -> Option<CFRetained<CFDictionary>> {
extern "C-unwind" {
fn CFNetServiceCreateDictionaryWithTXTData(
alloc: Option<&CFAllocator>,
txt_record: &CFData,
) -> Option<NonNull<CFDictionary>>;
}
let ret = unsafe { CFNetServiceCreateDictionaryWithTXTData(alloc, txt_record) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[deprecated = "renamed to `CFNetService::new_txt_data_with_dictionary`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceCreateTXTDataWithDictionary(
alloc: Option<&CFAllocator>,
key_value_pairs: &CFDictionary,
) -> Option<CFRetained<CFData>> {
extern "C-unwind" {
fn CFNetServiceCreateTXTDataWithDictionary(
alloc: Option<&CFAllocator>,
key_value_pairs: &CFDictionary,
) -> Option<NonNull<CFData>>;
}
let ret = unsafe { CFNetServiceCreateTXTDataWithDictionary(alloc, key_value_pairs) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
#[deprecated = "renamed to `CFNetService::set_client`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceSetClient(
the_service: &CFNetService,
client_cb: CFNetServiceClientCallBack,
client_context: *mut CFNetServiceClientContext,
) -> bool {
extern "C-unwind" {
fn CFNetServiceSetClient(
the_service: &CFNetService,
client_cb: CFNetServiceClientCallBack,
client_context: *mut CFNetServiceClientContext,
) -> Boolean;
}
let ret = unsafe { CFNetServiceSetClient(the_service, client_cb, client_context) };
ret != 0
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetService::schedule_with_run_loop`"]
pub fn CFNetServiceScheduleWithRunLoop(
the_service: &CFNetService,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetService::unschedule_from_run_loop`"]
pub fn CFNetServiceUnscheduleFromRunLoop(
the_service: &CFNetService,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
#[deprecated = "renamed to `CFNetServiceMonitor::new`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceMonitorCreate(
alloc: Option<&CFAllocator>,
the_service: &CFNetService,
client_cb: CFNetServiceMonitorClientCallBack,
client_context: NonNull<CFNetServiceClientContext>,
) -> CFRetained<CFNetServiceMonitor> {
extern "C-unwind" {
fn CFNetServiceMonitorCreate(
alloc: Option<&CFAllocator>,
the_service: &CFNetService,
client_cb: CFNetServiceMonitorClientCallBack,
client_context: NonNull<CFNetServiceClientContext>,
) -> Option<NonNull<CFNetServiceMonitor>>;
}
let ret = unsafe { CFNetServiceMonitorCreate(alloc, the_service, client_cb, client_context) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetServiceMonitor::invalidate`"]
pub fn CFNetServiceMonitorInvalidate(monitor: &CFNetServiceMonitor);
}
#[deprecated = "renamed to `CFNetServiceMonitor::start`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceMonitorStart(
monitor: &CFNetServiceMonitor,
record_type: CFNetServiceMonitorType,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceMonitorStart(
monitor: &CFNetServiceMonitor,
record_type: CFNetServiceMonitorType,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceMonitorStart(monitor, record_type, error) };
ret != 0
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetServiceMonitor::stop`"]
pub fn CFNetServiceMonitorStop(monitor: &CFNetServiceMonitor, error: *mut CFStreamError);
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetServiceMonitor::schedule_with_run_loop`"]
pub fn CFNetServiceMonitorScheduleWithRunLoop(
monitor: &CFNetServiceMonitor,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetServiceMonitor::unschedule_from_run_loop`"]
pub fn CFNetServiceMonitorUnscheduleFromRunLoop(
monitor: &CFNetServiceMonitor,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
#[deprecated = "renamed to `CFNetServiceBrowser::new`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceBrowserCreate(
alloc: Option<&CFAllocator>,
client_cb: CFNetServiceBrowserClientCallBack,
client_context: NonNull<CFNetServiceClientContext>,
) -> CFRetained<CFNetServiceBrowser> {
extern "C-unwind" {
fn CFNetServiceBrowserCreate(
alloc: Option<&CFAllocator>,
client_cb: CFNetServiceBrowserClientCallBack,
client_context: NonNull<CFNetServiceClientContext>,
) -> Option<NonNull<CFNetServiceBrowser>>;
}
let ret = unsafe { CFNetServiceBrowserCreate(alloc, client_cb, client_context) };
let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
unsafe { CFRetained::from_raw(ret) }
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetServiceBrowser::invalidate`"]
pub fn CFNetServiceBrowserInvalidate(browser: &CFNetServiceBrowser);
}
#[deprecated = "renamed to `CFNetServiceBrowser::search_for_domains`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceBrowserSearchForDomains(
browser: &CFNetServiceBrowser,
registration_domains: bool,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceBrowserSearchForDomains(
browser: &CFNetServiceBrowser,
registration_domains: Boolean,
error: *mut CFStreamError,
) -> Boolean;
}
let ret =
unsafe { CFNetServiceBrowserSearchForDomains(browser, registration_domains as _, error) };
ret != 0
}
#[deprecated = "renamed to `CFNetServiceBrowser::search_for_services`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceBrowserSearchForServices(
browser: &CFNetServiceBrowser,
domain: &CFString,
service_type: &CFString,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceBrowserSearchForServices(
browser: &CFNetServiceBrowser,
domain: &CFString,
service_type: &CFString,
error: *mut CFStreamError,
) -> Boolean;
}
let ret = unsafe { CFNetServiceBrowserSearchForServices(browser, domain, service_type, error) };
ret != 0
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetServiceBrowser::stop_search`"]
pub fn CFNetServiceBrowserStopSearch(browser: &CFNetServiceBrowser, error: *mut CFStreamError);
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetServiceBrowser::schedule_with_run_loop`"]
pub fn CFNetServiceBrowserScheduleWithRunLoop(
browser: &CFNetServiceBrowser,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
extern "C-unwind" {
#[deprecated = "renamed to `CFNetServiceBrowser::unschedule_from_run_loop`"]
pub fn CFNetServiceBrowserUnscheduleFromRunLoop(
browser: &CFNetServiceBrowser,
run_loop: &CFRunLoop,
run_loop_mode: &CFString,
);
}
#[deprecated = "renamed to `CFNetService::register`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceRegister(
the_service: &CFNetService,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceRegister(the_service: &CFNetService, error: *mut CFStreamError) -> Boolean;
}
let ret = unsafe { CFNetServiceRegister(the_service, error) };
ret != 0
}
#[deprecated = "renamed to `CFNetService::resolve`"]
#[inline]
pub unsafe extern "C-unwind" fn CFNetServiceResolve(
the_service: &CFNetService,
error: *mut CFStreamError,
) -> bool {
extern "C-unwind" {
fn CFNetServiceResolve(the_service: &CFNetService, error: *mut CFStreamError) -> Boolean;
}
let ret = unsafe { CFNetServiceResolve(the_service, error) };
ret != 0
}