objc2_media_player/generated/
MPMusicPlayerApplicationController.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
10extern_class!(
11    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontrollerqueue?language=objc)
12    #[unsafe(super(NSObject))]
13    #[derive(Debug, PartialEq, Eq, Hash)]
14    pub struct MPMusicPlayerControllerQueue;
15);
16
17unsafe impl NSObjectProtocol for MPMusicPlayerControllerQueue {}
18
19impl MPMusicPlayerControllerQueue {
20    extern_methods!(
21        #[unsafe(method(new))]
22        #[unsafe(method_family = new)]
23        pub unsafe fn new() -> Retained<Self>;
24
25        #[unsafe(method(init))]
26        #[unsafe(method_family = init)]
27        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
28
29        #[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItem"))]
30        #[unsafe(method(items))]
31        #[unsafe(method_family = none)]
32        pub unsafe fn items(&self) -> Retained<NSArray<MPMediaItem>>;
33    );
34}
35
36extern_class!(
37    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontrollermutablequeue?language=objc)
38    #[unsafe(super(MPMusicPlayerControllerQueue, NSObject))]
39    #[derive(Debug, PartialEq, Eq, Hash)]
40    pub struct MPMusicPlayerControllerMutableQueue;
41);
42
43unsafe impl NSObjectProtocol for MPMusicPlayerControllerMutableQueue {}
44
45impl MPMusicPlayerControllerMutableQueue {
46    extern_methods!(
47        #[cfg(all(
48            feature = "MPMediaEntity",
49            feature = "MPMediaItem",
50            feature = "MPMusicPlayerQueueDescriptor"
51        ))]
52        #[unsafe(method(insertQueueDescriptor:afterItem:))]
53        #[unsafe(method_family = none)]
54        pub unsafe fn insertQueueDescriptor_afterItem(
55            &self,
56            queue_descriptor: &MPMusicPlayerQueueDescriptor,
57            after_item: Option<&MPMediaItem>,
58        );
59
60        #[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItem"))]
61        #[unsafe(method(removeItem:))]
62        #[unsafe(method_family = none)]
63        pub unsafe fn removeItem(&self, item: &MPMediaItem);
64    );
65}
66
67/// Methods declared on superclass `MPMusicPlayerControllerQueue`.
68impl MPMusicPlayerControllerMutableQueue {
69    extern_methods!(
70        #[unsafe(method(new))]
71        #[unsafe(method_family = new)]
72        pub unsafe fn new() -> Retained<Self>;
73
74        #[unsafe(method(init))]
75        #[unsafe(method_family = init)]
76        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
77    );
78}
79
80extern_class!(
81    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpmusicplayerapplicationcontroller?language=objc)
82    #[unsafe(super(MPMusicPlayerController, NSObject))]
83    #[derive(Debug, PartialEq, Eq, Hash)]
84    #[cfg(feature = "MPMusicPlayerController")]
85    pub struct MPMusicPlayerApplicationController;
86);
87
88#[cfg(all(feature = "MPMediaPlayback", feature = "MPMusicPlayerController"))]
89unsafe impl MPMediaPlayback for MPMusicPlayerApplicationController {}
90
91#[cfg(feature = "MPMusicPlayerController")]
92unsafe impl NSObjectProtocol for MPMusicPlayerApplicationController {}
93
94#[cfg(feature = "MPMusicPlayerController")]
95impl MPMusicPlayerApplicationController {
96    extern_methods!(
97        #[cfg(feature = "block2")]
98        #[unsafe(method(performQueueTransaction:completionHandler:))]
99        #[unsafe(method_family = none)]
100        pub unsafe fn performQueueTransaction_completionHandler(
101            &self,
102            queue_transaction: &block2::Block<dyn Fn(NonNull<MPMusicPlayerControllerMutableQueue>)>,
103            completion_handler: &block2::Block<
104                dyn Fn(NonNull<MPMusicPlayerControllerQueue>, *mut NSError),
105            >,
106        );
107    );
108}
109
110/// Methods declared on superclass `MPMusicPlayerController`.
111#[cfg(feature = "MPMusicPlayerController")]
112impl MPMusicPlayerApplicationController {
113    extern_methods!(
114        #[unsafe(method(new))]
115        #[unsafe(method_family = new)]
116        pub unsafe fn new() -> Retained<Self>;
117
118        #[unsafe(method(init))]
119        #[unsafe(method_family = init)]
120        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
121    );
122}
123
124extern "C" {
125    /// [Apple's documentation](https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontrollerqueuedidchangenotification?language=objc)
126    pub static MPMusicPlayerControllerQueueDidChangeNotification: &'static NSString;
127}