objc2_media_player/generated/
MPNowPlayingInfoCenter.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/mediaplayer/mpnowplayinginfomediatype?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct MPNowPlayingInfoMediaType(pub NSUInteger);
15impl MPNowPlayingInfoMediaType {
16    #[doc(alias = "MPNowPlayingInfoMediaTypeNone")]
17    pub const None: Self = Self(0);
18    #[doc(alias = "MPNowPlayingInfoMediaTypeAudio")]
19    pub const Audio: Self = Self(1);
20    #[doc(alias = "MPNowPlayingInfoMediaTypeVideo")]
21    pub const Video: Self = Self(2);
22}
23
24unsafe impl Encode for MPNowPlayingInfoMediaType {
25    const ENCODING: Encoding = NSUInteger::ENCODING;
26}
27
28unsafe impl RefEncode for MPNowPlayingInfoMediaType {
29    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
30}
31
32/// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayingplaybackstate?language=objc)
33// NS_ENUM
34#[repr(transparent)]
35#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
36pub struct MPNowPlayingPlaybackState(pub NSUInteger);
37impl MPNowPlayingPlaybackState {
38    #[doc(alias = "MPNowPlayingPlaybackStateUnknown")]
39    pub const Unknown: Self = Self(0);
40    #[doc(alias = "MPNowPlayingPlaybackStatePlaying")]
41    pub const Playing: Self = Self(1);
42    #[doc(alias = "MPNowPlayingPlaybackStatePaused")]
43    pub const Paused: Self = Self(2);
44    #[doc(alias = "MPNowPlayingPlaybackStateStopped")]
45    pub const Stopped: Self = Self(3);
46    #[doc(alias = "MPNowPlayingPlaybackStateInterrupted")]
47    pub const Interrupted: Self = Self(4);
48}
49
50unsafe impl Encode for MPNowPlayingPlaybackState {
51    const ENCODING: Encoding = NSUInteger::ENCODING;
52}
53
54unsafe impl RefEncode for MPNowPlayingPlaybackState {
55    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
56}
57
58extern_class!(
59    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfocenter?language=objc)
60    #[unsafe(super(NSObject))]
61    #[derive(Debug, PartialEq, Eq, Hash)]
62    pub struct MPNowPlayingInfoCenter;
63);
64
65unsafe impl NSObjectProtocol for MPNowPlayingInfoCenter {}
66
67impl MPNowPlayingInfoCenter {
68    extern_methods!(
69        /// Returns the default now playing info center.
70        /// The default center holds now playing info about the current application.
71        #[unsafe(method(defaultCenter))]
72        #[unsafe(method_family = none)]
73        pub unsafe fn defaultCenter() -> Retained<MPNowPlayingInfoCenter>;
74
75        #[unsafe(method(new))]
76        #[unsafe(method_family = new)]
77        pub unsafe fn new() -> Retained<Self>;
78
79        #[unsafe(method(init))]
80        #[unsafe(method_family = init)]
81        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
82
83        /// The current now playing info for the center.
84        /// Setting the info to nil will clear it.
85        #[unsafe(method(nowPlayingInfo))]
86        #[unsafe(method_family = none)]
87        pub unsafe fn nowPlayingInfo(&self) -> Option<Retained<NSDictionary<NSString, AnyObject>>>;
88
89        /// Setter for [`nowPlayingInfo`][Self::nowPlayingInfo].
90        #[unsafe(method(setNowPlayingInfo:))]
91        #[unsafe(method_family = none)]
92        pub unsafe fn setNowPlayingInfo(
93            &self,
94            now_playing_info: Option<&NSDictionary<NSString, AnyObject>>,
95        );
96
97        /// The current playback state of the app.
98        /// This only applies on macOS, where playback state cannot be determined by
99        /// the application's audio session. This property must be set every time
100        /// the app begins or halts playback, otherwise remote control functionality may
101        /// not work as expected.
102        #[unsafe(method(playbackState))]
103        #[unsafe(method_family = none)]
104        pub unsafe fn playbackState(&self) -> MPNowPlayingPlaybackState;
105
106        /// Setter for [`playbackState`][Self::playbackState].
107        #[unsafe(method(setPlaybackState:))]
108        #[unsafe(method_family = none)]
109        pub unsafe fn setPlaybackState(&self, playback_state: MPNowPlayingPlaybackState);
110    );
111}
112
113extern "C" {
114    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyelapsedplaybacktime?language=objc)
115    pub static MPNowPlayingInfoPropertyElapsedPlaybackTime: &'static NSString;
116}
117
118extern "C" {
119    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyplaybackrate?language=objc)
120    pub static MPNowPlayingInfoPropertyPlaybackRate: &'static NSString;
121}
122
123extern "C" {
124    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertydefaultplaybackrate?language=objc)
125    pub static MPNowPlayingInfoPropertyDefaultPlaybackRate: &'static NSString;
126}
127
128extern "C" {
129    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyplaybackqueueindex?language=objc)
130    pub static MPNowPlayingInfoPropertyPlaybackQueueIndex: &'static NSString;
131}
132
133extern "C" {
134    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyplaybackqueuecount?language=objc)
135    pub static MPNowPlayingInfoPropertyPlaybackQueueCount: &'static NSString;
136}
137
138extern "C" {
139    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertychapternumber?language=objc)
140    pub static MPNowPlayingInfoPropertyChapterNumber: &'static NSString;
141}
142
143extern "C" {
144    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertychaptercount?language=objc)
145    pub static MPNowPlayingInfoPropertyChapterCount: &'static NSString;
146}
147
148extern "C" {
149    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyislivestream?language=objc)
150    pub static MPNowPlayingInfoPropertyIsLiveStream: &'static NSString;
151}
152
153extern "C" {
154    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyavailablelanguageoptions?language=objc)
155    pub static MPNowPlayingInfoPropertyAvailableLanguageOptions: &'static NSString;
156}
157
158extern "C" {
159    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertycurrentlanguageoptions?language=objc)
160    pub static MPNowPlayingInfoPropertyCurrentLanguageOptions: &'static NSString;
161}
162
163extern "C" {
164    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfocollectionidentifier?language=objc)
165    pub static MPNowPlayingInfoCollectionIdentifier: &'static NSString;
166}
167
168extern "C" {
169    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyexternalcontentidentifier?language=objc)
170    pub static MPNowPlayingInfoPropertyExternalContentIdentifier: &'static NSString;
171}
172
173extern "C" {
174    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyexternaluserprofileidentifier?language=objc)
175    pub static MPNowPlayingInfoPropertyExternalUserProfileIdentifier: &'static NSString;
176}
177
178extern "C" {
179    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyserviceidentifier?language=objc)
180    pub static MPNowPlayingInfoPropertyServiceIdentifier: &'static NSString;
181}
182
183extern "C" {
184    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyplaybackprogress?language=objc)
185    pub static MPNowPlayingInfoPropertyPlaybackProgress: &'static NSString;
186}
187
188extern "C" {
189    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertymediatype?language=objc)
190    pub static MPNowPlayingInfoPropertyMediaType: &'static NSString;
191}
192
193extern "C" {
194    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyasseturl?language=objc)
195    pub static MPNowPlayingInfoPropertyAssetURL: &'static NSString;
196}
197
198extern "C" {
199    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertycurrentplaybackdate?language=objc)
200    pub static MPNowPlayingInfoPropertyCurrentPlaybackDate: &'static NSString;
201}
202
203extern "C" {
204    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyadtimeranges?language=objc)
205    pub static MPNowPlayingInfoPropertyAdTimeRanges: &'static NSString;
206}
207
208extern "C" {
209    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertycreditsstarttime?language=objc)
210    pub static MPNowPlayingInfoPropertyCreditsStartTime: &'static NSString;
211}
212
213extern "C" {
214    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyinternationalstandardrecordingcode?language=objc)
215    pub static MPNowPlayingInfoPropertyInternationalStandardRecordingCode: &'static NSString;
216}
217
218extern "C" {
219    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyexcludefromsuggestions?language=objc)
220    pub static MPNowPlayingInfoPropertyExcludeFromSuggestions: &'static NSString;
221}