objc2_itunes_library/generated/
ITLibMediaItem.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[repr(transparent)]
51#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
52pub struct ITLibMediaItemMediaKind(pub NSUInteger);
53impl ITLibMediaItemMediaKind {
54 #[doc(alias = "ITLibMediaItemMediaKindUnknown")]
55 pub const KindUnknown: Self = Self(1);
56 #[doc(alias = "ITLibMediaItemMediaKindSong")]
57 pub const KindSong: Self = Self(2);
58 #[doc(alias = "ITLibMediaItemMediaKindMovie")]
59 pub const KindMovie: Self = Self(3);
60 #[doc(alias = "ITLibMediaItemMediaKindPodcast")]
61 pub const KindPodcast: Self = Self(4);
62 #[doc(alias = "ITLibMediaItemMediaKindAudiobook")]
63 pub const KindAudiobook: Self = Self(5);
64 #[doc(alias = "ITLibMediaItemMediaKindPDFBooklet")]
65 pub const KindPDFBooklet: Self = Self(6);
66 #[doc(alias = "ITLibMediaItemMediaKindMusicVideo")]
67 pub const KindMusicVideo: Self = Self(7);
68 #[doc(alias = "ITLibMediaItemMediaKindTVShow")]
69 pub const KindTVShow: Self = Self(8);
70 #[doc(alias = "ITLibMediaItemMediaKindInteractiveBooklet")]
71 pub const KindInteractiveBooklet: Self = Self(9);
72 #[doc(alias = "ITLibMediaItemMediaKindHomeVideo")]
73 pub const KindHomeVideo: Self = Self(12);
74 #[doc(alias = "ITLibMediaItemMediaKindRingtone")]
75 pub const KindRingtone: Self = Self(14);
76 #[doc(alias = "ITLibMediaItemMediaKindDigitalBooklet")]
77 pub const KindDigitalBooklet: Self = Self(15);
78 #[doc(alias = "ITLibMediaItemMediaKindIOSApplication")]
79 pub const KindIOSApplication: Self = Self(16);
80 #[doc(alias = "ITLibMediaItemMediaKindVoiceMemo")]
81 pub const KindVoiceMemo: Self = Self(17);
82 #[doc(alias = "ITLibMediaItemMediaKindiTunesU")]
83 pub const KindiTunesU: Self = Self(18);
84 #[doc(alias = "ITLibMediaItemMediaKindBook")]
85 pub const KindBook: Self = Self(19);
86 #[doc(alias = "ITLibMediaItemMediaKindPDFBook")]
87 pub const KindPDFBook: Self = Self(20);
88 #[doc(alias = "ITLibMediaItemMediaKindAlertTone")]
89 pub const KindAlertTone: Self = Self(21);
90}
91
92unsafe impl Encode for ITLibMediaItemMediaKind {
93 const ENCODING: Encoding = NSUInteger::ENCODING;
94}
95
96unsafe impl RefEncode for ITLibMediaItemMediaKind {
97 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
98}
99
100#[repr(transparent)]
111#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
112pub struct ITLibMediaItemLyricsContentRating(pub NSUInteger);
113impl ITLibMediaItemLyricsContentRating {
114 #[doc(alias = "ITLibMediaItemLyricsContentRatingNone")]
115 pub const None: Self = Self(0);
116 #[doc(alias = "ITLibMediaItemLyricsContentRatingExplicit")]
117 pub const Explicit: Self = Self(1);
118 #[doc(alias = "ITLibMediaItemLyricsContentRatingClean")]
119 pub const Clean: Self = Self(2);
120}
121
122unsafe impl Encode for ITLibMediaItemLyricsContentRating {
123 const ENCODING: Encoding = NSUInteger::ENCODING;
124}
125
126unsafe impl RefEncode for ITLibMediaItemLyricsContentRating {
127 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
128}
129
130#[repr(transparent)]
143#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
144pub struct ITLibMediaItemLocationType(pub NSUInteger);
145impl ITLibMediaItemLocationType {
146 #[doc(alias = "ITLibMediaItemLocationTypeUnknown")]
147 pub const Unknown: Self = Self(0);
148 #[doc(alias = "ITLibMediaItemLocationTypeFile")]
149 pub const File: Self = Self(1);
150 #[doc(alias = "ITLibMediaItemLocationTypeURL")]
151 pub const URL: Self = Self(2);
152 #[doc(alias = "ITLibMediaItemLocationTypeRemote")]
153 pub const Remote: Self = Self(3);
154}
155
156unsafe impl Encode for ITLibMediaItemLocationType {
157 const ENCODING: Encoding = NSUInteger::ENCODING;
158}
159
160unsafe impl RefEncode for ITLibMediaItemLocationType {
161 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
162}
163
164#[repr(transparent)]
175#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
176pub struct ITLibMediaItemPlayStatus(pub NSUInteger);
177impl ITLibMediaItemPlayStatus {
178 #[doc(alias = "ITLibMediaItemPlayStatusNone")]
179 pub const None: Self = Self(0);
180 #[doc(alias = "ITLibMediaItemPlayStatusPartiallyPlayed")]
181 pub const PartiallyPlayed: Self = Self(1);
182 #[doc(alias = "ITLibMediaItemPlayStatusUnplayed")]
183 pub const Unplayed: Self = Self(2);
184}
185
186unsafe impl Encode for ITLibMediaItemPlayStatus {
187 const ENCODING: Encoding = NSUInteger::ENCODING;
188}
189
190unsafe impl RefEncode for ITLibMediaItemPlayStatus {
191 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
192}
193
194extern_class!(
195 #[unsafe(super(ITLibMediaEntity, NSObject))]
202 #[derive(Debug, PartialEq, Eq, Hash)]
203 #[cfg(feature = "ITLibMediaEntity")]
204 pub struct ITLibMediaItem;
205);
206
207#[cfg(feature = "ITLibMediaEntity")]
208extern_conformance!(
209 unsafe impl NSObjectProtocol for ITLibMediaItem {}
210);
211
212#[cfg(feature = "ITLibMediaEntity")]
213impl ITLibMediaItem {
214 extern_methods!(
215 #[unsafe(method(title))]
217 #[unsafe(method_family = none)]
218 pub unsafe fn title(&self) -> Retained<NSString>;
219
220 #[unsafe(method(sortTitle))]
222 #[unsafe(method_family = none)]
223 pub unsafe fn sortTitle(&self) -> Option<Retained<NSString>>;
224
225 #[cfg(feature = "ITLibArtist")]
226 #[unsafe(method(artist))]
228 #[unsafe(method_family = none)]
229 pub unsafe fn artist(&self) -> Option<Retained<ITLibArtist>>;
230
231 #[unsafe(method(composer))]
233 #[unsafe(method_family = none)]
234 pub unsafe fn composer(&self) -> Retained<NSString>;
235
236 #[unsafe(method(sortComposer))]
238 #[unsafe(method_family = none)]
239 pub unsafe fn sortComposer(&self) -> Option<Retained<NSString>>;
240
241 #[unsafe(method(rating))]
243 #[unsafe(method_family = none)]
244 pub unsafe fn rating(&self) -> NSInteger;
245
246 #[unsafe(method(isRatingComputed))]
248 #[unsafe(method_family = none)]
249 pub unsafe fn isRatingComputed(&self) -> bool;
250
251 #[unsafe(method(startTime))]
253 #[unsafe(method_family = none)]
254 pub unsafe fn startTime(&self) -> NSUInteger;
255
256 #[unsafe(method(stopTime))]
258 #[unsafe(method_family = none)]
259 pub unsafe fn stopTime(&self) -> NSUInteger;
260
261 #[cfg(feature = "ITLibAlbum")]
262 #[unsafe(method(album))]
264 #[unsafe(method_family = none)]
265 pub unsafe fn album(&self) -> Retained<ITLibAlbum>;
266
267 #[unsafe(method(genre))]
269 #[unsafe(method_family = none)]
270 pub unsafe fn genre(&self) -> Retained<NSString>;
271
272 #[unsafe(method(kind))]
274 #[unsafe(method_family = none)]
275 pub unsafe fn kind(&self) -> Option<Retained<NSString>>;
276
277 #[unsafe(method(mediaKind))]
279 #[unsafe(method_family = none)]
280 pub unsafe fn mediaKind(&self) -> ITLibMediaItemMediaKind;
281
282 #[unsafe(method(fileSize))]
284 #[unsafe(method_family = none)]
285 pub unsafe fn fileSize(&self) -> c_ulonglong;
286
287 #[unsafe(method(size))]
289 #[unsafe(method_family = none)]
290 pub unsafe fn size(&self) -> NSUInteger;
291
292 #[unsafe(method(totalTime))]
294 #[unsafe(method_family = none)]
295 pub unsafe fn totalTime(&self) -> NSUInteger;
296
297 #[unsafe(method(trackNumber))]
299 #[unsafe(method_family = none)]
300 pub unsafe fn trackNumber(&self) -> NSUInteger;
301
302 #[unsafe(method(category))]
304 #[unsafe(method_family = none)]
305 pub unsafe fn category(&self) -> Option<Retained<NSString>>;
306
307 #[unsafe(method(description))]
309 #[unsafe(method_family = none)]
310 pub unsafe fn description(&self) -> Option<Retained<NSString>>;
311
312 #[unsafe(method(lyricsContentRating))]
314 #[unsafe(method_family = none)]
315 pub unsafe fn lyricsContentRating(&self) -> ITLibMediaItemLyricsContentRating;
316
317 #[unsafe(method(contentRating))]
319 #[unsafe(method_family = none)]
320 pub unsafe fn contentRating(&self) -> Option<Retained<NSString>>;
321
322 #[unsafe(method(modifiedDate))]
324 #[unsafe(method_family = none)]
325 pub unsafe fn modifiedDate(&self) -> Option<Retained<NSDate>>;
326
327 #[unsafe(method(addedDate))]
329 #[unsafe(method_family = none)]
330 pub unsafe fn addedDate(&self) -> Option<Retained<NSDate>>;
331
332 #[unsafe(method(bitrate))]
334 #[unsafe(method_family = none)]
335 pub unsafe fn bitrate(&self) -> NSUInteger;
336
337 #[unsafe(method(sampleRate))]
339 #[unsafe(method_family = none)]
340 pub unsafe fn sampleRate(&self) -> NSUInteger;
341
342 #[unsafe(method(beatsPerMinute))]
344 #[unsafe(method_family = none)]
345 pub unsafe fn beatsPerMinute(&self) -> NSUInteger;
346
347 #[unsafe(method(playCount))]
349 #[unsafe(method_family = none)]
350 pub unsafe fn playCount(&self) -> NSUInteger;
351
352 #[unsafe(method(lastPlayedDate))]
354 #[unsafe(method_family = none)]
355 pub unsafe fn lastPlayedDate(&self) -> Option<Retained<NSDate>>;
356
357 #[unsafe(method(playStatus))]
359 #[unsafe(method_family = none)]
360 pub unsafe fn playStatus(&self) -> ITLibMediaItemPlayStatus;
361
362 #[unsafe(method(location))]
364 #[unsafe(method_family = none)]
365 pub unsafe fn location(&self) -> Option<Retained<NSURL>>;
366
367 #[unsafe(method(hasArtworkAvailable))]
369 #[unsafe(method_family = none)]
370 pub unsafe fn hasArtworkAvailable(&self) -> bool;
371
372 #[cfg(feature = "ITLibArtwork")]
373 #[unsafe(method(artwork))]
375 #[unsafe(method_family = none)]
376 pub unsafe fn artwork(&self) -> Option<Retained<ITLibArtwork>>;
377
378 #[unsafe(method(comments))]
380 #[unsafe(method_family = none)]
381 pub unsafe fn comments(&self) -> Option<Retained<NSString>>;
382
383 #[unsafe(method(isPurchased))]
385 #[unsafe(method_family = none)]
386 pub unsafe fn isPurchased(&self) -> bool;
387
388 #[unsafe(method(isCloud))]
390 #[unsafe(method_family = none)]
391 pub unsafe fn isCloud(&self) -> bool;
392
393 #[unsafe(method(isDRMProtected))]
395 #[unsafe(method_family = none)]
396 pub unsafe fn isDRMProtected(&self) -> bool;
397
398 #[unsafe(method(isVideo))]
400 #[unsafe(method_family = none)]
401 pub unsafe fn isVideo(&self) -> bool;
402
403 #[cfg(feature = "ITLibMediaItemVideoInfo")]
404 #[unsafe(method(videoInfo))]
406 #[unsafe(method_family = none)]
407 pub unsafe fn videoInfo(&self) -> Option<Retained<ITLibMediaItemVideoInfo>>;
408
409 #[unsafe(method(releaseDate))]
411 #[unsafe(method_family = none)]
412 pub unsafe fn releaseDate(&self) -> Option<Retained<NSDate>>;
413
414 #[unsafe(method(year))]
416 #[unsafe(method_family = none)]
417 pub unsafe fn year(&self) -> NSUInteger;
418
419 #[unsafe(method(fileType))]
421 #[unsafe(method_family = none)]
422 pub unsafe fn fileType(&self) -> NSUInteger;
423
424 #[unsafe(method(skipCount))]
426 #[unsafe(method_family = none)]
427 pub unsafe fn skipCount(&self) -> NSUInteger;
428
429 #[unsafe(method(skipDate))]
431 #[unsafe(method_family = none)]
432 pub unsafe fn skipDate(&self) -> Option<Retained<NSDate>>;
433
434 #[unsafe(method(voiceOverLanguage))]
436 #[unsafe(method_family = none)]
437 pub unsafe fn voiceOverLanguage(&self) -> Option<Retained<NSString>>;
438
439 #[unsafe(method(volumeAdjustment))]
441 #[unsafe(method_family = none)]
442 pub unsafe fn volumeAdjustment(&self) -> NSInteger;
443
444 #[unsafe(method(volumeNormalizationEnergy))]
446 #[unsafe(method_family = none)]
447 pub unsafe fn volumeNormalizationEnergy(&self) -> NSUInteger;
448
449 #[unsafe(method(isUserDisabled))]
451 #[unsafe(method_family = none)]
452 pub unsafe fn isUserDisabled(&self) -> bool;
453
454 #[unsafe(method(grouping))]
456 #[unsafe(method_family = none)]
457 pub unsafe fn grouping(&self) -> Option<Retained<NSString>>;
458
459 #[unsafe(method(locationType))]
461 #[unsafe(method_family = none)]
462 pub unsafe fn locationType(&self) -> ITLibMediaItemLocationType;
463 );
464}
465
466#[cfg(feature = "ITLibMediaEntity")]
468impl ITLibMediaItem {
469 extern_methods!(
470 #[unsafe(method(init))]
471 #[unsafe(method_family = init)]
472 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
473
474 #[unsafe(method(new))]
475 #[unsafe(method_family = new)]
476 pub unsafe fn new() -> Retained<Self>;
477 );
478}
479
480extern "C" {
481 pub static ITLibMediaItemPropertyAlbumTitle: &'static NSString;
483}
484
485extern "C" {
486 pub static ITLibMediaItemPropertySortAlbumTitle: &'static NSString;
488}
489
490extern "C" {
491 pub static ITLibMediaItemPropertyAlbumArtist: &'static NSString;
493}
494
495extern "C" {
496 pub static ITLibMediaItemPropertyAlbumRating: &'static NSString;
498}
499
500extern "C" {
501 pub static ITLibMediaItemPropertyAlbumRatingComputed: &'static NSString;
503}
504
505extern "C" {
506 pub static ITLibMediaItemPropertySortAlbumArtist: &'static NSString;
508}
509
510extern "C" {
511 pub static ITLibMediaItemPropertyAlbumIsGapless: &'static NSString;
513}
514
515extern "C" {
516 pub static ITLibMediaItemPropertyAlbumIsCompilation: &'static NSString;
518}
519
520extern "C" {
521 pub static ITLibMediaItemPropertyAlbumDiscCount: &'static NSString;
523}
524
525extern "C" {
526 pub static ITLibMediaItemPropertyAlbumDiscNumber: &'static NSString;
528}
529
530extern "C" {
531 pub static ITLibMediaItemPropertyAlbumTrackCount: &'static NSString;
533}
534
535extern "C" {
536 pub static ITLibMediaItemPropertyArtistName: &'static NSString;
538}
539
540extern "C" {
541 pub static ITLibMediaItemPropertySortArtistName: &'static NSString;
543}
544
545extern "C" {
546 pub static ITLibMediaItemPropertyVideoIsHD: &'static NSString;
548}
549
550extern "C" {
551 pub static ITLibMediaItemPropertyVideoWidth: &'static NSString;
553}
554
555extern "C" {
556 pub static ITLibMediaItemPropertyVideoHeight: &'static NSString;
558}
559
560extern "C" {
561 pub static ITLibMediaItemPropertyVideoSeries: &'static NSString;
563}
564
565extern "C" {
566 pub static ITLibMediaItemPropertyVideoSortSeries: &'static NSString;
568}
569
570extern "C" {
571 pub static ITLibMediaItemPropertyVideoSeason: &'static NSString;
573}
574
575extern "C" {
576 pub static ITLibMediaItemPropertyVideoEpisode: &'static NSString;
578}
579
580extern "C" {
581 pub static ITLibMediaItemPropertyVideoEpisodeOrder: &'static NSString;
583}
584
585extern "C" {
586 pub static ITLibMediaItemPropertyHasArtwork: &'static NSString;
588}
589
590extern "C" {
591 pub static ITLibMediaItemPropertyBitRate: &'static NSString;
593}
594
595extern "C" {
596 pub static ITLibMediaItemPropertyBeatsPerMinute: &'static NSString;
598}
599
600extern "C" {
601 pub static ITLibMediaItemPropertyCategory: &'static NSString;
603}
604
605extern "C" {
606 pub static ITLibMediaItemPropertyComments: &'static NSString;
608}
609
610extern "C" {
611 pub static ITLibMediaItemPropertyComposer: &'static NSString;
613}
614
615extern "C" {
616 pub static ITLibMediaItemPropertySortComposer: &'static NSString;
618}
619
620extern "C" {
621 pub static ITLibMediaItemPropertyContentRating: &'static NSString;
623}
624
625extern "C" {
626 pub static ITLibMediaItemPropertyLyricsContentRating: &'static NSString;
628}
629
630extern "C" {
631 pub static ITLibMediaItemPropertyAddedDate: &'static NSString;
633}
634
635extern "C" {
636 pub static ITLibMediaItemPropertyModifiedDate: &'static NSString;
638}
639
640extern "C" {
641 pub static ITLibMediaItemPropertyDescription: &'static NSString;
643}
644
645extern "C" {
646 pub static ITLibMediaItemPropertyIsUserDisabled: &'static NSString;
648}
649
650extern "C" {
651 pub static ITLibMediaItemPropertyFileType: &'static NSString;
653}
654
655extern "C" {
656 pub static ITLibMediaItemPropertyGenre: &'static NSString;
658}
659
660extern "C" {
661 pub static ITLibMediaItemPropertyGrouping: &'static NSString;
663}
664
665extern "C" {
666 pub static ITLibMediaItemPropertyIsVideo: &'static NSString;
668}
669
670extern "C" {
671 pub static ITLibMediaItemPropertyKind: &'static NSString;
673}
674
675extern "C" {
676 pub static ITLibMediaItemPropertyTitle: &'static NSString;
678}
679
680extern "C" {
681 pub static ITLibMediaItemPropertySortTitle: &'static NSString;
683}
684
685extern "C" {
686 pub static ITLibMediaItemPropertyVolumeNormalizationEnergy: &'static NSString;
688}
689
690extern "C" {
691 pub static ITLibMediaItemPropertyPlayCount: &'static NSString;
693}
694
695extern "C" {
696 pub static ITLibMediaItemPropertyLastPlayDate: &'static NSString;
698}
699
700extern "C" {
701 pub static ITLibMediaItemPropertyPlayStatus: &'static NSString;
703}
704
705extern "C" {
706 pub static ITLibMediaItemPropertyIsDRMProtected: &'static NSString;
708}
709
710extern "C" {
711 pub static ITLibMediaItemPropertyIsPurchased: &'static NSString;
713}
714
715extern "C" {
716 pub static ITLibMediaItemPropertyMovementCount: &'static NSString;
718}
719
720extern "C" {
721 pub static ITLibMediaItemPropertyMovementName: &'static NSString;
723}
724
725extern "C" {
726 pub static ITLibMediaItemPropertyMovementNumber: &'static NSString;
728}
729
730extern "C" {
731 pub static ITLibMediaItemPropertyRating: &'static NSString;
733}
734
735extern "C" {
736 pub static ITLibMediaItemPropertyRatingComputed: &'static NSString;
738}
739
740extern "C" {
741 pub static ITLibMediaItemPropertyReleaseDate: &'static NSString;
743}
744
745extern "C" {
746 pub static ITLibMediaItemPropertySampleRate: &'static NSString;
748}
749
750extern "C" {
751 pub static ITLibMediaItemPropertySize: &'static NSString;
753}
754
755extern "C" {
756 pub static ITLibMediaItemPropertyFileSize: &'static NSString;
758}
759
760extern "C" {
761 pub static ITLibMediaItemPropertyUserSkipCount: &'static NSString;
763}
764
765extern "C" {
766 pub static ITLibMediaItemPropertySkipDate: &'static NSString;
768}
769
770extern "C" {
771 pub static ITLibMediaItemPropertyStartTime: &'static NSString;
773}
774
775extern "C" {
776 pub static ITLibMediaItemPropertyStopTime: &'static NSString;
778}
779
780extern "C" {
781 pub static ITLibMediaItemPropertyTotalTime: &'static NSString;
783}
784
785extern "C" {
786 pub static ITLibMediaItemPropertyTrackNumber: &'static NSString;
788}
789
790extern "C" {
791 pub static ITLibMediaItemPropertyLocationType: &'static NSString;
793}
794
795extern "C" {
796 pub static ITLibMediaItemPropertyVoiceOverLanguage: &'static NSString;
798}
799
800extern "C" {
801 pub static ITLibMediaItemPropertyVolumeAdjustment: &'static NSString;
803}
804
805extern "C" {
806 pub static ITLibMediaItemPropertyWork: &'static NSString;
808}
809
810extern "C" {
811 pub static ITLibMediaItemPropertyYear: &'static NSString;
813}
814
815extern "C" {
816 pub static ITLibMediaItemPropertyMediaKind: &'static NSString;
818}
819
820extern "C" {
821 pub static ITLibMediaItemPropertyLocation: &'static NSString;
823}
824
825extern "C" {
826 pub static ITLibMediaItemPropertyArtwork: &'static NSString;
828}