objc2_io_usb_host/generated/
IOUSBHostIOSource.rs1use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5#[cfg(feature = "objc2-io-kit")]
6use objc2_io_kit::*;
7
8use crate::*;
9
10#[cfg(feature = "objc2-io-kit")]
23#[repr(C)]
24#[derive(Clone, Copy, Debug, PartialEq)]
25pub struct IOUSBHostIOSourceDescriptors {
26 pub bcdUSB: u16,
27 pub descriptor: IOUSBEndpointDescriptor,
28 pub ssCompanionDescriptor: IOUSBSuperSpeedEndpointCompanionDescriptor,
29 pub sspCompanionDescriptor: IOUSBSuperSpeedPlusIsochronousEndpointCompanionDescriptor,
30}
31
32#[cfg(feature = "objc2-io-kit")]
33unsafe impl Encode for IOUSBHostIOSourceDescriptors {
34 const ENCODING: Encoding = Encoding::Struct(
35 "IOUSBHostIOSourceDescriptors",
36 &[
37 <u16>::ENCODING,
38 <IOUSBEndpointDescriptor>::ENCODING,
39 <IOUSBSuperSpeedEndpointCompanionDescriptor>::ENCODING,
40 <IOUSBSuperSpeedPlusIsochronousEndpointCompanionDescriptor>::ENCODING,
41 ],
42 );
43}
44
45#[cfg(feature = "objc2-io-kit")]
46unsafe impl RefEncode for IOUSBHostIOSourceDescriptors {
47 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
48}
49
50extern_class!(
51 #[unsafe(super(NSObject))]
57 #[derive(Debug, PartialEq, Eq, Hash)]
58 pub struct IOUSBHostIOSource;
59);
60
61extern_conformance!(
62 unsafe impl NSObjectProtocol for IOUSBHostIOSource {}
63);
64
65impl IOUSBHostIOSource {
66 extern_methods!(
67 #[unsafe(method(init))]
68 #[unsafe(method_family = init)]
69 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
70
71 #[cfg(all(feature = "IOUSBHostInterface", feature = "IOUSBHostObject"))]
72 #[unsafe(method(hostInterface))]
76 #[unsafe(method_family = none)]
77 pub unsafe fn hostInterface(&self) -> Retained<IOUSBHostInterface>;
78
79 #[unsafe(method(deviceAddress))]
83 #[unsafe(method_family = none)]
84 pub unsafe fn deviceAddress(&self) -> NSUInteger;
85
86 #[unsafe(method(endpointAddress))]
90 #[unsafe(method_family = none)]
91 pub unsafe fn endpointAddress(&self) -> NSUInteger;
92 );
93}
94
95impl IOUSBHostIOSource {
97 extern_methods!(
98 #[unsafe(method(new))]
99 #[unsafe(method_family = new)]
100 pub unsafe fn new() -> Retained<Self>;
101 );
102}