objc2_multipeer_connectivity/generated/
MCBrowserViewController.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::*;
6#[cfg(feature = "objc2-app-kit")]
7#[cfg(target_os = "macos")]
8use objc2_app_kit::*;
9use objc2_foundation::*;
10
11use crate::*;
12
13extern_class!(
14    /// [Apple's documentation](https://developer.apple.com/documentation/multipeerconnectivity/mcbrowserviewcontroller?language=objc)
15    #[unsafe(super(NSViewController, NSResponder, NSObject))]
16    #[derive(Debug, PartialEq, Eq, Hash)]
17    #[cfg(feature = "objc2-app-kit")]
18    #[cfg(target_os = "macos")]
19    pub struct MCBrowserViewController;
20);
21
22#[cfg(all(feature = "MCNearbyServiceBrowser", feature = "objc2-app-kit"))]
23#[cfg(target_os = "macos")]
24extern_conformance!(
25    unsafe impl MCNearbyServiceBrowserDelegate for MCBrowserViewController {}
26);
27
28#[cfg(feature = "objc2-app-kit")]
29#[cfg(target_os = "macos")]
30extern_conformance!(
31    unsafe impl NSCoding for MCBrowserViewController {}
32);
33
34#[cfg(feature = "objc2-app-kit")]
35#[cfg(target_os = "macos")]
36extern_conformance!(
37    unsafe impl NSEditor for MCBrowserViewController {}
38);
39
40#[cfg(feature = "objc2-app-kit")]
41#[cfg(target_os = "macos")]
42extern_conformance!(
43    unsafe impl NSObjectProtocol for MCBrowserViewController {}
44);
45
46#[cfg(feature = "objc2-app-kit")]
47#[cfg(target_os = "macos")]
48extern_conformance!(
49    unsafe impl NSSeguePerforming for MCBrowserViewController {}
50);
51
52#[cfg(feature = "objc2-app-kit")]
53#[cfg(target_os = "macos")]
54extern_conformance!(
55    unsafe impl NSUserInterfaceItemIdentification for MCBrowserViewController {}
56);
57
58#[cfg(feature = "objc2-app-kit")]
59#[cfg(target_os = "macos")]
60impl MCBrowserViewController {
61    extern_methods!(
62        #[cfg(feature = "MCSession")]
63        #[unsafe(method(initWithServiceType:session:))]
64        #[unsafe(method_family = init)]
65        pub unsafe fn initWithServiceType_session(
66            this: Allocated<Self>,
67            service_type: &NSString,
68            session: &MCSession,
69        ) -> Retained<Self>;
70
71        #[cfg(all(feature = "MCNearbyServiceBrowser", feature = "MCSession"))]
72        #[unsafe(method(initWithBrowser:session:))]
73        #[unsafe(method_family = init)]
74        pub unsafe fn initWithBrowser_session(
75            this: Allocated<Self>,
76            browser: &MCNearbyServiceBrowser,
77            session: &MCSession,
78        ) -> Retained<Self>;
79
80        #[unsafe(method(delegate))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn delegate(
83            &self,
84        ) -> Option<Retained<ProtocolObject<dyn MCBrowserViewControllerDelegate>>>;
85
86        /// Setter for [`delegate`][Self::delegate].
87        ///
88        /// This is a [weak property][objc2::topics::weak_property].
89        #[unsafe(method(setDelegate:))]
90        #[unsafe(method_family = none)]
91        pub unsafe fn setDelegate(
92            &self,
93            delegate: Option<&ProtocolObject<dyn MCBrowserViewControllerDelegate>>,
94        );
95
96        #[cfg(feature = "MCNearbyServiceBrowser")]
97        #[unsafe(method(browser))]
98        #[unsafe(method_family = none)]
99        pub unsafe fn browser(&self) -> Retained<MCNearbyServiceBrowser>;
100
101        #[cfg(feature = "MCSession")]
102        #[unsafe(method(session))]
103        #[unsafe(method_family = none)]
104        pub unsafe fn session(&self) -> Retained<MCSession>;
105
106        #[unsafe(method(minimumNumberOfPeers))]
107        #[unsafe(method_family = none)]
108        pub unsafe fn minimumNumberOfPeers(&self) -> NSUInteger;
109
110        /// Setter for [`minimumNumberOfPeers`][Self::minimumNumberOfPeers].
111        #[unsafe(method(setMinimumNumberOfPeers:))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn setMinimumNumberOfPeers(&self, minimum_number_of_peers: NSUInteger);
114
115        #[unsafe(method(maximumNumberOfPeers))]
116        #[unsafe(method_family = none)]
117        pub unsafe fn maximumNumberOfPeers(&self) -> NSUInteger;
118
119        /// Setter for [`maximumNumberOfPeers`][Self::maximumNumberOfPeers].
120        #[unsafe(method(setMaximumNumberOfPeers:))]
121        #[unsafe(method_family = none)]
122        pub unsafe fn setMaximumNumberOfPeers(&self, maximum_number_of_peers: NSUInteger);
123    );
124}
125
126/// Methods declared on superclass `NSViewController`.
127#[cfg(feature = "objc2-app-kit")]
128#[cfg(target_os = "macos")]
129impl MCBrowserViewController {
130    extern_methods!(
131        #[unsafe(method(initWithNibName:bundle:))]
132        #[unsafe(method_family = init)]
133        pub unsafe fn initWithNibName_bundle(
134            this: Allocated<Self>,
135            nib_name_or_nil: Option<&NSNibName>,
136            nib_bundle_or_nil: Option<&NSBundle>,
137        ) -> Retained<Self>;
138
139        /// # Safety
140        ///
141        /// `coder` possibly has further requirements.
142        #[unsafe(method(initWithCoder:))]
143        #[unsafe(method_family = init)]
144        pub unsafe fn initWithCoder(
145            this: Allocated<Self>,
146            coder: &NSCoder,
147        ) -> Option<Retained<Self>>;
148    );
149}
150
151/// Methods declared on superclass `NSResponder`.
152#[cfg(feature = "objc2-app-kit")]
153#[cfg(target_os = "macos")]
154impl MCBrowserViewController {
155    extern_methods!(
156        #[unsafe(method(init))]
157        #[unsafe(method_family = init)]
158        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
159    );
160}
161
162/// Methods declared on superclass `NSObject`.
163#[cfg(feature = "objc2-app-kit")]
164#[cfg(target_os = "macos")]
165impl MCBrowserViewController {
166    extern_methods!(
167        #[unsafe(method(new))]
168        #[unsafe(method_family = new)]
169        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
170    );
171}
172
173extern_protocol!(
174    /// [Apple's documentation](https://developer.apple.com/documentation/multipeerconnectivity/mcbrowserviewcontrollerdelegate?language=objc)
175    pub unsafe trait MCBrowserViewControllerDelegate: NSObjectProtocol {
176        #[cfg(feature = "objc2-app-kit")]
177        #[cfg(target_os = "macos")]
178        #[unsafe(method(browserViewControllerDidFinish:))]
179        #[unsafe(method_family = none)]
180        unsafe fn browserViewControllerDidFinish(
181            &self,
182            browser_view_controller: &MCBrowserViewController,
183        );
184
185        #[cfg(feature = "objc2-app-kit")]
186        #[cfg(target_os = "macos")]
187        #[unsafe(method(browserViewControllerWasCancelled:))]
188        #[unsafe(method_family = none)]
189        unsafe fn browserViewControllerWasCancelled(
190            &self,
191            browser_view_controller: &MCBrowserViewController,
192        );
193
194        #[cfg(all(feature = "MCPeerID", feature = "objc2-app-kit"))]
195        #[cfg(target_os = "macos")]
196        #[optional]
197        #[unsafe(method(browserViewController:shouldPresentNearbyPeer:withDiscoveryInfo:))]
198        #[unsafe(method_family = none)]
199        unsafe fn browserViewController_shouldPresentNearbyPeer_withDiscoveryInfo(
200            &self,
201            browser_view_controller: &MCBrowserViewController,
202            peer_id: &MCPeerID,
203            info: Option<&NSDictionary<NSString, NSString>>,
204        ) -> bool;
205    }
206);