use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(MLTask, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "MLTask")]
pub struct MLUpdateTask;
);
#[cfg(feature = "MLTask")]
extern_conformance!(
unsafe impl NSObjectProtocol for MLUpdateTask {}
);
#[cfg(feature = "MLTask")]
impl MLUpdateTask {
extern_methods!(
#[cfg(all(
feature = "MLBatchProvider",
feature = "MLModelConfiguration",
feature = "MLUpdateContext",
feature = "block2"
))]
#[unsafe(method(updateTaskForModelAtURL:trainingData:configuration:completionHandler:error:_))]
#[unsafe(method_family = none)]
pub unsafe fn updateTaskForModelAtURL_trainingData_configuration_completionHandler_error(
model_url: &NSURL,
training_data: &ProtocolObject<dyn MLBatchProvider>,
configuration: Option<&MLModelConfiguration>,
completion_handler: &block2::DynBlock<dyn Fn(NonNull<MLUpdateContext>)>,
) -> Result<Retained<Self>, Retained<NSError>>;
#[cfg(all(
feature = "MLBatchProvider",
feature = "MLUpdateContext",
feature = "block2"
))]
#[unsafe(method(updateTaskForModelAtURL:trainingData:completionHandler:error:_))]
#[unsafe(method_family = none)]
pub unsafe fn updateTaskForModelAtURL_trainingData_completionHandler_error(
model_url: &NSURL,
training_data: &ProtocolObject<dyn MLBatchProvider>,
completion_handler: &block2::DynBlock<dyn Fn(NonNull<MLUpdateContext>)>,
) -> Result<Retained<Self>, Retained<NSError>>;
#[cfg(all(
feature = "MLBatchProvider",
feature = "MLModelConfiguration",
feature = "MLUpdateProgressHandlers"
))]
#[unsafe(method(updateTaskForModelAtURL:trainingData:configuration:progressHandlers:error:_))]
#[unsafe(method_family = none)]
pub unsafe fn updateTaskForModelAtURL_trainingData_configuration_progressHandlers_error(
model_url: &NSURL,
training_data: &ProtocolObject<dyn MLBatchProvider>,
configuration: Option<&MLModelConfiguration>,
progress_handlers: &MLUpdateProgressHandlers,
) -> Result<Retained<Self>, Retained<NSError>>;
#[cfg(all(feature = "MLBatchProvider", feature = "MLUpdateProgressHandlers"))]
#[unsafe(method(updateTaskForModelAtURL:trainingData:progressHandlers:error:_))]
#[unsafe(method_family = none)]
pub unsafe fn updateTaskForModelAtURL_trainingData_progressHandlers_error(
model_url: &NSURL,
training_data: &ProtocolObject<dyn MLBatchProvider>,
progress_handlers: &MLUpdateProgressHandlers,
) -> Result<Retained<Self>, Retained<NSError>>;
#[cfg(all(feature = "MLKey", feature = "MLParameterKey"))]
#[unsafe(method(resumeWithParameters:))]
#[unsafe(method_family = none)]
pub unsafe fn resumeWithParameters(
&self,
update_parameters: &NSDictionary<MLParameterKey, AnyObject>,
);
#[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>;
);
}