objc2_media_player/generated/
MPMediaPlaylist.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct MPMediaPlaylistAttribute(pub NSUInteger);
15bitflags::bitflags! {
16 impl MPMediaPlaylistAttribute: NSUInteger {
17 #[doc(alias = "MPMediaPlaylistAttributeNone")]
18 const None = 0;
19 #[doc(alias = "MPMediaPlaylistAttributeOnTheGo")]
20 const OnTheGo = 1<<0;
21 #[doc(alias = "MPMediaPlaylistAttributeSmart")]
22 const Smart = 1<<1;
23 #[doc(alias = "MPMediaPlaylistAttributeGenius")]
24 const Genius = 1<<2;
25 }
26}
27
28unsafe impl Encode for MPMediaPlaylistAttribute {
29 const ENCODING: Encoding = NSUInteger::ENCODING;
30}
31
32unsafe impl RefEncode for MPMediaPlaylistAttribute {
33 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
34}
35
36extern "C" {
37 pub static MPMediaPlaylistPropertyPersistentID: &'static NSString;
39}
40
41extern "C" {
42 pub static MPMediaPlaylistPropertyCloudGlobalID: &'static NSString;
44}
45
46extern "C" {
47 pub static MPMediaPlaylistPropertyName: &'static NSString;
49}
50
51extern "C" {
52 pub static MPMediaPlaylistPropertyPlaylistAttributes: &'static NSString;
54}
55
56extern "C" {
57 pub static MPMediaPlaylistPropertySeedItems: &'static NSString;
59}
60
61extern "C" {
62 pub static MPMediaPlaylistPropertyDescriptionText: &'static NSString;
64}
65
66extern "C" {
67 pub static MPMediaPlaylistPropertyAuthorDisplayName: &'static NSString;
69}
70
71extern_class!(
72 #[unsafe(super(MPMediaItemCollection, MPMediaEntity, NSObject))]
74 #[derive(Debug, PartialEq, Eq, Hash)]
75 #[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
76 pub struct MPMediaPlaylist;
77);
78
79#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
80unsafe impl NSCoding for MPMediaPlaylist {}
81
82#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
83unsafe impl NSObjectProtocol for MPMediaPlaylist {}
84
85#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
86unsafe impl NSSecureCoding for MPMediaPlaylist {}
87
88#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
89impl MPMediaPlaylist {
90 extern_methods!(
91 #[unsafe(method(persistentID))]
92 #[unsafe(method_family = none)]
93 pub unsafe fn persistentID(&self) -> MPMediaEntityPersistentID;
94
95 #[unsafe(method(cloudGlobalID))]
96 #[unsafe(method_family = none)]
97 pub unsafe fn cloudGlobalID(&self) -> Option<Retained<NSString>>;
98
99 #[unsafe(method(name))]
100 #[unsafe(method_family = none)]
101 pub unsafe fn name(&self) -> Option<Retained<NSString>>;
102
103 #[unsafe(method(playlistAttributes))]
104 #[unsafe(method_family = none)]
105 pub unsafe fn playlistAttributes(&self) -> MPMediaPlaylistAttribute;
106
107 #[cfg(feature = "MPMediaItem")]
108 #[unsafe(method(seedItems))]
109 #[unsafe(method_family = none)]
110 pub unsafe fn seedItems(&self) -> Option<Retained<NSArray<MPMediaItem>>>;
111
112 #[unsafe(method(descriptionText))]
113 #[unsafe(method_family = none)]
114 pub unsafe fn descriptionText(&self) -> Option<Retained<NSString>>;
115
116 #[unsafe(method(authorDisplayName))]
117 #[unsafe(method_family = none)]
118 pub unsafe fn authorDisplayName(&self) -> Option<Retained<NSString>>;
119
120 #[cfg(feature = "block2")]
121 #[unsafe(method(addItemWithProductID:completionHandler:))]
122 #[unsafe(method_family = none)]
123 pub unsafe fn addItemWithProductID_completionHandler(
124 &self,
125 product_id: &NSString,
126 completion_handler: Option<&block2::Block<dyn Fn(*mut NSError)>>,
127 );
128
129 #[cfg(all(feature = "MPMediaItem", feature = "block2"))]
130 #[unsafe(method(addMediaItems:completionHandler:))]
131 #[unsafe(method_family = none)]
132 pub unsafe fn addMediaItems_completionHandler(
133 &self,
134 media_items: &NSArray<MPMediaItem>,
135 completion_handler: Option<&block2::Block<dyn Fn(*mut NSError)>>,
136 );
137 );
138}
139
140#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
142impl MPMediaPlaylist {
143 extern_methods!(
144 #[cfg(feature = "MPMediaItem")]
145 #[unsafe(method(initWithItems:))]
146 #[unsafe(method_family = init)]
147 pub unsafe fn initWithItems(
148 this: Allocated<Self>,
149 items: &NSArray<MPMediaItem>,
150 ) -> Retained<Self>;
151 );
152}
153
154#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
156impl MPMediaPlaylist {
157 extern_methods!(
158 #[unsafe(method(init))]
159 #[unsafe(method_family = init)]
160 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
161
162 #[unsafe(method(new))]
163 #[unsafe(method_family = new)]
164 pub unsafe fn new() -> Retained<Self>;
165 );
166}
167
168extern_class!(
169 #[unsafe(super(NSObject))]
171 #[derive(Debug, PartialEq, Eq, Hash)]
172 pub struct MPMediaPlaylistCreationMetadata;
173);
174
175unsafe impl NSObjectProtocol for MPMediaPlaylistCreationMetadata {}
176
177impl MPMediaPlaylistCreationMetadata {
178 extern_methods!(
179 #[unsafe(method(new))]
180 #[unsafe(method_family = new)]
181 pub unsafe fn new() -> Retained<Self>;
182
183 #[unsafe(method(init))]
184 #[unsafe(method_family = init)]
185 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
186
187 #[unsafe(method(initWithName:))]
188 #[unsafe(method_family = init)]
189 pub unsafe fn initWithName(this: Allocated<Self>, name: &NSString) -> Retained<Self>;
190
191 #[unsafe(method(name))]
193 #[unsafe(method_family = none)]
194 pub unsafe fn name(&self) -> Retained<NSString>;
195
196 #[unsafe(method(authorDisplayName))]
198 #[unsafe(method_family = none)]
199 pub unsafe fn authorDisplayName(&self) -> Retained<NSString>;
200
201 #[unsafe(method(setAuthorDisplayName:))]
203 #[unsafe(method_family = none)]
204 pub unsafe fn setAuthorDisplayName(&self, author_display_name: Option<&NSString>);
205
206 #[unsafe(method(descriptionText))]
207 #[unsafe(method_family = none)]
208 pub unsafe fn descriptionText(&self) -> Retained<NSString>;
209
210 #[unsafe(method(setDescriptionText:))]
212 #[unsafe(method_family = none)]
213 pub unsafe fn setDescriptionText(&self, description_text: &NSString);
214 );
215}