GCKMediaMetadata.h
1 // Copyright 2013 Google Inc.
2 
3 #import <GoogleCast/GCKDefines.h>
4 
5 #import <Foundation/Foundation.h>
6 
7 @class GCKImage;
8 
14 GCK_ASSUME_NONNULL_BEGIN
15 
20 typedef NS_ENUM(NSInteger, GCKMediaMetadataType) {
22  GCKMediaMetadataTypeGeneric = 0,
24  GCKMediaMetadataTypeMovie = 1,
26  GCKMediaMetadataTypeTVShow = 2,
28  GCKMediaMetadataTypeMusicTrack = 3,
30  GCKMediaMetadataTypePhoto = 4,
32  GCKMediaMetadataTypeUser = 100,
33 };
34 
44 GCK_EXTERN NSString *const kGCKMetadataKeyCreationDate;
45 
54 GCK_EXTERN NSString *const kGCKMetadataKeyReleaseDate;
63 GCK_EXTERN NSString *const kGCKMetadataKeyBroadcastDate;
64 
73 GCK_EXTERN NSString *const kGCKMetadataKeyTitle;
74 
82 GCK_EXTERN NSString *const kGCKMetadataKeySubtitle;
83 
92 GCK_EXTERN NSString *const kGCKMetadataKeyArtist;
93 
103 GCK_EXTERN NSString *const kGCKMetadataKeyAlbumArtist;
104 
113 GCK_EXTERN NSString *const kGCKMetadataKeyAlbumTitle;
114 
122 GCK_EXTERN NSString *const kGCKMetadataKeyComposer;
123 
131 GCK_EXTERN NSString *const kGCKMetadataKeyDiscNumber;
132 
142 GCK_EXTERN NSString *const kGCKMetadataKeyTrackNumber;
143 
153 GCK_EXTERN NSString *const kGCKMetadataKeySeasonNumber;
154 
164 GCK_EXTERN NSString *const kGCKMetadataKeyEpisodeNumber;
165 
174 GCK_EXTERN NSString *const kGCKMetadataKeySeriesTitle;
175 
184 GCK_EXTERN NSString *const kGCKMetadataKeyStudio;
185 
194 GCK_EXTERN NSString *const kGCKMetadataKeyWidth;
195 
204 GCK_EXTERN NSString *const kGCKMetadataKeyHeight;
205 
215 GCK_EXTERN NSString *const kGCKMetadataKeyLocationName;
216 
226 GCK_EXTERN NSString *const kGCKMetadataKeyLocationLatitude;
227 
237 GCK_EXTERN NSString *const kGCKMetadataKeyLocationLongitude;
238 
368 GCK_EXPORT
369 @interface GCKMediaMetadata : NSObject <NSCopying, NSSecureCoding>
370 
374 @property(nonatomic, assign, readonly) GCKMediaMetadataType metadataType;
375 
383 - (instancetype)initWithMetadataType:(GCKMediaMetadataType)metadataType;
384 
388 - (instancetype)init;
389 
393 - (GCKMediaMetadataType)metadataType;
394 
398 - (NSArray *)images;
399 
403 - (void)removeAllMediaImages;
404 
410 - (void)addImage:(GCKImage *)image;
411 
418 - (BOOL)containsKey:(NSString *)key;
419 
423 - (NSArray<NSString *> *)allKeys;
424 
431 - (id GCK_NULLABLE_TYPE)objectForKey:(NSString *)key;
432 
441 - (void)setString:(NSString *)value forKey:(NSString *)key;
442 
451 - (NSString *GCK_NULLABLE_TYPE)stringForKey:(NSString *)key;
452 
461 - (void)setInteger:(NSInteger)value forKey:(NSString *)key;
462 
471 - (NSInteger)integerForKey:(NSString *)key;
472 
482 - (NSInteger)integerForKey:(NSString *)key defaultValue:(NSInteger)defaultValue;
483 
492 - (void)setDouble:(double)value forKey:(NSString *)key;
493 
502 - (double)doubleForKey:(NSString *)key;
503 
513 - (double)doubleForKey:(NSString *)key defaultValue:(double)defaultValue;
514 
523 - (void)setDate:(NSDate *)date forKey:(NSString *)key;
524 
533 - (NSDate *GCK_NULLABLE_TYPE)dateForKey:(NSString *)key;
534 
544 - (NSString *GCK_NULLABLE_TYPE)dateAsStringForKey:(NSString *)key;
545 
546 @end
547 
548 GCK_ASSUME_NONNULL_END
GCK_EXTERN NSString *const kGCKMetadataKeyArtist
String key: Artist.
Definition: GCKMediaMetadata.h:92
GCK_EXTERN NSString *const kGCKMetadataKeyLocationLongitude
Double key: Location longitude.
Definition: GCKMediaMetadata.h:237
GCK_EXTERN NSString *const kGCKMetadataKeySeriesTitle
String key: Series title.
Definition: GCKMediaMetadata.h:174
A container for media metadata.
Definition: GCKMediaMetadata.h:369
GCK_EXTERN NSString *const kGCKMetadataKeySeasonNumber
Integer key: Season number.
Definition: GCKMediaMetadata.h:153
GCK_EXTERN NSString *const kGCKMetadataKeyWidth
Integer key: Width.
Definition: GCKMediaMetadata.h:194
GCK_EXTERN NSString *const kGCKMetadataKeyAlbumTitle
String key: Album title.
Definition: GCKMediaMetadata.h:113
GCK_EXTERN NSString *const kGCKMetadataKeyLocationLatitude
Double key: Location latitude.
Definition: GCKMediaMetadata.h:226
GCK_EXTERN NSString *const kGCKMetadataKeyHeight
Integer key: Height.
Definition: GCKMediaMetadata.h:204
GCK_EXTERN NSString *const kGCKMetadataKeyCreationDate
String key: Creation date.
Definition: GCKMediaMetadata.h:33
GCK_EXTERN NSString *const kGCKMetadataKeyTitle
String key: Title.
Definition: GCKMediaMetadata.h:73
GCK_EXTERN NSString *const kGCKMetadataKeyTrackNumber
Integer key: Track number.
Definition: GCKMediaMetadata.h:142
NSArray< NSString * > * allKeys()
Returns a set of keys for all fields that are present in the object.
GCK_EXTERN NSString *const kGCKMetadataKeyStudio
String key: Studio.
Definition: GCKMediaMetadata.h:184
void removeAllMediaImages()
Removes all the current images.
A class that represents an image that is located on a web server.
Definition: GCKImage.h:14
instancetype init()
Initialize with the generic metadata type.
GCK_EXTERN NSString *const kGCKMetadataKeyBroadcastDate
String key: Broadcast date.
Definition: GCKMediaMetadata.h:63
NSArray * images()
Gets the list of images.
GCK_EXTERN NSString *const kGCKMetadataKeyComposer
String key: Composer.
Definition: GCKMediaMetadata.h:122
GCK_EXTERN NSString *const kGCKMetadataKeyReleaseDate
String key: Release date.
Definition: GCKMediaMetadata.h:54
GCK_EXTERN NSString *const kGCKMetadataKeyAlbumArtist
String key: Album artist.
Definition: GCKMediaMetadata.h:103
GCK_EXTERN NSString *const kGCKMetadataKeySubtitle
String key: Subtitle.
Definition: GCKMediaMetadata.h:82
GCK_EXTERN NSString *const kGCKMetadataKeyDiscNumber
Integer key: Disc number.
Definition: GCKMediaMetadata.h:131
GCK_EXTERN NSString *const kGCKMetadataKeyEpisodeNumber
Integer key: Episode number.
Definition: GCKMediaMetadata.h:164
GCKMediaMetadataType metadataType()
The metadata type.
GCK_EXTERN NSString *const kGCKMetadataKeyLocationName
String key: Location name.
Definition: GCKMediaMetadata.h:215