use objc2::__framework_prelude::*;
use objc2_foundation::*;
#[cfg(feature = "objc2-uniform-type-identifiers")]
use objc2_uniform_type_identifiers::*;
use crate::*;
extern "C" {
pub static UIDocumentBrowserErrorDomain: &'static NSErrorDomain;
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIDocumentBrowserErrorCode(pub NSInteger);
impl UIDocumentBrowserErrorCode {
pub const UIDocumentBrowserErrorGeneric: Self = Self(1);
pub const UIDocumentBrowserErrorNoLocationAvailable: Self = Self(2);
}
unsafe impl Encode for UIDocumentBrowserErrorCode {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for UIDocumentBrowserErrorCode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIDocumentBrowserImportMode(pub NSUInteger);
impl UIDocumentBrowserImportMode {
#[doc(alias = "UIDocumentBrowserImportModeNone")]
pub const None: Self = Self(0);
#[doc(alias = "UIDocumentBrowserImportModeCopy")]
pub const Copy: Self = Self(1);
#[doc(alias = "UIDocumentBrowserImportModeMove")]
pub const Move: Self = Self(2);
}
unsafe impl Encode for UIDocumentBrowserImportMode {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for UIDocumentBrowserImportMode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIDocumentBrowserUserInterfaceStyle(pub NSUInteger);
impl UIDocumentBrowserUserInterfaceStyle {
#[doc(alias = "UIDocumentBrowserUserInterfaceStyleWhite")]
pub const White: Self = Self(0);
#[doc(alias = "UIDocumentBrowserUserInterfaceStyleLight")]
pub const Light: Self = Self(1);
#[doc(alias = "UIDocumentBrowserUserInterfaceStyleDark")]
pub const Dark: Self = Self(2);
}
unsafe impl Encode for UIDocumentBrowserUserInterfaceStyle {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for UIDocumentBrowserUserInterfaceStyle {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
pub struct UIDocumentBrowserViewController;
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl ClassType for UIDocumentBrowserViewController {
#[inherits(UIResponder, NSObject)]
type Super = UIViewController;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl NSCoding for UIDocumentBrowserViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl NSObjectProtocol for UIDocumentBrowserViewController {}
#[cfg(all(
feature = "UIAppearance",
feature = "UIResponder",
feature = "UIViewController"
))]
unsafe impl UIAppearanceContainer for UIDocumentBrowserViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIContentContainer for UIDocumentBrowserViewController {}
#[cfg(all(
feature = "UIFocus",
feature = "UIResponder",
feature = "UIViewController"
))]
unsafe impl UIFocusEnvironment for UIDocumentBrowserViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIResponderStandardEditActions for UIDocumentBrowserViewController {}
#[cfg(all(
feature = "UIResponder",
feature = "UITraitCollection",
feature = "UIViewController"
))]
unsafe impl UITraitEnvironment for UIDocumentBrowserViewController {}
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIDocumentBrowserViewController {
#[deprecated]
#[method_id(@__retain_semantics Init initForOpeningFilesWithContentTypes:)]
pub unsafe fn initForOpeningFilesWithContentTypes(
this: Allocated<Self>,
allowed_content_types: Option<&NSArray<NSString>>,
) -> Retained<Self>;
#[cfg(feature = "objc2-uniform-type-identifiers")]
#[method_id(@__retain_semantics Init initForOpeningContentTypes:)]
pub unsafe fn initForOpeningContentTypes(
this: Allocated<Self>,
content_types: Option<&NSArray<UTType>>,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithNibName:bundle:)]
pub unsafe fn initWithNibName_bundle(
this: Allocated<Self>,
nib_name: Option<&NSString>,
bundle: Option<&NSBundle>,
) -> Retained<Self>;
#[method_id(@__retain_semantics Other delegate)]
pub unsafe fn delegate(
&self,
) -> Option<Retained<ProtocolObject<dyn UIDocumentBrowserViewControllerDelegate>>>;
#[method(setDelegate:)]
pub unsafe fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn UIDocumentBrowserViewControllerDelegate>>,
);
#[method(allowsDocumentCreation)]
pub unsafe fn allowsDocumentCreation(&self) -> bool;
#[method(setAllowsDocumentCreation:)]
pub unsafe fn setAllowsDocumentCreation(&self, allows_document_creation: bool);
#[method(allowsPickingMultipleItems)]
pub unsafe fn allowsPickingMultipleItems(&self) -> bool;
#[method(setAllowsPickingMultipleItems:)]
pub unsafe fn setAllowsPickingMultipleItems(&self, allows_picking_multiple_items: bool);
#[deprecated = "allowedContentTypes is no longer supported"]
#[method_id(@__retain_semantics Other allowedContentTypes)]
pub unsafe fn allowedContentTypes(&self) -> Retained<NSArray<NSString>>;
#[deprecated]
#[method_id(@__retain_semantics Other recentDocumentsContentTypes)]
pub unsafe fn recentDocumentsContentTypes(&self) -> Retained<NSArray<NSString>>;
#[cfg(feature = "objc2-uniform-type-identifiers")]
#[method_id(@__retain_semantics Other contentTypesForRecentDocuments)]
pub unsafe fn contentTypesForRecentDocuments(&self) -> Retained<NSArray<UTType>>;
#[method(shouldShowFileExtensions)]
pub unsafe fn shouldShowFileExtensions(&self) -> bool;
#[method(setShouldShowFileExtensions:)]
pub unsafe fn setShouldShowFileExtensions(&self, should_show_file_extensions: bool);
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
#[method_id(@__retain_semantics Other additionalLeadingNavigationBarButtonItems)]
pub unsafe fn additionalLeadingNavigationBarButtonItems(
&self,
) -> Retained<NSArray<UIBarButtonItem>>;
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
#[method(setAdditionalLeadingNavigationBarButtonItems:)]
pub unsafe fn setAdditionalLeadingNavigationBarButtonItems(
&self,
additional_leading_navigation_bar_button_items: &NSArray<UIBarButtonItem>,
);
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
#[method_id(@__retain_semantics Other additionalTrailingNavigationBarButtonItems)]
pub unsafe fn additionalTrailingNavigationBarButtonItems(
&self,
) -> Retained<NSArray<UIBarButtonItem>>;
#[cfg(all(feature = "UIBarButtonItem", feature = "UIBarItem"))]
#[method(setAdditionalTrailingNavigationBarButtonItems:)]
pub unsafe fn setAdditionalTrailingNavigationBarButtonItems(
&self,
additional_trailing_navigation_bar_button_items: &NSArray<UIBarButtonItem>,
);
#[cfg(feature = "block2")]
#[method(revealDocumentAtURL:importIfNeeded:completion:)]
pub unsafe fn revealDocumentAtURL_importIfNeeded_completion(
&self,
url: &NSURL,
import_if_needed: bool,
completion: Option<&block2::Block<dyn Fn(*mut NSURL, *mut NSError)>>,
);
#[cfg(feature = "block2")]
#[method(importDocumentAtURL:nextToDocumentAtURL:mode:completionHandler:)]
pub unsafe fn importDocumentAtURL_nextToDocumentAtURL_mode_completionHandler(
&self,
document_url: &NSURL,
neighbour_url: &NSURL,
import_mode: UIDocumentBrowserImportMode,
completion: &block2::Block<dyn Fn(*mut NSURL, *mut NSError)>,
);
#[cfg(feature = "block2")]
#[method(renameDocumentAtURL:proposedName:completionHandler:)]
pub unsafe fn renameDocumentAtURL_proposedName_completionHandler(
&self,
document_url: &NSURL,
proposed_name: &NSString,
completion_handler: &block2::Block<dyn Fn(*mut NSURL, *mut NSError)>,
);
#[method_id(@__retain_semantics Other transitionControllerForDocumentAtURL:)]
pub unsafe fn transitionControllerForDocumentAtURL(
&self,
document_url: &NSURL,
) -> Retained<UIDocumentBrowserTransitionController>;
#[deprecated]
#[method_id(@__retain_semantics Other transitionControllerForDocumentURL:)]
pub unsafe fn transitionControllerForDocumentURL(
&self,
document_url: &NSURL,
) -> Retained<UIDocumentBrowserTransitionController>;
#[cfg(feature = "UIDocumentBrowserAction")]
#[method_id(@__retain_semantics Other customActions)]
pub unsafe fn customActions(&self) -> Retained<NSArray<UIDocumentBrowserAction>>;
#[cfg(feature = "UIDocumentBrowserAction")]
#[method(setCustomActions:)]
pub unsafe fn setCustomActions(&self, custom_actions: &NSArray<UIDocumentBrowserAction>);
#[method(browserUserInterfaceStyle)]
pub unsafe fn browserUserInterfaceStyle(&self) -> UIDocumentBrowserUserInterfaceStyle;
#[method(setBrowserUserInterfaceStyle:)]
pub unsafe fn setBrowserUserInterfaceStyle(
&self,
browser_user_interface_style: UIDocumentBrowserUserInterfaceStyle,
);
#[method_id(@__retain_semantics Other localizedCreateDocumentActionTitle)]
pub unsafe fn localizedCreateDocumentActionTitle(&self) -> Retained<NSString>;
#[method(setLocalizedCreateDocumentActionTitle:)]
pub unsafe fn setLocalizedCreateDocumentActionTitle(
&self,
localized_create_document_action_title: &NSString,
);
#[method(defaultDocumentAspectRatio)]
pub unsafe fn defaultDocumentAspectRatio(&self) -> CGFloat;
#[method(setDefaultDocumentAspectRatio:)]
pub unsafe fn setDefaultDocumentAspectRatio(&self, default_document_aspect_ratio: CGFloat);
}
);
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIDocumentBrowserViewController {
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
}
);
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIDocumentBrowserViewController {
#[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 UIDocumentBrowserViewControllerDelegate: NSObjectProtocol {
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[deprecated]
#[optional]
#[method(documentBrowser:didPickDocumentURLs:)]
unsafe fn documentBrowser_didPickDocumentURLs(
&self,
controller: &UIDocumentBrowserViewController,
document_ur_ls: &NSArray<NSURL>,
);
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[optional]
#[method(documentBrowser:didPickDocumentsAtURLs:)]
unsafe fn documentBrowser_didPickDocumentsAtURLs(
&self,
controller: &UIDocumentBrowserViewController,
document_ur_ls: &NSArray<NSURL>,
);
#[cfg(all(
feature = "UIResponder",
feature = "UIViewController",
feature = "block2"
))]
#[optional]
#[method(documentBrowser:didRequestDocumentCreationWithHandler:)]
unsafe fn documentBrowser_didRequestDocumentCreationWithHandler(
&self,
controller: &UIDocumentBrowserViewController,
import_handler: &block2::Block<dyn Fn(*mut NSURL, UIDocumentBrowserImportMode)>,
);
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[optional]
#[method(documentBrowser:didImportDocumentAtURL:toDestinationURL:)]
unsafe fn documentBrowser_didImportDocumentAtURL_toDestinationURL(
&self,
controller: &UIDocumentBrowserViewController,
source_url: &NSURL,
destination_url: &NSURL,
);
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[optional]
#[method(documentBrowser:failedToImportDocumentAtURL:error:)]
unsafe fn documentBrowser_failedToImportDocumentAtURL_error(
&self,
controller: &UIDocumentBrowserViewController,
document_url: &NSURL,
error: Option<&NSError>,
);
#[cfg(all(
feature = "UIActivity",
feature = "UIResponder",
feature = "UIViewController"
))]
#[optional]
#[method_id(@__retain_semantics Other documentBrowser:applicationActivitiesForDocumentURLs:)]
unsafe fn documentBrowser_applicationActivitiesForDocumentURLs(
&self,
controller: &UIDocumentBrowserViewController,
document_ur_ls: &NSArray<NSURL>,
) -> Retained<NSArray<UIActivity>>;
#[cfg(all(
feature = "UIActivityViewController",
feature = "UIResponder",
feature = "UIViewController"
))]
#[optional]
#[method(documentBrowser:willPresentActivityViewController:)]
unsafe fn documentBrowser_willPresentActivityViewController(
&self,
controller: &UIDocumentBrowserViewController,
activity_view_controller: &UIActivityViewController,
);
}
unsafe impl ProtocolType for dyn UIDocumentBrowserViewControllerDelegate {}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UIDocumentBrowserTransitionController;
unsafe impl ClassType for UIDocumentBrowserTransitionController {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSObjectProtocol for UIDocumentBrowserTransitionController {}
#[cfg(feature = "UIViewControllerTransitioning")]
unsafe impl UIViewControllerAnimatedTransitioning for UIDocumentBrowserTransitionController {}
extern_methods!(
unsafe impl UIDocumentBrowserTransitionController {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics Other loadingProgress)]
pub unsafe fn loadingProgress(&self) -> Option<Retained<NSProgress>>;
#[method(setLoadingProgress:)]
pub unsafe fn setLoadingProgress(&self, loading_progress: Option<&NSProgress>);
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
#[method_id(@__retain_semantics Other targetView)]
pub unsafe fn targetView(&self) -> Option<Retained<UIView>>;
#[cfg(all(feature = "UIResponder", feature = "UIView"))]
#[method(setTargetView:)]
pub unsafe fn setTargetView(&self, target_view: Option<&UIView>);
}
);
extern_methods!(
unsafe impl UIDocumentBrowserTransitionController {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);