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")]
26extern_conformance!(
27    unsafe impl NSCopying for VZNVMExpressControllerDeviceConfiguration {}
28);
29
30#[cfg(feature = "VZStorageDeviceConfiguration")]
31unsafe impl CopyingHelper for VZNVMExpressControllerDeviceConfiguration {
32    type Result = Self;
33}
34
35#[cfg(feature = "VZStorageDeviceConfiguration")]
36extern_conformance!(
37    unsafe impl NSObjectProtocol for VZNVMExpressControllerDeviceConfiguration {}
38);
39
40#[cfg(feature = "VZStorageDeviceConfiguration")]
41impl VZNVMExpressControllerDeviceConfiguration {
42    extern_methods!(
43        #[cfg(feature = "VZStorageDeviceAttachment")]
44        /// Initialize a VZNVMExpressControllerDeviceConfiguration with a device attachment.
45        ///
46        /// Parameter `attachment`: The storage device attachment. This defines how the virtualized device operates on the host side.
47        ///
48        /// See: VZDiskImageStorageDeviceAttachment
49        #[unsafe(method(initWithAttachment:))]
50        #[unsafe(method_family = init)]
51        pub unsafe fn initWithAttachment(
52            this: Allocated<Self>,
53            attachment: &VZStorageDeviceAttachment,
54        ) -> Retained<Self>;
55    );
56}
57
58/// Methods declared on superclass `VZStorageDeviceConfiguration`.
59#[cfg(feature = "VZStorageDeviceConfiguration")]
60impl VZNVMExpressControllerDeviceConfiguration {
61    extern_methods!(
62        #[unsafe(method(new))]
63        #[unsafe(method_family = new)]
64        pub unsafe fn new() -> Retained<Self>;
65
66        #[unsafe(method(init))]
67        #[unsafe(method_family = init)]
68        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
69    );
70}