objc2_virtualization/generated/
VZVirtioConsolePortArray.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5
6use crate::*;
7
8extern_class!(
9    /// Virtio Console Port Array
10    ///
11    /// This array stores a collection of ports configured for use by a VZVirtioConsoleDevice. VZVirtioConsolePort objects may be retrieved by index.
12    ///
13    /// See: VZVirtioConsoleDevice
14    ///
15    /// See: VZVirtioConsolePort
16    ///
17    /// See also [Apple's documentation](https://developer.apple.com/documentation/virtualization/vzvirtioconsoleportarray?language=objc)
18    #[unsafe(super(NSObject))]
19    #[derive(Debug, PartialEq, Eq, Hash)]
20    pub struct VZVirtioConsolePortArray;
21);
22
23unsafe impl NSObjectProtocol for VZVirtioConsolePortArray {}
24
25impl VZVirtioConsolePortArray {
26    extern_methods!(
27        #[unsafe(method(new))]
28        #[unsafe(method_family = new)]
29        pub unsafe fn new() -> Retained<Self>;
30
31        #[unsafe(method(init))]
32        #[unsafe(method_family = init)]
33        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
34
35        #[cfg(feature = "VZVirtioConsolePort")]
36        /// Get a port at the specified index.
37        #[unsafe(method(objectAtIndexedSubscript:))]
38        #[unsafe(method_family = none)]
39        pub unsafe fn objectAtIndexedSubscript(
40            &self,
41            port_index: NSUInteger,
42        ) -> Option<Retained<VZVirtioConsolePort>>;
43
44        /// The maximum number of ports allocated by this device.
45        #[unsafe(method(maximumPortCount))]
46        #[unsafe(method_family = none)]
47        pub unsafe fn maximumPortCount(&self) -> u32;
48    );
49}