objc2_intents/generated/
INPlayMediaIntentResponse.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/intents/inplaymediaintentresponsecode?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct INPlayMediaIntentResponseCode(pub NSInteger);
15impl INPlayMediaIntentResponseCode {
16    #[doc(alias = "INPlayMediaIntentResponseCodeUnspecified")]
17    pub const Unspecified: Self = Self(0);
18    #[doc(alias = "INPlayMediaIntentResponseCodeReady")]
19    pub const Ready: Self = Self(1);
20    #[doc(alias = "INPlayMediaIntentResponseCodeContinueInApp")]
21    pub const ContinueInApp: Self = Self(2);
22    #[doc(alias = "INPlayMediaIntentResponseCodeInProgress")]
23    pub const InProgress: Self = Self(3);
24    #[doc(alias = "INPlayMediaIntentResponseCodeSuccess")]
25    pub const Success: Self = Self(4);
26    #[doc(alias = "INPlayMediaIntentResponseCodeHandleInApp")]
27    pub const HandleInApp: Self = Self(5);
28    #[doc(alias = "INPlayMediaIntentResponseCodeFailure")]
29    pub const Failure: Self = Self(6);
30    #[doc(alias = "INPlayMediaIntentResponseCodeFailureRequiringAppLaunch")]
31    pub const FailureRequiringAppLaunch: Self = Self(7);
32    #[doc(alias = "INPlayMediaIntentResponseCodeFailureUnknownMediaType")]
33    pub const FailureUnknownMediaType: Self = Self(8);
34    #[doc(alias = "INPlayMediaIntentResponseCodeFailureNoUnplayedContent")]
35    pub const FailureNoUnplayedContent: Self = Self(9);
36    #[doc(alias = "INPlayMediaIntentResponseCodeFailureRestrictedContent")]
37    pub const FailureRestrictedContent: Self = Self(10);
38    #[doc(alias = "INPlayMediaIntentResponseCodeFailureMaxStreamLimitReached")]
39    pub const FailureMaxStreamLimitReached: Self = Self(11);
40}
41
42unsafe impl Encode for INPlayMediaIntentResponseCode {
43    const ENCODING: Encoding = NSInteger::ENCODING;
44}
45
46unsafe impl RefEncode for INPlayMediaIntentResponseCode {
47    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
48}
49
50extern_class!(
51    /// [Apple's documentation](https://developer.apple.com/documentation/intents/inplaymediaintentresponse?language=objc)
52    #[unsafe(super(INIntentResponse, NSObject))]
53    #[derive(Debug, PartialEq, Eq, Hash)]
54    #[cfg(feature = "INIntentResponse")]
55    pub struct INPlayMediaIntentResponse;
56);
57
58#[cfg(feature = "INIntentResponse")]
59extern_conformance!(
60    unsafe impl NSCoding for INPlayMediaIntentResponse {}
61);
62
63#[cfg(feature = "INIntentResponse")]
64extern_conformance!(
65    unsafe impl NSCopying for INPlayMediaIntentResponse {}
66);
67
68#[cfg(feature = "INIntentResponse")]
69unsafe impl CopyingHelper for INPlayMediaIntentResponse {
70    type Result = Self;
71}
72
73#[cfg(feature = "INIntentResponse")]
74extern_conformance!(
75    unsafe impl NSObjectProtocol for INPlayMediaIntentResponse {}
76);
77
78#[cfg(feature = "INIntentResponse")]
79extern_conformance!(
80    unsafe impl NSSecureCoding for INPlayMediaIntentResponse {}
81);
82
83#[cfg(feature = "INIntentResponse")]
84impl INPlayMediaIntentResponse {
85    extern_methods!(
86        #[unsafe(method(init))]
87        #[unsafe(method_family = init)]
88        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
89
90        #[unsafe(method(initWithCode:userActivity:))]
91        #[unsafe(method_family = init)]
92        pub unsafe fn initWithCode_userActivity(
93            this: Allocated<Self>,
94            code: INPlayMediaIntentResponseCode,
95            user_activity: Option<&NSUserActivity>,
96        ) -> Retained<Self>;
97
98        #[unsafe(method(code))]
99        #[unsafe(method_family = none)]
100        pub unsafe fn code(&self) -> INPlayMediaIntentResponseCode;
101
102        #[unsafe(method(nowPlayingInfo))]
103        #[unsafe(method_family = none)]
104        pub unsafe fn nowPlayingInfo(&self) -> Option<Retained<NSDictionary<NSString, AnyObject>>>;
105
106        /// Setter for [`nowPlayingInfo`][Self::nowPlayingInfo].
107        ///
108        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
109        ///
110        /// # Safety
111        ///
112        /// `now_playing_info` generic should be of the correct type.
113        #[unsafe(method(setNowPlayingInfo:))]
114        #[unsafe(method_family = none)]
115        pub unsafe fn setNowPlayingInfo(
116            &self,
117            now_playing_info: Option<&NSDictionary<NSString, AnyObject>>,
118        );
119    );
120}
121
122/// Methods declared on superclass `NSObject`.
123#[cfg(feature = "INIntentResponse")]
124impl INPlayMediaIntentResponse {
125    extern_methods!(
126        #[unsafe(method(new))]
127        #[unsafe(method_family = new)]
128        pub unsafe fn new() -> Retained<Self>;
129    );
130}