objc2_virtualization/generated/
VZEFIBootLoader.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    /// Boot loader configuration for booting guest operating systems expecting an EFI ROM.
12    ///
13    /// You must use a VZGenericPlatformConfiguration in conjunction with the EFI boot loader.
14    /// It is invalid to use it with any other platform configuration.
15    ///
16    /// See: VZGenericPlatformConfiguration
17    ///
18    /// See: VZVirtualMachineConfiguration.platform.
19    ///
20    /// See also [Apple's documentation](https://developer.apple.com/documentation/virtualization/vzefibootloader?language=objc)
21    #[unsafe(super(VZBootLoader, NSObject))]
22    #[derive(Debug, PartialEq, Eq, Hash)]
23    #[cfg(feature = "VZBootLoader")]
24    pub struct VZEFIBootLoader;
25);
26
27#[cfg(feature = "VZBootLoader")]
28extern_conformance!(
29    unsafe impl NSCopying for VZEFIBootLoader {}
30);
31
32#[cfg(feature = "VZBootLoader")]
33unsafe impl CopyingHelper for VZEFIBootLoader {
34    type Result = Self;
35}
36
37#[cfg(feature = "VZBootLoader")]
38extern_conformance!(
39    unsafe impl NSObjectProtocol for VZEFIBootLoader {}
40);
41
42#[cfg(feature = "VZBootLoader")]
43impl VZEFIBootLoader {
44    extern_methods!(
45        #[unsafe(method(init))]
46        #[unsafe(method_family = init)]
47        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
48
49        #[cfg(feature = "VZEFIVariableStore")]
50        /// The EFI variable store.
51        #[unsafe(method(variableStore))]
52        #[unsafe(method_family = none)]
53        pub unsafe fn variableStore(&self) -> Option<Retained<VZEFIVariableStore>>;
54
55        #[cfg(feature = "VZEFIVariableStore")]
56        /// Setter for [`variableStore`][Self::variableStore].
57        #[unsafe(method(setVariableStore:))]
58        #[unsafe(method_family = none)]
59        pub unsafe fn setVariableStore(&self, variable_store: Option<&VZEFIVariableStore>);
60    );
61}
62
63/// Methods declared on superclass `VZBootLoader`.
64#[cfg(feature = "VZBootLoader")]
65impl VZEFIBootLoader {
66    extern_methods!(
67        #[unsafe(method(new))]
68        #[unsafe(method_family = new)]
69        pub unsafe fn new() -> Retained<Self>;
70    );
71}