IOUSBHostPipe

Struct IOUSBHostPipe 

Source
pub struct IOUSBHostPipe { /* private fields */ }
Available on crate features IOUSBHostIOSource and IOUSBHostPipe only.
Expand description

The IOUSBHostIOSource representing a USB endpoint

This class provides functionality to transfer data across USB.

See also Apple’s documentation

Implementations§

Source§

impl IOUSBHostPipe

Source

pub unsafe fn originalDescriptors( &self, ) -> NonNull<IOUSBHostIOSourceDescriptors>

Available on crate feature objc2-io-kit only.

Retrieve the Original descriptor used when creating the pipe.

Returns: IOUSBHostIOSourceDescriptors pointer

Source

pub unsafe fn descriptors(&self) -> NonNull<IOUSBHostIOSourceDescriptors>

Available on crate feature objc2-io-kit only.

Retrieve the current descriptor controlling the endpoint.

Returns: IOUSBHostIOSourceDescriptors pointer

Source

pub unsafe fn adjustPipeWithDescriptors_error( &self, descriptors: NonNull<IOUSBHostIOSourceDescriptors>, ) -> Result<(), Retained<NSError>>

Available on crate feature objc2-io-kit only.

Adjust behavior of periodic endpoints to consume a different amount of bus bandwidth

Periodic (interrupt and isochronous) endpoints reserve bus bandwidth when they are created, which takes into account max packet size, burst size, and the endpoint service interval. If a function driver knows the endpoint will not use all of the allocated bandwidth, the adjustPolicy method may be used to reduce the bandwidth reserved for the endpoint. The original endpoint descriptors should be copied and modified to adjust max packet size, mult, burst, and interval, and then passed to adjustPolicy . The altered descriptors must pass validateEndpointDescriptor(…) from the kernel for policy changes to be processed.

Parameter descriptors: Reference to an IOUSBHostIOSourceDescriptors describing the new endpoint policy

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

descriptors must be a valid pointer.

Source

pub unsafe fn idleTimeout(&self) -> NSTimeInterval

Retrieve the current idle suspend timeout. See

 setIdleTimeout

Returns: The amount of time after all pipes are idle to wait before suspending the device,

Source

pub unsafe fn setIdleTimeout_error( &self, idle_timeout: NSTimeInterval, ) -> Result<(), Retained<NSError>>

Sets the desired idle suspend timeout for the interface

Once the interface is considered idle, it will defer electrical suspend of the device for the specified duration.

Parameter idleTimeout: The amount of time after all pipes are idle to wait before suspending the device.

Returns: YES on success. An IOReturn error code will be reported on failure.

Source

pub unsafe fn clearStallWithError(&self) -> Result<(), Retained<NSError>>

Clear the halt condition of the pipe.

When a bulk or interrupt USB endpoint encounters any IO error other than a timeout, it transitions to a Halted state which must be cleared to perform additional IO on the endpoint. This method will clear the halted condition for the endpoint, including sending a CLEAR_TT_BUFFER control request (USB 2.0 11.24.2.3) to an intermediate hub if required. All pending IO on the endpoint will be aborted, and the data toggle for the endpoint will also be reset. ClearStall is not required for control endpoints.

Returns: YES on success, an IOReturn error code will be reported on failure

Source

pub unsafe fn sendControlRequest_data_bytesTransferred_completionTimeout_error( &self, request: IOUSBDeviceRequest, data: Option<&NSMutableData>, bytes_transferred: *mut NSUInteger, completion_timeout: NSTimeInterval, ) -> Result<(), Retained<NSError>>

Available on crate feature objc2-io-kit only.

Send a request on a control endpoint

This method will send a synchronous request on a control endpoint, and will not return until the request is complete.

Parameter request: IOUSBDeviceRequest structure.

Parameter data: An NSMutableData* defining the memory to use for the request’s data phase.

Parameter bytesTransferred: An NSUInteger reference which will be updated with the byte count of the completed data phase.

