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

#import "SDLRPCStruct.h"
#import "SDLImageType.h"
#import "SDLMenuLayout.h"

@class SDLTextField;
@class SDLImageField;
@class SDLButtonCapabilities;
@class SDLSoftButtonCapabilities;


NS_ASSUME_NONNULL_BEGIN

/**
 Reflects content of DisplayCapabilities, ButtonCapabilities and SoftButtonCapabilities
 
 @since SDL 6.0
 */
@interface SDLWindowCapability : SDLRPCStruct

/**
 The specified ID of the window. Can be set to a predefined window, or omitted for the main window on the main display.
 
 Size: min 1 max 100
 */
@property (nullable, strong, nonatomic) NSNumber<SDLUInt> *windowID;

/**
 A set of all fields that support text data. @see TextField
 
 Size: min 1 max 100
 */
@property (nullable, strong, nonatomic) NSArray<SDLTextField *> *textFields;

/**
 A set of all fields that support images. @see ImageField
 
 Size: min 0 max 1000
 */
@property (nullable, strong, nonatomic) NSArray<SDLImageField *> *imageFields;

/**
 Provides information about image types supported by the system.
 
 Size: min 0 max 1000
 */
@property (nullable, strong, nonatomic)  NSArray<SDLImageType> *imageTypeSupported;

/**
 A set of all window templates available on the head unit.
 
 Size: min 0 max 100
 */
@property (nullable, strong, nonatomic)  NSArray<NSString *> *templatesAvailable;

/**
 The number of on-window custom presets available (if any); otherwise omitted.
 
 Size: min 1 max 100
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *numCustomPresetsAvailable;

/**
 The number of buttons and the capabilities of each on-window button.
 
 Size: min 1 max 100
 */
@property (nullable, strong, nonatomic)  NSArray<SDLButtonCapabilities *> *buttonCapabilities;

/**
 The number of soft buttons available on-window and the capabilities for each button.
 
 Size: min 1 max 100
 */
@property (nullable, strong, nonatomic)  NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities;

/**
 An array of available menu layouts. If this parameter is not provided, only the `LIST` layout is assumed to be available.

 Optional, array of 1 to 100, see SDLMenuLayout
 */
@property (nullable, strong, nonatomic) NSArray<SDLMenuLayout> *menuLayoutsAvailable;

@end

NS_ASSUME_NONNULL_END