objc2_intents/generated/
INUpcomingMediaManager.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/inupcomingmediapredictionmode?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct INUpcomingMediaPredictionMode(pub NSInteger);
15impl INUpcomingMediaPredictionMode {
16    #[doc(alias = "INUpcomingMediaPredictionModeDefault")]
17    pub const Default: Self = Self(0);
18    #[doc(alias = "INUpcomingMediaPredictionModeOnlyPredictSuggestedIntents")]
19    pub const OnlyPredictSuggestedIntents: Self = Self(1);
20}
21
22unsafe impl Encode for INUpcomingMediaPredictionMode {
23    const ENCODING: Encoding = NSInteger::ENCODING;
24}
25
26unsafe impl RefEncode for INUpcomingMediaPredictionMode {
27    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
28}
29
30extern_class!(
31    /// [Apple's documentation](https://developer.apple.com/documentation/intents/inupcomingmediamanager?language=objc)
32    #[unsafe(super(NSObject))]
33    #[derive(Debug, PartialEq, Eq, Hash)]
34    pub struct INUpcomingMediaManager;
35);
36
37extern_conformance!(
38    unsafe impl NSObjectProtocol for INUpcomingMediaManager {}
39);
40
41impl INUpcomingMediaManager {
42    extern_methods!(
43        #[unsafe(method(sharedManager))]
44        #[unsafe(method_family = none)]
45        pub unsafe fn sharedManager() -> Retained<INUpcomingMediaManager>;
46
47        #[cfg(all(feature = "INIntent", feature = "INPlayMediaIntent"))]
48        #[unsafe(method(setSuggestedMediaIntents:))]
49        #[unsafe(method_family = none)]
50        pub unsafe fn setSuggestedMediaIntents(&self, intents: &NSOrderedSet<INPlayMediaIntent>);
51
52        #[cfg(feature = "INMediaItemType")]
53        #[unsafe(method(setPredictionMode:forType:))]
54        #[unsafe(method_family = none)]
55        pub unsafe fn setPredictionMode_forType(
56            &self,
57            mode: INUpcomingMediaPredictionMode,
58            r#type: INMediaItemType,
59        );
60    );
61}
62
63/// Methods declared on superclass `NSObject`.
64impl INUpcomingMediaManager {
65    extern_methods!(
66        #[unsafe(method(init))]
67        #[unsafe(method_family = init)]
68        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
69
70        #[unsafe(method(new))]
71        #[unsafe(method_family = new)]
72        pub unsafe fn new() -> Retained<Self>;
73    );
74}