objc2-class-kit 0.3.2

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

use crate::*;

extern_protocol!(
    /// The CLSContext provider protocol.
    ///
    /// The app extension that provides CLSContexts should adopt this protocol.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/classkit/clscontextprovider?language=objc)
    pub unsafe trait CLSContextProvider {
        #[cfg(all(feature = "CLSContext", feature = "CLSObject", feature = "block2"))]
        /// This method asks the app extension to update CLSContexts that are descendants of a given context.
        ///
        /// Parameter `context`: A CLSContext whose descendants are to be updated
        ///
        /// Parameter `completion`: A completion block the extension should call with an optional error to indicate success or failure.
        ///
        /// The extension may choose to modify, delete, or create some or all descendants of the given context. The host app may call this method as the user selects a context.
        #[unsafe(method(updateDescendantsOfContext:completion:))]
        #[unsafe(method_family = none)]
        unsafe fn updateDescendantsOfContext_completion(
            &self,
            context: &CLSContext,
            completion: &block2::DynBlock<dyn Fn(*mut NSError)>,
        );
    }
);