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"))]
80extern_conformance!(
81 unsafe impl NSCoding for MPMediaPlaylist {}
82);
83
84#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
85extern_conformance!(
86 unsafe impl NSObjectProtocol for MPMediaPlaylist {}
87);
88
89#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
90extern_conformance!(
91 unsafe impl NSSecureCoding for MPMediaPlaylist {}
92);
93
94#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
95impl MPMediaPlaylist {
96 extern_methods!(
97 #[unsafe(method(persistentID))]
98 #[unsafe(method_family = none)]
99 pub unsafe fn persistentID(&self) -> MPMediaEntityPersistentID;
100
101 #[unsafe(method(cloudGlobalID))]
102 #[unsafe(method_family = none)]
103 pub unsafe fn cloudGlobalID(&self) -> Option<Retained<NSString>>;
104
105 #[unsafe(method(name))]
106 #[unsafe(method_family = none)]
107 pub unsafe fn name(&self) -> Option<Retained<NSString>>;
108
109 #[unsafe(method(playlistAttributes))]
110 #[unsafe(method_family = none)]
111 pub unsafe fn playlistAttributes(&self) -> MPMediaPlaylistAttribute;
112
113 #[cfg(feature = "MPMediaItem")]
114 #[unsafe(method(seedItems))]
115 #[unsafe(method_family = none)]
116 pub unsafe fn seedItems(&self) -> Option<Retained<NSArray<MPMediaItem>>>;
117
118 #[unsafe(method(descriptionText))]
119 #[unsafe(method_family = none)]
120 pub unsafe fn descriptionText(&self) -> Option<Retained<NSString>>;
121
122 #[unsafe(method(authorDisplayName))]
123 #[unsafe(method_family = none)]
124 pub unsafe fn authorDisplayName(&self) -> Option<Retained<NSString>>;
125
126 #[cfg(feature = "block2")]
127 #[unsafe(method(addItemWithProductID:completionHandler:))]
128 #[unsafe(method_family = none)]
129 pub unsafe fn addItemWithProductID_completionHandler(
130 &self,
131 product_id: &NSString,
132 completion_handler: Option<&block2::DynBlock<dyn Fn(*mut NSError)>>,
133 );
134
135 #[cfg(all(feature = "MPMediaItem", feature = "block2"))]
136 #[unsafe(method(addMediaItems:completionHandler:))]
137 #[unsafe(method_family = none)]
138 pub unsafe fn addMediaItems_completionHandler(
139 &self,
140 media_items: &NSArray<MPMediaItem>,
141 completion_handler: Option<&block2::DynBlock<dyn Fn(*mut NSError)>>,
142 );
143 );
144}
145
146#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
148impl MPMediaPlaylist {
149 extern_methods!(
150 #[cfg(feature = "MPMediaItem")]
151 #[unsafe(method(initWithItems:))]
152 #[unsafe(method_family = init)]
153 pub unsafe fn initWithItems(
154 this: Allocated<Self>,
155 items: &NSArray<MPMediaItem>,
156 ) -> Retained<Self>;
157 );
158}
159
160#[cfg(all(feature = "MPMediaEntity", feature = "MPMediaItemCollection"))]
162impl MPMediaPlaylist {
163 extern_methods!(
164 #[unsafe(method(init))]
165 #[unsafe(method_family = init)]
166 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
167
168 #[unsafe(method(new))]
169 #[unsafe(method_family = new)]
170 pub unsafe fn new() -> Retained<Self>;
171 );
172}
173
174extern_class!(
175 #[unsafe(super(NSObject))]
177 #[derive(Debug, PartialEq, Eq, Hash)]
178 pub struct MPMediaPlaylistCreationMetadata;
179);
180
181extern_conformance!(
182 unsafe impl NSObjectProtocol for MPMediaPlaylistCreationMetadata {}
183);
184
185impl MPMediaPlaylistCreationMetadata {
186 extern_methods!(
187 #[unsafe(method(new))]
188 #[unsafe(method_family = new)]
189 pub unsafe fn new() -> Retained<Self>;
190
191 #[unsafe(method(init))]
192 #[unsafe(method_family = init)]
193 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
194
195 #[unsafe(method(initWithName:))]
196 #[unsafe(method_family = init)]
197 pub unsafe fn initWithName(this: Allocated<Self>, name: &NSString) -> Retained<Self>;
198
199 #[unsafe(method(name))]
201 #[unsafe(method_family = none)]
202 pub unsafe fn name(&self) -> Retained<NSString>;
203
204 #[unsafe(method(authorDisplayName))]
206 #[unsafe(method_family = none)]
207 pub unsafe fn authorDisplayName(&self) -> Retained<NSString>;
208
209 #[unsafe(method(setAuthorDisplayName:))]
211 #[unsafe(method_family = none)]
212 pub unsafe fn setAuthorDisplayName(&self, author_display_name: Option<&NSString>);
213
214 #[unsafe(method(descriptionText))]
215 #[unsafe(method_family = none)]
216 pub unsafe fn descriptionText(&self) -> Retained<NSString>;
217
218 #[unsafe(method(setDescriptionText:))]
220 #[unsafe(method_family = none)]
221 pub unsafe fn setDescriptionText(&self, description_text: &NSString);
222 );
223}