Parameter completionTimeout: Timeout of the request. If 0, the request will never timeout. The default value is IOUSBHostDefaultControlCompletionTimeout.

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

bytes_transferred must be a valid pointer or null.

Source

pub unsafe fn sendControlRequest_data_bytesTransferred_error( &self, request: IOUSBDeviceRequest, data: Option<&NSMutableData>, bytes_transferred: *mut NSUInteger, ) -> Result<(), Retained<NSError>>

Available on crate feature objc2-io-kit only.

Send a request on a control endpoint

This method will send a synchronous request on a control endpoint, and will not return until the request is complete.

Parameter request: IOUSBDeviceRequest structure.

Parameter data: An NSMutableData* defining the memory to use for the request’s data phase.

Parameter bytesTransferred: An NSUInteger reference which will be updated with the byte count of the completed data phase.

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

bytes_transferred must be a valid pointer or null.

Source

pub unsafe fn sendControlRequest_error( &self, request: IOUSBDeviceRequest, ) -> Result<(), Retained<NSError>>

Available on crate feature objc2-io-kit only.

Send a request on a control endpoint

This method will send a synchronous request on a control endpoint, and will not return until the request is complete.

Parameter request: IOUSBDeviceRequest structure.

Returns: YES on success, an IOReturn error code will be reported on failure

Source

pub unsafe fn enqueueControlRequest_data_completionTimeout_error_completionHandler( &self, request: IOUSBDeviceRequest, data: Option<&NSMutableData>, completion_timeout: NSTimeInterval, error: Option<&mut Option<Retained<NSError>>>, completion_handler: IOUSBHostCompletionHandler, ) -> bool

Available on crate features IOUSBHostDefinitions and block2 and objc2-io-kit only.

Enqueue a request on a control endpoint

This method will enqueue an asynchronous request on a control endpoint. If successful, the provided completion routine will be called to report the status of the completed IO. Completions will be serviced in the IOUSBHostCompletionHandler on the IOUSBHostInterface’s dispatch queue.

Parameter request: Reference IOUSBDeviceRequest structure.

Parameter data: An NSMutableData* defining the memory to use for the request’s data phase.

Parameter completionTimeout: Timeout of the request. If 0, the request will never timeout. The default value is IOUSBHostDefaultControlCompletionTimeout.

Parameter completionHandler: an IOUSBHostCompletionHandler

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

completion_handler must be a valid pointer or null.

Source

pub unsafe fn enqueueControlRequest_data_error_completionHandler( &self, request: IOUSBDeviceRequest, data: Option<&NSMutableData>, error: Option<&mut Option<Retained<NSError>>>, completion_handler: IOUSBHostCompletionHandler, ) -> bool

Available on crate features IOUSBHostDefinitions and block2 and objc2-io-kit only.

Enqueue a request on a control endpoint

This method will enqueue an asynchronous request on a control endpoint. If successful, the provided completion routine will be called to report the status of the completed IO. Completions will be serviced in the IOUSBHostCompletionHandler on the IOUSBHostInterface’s dispatch queue.

Parameter request: Reference IOUSBDeviceRequest structure.

Parameter data: An NSMutableData* defining the memory to use for the request’s data phase.

Parameter completionHandler: an IOUSBHostCompletionHandler

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

completion_handler must be a valid pointer or null.

Source

pub unsafe fn enqueueControlRequest_error_completionHandler( &self, request: IOUSBDeviceRequest, error: Option<&mut Option<Retained<NSError>>>, completion_handler: IOUSBHostCompletionHandler, ) -> bool

Available on crate features IOUSBHostDefinitions and block2 and objc2-io-kit only.

Enqueue a request on a control endpoint

This method will enqueue an asynchronous request on a control endpoint. If successful, the provided completion routine will be called to report the status of the completed IO. Completions will be serviced in the IOUSBHostCompletionHandler on the IOUSBHostInterface’s dispatch queue.

Parameter request: Reference IOUSBDeviceRequest structure.

Parameter completionHandler: an IOUSBHostCompletionHandler

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

completion_handler must be a valid pointer or null.

Source

