objc2_app_kit/generated/
NSSharingServicePickerToolbarItem.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
10extern_class!(
11    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nssharingservicepickertoolbaritem?language=objc)
12    #[unsafe(super(NSToolbarItem, NSObject))]
13    #[derive(Debug, PartialEq, Eq, Hash)]
14    #[cfg(feature = "NSToolbarItem")]
15    pub struct NSSharingServicePickerToolbarItem;
16);
17
18#[cfg(feature = "NSToolbarItem")]
19extern_conformance!(
20    unsafe impl NSCopying for NSSharingServicePickerToolbarItem {}
21);
22
23#[cfg(feature = "NSToolbarItem")]
24unsafe impl CopyingHelper for NSSharingServicePickerToolbarItem {
25    type Result = Self;
26}
27
28#[cfg(feature = "NSToolbarItem")]
29extern_conformance!(
30    unsafe impl NSObjectProtocol for NSSharingServicePickerToolbarItem {}
31);
32
33#[cfg(feature = "NSToolbarItem")]
34impl NSSharingServicePickerToolbarItem {
35    extern_methods!(
36        #[cfg(feature = "NSSharingService")]
37        #[unsafe(method(delegate))]
38        #[unsafe(method_family = none)]
39        pub fn delegate(
40            &self,
41        ) -> Option<Retained<ProtocolObject<dyn NSSharingServicePickerToolbarItemDelegate>>>;
42
43        #[cfg(feature = "NSSharingService")]
44        /// Setter for [`delegate`][Self::delegate].
45        ///
46        /// This is a [weak property][objc2::topics::weak_property].
47        #[unsafe(method(setDelegate:))]
48        #[unsafe(method_family = none)]
49        pub fn setDelegate(
50            &self,
51            delegate: Option<&ProtocolObject<dyn NSSharingServicePickerToolbarItemDelegate>>,
52        );
53    );
54}
55
56/// Methods declared on superclass `NSToolbarItem`.
57#[cfg(feature = "NSToolbarItem")]
58impl NSSharingServicePickerToolbarItem {
59    extern_methods!(
60        #[cfg(feature = "NSToolbar")]
61        /// Initialize the toolbar item with an identifier which is a development language string used by the toolbar and its delegate for identification purposes.
62        #[unsafe(method(initWithItemIdentifier:))]
63        #[unsafe(method_family = init)]
64        pub fn initWithItemIdentifier(
65            this: Allocated<Self>,
66            item_identifier: &NSToolbarItemIdentifier,
67        ) -> Retained<Self>;
68    );
69}
70
71/// Methods declared on superclass `NSObject`.
72#[cfg(feature = "NSToolbarItem")]
73impl NSSharingServicePickerToolbarItem {
74    extern_methods!(
75        #[unsafe(method(init))]
76        #[unsafe(method_family = init)]
77        pub fn init(this: Allocated<Self>) -> Retained<Self>;
78
79        #[unsafe(method(new))]
80        #[unsafe(method_family = new)]
81        pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
82    );
83}
84
85extern_protocol!(
86    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nssharingservicepickertoolbaritemdelegate?language=objc)
87    #[cfg(feature = "NSSharingService")]
88    pub unsafe trait NSSharingServicePickerToolbarItemDelegate:
89        NSSharingServicePickerDelegate + MainThreadOnly
90    {
91        #[cfg(feature = "NSToolbarItem")]
92        /// Return the items that represent the objects to be shared.
93        /// They must conform to the
94        /// <NSPasteboardWriting
95        /// > protocol or be an NSItemProvider. (e.g. NSString, NSImage, NSURL, etc.).
96        #[unsafe(method(itemsForSharingServicePickerToolbarItem:))]
97        #[unsafe(method_family = none)]
98        fn itemsForSharingServicePickerToolbarItem(
99            &self,
100            picker_toolbar_item: &NSSharingServicePickerToolbarItem,
101        ) -> Retained<NSArray>;
102    }
103);