objc2_media_player/generated/
MPMusicPlayerApplicationController.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11 #[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 #[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
67impl 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 #[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#[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 pub static MPMusicPlayerControllerQueueDidChangeNotification: &'static NSString;
127}