summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLRadioControlData.h
blob: c3d07eaffd6706d1591b6f2246afc69357f6553c (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
//
//  SDLRadioControlData.h
//

#import "SDLRPCMessage.h"
#import "SDLRadioBand.h"
#import "SDLRadioState.h"

@class SDLRDSData;
@class SDLSISData;

NS_ASSUME_NONNULL_BEGIN

/**
 * Include information (both read-only and changeable data) about a remote control radio module.
 */
@interface SDLRadioControlData : SDLRPCStruct

/**
 Constructs a newly allocated SDLRadioControlCapabilities object with given parameters.

 @param frequencyInteger integer part of the frequency
 @param frequencyFraction fractional part of the frequency
 @param band Radio band value
 @param hdChannel Current HD sub-channel
 @param radioEnable whether or not radio is enabled
 @return An instance of the SDLRadioControlData class
 */
- (instancetype)initWithFrequencyInteger:(nullable NSNumber<SDLInt> *)frequencyInteger frequencyFraction:(nullable NSNumber<SDLInt> *)frequencyFraction band:(nullable SDLRadioBand)band hdChannel:(nullable NSNumber<SDLInt> *)hdChannel radioEnable:(nullable NSNumber<SDLBool> *)radioEnable __deprecated_msg(("Use initWithFrequencyInteger:frequencyInteger:frequencyFraction:band:hdChannel:radioEnable:sisData: instead"));

/**
 Constructs a newly allocated SDLRadioControlCapabilities object with given parameters.

 @param frequencyInteger integer part of the frequency
 @param frequencyFraction fractional part of the frequency
 @param band Radio band value
 @param hdChannel Current HD sub-channel
 @param radioEnable whether or not radio is enabled
 @param hdRadioEnable whether or not hdradio is enabled
 @return An instance of the SDLRadioControlData class
 */
- (instancetype)initWithFrequencyInteger:(nullable NSNumber<SDLInt> *)frequencyInteger frequencyFraction:(nullable NSNumber<SDLInt> *)frequencyFraction band:(nullable SDLRadioBand)band hdChannel:(nullable NSNumber<SDLInt> *)hdChannel radioEnable:(nullable NSNumber<SDLBool> *)radioEnable hdRadioEnable:(nullable NSNumber<SDLBool> *)hdRadioEnable;

/**
 * The integer part of the frequency ie for 101.7 this value should be 101
 *
 * Integer
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *frequencyInteger;

/**
 * The fractional part of the frequency for 101.7 is 7
 *
 * Integer
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *frequencyFraction;

/**
 * Radio band value
 *
 * SDLRadioBand
 */
@property (nullable, strong, nonatomic) SDLRadioBand band;

/**
 * Read only parameter. See RDSData data type for details.
 *
 * @warning This property is readonly and cannot be set on the module.
 *
 *SDLRDSData
 */
@property (nullable, strong, nonatomic) SDLRDSData *rdsData;

/**
 * number of HD sub-channels if available
 *
 * @warning This property is readonly and cannot be set on the module.
 *
 * Integer value Min Value - 1 Max Value -7
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *availableHDs __deprecated_msg("Use availableHDChannels instead");

/**
 * the list of available hd sub-channel indexes, empty list means no Hd channel is available, read-only
 *
 * @warning This property is readonly and cannot be set on the module.
 *
 * Integer value Min Value - 0 Max Value -7
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *availableHDChannels;

/**
 * Current HD sub-channel if available
 *
 * Integer value Min Value - 0 Max Value -7
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *hdChannel;

/**
 * Signal Strength Value
 *
 * @warning This property is readonly and cannot be set on the module.
 *
 * Integer value Min Value - 0 Max Value - 100
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *signalStrength;

/**
 * If the signal strength falls below the set value for this parameter, the radio will tune to an alternative frequency
 *
 * @warning This property is readonly and cannot be set on the module.
 *
 * Integer value Min Value - 0 Max Value - 100
 */
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *signalChangeThreshold;

/**
 * True if the radio is on, false is the radio is off. When the radio is disabled, no data other than radioEnable is included in a GetInteriorVehicleData response
 *
 * Boolean value
 */
@property (nullable, strong, nonatomic) NSNumber<SDLBool> *radioEnable;

/**
 * Read only parameter. See RadioState data type for details.
 *
 * @warning This property is readonly and cannot be set on the module.
 *
 * SDLRadioState
 */
@property (nullable, strong, nonatomic) SDLRadioState state;

/**
 * True if the hd radio is on, false is the radio is off
 *
 * Boolean value
 */
@property (nullable, strong, nonatomic)  NSNumber<SDLBool> *hdRadioEnable;

/**
 * Read Read-only Station Information Service (SIS) data provides basic information
 * about the station such as call sign,
 * as well as information not displayable to the consumer such as the station identification number
 *
 * Optional, SDLSISData
 */
@property (nullable, strong, nonatomic) SDLSISData *sisData;

@end

NS_ASSUME_NONNULL_END