use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UIDocumentInteractionController;
unsafe impl ClassType for UIDocumentInteractionController {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSObjectProtocol for UIDocumentInteractionController {}
#[cfg(feature = "UIActionSheet")]
unsafe impl UIActionSheetDelegate for UIDocumentInteractionController {}
extern_methods!(
unsafe impl UIDocumentInteractionController {
#[method_id(@__retain_semantics Other interactionControllerWithURL:)]
pub unsafe fn interactionControllerWithURL(
url: &NSURL,
mtm: MainThreadMarker,
) -> Retained<UIDocumentInteractionController>;
#[method_id(@__retain_semantics Other delegate)]
pub unsafe fn delegate(
&self,
) -> Option<Retained<ProtocolObject<dyn UIDocumentInteractionControllerDelegate>>>;
#[method(setDelegate:)]
pub unsafe fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn UIDocumentInteractionControllerDelegate>>,
);
#[method_id(@__retain_semantics Other URL)]
pub unsafe fn URL(&self) -> Option<Retained<NSURL>>;
#[method(setURL:)]
pub unsafe fn setURL(&self, url: Option<&NSURL>);
#[method_id(@__retain_semantics Other UTI)]
pub unsafe fn UTI(&self) -> Option<Retained<NSString>>;
#[method(setUTI:)]
pub unsafe fn setUTI(&self, uti: Option<&NSString>);
#[method_id(@__retain_semantics Other name)]
pub unsafe fn name(&self) -> Option<Retained<NSString>>;
#[method(setName:)]
pub unsafe fn setName(&self, name: Option<&NSString>);
#[cfg(feature = "UIImage")]
#[method_id(@__retain_semantics Other icons)]
pub unsafe fn icons(&self) -> Retained<NSArray<UIImage>>;
#[method_id(@__retain_semantics Other annotation)]
pub unsafe fn annotation(&self) -> Option<Retained<AnyObject>>;
#[method(setAnnotation:)]
pub unsafe fn setAnnotation(&self, annotation: Option<&AnyObject>);
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
#[method(presentOptionsMenuFromRect:inView:animated:)]
pub unsafe fn presentOptionsMenuFromRect_inView_animated(
&self,
rect: CGRect,
view: &UIView,
animated: bool,
) -> bool;
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
#[method(presentOptionsMenuFromBarButtonItem:animated:)]
pub unsafe fn presentOptionsMenuFromBarButtonItem_animated(
&self,
item: &UIBarButtonItem,
animated: bool,
) -> bool;
#[method(presentPreviewAnimated:)]
pub unsafe fn presentPreviewAnimated(&self, animated: bool) -> bool;
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
#[method(presentOpenInMenuFromRect:inView:animated:)]
pub unsafe fn presentOpenInMenuFromRect_inView_animated(
&self,
rect: CGRect,
view: &UIView,
animated: bool,
) -> bool;
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
#[method(presentOpenInMenuFromBarButtonItem:animated:)]
pub unsafe fn presentOpenInMenuFromBarButtonItem_animated(
&self,
item: &UIBarButtonItem,
animated: bool,
) -> bool;
#[method(dismissPreviewAnimated:)]
pub unsafe fn dismissPreviewAnimated(&self, animated: bool);
#[method(dismissMenuAnimated:)]
pub unsafe fn dismissMenuAnimated(&self, animated: bool);
#[cfg(feature = "UIGestureRecognizer")]
#[method_id(@__retain_semantics Other gestureRecognizers)]
pub unsafe fn gestureRecognizers(&self) -> Retained<NSArray<UIGestureRecognizer>>;
}
);
extern_methods!(
unsafe impl UIDocumentInteractionController {
#[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>;
}
);
extern_protocol!(
pub unsafe trait UIDocumentInteractionControllerDelegate: NSObjectProtocol {
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[optional]
#[method_id(@__retain_semantics Other documentInteractionControllerViewControllerForPreview:)]
unsafe fn documentInteractionControllerViewControllerForPreview(
&self,
controller: &UIDocumentInteractionController,
) -> Retained<UIViewController>;
#[optional]
#[method(documentInteractionControllerRectForPreview:)]
unsafe fn documentInteractionControllerRectForPreview(
&self,
controller: &UIDocumentInteractionController,
) -> CGRect;
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
#[optional]
#[method_id(@__retain_semantics Other documentInteractionControllerViewForPreview:)]
unsafe fn documentInteractionControllerViewForPreview(
&self,
controller: &UIDocumentInteractionController,
) -> Option<Retained<UIView>>;
#[optional]
#[method(documentInteractionControllerWillBeginPreview:)]
unsafe fn documentInteractionControllerWillBeginPreview(
&self,
controller: &UIDocumentInteractionController,
);
#[optional]
#[method(documentInteractionControllerDidEndPreview:)]
unsafe fn documentInteractionControllerDidEndPreview(
&self,
controller: &UIDocumentInteractionController,
);
#[optional]
#[method(documentInteractionControllerWillPresentOptionsMenu:)]
unsafe fn documentInteractionControllerWillPresentOptionsMenu(
&self,
controller: &UIDocumentInteractionController,
);
#[optional]
#[method(documentInteractionControllerDidDismissOptionsMenu:)]
unsafe fn documentInteractionControllerDidDismissOptionsMenu(
&self,
controller: &UIDocumentInteractionController,
);
#[optional]
#[method(documentInteractionControllerWillPresentOpenInMenu:)]
unsafe fn documentInteractionControllerWillPresentOpenInMenu(
&self,
controller: &UIDocumentInteractionController,
);
#[optional]
#[method(documentInteractionControllerDidDismissOpenInMenu:)]
unsafe fn documentInteractionControllerDidDismissOpenInMenu(
&self,
controller: &UIDocumentInteractionController,
);
#[optional]
#[method(documentInteractionController:willBeginSendingToApplication:)]
unsafe fn documentInteractionController_willBeginSendingToApplication(
&self,
controller: &UIDocumentInteractionController,
application: Option<&NSString>,
);
#[optional]
#[method(documentInteractionController:didEndSendingToApplication:)]
unsafe fn documentInteractionController_didEndSendingToApplication(
&self,
controller: &UIDocumentInteractionController,
application: Option<&NSString>,
);
#[deprecated]
#[optional]
#[method(documentInteractionController:canPerformAction:)]
unsafe fn documentInteractionController_canPerformAction(
&self,
controller: &UIDocumentInteractionController,
action: Option<Sel>,
) -> bool;
#[deprecated]
#[optional]
#[method(documentInteractionController:performAction:)]
unsafe fn documentInteractionController_performAction(
&self,
controller: &UIDocumentInteractionController,
action: Option<Sel>,
) -> bool;
}
unsafe impl ProtocolType for dyn UIDocumentInteractionControllerDelegate {}
);