objc2_virtualization/generated/
VZVirtioGraphicsDeviceConfiguration.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11    /// Configuration for a Virtio graphics device.
12    ///
13    /// This device configuration creates a graphics device using paravirtualization.
14    /// The emulated device follows the Virtio GPU Device specification.
15    ///
16    /// This device can be used to attach a display to be shown in a VZVirtualMachineView.
17    ///
18    /// See also [Apple's documentation](https://developer.apple.com/documentation/virtualization/vzvirtiographicsdeviceconfiguration?language=objc)
19    #[unsafe(super(VZGraphicsDeviceConfiguration, NSObject))]
20    #[derive(Debug, PartialEq, Eq, Hash)]
21    #[cfg(feature = "VZGraphicsDeviceConfiguration")]
22    pub struct VZVirtioGraphicsDeviceConfiguration;
23);
24
25#[cfg(feature = "VZGraphicsDeviceConfiguration")]
26extern_conformance!(
27    unsafe impl NSCopying for VZVirtioGraphicsDeviceConfiguration {}
28);
29
30#[cfg(feature = "VZGraphicsDeviceConfiguration")]
31unsafe impl CopyingHelper for VZVirtioGraphicsDeviceConfiguration {
32    type Result = Self;
33}
34
35#[cfg(feature = "VZGraphicsDeviceConfiguration")]
36extern_conformance!(
37    unsafe impl NSObjectProtocol for VZVirtioGraphicsDeviceConfiguration {}
38);
39
40#[cfg(feature = "VZGraphicsDeviceConfiguration")]
41impl VZVirtioGraphicsDeviceConfiguration {
42    extern_methods!(
43        #[unsafe(method(init))]
44        #[unsafe(method_family = init)]
45        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
46
47        #[cfg(all(
48            feature = "VZGraphicsDisplayConfiguration",
49            feature = "VZVirtioGraphicsScanoutConfiguration"
50        ))]
51        /// The scanouts to be attached to this graphics device.
52        ///
53        /// Maximum of one scanout is supported.
54        #[unsafe(method(scanouts))]
55        #[unsafe(method_family = none)]
56        pub unsafe fn scanouts(&self) -> Retained<NSArray<VZVirtioGraphicsScanoutConfiguration>>;
57
58        #[cfg(all(
59            feature = "VZGraphicsDisplayConfiguration",
60            feature = "VZVirtioGraphicsScanoutConfiguration"
61        ))]
62        /// Setter for [`scanouts`][Self::scanouts].
63        #[unsafe(method(setScanouts:))]
64        #[unsafe(method_family = none)]
65        pub unsafe fn setScanouts(&self, scanouts: &NSArray<VZVirtioGraphicsScanoutConfiguration>);
66    );
67}
68
69/// Methods declared on superclass `VZGraphicsDeviceConfiguration`.
70#[cfg(feature = "VZGraphicsDeviceConfiguration")]
71impl VZVirtioGraphicsDeviceConfiguration {
72    extern_methods!(
73        #[unsafe(method(new))]
74        #[unsafe(method_family = new)]
75        pub unsafe fn new() -> Retained<Self>;
76    );
77}