objc2-fs-kit 0.3.2

Bindings to the FSKit framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
use objc2::__framework_prelude::*;

use crate::*;

extern_class!(
    /// An abstract base class for implementing a full-featured file system.
    ///
    /// `FSFileSystem` is a full-featured file system, which works with one or more ``FSResource`` instances and presents one or more ``FSVolume`` references to callers.
    ///
    /// Implement your app extension by providing a subclass of `FSFileSystem` as a delegate object.
    /// Your delegate also needs to implement the `FSFileSystemOperations` protocol so that it can probe, load, and unload resources.
    ///
    /// > Note: The current version of FSKit supports only ``FSUnaryFileSystem``, not `FSFileSystem`.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/fskit/fsfilesystem?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct FSFileSystem;
);

#[cfg(feature = "FSFileSystemBase")]
extern_conformance!(
    unsafe impl FSFileSystemBase for FSFileSystem {}
);

extern_conformance!(
    unsafe impl NSObjectProtocol for FSFileSystem {}
);

impl FSFileSystem {
    extern_methods!();
}

/// Methods declared on superclass `NSObject`.
impl FSFileSystem {
    extern_methods!(
        #[unsafe(method(init))]
        #[unsafe(method_family = init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;
    );
}