objc2_ui_kit/generated/
UIPrintInfo.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiprintinfooutputtype?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct UIPrintInfoOutputType(pub NSInteger);
15impl UIPrintInfoOutputType {
16    #[doc(alias = "UIPrintInfoOutputGeneral")]
17    pub const General: Self = Self(0);
18    #[doc(alias = "UIPrintInfoOutputPhoto")]
19    pub const Photo: Self = Self(1);
20    #[doc(alias = "UIPrintInfoOutputGrayscale")]
21    pub const Grayscale: Self = Self(2);
22    #[doc(alias = "UIPrintInfoOutputPhotoGrayscale")]
23    pub const PhotoGrayscale: Self = Self(3);
24}
25
26unsafe impl Encode for UIPrintInfoOutputType {
27    const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for UIPrintInfoOutputType {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiprintinfoorientation?language=objc)
35// NS_ENUM
36#[repr(transparent)]
37#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
38pub struct UIPrintInfoOrientation(pub NSInteger);
39impl UIPrintInfoOrientation {
40    #[doc(alias = "UIPrintInfoOrientationPortrait")]
41    pub const Portrait: Self = Self(0);
42    #[doc(alias = "UIPrintInfoOrientationLandscape")]
43    pub const Landscape: Self = Self(1);
44}
45
46unsafe impl Encode for UIPrintInfoOrientation {
47    const ENCODING: Encoding = NSInteger::ENCODING;
48}
49
50unsafe impl RefEncode for UIPrintInfoOrientation {
51    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
52}
53
54/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiprintinfoduplex?language=objc)
55// NS_ENUM
56#[repr(transparent)]
57#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
58pub struct UIPrintInfoDuplex(pub NSInteger);
59impl UIPrintInfoDuplex {
60    #[doc(alias = "UIPrintInfoDuplexNone")]
61    pub const None: Self = Self(0);
62    #[doc(alias = "UIPrintInfoDuplexLongEdge")]
63    pub const LongEdge: Self = Self(1);
64    #[doc(alias = "UIPrintInfoDuplexShortEdge")]
65    pub const ShortEdge: Self = Self(2);
66}
67
68unsafe impl Encode for UIPrintInfoDuplex {
69    const ENCODING: Encoding = NSInteger::ENCODING;
70}
71
72unsafe impl RefEncode for UIPrintInfoDuplex {
73    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
74}
75
76extern_class!(
77    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiprintinfo?language=objc)
78    #[unsafe(super(NSObject))]
79    #[thread_kind = MainThreadOnly]
80    #[derive(Debug, PartialEq, Eq, Hash)]
81    pub struct UIPrintInfo;
82);
83
84unsafe impl NSCoding for UIPrintInfo {}
85
86unsafe impl NSCopying for UIPrintInfo {}
87
88unsafe impl CopyingHelper for UIPrintInfo {
89    type Result = Self;
90}
91
92unsafe impl NSObjectProtocol for UIPrintInfo {}
93
94impl UIPrintInfo {
95    extern_methods!(
96        #[unsafe(method(initWithCoder:))]
97        #[unsafe(method_family = init)]
98        pub unsafe fn initWithCoder(
99            this: Allocated<Self>,
100            coder: &NSCoder,
101        ) -> Option<Retained<Self>>;
102
103        #[unsafe(method(printInfo))]
104        #[unsafe(method_family = none)]
105        pub unsafe fn printInfo(mtm: MainThreadMarker) -> Retained<UIPrintInfo>;
106
107        #[unsafe(method(printInfoWithDictionary:))]
108        #[unsafe(method_family = none)]
109        pub unsafe fn printInfoWithDictionary(
110            dictionary: Option<&NSDictionary>,
111            mtm: MainThreadMarker,
112        ) -> Retained<UIPrintInfo>;
113
114        #[unsafe(method(printerID))]
115        #[unsafe(method_family = none)]
116        pub unsafe fn printerID(&self) -> Option<Retained<NSString>>;
117
118        /// Setter for [`printerID`][Self::printerID].
119        #[unsafe(method(setPrinterID:))]
120        #[unsafe(method_family = none)]
121        pub unsafe fn setPrinterID(&self, printer_id: Option<&NSString>);
122
123        #[unsafe(method(jobName))]
124        #[unsafe(method_family = none)]
125        pub unsafe fn jobName(&self) -> Retained<NSString>;
126
127        /// Setter for [`jobName`][Self::jobName].
128        #[unsafe(method(setJobName:))]
129        #[unsafe(method_family = none)]
130        pub unsafe fn setJobName(&self, job_name: &NSString);
131
132        #[unsafe(method(outputType))]
133        #[unsafe(method_family = none)]
134        pub unsafe fn outputType(&self) -> UIPrintInfoOutputType;
135
136        /// Setter for [`outputType`][Self::outputType].
137        #[unsafe(method(setOutputType:))]
138        #[unsafe(method_family = none)]
139        pub unsafe fn setOutputType(&self, output_type: UIPrintInfoOutputType);
140
141        #[unsafe(method(orientation))]
142        #[unsafe(method_family = none)]
143        pub unsafe fn orientation(&self) -> UIPrintInfoOrientation;
144
145        /// Setter for [`orientation`][Self::orientation].
146        #[unsafe(method(setOrientation:))]
147        #[unsafe(method_family = none)]
148        pub unsafe fn setOrientation(&self, orientation: UIPrintInfoOrientation);
149
150        #[unsafe(method(duplex))]
151        #[unsafe(method_family = none)]
152        pub unsafe fn duplex(&self) -> UIPrintInfoDuplex;
153
154        /// Setter for [`duplex`][Self::duplex].
155        #[unsafe(method(setDuplex:))]
156        #[unsafe(method_family = none)]
157        pub unsafe fn setDuplex(&self, duplex: UIPrintInfoDuplex);
158
159        #[unsafe(method(dictionaryRepresentation))]
160        #[unsafe(method_family = none)]
161        pub unsafe fn dictionaryRepresentation(&self) -> Retained<NSDictionary>;
162    );
163}
164
165/// Methods declared on superclass `NSObject`.
166impl UIPrintInfo {
167    extern_methods!(
168        #[unsafe(method(init))]
169        #[unsafe(method_family = init)]
170        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
171
172        #[unsafe(method(new))]
173        #[unsafe(method_family = new)]
174        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
175    );
176}