//! This file has been automatically generated by `objc2`'s `header-translator`. //! DO NOT EDIT use core::ffi::*; use core::ptr::NonNull; use objc2::__framework_prelude::*; #[cfg(feature = "objc2-core-foundation")] use objc2_core_foundation::*; use crate::*; /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nssocketnativehandle?language=objc) pub type NSSocketNativeHandle = c_int; extern "C" { /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsportdidbecomeinvalidnotification?language=objc) #[cfg(all(feature = "NSNotification", feature = "NSString"))] pub static NSPortDidBecomeInvalidNotification: &'static NSNotificationName; } extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsport?language=objc) #[unsafe(super(NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSPort; ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCoding for NSPort {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCopying for NSPort {} ); #[cfg(feature = "NSObject")] unsafe impl CopyingHelper for NSPort { type Result = Self; } extern_conformance!( unsafe impl NSObjectProtocol for NSPort {} ); impl NSPort { extern_methods!( #[unsafe(method(port))] #[unsafe(method_family = none)] pub fn port() -> Retained; #[unsafe(method(invalidate))] #[unsafe(method_family = none)] pub fn invalidate(&self); #[unsafe(method(isValid))] #[unsafe(method_family = none)] pub fn isValid(&self) -> bool; #[unsafe(method(setDelegate:))] #[unsafe(method_family = none)] pub unsafe fn setDelegate(&self, an_object: Option<&ProtocolObject>); #[unsafe(method(delegate))] #[unsafe(method_family = none)] pub fn delegate(&self) -> Option>>; #[cfg(all(feature = "NSObjCRuntime", feature = "NSRunLoop", feature = "NSString"))] /// # Safety /// /// `run_loop` possibly has additional threading requirements. #[unsafe(method(scheduleInRunLoop:forMode:))] #[unsafe(method_family = none)] pub unsafe fn scheduleInRunLoop_forMode(&self, run_loop: &NSRunLoop, mode: &NSRunLoopMode); #[cfg(all(feature = "NSObjCRuntime", feature = "NSRunLoop", feature = "NSString"))] /// # Safety /// /// `run_loop` possibly has additional threading requirements. #[unsafe(method(removeFromRunLoop:forMode:))] #[unsafe(method_family = none)] pub unsafe fn removeFromRunLoop_forMode(&self, run_loop: &NSRunLoop, mode: &NSRunLoopMode); #[unsafe(method(reservedSpaceLength))] #[unsafe(method_family = none)] pub fn reservedSpaceLength(&self) -> NSUInteger; #[cfg(all(feature = "NSArray", feature = "NSDate"))] /// # Safety /// /// `components` generic should be of the correct type. #[unsafe(method(sendBeforeDate:components:from:reserved:))] #[unsafe(method_family = none)] pub unsafe fn sendBeforeDate_components_from_reserved( &self, limit_date: &NSDate, components: Option<&NSMutableArray>, receive_port: Option<&NSPort>, header_space_reserved: NSUInteger, ) -> bool; #[cfg(all(feature = "NSArray", feature = "NSDate"))] /// # Safety /// /// `components` generic should be of the correct type. #[unsafe(method(sendBeforeDate:msgid:components:from:reserved:))] #[unsafe(method_family = none)] pub unsafe fn sendBeforeDate_msgid_components_from_reserved( &self, limit_date: &NSDate, msg_id: NSUInteger, components: Option<&NSMutableArray>, receive_port: Option<&NSPort>, header_space_reserved: NSUInteger, ) -> bool; #[cfg(all( feature = "NSConnection", feature = "NSObjCRuntime", feature = "NSRunLoop", feature = "NSString" ))] /// # Safety /// /// `run_loop` possibly has additional threading requirements. #[deprecated = "Use NSXPCConnection instead"] #[unsafe(method(addConnection:toRunLoop:forMode:))] #[unsafe(method_family = none)] pub unsafe fn addConnection_toRunLoop_forMode( &self, conn: &NSConnection, run_loop: &NSRunLoop, mode: &NSRunLoopMode, ); #[cfg(all( feature = "NSConnection", feature = "NSObjCRuntime", feature = "NSRunLoop", feature = "NSString" ))] /// # Safety /// /// `run_loop` possibly has additional threading requirements. #[deprecated = "Use NSXPCConnection instead"] #[unsafe(method(removeConnection:fromRunLoop:forMode:))] #[unsafe(method_family = none)] pub unsafe fn removeConnection_fromRunLoop_forMode( &self, conn: &NSConnection, run_loop: &NSRunLoop, mode: &NSRunLoopMode, ); ); } /// Methods declared on superclass `NSObject`. impl NSPort { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for NSPort { #[inline] fn default_retained() -> Retained { Self::new() } } extern_protocol!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsportdelegate?language=objc) pub unsafe trait NSPortDelegate: NSObjectProtocol { #[cfg(feature = "NSPortMessage")] #[optional] #[unsafe(method(handlePortMessage:))] #[unsafe(method_family = none)] fn handlePortMessage(&self, message: &NSPortMessage); } ); /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsmachportoptions?language=objc) // NS_OPTIONS #[repr(transparent)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] pub struct NSMachPortOptions(pub NSUInteger); bitflags::bitflags! { impl NSMachPortOptions: NSUInteger { #[doc(alias = "NSMachPortDeallocateNone")] const DeallocateNone = 0; #[doc(alias = "NSMachPortDeallocateSendRight")] const DeallocateSendRight = 1<<0; #[doc(alias = "NSMachPortDeallocateReceiveRight")] const DeallocateReceiveRight = 1<<1; } } unsafe impl Encode for NSMachPortOptions { const ENCODING: Encoding = NSUInteger::ENCODING; } unsafe impl RefEncode for NSMachPortOptions { const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING); } extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsmachport?language=objc) #[unsafe(super(NSPort, NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSMachPort; ); #[cfg(feature = "objc2-core-foundation")] impl AsRef for CFMachPort { #[inline] fn as_ref(&self) -> &NSMachPort { unsafe { &*((self as *const Self).cast()) } } } #[cfg(feature = "objc2-core-foundation")] impl AsRef for NSMachPort { #[inline] fn as_ref(&self) -> &CFMachPort { unsafe { &*((self as *const Self).cast()) } } } #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCoding for NSMachPort {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCopying for NSMachPort {} ); #[cfg(feature = "NSObject")] unsafe impl CopyingHelper for NSMachPort { type Result = Self; } extern_conformance!( unsafe impl NSObjectProtocol for NSMachPort {} ); impl NSMachPort { extern_methods!( #[unsafe(method(portWithMachPort:))] #[unsafe(method_family = none)] pub fn portWithMachPort(mach_port: u32) -> Retained; #[unsafe(method(initWithMachPort:))] #[unsafe(method_family = init)] pub fn initWithMachPort(this: Allocated, mach_port: u32) -> Retained; #[unsafe(method(setDelegate:))] #[unsafe(method_family = none)] pub unsafe fn setDelegate( &self, an_object: Option<&ProtocolObject>, ); #[unsafe(method(delegate))] #[unsafe(method_family = none)] pub fn delegate(&self) -> Option>>; #[unsafe(method(portWithMachPort:options:))] #[unsafe(method_family = none)] pub fn portWithMachPort_options(mach_port: u32, f: NSMachPortOptions) -> Retained; #[unsafe(method(initWithMachPort:options:))] #[unsafe(method_family = init)] pub fn initWithMachPort_options( this: Allocated, mach_port: u32, f: NSMachPortOptions, ) -> Retained; #[unsafe(method(machPort))] #[unsafe(method_family = none)] pub fn machPort(&self) -> u32; #[cfg(all(feature = "NSObjCRuntime", feature = "NSRunLoop", feature = "NSString"))] /// # Safety /// /// `run_loop` possibly has additional threading requirements. #[unsafe(method(scheduleInRunLoop:forMode:))] #[unsafe(method_family = none)] pub unsafe fn scheduleInRunLoop_forMode(&self, run_loop: &NSRunLoop, mode: &NSRunLoopMode); #[cfg(all(feature = "NSObjCRuntime", feature = "NSRunLoop", feature = "NSString"))] /// # Safety /// /// `run_loop` possibly has additional threading requirements. #[unsafe(method(removeFromRunLoop:forMode:))] #[unsafe(method_family = none)] pub unsafe fn removeFromRunLoop_forMode(&self, run_loop: &NSRunLoop, mode: &NSRunLoopMode); ); } /// Methods declared on superclass `NSObject`. impl NSMachPort { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for NSMachPort { #[inline] fn default_retained() -> Retained { Self::new() } } extern_protocol!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsmachportdelegate?language=objc) pub unsafe trait NSMachPortDelegate: NSPortDelegate { /// # Safety /// /// `msg` must be a valid pointer. #[optional] #[unsafe(method(handleMachMessage:))] #[unsafe(method_family = none)] unsafe fn handleMachMessage(&self, msg: NonNull); } ); extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsmessageport?language=objc) #[unsafe(super(NSPort, NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSMessagePort; ); #[cfg(feature = "objc2-core-foundation")] impl AsRef for CFMessagePort { #[inline] fn as_ref(&self) -> &NSMessagePort { unsafe { &*((self as *const Self).cast()) } } } #[cfg(feature = "objc2-core-foundation")] impl AsRef for NSMessagePort { #[inline] fn as_ref(&self) -> &CFMessagePort { unsafe { &*((self as *const Self).cast()) } } } #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCoding for NSMessagePort {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCopying for NSMessagePort {} ); #[cfg(feature = "NSObject")] unsafe impl CopyingHelper for NSMessagePort { type Result = Self; } extern_conformance!( unsafe impl NSObjectProtocol for NSMessagePort {} ); impl NSMessagePort { extern_methods!(); } /// Methods declared on superclass `NSObject`. impl NSMessagePort { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for NSMessagePort { #[inline] fn default_retained() -> Retained { Self::new() } } extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nssocketport?language=objc) #[unsafe(super(NSPort, NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSSocketPort; ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCoding for NSSocketPort {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCopying for NSSocketPort {} ); #[cfg(feature = "NSObject")] unsafe impl CopyingHelper for NSSocketPort { type Result = Self; } extern_conformance!( unsafe impl NSObjectProtocol for NSSocketPort {} ); impl NSSocketPort { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(initWithTCPPort:))] #[unsafe(method_family = init)] pub fn initWithTCPPort(this: Allocated, port: c_ushort) -> Option>; #[cfg(feature = "NSData")] #[unsafe(method(initWithProtocolFamily:socketType:protocol:address:))] #[unsafe(method_family = init)] pub fn initWithProtocolFamily_socketType_protocol_address( this: Allocated, family: c_int, r#type: c_int, protocol: c_int, address: &NSData, ) -> Option>; #[unsafe(method(initWithProtocolFamily:socketType:protocol:socket:))] #[unsafe(method_family = init)] pub fn initWithProtocolFamily_socketType_protocol_socket( this: Allocated, family: c_int, r#type: c_int, protocol: c_int, sock: NSSocketNativeHandle, ) -> Option>; #[cfg(feature = "NSString")] #[unsafe(method(initRemoteWithTCPPort:host:))] #[unsafe(method_family = init)] pub fn initRemoteWithTCPPort_host( this: Allocated, port: c_ushort, host_name: Option<&NSString>, ) -> Option>; #[cfg(feature = "NSData")] #[unsafe(method(initRemoteWithProtocolFamily:socketType:protocol:address:))] #[unsafe(method_family = init)] pub fn initRemoteWithProtocolFamily_socketType_protocol_address( this: Allocated, family: c_int, r#type: c_int, protocol: c_int, address: &NSData, ) -> Retained; #[unsafe(method(protocolFamily))] #[unsafe(method_family = none)] pub fn protocolFamily(&self) -> c_int; #[unsafe(method(socketType))] #[unsafe(method_family = none)] pub fn socketType(&self) -> c_int; #[unsafe(method(protocol))] #[unsafe(method_family = none)] pub fn protocol(&self) -> c_int; #[cfg(feature = "NSData")] #[unsafe(method(address))] #[unsafe(method_family = none)] pub fn address(&self) -> Retained; #[unsafe(method(socket))] #[unsafe(method_family = none)] pub fn socket(&self) -> NSSocketNativeHandle; ); } /// Methods declared on superclass `NSObject`. impl NSSocketPort { extern_methods!( #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for NSSocketPort { #[inline] fn default_retained() -> Retained { Self::new() } }