summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLLightCapabilities.h
blob: 880a66fd6c67132c5fd9a91492f46ec2cfc07f24 (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
//  SDLLightCapabilities.h
//

#import "SDLRPCMessage.h"

#import "SDLLightName.h"

NS_ASSUME_NONNULL_BEGIN

@interface SDLLightCapabilities : SDLRPCStruct

/**
 Constructs a newly allocated SDLLightCapabilities object with the name of the light or group of lights

 @param name The name of a light or a group of lights
 @return An instance of the SDLLightCapabilities class
 */
- (instancetype)initWithName:(SDLLightName)name;

/**
 Constructs a newly allocated SDLLightCapabilities object with given parameters

 @param name The name of a light or a group of lights
 @param densityAvailable light's density can be set remotely
 @param sRGBColorSpaceAvailable Light's color can be set remotely by using the sRGB color space
 @param statusAvailable whether status is available

 @return An instance of the SDLLightCapabilities class
 */
- (instancetype)initWithName:(SDLLightName)name densityAvailable:(BOOL)densityAvailable sRGBColorSpaceAvailable:(BOOL)sRGBColorSpaceAvailable statusAvailable:(BOOL)statusAvailable;

/**
 * @abstract The name of a light or a group of lights
 *
 * Required, SDLLightName
 */
@property (strong, nonatomic) SDLLightName name;

/**
 * @abstract  Indicates if the light's density can be set remotely (similar to a dimmer).
 *
 * Optional, Boolean
 */
@property (nullable, strong, nonatomic) NSNumber<SDLBool> *densityAvailable;

/**
 * @abstract Indicates if the light's color can be set remotely by using the sRGB color space.
 *
 * Optional, Boolean
 */
@property (nullable, strong, nonatomic) NSNumber<SDLBool> *sRGBColorSpaceAvailable;

/**
 * @abstract Indicates if the status (ON/OFF) can be set remotely.
 * App shall not use read-only values (RAMP_UP/RAMP_DOWN/UNKNOWN/INVALID) in a setInteriorVehicleData request.
 *
 * Optional, Boolean
 */
@property (nullable, strong, nonatomic) NSNumber<SDLBool> *statusAvailable;

@end

NS_ASSUME_NONNULL_END