pub unsafe fn abortWithOption_error( &self, option: IOUSBHostAbortOption, ) -> Result<(), Retained<NSError>>

Available on crate feature IOUSBHostDefinitions only.

Abort pending I/O requests.

This method will abort all pending I/O requests. If option includes IOUSBHostAbortOptionSynchronous , this method will block any new IO requests unless they are submitted from an aborted IO’s completion routine.

Parameter option: IOUSBHostAbortOption by default IOUSBHostAbortOptionSynchronous is used

Returns: YES on success, an IOReturn error code will be reported on failure

Source

pub unsafe fn abortWithError(&self) -> Result<(), Retained<NSError>>

Abort pending I/O requests.

This method will abort all pending I/O requests. If option includes IOUSBHostAbortOptionSynchronous , this method will block any new IO requests unless they are submitted from an aborted IO’s completion routine.

Returns: YES on success, an IOReturn error code will be reported on failure

Source

pub unsafe fn sendIORequestWithData_bytesTransferred_completionTimeout_error( &self, data: Option<&NSMutableData>, bytes_transferred: *mut NSUInteger, completion_timeout: NSTimeInterval, ) -> Result<(), Retained<NSError>>

Send an IO request on the source

This method will send a synchronous request on the IO source, and will not return until the request is complete.

Parameter data: An NSMutableData* containing the buffer to use for the transfer. nil will send a zero length packet.

Parameter bytesTransferred: NSUInteger pointer which will be updated with the bytes transferred during the request

Parameter completionTimeout: Timeout of the request. If 0, the request will never timeout. Must be 0 for interrupt pipes and streams.

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

bytes_transferred must be a valid pointer or null.

Source

pub unsafe fn enqueueIORequestWithData_completionTimeout_error_completionHandler( &self, data: Option<&NSMutableData>, completion_timeout: NSTimeInterval, error: Option<&mut Option<Retained<NSError>>>, completion_handler: IOUSBHostCompletionHandler, ) -> bool

Available on crate features IOUSBHostDefinitions and block2 only.

Enqueue an IO request on the source

This method is used to issue an asynchronous I/O request on a bulk or interrupt pipe.

Parameter data: An NSMutableData* containing the buffer to use for the transfer. nil will send a zero length packet.

Parameter completionTimeout: Timeout of the request. If 0, the request will never timeout. Must be 0 for interrupt pipes and streams.

Parameter completionHandler: an IOUSBHostCompletionHandler

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

completion_handler must be a valid pointer or null.

Source

pub unsafe fn sendIORequestWithData_frameList_frameListCount_firstFrameNumber_error( &self, data: &NSMutableData, frame_list: NonNull<IOUSBHostIsochronousFrame>, frame_list_count: NSUInteger, first_frame_number: u64, ) -> Result<(), Retained<NSError>>

👎Deprecated
Available on crate feature IOUSBHostDefinitions only.

Send a request on an isochronous endpoint

This method is used to issue isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousFrame structures, which is used to describe the frames that will be transferred. See

 IOUSBHostIsochronousFrame

for information regarding structure initialization requirements and usage.

Parameter data: An NSMutableData* to be used as the backing store for the I/O.

Parameter frameList: Pointer first element in an IOUSBHostIsochronousFrame array. The array must contain at least frameListCount elements.

Parameter frameListCount: Number of elements in frameList .

Parameter firstFrameNumber: Frame number which this request should begin on. The current frame number can be queried via [IOUSBHostObject getFrameNumber] If 0, the transfer will start on the next available frame (XHCI only).

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

frame_list must be a valid pointer.

Source

pub unsafe fn enqueueIORequestWithData_frameList_frameListCount_firstFrameNumber_error_completionHandler( &self, data: &NSMutableData, frame_list: NonNull<IOUSBHostIsochronousFrame>, frame_list_count: NSUInteger, first_frame_number: u64, error: Option<&mut Option<Retained<NSError>>>, completion_handler: IOUSBHostIsochronousCompletionHandler, ) -> bool

