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