use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSPDFInfo;
);
extern_conformance!(
unsafe impl NSCoding for NSPDFInfo {}
);
extern_conformance!(
unsafe impl NSCopying for NSPDFInfo {}
);
unsafe impl CopyingHelper for NSPDFInfo {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for NSPDFInfo {}
);
impl NSPDFInfo {
extern_methods!(
#[unsafe(method(URL))]
#[unsafe(method_family = none)]
pub fn URL(&self) -> Option<Retained<NSURL>>;
#[unsafe(method(setURL:))]
#[unsafe(method_family = none)]
pub fn setURL(&self, url: Option<&NSURL>);
#[unsafe(method(isFileExtensionHidden))]
#[unsafe(method_family = none)]
pub fn isFileExtensionHidden(&self) -> bool;
#[unsafe(method(setFileExtensionHidden:))]
#[unsafe(method_family = none)]
pub fn setFileExtensionHidden(&self, file_extension_hidden: bool);
#[unsafe(method(tagNames))]
#[unsafe(method_family = none)]
pub fn tagNames(&self) -> Retained<NSArray<NSString>>;
#[unsafe(method(setTagNames:))]
#[unsafe(method_family = none)]
pub fn setTagNames(&self, tag_names: &NSArray<NSString>);
#[cfg(feature = "NSPrintInfo")]
#[unsafe(method(orientation))]
#[unsafe(method_family = none)]
pub fn orientation(&self) -> NSPaperOrientation;
#[cfg(feature = "NSPrintInfo")]
#[unsafe(method(setOrientation:))]
#[unsafe(method_family = none)]
pub fn setOrientation(&self, orientation: NSPaperOrientation);
#[unsafe(method(paperSize))]
#[unsafe(method_family = none)]
pub fn paperSize(&self) -> NSSize;
#[unsafe(method(setPaperSize:))]
#[unsafe(method_family = none)]
pub fn setPaperSize(&self, paper_size: NSSize);
#[cfg(feature = "NSPrintInfo")]
#[unsafe(method(attributes))]
#[unsafe(method_family = none)]
pub unsafe fn attributes(
&self,
) -> Retained<NSMutableDictionary<NSPrintInfoAttributeKey, AnyObject>>;
);
}
impl NSPDFInfo {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new() -> Retained<Self>;
);
}
impl DefaultRetained for NSPDFInfo {
#[inline]
fn default_retained() -> Retained<Self> {
Self::new()
}
}