👎Deprecated
Available on crate features IOUSBHostDefinitions and block2 only.

Send a request on an isochronous endpoint

This method is used to issue isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousFrame structures, which is used to describe the frames that will be transferred. See

 IOUSBHostIsochronousFrame

for information regarding structure initialization requirements and usage.

Parameter data: An NSMutableData* to be used as the backing store for the I/O.

Parameter frameList: Pointer first element in an IOUSBHostIsochronousFrame array. The array must contain at least frameListCount elements.

Parameter frameListCount: Number of elements in frameList .

Parameter firstFrameNumber: Frame number which this request should begin on. The current frame number can be queried via [IOUSBHostObject frameNumberWithTime] If 0, the transfer will start on the next available frame (XHCI only).

Parameter completionHandler: an IOUSBHostIsochronousCompletionHandler

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety
  • frame_list must be a valid pointer.
  • completion_handler must be a valid pointer or null.
Source

pub unsafe fn sendIORequestWithData_transactionList_transactionListCount_firstFrameNumber_options_error( &self, data: &NSMutableData, transaction_list: NonNull<IOUSBHostIsochronousTransaction>, transaction_list_count: NSUInteger, first_frame_number: u64, options: IOUSBHostIsochronousTransferOptions, ) -> Result<(), Retained<NSError>>

Available on crate feature IOUSBHostDefinitions only.

Send a request on an isochronous endpoint

This method is used to issue isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousTransaction structures, which is used to describe the frames that will be transferred. See

 IOUSBHostIsochronousTransaction

for information regarding structure initialization requirements and usage.

Parameter data: An NSMutableData* to be used as the backing store for the I/O.

Parameter transactionList: Pointer to the first element in an IOUSBHostIsochronousTransaction array. The array must contain at least transactionListCount elements.

Parameter transactionListCount: Number of elements in transactionList .

Parameter firstFrameNumber: Frame number which this request should begin on. The current frame number can be queried via [IOUSBHostObject getFrameNumber] If 0, the transfer will start on the next available frame (XHCI only).

Parameter options: Flags that specify additional behavior for every transaction in this transfer. See

 IOUSBHostIsochronousTransferOptions

for more details.

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety

transaction_list must be a valid pointer.

Source

pub unsafe fn enqueueIORequestWithData_transactionList_transactionListCount_firstFrameNumber_options_error_completionHandler( &self, data: &NSMutableData, transaction_list: NonNull<IOUSBHostIsochronousTransaction>, transaction_list_count: NSUInteger, first_frame_number: u64, options: IOUSBHostIsochronousTransferOptions, error: Option<&mut Option<Retained<NSError>>>, completion_handler: IOUSBHostIsochronousTransactionCompletionHandler, ) -> bool

Available on crate features IOUSBHostDefinitions and block2 only.

Send a request on an isochronous endpoint

This method is used to issue isochronous requests. The caller allocates and initializes an array of IOUSBHostIsochronousTransaction structures, which is used to describe the frames that will be transferred. See

 IOUSBHostIsochronousTransaction

for information regarding structure initialization requirements and usage.

Parameter data: An NSMutableData* to be used as the backing store for the I/O.

Parameter transactionList: Pointer to the first element in an IOUSBHostIsochronousTransaction array. The array must contain at least transactionListCount elements.

Parameter transactionListCount: Number of elements in transactionList .

Parameter firstFrameNumber: Frame number which this request should begin on. The current frame number can be queried via [IOUSBHostObject frameNumberWithTime] If 0, the transfer will start on the next available frame (XHCI only).

Parameter options: Flags that specify additional behavior for every transaction in this transfer.

Parameter completionHandler: an IOUSBHostIsochronousTransactionCompletionHandler

Returns: YES on success, an IOReturn error code will be reported on failure

§Safety
  • transaction_list must be a valid pointer.
  • completion_handler must be a valid pointer or null.
Source

pub unsafe fn enableStreamsWithError(&self) -> Result<(), Retained<NSError>>

Enable streams for the IOUSBHostPipe

