objc2_virtualization/generated/
VZUSBMassStorageDeviceConfiguration.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 a USB Mass Storage storage device.
11    ///
12    /// This device configuration creates a storage device that conforms to the USB Mass Storage specification.
13    ///
14    /// See also [Apple's documentation](https://developer.apple.com/documentation/virtualization/vzusbmassstoragedeviceconfiguration?language=objc)
15    #[unsafe(super(VZStorageDeviceConfiguration, NSObject))]
16    #[derive(Debug, PartialEq, Eq, Hash)]
17    #[cfg(feature = "VZStorageDeviceConfiguration")]
18    pub struct VZUSBMassStorageDeviceConfiguration;
19);
20
21#[cfg(feature = "VZStorageDeviceConfiguration")]
22extern_conformance!(
23    unsafe impl NSCopying for VZUSBMassStorageDeviceConfiguration {}
24);
25
26#[cfg(feature = "VZStorageDeviceConfiguration")]
27unsafe impl CopyingHelper for VZUSBMassStorageDeviceConfiguration {
28    type Result = Self;
29}
30
31#[cfg(feature = "VZStorageDeviceConfiguration")]
32extern_conformance!(
33    unsafe impl NSObjectProtocol for VZUSBMassStorageDeviceConfiguration {}
34);
35
36#[cfg(all(
37    feature = "VZStorageDeviceConfiguration",
38    feature = "VZUSBDeviceConfiguration"
39))]
40extern_conformance!(
41    unsafe impl VZUSBDeviceConfiguration for VZUSBMassStorageDeviceConfiguration {}
42);
43
44#[cfg(feature = "VZStorageDeviceConfiguration")]
45impl VZUSBMassStorageDeviceConfiguration {
46    extern_methods!(
47        #[cfg(feature = "VZStorageDeviceAttachment")]
48        /// Initialize a VZUSBMassStorageDeviceConfiguration with a device attachment.
49        ///
50        /// Parameter `attachment`: The storage device attachment. This defines how the virtualized device operates on the host side.
51        ///
52        /// See: VZDiskImageStorageDeviceAttachment
53        #[unsafe(method(initWithAttachment:))]
54        #[unsafe(method_family = init)]
55        pub unsafe fn initWithAttachment(
56            this: Allocated<Self>,
57            attachment: &VZStorageDeviceAttachment,
58        ) -> Retained<Self>;
59    );
60}
61
62/// Methods declared on superclass `VZStorageDeviceConfiguration`.
63#[cfg(feature = "VZStorageDeviceConfiguration")]
64impl VZUSBMassStorageDeviceConfiguration {
65    extern_methods!(
66        #[unsafe(method(new))]
67        #[unsafe(method_family = new)]
68        pub unsafe fn new() -> Retained<Self>;
69
70        #[unsafe(method(init))]
71        #[unsafe(method_family = init)]
72        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
73    );
74}