pub struct ITLibrary { /* private fields */ }ITLibrary only.Expand description
A class representing an iTunes library whose metadata is being queried.
See also Apple’s documentation
Implementations§
Source§impl ITLibrary
impl ITLibrary
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>
Sourcepub unsafe fn applicationVersion(&self) -> Retained<NSString>
pub unsafe fn applicationVersion(&self) -> Retained<NSString>
The version of iTunes being accessed.
Sourcepub unsafe fn features(&self) -> ITLibExportFeature
pub unsafe fn features(&self) -> ITLibExportFeature
A bitwise OR combination of the features of this library.
Sourcepub unsafe fn apiMajorVersion(&self) -> NSUInteger
pub unsafe fn apiMajorVersion(&self) -> NSUInteger
The major version number of this API.
Sourcepub unsafe fn apiMinorVersion(&self) -> NSUInteger
pub unsafe fn apiMinorVersion(&self) -> NSUInteger
The minor version number of this API.
Sourcepub unsafe fn mediaFolderLocation(&self) -> Option<Retained<NSURL>>
pub unsafe fn mediaFolderLocation(&self) -> Option<Retained<NSURL>>
The location of the iTunes music folder.
Sourcepub unsafe fn musicFolderLocation(&self) -> Option<Retained<NSURL>>
pub unsafe fn musicFolderLocation(&self) -> Option<Retained<NSURL>>
The location of the iTunes music folder. Replaced by mediaFolderLocation.
Sourcepub unsafe fn shouldShowContentRating(&self) -> bool
pub unsafe fn shouldShowContentRating(&self) -> bool
Whether to show content rating labels.
Sourcepub unsafe fn allMediaItems(&self) -> Retained<NSArray<ITLibMediaItem>>
Available on crate features ITLibMediaEntity and ITLibMediaItem only.
pub unsafe fn allMediaItems(&self) -> Retained<NSArray<ITLibMediaItem>>
ITLibMediaEntity and ITLibMediaItem only.All media items in the library.
Sourcepub unsafe fn allPlaylists(&self) -> Retained<NSArray<ITLibPlaylist>>
Available on crate features ITLibMediaEntity and ITLibPlaylist only.
pub unsafe fn allPlaylists(&self) -> Retained<NSArray<ITLibPlaylist>>
ITLibMediaEntity and ITLibPlaylist only.All playlists in the library.
Sourcepub unsafe fn libraryWithAPIVersion_error(
requested_api_version: &NSString,
) -> Result<Retained<Self>, Retained<NSError>>
pub unsafe fn libraryWithAPIVersion_error( requested_api_version: &NSString, ) -> Result<Retained<Self>, Retained<NSError>>
Creates and initializes an instance of ITLibrary which can be used to retrieve media entities.
Upon initialization of the ITLibrary class, the default iTunes database for the current user will be read and parsed. At this point all media entities will be cached in memory until the time the object is deallocated.
Parameter requestedAPIVersion: The version of the iTunesLibrary API that the application is requesting, provide “1.0” if unknown.
Parameter error: A pointer to a variable that will receive an NSError if this method fails. May be nil if caller does not care about error.
Returns: An ITLibrary instance, or nil if this method fails.
Sourcepub unsafe fn libraryWithAPIVersion_options_error(
requested_api_version: &NSString,
options: ITLibInitOptions,
) -> Result<Retained<Self>, Retained<NSError>>
pub unsafe fn libraryWithAPIVersion_options_error( requested_api_version: &NSString, options: ITLibInitOptions, ) -> Result<Retained<Self>, Retained<NSError>>
Creates and initializes an instance of ITLibrary which can be used to retrieve media entities.
Unless the ITLibInitOptionLazyLoadData option is specified, the default iTunes database for the current user will be read and parsed upon initialization of the ITLibrary class, and all media entities will be cached in memory.
Parameter requestedAPIVersion: The version of the iTunesLibrary API that the application is requesting, provide “1.0” if unknown.
Parameter options: Options that change the initialization behavior.
Parameter error: A pointer to a variable that will receive an NSError if this method fails. May be nil if caller does not care about error.
Returns: An ITLibrary instance, or nil if this method fails.
Sourcepub unsafe fn initWithAPIVersion_error(
this: Allocated<Self>,
requested_api_version: &NSString,
) -> Result<Retained<Self>, Retained<NSError>>
pub unsafe fn initWithAPIVersion_error( this: Allocated<Self>, requested_api_version: &NSString, ) -> Result<Retained<Self>, Retained<NSError>>
Initializes an instance of ITLibrary which can be used to retrieve media entities.
Upon initialization of the ITLibrary class, the default iTunes database for the current user will be read and parsed. At this point all media entities will be cached in memory until the time the object is deallocated.
Parameter requestedAPIVersion: The version of the iTunesLibrary API that the application is requesting, provide “1.0” if unknown.
Parameter error: A pointer to a variable that will receive an NSError if this method fails. May be nil if caller does not care about error.
Returns: An ITLibrary instance, or nil if this method fails.
Sourcepub unsafe fn initWithAPIVersion_options_error(
this: Allocated<Self>,
requested_api_version: &NSString,
options: ITLibInitOptions,
) -> Result<Retained<Self>, Retained<NSError>>
pub unsafe fn initWithAPIVersion_options_error( this: Allocated<Self>, requested_api_version: &NSString, options: ITLibInitOptions, ) -> Result<Retained<Self>, Retained<NSError>>
Initializes an instance of ITLibrary which can be used to retrieve media entities.
Unless the ITLibInitOptionLazyLoadData option is specified, the default iTunes database for the current user will be read and parsed upon initialization of the ITLibrary class, and all media entities will be cached in memory.
Parameter requestedAPIVersion: The version of the iTunesLibrary API that the application is requesting, provide “1.0” if unknown.
Parameter options: Options that change the initialization behavior.
Parameter error: A pointer to a variable that will receive an NSError if this method fails. May be nil if caller does not care about error.
Returns: An ITLibrary instance, or nil if this method fails.
Sourcepub unsafe fn artworkForMediaFile(
&self,
media_file_url: &NSURL,
) -> Option<Retained<ITLibArtwork>>
Available on crate feature ITLibArtwork only.
pub unsafe fn artworkForMediaFile( &self, media_file_url: &NSURL, ) -> Option<Retained<ITLibArtwork>>
ITLibArtwork only.Retrieves the artwork from a media file.
Parameter mediaFileURL: The URL of the media file whose artwork should be extracted.
Returns: A ITLibArtwork instance represeting the media file artwork, or nil if the artwork was not found or could not be extracted.
Sourcepub unsafe fn reloadData(&self) -> bool
pub unsafe fn reloadData(&self) -> bool
Refreshes the data used by the framework.
Returns: YES if the data was reloaded, false if an error occurred.
Sourcepub unsafe fn unloadData(&self)
pub unsafe fn unloadData(&self)
Unloads the data used by the framework.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init/new methods).
§Example
Check that an instance of NSObject has the precise class NSObject.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.Use Ivar::load instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T.
This is the reference-variant. Use Retained::downcast if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString to a NSMutableString,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass: for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject.
§Panics
This works internally by calling isKindOfClass:. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject and
NSProxy implement this method.
§Examples
Cast an NSString back and forth from NSObject.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();Try (and fail) to cast an NSObject to an NSString.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}Trait Implementations§
Source§impl ClassType for ITLibrary
impl ClassType for ITLibrary
Source§const NAME: &'static str = "ITLibrary"
const NAME: &'static str = "ITLibrary"
Source§type ThreadKind = <<ITLibrary as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<ITLibrary as ClassType>::Super as ClassType>::ThreadKind
Source§impl NSObjectProtocol for ITLibrary
impl NSObjectProtocol for ITLibrary
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_ref