objc2_virtualization/generated/
VZUSBDeviceConfiguration.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_protocol!(
11    /// Protocol for USB Device configuration.
12    ///
13    /// Classes that conform to this protocol represent hot-pluggable USB device configurations.
14    /// VZUSBDeviceConfiguration protocol should not be used with objects outside of Virtualization framework.
15    /// This protocol only describes capabilities of Virtualization framework objects.
16    ///
17    /// See: VZUSBMassStorageDeviceConfiguration
18    ///
19    /// See also [Apple's documentation](https://developer.apple.com/documentation/virtualization/vzusbdeviceconfiguration?language=objc)
20    pub unsafe trait VZUSBDeviceConfiguration: NSObjectProtocol {
21        /// Device UUID.
22        ///
23        /// Device UUID is auto-generated.
24        /// Before restoring the virtual machine, it should be replaced with the uuid of a previously attached device when the virtual machine was saved.
25        #[unsafe(method(uuid))]
26        #[unsafe(method_family = none)]
27        unsafe fn uuid(&self) -> Retained<NSUUID>;
28
29        /// Setter for [`uuid`][Self::uuid].
30        #[unsafe(method(setUuid:))]
31        #[unsafe(method_family = none)]
32        unsafe fn setUuid(&self, uuid: &NSUUID);
33    }
34);