//! 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)>,
);
}
);