objc2_virtualization/generated/
VZNVMExpressControllerDeviceConfiguration.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::*;
5use objc2_foundation::*;
6
7use crate::*;
8
9extern_class!(
10    /// Configuration of an NVM Express Controller storage device.
11    ///
12    /// This device configuration creates a storage device that conforms to the NVM Express specification revision 1.1b.
13    ///
14    /// The device configuration is valid only if used with VZGenericPlatformConfiguration.
15    ///
16    /// See: VZGenericPlatformConfiguration
17    ///
18    /// See also [Apple's documentation](https://developer.apple.com/documentation/virtualization/vznvmexpresscontrollerdeviceconfiguration?language=objc)
19    #[unsafe(super(VZStorageDeviceConfiguration, NSObject))]
20    #[derive(Debug, PartialEq, Eq, Hash)]
21    #[cfg(feature = "VZStorageDeviceConfiguration")]
22    pub struct VZNVMExpressControllerDeviceConfiguration;
23);
24
25#[cfg(feature = "VZStorageDeviceConfiguration")]
26unsafe impl NSCopying for VZNVMExpressControllerDeviceConfiguration {}
27
28#[cfg(feature = "VZStorageDeviceConfiguration")]
29unsafe impl CopyingHelper for VZNVMExpressControllerDeviceConfiguration {
30    type Result = Self;
31}
32
33#[cfg(feature = "VZStorageDeviceConfiguration")]
34unsafe impl NSObjectProtocol for VZNVMExpressControllerDeviceConfiguration {}
35
36#[cfg(feature = "VZStorageDeviceConfiguration")]
37impl VZNVMExpressControllerDeviceConfiguration {
38    extern_methods!(
39        #[cfg(feature = "VZStorageDeviceAttachment")]
40        /// Initialize a VZNVMExpressControllerDeviceConfiguration with a device attachment.
41        ///
42        /// Parameter `attachment`: The storage device attachment. This defines how the virtualized device operates on the host side.
43        ///
44        /// See: VZDiskImageStorageDeviceAttachment
45        #[unsafe(method(initWithAttachment:))]
46        #[unsafe(method_family = init)]
47        pub unsafe fn initWithAttachment(
48            this: Allocated<Self>,
49            attachment: &VZStorageDeviceAttachment,
50        ) -> Retained<Self>;
51    );
52}
53
54/// Methods declared on superclass `VZStorageDeviceConfiguration`.
55#[cfg(feature = "VZStorageDeviceConfiguration")]
56impl VZNVMExpressControllerDeviceConfiguration {
57    extern_methods!(
58        #[unsafe(method(new))]
59        #[unsafe(method_family = new)]
60        pub unsafe fn new() -> Retained<Self>;
61
62        #[unsafe(method(init))]
63        #[unsafe(method_family = init)]
64        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
65    );
66}