summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLDisplayCapabilities.h
blob: b278ef3a2c0bbe876309b6104a1a3364f509393c (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
//  SDLDisplayCapabilities.h
//

#import "SDLRPCMessage.h"

#import "SDLDisplayType.h"
#import "SDLMediaClockFormat.h"

@class SDLImageField;
@class SDLScreenParams;
@class SDLTextField;

/**
 * Contains information about the display for the SDL system to which the application is currently connected.
 * 
 * @since SDL 1.0
 */

NS_ASSUME_NONNULL_BEGIN

@interface SDLDisplayCapabilities : SDLRPCStruct

/**
 * The type of display
 *
 * Required
 */
@property (strong, nonatomic) SDLDisplayType displayType __deprecated_msg("See `displayName` instead");

/**
 The name of the connected display

 Optional
 */
@property (strong, nonatomic, nullable) NSString *displayName;

/**
 * An array of SDLTextField structures, each of which describes a field in the HMI which the application can write to using operations such as *SDLShow*, *SDLSetMediaClockTimer*, etc.
 *
 * @discussion This array of SDLTextField structures identify all the text fields to which the application can write on the current display (identified by SDLDisplayType).
 *
 * @see SDLTextField
 *
 * Required, Array of SDLTextField, 1 - 100 objects
 */
@property (strong, nonatomic) NSArray<SDLTextField *> *textFields;

/**
 * An array of SDLImageField elements
 *
 * @discussion A set of all fields that support images.
 *
 * @see SDLImageField
 *
 * Optional, Array of SDLImageField, 1 - 100 objects
 */
@property (nullable, strong, nonatomic) NSArray<SDLImageField *> *imageFields;

/**
 * An array of SDLMediaClockFormat elements, defining the valid string formats used in specifying the contents of the media clock field
 *
 * @see SDLMediaClockFormat
 *
 * Required, Array of SDLMediaClockFormats, 0 - 100 objects
 */
@property (strong, nonatomic) NSArray<SDLMediaClockFormat> *mediaClockFormats;

/**
 * The display's persistent screen supports.
 * 
 * @since SDL 2.0
 *
 * Required, Boolean
 */
@property (strong, nonatomic) NSNumber<SDLBool> *graphicSupported;

/**
 * Number of presets the screen supports
 *
 * @discussion The number of on-screen custom presets available (if any)
 *
 * Optional, Array of String, max string size 100, 0 - 100 objects
 */
@property (nullable, strong, nonatomic) NSArray<NSString *> *templatesAvailable;

/**
 * A set of all parameters related to a prescribed screen area (e.g. for video / touch input)
 *
 * Optional
 */
@property (nullable, strong, nonatomic) SDLScreenParams *screenParams;

/**
 * The number of on-screen custom presets available (if any); otherwise omitted
 *
 * Optional, Integer 1 - 100
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *numCustomPresetsAvailable;

@end

NS_ASSUME_NONNULL_END