summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLMediaServiceData.h
blob: 6df77c304894f67741f9421b03d29bf900aaa61a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//
//  SDLMediaServiceData.h
//  SmartDeviceLink
//
//  Created by Nicole on 2/8/19.
//  Copyright © 2019 smartdevicelink. All rights reserved.
//

#import "SDLRPCRequest.h"

#import "SDLMediaType.h"

NS_ASSUME_NONNULL_BEGIN


/**
 *  This data is related to what a media service should provide.
 */
@interface SDLMediaServiceData : SDLRPCStruct

/**
 *  The type of the currently playing or paused track.
 *
 *  SDLMediaType, Optional
 */
@property (nullable, strong, nonatomic) SDLMediaType mediaType;

/**
 *  Music: The name of the current track
 *  Podcast: The name of the current episode
 *  Audiobook: The name of the current chapter
 *
 *  String, Optional
 */
@property (nullable, strong, nonatomic) NSString *mediaTitle;

/**
 *  Music: The name of the current album artist
 *  Podcast: The provider of the podcast (hosts, network, company)
 *  Audiobook: The book author's name
 *
 *  String, Optional
 */
@property (nullable, strong, nonatomic) NSString *mediaArtist;

/**
 *  Music: The name of the current album
 *  Podcast: The name of the current podcast show
 *  Audiobook: The name of the current book
 *
 *  String, Optional
 */
@property (nullable, strong, nonatomic) NSString *mediaAlbum;

/**
 *  Music: The name of the playlist or radio station, if the user is playing from a playlist, otherwise, Null
 *  Podcast: The name of the playlist, if the user is playing from a playlist, otherwise, Null
 *  Audiobook: Likely not applicable, possibly a collection or "playlist" of books
 *
 *  String, Optional
 */
@property (nullable, strong, nonatomic) NSString *playlistName;

/**
 *  Whether or not the content currently playing (e.g. the track, episode, or book) contains explicit content.
 *
 *  Boolean, Optional
 */
@property (nullable, strong, nonatomic) NSNumber<SDLBool> *isExplicit;

/**
 *  Music: The current progress of the track in seconds
 *  Podcast: The current progress of the episode in seconds
 *  Audiobook: The current progress of the current segment (e.g. the chapter) in seconds
 *
 *  Integer, Optional
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *trackPlaybackProgress;

/**
 *  Music: The total duration of the track in seconds
 *  Podcast: The total duration of the episode in seconds
 *  Audiobook: The total duration of the current segment (e.g. the chapter) in seconds
 *
 *  Integer, Optional
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *trackPlaybackDuration;

/**
 *  Music: The current progress of the playback queue in seconds
 *  Podcast: The current progress of the playback queue in seconds
 *  Audiobook: The current progress of the playback queue (e.g. the book) in seconds
 *
 *  Integer, Optional
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *queuePlaybackProgess;

/**
 *  Music: The total duration of the playback queue in seconds
 *  Podcast: The total duration of the playback queue in seconds
 *  Audiobook: The total duration of the playback queue (e.g. the book) in seconds
 *
 *  Integer, Optional
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *queuePlaybackDuration;

/**
 *  Music: The current number (1 based) of the track in the playback queue
 *  Podcast: The current number (1 based) of the episode in the playback queue
 *  Audiobook: The current number (1 based) of the episode in the playback queue (e.g. the chapter number in the book)
 *
 *  Integer, Optional
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *queueCurrentTrackNumber;

/**
 *  Music: The total number of tracks in the playback queue
 *  Podcast: The total number of episodes in the playback queue
 *  Audiobook: The total number of sections in the playback queue (e.g. the number of chapters in the book)
 *
 *  Integer, Optional
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *queueTotalTrackCount;

@end

NS_ASSUME_NONNULL_END