use objc2::__framework_prelude::*;
use objc2_foundation::*;
#[cfg(feature = "objc2-link-presentation")]
#[cfg(not(target_os = "watchos"))]
use objc2_link_presentation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UIDocumentProperties;
unsafe impl ClassType for UIDocumentProperties {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSObjectProtocol for UIDocumentProperties {}
extern_methods!(
unsafe impl UIDocumentProperties {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithURL:)]
pub unsafe fn initWithURL(this: Allocated<Self>, url: &NSURL) -> Retained<Self>;
#[cfg(feature = "objc2-link-presentation")]
#[cfg(not(target_os = "watchos"))]
#[method_id(@__retain_semantics Init initWithMetadata:)]
pub unsafe fn initWithMetadata(
this: Allocated<Self>,
metadata: &LPLinkMetadata,
) -> Retained<Self>;
#[cfg(feature = "objc2-link-presentation")]
#[cfg(not(target_os = "watchos"))]
#[method_id(@__retain_semantics Other metadata)]
pub unsafe fn metadata(&self) -> Retained<LPLinkMetadata>;
#[cfg(feature = "objc2-link-presentation")]
#[cfg(not(target_os = "watchos"))]
#[method(setMetadata:)]
pub unsafe fn setMetadata(&self, metadata: &LPLinkMetadata);
#[cfg(all(feature = "UIDragItem", feature = "UIDragSession", feature = "block2"))]
#[method(dragItemsProvider)]
pub unsafe fn dragItemsProvider(
&self,
) -> *mut block2::Block<
dyn Fn(NonNull<ProtocolObject<dyn UIDragSession>>) -> NonNull<NSArray<UIDragItem>>,
>;
#[cfg(all(feature = "UIDragItem", feature = "UIDragSession", feature = "block2"))]
#[method(setDragItemsProvider:)]
pub unsafe fn setDragItemsProvider(
&self,
drag_items_provider: Option<
&block2::Block<
dyn Fn(
NonNull<ProtocolObject<dyn UIDragSession>>,
) -> NonNull<NSArray<UIDragItem>>,
>,
>,
);
#[cfg(all(
feature = "UIActivityViewController",
feature = "UIResponder",
feature = "UIViewController",
feature = "block2"
))]
#[method(activityViewControllerProvider)]
pub unsafe fn activityViewControllerProvider(
&self,
) -> *mut block2::Block<dyn Fn() -> NonNull<UIActivityViewController>>;
#[cfg(all(
feature = "UIActivityViewController",
feature = "UIResponder",
feature = "UIViewController",
feature = "block2"
))]
#[method(setActivityViewControllerProvider:)]
pub unsafe fn setActivityViewControllerProvider(
&self,
activity_view_controller_provider: Option<
&block2::Block<dyn Fn() -> NonNull<UIActivityViewController>>,
>,
);
#[method(wantsIconRepresentation)]
pub unsafe fn wantsIconRepresentation(&self) -> bool;
#[method(setWantsIconRepresentation:)]
pub unsafe fn setWantsIconRepresentation(&self, wants_icon_representation: bool);
}
);