This method changes the operational mode of the IOUSBHostPipe to allow streaming endpoint transfers, and must be called before copyStream will return any IOUSBHostStream objects.

Returns: YES on success, an An IOReturn error will be returned if the pipe, device, or underlying host controller does not support streams.

Source

pub unsafe fn disableStreamsWithError(&self) -> Result<(), Retained<NSError>>

Disable streams for the IOUSBHostPipe

This method changes the operational mode of the IOUSBHostPipe to disable streaming endpoint transfers. Calling this method will synchronously abort any outstanding calls on existing IOUSBHostStream objects, and therefore all stream contexts should first be set as non-active on the device via an out-of-band (class-defined) mechanism (USB 3.1 8.12.1.4).

Returns: YES on success, An IOReturn error will be returned if streams were not enabled for this IOUSBHostPipe.

Source

pub unsafe fn copyStreamWithStreamID_error( &self, stream_id: NSUInteger, ) -> Result<Retained<IOUSBHostStream>, Retained<NSError>>

Available on crate feature IOUSBHostStream only.

Return the stream associated with streamID

This method will return the stream associated with streamID . The caller must release the IOUSBHostStream when finished using it. [IOUSBHostPipe enableStreams] must be called before this method will return a stream object.

Parameter streamID: Stream ID in the range of 1 to max , where max can be retrieved by calling getEndpointMaxStreams with the endpoint descriptors.

Returns: Pointer to an IOUSBHostStream object or nil. nil may be returned if either the device or the underlying host controller do not support that stream ID.

Source§

impl IOUSBHostPipe

Methods declared on superclass IOUSBHostIOSource.

Source

pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>

Source§

impl IOUSBHostPipe

Methods declared on superclass NSObject.

Source

pub unsafe fn new() -> Retained<Self>

Methods from Deref<Target = IOUSBHostIOSource>§

Source

pub unsafe fn hostInterface(&self) -> Retained<IOUSBHostInterface>

Available on crate features IOUSBHostInterface and IOUSBHostObject only.

Retrieve the source’s IOUSBHostInterface

Returns: IOUSBHostInterface pointer that the IOSource was created from.

Source

pub unsafe fn deviceAddress(&self) -> NSUInteger

Retrieve the device’s address

Returns: Current address of the device

Source

pub unsafe fn endpointAddress(&self) -> NSUInteger

Retrieve the IOSource’s endpoint address

Returns: Current address of the endpoint

Methods from Deref<Target = NSObject>§

Source

pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !

Handle messages the object doesn’t recognize.

See Apple’s documentation for details.

Methods from Deref<Target = AnyObject>§

Source

pub fn class(&self) -> &'static AnyClass

Dynamically find the class of this object.

§Panics

May panic if the object is invalid (which may be the case for objects returned from unavailable init/new methods).

§Example

Check that an instance of NSObject has the precise class NSObject.

use objc2::ClassType;
use objc2::runtime::NSObject;

let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Source

pub unsafe fn get_ivar<T>(&self, name: &str) -> &T
where T: Encode,

👎Deprecated: this is difficult to use correctly, use Ivar::load instead.

Use Ivar::load instead.

§Safety

The object must have an instance variable with the given name, and it must be of type T.

See Ivar::load_ptr for details surrounding this.

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: DowncastTarget,

Attempt to downcast the object to a class of type T.

This is the reference-variant. Use Retained::downcast if you want to convert a retained object to another type.

§Mutable classes

Some classes have immutable and mutable variants, such as NSString and NSMutableString.

When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.

So using this method to convert a NSString to a NSMutableString, while not unsound, is generally frowned upon unless you created the string yourself, or the API explicitly documents the string to be mutable.

See Apple’s documentation on mutability and on isKindOfClass: for more details.

§Generic classes

Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.

You can, however, safely downcast to generic collections where all the type-parameters are AnyObject.

§Panics

This works internally by calling isKindOfClass:. That means that the object must have the instance method of that name, and an exception will be thrown (if CoreFoundation is linked) or the process will abort if that is not the case. In the vast majority of cases, you don’t need to worry about this, since both root objects NSObject and NSProxy implement this method.

