objc2_quartz/generated/ImageKit/
IKDeviceBrowserView.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_app_kit::*;
7use objc2_foundation::*;
8#[cfg(feature = "objc2-image-capture-core")]
9use objc2_image_capture_core::*;
10
11use crate::*;
12
13extern_protocol!(
14    /// A delegate of IKDeviceBrowserView must conform to IKDeviceBrowserViewDelegate protocol.
15    ///
16    /// See also [Apple's documentation](https://developer.apple.com/documentation/quartz/ikdevicebrowserviewdelegate?language=objc)
17    pub unsafe trait IKDeviceBrowserViewDelegate {
18        #[cfg(feature = "objc2-image-capture-core")]
19        /// This message is sent when the user selection did change.
20        ///
21        /// The device may be a ICCameraDevice or a ICScannerDevice.
22        #[unsafe(method(deviceBrowserView:selectionDidChange:))]
23        #[unsafe(method_family = none)]
24        unsafe fn deviceBrowserView_selectionDidChange(
25            &self,
26            device_browser_view: Option<&IKDeviceBrowserView>,
27            device: Option<&ICDevice>,
28        );
29
30        /// This message is sent every time the device browser reports an error.
31        #[optional]
32        #[unsafe(method(deviceBrowserView:didEncounterError:))]
33        #[unsafe(method_family = none)]
34        unsafe fn deviceBrowserView_didEncounterError(
35            &self,
36            device_browser_view: Option<&IKDeviceBrowserView>,
37            error: Option<&NSError>,
38        );
39    }
40);
41
42/// [Apple's documentation](https://developer.apple.com/documentation/quartz/ikdevicebrowserviewdisplaymode?language=objc)
43// NS_CLOSED_ENUM
44#[repr(isize)] // NSInteger
45#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
46pub enum IKDeviceBrowserViewDisplayMode {
47    #[doc(alias = "IKDeviceBrowserViewDisplayModeTable")]
48    Table = 0,
49    #[doc(alias = "IKDeviceBrowserViewDisplayModeOutline")]
50    Outline = 1,
51    #[doc(alias = "IKDeviceBrowserViewDisplayModeIcon")]
52    Icon = 2,
53}
54
55unsafe impl Encode for IKDeviceBrowserViewDisplayMode {
56    const ENCODING: Encoding = NSInteger::ENCODING;
57}
58
59unsafe impl RefEncode for IKDeviceBrowserViewDisplayMode {
60    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
61}
62
63extern_class!(
64    /// IKDeviceBrowserView displays Image Capture cameras and scanners.
65    ///
66    /// See also [Apple's documentation](https://developer.apple.com/documentation/quartz/ikdevicebrowserview?language=objc)
67    #[unsafe(super(NSView, NSResponder, NSObject))]
68    #[derive(Debug, PartialEq, Eq, Hash)]
69    pub struct IKDeviceBrowserView;
70);
71
72extern_conformance!(
73    unsafe impl NSAccessibility for IKDeviceBrowserView {}
74);
75
76extern_conformance!(
77    unsafe impl NSAccessibilityElementProtocol for IKDeviceBrowserView {}
78);
79
80extern_conformance!(
81    unsafe impl NSAnimatablePropertyContainer for IKDeviceBrowserView {}
82);
83
84extern_conformance!(
85    unsafe impl NSAppearanceCustomization for IKDeviceBrowserView {}
86);
87
88extern_conformance!(
89    unsafe impl NSCoding for IKDeviceBrowserView {}
90);
91
92extern_conformance!(
93    unsafe impl NSDraggingDestination for IKDeviceBrowserView {}
94);
95
96extern_conformance!(
97    unsafe impl NSObjectProtocol for IKDeviceBrowserView {}
98);
99
100extern_conformance!(
101    unsafe impl NSUserInterfaceItemIdentification for IKDeviceBrowserView {}
102);
103
104impl IKDeviceBrowserView {
105    extern_methods!(
106        /// delegate of the IKDeviceBrowserView.
107        #[unsafe(method(delegate))]
108        #[unsafe(method_family = none)]
109        pub unsafe fn delegate(
110            &self,
111        ) -> Option<Retained<ProtocolObject<dyn IKDeviceBrowserViewDelegate>>>;
112
113        /// Setter for [`delegate`][Self::delegate].
114        #[unsafe(method(setDelegate:))]
115        #[unsafe(method_family = none)]
116        pub unsafe fn setDelegate(
117            &self,
118            delegate: Option<&ProtocolObject<dyn IKDeviceBrowserViewDelegate>>,
119        );
120
121        /// for device filtering - indicates that the IKDeviceBrowserView should include local cameras.
122        #[unsafe(method(displaysLocalCameras))]
123        #[unsafe(method_family = none)]
124        pub unsafe fn displaysLocalCameras(&self) -> bool;
125
126        /// Setter for [`displaysLocalCameras`][Self::displaysLocalCameras].
127        #[unsafe(method(setDisplaysLocalCameras:))]
128        #[unsafe(method_family = none)]
129        pub unsafe fn setDisplaysLocalCameras(&self, displays_local_cameras: bool);
130
131        /// for device filtering - indicates that the IKDeviceBrowserView should include network/shared cameras.
132        #[unsafe(method(displaysNetworkCameras))]
133        #[unsafe(method_family = none)]
134        pub unsafe fn displaysNetworkCameras(&self) -> bool;
135
136        /// Setter for [`displaysNetworkCameras`][Self::displaysNetworkCameras].
137        #[unsafe(method(setDisplaysNetworkCameras:))]
138        #[unsafe(method_family = none)]
139        pub unsafe fn setDisplaysNetworkCameras(&self, displays_network_cameras: bool);
140
141        /// for device filtering - indicates that the IKDeviceBrowserView should include local scanners.
142        #[unsafe(method(displaysLocalScanners))]
143        #[unsafe(method_family = none)]
144        pub unsafe fn displaysLocalScanners(&self) -> bool;
145
146        /// Setter for [`displaysLocalScanners`][Self::displaysLocalScanners].
147        #[unsafe(method(setDisplaysLocalScanners:))]
148        #[unsafe(method_family = none)]
149        pub unsafe fn setDisplaysLocalScanners(&self, displays_local_scanners: bool);
150
151        /// for device filtering - indicates that the IKDeviceBrowserView should include network/shared scanners.
152        #[unsafe(method(displaysNetworkScanners))]
153        #[unsafe(method_family = none)]
154        pub unsafe fn displaysNetworkScanners(&self) -> bool;
155
156        /// Setter for [`displaysNetworkScanners`][Self::displaysNetworkScanners].
157        #[unsafe(method(setDisplaysNetworkScanners:))]
158        #[unsafe(method_family = none)]
159        pub unsafe fn setDisplaysNetworkScanners(&self, displays_network_scanners: bool);
160
161        /// one of the supported display modes (table, outline, or icon mode).
162        #[unsafe(method(mode))]
163        #[unsafe(method_family = none)]
164        pub unsafe fn mode(&self) -> IKDeviceBrowserViewDisplayMode;
165
166        /// Setter for [`mode`][Self::mode].
167        #[unsafe(method(setMode:))]
168        #[unsafe(method_family = none)]
169        pub unsafe fn setMode(&self, mode: IKDeviceBrowserViewDisplayMode);
170
171        #[cfg(feature = "objc2-image-capture-core")]
172        /// user selected device (ICCameraDevice or ICScannerDevice).
173        #[unsafe(method(selectedDevice))]
174        #[unsafe(method_family = none)]
175        pub unsafe fn selectedDevice(&self) -> Option<Retained<ICDevice>>;
176    );
177}
178
179/// Methods declared on superclass `NSView`.
180impl IKDeviceBrowserView {
181    extern_methods!(
182        #[unsafe(method(initWithFrame:))]
183        #[unsafe(method_family = init)]
184        pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
185
186        #[unsafe(method(initWithCoder:))]
187        #[unsafe(method_family = init)]
188        pub unsafe fn initWithCoder(
189            this: Allocated<Self>,
190            coder: &NSCoder,
191        ) -> Option<Retained<Self>>;
192    );
193}
194
195/// Methods declared on superclass `NSResponder`.
196impl IKDeviceBrowserView {
197    extern_methods!(
198        #[unsafe(method(init))]
199        #[unsafe(method_family = init)]
200        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
201    );
202}
203
204/// Methods declared on superclass `NSObject`.
205impl IKDeviceBrowserView {
206    extern_methods!(
207        #[unsafe(method(new))]
208        #[unsafe(method_family = new)]
209        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
210    );
211}