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
65extern_conformance!(
66    unsafe impl NSObjectProtocol for MPNowPlayingInfoCenter {}
67);
68
69impl MPNowPlayingInfoCenter {
70    extern_methods!(
71        /// Returns the default now playing info center.
72        /// The default center holds now playing info about the current application.
73        #[unsafe(method(defaultCenter))]
74        #[unsafe(method_family = none)]
75        pub unsafe fn defaultCenter() -> Retained<MPNowPlayingInfoCenter>;
76
77        #[unsafe(method(new))]
78        #[unsafe(method_family = new)]
79        pub unsafe fn new() -> Retained<Self>;
80
81        #[unsafe(method(init))]
82        #[unsafe(method_family = init)]
83        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
84
85        /// The current now playing info for the center.
86        /// Setting the info to nil will clear it.
87        #[unsafe(method(nowPlayingInfo))]
88        #[unsafe(method_family = none)]
89        pub unsafe fn nowPlayingInfo(&self) -> Option<Retained<NSDictionary<NSString, AnyObject>>>;
90
91        /// Setter for [`nowPlayingInfo`][Self::nowPlayingInfo].
92        #[unsafe(method(setNowPlayingInfo:))]
93        #[unsafe(method_family = none)]
94        pub unsafe fn setNowPlayingInfo(
95            &self,
96            now_playing_info: Option<&NSDictionary<NSString, AnyObject>>,
97        );
98
99        /// The current playback state of the app.
100        /// This only applies on macOS, where playback state cannot be determined by
101        /// the application's audio session. This property must be set every time
102        /// the app begins or halts playback, otherwise remote control functionality may
103        /// not work as expected.
104        #[unsafe(method(playbackState))]
105        #[unsafe(method_family = none)]
106        pub unsafe fn playbackState(&self) -> MPNowPlayingPlaybackState;
107
108        /// Setter for [`playbackState`][Self::playbackState].
109        #[unsafe(method(setPlaybackState:))]
110        #[unsafe(method_family = none)]
111        pub unsafe fn setPlaybackState(&self, playback_state: MPNowPlayingPlaybackState);
112    );
113}
114
115extern "C" {
116    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyelapsedplaybacktime?language=objc)
117    pub static MPNowPlayingInfoPropertyElapsedPlaybackTime: &'static NSString;
118}
119
120extern "C" {
121    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyplaybackrate?language=objc)
122    pub static MPNowPlayingInfoPropertyPlaybackRate: &'static NSString;
123}
124
125extern "C" {
126    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertydefaultplaybackrate?language=objc)
127    pub static MPNowPlayingInfoPropertyDefaultPlaybackRate: &'static NSString;
128}
129
130extern "C" {
131    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyplaybackqueueindex?language=objc)
132    pub static MPNowPlayingInfoPropertyPlaybackQueueIndex: &'static NSString;
133}
134
135extern "C" {
136    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyplaybackqueuecount?language=objc)
137    pub static MPNowPlayingInfoPropertyPlaybackQueueCount: &'static NSString;
138}
139
140extern "C" {
141    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertychapternumber?language=objc)
142    pub static MPNowPlayingInfoPropertyChapterNumber: &'static NSString;
143}
144
145extern "C" {
146    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertychaptercount?language=objc)
147    pub static MPNowPlayingInfoPropertyChapterCount: &'static NSString;
148}
149
150extern "C" {
151    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyislivestream?language=objc)
152    pub static MPNowPlayingInfoPropertyIsLiveStream: &'static NSString;
153}
154
155extern "C" {
156    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyavailablelanguageoptions?language=objc)
157    pub static MPNowPlayingInfoPropertyAvailableLanguageOptions: &'static NSString;
158}
159
160extern "C" {
161    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertycurrentlanguageoptions?language=objc)
162    pub static MPNowPlayingInfoPropertyCurrentLanguageOptions: &'static NSString;
163}
164
165extern "C" {
166    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfocollectionidentifier?language=objc)
167    pub static MPNowPlayingInfoCollectionIdentifier: &'static NSString;
168}
169
170extern "C" {
171    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyexternalcontentidentifier?language=objc)
172    pub static MPNowPlayingInfoPropertyExternalContentIdentifier: &'static NSString;
173}
174
175extern "C" {
176    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyexternaluserprofileidentifier?language=objc)
177    pub static MPNowPlayingInfoPropertyExternalUserProfileIdentifier: &'static NSString;
178}
179
180extern "C" {
181    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyserviceidentifier?language=objc)
182    pub static MPNowPlayingInfoPropertyServiceIdentifier: &'static NSString;
183}
184
185extern "C" {
186    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyplaybackprogress?language=objc)
187    pub static MPNowPlayingInfoPropertyPlaybackProgress: &'static NSString;
188}
189
190extern "C" {
191    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertymediatype?language=objc)
192    pub static MPNowPlayingInfoPropertyMediaType: &'static NSString;
193}
194
195extern "C" {
196    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyasseturl?language=objc)
197    pub static MPNowPlayingInfoPropertyAssetURL: &'static NSString;
198}
199
200extern "C" {
201    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertycurrentplaybackdate?language=objc)
202    pub static MPNowPlayingInfoPropertyCurrentPlaybackDate: &'static NSString;
203}
204
205extern "C" {
206    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyadtimeranges?language=objc)
207    pub static MPNowPlayingInfoPropertyAdTimeRanges: &'static NSString;
208}
209
210extern "C" {
211    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertycreditsstarttime?language=objc)
212    pub static MPNowPlayingInfoPropertyCreditsStartTime: &'static NSString;
213}
214
215extern "C" {
216    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyinternationalstandardrecordingcode?language=objc)
217    pub static MPNowPlayingInfoPropertyInternationalStandardRecordingCode: &'static NSString;
218}
219
220extern "C" {
221    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpnowplayinginfopropertyexcludefromsuggestions?language=objc)
222    pub static MPNowPlayingInfoPropertyExcludeFromSuggestions: &'static NSString;
223}