§Examples

Cast an NSString back and forth from NSObject.

use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};

let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();

Try (and fail) to cast an NSObject to an NSString.

use objc2_foundation::{NSObject, NSString};

let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());

Try to cast to an array of strings.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();

This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.

Downcast when processing each element instead.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);

for elem in arr {
    if let Some(data) = elem.downcast_ref::<NSString>() {
        // handle `data`
    }
}

Trait Implementations§

Source§

impl AsRef<AnyObject> for IOUSBHostPipe

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<IOUSBHostIOSource> for IOUSBHostPipe

Source§

fn as_ref(&self) -> &IOUSBHostIOSource

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<IOUSBHostPipe> for IOUSBHostPipe

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSObject> for IOUSBHostPipe

Source§

fn as_ref(&self) -> &NSObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for IOUSBHostPipe

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<IOUSBHostIOSource> for IOUSBHostPipe

Source§

fn borrow(&self) -> &IOUSBHostIOSource

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSObject> for IOUSBHostPipe

Source§

fn borrow(&self) -> &NSObject

Immutably borrows from an owned value. Read more
Source§

impl ClassType for IOUSBHostPipe

Source§

const NAME: &'static str = "IOUSBHostPipe"

The name of the Objective-C class that this type represents. Read more
Source§

type Super = IOUSBHostIOSource

The superclass of this class. Read more
Source§

type ThreadKind = <<IOUSBHostPipe as ClassType>::Super as ClassType>::ThreadKind

Whether the type can be used from any thread, or from only the main thread. Read more
Source§

fn class() -> &'static AnyClass

Get a reference to the Objective-C class that this type represents. Read more
Source§

fn as_super(&self) -> &Self::Super

Get an immutable reference to the superclass.
Source§

impl Debug for IOUSBHostPipe

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for IOUSBHostPipe

Source§

type Target = IOUSBHostIOSource

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for IOUSBHostPipe

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for IOUSBHostPipe

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl NSObjectProtocol for IOUSBHostPipe

Source§

fn isEqual(&self, other: Option<&AnyObject>) -> bool
where Self: Sized + Message,

Check whether the object is equal to an arbitrary other object. Read more
Source§

fn hash(&self) -> usize
where Self: Sized + Message,

An integer that can be used as a table address in a hash table structure. Read more
Source§

fn isKindOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of the class, or one of its subclasses. Read more
Source§

fn is_kind_of<T>(&self) -> bool
where T: ClassType, Self: Sized + Message,

👎Deprecated: use isKindOfClass directly, or cast your objects with AnyObject::downcast_ref
Check if the object is an instance of the class type, or one of its subclasses. Read more
Source§

fn isMemberOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of a specific class, without checking subclasses. Read more
Source§

fn respondsToSelector(&self, aSelector: Sel) -> bool
where Self: Sized + Message,

Check whether the object implements or inherits a method with the given selector. Read more
Source§

fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
where Self: Sized + Message,

Check whether the object conforms to a given protocol. Read more
Source§

fn description(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object. Read more
Source§

fn debugDescription(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object to use when debugging. Read more
Source§

fn isProxy(&self) -> bool
where Self: Sized + Message,

Check whether the receiver is a subclass of the NSProxy root class instead of the usual NSObject. Read more
Source§

fn retainCount(&self) -> usize
where Self: Sized + Message,

The reference count of the object. Read more
Source§

impl PartialEq for IOUSBHostPipe

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for IOUSBHostPipe

Source§

const ENCODING_REF: Encoding = <IOUSBHostIOSource as ::objc2::RefEncode>::ENCODING_REF

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl DowncastTarget for IOUSBHostPipe

Source§

impl Eq for IOUSBHostPipe

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T> AnyThread for T
where T: ClassType<ThreadKind = dyn AnyThread + 'a> + ?Sized,

Source§

fn alloc() -> Allocated<Self>
where Self: Sized + ClassType,

Allocate a new instance of the class. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,