use objc2::__framework_prelude::*;
use objc2_foundation::*;
#[cfg(feature = "objc2-uniform-type-identifiers")]
use objc2_uniform_type_identifiers::*;
use crate::*;
extern_protocol!(
pub unsafe trait UIDocumentPickerDelegate: NSObjectProtocol + IsMainThreadOnly {
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[optional]
#[method(documentPicker:didPickDocumentsAtURLs:)]
unsafe fn documentPicker_didPickDocumentsAtURLs(
&self,
controller: &UIDocumentPickerViewController,
urls: &NSArray<NSURL>,
);
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[optional]
#[method(documentPickerWasCancelled:)]
unsafe fn documentPickerWasCancelled(&self, controller: &UIDocumentPickerViewController);
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
#[deprecated]
#[optional]
#[method(documentPicker:didPickDocumentAtURL:)]
unsafe fn documentPicker_didPickDocumentAtURL(
&self,
controller: &UIDocumentPickerViewController,
url: &NSURL,
);
}
unsafe impl ProtocolType for dyn UIDocumentPickerDelegate {}
);
#[deprecated = "Use appropriate initializers instead"]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIDocumentPickerMode(pub NSUInteger);
impl UIDocumentPickerMode {
#[deprecated = "Use appropriate initializers instead"]
#[doc(alias = "UIDocumentPickerModeImport")]
pub const Import: Self = Self(0);
#[deprecated = "Use appropriate initializers instead"]
#[doc(alias = "UIDocumentPickerModeOpen")]
pub const Open: Self = Self(1);
#[deprecated = "Use appropriate initializers instead"]
#[doc(alias = "UIDocumentPickerModeExportToService")]
pub const ExportToService: Self = Self(2);
#[deprecated = "Use appropriate initializers instead"]
#[doc(alias = "UIDocumentPickerModeMoveToService")]
pub const MoveToService: Self = Self(3);
}
unsafe impl Encode for UIDocumentPickerMode {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for UIDocumentPickerMode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
pub struct UIDocumentPickerViewController;
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl ClassType for UIDocumentPickerViewController {
#[inherits(UIResponder, NSObject)]
type Super = UIViewController;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl NSCoding for UIDocumentPickerViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl NSObjectProtocol for UIDocumentPickerViewController {}
#[cfg(all(
feature = "UIAppearance",
feature = "UIResponder",
feature = "UIViewController"
))]
unsafe impl UIAppearanceContainer for UIDocumentPickerViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIContentContainer for UIDocumentPickerViewController {}
#[cfg(all(
feature = "UIFocus",
feature = "UIResponder",
feature = "UIViewController"
))]
unsafe impl UIFocusEnvironment for UIDocumentPickerViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIResponderStandardEditActions for UIDocumentPickerViewController {}
#[cfg(all(
feature = "UIResponder",
feature = "UITraitCollection",
feature = "UIViewController"
))]
unsafe impl UITraitEnvironment for UIDocumentPickerViewController {}
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIDocumentPickerViewController {
#[deprecated]
#[method_id(@__retain_semantics Init initWithDocumentTypes:inMode:)]
pub unsafe fn initWithDocumentTypes_inMode(
this: Allocated<Self>,
allowed_ut_is: &NSArray<NSString>,
mode: UIDocumentPickerMode,
) -> Retained<Self>;
#[cfg(feature = "objc2-uniform-type-identifiers")]
#[method_id(@__retain_semantics Init initForOpeningContentTypes:asCopy:)]
pub unsafe fn initForOpeningContentTypes_asCopy(
this: Allocated<Self>,
content_types: &NSArray<UTType>,
as_copy: bool,
) -> Retained<Self>;
#[cfg(feature = "objc2-uniform-type-identifiers")]
#[method_id(@__retain_semantics Init initForOpeningContentTypes:)]
pub unsafe fn initForOpeningContentTypes(
this: Allocated<Self>,
content_types: &NSArray<UTType>,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[deprecated]
#[method_id(@__retain_semantics Init initWithURL:inMode:)]
pub unsafe fn initWithURL_inMode(
this: Allocated<Self>,
url: &NSURL,
mode: UIDocumentPickerMode,
) -> Retained<Self>;
#[deprecated]
#[method_id(@__retain_semantics Init initWithURLs:inMode:)]
pub unsafe fn initWithURLs_inMode(
this: Allocated<Self>,
urls: &NSArray<NSURL>,
mode: UIDocumentPickerMode,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initForExportingURLs:asCopy:)]
pub unsafe fn initForExportingURLs_asCopy(
this: Allocated<Self>,
urls: &NSArray<NSURL>,
as_copy: bool,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initForExportingURLs:)]
pub unsafe fn initForExportingURLs(
this: Allocated<Self>,
urls: &NSArray<NSURL>,
) -> Retained<Self>;
#[method_id(@__retain_semantics Other delegate)]
pub unsafe fn delegate(
&self,
) -> Option<Retained<ProtocolObject<dyn UIDocumentPickerDelegate>>>;
#[method(setDelegate:)]
pub unsafe fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn UIDocumentPickerDelegate>>,
);
#[deprecated = "Use appropriate initializers instead"]
#[method(documentPickerMode)]
pub unsafe fn documentPickerMode(&self) -> UIDocumentPickerMode;
#[method(allowsMultipleSelection)]
pub unsafe fn allowsMultipleSelection(&self) -> bool;
#[method(setAllowsMultipleSelection:)]
pub unsafe fn setAllowsMultipleSelection(&self, allows_multiple_selection: bool);
#[method(shouldShowFileExtensions)]
pub unsafe fn shouldShowFileExtensions(&self) -> bool;
#[method(setShouldShowFileExtensions:)]
pub unsafe fn setShouldShowFileExtensions(&self, should_show_file_extensions: bool);
#[method_id(@__retain_semantics Other directoryURL)]
pub unsafe fn directoryURL(&self) -> Option<Retained<NSURL>>;
#[method(setDirectoryURL:)]
pub unsafe fn setDirectoryURL(&self, directory_url: Option<&NSURL>);
}
);
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIDocumentPickerViewController {
#[method_id(@__retain_semantics Init initWithNibName:bundle:)]
pub unsafe fn initWithNibName_bundle(
this: Allocated<Self>,
nib_name_or_nil: Option<&NSString>,
nib_bundle_or_nil: Option<&NSBundle>,
) -> Retained<Self>;
}
);
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIDocumentPickerViewController {
#[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>;
}
);