1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
/// A shortcut is an action that can be suggested by the system or added to Siri.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/intents/inshortcut?language=objc)
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct INShortcut;
);
extern_conformance!(
unsafe impl NSCoding for INShortcut {}
);
extern_conformance!(
unsafe impl NSCopying for INShortcut {}
);
unsafe impl CopyingHelper for INShortcut {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for INShortcut {}
);
extern_conformance!(
unsafe impl NSSecureCoding for INShortcut {}
);
impl INShortcut {
extern_methods!(
#[cfg(feature = "INIntent")]
/// The intent that will be performed when this shortcut is invoked.
///
/// Is
/// `nil`if the shortcut was created with a
/// `NSUserActivity.`
#[unsafe(method(intent))]
#[unsafe(method_family = none)]
pub unsafe fn intent(&self) -> Option<Retained<INIntent>>;
/// The user activity that will be performed when this shortcut is invoked.
///
/// Is
/// `nil`if the shortcut was created with an
/// `INIntent.`
#[unsafe(method(userActivity))]
#[unsafe(method_family = none)]
pub unsafe fn userActivity(&self) -> Option<Retained<NSUserActivity>>;
/// Note: Must be initilaized with either an intent or user activity, using those initializers.
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
/// Note: Must be initilaized with either an intent or user activity, using those initializers.
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[cfg(feature = "INIntent")]
/// Creates a shortcut with the given intent.
///
/// Parameter `intent`: Unless user configurable, must have a title and have valid shortcut types.
///
/// Returns: Will return
/// `nil`(and log an error) if the intent isn't valid.
#[unsafe(method(initWithIntent:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithIntent(
this: Allocated<Self>,
intent: &INIntent,
) -> Option<Retained<Self>>;
/// Creates a shortcut with the given user activity.
#[unsafe(method(initWithUserActivity:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithUserActivity(
this: Allocated<Self>,
user_activity: &NSUserActivity,
) -> Retained<Self>;
);
}