summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleonid lokhmatov, Luxoft <zaqqqqqqqq@gmail.com>2021-02-08 18:07:48 +0200
committerleonid lokhmatov, Luxoft <zaqqqqqqqq@gmail.com>2021-02-08 18:07:48 +0200
commit21f1188e74a30aee874cdd1b37a95f0238bfda4b (patch)
tree9c0507570c99bbac3ec3557656a8e12d4f0e911c
parentf2923eb310ba7fd966a92e7e03f776434dd29db2 (diff)
parent74852b52f2b01cd8131cbc188c826172cbfa49c2 (diff)
downloadsdl_ios-21f1188e74a30aee874cdd1b37a95f0238bfda4b.tar.gz
[0296] 'upd video stream cap': Merge branch 'develop' into this. Conflicts resolved
-rw-r--r--Example Apps/Example ObjC/VehicleDataManager.m5
-rw-r--r--Example Apps/Example Swift/VehicleDataManager.swift2
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/project.pbxproj12
-rw-r--r--SmartDeviceLink/private/SDLRPCParameterNames.h3
-rw-r--r--SmartDeviceLink/private/SDLRPCParameterNames.m3
-rw-r--r--SmartDeviceLink/public/SDLClimateData.h70
-rw-r--r--SmartDeviceLink/public/SDLClimateData.m78
-rw-r--r--SmartDeviceLink/public/SDLGetVehicleData.h23
-rw-r--r--SmartDeviceLink/public/SDLGetVehicleData.m26
-rw-r--r--SmartDeviceLink/public/SDLGetVehicleDataResponse.h25
-rw-r--r--SmartDeviceLink/public/SDLGetVehicleDataResponse.m25
-rw-r--r--SmartDeviceLink/public/SDLOnVehicleData.h36
-rw-r--r--SmartDeviceLink/public/SDLOnVehicleData.m24
-rw-r--r--SmartDeviceLink/public/SDLSubscribeVehicleData.h24
-rw-r--r--SmartDeviceLink/public/SDLSubscribeVehicleData.m27
-rw-r--r--SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.h23
-rw-r--r--SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.m23
-rw-r--r--SmartDeviceLink/public/SDLUnsubscribeVehicleData.h27
-rw-r--r--SmartDeviceLink/public/SDLUnsubscribeVehicleData.m28
-rw-r--r--SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.h22
-rw-r--r--SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.m23
-rw-r--r--SmartDeviceLink/public/SDLVehicleDataType.h11
-rw-r--r--SmartDeviceLink/public/SDLVehicleDataType.m1
-rw-r--r--SmartDeviceLink/public/SmartDeviceLink.h1
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m4
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m34
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m136
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m26
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m33
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m21
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m23
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m22
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateDataSpec.m73
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m16
-rw-r--r--SmartDeviceLinkTests/SDLCarWindowSpec.m4
-rwxr-xr-x[-rw-r--r--]carthage-build.sh0
36 files changed, 736 insertions, 198 deletions
diff --git a/Example Apps/Example ObjC/VehicleDataManager.m b/Example Apps/Example ObjC/VehicleDataManager.m
index f4ac10df6..26384a902 100644
--- a/Example Apps/Example ObjC/VehicleDataManager.m
+++ b/Example Apps/Example ObjC/VehicleDataManager.m
@@ -144,7 +144,7 @@ NS_ASSUME_NONNULL_BEGIN
SDLLogD(@"App has permission to access vehicle data. Requesting vehicle data...");
- SDLGetVehicleData *getAllVehicleData = [[SDLGetVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES externalTemperature:@YES turnSignal:@YES vin:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES handsOffSteering:@YES windowStatus:@YES seatOccupancy:@YES];
+ SDLGetVehicleData *getAllVehicleData = [[SDLGetVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES climateData:@YES turnSignal:@YES vin:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES windowStatus:@YES handsOffSteering:@YES seatOccupancy:@YES];
[manager sendRequest:getAllVehicleData withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) {
if (error || ![response isKindOfClass:SDLGetVehicleDataResponse.class]) {
@@ -214,7 +214,10 @@ NS_ASSUME_NONNULL_BEGIN
} else if ([vehicleDataType isEqualToString:ACEngineTorqueMenuName]) {
vehicleDataDescription = vehicleData.engineTorque.description;
} else if ([vehicleDataType isEqualToString:ACExternalTemperatureMenuName]) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
vehicleDataDescription = vehicleData.externalTemperature.description;
+#pragma clang diagnostic pop
} else if ([vehicleDataType isEqualToString:ACFuelLevelMenuName]) {
vehicleDataDescription = vehicleData.fuelRange.firstObject.level.description;
} else if ([vehicleDataType isEqualToString:ACFuelLevelStateMenuName]) {
diff --git a/Example Apps/Example Swift/VehicleDataManager.swift b/Example Apps/Example Swift/VehicleDataManager.swift
index a1e72c469..b9647ceb2 100644
--- a/Example Apps/Example Swift/VehicleDataManager.swift
+++ b/Example Apps/Example Swift/VehicleDataManager.swift
@@ -111,7 +111,7 @@ extension VehicleDataManager {
guard hasPermissionToAccessVehicleData(with: manager) else { return }
SDLLog.d("App has permission to access vehicle data. Requesting all vehicle data...")
- let getAllVehicleData = SDLGetVehicleData(gps: NSNumber(true), speed: NSNumber(true), rpm: NSNumber(true), instantFuelConsumption: NSNumber(true), fuelRange: NSNumber(true), externalTemperature: NSNumber(true), turnSignal: NSNumber(true), vin: NSNumber(true), gearStatus: NSNumber(true), tirePressure: NSNumber(true), odometer: NSNumber(true), beltStatus: NSNumber(true), bodyInformation: NSNumber(true), deviceStatus: NSNumber(true), driverBraking: NSNumber(true), wiperStatus: NSNumber(true), headLampStatus: NSNumber(true), engineTorque: NSNumber(true), accPedalPosition: NSNumber(true), steeringWheelAngle: NSNumber(true), engineOilLife: NSNumber(true), electronicParkBrakeStatus: NSNumber(true), cloudAppVehicleID: NSNumber(true), stabilityControlsStatus: NSNumber(true), eCallInfo: NSNumber(true), airbagStatus: NSNumber(true), emergencyEvent: NSNumber(true), clusterModeStatus: NSNumber(true), myKey: NSNumber(true), handsOffSteering: NSNumber(true), windowStatus: NSNumber(true), seatOccupancy: NSNumber(true))
+ let getAllVehicleData = SDLGetVehicleData(gps:NSNumber(true), speed:NSNumber(true), rpm:NSNumber(true), instantFuelConsumption:NSNumber(true), fuelRange:NSNumber(true), climateData:NSNumber(true), turnSignal:NSNumber(true), vin:NSNumber(true), gearStatus:NSNumber(true), tirePressure:NSNumber(true), odometer:NSNumber(true), beltStatus:NSNumber(true), bodyInformation:NSNumber(true), deviceStatus:NSNumber(true), driverBraking:NSNumber(true), wiperStatus:NSNumber(true), headLampStatus:NSNumber(true), engineTorque:NSNumber(true), accPedalPosition:NSNumber(true), steeringWheelAngle:NSNumber(true), engineOilLife:NSNumber(true), electronicParkBrakeStatus:NSNumber(true), cloudAppVehicleID:NSNumber(true), stabilityControlsStatus:NSNumber(true), eCallInfo:NSNumber(true), airbagStatus:NSNumber(true), emergencyEvent:NSNumber(true), clusterModeStatus:NSNumber(true), myKey:NSNumber(true), windowStatus:NSNumber(true), handsOffSteering:NSNumber(true), seatOccupancy:NSNumber(true))
manager.send(request: getAllVehicleData) { (request, response, error) in
guard didAccessVehicleDataSuccessfully(with: manager, response: response, error: error) else { return }
diff --git a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
index e343632f7..fb3fb0bb4 100644
--- a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
+++ b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
@@ -1669,6 +1669,8 @@
B30509012511E60E008C5401 /* SDLSupportedStreamingRange.h in Headers */ = {isa = PBXBuildFile; fileRef = B30508FF2511E60D008C5401 /* SDLSupportedStreamingRange.h */; settings = {ATTRIBUTES = (Public, ); }; };
B30509022511E60E008C5401 /* SDLSupportedStreamingRange.m in Sources */ = {isa = PBXBuildFile; fileRef = B30509002511E60D008C5401 /* SDLSupportedStreamingRange.m */; };
B30509052511E79B008C5401 /* ProxyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B30509042511E79B008C5401 /* ProxyManager.m */; };
+ B360F9D0255EFEFD0027CA17 /* SDLClimateData.m in Sources */ = {isa = PBXBuildFile; fileRef = B360F9CE255EFEFD0027CA17 /* SDLClimateData.m */; };
+ B360F9D1255EFEFD0027CA17 /* SDLClimateData.h in Headers */ = {isa = PBXBuildFile; fileRef = B360F9CF255EFEFD0027CA17 /* SDLClimateData.h */; settings = {ATTRIBUTES = (Public, ); }; };
B360F9DE255F52A50027CA17 /* SDLSeatStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B360F9DC255F52A40027CA17 /* SDLSeatStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
B360F9DF255F52A50027CA17 /* SDLSeatStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B360F9DD255F52A40027CA17 /* SDLSeatStatus.m */; };
B360F9E4255F52BA0027CA17 /* SDLSeatOccupancy.m in Sources */ = {isa = PBXBuildFile; fileRef = B360F9E2255F52B90027CA17 /* SDLSeatOccupancy.m */; };
@@ -1697,6 +1699,7 @@
B3DF19ED251225300090D7BA /* TestSmartConnectionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B3DF19EB251225300090D7BA /* TestSmartConnectionManager.m */; };
B3DF19F0251225770090D7BA /* TestStreamingMediaDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B3DF19EE251225760090D7BA /* TestStreamingMediaDelegate.m */; };
B3DF19F3251225AA0090D7BA /* TestSmartConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = B3DF19F1251225A90090D7BA /* TestSmartConnection.m */; };
+ B3EC9E6E2579AA010039F3AA /* SDLClimateDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3EC9E6D2579AA010039F3AA /* SDLClimateDataSpec.m */; };
B3F7918324E062C200DB5CAF /* SDLGetVehicleDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E824C1A9BDE8A00906325 /* SDLGetVehicleDataSpec.m */; };
C975877F257AEFDB0066F271 /* SDLSeekIndicatorTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = C975877E257AEFDB0066F271 /* SDLSeekIndicatorTypeSpec.m */; };
C9758785257F4C570066F271 /* SDLSeekStreamingIndicatorSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = C9758784257F4C570066F271 /* SDLSeekStreamingIndicatorSpec.m */; };
@@ -3532,6 +3535,8 @@
B30509002511E60D008C5401 /* SDLSupportedStreamingRange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLSupportedStreamingRange.m; path = public/SDLSupportedStreamingRange.m; sourceTree = "<group>"; };
B30509032511E79A008C5401 /* ProxyManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProxyManager.h; path = "Example Apps/Example ObjC/ProxyManager.h"; sourceTree = SOURCE_ROOT; };
B30509042511E79B008C5401 /* ProxyManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProxyManager.m; path = "Example Apps/Example ObjC/ProxyManager.m"; sourceTree = SOURCE_ROOT; };
+ B360F9CE255EFEFD0027CA17 /* SDLClimateData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLClimateData.m; path = public/SDLClimateData.m; sourceTree = "<group>"; };
+ B360F9CF255EFEFD0027CA17 /* SDLClimateData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLClimateData.h; path = public/SDLClimateData.h; sourceTree = "<group>"; };
B360F9DC255F52A40027CA17 /* SDLSeatStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLSeatStatus.h; path = public/SDLSeatStatus.h; sourceTree = "<group>"; };
B360F9DD255F52A40027CA17 /* SDLSeatStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLSeatStatus.m; path = public/SDLSeatStatus.m; sourceTree = "<group>"; };
B360F9E2255F52B90027CA17 /* SDLSeatOccupancy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLSeatOccupancy.m; path = public/SDLSeatOccupancy.m; sourceTree = "<group>"; };
@@ -3563,6 +3568,7 @@
B3DF19EF251225760090D7BA /* TestStreamingMediaDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestStreamingMediaDelegate.h; sourceTree = "<group>"; };
B3DF19F1251225A90090D7BA /* TestSmartConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestSmartConnection.m; sourceTree = "<group>"; };
B3DF19F2251225A90090D7BA /* TestSmartConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestSmartConnection.h; sourceTree = "<group>"; };
+ B3EC9E6D2579AA010039F3AA /* SDLClimateDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLClimateDataSpec.m; sourceTree = "<group>"; };
BB3C600D221AEF37007DD4CA /* NSMutableDictionary+StoreSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "NSMutableDictionary+StoreSpec.m"; path = "DevAPISpecs/NSMutableDictionary+StoreSpec.m"; sourceTree = "<group>"; };
C975877E257AEFDB0066F271 /* SDLSeekIndicatorTypeSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLSeekIndicatorTypeSpec.m; sourceTree = "<group>"; };
C9758784257F4C570066F271 /* SDLSeekStreamingIndicatorSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLSeekStreamingIndicatorSpec.m; sourceTree = "<group>"; };
@@ -4049,6 +4055,7 @@
162E82941A9BDE8A00906325 /* SDLChoiceSpec.m */,
1EE8C43F1F348D3200FDC2CF /* SDLClimateControlCapabilitiesSpec.m */,
1EE8C4431F34A1B900FDC2CF /* SDLClimateControlDataSpec.m */,
+ B3EC9E6D2579AA010039F3AA /* SDLClimateDataSpec.m */,
885468372225CBA400994D8D /* SDLCloudAppPropertiesSpec.m */,
162E82951A9BDE8A00906325 /* SDLClusterModeStatusSpec.m */,
DA9F7EB31DCC086400ACAE48 /* SDLDateTimeSpec.m */,
@@ -5096,6 +5103,8 @@
4ABB2B3524F84EF40061BF55 /* SDLClimateControlCapabilities.m */,
4ABB2B3624F84EF40061BF55 /* SDLClimateControlData.h */,
4ABB2B3124F84EF30061BF55 /* SDLClimateControlData.m */,
+ B360F9CF255EFEFD0027CA17 /* SDLClimateData.h */,
+ B360F9CE255EFEFD0027CA17 /* SDLClimateData.m */,
4ABB2B2224F84EF00061BF55 /* SDLCloudAppProperties.h */,
4ABB2B2124F84EF00061BF55 /* SDLCloudAppProperties.m */,
4ABB2B3224F84EF30061BF55 /* SDLClusterModeStatus.h */,
@@ -7017,6 +7026,7 @@
files = (
4ABB255124F7E52B0061BF55 /* SDLLockScreenConfiguration.h in Headers */,
4ABB26B124F7F9DF0061BF55 /* SDLLogTargetOSLog.h in Headers */,
+ B360F9D1255EFEFD0027CA17 /* SDLClimateData.h in Headers */,
4ABB259624F7E6880061BF55 /* SDLMenuCell.h in Headers */,
4ABB292E24F842A00061BF55 /* SDLDiagnosticMessage.h in Headers */,
4ABB272424F7FCAE0061BF55 /* SDLComponentVolumeStatus.h in Headers */,
@@ -8329,6 +8339,7 @@
4A8BD39424F94731000945E3 /* SDLIAPSession.m in Sources */,
4ABB2A3924F847980061BF55 /* SDLDiagnosticMessageResponse.m in Sources */,
4A8BD29924F93534000945E3 /* SDLScreenParams.m in Sources */,
+ B360F9D0255EFEFD0027CA17 /* SDLClimateData.m in Sources */,
4ABB28C324F82A6A0061BF55 /* SDLOnAppInterfaceUnregistered.m in Sources */,
4ABB2A3224F847980061BF55 /* SDLCancelInteractionResponse.m in Sources */,
4ABB259C24F7E6B90061BF55 /* SDLMenuConfiguration.m in Sources */,
@@ -8557,6 +8568,7 @@
162E83911A9BDE8B00906325 /* SDLTouchCoordSpec.m in Sources */,
162E832B1A9BDE8B00906325 /* SDLDeleteSubMenuSpec.m in Sources */,
162E83411A9BDE8B00906325 /* SDLSubscribeButtonSpec.m in Sources */,
+ B3EC9E6E2579AA010039F3AA /* SDLClimateDataSpec.m in Sources */,
5D59DD471B14FDEE00BE744D /* SDLLockScreenStatusManagerSpec.m in Sources */,
5D0A9F9A1F15636800CC80DD /* SDLGetSystemCapabilitiesSpec.m in Sources */,
162E82F31A9BDE8B00906325 /* SDLPrerecordedSpeechSpec.m in Sources */,
diff --git a/SmartDeviceLink/private/SDLRPCParameterNames.h b/SmartDeviceLink/private/SDLRPCParameterNames.h
index 6a8442855..629b36748 100644
--- a/SmartDeviceLink/private/SDLRPCParameterNames.h
+++ b/SmartDeviceLink/private/SDLRPCParameterNames.h
@@ -84,6 +84,7 @@ extern SDLRPCParameterName const SDLRPCParameterNameAppServices;
extern SDLRPCParameterName const SDLRPCParameterNameAppServicesCapabilities;
extern SDLRPCParameterName const SDLRPCParameterNameAppVersion;
extern SDLRPCParameterName const SDLRPCParameterNameAssociatedServiceType;
+extern SDLRPCParameterName const SDLRPCParameterNameAtmosphericPressure;
extern SDLRPCParameterName const SDLRPCParameterNameAutoCompleteList;
extern SDLRPCParameterName const SDLRPCParameterNameAudioControlCapabilities;
extern SDLRPCParameterName const SDLRPCParameterNameAudioControlData;
@@ -121,6 +122,7 @@ extern SDLRPCParameterName const SDLRPCParameterNameButtonCapabilities;
extern SDLRPCParameterName const SDLRPCParameterNameButtonEventMode;
extern SDLRPCParameterName const SDLRPCParameterNameButtonName;
extern SDLRPCParameterName const SDLRPCParameterNameButtonPressMode;
+extern SDLRPCParameterName const SDLRPCParameterNameCabinTemperature;
extern SDLRPCParameterName const SDLRPCParameterNameCancelID;
extern SDLRPCParameterName const SDLRPCParameterNameCapacity;
extern SDLRPCParameterName const SDLRPCParameterNameCapacityUnit;
@@ -145,6 +147,7 @@ extern SDLRPCParameterName const SDLRPCParameterNameChoiceSet;
extern SDLRPCParameterName const SDLRPCParameterNameCirculateAirEnable;
extern SDLRPCParameterName const SDLRPCParameterNameCirculateAirEnableAvailable;
extern SDLRPCParameterName const SDLRPCParameterNameClimateControlData;
+extern SDLRPCParameterName const SDLRPCParameterNameClimateData;
extern SDLRPCParameterName const SDLRPCParameterNameClimateControlCapabilities;
extern SDLRPCParameterName const SDLRPCParameterNameCloudCover;
extern SDLRPCParameterName const SDLRPCParameterNameClusterModes;
diff --git a/SmartDeviceLink/private/SDLRPCParameterNames.m b/SmartDeviceLink/private/SDLRPCParameterNames.m
index 2f5791fd6..427444968 100644
--- a/SmartDeviceLink/private/SDLRPCParameterNames.m
+++ b/SmartDeviceLink/private/SDLRPCParameterNames.m
@@ -85,6 +85,7 @@ SDLRPCParameterName const SDLRPCParameterNameAppVersion = @"appVersion";
SDLRPCParameterName const SDLRPCParameterNameAudioControlCapabilities = @"audioControlCapabilities";
SDLRPCParameterName const SDLRPCParameterNameAudioControlData = @"audioControlData";
SDLRPCParameterName const SDLRPCParameterNameAssociatedServiceType = @"associatedServiceType";
+SDLRPCParameterName const SDLRPCParameterNameAtmosphericPressure = @"atmosphericPressure";
SDLRPCParameterName const SDLRPCParameterNameAudioPassThruCapabilities = @"audioPassThruCapabilities";
SDLRPCParameterName const SDLRPCParameterNameAudioPassThruDisplayText1 = @"audioPassThruDisplayText1";
SDLRPCParameterName const SDLRPCParameterNameAudioPassThruDisplayText2 = @"audioPassThruDisplayText2";
@@ -120,6 +121,7 @@ SDLRPCParameterName const SDLRPCParameterNameButtonCapabilities = @"buttonCapabi
SDLRPCParameterName const SDLRPCParameterNameButtonEventMode = @"buttonEventMode";
SDLRPCParameterName const SDLRPCParameterNameButtonName = @"buttonName";
SDLRPCParameterName const SDLRPCParameterNameButtonPressMode = @"buttonPressMode";
+SDLRPCParameterName const SDLRPCParameterNameCabinTemperature = @"cabinTemperature";
SDLRPCParameterName const SDLRPCParameterNameCancelID = @"cancelID";
SDLRPCParameterName const SDLRPCParameterNameCapacity = @"capacity";
SDLRPCParameterName const SDLRPCParameterNameCapacityUnit = @"capacityUnit";
@@ -140,6 +142,7 @@ SDLRPCParameterName const SDLRPCParameterNameChoiceSet = @"choiceSet";
SDLRPCParameterName const SDLRPCParameterNameCirculateAirEnable = @"circulateAirEnable";
SDLRPCParameterName const SDLRPCParameterNameCirculateAirEnableAvailable = @"circulateAirEnableAvailable";
SDLRPCParameterName const SDLRPCParameterNameClimateControlData = @"climateControlData";
+SDLRPCParameterName const SDLRPCParameterNameClimateData = @"climateData";
SDLRPCParameterName const SDLRPCParameterNameClimateControlCapabilities = @"climateControlCapabilities";
SDLRPCParameterName const SDLRPCParameterNameCloudCover = @"cloudCover";
SDLRPCParameterName const SDLRPCParameterNameClusterModes = @"clusterModes";
diff --git a/SmartDeviceLink/public/SDLClimateData.h b/SmartDeviceLink/public/SDLClimateData.h
new file mode 100644
index 000000000..bb060e65e
--- /dev/null
+++ b/SmartDeviceLink/public/SDLClimateData.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2020, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consortium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SDLRPCStruct.h"
+
+@class SDLTemperature;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * @added in SmartDeviceLink 7.1.0
+ */
+@interface SDLClimateData : SDLRPCStruct
+
+/**
+ * @param externalTemperature - externalTemperature
+ * @param cabinTemperature - cabinTemperature
+ * @param atmosphericPressure - atmosphericPressure
+ * @return A SDLClimateData object
+ */
+- (instancetype)initWithExternalTemperature:(nullable SDLTemperature *)externalTemperature cabinTemperature:(nullable SDLTemperature *)cabinTemperature atmosphericPressure:(nullable NSNumber<SDLFloat> *)atmosphericPressure;
+
+/**
+ * The external temperature in degrees celsius
+ */
+@property (nullable, strong, nonatomic) SDLTemperature *externalTemperature;
+
+/**
+ * Internal ambient cabin temperature in degrees celsius
+ */
+@property (nullable, strong, nonatomic) SDLTemperature *cabinTemperature;
+
+/**
+ * Current atmospheric pressure in mBar
+ * {"num_min_value": 0.0, "num_max_value": 2000.0}
+ */
+@property (nullable, strong, nonatomic) NSNumber<SDLFloat> *atmosphericPressure;
+
+@end
+
+NS_ASSUME_NONNULL_END \ No newline at end of file
diff --git a/SmartDeviceLink/public/SDLClimateData.m b/SmartDeviceLink/public/SDLClimateData.m
new file mode 100644
index 000000000..990370333
--- /dev/null
+++ b/SmartDeviceLink/public/SDLClimateData.m
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2020, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consortium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "NSMutableDictionary+Store.h"
+#import "SDLClimateData.h"
+#import "SDLRPCParameterNames.h"
+#import "SDLTemperature.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@implementation SDLClimateData
+
+- (instancetype)initWithExternalTemperature:(nullable SDLTemperature *)externalTemperature cabinTemperature:(nullable SDLTemperature *)cabinTemperature atmosphericPressure:(nullable NSNumber<SDLFloat> *)atmosphericPressure {
+ self = [self init];
+ if (!self) {
+ return nil;
+ }
+ self.externalTemperature = externalTemperature;
+ self.cabinTemperature = cabinTemperature;
+ self.atmosphericPressure = atmosphericPressure;
+ return self;
+}
+
+- (void)setExternalTemperature:(nullable SDLTemperature *)externalTemperature {
+ [self.store sdl_setObject:externalTemperature forName:SDLRPCParameterNameExternalTemperature];
+}
+
+- (nullable SDLTemperature *)externalTemperature {
+ return [self.store sdl_objectForName:SDLRPCParameterNameExternalTemperature ofClass:SDLTemperature.class error:nil];
+}
+
+- (void)setCabinTemperature:(nullable SDLTemperature *)cabinTemperature {
+ [self.store sdl_setObject:cabinTemperature forName:SDLRPCParameterNameCabinTemperature];
+}
+
+- (nullable SDLTemperature *)cabinTemperature {
+ return [self.store sdl_objectForName:SDLRPCParameterNameCabinTemperature ofClass:SDLTemperature.class error:nil];
+}
+
+- (void)setAtmosphericPressure:(nullable NSNumber<SDLFloat> *)atmosphericPressure {
+ [self.store sdl_setObject:atmosphericPressure forName:SDLRPCParameterNameAtmosphericPressure];
+}
+
+- (nullable NSNumber<SDLFloat> *)atmosphericPressure {
+ return [self.store sdl_objectForName:SDLRPCParameterNameAtmosphericPressure ofClass:NSNumber.class error:nil];
+}
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLGetVehicleData.h b/SmartDeviceLink/public/SDLGetVehicleData.h
index 57577e211..470cf8ee8 100644
--- a/SmartDeviceLink/public/SDLGetVehicleData.h
+++ b/SmartDeviceLink/public/SDLGetVehicleData.h
@@ -52,7 +52,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param wiperStatus Get wiperStatus data
* @return A SDLGetVehicleData object
*/
-- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy: instead");
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for getting data for all possible vehicle data items.
@@ -90,7 +90,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param windowStatus - windowStatus
* @return A SDLGetVehicleData object
*/
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal vin:(nullable NSNumber<SDLBool> *)vin gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy: instead");
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal vin:(nullable NSNumber<SDLBool> *)vin gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for getting data for all possible vehicle data items.
@@ -100,7 +100,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param rpm - rpm
* @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
- * @param externalTemperature - externalTemperature
+ * @param climateData - climateData
* @param turnSignal - turnSignal
* @param vin - vin
* @param gearStatus - gearStatus
@@ -127,9 +127,8 @@ NS_ASSUME_NONNULL_BEGIN
* @param handsOffSteering - handsOffSteering
* @param windowStatus - windowStatus
* @param seatOccupancy - seatOccupancy
- * @return A SDLGetVehicleData object
*/
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal vin:(nullable NSNumber<SDLBool> *)vin gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy;
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange climateData:(nullable NSNumber<SDLBool> *)climateData turnSignal:(nullable NSNumber<SDLBool> *)turnSignal vin:(nullable NSNumber<SDLBool> *)vin gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey windowStatus:(nullable NSNumber<SDLBool> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy;
/**
* See GearStatus
@@ -174,9 +173,19 @@ NS_ASSUME_NONNULL_BEGIN
@property (nullable, strong, nonatomic) NSNumber<SDLBool> *instantFuelConsumption;
/**
- * A boolean value. If true, requests External Temperature data.
+ * See ClimateData
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *climateData;
+
+/**
+ * The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData.
+ *
+ * @deprecated in SmartDeviceLink 7.1.0
+ * @added in SmartDeviceLink 2.0.0
*/
-@property (nullable, strong, nonatomic) NSNumber<SDLBool> *externalTemperature;
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *externalTemperature __deprecated_msg("Use climateData instead on 7.1+ RPC version connections");
/**
* A boolean value. If true, requests the Vehicle Identification Number.
diff --git a/SmartDeviceLink/public/SDLGetVehicleData.m b/SmartDeviceLink/public/SDLGetVehicleData.m
index 4ac8cd55f..30d1728c0 100644
--- a/SmartDeviceLink/public/SDLGetVehicleData.m
+++ b/SmartDeviceLink/public/SDLGetVehicleData.m
@@ -24,23 +24,31 @@ NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic pop
- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus {
- self = [self initWithGps:@(gps) speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:@(fuelRange) externalTemperature:@(externalTemperature) turnSignal:@(turnSignal) vin:@(vin) gearStatus:nil tirePressure:@(tirePressure) odometer:@(odometer) beltStatus:@(beltStatus) bodyInformation:@(bodyInformation) deviceStatus:@(deviceStatus) driverBraking:@(driverBraking) wiperStatus:@(wiperStatus) headLampStatus:@(headLampStatus) engineTorque:@(engineTorque) accPedalPosition:@(accelerationPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:@(electronicParkBrakeStatus) cloudAppVehicleID:@(cloudAppVehicleID) stabilityControlsStatus:nil eCallInfo:@(eCallInfo) airbagStatus:@(airbagStatus) emergencyEvent:@(emergencyEvent) clusterModeStatus:@(clusterModeStatus) myKey:@(myKey) handsOffSteering:nil windowStatus:nil seatOccupancy:nil];
+ self = [self initWithGps:@(gps) speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:@(fuelRange) climateData:nil turnSignal:@(turnSignal) vin:@(vin) gearStatus:nil tirePressure:@(tirePressure) odometer:@(odometer) beltStatus:@(beltStatus) bodyInformation:@(bodyInformation) deviceStatus:@(deviceStatus) driverBraking:@(driverBraking) wiperStatus:@(wiperStatus) headLampStatus:@(headLampStatus) engineTorque:@(engineTorque) accPedalPosition:@(accelerationPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:@(electronicParkBrakeStatus) cloudAppVehicleID:@(cloudAppVehicleID) stabilityControlsStatus:nil eCallInfo:@(eCallInfo) airbagStatus:@(airbagStatus) emergencyEvent:@(emergencyEvent) clusterModeStatus:@(clusterModeStatus) myKey:@(myKey) windowStatus:nil handsOffSteering:nil seatOccupancy:nil];
if (self) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
self.fuelLevel = @(fuelLevel);
self.fuelLevel_State = @(fuelLevelState);
self.prndl = @(prndl);
+ self.externalTemperature = @(externalTemperature);
#pragma clang diagnostic pop
}
return self;
}
- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal vin:(nullable NSNumber<SDLBool> *)vin gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus {
- return [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange externalTemperature:externalTemperature turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:handsOffSteering windowStatus:windowStatus seatOccupancy:nil];
+ self = [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange climateData:nil turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey windowStatus:windowStatus handsOffSteering:handsOffSteering seatOccupancy:nil];
+ if (self) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ self.externalTemperature = externalTemperature;
+#pragma clang diagnostic pop
+ }
+ return self;
}
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal vin:(nullable NSNumber<SDLBool> *)vin gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy {
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange climateData:(nullable NSNumber<SDLBool> *)climateData turnSignal:(nullable NSNumber<SDLBool> *)turnSignal vin:(nullable NSNumber<SDLBool> *)vin gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey windowStatus:(nullable NSNumber<SDLBool> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy {
self = [self init];
if (!self) {
return nil;
@@ -50,7 +58,7 @@ NS_ASSUME_NONNULL_BEGIN
self.rpm = rpm;
self.instantFuelConsumption = instantFuelConsumption;
self.fuelRange = fuelRange;
- self.externalTemperature = externalTemperature;
+ self.climateData = climateData;
self.turnSignal = turnSignal;
self.vin = vin;
self.gearStatus = gearStatus;
@@ -74,8 +82,8 @@ NS_ASSUME_NONNULL_BEGIN
self.emergencyEvent = emergencyEvent;
self.clusterModeStatus = clusterModeStatus;
self.myKey = myKey;
- self.handsOffSteering = handsOffSteering;
self.windowStatus = windowStatus;
+ self.handsOffSteering = handsOffSteering;
self.seatOccupancy = seatOccupancy;
return self;
}
@@ -136,6 +144,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_objectForName:SDLRPCParameterNameInstantFuelConsumption ofClass:NSNumber.class error:nil];
}
+- (void)setClimateData:(nullable NSNumber<SDLBool> *)climateData {
+ [self.parameters sdl_setObject:climateData forName:SDLRPCParameterNameClimateData];
+}
+
+- (nullable NSNumber<SDLBool> *)climateData {
+ return [self.parameters sdl_objectForName:SDLRPCParameterNameClimateData ofClass:NSNumber.class error:nil];
+}
+
- (void)setExternalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature {
[self.parameters sdl_setObject:externalTemperature forName:SDLRPCParameterNameExternalTemperature];
}
diff --git a/SmartDeviceLink/public/SDLGetVehicleDataResponse.h b/SmartDeviceLink/public/SDLGetVehicleDataResponse.h
index c7fe39119..79d72199f 100644
--- a/SmartDeviceLink/public/SDLGetVehicleDataResponse.h
+++ b/SmartDeviceLink/public/SDLGetVehicleDataResponse.h
@@ -13,6 +13,7 @@
@class SDLAirbagStatus;
@class SDLBeltStatus;
@class SDLBodyInformation;
+@class SDLClimateData;
@class SDLClusterModeStatus;
@class SDLDeviceStatus;
@class SDLECallInfo;
@@ -27,7 +28,6 @@
@class SDLTireStatus;
@class SDLWindowStatus;
-
/**
* Response to SDLGetVehicleData
*
@@ -74,7 +74,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param windowStatus - windowStatus
* @return A SDLGetVehicleDataResponse object
*/
-- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy: instead");
+- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for initializing data for all possible vehicle data items.
@@ -84,7 +84,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param rpm - rpm
* @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
- * @param externalTemperature - externalTemperature
+ * @param climateData - climateData
* @param turnSignal - turnSignal
* @param vin - vin
* @param gearStatus - gearStatus
@@ -108,12 +108,12 @@ NS_ASSUME_NONNULL_BEGIN
* @param emergencyEvent - emergencyEvent
* @param clusterModeStatus - clusterModeStatus
* @param myKey - myKey
- * @param handsOffSteering - handsOffSteering
* @param windowStatus - windowStatus
+ * @param handsOffSteering - handsOffSteering
* @param seatOccupancy - seatOccupancy
* @return A SDLGetVehicleDataResponse object
*/
-- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus seatOccupancy:(nullable SDLSeatOccupancy *)seatOccupancy;
+- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange climateData:(nullable SDLClimateData *)climateData turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable SDLSeatOccupancy *)seatOccupancy;
/**
* See GearStatus
@@ -160,9 +160,20 @@ NS_ASSUME_NONNULL_BEGIN
@property (nullable, strong, nonatomic) NSNumber<SDLFloat> *instantFuelConsumption;
/**
- The external temperature in degrees celsius.
+ * See ClimateData
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+@property (nullable, strong, nonatomic) SDLClimateData *climateData;
+
+/**
+ * The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData.
+ * {"num_min_value": -40.0, "num_max_value": 100.0}
+ *
+ * @deprecated in SmartDeviceLink 7.1.0
+ * @added in SmartDeviceLink 2.0.0
*/
-@property (nullable, strong, nonatomic) NSNumber<SDLFloat> *externalTemperature;
+@property (nullable, strong, nonatomic) NSNumber<SDLFloat> *externalTemperature __deprecated_msg("Use climateData instead on 7.1+ RPC version connections");
/**
The Vehicle Identification Number
diff --git a/SmartDeviceLink/public/SDLGetVehicleDataResponse.m b/SmartDeviceLink/public/SDLGetVehicleDataResponse.m
index 35afb0311..b5fc22261 100644
--- a/SmartDeviceLink/public/SDLGetVehicleDataResponse.m
+++ b/SmartDeviceLink/public/SDLGetVehicleDataResponse.m
@@ -8,6 +8,7 @@
#import "SDLAirbagStatus.h"
#import "SDLBeltStatus.h"
#import "SDLBodyInformation.h"
+#import "SDLClimateData.h"
#import "SDLClusterModeStatus.h"
#import "SDLDeviceStatus.h"
#import "SDLECallInfo.h"
@@ -40,10 +41,18 @@ NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic pop
- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus {
- return [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange externalTemperature:externalTemperature turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:handsOffSteering windowStatus:windowStatus seatOccupancy:nil];
+
+ self = [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange climateData:nil turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey windowStatus:windowStatus handsOffSteering:handsOffSteering seatOccupancy:nil];
+ if (self) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ self.externalTemperature = externalTemperature;
+#pragma clang diagnostic pop
+ }
+ return self;
}
-- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus seatOccupancy:(nullable SDLSeatOccupancy *)seatOccupancy {
+- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange climateData:(nullable SDLClimateData *)climateData turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable SDLSeatOccupancy *)seatOccupancy {
self = [self init];
if (!self) {
return nil;
@@ -53,7 +62,7 @@ NS_ASSUME_NONNULL_BEGIN
self.rpm = rpm;
self.instantFuelConsumption = instantFuelConsumption;
self.fuelRange = fuelRange;
- self.externalTemperature = externalTemperature;
+ self.climateData = climateData;
self.turnSignal = turnSignal;
self.vin = vin;
self.gearStatus = gearStatus;
@@ -77,8 +86,8 @@ NS_ASSUME_NONNULL_BEGIN
self.emergencyEvent = emergencyEvent;
self.clusterModeStatus = clusterModeStatus;
self.myKey = myKey;
- self.handsOffSteering = handsOffSteering;
self.windowStatus = windowStatus;
+ self.handsOffSteering = handsOffSteering;
self.seatOccupancy = seatOccupancy;
return self;
}
@@ -148,6 +157,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_objectForName:SDLRPCParameterNameInstantFuelConsumption ofClass:NSNumber.class error:nil];
}
+- (void)setClimateData:(nullable SDLClimateData *)climateData {
+ [self.parameters sdl_setObject:climateData forName:SDLRPCParameterNameClimateData];
+}
+
+- (nullable SDLClimateData *)climateData {
+ return [self.parameters sdl_objectForName:SDLRPCParameterNameClimateData ofClass:SDLClimateData.class error:nil];
+}
+
- (void)setExternalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature {
[self.parameters sdl_setObject:externalTemperature forName:SDLRPCParameterNameExternalTemperature];
}
diff --git a/SmartDeviceLink/public/SDLOnVehicleData.h b/SmartDeviceLink/public/SDLOnVehicleData.h
index 157b94ff8..a85d8610f 100644
--- a/SmartDeviceLink/public/SDLOnVehicleData.h
+++ b/SmartDeviceLink/public/SDLOnVehicleData.h
@@ -13,6 +13,7 @@
@class SDLAirbagStatus;
@class SDLBeltStatus;
@class SDLBodyInformation;
+@class SDLClimateData;
@class SDLClusterModeStatus;
@class SDLDeviceStatus;
@class SDLECallInfo;
@@ -74,17 +75,17 @@ NS_ASSUME_NONNULL_BEGIN
* @param windowStatus - windowStatus
* @return A SDLOnVehicleData object
*/
-- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy: instead");
+- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for setting all possible values on vehicle data items.
*
* @param gps - gps
- * @param speed - @(speed)
+ * @param speed - speed
* @param rpm - rpm
- * @param instantFuelConsumption - @(instantFuelConsumption)
+ * @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
- * @param externalTemperature - @(externalTemperature)
+ * @param climateData - climateData
* @param turnSignal - turnSignal
* @param vin - vin
* @param gearStatus - gearStatus
@@ -96,10 +97,10 @@ NS_ASSUME_NONNULL_BEGIN
* @param driverBraking - driverBraking
* @param wiperStatus - wiperStatus
* @param headLampStatus - headLampStatus
- * @param engineTorque - @(engineTorque)
- * @param accPedalPosition - @(accPedalPosition)
- * @param steeringWheelAngle - @(steeringWheelAngle)
- * @param engineOilLife - @(engineOilLife)
+ * @param engineTorque - engineTorque
+ * @param accPedalPosition - accPedalPosition
+ * @param steeringWheelAngle - steeringWheelAngle
+ * @param engineOilLife - engineOilLife
* @param electronicParkBrakeStatus - electronicParkBrakeStatus
* @param cloudAppVehicleID - cloudAppVehicleID
* @param stabilityControlsStatus - stabilityControlsStatus
@@ -108,12 +109,12 @@ NS_ASSUME_NONNULL_BEGIN
* @param emergencyEvent - emergencyEvent
* @param clusterModeStatus - clusterModeStatus
* @param myKey - myKey
- * @param handsOffSteering - handsOffSteering
* @param windowStatus - windowStatus
+ * @param handsOffSteering - handsOffSteering
* @param seatOccupancy - seatOccupancy
* @return A SDLOnVehicleData object
*/
-- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus seatOccupancy:(nullable SDLSeatOccupancy *)seatOccupancy;
+- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange climateData:(nullable SDLClimateData *)climateData turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable SDLSeatOccupancy *)seatOccupancy;
/**
* See GearStatus
@@ -160,9 +161,20 @@ NS_ASSUME_NONNULL_BEGIN
@property (nullable, strong, nonatomic) NSNumber<SDLFloat> *instantFuelConsumption;
/**
- The external temperature in degrees celsius.
+ * See ClimateData
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+@property (nullable, strong, nonatomic) SDLClimateData *climateData;
+
+/**
+ * The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData.
+ * {"num_min_value": -40.0, "num_max_value": 100.0}
+ *
+ * @deprecated in SmartDeviceLink 7.1.0
+ * @added in SmartDeviceLink 2.0.0
*/
-@property (nullable, strong, nonatomic) NSNumber<SDLFloat> *externalTemperature;
+@property (nullable, strong, nonatomic) NSNumber<SDLFloat> *externalTemperature __deprecated_msg("Use climateData instead on 7.1+ RPC version connections");
/**
The Vehicle Identification Number
diff --git a/SmartDeviceLink/public/SDLOnVehicleData.m b/SmartDeviceLink/public/SDLOnVehicleData.m
index 526aac6fb..1df77371e 100644
--- a/SmartDeviceLink/public/SDLOnVehicleData.m
+++ b/SmartDeviceLink/public/SDLOnVehicleData.m
@@ -7,6 +7,7 @@
#import "SDLAirbagStatus.h"
#import "SDLBeltStatus.h"
#import "SDLBodyInformation.h"
+#import "SDLClimateData.h"
#import "SDLClusterModeStatus.h"
#import "SDLDeviceStatus.h"
#import "SDLECallInfo.h"
@@ -39,10 +40,17 @@ NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic pop
- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus {
- return [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange externalTemperature:externalTemperature turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:handsOffSteering windowStatus:windowStatus seatOccupancy:nil];
+ self = [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange climateData:nil turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey windowStatus:windowStatus handsOffSteering:handsOffSteering seatOccupancy:nil];
+ if (self) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ self.externalTemperature = externalTemperature;
+#pragma clang diagnostic pop
+ }
+ return self;
}
-- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange externalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus seatOccupancy:(nullable SDLSeatOccupancy *)seatOccupancy {
+- (instancetype)initWithGps:(nullable SDLGPSData *)gps speed:(nullable NSNumber<SDLFloat> *)speed rpm:(nullable NSNumber<SDLUInt> *)rpm instantFuelConsumption:(nullable NSNumber<SDLFloat> *)instantFuelConsumption fuelRange:(nullable NSArray<SDLFuelRange *> *)fuelRange climateData:(nullable SDLClimateData *)climateData turnSignal:(nullable SDLTurnSignal)turnSignal vin:(nullable NSString *)vin gearStatus:(nullable SDLGearStatus *)gearStatus tirePressure:(nullable SDLTireStatus *)tirePressure odometer:(nullable NSNumber<SDLUInt> *)odometer beltStatus:(nullable SDLBeltStatus *)beltStatus bodyInformation:(nullable SDLBodyInformation *)bodyInformation deviceStatus:(nullable SDLDeviceStatus *)deviceStatus driverBraking:(nullable SDLVehicleDataEventStatus)driverBraking wiperStatus:(nullable SDLWiperStatus)wiperStatus headLampStatus:(nullable SDLHeadLampStatus *)headLampStatus engineTorque:(nullable NSNumber<SDLFloat> *)engineTorque accPedalPosition:(nullable NSNumber<SDLFloat> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLFloat> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLFloat> *)engineOilLife electronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSString *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLStabilityControlsStatus *)stabilityControlsStatus eCallInfo:(nullable SDLECallInfo *)eCallInfo airbagStatus:(nullable SDLAirbagStatus *)airbagStatus emergencyEvent:(nullable SDLEmergencyEvent *)emergencyEvent clusterModeStatus:(nullable SDLClusterModeStatus *)clusterModeStatus myKey:(nullable SDLMyKey *)myKey windowStatus:(nullable NSArray<SDLWindowStatus *> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable SDLSeatOccupancy *)seatOccupancy {
self = [self init];
if (!self) {
return nil;
@@ -52,7 +60,7 @@ NS_ASSUME_NONNULL_BEGIN
self.rpm = rpm;
self.instantFuelConsumption = instantFuelConsumption;
self.fuelRange = fuelRange;
- self.externalTemperature = externalTemperature;
+ self.climateData = climateData;
self.turnSignal = turnSignal;
self.vin = vin;
self.gearStatus = gearStatus;
@@ -76,8 +84,8 @@ NS_ASSUME_NONNULL_BEGIN
self.emergencyEvent = emergencyEvent;
self.clusterModeStatus = clusterModeStatus;
self.myKey = myKey;
- self.handsOffSteering = handsOffSteering;
self.windowStatus = windowStatus;
+ self.handsOffSteering = handsOffSteering;
self.seatOccupancy = seatOccupancy;
return self;
}
@@ -147,6 +155,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_objectForName:SDLRPCParameterNameInstantFuelConsumption ofClass:NSNumber.class error:nil];
}
+- (void)setClimateData:(nullable SDLClimateData *)climateData {
+ [self.parameters sdl_setObject:climateData forName:SDLRPCParameterNameClimateData];
+}
+
+- (nullable SDLClimateData *)climateData {
+ return [self.parameters sdl_objectForName:SDLRPCParameterNameClimateData ofClass:SDLClimateData.class error:nil];
+}
+
- (void)setExternalTemperature:(nullable NSNumber<SDLFloat> *)externalTemperature {
[self.parameters sdl_setObject:externalTemperature forName:SDLRPCParameterNameExternalTemperature];
}
diff --git a/SmartDeviceLink/public/SDLSubscribeVehicleData.h b/SmartDeviceLink/public/SDLSubscribeVehicleData.h
index e0fc21dff..053c8c68c 100644
--- a/SmartDeviceLink/public/SDLSubscribeVehicleData.h
+++ b/SmartDeviceLink/public/SDLSubscribeVehicleData.h
@@ -53,7 +53,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param wiperStatus Subscribe to wiperStatus
* @return A SDLSubscribeVehicleData object
*/
-- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy: instead");
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for subscribing to all possible vehicle data items.
@@ -90,7 +90,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param windowStatus - windowStatus
* @return A SDLSubscribeVehicleData object
*/
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy: instead");
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for subscribing to all possible vehicle data items.
@@ -100,7 +100,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param rpm - rpm
* @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
- * @param externalTemperature - externalTemperature
+ * @param climateData - climateData
* @param turnSignal - turnSignal
* @param gearStatus - gearStatus
* @param tirePressure - tirePressure
@@ -123,12 +123,12 @@ NS_ASSUME_NONNULL_BEGIN
* @param emergencyEvent - emergencyEvent
* @param clusterModeStatus - clusterModeStatus
* @param myKey - myKey
- * @param handsOffSteering - handsOffSteering
* @param windowStatus - windowStatus
+ * @param handsOffSteering - handsOffSteering
* @param seatOccupancy - seatOccupancy
* @return A SDLSubscribeVehicleData object
*/
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy;
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange climateData:(nullable NSNumber<SDLBool> *)climateData turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey windowStatus:(nullable NSNumber<SDLBool> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy;
/**
* See GearStatus
@@ -173,9 +173,19 @@ NS_ASSUME_NONNULL_BEGIN
@property (strong, nonatomic, nullable) NSNumber<SDLBool> *instantFuelConsumption;
/**
- * A boolean value. If true, subscribes External Temperature data.
+ * See ClimateData
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *climateData;
+
+/**
+ * The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData.
+ *
+ * @deprecated in SmartDeviceLink 7.1.0
+ * @added in SmartDeviceLink 2.0.0
*/
-@property (strong, nonatomic, nullable) NSNumber<SDLBool> *externalTemperature;
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *externalTemperature __deprecated_msg("Use climateData instead on 7.1+ RPC version connections");
/**
* See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
diff --git a/SmartDeviceLink/public/SDLSubscribeVehicleData.m b/SmartDeviceLink/public/SDLSubscribeVehicleData.m
index b7a808066..d63fe65e6 100644
--- a/SmartDeviceLink/public/SDLSubscribeVehicleData.m
+++ b/SmartDeviceLink/public/SDLSubscribeVehicleData.m
@@ -24,23 +24,32 @@ NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic pop
- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus {
- self = [self initWithGps:@(gps) speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:@(fuelRange) externalTemperature:@(externalTemperature) turnSignal:@(turnSignal) gearStatus:nil tirePressure:@(tirePressure) odometer:@(odometer) beltStatus:@(beltStatus) bodyInformation:@(bodyInformation) deviceStatus:@(deviceStatus) driverBraking:@(driverBraking) wiperStatus:@(wiperStatus) headLampStatus:@(headLampStatus) engineTorque:@(engineTorque) accPedalPosition:@(accelerationPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:@(electronicParkBrakeStatus) cloudAppVehicleID:@(cloudAppVehicleID) stabilityControlsStatus:nil eCallInfo:@(eCallInfo) airbagStatus:@(airbagStatus) emergencyEvent:@(emergencyEvent) clusterModeStatus:@(clusterModeStatus) myKey:@(myKey) handsOffSteering:nil windowStatus:nil seatOccupancy:nil];
+ self = [self initWithGps:@(gps) speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:@(fuelRange) climateData:nil turnSignal:@(turnSignal) gearStatus:nil tirePressure:@(tirePressure) odometer:@(odometer) beltStatus:@(beltStatus) bodyInformation:@(bodyInformation) deviceStatus:@(deviceStatus) driverBraking:@(driverBraking) wiperStatus:@(wiperStatus) headLampStatus:@(headLampStatus) engineTorque:@(engineTorque) accPedalPosition:nil steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:@(electronicParkBrakeStatus) cloudAppVehicleID:@(cloudAppVehicleID) stabilityControlsStatus:nil eCallInfo:@(eCallInfo) airbagStatus:@(airbagStatus) emergencyEvent:@(emergencyEvent) clusterModeStatus:@(clusterModeStatus) myKey:@(myKey) windowStatus:nil handsOffSteering:nil seatOccupancy:nil];
if (self) {
+ self.accPedalPosition = @(accelerationPedalPosition);
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
self.fuelLevel = @(fuelLevel);
self.fuelLevel_State = @(fuelLevelState);
self.prndl = @(prndl);
+ self.externalTemperature = @(externalTemperature);
#pragma clang diagnostic pop
}
return self;
}
- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus {
- return [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange externalTemperature:externalTemperature turnSignal:turnSignal gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:handsOffSteering windowStatus:windowStatus seatOccupancy:nil];
+ self = [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange climateData:nil turnSignal:turnSignal gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey windowStatus:windowStatus handsOffSteering:handsOffSteering seatOccupancy:nil];
+ if (self) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ self.externalTemperature = externalTemperature;
+#pragma clang diagnostic pop
+ }
+ return self;
}
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy {
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange climateData:(nullable NSNumber<SDLBool> *)climateData turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey windowStatus:(nullable NSNumber<SDLBool> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy {
self = [self init];
if (!self) {
return nil;
@@ -50,7 +59,7 @@ NS_ASSUME_NONNULL_BEGIN
self.rpm = rpm;
self.instantFuelConsumption = instantFuelConsumption;
self.fuelRange = fuelRange;
- self.externalTemperature = externalTemperature;
+ self.climateData = climateData;
self.turnSignal = turnSignal;
self.gearStatus = gearStatus;
self.tirePressure = tirePressure;
@@ -73,8 +82,8 @@ NS_ASSUME_NONNULL_BEGIN
self.emergencyEvent = emergencyEvent;
self.clusterModeStatus = clusterModeStatus;
self.myKey = myKey;
- self.handsOffSteering = handsOffSteering;
self.windowStatus = windowStatus;
+ self.handsOffSteering = handsOffSteering;
self.seatOccupancy = seatOccupancy;
return self;
}
@@ -143,6 +152,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_objectForName:SDLRPCParameterNameInstantFuelConsumption ofClass:NSNumber.class error:nil];
}
+- (void)setClimateData:(nullable NSNumber<SDLBool> *)climateData {
+ [self.parameters sdl_setObject:climateData forName:SDLRPCParameterNameClimateData];
+}
+
+- (nullable NSNumber<SDLBool> *)climateData {
+ return [self.parameters sdl_objectForName:SDLRPCParameterNameClimateData ofClass:NSNumber.class error:nil];
+}
+
- (void)setExternalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature {
[self.parameters sdl_setObject:externalTemperature forName:SDLRPCParameterNameExternalTemperature];
}
diff --git a/SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.h b/SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.h
index 8cab3cbda..de02ed1ef 100644
--- a/SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.h
+++ b/SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.h
@@ -51,7 +51,8 @@ NS_ASSUME_NONNULL_BEGIN
* @param windowStatus - windowStatus
* @return A SDLSubscribeVehicleDataResponse object
*/
-- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:handsOffSteering:windowStatus:seatOccupancy: instead");
+- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
+
/**
* Convenience init for setting all possible values on vehicle data items.
@@ -61,7 +62,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param rpm - rpm
* @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
- * @param externalTemperature - externalTemperature
+ * @param climateData - climateData
* @param turnSignal - turnSignal
* @param gearStatus - gearStatus
* @param tirePressure - tirePressure
@@ -84,12 +85,12 @@ NS_ASSUME_NONNULL_BEGIN
* @param emergencyEvent - emergencyEvent
* @param clusterModes - clusterModes
* @param myKey - myKey
- * @param handsOffSteering - handsOffSteering
* @param windowStatus - windowStatus
+ * @param handsOffSteering - handsOffSteering
* @param seatOccupancy - seatOccupancy
* @return A SDLSubscribeVehicleDataResponse object
*/
-- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus seatOccupancy:(nullable SDLVehicleDataResult *)seatOccupancy;
+- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange climateData:(nullable SDLVehicleDataResult *)climateData turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey windowStatus:(nullable SDLVehicleDataResult *)windowStatus handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering seatOccupancy:(nullable SDLVehicleDataResult *)seatOccupancy;
/**
* See GearStatus
@@ -148,11 +149,19 @@ NS_ASSUME_NONNULL_BEGIN
@property (strong, nonatomic, nullable) SDLVehicleDataResult *instantFuelConsumption;
/**
- The result of requesting to subscribe to the external temperature in degrees celsius.
+ * See ClimateData
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+@property (nullable, strong, nonatomic) SDLVehicleDataResult *climateData;
- Optional
+/**
+ * The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData.
+ *
+ * @deprecated in SmartDeviceLink 7.1.0
+ * @added in SmartDeviceLink 2.0.0
*/
-@property (strong, nonatomic, nullable) SDLVehicleDataResult *externalTemperature;
+@property (nullable, strong, nonatomic) SDLVehicleDataResult *externalTemperature __deprecated_msg("Use climateData instead on 7.1+ RPC version connections");
/**
* See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
diff --git a/SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.m b/SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.m
index d97df588b..3ee8eab91 100644
--- a/SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.m
+++ b/SmartDeviceLink/public/SDLSubscribeVehicleDataResponse.m
@@ -25,11 +25,18 @@ NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic pop
- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus {
- self = [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange externalTemperature:externalTemperature turnSignal:turnSignal gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModes:clusterModes myKey:myKey handsOffSteering:handsOffSteering windowStatus:windowStatus seatOccupancy:nil];
+
+ self = [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange climateData:nil turnSignal:turnSignal gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModes:clusterModes myKey:myKey windowStatus:windowStatus handsOffSteering:handsOffSteering seatOccupancy:nil];
+ if (self) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ self.externalTemperature = externalTemperature;
+#pragma clang diagnostic pop
+ }
return self;
}
-- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus seatOccupancy:(nullable SDLVehicleDataResult *)seatOccupancy {
+- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange climateData:(nullable SDLVehicleDataResult *)climateData turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey windowStatus:(nullable SDLVehicleDataResult *)windowStatus handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering seatOccupancy:(nullable SDLVehicleDataResult *)seatOccupancy {
self = [self init];
if (!self) {
return nil;
@@ -39,7 +46,7 @@ NS_ASSUME_NONNULL_BEGIN
self.rpm = rpm;
self.instantFuelConsumption = instantFuelConsumption;
self.fuelRange = fuelRange;
- self.externalTemperature = externalTemperature;
+ self.climateData = climateData;
self.turnSignal = turnSignal;
self.gearStatus = gearStatus;
self.tirePressure = tirePressure;
@@ -62,8 +69,8 @@ NS_ASSUME_NONNULL_BEGIN
self.emergencyEvent = emergencyEvent;
self.clusterModes = clusterModes;
self.myKey = myKey;
- self.handsOffSteering = handsOffSteering;
self.windowStatus = windowStatus;
+ self.handsOffSteering = handsOffSteering;
self.seatOccupancy = seatOccupancy;
return self;
}
@@ -132,6 +139,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_objectForName:SDLRPCParameterNameInstantFuelConsumption ofClass:SDLVehicleDataResult.class error:nil];
}
+- (void)setClimateData:(nullable SDLVehicleDataResult *)climateData {
+ [self.parameters sdl_setObject:climateData forName:SDLRPCParameterNameClimateData];
+}
+
+- (nullable SDLVehicleDataResult *)climateData {
+ return [self.parameters sdl_objectForName:SDLRPCParameterNameClimateData ofClass:SDLVehicleDataResult.class error:nil];
+}
+
- (void)setExternalTemperature:(nullable SDLVehicleDataResult *)externalTemperature {
[self.parameters sdl_setObject:externalTemperature forName:SDLRPCParameterNameExternalTemperature];
}
diff --git a/SmartDeviceLink/public/SDLUnsubscribeVehicleData.h b/SmartDeviceLink/public/SDLUnsubscribeVehicleData.h
index 420c08712..04b08cf29 100644
--- a/SmartDeviceLink/public/SDLUnsubscribeVehicleData.h
+++ b/SmartDeviceLink/public/SDLUnsubscribeVehicleData.h
@@ -55,7 +55,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param wiperStatus Unsubscribe to wiperStatus
* @return A SDLUnsubscribeVehicleData object
*/
-- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for unsubscribing from all possible vehicle data items.
@@ -92,16 +92,17 @@ NS_ASSUME_NONNULL_BEGIN
* @param windowStatus - windowStatus
* @return A SDLUnsubscribeVehicleData object
*/
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
-
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
+ * Convenience init for unsubscribing from all possible vehicle data items.
+ *
* @param gps - gps
* @param speed - speed
* @param rpm - rpm
* @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
- * @param externalTemperature - externalTemperature
+ * @param climateData - climateData
* @param turnSignal - turnSignal
* @param gearStatus - gearStatus
* @param tirePressure - tirePressure
@@ -124,12 +125,12 @@ NS_ASSUME_NONNULL_BEGIN
* @param emergencyEvent - emergencyEvent
* @param clusterModeStatus - clusterModeStatus
* @param myKey - myKey
- * @param handsOffSteering - handsOffSteering
* @param windowStatus - windowStatus
+ * @param handsOffSteering - handsOffSteering
* @param seatOccupancy - seatOccupancy
* @return A SDLUnsubscribeVehicleData object
*/
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy;
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange climateData:(nullable NSNumber<SDLBool> *)climateData turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey windowStatus:(nullable NSNumber<SDLBool> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy;
/**
* See GearStatus
@@ -174,9 +175,19 @@ NS_ASSUME_NONNULL_BEGIN
@property (strong, nonatomic, nullable) NSNumber<SDLBool> *instantFuelConsumption;
/**
- * If true, unsubscribes from External Temperature
+ * See ClimateData
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *climateData;
+
+/**
+ * The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData.
+ *
+ * @deprecated in SmartDeviceLink 7.1.0
+ * @added in SmartDeviceLink 2.0.0
*/
-@property (strong, nonatomic, nullable) NSNumber<SDLBool> *externalTemperature;
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *externalTemperature __deprecated_msg("Use climateData instead on 7.1+ RPC version connections");
/**
* See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
diff --git a/SmartDeviceLink/public/SDLUnsubscribeVehicleData.m b/SmartDeviceLink/public/SDLUnsubscribeVehicleData.m
index 901db6c12..569d5bcfb 100644
--- a/SmartDeviceLink/public/SDLUnsubscribeVehicleData.m
+++ b/SmartDeviceLink/public/SDLUnsubscribeVehicleData.m
@@ -23,24 +23,32 @@ NS_ASSUME_NONNULL_BEGIN
}
#pragma clang diagnostic pop
-- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus {
- self = [self initWithGps:@(gps) speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:@(fuelRange) externalTemperature:@(externalTemperature) turnSignal:@(turnSignal) gearStatus:nil tirePressure:@(tirePressure) odometer:@(odometer) beltStatus:@(beltStatus) bodyInformation:@(bodyInformation) deviceStatus:@(deviceStatus) driverBraking:@(driverBraking) wiperStatus:@(wiperStatus) headLampStatus:@(headLampStatus) engineTorque:@(engineTorque) accPedalPosition:@(accelerationPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:@(electronicParkBrakeStatus) cloudAppVehicleID:@(cloudAppVehicleID) stabilityControlsStatus:nil eCallInfo:@(eCallInfo) airbagStatus:@(airbagStatus) emergencyEvent:@(emergencyEvent) clusterModeStatus:@(clusterModeStatus) myKey:@(myKey) handsOffSteering:nil windowStatus:nil seatOccupancy:nil];
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus {
+ self = [self initWithGps:@(gps) speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:@(fuelRange) climateData:nil turnSignal:@(turnSignal) gearStatus:nil tirePressure:@(tirePressure) odometer:@(odometer) beltStatus:@(beltStatus) bodyInformation:@(bodyInformation) deviceStatus:@(deviceStatus) driverBraking:@(driverBraking) wiperStatus:@(wiperStatus) headLampStatus:@(headLampStatus) engineTorque:@(engineTorque) accPedalPosition:@(accPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:@(electronicParkBrakeStatus) cloudAppVehicleID:@(cloudAppVehicleID) stabilityControlsStatus:nil eCallInfo:@(eCallInfo) airbagStatus:@(airbagStatus) emergencyEvent:@(emergencyEvent) clusterModeStatus:@(clusterModeStatus) myKey:@(myKey) windowStatus:nil handsOffSteering:nil seatOccupancy:nil];
if (self) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
self.fuelLevel = @(fuelLevel);
self.fuelLevel_State = @(fuelLevelState);
self.prndl = @(prndl);
+ self.externalTemperature = @(externalTemperature);
#pragma clang diagnostic pop
}
return self;
}
- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus {
- return [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange externalTemperature:externalTemperature turnSignal:turnSignal gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:windowStatus windowStatus:windowStatus seatOccupancy:nil];
+ self = [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange climateData:nil turnSignal:turnSignal gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey windowStatus:windowStatus handsOffSteering:handsOffSteering seatOccupancy:nil];
+ if (self) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ self.externalTemperature = externalTemperature;
+#pragma clang diagnostic pop
+ }
+ return self;
}
-- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange externalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering windowStatus:(nullable NSNumber<SDLBool> *)windowStatus seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy {
+- (instancetype)initWithGps:(nullable NSNumber<SDLBool> *)gps speed:(nullable NSNumber<SDLBool> *)speed rpm:(nullable NSNumber<SDLBool> *)rpm instantFuelConsumption:(nullable NSNumber<SDLBool> *)instantFuelConsumption fuelRange:(nullable NSNumber<SDLBool> *)fuelRange climateData:(nullable NSNumber<SDLBool> *)climateData turnSignal:(nullable NSNumber<SDLBool> *)turnSignal gearStatus:(nullable NSNumber<SDLBool> *)gearStatus tirePressure:(nullable NSNumber<SDLBool> *)tirePressure odometer:(nullable NSNumber<SDLBool> *)odometer beltStatus:(nullable NSNumber<SDLBool> *)beltStatus bodyInformation:(nullable NSNumber<SDLBool> *)bodyInformation deviceStatus:(nullable NSNumber<SDLBool> *)deviceStatus driverBraking:(nullable NSNumber<SDLBool> *)driverBraking wiperStatus:(nullable NSNumber<SDLBool> *)wiperStatus headLampStatus:(nullable NSNumber<SDLBool> *)headLampStatus engineTorque:(nullable NSNumber<SDLBool> *)engineTorque accPedalPosition:(nullable NSNumber<SDLBool> *)accPedalPosition steeringWheelAngle:(nullable NSNumber<SDLBool> *)steeringWheelAngle engineOilLife:(nullable NSNumber<SDLBool> *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber<SDLBool> *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber<SDLBool> *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber<SDLBool> *)stabilityControlsStatus eCallInfo:(nullable NSNumber<SDLBool> *)eCallInfo airbagStatus:(nullable NSNumber<SDLBool> *)airbagStatus emergencyEvent:(nullable NSNumber<SDLBool> *)emergencyEvent clusterModeStatus:(nullable NSNumber<SDLBool> *)clusterModeStatus myKey:(nullable NSNumber<SDLBool> *)myKey windowStatus:(nullable NSNumber<SDLBool> *)windowStatus handsOffSteering:(nullable NSNumber<SDLBool> *)handsOffSteering seatOccupancy:(nullable NSNumber<SDLBool> *)seatOccupancy {
self = [self init];
if (!self) {
return nil;
@@ -50,7 +58,7 @@ NS_ASSUME_NONNULL_BEGIN
self.rpm = rpm;
self.instantFuelConsumption = instantFuelConsumption;
self.fuelRange = fuelRange;
- self.externalTemperature = externalTemperature;
+ self.climateData = climateData;
self.turnSignal = turnSignal;
self.gearStatus = gearStatus;
self.tirePressure = tirePressure;
@@ -73,8 +81,8 @@ NS_ASSUME_NONNULL_BEGIN
self.emergencyEvent = emergencyEvent;
self.clusterModeStatus = clusterModeStatus;
self.myKey = myKey;
- self.handsOffSteering = handsOffSteering;
self.windowStatus = windowStatus;
+ self.handsOffSteering = handsOffSteering;
self.seatOccupancy = seatOccupancy;
return self;
}
@@ -143,6 +151,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_objectForName:SDLRPCParameterNameInstantFuelConsumption ofClass:NSNumber.class error:nil];
}
+- (void)setClimateData:(nullable NSNumber<SDLBool> *)climateData {
+ [self.parameters sdl_setObject:climateData forName:SDLRPCParameterNameClimateData];
+}
+
+- (nullable NSNumber<SDLBool> *)climateData {
+ return [self.parameters sdl_objectForName:SDLRPCParameterNameClimateData ofClass:NSNumber.class error:nil];
+}
+
- (void)setExternalTemperature:(nullable NSNumber<SDLBool> *)externalTemperature {
[self.parameters sdl_setObject:externalTemperature forName:SDLRPCParameterNameExternalTemperature];
}
diff --git a/SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.h b/SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.h
index ee53d9b28..1d5c1ae81 100644
--- a/SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.h
+++ b/SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.h
@@ -50,7 +50,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param windowStatus - windowStatus
* @return A SDLUnsubscribeVehicleDataResponse object
*/
-- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:handsOffSteering:windowStatus:seatOccupancy: instead");
+- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for setting all possible values on vehicle data items.
@@ -60,7 +60,7 @@ NS_ASSUME_NONNULL_BEGIN
* @param rpm - rpm
* @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
- * @param externalTemperature - externalTemperature
+ * @param climateData - climateData
* @param turnSignal - turnSignal
* @param gearStatus - gearStatus
* @param tirePressure - tirePressure
@@ -83,12 +83,12 @@ NS_ASSUME_NONNULL_BEGIN
* @param emergencyEvent - emergencyEvent
* @param clusterModes - clusterModes
* @param myKey - myKey
- * @param handsOffSteering - handsOffSteering
* @param windowStatus - windowStatus
+ * @param handsOffSteering - handsOffSteering
* @param seatOccupancy - seatOccupancy
* @return A SDLUnsubscribeVehicleDataResponse object
*/
-- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus seatOccupancy:(nullable SDLVehicleDataResult *)seatOccupancy;
+- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange climateData:(nullable SDLVehicleDataResult *)climateData turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey windowStatus:(nullable SDLVehicleDataResult *)windowStatus handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering seatOccupancy:(nullable SDLVehicleDataResult *)seatOccupancy;
/**
* See GearStatus
@@ -147,11 +147,19 @@ NS_ASSUME_NONNULL_BEGIN
@property (strong, nonatomic, nullable) SDLVehicleDataResult *instantFuelConsumption;
/**
- The result of requesting to unsubscribe to the external temperature in degrees celsius.
+ * See ClimateData
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+@property (strong, nonatomic, nullable) SDLVehicleDataResult *climateData;
- Optional
+/**
+ * The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData.
+ *
+ * @deprecated in SmartDeviceLink 7.1.0
+ * @added in SmartDeviceLink 2.0.0
*/
-@property (strong, nonatomic, nullable) SDLVehicleDataResult *externalTemperature;
+@property (strong, nonatomic, nullable) SDLVehicleDataResult *externalTemperature __deprecated_msg("use climateData instead on 7.1+ RPC version connections");
/**
* See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
diff --git a/SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.m b/SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.m
index 71afb77a7..5fd1af7b5 100644
--- a/SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.m
+++ b/SmartDeviceLink/public/SDLUnsubscribeVehicleDataResponse.m
@@ -25,10 +25,17 @@ NS_ASSUME_NONNULL_BEGIN
#pragma clang diagnostic pop
- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus {
- return [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange externalTemperature:externalTemperature turnSignal:turnSignal gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModes:clusterModes myKey:myKey handsOffSteering:handsOffSteering windowStatus:windowStatus seatOccupancy:nil];
+ self = [self initWithGps:gps speed:speed rpm:rpm instantFuelConsumption:instantFuelConsumption fuelRange:fuelRange climateData:nil turnSignal:turnSignal gearStatus:gearStatus tirePressure:tirePressure odometer:odometer beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:engineTorque accPedalPosition:accPedalPosition steeringWheelAngle:steeringWheelAngle engineOilLife:engineOilLife electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModes:clusterModes myKey:myKey windowStatus:windowStatus handsOffSteering:handsOffSteering seatOccupancy:nil];
+ if (self) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ self.externalTemperature = externalTemperature;
+#pragma clang diagnostic pop
+ }
+ return self;
}
-- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange externalTemperature:(nullable SDLVehicleDataResult *)externalTemperature turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering windowStatus:(nullable SDLVehicleDataResult *)windowStatus seatOccupancy:(nullable SDLVehicleDataResult *)seatOccupancy {
+- (instancetype)initWithGps:(nullable SDLVehicleDataResult *)gps speed:(nullable SDLVehicleDataResult *)speed rpm:(nullable SDLVehicleDataResult *)rpm instantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption fuelRange:(nullable SDLVehicleDataResult *)fuelRange climateData:(nullable SDLVehicleDataResult *)climateData turnSignal:(nullable SDLVehicleDataResult *)turnSignal gearStatus:(nullable SDLVehicleDataResult *)gearStatus tirePressure:(nullable SDLVehicleDataResult *)tirePressure odometer:(nullable SDLVehicleDataResult *)odometer beltStatus:(nullable SDLVehicleDataResult *)beltStatus bodyInformation:(nullable SDLVehicleDataResult *)bodyInformation deviceStatus:(nullable SDLVehicleDataResult *)deviceStatus driverBraking:(nullable SDLVehicleDataResult *)driverBraking wiperStatus:(nullable SDLVehicleDataResult *)wiperStatus headLampStatus:(nullable SDLVehicleDataResult *)headLampStatus engineTorque:(nullable SDLVehicleDataResult *)engineTorque accPedalPosition:(nullable SDLVehicleDataResult *)accPedalPosition steeringWheelAngle:(nullable SDLVehicleDataResult *)steeringWheelAngle engineOilLife:(nullable SDLVehicleDataResult *)engineOilLife electronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus cloudAppVehicleID:(nullable SDLVehicleDataResult *)cloudAppVehicleID stabilityControlsStatus:(nullable SDLVehicleDataResult *)stabilityControlsStatus eCallInfo:(nullable SDLVehicleDataResult *)eCallInfo airbagStatus:(nullable SDLVehicleDataResult *)airbagStatus emergencyEvent:(nullable SDLVehicleDataResult *)emergencyEvent clusterModes:(nullable SDLVehicleDataResult *)clusterModes myKey:(nullable SDLVehicleDataResult *)myKey windowStatus:(nullable SDLVehicleDataResult *)windowStatus handsOffSteering:(nullable SDLVehicleDataResult *)handsOffSteering seatOccupancy:(nullable SDLVehicleDataResult *)seatOccupancy {
self = [self init];
if (!self) {
return nil;
@@ -38,7 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
self.rpm = rpm;
self.instantFuelConsumption = instantFuelConsumption;
self.fuelRange = fuelRange;
- self.externalTemperature = externalTemperature;
+ self.climateData = climateData;
self.turnSignal = turnSignal;
self.gearStatus = gearStatus;
self.tirePressure = tirePressure;
@@ -61,8 +68,8 @@ NS_ASSUME_NONNULL_BEGIN
self.emergencyEvent = emergencyEvent;
self.clusterModes = clusterModes;
self.myKey = myKey;
- self.handsOffSteering = handsOffSteering;
self.windowStatus = windowStatus;
+ self.handsOffSteering = handsOffSteering;
self.seatOccupancy = seatOccupancy;
return self;
}
@@ -132,6 +139,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_objectForName:SDLRPCParameterNameInstantFuelConsumption ofClass:SDLVehicleDataResult.class error:nil];
}
+- (void)setClimateData:(nullable SDLVehicleDataResult *)climateData {
+ [self.parameters sdl_setObject:climateData forName:SDLRPCParameterNameClimateData];
+}
+
+- (nullable SDLVehicleDataResult *)climateData {
+ return [self.parameters sdl_objectForName:SDLRPCParameterNameClimateData ofClass:SDLVehicleDataResult.class error:nil];
+}
+
- (void)setExternalTemperature:(nullable SDLVehicleDataResult *)externalTemperature {
[self.parameters sdl_setObject:externalTemperature forName:SDLRPCParameterNameExternalTemperature];
}
diff --git a/SmartDeviceLink/public/SDLVehicleDataType.h b/SmartDeviceLink/public/SDLVehicleDataType.h
index 6df7349e0..615ea03c4 100644
--- a/SmartDeviceLink/public/SDLVehicleDataType.h
+++ b/SmartDeviceLink/public/SDLVehicleDataType.h
@@ -51,9 +51,16 @@ extern SDLVehicleDataType const SDLVehicleDataTypeFuelLevelState __deprecated_ms
extern SDLVehicleDataType const SDLVehicleDataTypeFuelConsumption;
/**
- Vehicle external temperature data
+ * Vehicle external temperature data
+ * @deprecated in SmartDeviceLink 7.1.0
+ * @added in SmartDeviceLink 2.0.0
*/
-extern SDLVehicleDataType const SDLVehicleDataTypeExternalTemperature;
+extern SDLVehicleDataType const SDLVehicleDataTypeExternalTemperature __deprecated_msg("Use SDLVehicleDataTypeVehicleDataClimateData instead on 7.1+ RPC version connections");
+
+/**
+ * @added in SmartDeviceLink 7.1.0
+ */
+extern SDLVehicleDataType const SDLVehicleDataTypeVehicleDataClimateData;
/**
Vehicle VIN data
diff --git a/SmartDeviceLink/public/SDLVehicleDataType.m b/SmartDeviceLink/public/SDLVehicleDataType.m
index c8f5e49f6..a78eca1ca 100644
--- a/SmartDeviceLink/public/SDLVehicleDataType.m
+++ b/SmartDeviceLink/public/SDLVehicleDataType.m
@@ -37,6 +37,7 @@ SDLVehicleDataType const SDLVehicleDataTypeStabilityControlsStatus = @"VEHICLEDA
SDLVehicleDataType const SDLVehicleDataTypeSteeringWheel = @"VEHICLEDATA_STEERINGWHEEL";
SDLVehicleDataType const SDLVehicleDataTypeTirePressure = @"VEHICLEDATA_TIREPRESSURE";
SDLVehicleDataType const SDLVehicleDataTypeTurnSignal = @"VEHICLEDATA_TURNSIGNAL";
+SDLVehicleDataType const SDLVehicleDataTypeVehicleDataClimateData = @"VEHICLEDATA_CLIMATEDATA";
SDLVehicleDataType const SDLVehicleDataTypeVIN = @"VEHICLEDATA_VIN";
SDLVehicleDataType const SDLVehicleDataTypeSeatOccupancy = @"VEHICLEDATA_SEATOCCUPANCY";
SDLVehicleDataType const SDLVehicleDataTypeWindowStatus = @"VEHICLEDATA_WINDOWSTATUS";
diff --git a/SmartDeviceLink/public/SmartDeviceLink.h b/SmartDeviceLink/public/SmartDeviceLink.h
index 52b5d9906..150af3345 100644
--- a/SmartDeviceLink/public/SmartDeviceLink.h
+++ b/SmartDeviceLink/public/SmartDeviceLink.h
@@ -198,6 +198,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[];
#import "SDLChoice.h"
#import "SDLClimateControlCapabilities.h"
#import "SDLClimateControlData.h"
+#import "SDLClimateData.h"
#import "SDLCloudAppProperties.h"
#import "SDLClusterModeStatus.h"
#import "SDLDateTime.h"
diff --git a/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m b/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m
index 43b6f3207..e1ff34a0f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m
@@ -26,7 +26,10 @@ describe(@"individual enum value tests", ^{
expect(SDLVehicleDataTypeEmergencyEvent).to(equal(@"VEHICLEDATA_EMERGENCYEVENT"));
expect(SDLVehicleDataTypeEngineOilLife).to(equal(@"VEHICLEDATA_ENGINEOILLIFE"));
expect(SDLVehicleDataTypeEngineTorque).to(equal(@"VEHICLEDATA_ENGINETORQUE"));
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(SDLVehicleDataTypeExternalTemperature).to(equal(@"VEHICLEDATA_EXTERNTEMP"));
+#pragma clang diagnostic pop
expect(SDLVehicleDataTypeFuelConsumption).to(equal(@"VEHICLEDATA_FUELCONSUMPTION"));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
@@ -50,6 +53,7 @@ describe(@"individual enum value tests", ^{
expect(SDLVehicleDataTypeSteeringWheel).to(equal(@"VEHICLEDATA_STEERINGWHEEL"));
expect(SDLVehicleDataTypeTirePressure).to(equal(@"VEHICLEDATA_TIREPRESSURE"));
expect(SDLVehicleDataTypeTurnSignal).to(equal(@"VEHICLEDATA_TURNSIGNAL"));
+ expect(SDLVehicleDataTypeVehicleDataClimateData).to(equal(@"VEHICLEDATA_CLIMATEDATA"));
expect(SDLVehicleDataTypeSeatOccupancy).to(equal(@"VEHICLEDATA_SEATOCCUPANCY"));
expect(SDLVehicleDataTypeVIN).to(equal(@"VEHICLEDATA_VIN"));
expect(SDLVehicleDataTypeWindowStatus).to(equal(@"VEHICLEDATA_WINDOWSTATUS"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m
index f2e49fec6..4b7857312 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m
@@ -49,6 +49,7 @@ SDLStabilityControlsStatus *stabilityControlsStatus = [[SDLStabilityControlsStat
NSArray<SDLWindowStatus *> *windowStatus = @[[[SDLWindowStatus alloc] init], [[SDLWindowStatus alloc] init]];
const BOOL handsOffSteering = YES;
SDLGearStatus *gearStatus = [[SDLGearStatus alloc] initWithUserSelectedGear:SDLPRNDLDrive actualGear:SDLPRNDLPark transmissionType:SDLTransmissionTypeAutomatic];
+SDLClimateData *climateData = [[SDLClimateData alloc] init];
SDLSeatOccupancy *seatOccupancy = [[SDLSeatOccupancy alloc] init];
describe(@"getter/setter tests", ^{
@@ -67,9 +68,9 @@ describe(@"getter/setter tests", ^{
testResponse.emergencyEvent = emergencyEvent;
testResponse.engineOilLife = @(engineOilLife);
testResponse.engineTorque = @(engineTorque);
- testResponse.externalTemperature = @(externalTemperature);
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ testResponse.externalTemperature = @(externalTemperature);
testResponse.fuelLevel = @(fuelLevel);
testResponse.fuelLevel_State = fuelLevel_State;
#pragma clang diagnostic pop
@@ -95,6 +96,7 @@ describe(@"getter/setter tests", ^{
testResponse.vin = vin;
testResponse.windowStatus = windowStatus;
testResponse.wiperStatus = wiperStatus;
+ testResponse.climateData = climateData;
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(@(accPedalPosition)));
@@ -110,9 +112,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(emergencyEvent));
expect(testResponse.engineOilLife).to(equal(@(engineOilLife)));
expect(testResponse.engineTorque).to(equal(@(engineTorque)));
- expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
expect(testResponse.fuelLevel).to(equal(@(fuelLevel)));
expect(testResponse.fuelLevel_State).to(equal(fuelLevel_State));
#pragma clang diagnostic pop
@@ -138,6 +140,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.vin).to(equal(vin));
expect(testResponse.windowStatus).to(equal(windowStatus));
expect(testResponse.wiperStatus).to(equal(wiperStatus));
+ expect(testResponse.climateData).to(equal(climateData));
});
});
@@ -185,6 +188,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameVIN:vin,
SDLRPCParameterNameWindowStatus:windowStatus,
SDLRPCParameterNameWiperStatus:wiperStatus,
+ SDLRPCParameterNameClimateData:climateData,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnVehicleData}};
SDLOnVehicleData* testResponse = [[SDLOnVehicleData alloc] initWithDictionary:dict];
@@ -203,9 +207,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(emergencyEvent));
expect(testResponse.engineOilLife).to(equal(@(engineOilLife)));
expect(testResponse.engineTorque).to(equal(@(engineTorque)));
- expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
expect(testResponse.fuelLevel).to(equal(@(fuelLevel)));
expect(testResponse.fuelLevel_State).to(equal(fuelLevel_State));
#pragma clang diagnostic pop
@@ -231,6 +235,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.vin).to(equal(vin));
expect(testResponse.windowStatus).to(equal(windowStatus));
expect(testResponse.wiperStatus).to(equal(wiperStatus));
+ expect(testResponse.climateData).to(equal(climateData));
});
});
@@ -250,9 +255,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(beNil());
expect(testResponse.engineOilLife).to(beNil());
expect(testResponse.engineTorque).to(beNil());
- expect(testResponse.externalTemperature).to(beNil());
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(beNil());
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -278,14 +283,19 @@ describe(@"getter/setter tests", ^{
expect(testResponse.vin).to(beNil());
expect(testResponse.windowStatus).to(beNil());
expect(testResponse.wiperStatus).to(beNil());
+ expect(testResponse.climateData).to(beNil());
});
});
context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:", ^{
+ __block SDLOnVehicleData *testResponse = nil;
+
+ beforeEach(^{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- SDLOnVehicleData* testResponse = [[SDLOnVehicleData alloc] initWithGps:gps speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:fuelRangeArray externalTemperature:@(externalTemperature) turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:@(odometer) beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:@(engineTorque) accPedalPosition:@(accPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:@(handsOffSteering) windowStatus:windowStatus];
+ testResponse = [[SDLOnVehicleData alloc] initWithGps:gps speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:fuelRangeArray externalTemperature:@(externalTemperature) turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:@(odometer) beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:@(engineTorque) accPedalPosition:@(accPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:@(handsOffSteering) windowStatus:windowStatus];
#pragma clang diagnostic pop
+ });
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(@(accPedalPosition)));
@@ -301,9 +311,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(emergencyEvent));
expect(testResponse.engineOilLife).to(equal(@(engineOilLife)));
expect(testResponse.engineTorque).to(equal(@(engineTorque)));
- expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -332,17 +342,14 @@ describe(@"getter/setter tests", ^{
});
});
- context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:", ^{
+ context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy:", ^{
__block SDLOnVehicleData *testResponse = nil;
+
beforeEach(^{
- testResponse = [[SDLOnVehicleData alloc] initWithGps:gps speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:fuelRangeArray externalTemperature:@(externalTemperature) turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:@(odometer) beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:@(engineTorque) accPedalPosition:@(accPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:@(handsOffSteering) windowStatus:windowStatus seatOccupancy:seatOccupancy];
- });
- afterEach(^{
- testResponse = nil;
+ testResponse = [[SDLOnVehicleData alloc] initWithGps:gps speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:fuelRangeArray climateData:climateData turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:@(odometer) beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:@(engineTorque) accPedalPosition:@(accPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey windowStatus:windowStatus handsOffSteering:@(handsOffSteering) seatOccupancy:seatOccupancy];
});
it(@"expect all properties to be set properly", ^{
- expect(testResponse).notTo(beNil());
expect(testResponse.accPedalPosition).to(equal(@(accPedalPosition)));
expect(testResponse.airbagStatus).to(equal(airbagStatus));
expect(testResponse.beltStatus).to(equal(beltStatus));
@@ -356,9 +363,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(emergencyEvent));
expect(testResponse.engineOilLife).to(equal(@(engineOilLife)));
expect(testResponse.engineTorque).to(equal(@(engineTorque)));
- expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(beNil());
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -384,6 +391,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.vin).to(equal(vin));
expect(testResponse.windowStatus).to(equal(windowStatus));
expect(testResponse.wiperStatus).to(equal(wiperStatus));
+ expect(testResponse.climateData).to(equal(climateData));
});
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m
index 7e452540e..c2b0b3681 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m
@@ -16,47 +16,52 @@ QuickSpecBegin(SDLGetVehicleDataSpec)
describe(@"getter/setter tests", ^{
context(@"init and assign", ^{
- SDLGetVehicleData* testRequest = [[SDLGetVehicleData alloc] init];
- testRequest.accPedalPosition = @YES;
- testRequest.airbagStatus = @YES;
- testRequest.beltStatus = @YES;
- testRequest.bodyInformation = @YES;
- testRequest.cloudAppVehicleID = @YES;
- testRequest.clusterModeStatus = @YES;
- testRequest.deviceStatus = @YES;
- testRequest.driverBraking = @YES;
- testRequest.eCallInfo = @YES;
- testRequest.electronicParkBrakeStatus = @YES;
- testRequest.emergencyEvent = @YES;
- testRequest.engineOilLife = @YES;
- testRequest.engineTorque = @YES;
- testRequest.externalTemperature = @YES;
+ __block SDLGetVehicleData *testRequest = nil;
+
+ beforeEach(^{
+ testRequest = [[SDLGetVehicleData alloc] init];
+ testRequest.accPedalPosition = @YES;
+ testRequest.airbagStatus = @YES;
+ testRequest.beltStatus = @YES;
+ testRequest.bodyInformation = @YES;
+ testRequest.cloudAppVehicleID = @YES;
+ testRequest.clusterModeStatus = @YES;
+ testRequest.deviceStatus = @YES;
+ testRequest.driverBraking = @YES;
+ testRequest.eCallInfo = @YES;
+ testRequest.electronicParkBrakeStatus = @YES;
+ testRequest.emergencyEvent = @YES;
+ testRequest.engineOilLife = @YES;
+ testRequest.engineTorque = @YES;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- testRequest.fuelLevel = @YES;
- testRequest.fuelLevel_State = @YES;
+ testRequest.externalTemperature = @YES;
+ testRequest.fuelLevel = @YES;
+ testRequest.fuelLevel_State = @YES;
#pragma clang diagnostic pop
- testRequest.fuelRange = @YES;
- testRequest.gearStatus = @YES;
- testRequest.gps = @YES;
- testRequest.handsOffSteering = @YES;
- testRequest.headLampStatus = @YES;
- testRequest.instantFuelConsumption = @YES;
- testRequest.myKey = @YES;
- testRequest.odometer = @YES;
+ testRequest.fuelRange = @YES;
+ testRequest.gearStatus = @YES;
+ testRequest.gps = @YES;
+ testRequest.handsOffSteering = @YES;
+ testRequest.headLampStatus = @YES;
+ testRequest.instantFuelConsumption = @YES;
+ testRequest.myKey = @YES;
+ testRequest.odometer = @YES;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- testRequest.prndl = @YES;
+ testRequest.prndl = @YES;
#pragma clang diagnostic pop
- testRequest.rpm = @YES;
- testRequest.seatOccupancy = @YES;
- testRequest.speed = @YES;
- testRequest.stabilityControlsStatus = @YES;
- testRequest.steeringWheelAngle = @YES;
- testRequest.tirePressure = @YES;
- testRequest.turnSignal = @YES;
- testRequest.windowStatus = @YES;
- testRequest.wiperStatus = @YES;
+ testRequest.rpm = @YES;
+ testRequest.seatOccupancy = @YES;
+ testRequest.speed = @YES;
+ testRequest.stabilityControlsStatus = @YES;
+ testRequest.steeringWheelAngle = @YES;
+ testRequest.tirePressure = @YES;
+ testRequest.turnSignal = @YES;
+ testRequest.windowStatus = @YES;
+ testRequest.wiperStatus = @YES;
+ testRequest.climateData = @YES;
+ });
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -72,9 +77,9 @@ describe(@"getter/setter tests", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic pop
@@ -99,10 +104,12 @@ describe(@"getter/setter tests", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(equal(@YES));
});
});
context(@"initWithDictionary:", ^{
+ __block SDLGetVehicleData *testRequest = nil;
NSDictionary<NSString *, id> *dict = @{SDLRPCParameterNameRequest:
@{SDLRPCParameterNameParameters:@{
SDLRPCParameterNameAccelerationPedalPosition:@YES,
@@ -145,9 +152,12 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameTurnSignal:@YES,
SDLRPCParameterNameWindowStatus:@YES,
SDLRPCParameterNameWiperStatus:@YES,
+ SDLRPCParameterNameClimateData:@YES
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetVehicleData}};
- SDLGetVehicleData* testRequest = [[SDLGetVehicleData alloc] initWithDictionary:dict];
+ beforeEach(^{
+ testRequest = [[SDLGetVehicleData alloc] initWithDictionary:dict];
+ });
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -163,9 +173,9 @@ describe(@"getter/setter tests", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic pop
@@ -190,13 +200,19 @@ describe(@"getter/setter tests", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(equal(@YES));
});
});
});
describe(@"initializers", ^{
context(@"init", ^{
- SDLGetVehicleData* testRequest = [[SDLGetVehicleData alloc] init];
+ __block SDLGetVehicleData *testRequest = nil;
+
+ beforeEach(^{
+ testRequest = [[SDLGetVehicleData alloc] init];
+ });
+
it(@"expect all properties to be nil", ^{
expect(testRequest.accPedalPosition).to(beNil());
expect(testRequest.airbagStatus).to(beNil());
@@ -211,9 +227,9 @@ describe(@"initializers", ^{
expect(testRequest.emergencyEvent).to(beNil());
expect(testRequest.engineOilLife).to(beNil());
expect(testRequest.engineTorque).to(beNil());
- expect(testRequest.externalTemperature).to(beNil());
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(beNil());
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -238,14 +254,19 @@ describe(@"initializers", ^{
expect(testRequest.turnSignal).to(beNil());
expect(testRequest.windowStatus).to(beNil());
expect(testRequest.wiperStatus).to(beNil());
+ expect(testRequest.climateData).to(beNil());
});
});
context(@"initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:cloudAppVehicleID:clusterModeStatus:deviceStatus:driverBraking:eCallInfo:emergencyEvent:engineOilLife:engineTorque:externalTemperature:fuelLevel:fuelLevelState:gps:headLampStatus:instantFuelConsumption:myKey:odometer:prndl:rpm:speed:steeringWheelAngle:tirePressure:wiperStatus:", ^{
+ __block SDLGetVehicleData *testRequest = nil;
+
+ beforeEach(^{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- SDLGetVehicleData *testRequest = [[SDLGetVehicleData alloc] initWithAccelerationPedalPosition:YES airbagStatus:YES beltStatus:YES bodyInformation:YES cloudAppVehicleID:YES clusterModeStatus:YES deviceStatus:YES driverBraking:YES eCallInfo:YES electronicParkBrakeStatus:YES emergencyEvent:YES engineOilLife:YES engineTorque:YES externalTemperature:YES fuelLevel:YES fuelLevelState:YES fuelRange:YES gps:YES headLampStatus:YES instantFuelConsumption:YES myKey:YES odometer:YES prndl:YES rpm:YES speed:YES steeringWheelAngle:YES tirePressure:YES turnSignal:YES vin:YES wiperStatus:YES];
+ testRequest = [[SDLGetVehicleData alloc] initWithAccelerationPedalPosition:YES airbagStatus:YES beltStatus:YES bodyInformation:YES cloudAppVehicleID:YES clusterModeStatus:YES deviceStatus:YES driverBraking:YES eCallInfo:YES electronicParkBrakeStatus:YES emergencyEvent:YES engineOilLife:YES engineTorque:YES externalTemperature:YES fuelLevel:YES fuelLevelState:YES fuelRange:YES gps:YES headLampStatus:YES instantFuelConsumption:YES myKey:YES odometer:YES prndl:YES rpm:YES speed:YES steeringWheelAngle:YES tirePressure:YES turnSignal:YES vin:YES wiperStatus:YES];
#pragma clang diagnostic pop
+ });
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -261,9 +282,9 @@ describe(@"initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic pop
@@ -288,14 +309,19 @@ describe(@"initializers", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(beNil());
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(beNil());
});
});
context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:", ^{
+ __block SDLGetVehicleData *testRequest = nil;
+
+ beforeEach(^{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- SDLGetVehicleData *testRequest = [[SDLGetVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES externalTemperature:@YES turnSignal:@YES vin:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES handsOffSteering:@YES windowStatus:@YES];
+ testRequest = [[SDLGetVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES externalTemperature:@YES turnSignal:@YES vin:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES handsOffSteering:@YES windowStatus:@YES];
#pragma clang diagnostic pop
+ });
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -311,9 +337,9 @@ describe(@"initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -338,11 +364,16 @@ describe(@"initializers", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(beNil());
});
});
- context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy:", ^{
- SDLGetVehicleData *testRequest = [[SDLGetVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES externalTemperature:@YES turnSignal:@YES vin:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES handsOffSteering:@YES windowStatus:@YES seatOccupancy:@YES];
+ context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy:", ^{
+ __block SDLGetVehicleData *testRequest = nil;
+
+ beforeEach(^{
+ testRequest = [[SDLGetVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES climateData:@YES turnSignal:@YES vin:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES windowStatus:@YES handsOffSteering:@YES seatOccupancy:@YES];
+ });
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -358,9 +389,9 @@ describe(@"initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(beNil());
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -385,13 +416,18 @@ describe(@"initializers", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(equal(@YES));
});
});
context(@"should set OEM Custom Vehicle Data", ^{
- SDLGetVehicleData* testRequest = [[SDLGetVehicleData alloc] init];
- [testRequest setOEMCustomVehicleData:@"OEMCustomVehicleData" withVehicleDataState:NO];
- [testRequest setOEMCustomVehicleData:@"OEMCustomVehicleData1" withVehicleDataState:YES];
+ __block SDLGetVehicleData *testRequest = nil;
+
+ beforeEach(^{
+ testRequest = [[SDLGetVehicleData alloc] init];
+ [testRequest setOEMCustomVehicleData:@"OEMCustomVehicleData" withVehicleDataState:NO];
+ [testRequest setOEMCustomVehicleData:@"OEMCustomVehicleData1" withVehicleDataState:YES];
+ });
it(@"expect OEM Custom Vehicle Data to be set properly", ^{
expect([testRequest getOEMCustomVehicleData:@"OEMCustomVehicleData"]).to(equal(@NO));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m
index 64e99235a..558bca573 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m
@@ -30,9 +30,9 @@ describe(@"getter/setter tests", ^{
testRequest.emergencyEvent = @YES;
testRequest.engineOilLife = @YES;
testRequest.engineTorque = @YES;
- testRequest.externalTemperature = @YES;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ testRequest.externalTemperature = @YES;
testRequest.fuelLevel = @YES;
testRequest.fuelLevel_State = @YES;
#pragma clang diagnostic pop
@@ -57,6 +57,7 @@ describe(@"getter/setter tests", ^{
testRequest.turnSignal = @YES;
testRequest.windowStatus = @YES;
testRequest.wiperStatus = @YES;
+ testRequest.climateData = @YES;
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -72,9 +73,9 @@ describe(@"getter/setter tests", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic pop
@@ -99,6 +100,7 @@ describe(@"getter/setter tests", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(equal(@YES));
});
});
@@ -145,6 +147,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameTurnSignal:@YES,
SDLRPCParameterNameWindowStatus:@YES,
SDLRPCParameterNameWiperStatus:@YES,
+ SDLRPCParameterNameClimateData:@YES,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSubscribeVehicleData}};
SDLSubscribeVehicleData* testRequest = [[SDLSubscribeVehicleData alloc] initWithDictionary:dict];
@@ -163,9 +166,9 @@ describe(@"getter/setter tests", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic pop
@@ -190,6 +193,7 @@ describe(@"getter/setter tests", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(equal(@YES));
});
});
});
@@ -212,9 +216,9 @@ describe(@"test initializers", ^{
expect(testRequest.emergencyEvent).to(beNil());
expect(testRequest.engineOilLife).to(beNil());
expect(testRequest.engineTorque).to(beNil());
- expect(testRequest.externalTemperature).to(beNil());
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(beNil());
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -239,6 +243,7 @@ describe(@"test initializers", ^{
expect(testRequest.turnSignal).to(beNil());
expect(testRequest.windowStatus).to(beNil());
expect(testRequest.wiperStatus).to(beNil());
+ expect(testRequest.climateData).to(beNil());
});
});
@@ -262,9 +267,9 @@ describe(@"test initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic pop
@@ -289,6 +294,7 @@ describe(@"test initializers", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(beNil());
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(beNil());
});
});
@@ -312,9 +318,9 @@ describe(@"test initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -339,11 +345,12 @@ describe(@"test initializers", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(beNil());
});
});
- context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy:", ^{
- SDLSubscribeVehicleData* testRequest = [[SDLSubscribeVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES externalTemperature:@YES turnSignal:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES handsOffSteering:@YES windowStatus:@YES seatOccupancy:@YES];
+ context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy:", ^{
+ SDLSubscribeVehicleData* testRequest = [[SDLSubscribeVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES climateData:@YES turnSignal:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES windowStatus:@YES handsOffSteering:@YES seatOccupancy:@YES];
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -359,9 +366,9 @@ describe(@"test initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(beNil());
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -386,6 +393,7 @@ describe(@"test initializers", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(equal(@YES));
});
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m
index 633882fa3..b2b52ad5e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m
@@ -30,9 +30,9 @@ describe(@"getter/setter tests", ^{
testRequest.emergencyEvent = @YES;
testRequest.engineOilLife = @YES;
testRequest.engineTorque = @YES;
- testRequest.externalTemperature = @YES;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ testRequest.externalTemperature = @YES;
testRequest.fuelLevel = @YES;
testRequest.fuelLevel_State = @YES;
#pragma clang diagnostic pop
@@ -57,6 +57,7 @@ describe(@"getter/setter tests", ^{
testRequest.turnSignal = @YES;
testRequest.windowStatus = @YES;
testRequest.wiperStatus = @YES;
+ testRequest.climateData = @YES;
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -72,9 +73,9 @@ describe(@"getter/setter tests", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic pop
@@ -98,6 +99,7 @@ describe(@"getter/setter tests", ^{
expect(testRequest.tirePressure).to(equal(@YES));
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(equal(@YES));
});
});
@@ -144,6 +146,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameTurnSignal:@YES,
SDLRPCParameterNameWindowStatus:@YES,
SDLRPCParameterNameWiperStatus:@YES,
+ SDLRPCParameterNameClimateData:@YES,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameUnsubscribeVehicleData}};
SDLUnsubscribeVehicleData* testRequest = [[SDLUnsubscribeVehicleData alloc] initWithDictionary:dict];
@@ -162,9 +165,9 @@ describe(@"getter/setter tests", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic pop
@@ -189,6 +192,7 @@ describe(@"getter/setter tests", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(equal(@YES));
});
});
});
@@ -211,9 +215,9 @@ describe(@"test initializers", ^{
expect(testRequest.emergencyEvent).to(beNil());
expect(testRequest.engineOilLife).to(beNil());
expect(testRequest.engineTorque).to(beNil());
- expect(testRequest.externalTemperature).to(beNil());
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(beNil());
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -238,6 +242,7 @@ describe(@"test initializers", ^{
expect(testRequest.turnSignal).to(beNil());
expect(testRequest.windowStatus).to(beNil());
expect(testRequest.wiperStatus).to(beNil());
+ expect(testRequest.climateData).to(beNil());
});
});
@@ -261,9 +266,9 @@ describe(@"test initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(equal(@YES));
expect(testRequest.fuelLevel_State).to(equal(@YES));
#pragma clang diagnostic push
@@ -287,11 +292,12 @@ describe(@"test initializers", ^{
expect(testRequest.tirePressure).to(equal(@YES));
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.climateData).to(beNil());
});
});
context (@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:", ^{
- SDLUnsubscribeVehicleData *testRequest = [[SDLUnsubscribeVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES externalTemperature:@YES turnSignal:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES handsOffSteering:@YES windowStatus:@YES];
+ SDLUnsubscribeVehicleData *testRequest = [[SDLUnsubscribeVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES externalTemperature:@YES turnSignal:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES handsOffSteering:@YES windowStatus:@YES];
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -307,9 +313,9 @@ describe(@"test initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(equal(@YES));
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic push
@@ -334,12 +340,15 @@ describe(@"test initializers", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
-
+ expect(testRequest.climateData).to(beNil());
});
});
- context (@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy:", ^{
- SDLUnsubscribeVehicleData *testRequest = [[SDLUnsubscribeVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES externalTemperature:@YES turnSignal:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES handsOffSteering:@YES windowStatus:@YES seatOccupancy:@YES];
+ context (@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy:", ^{
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ SDLUnsubscribeVehicleData *testRequest = [[SDLUnsubscribeVehicleData alloc] initWithGps:@YES speed:@YES rpm:@YES instantFuelConsumption:@YES fuelRange:@YES climateData:@YES turnSignal:@YES gearStatus:@YES tirePressure:@YES odometer:@YES beltStatus:@YES bodyInformation:@YES deviceStatus:@YES driverBraking:@YES wiperStatus:@YES headLampStatus:@YES engineTorque:@YES accPedalPosition:@YES steeringWheelAngle:@YES engineOilLife:@YES electronicParkBrakeStatus:@YES cloudAppVehicleID:@YES stabilityControlsStatus:@YES eCallInfo:@YES airbagStatus:@YES emergencyEvent:@YES clusterModeStatus:@YES myKey:@YES windowStatus:@YES handsOffSteering:@YES seatOccupancy:@YES];
+#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
@@ -355,9 +364,9 @@ describe(@"test initializers", ^{
expect(testRequest.emergencyEvent).to(equal(@YES));
expect(testRequest.engineOilLife).to(equal(@YES));
expect(testRequest.engineTorque).to(equal(@YES));
- expect(testRequest.externalTemperature).to(equal(@YES));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testRequest.externalTemperature).to(beNil());
expect(testRequest.fuelLevel).to(beNil());
expect(testRequest.fuelLevel_State).to(beNil());
#pragma clang diagnostic push
@@ -382,7 +391,7 @@ describe(@"test initializers", ^{
expect(testRequest.turnSignal).to(equal(@YES));
expect(testRequest.windowStatus).to(equal(@YES));
expect(testRequest.wiperStatus).to(equal(@YES));
-
+ expect(testRequest.climateData).to(equal(@YES));
});
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m
index c76d990c3..2c13dcd80 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m
@@ -50,6 +50,7 @@ SDLElectronicParkBrakeStatus electronicParkBrakeStatus = SDLElectronicParkBrakeS
const BOOL handsOffSteering = YES;
SDLStabilityControlsStatus *stabilityControlsStatus = [[SDLStabilityControlsStatus alloc] init];
NSArray<SDLWindowStatus *> *windowStatus = @[[[SDLWindowStatus alloc] init], [[SDLWindowStatus alloc] init]];
+SDLClimateData *climateData = [[SDLClimateData alloc] init];
SDLSeatOccupancy *seatOccupancy = [[SDLSeatOccupancy alloc] init];
describe(@"getter/setter tests", ^{
@@ -68,9 +69,9 @@ describe(@"getter/setter tests", ^{
testResponse.emergencyEvent = emergencyEvent;
testResponse.engineOilLife = @(engineOilLife);
testResponse.engineTorque = @(engineTorque);
- testResponse.externalTemperature = @(externalTemperature);
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ testResponse.externalTemperature = @(externalTemperature);
testResponse.fuelLevel = @(fuelLevel);
testResponse.fuelLevel_State = fuelLevel_State;
#pragma clang diagnostic pop
@@ -96,6 +97,7 @@ describe(@"getter/setter tests", ^{
testResponse.vin = vin;
testResponse.windowStatus = windowStatus;
testResponse.wiperStatus = wiperStatus;
+ testResponse.climateData = climateData;
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(@(accPedalPosition)));
@@ -111,9 +113,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(emergencyEvent));
expect(testResponse.engineOilLife).to(equal(@(engineOilLife)));
expect(testResponse.engineTorque).to(equal(@(engineTorque)));
- expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
expect(testResponse.fuelLevel).to(equal(@(fuelLevel)));
expect(testResponse.fuelLevel_State).to(equal(fuelLevel_State));
#pragma clang diagnostic pop
@@ -139,6 +141,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.vin).to(equal(vin));
expect(testResponse.windowStatus).to(equal(windowStatus));
expect(testResponse.wiperStatus).to(equal(wiperStatus));
+ expect(testResponse.climateData).to(equal(climateData));
});
});
@@ -186,6 +189,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameVIN:vin,
SDLRPCParameterNameWindowStatus:windowStatus,
SDLRPCParameterNameWiperStatus:wiperStatus,
+ SDLRPCParameterNameClimateData:climateData,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetVehicleData}};
SDLGetVehicleDataResponse* testResponse = [[SDLGetVehicleDataResponse alloc] initWithDictionary:dict];
@@ -204,9 +208,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(emergencyEvent));
expect(testResponse.engineOilLife).to(equal(@(engineOilLife)));
expect(testResponse.engineTorque).to(equal(@(engineTorque)));
- expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
expect(testResponse.fuelLevel).to(equal(@(fuelLevel)));
expect(testResponse.fuelLevel_State).to(equal(fuelLevel_State));
#pragma clang diagnostic pop
@@ -232,6 +236,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.vin).to(equal(vin));
expect(testResponse.windowStatus).to(equal(windowStatus));
expect(testResponse.wiperStatus).to(equal(wiperStatus));
+ expect(testResponse.climateData).to(equal(climateData));
});
});
@@ -251,9 +256,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(beNil());
expect(testResponse.engineOilLife).to(beNil());
expect(testResponse.engineTorque).to(beNil());
- expect(testResponse.externalTemperature).to(beNil());
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(beNil());
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -279,6 +284,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.vin).to(beNil());
expect(testResponse.windowStatus).to(beNil());
expect(testResponse.wiperStatus).to(beNil());
+ expect(testResponse.climateData).to(beNil());
});
});
@@ -298,9 +304,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(emergencyEvent));
expect(testResponse.engineOilLife).to(equal(@(engineOilLife)));
expect(testResponse.engineTorque).to(equal(@(engineTorque)));
- expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(externalTemperature));
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -325,12 +331,13 @@ describe(@"getter/setter tests", ^{
expect(testResponse.vin).to(equal(vin));
expect(testResponse.windowStatus).to(equal(windowStatus));
expect(testResponse.wiperStatus).to(equal(wiperStatus));
+ expect(testResponse.climateData).to(beNil());
});
});
context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:vin:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:handsOffSteering:windowStatus:seatOccupancy:", ^{
it(@"should set all properties properly", ^{
- SDLGetVehicleDataResponse *testResponse = [[SDLGetVehicleDataResponse alloc] initWithGps:gps speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:fuelRangeArray externalTemperature:@(externalTemperature) turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:@(odometer) beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:@(engineTorque) accPedalPosition:@(accPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey handsOffSteering:@(handsOffSteering) windowStatus:windowStatus seatOccupancy:seatOccupancy];
+ SDLGetVehicleDataResponse *testResponse = [[SDLGetVehicleDataResponse alloc] initWithGps:gps speed:@(speed) rpm:@(rpm) instantFuelConsumption:@(instantFuelConsumption) fuelRange:fuelRangeArray climateData:climateData turnSignal:turnSignal vin:vin gearStatus:gearStatus tirePressure:tirePressure odometer:@(odometer) beltStatus:beltStatus bodyInformation:bodyInformation deviceStatus:deviceStatus driverBraking:driverBraking wiperStatus:wiperStatus headLampStatus:headLampStatus engineTorque:@(engineTorque) accPedalPosition:@(accPedalPosition) steeringWheelAngle:@(steeringWheelAngle) engineOilLife:@(engineOilLife) electronicParkBrakeStatus:electronicParkBrakeStatus cloudAppVehicleID:cloudAppVehicleID stabilityControlsStatus:stabilityControlsStatus eCallInfo:eCallInfo airbagStatus:airbagStatus emergencyEvent:emergencyEvent clusterModeStatus:clusterModeStatus myKey:myKey windowStatus:windowStatus handsOffSteering:@(handsOffSteering) seatOccupancy:seatOccupancy];
expect(testResponse.accPedalPosition).to(equal(@(accPedalPosition)));
expect(testResponse.airbagStatus).to(equal(airbagStatus));
expect(testResponse.beltStatus).to(equal(beltStatus));
@@ -344,9 +351,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(emergencyEvent));
expect(testResponse.engineOilLife).to(equal(@(engineOilLife)));
expect(testResponse.engineTorque).to(equal(@(engineTorque)));
- expect(testResponse.externalTemperature).to(equal(@(externalTemperature)));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(beNil());
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m
index 10a7a34ef..6b3e7058e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m
@@ -36,9 +36,9 @@ describe(@"getter/setter tests", ^{
testResponse.emergencyEvent = vehicleDataResult;
testResponse.engineOilLife = vehicleDataResult;
testResponse.engineTorque = vehicleDataResult;
- testResponse.externalTemperature = vehicleDataResult;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ testResponse.externalTemperature = vehicleDataResult;
testResponse.fuelLevel = vehicleDataResult;
testResponse.fuelLevel_State = vehicleDataResult;
#pragma clang diagnostic pop
@@ -63,6 +63,7 @@ describe(@"getter/setter tests", ^{
testResponse.turnSignal = vehicleDataResult;
testResponse.windowStatus = vehicleDataResult;
testResponse.wiperStatus = vehicleDataResult;
+ testResponse.climateData = vehicleDataResult;
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
@@ -78,9 +79,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
expect(testResponse.engineOilLife).to(equal(vehicleDataResult));
expect(testResponse.engineTorque).to(equal(vehicleDataResult));
- expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
expect(testResponse.fuelLevel).to(equal(vehicleDataResult));
expect(testResponse.fuelLevel_State).to(equal(vehicleDataResult));
#pragma clang diagnostic pop
@@ -105,6 +106,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.turnSignal).to(equal(vehicleDataResult));
expect(testResponse.windowStatus).to(equal(vehicleDataResult));
expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.climateData).to(equal(vehicleDataResult));
});
});
@@ -151,6 +153,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameTurnSignal:vehicleDataResult,
SDLRPCParameterNameWindowStatus:vehicleDataResult,
SDLRPCParameterNameWiperStatus:vehicleDataResult,
+ SDLRPCParameterNameClimateData:vehicleDataResult,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSubscribeVehicleData}};
@@ -170,9 +173,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
expect(testResponse.engineOilLife).to(equal(vehicleDataResult));
expect(testResponse.engineTorque).to(equal(vehicleDataResult));
- expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
expect(testResponse.fuelLevel).to(equal(vehicleDataResult));
expect(testResponse.fuelLevel_State).to(equal(vehicleDataResult));
#pragma clang diagnostic pop
@@ -197,6 +200,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.turnSignal).to(equal(vehicleDataResult));
expect(testResponse.windowStatus).to(equal(vehicleDataResult));
expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.climateData).to(equal(vehicleDataResult));
});
});
@@ -217,9 +221,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(beNil());
expect(testResponse.engineOilLife).to(beNil());
expect(testResponse.engineTorque).to(beNil());
- expect(testResponse.externalTemperature).to(beNil());
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(beNil());
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -244,6 +248,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.turnSignal).to(beNil());
expect(testResponse.windowStatus).to(beNil());
expect(testResponse.wiperStatus).to(beNil());
+ expect(testResponse.climateData).to(beNil());
});
});
@@ -267,9 +272,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
expect(testResponse.engineOilLife).to(equal(vehicleDataResult));
expect(testResponse.engineTorque).to(equal(vehicleDataResult));
- expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -297,9 +302,10 @@ describe(@"getter/setter tests", ^{
});
});
- context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:handsOffSteering:windowStatus:seatOccupancy:", ^{
+ context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:windowStatus:handsOffSteering:seatOccupancy:", ^{
+ SDLSubscribeVehicleDataResponse *testResponse = [[SDLSubscribeVehicleDataResponse alloc] initWithGps:vehicleDataResult speed:vehicleDataResult rpm:vehicleDataResult instantFuelConsumption:vehicleDataResult fuelRange:vehicleDataResult climateData:vehicleDataResult turnSignal:vehicleDataResult gearStatus:vehicleDataResult tirePressure:vehicleDataResult odometer:vehicleDataResult beltStatus:vehicleDataResult bodyInformation:vehicleDataResult deviceStatus:vehicleDataResult driverBraking:vehicleDataResult wiperStatus:vehicleDataResult headLampStatus:vehicleDataResult engineTorque:vehicleDataResult accPedalPosition:vehicleDataResult steeringWheelAngle:vehicleDataResult engineOilLife:vehicleDataResult electronicParkBrakeStatus:vehicleDataResult cloudAppVehicleID:vehicleDataResult stabilityControlsStatus:vehicleDataResult eCallInfo:vehicleDataResult airbagStatus:vehicleDataResult emergencyEvent:vehicleDataResult clusterModes:vehicleDataResult myKey:vehicleDataResult windowStatus:vehicleDataResult handsOffSteering:vehicleDataResult seatOccupancy:vehicleDataResult];
+
it(@"expect all properties to be set properly", ^{
- SDLSubscribeVehicleDataResponse *testResponse = [[SDLSubscribeVehicleDataResponse alloc] initWithGps:vehicleDataResult speed:vehicleDataResult rpm:vehicleDataResult instantFuelConsumption:vehicleDataResult fuelRange:vehicleDataResult externalTemperature:vehicleDataResult turnSignal:vehicleDataResult gearStatus:vehicleDataResult tirePressure:vehicleDataResult odometer:vehicleDataResult beltStatus:vehicleDataResult bodyInformation:vehicleDataResult deviceStatus:vehicleDataResult driverBraking:vehicleDataResult wiperStatus:vehicleDataResult headLampStatus:vehicleDataResult engineTorque:vehicleDataResult accPedalPosition:vehicleDataResult steeringWheelAngle:vehicleDataResult engineOilLife:vehicleDataResult electronicParkBrakeStatus:vehicleDataResult cloudAppVehicleID:vehicleDataResult stabilityControlsStatus:vehicleDataResult eCallInfo:vehicleDataResult airbagStatus:vehicleDataResult emergencyEvent:vehicleDataResult clusterModes:vehicleDataResult myKey:vehicleDataResult handsOffSteering:vehicleDataResult windowStatus:vehicleDataResult seatOccupancy:vehicleDataResult];
expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
expect(testResponse.airbagStatus).to(equal(vehicleDataResult));
expect(testResponse.beltStatus).to(equal(vehicleDataResult));
@@ -313,9 +319,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
expect(testResponse.engineOilLife).to(equal(vehicleDataResult));
expect(testResponse.engineTorque).to(equal(vehicleDataResult));
- expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(beNil());
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -340,6 +346,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.turnSignal).to(equal(vehicleDataResult));
expect(testResponse.windowStatus).to(equal(vehicleDataResult));
expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.climateData).to(equal(vehicleDataResult));
});
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m
index 42296ac64..b2b2561e0 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m
@@ -35,9 +35,9 @@ describe(@"getter/setter tests", ^{
testResponse.emergencyEvent = vehicleDataResult;
testResponse.engineOilLife = vehicleDataResult;
testResponse.engineTorque = vehicleDataResult;
- testResponse.externalTemperature = vehicleDataResult;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ testResponse.externalTemperature = vehicleDataResult;
testResponse.fuelLevel = vehicleDataResult;
testResponse.fuelLevel_State = vehicleDataResult;
#pragma clang diagnostic pop
@@ -62,6 +62,7 @@ describe(@"getter/setter tests", ^{
testResponse.turnSignal = vehicleDataResult;
testResponse.windowStatus = vehicleDataResult;
testResponse.wiperStatus = vehicleDataResult;
+ testResponse.climateData = vehicleDataResult;
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
@@ -77,9 +78,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
expect(testResponse.engineOilLife).to(equal(vehicleDataResult));
expect(testResponse.engineTorque).to(equal(vehicleDataResult));
- expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
expect(testResponse.fuelLevel).to(equal(vehicleDataResult));
expect(testResponse.fuelLevel_State).to(equal(vehicleDataResult));
#pragma clang diagnostic pop
@@ -104,6 +105,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.turnSignal).to(equal(vehicleDataResult));
expect(testResponse.windowStatus).to(equal(vehicleDataResult));
expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.climateData).to(equal(vehicleDataResult));
});
});
@@ -150,6 +152,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameTurnSignal:vehicleDataResult,
SDLRPCParameterNameWindowStatus:vehicleDataResult,
SDLRPCParameterNameWiperStatus:vehicleDataResult,
+ SDLRPCParameterNameClimateData:vehicleDataResult,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameUnsubscribeVehicleData}};
SDLUnsubscribeVehicleDataResponse* testResponse = [[SDLUnsubscribeVehicleDataResponse alloc] initWithDictionary:dict];
@@ -195,6 +198,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.turnSignal).to(equal(vehicleDataResult));
expect(testResponse.windowStatus).to(equal(vehicleDataResult));
expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.climateData).to(equal(vehicleDataResult));
});
});
@@ -242,10 +246,12 @@ describe(@"getter/setter tests", ^{
expect(testResponse.turnSignal).to(beNil());
expect(testResponse.windowStatus).to(beNil());
expect(testResponse.wiperStatus).to(beNil());
+ expect(testResponse.climateData).to(beNil());
});
});
context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:handsOffSteering:windowStatus:", ^{
+
it(@"expect all properties to be set properly", ^{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
@@ -294,10 +300,13 @@ describe(@"getter/setter tests", ^{
});
});
- context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:externalTemperature:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:handsOffSteering:windowStatus:seatOccupancy:", ^{
- it(@"expect all properties to be set properly", ^{
- SDLUnsubscribeVehicleDataResponse* testResponse = [[SDLUnsubscribeVehicleDataResponse alloc] initWithGps:vehicleDataResult speed:vehicleDataResult rpm:vehicleDataResult instantFuelConsumption:vehicleDataResult fuelRange:vehicleDataResult externalTemperature:vehicleDataResult turnSignal:vehicleDataResult gearStatus:vehicleDataResult tirePressure:vehicleDataResult odometer:vehicleDataResult beltStatus:vehicleDataResult bodyInformation:vehicleDataResult deviceStatus:vehicleDataResult driverBraking:vehicleDataResult wiperStatus:vehicleDataResult headLampStatus:vehicleDataResult engineTorque:vehicleDataResult accPedalPosition:vehicleDataResult steeringWheelAngle:vehicleDataResult engineOilLife:vehicleDataResult electronicParkBrakeStatus:vehicleDataResult cloudAppVehicleID:vehicleDataResult stabilityControlsStatus:vehicleDataResult eCallInfo:vehicleDataResult airbagStatus:vehicleDataResult emergencyEvent:vehicleDataResult clusterModes:vehicleDataResult myKey:vehicleDataResult handsOffSteering:vehicleDataResult windowStatus:vehicleDataResult seatOccupancy:vehicleDataResult];
+ context(@"initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModes:myKey:windowStatus:handsOffSteering:seatOccupancy:", ^{
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ SDLUnsubscribeVehicleDataResponse* testResponse = [[SDLUnsubscribeVehicleDataResponse alloc] initWithGps:vehicleDataResult speed:vehicleDataResult rpm:vehicleDataResult instantFuelConsumption:vehicleDataResult fuelRange:vehicleDataResult climateData:vehicleDataResult turnSignal:vehicleDataResult gearStatus:vehicleDataResult tirePressure:vehicleDataResult odometer:vehicleDataResult beltStatus:vehicleDataResult bodyInformation:vehicleDataResult deviceStatus:vehicleDataResult driverBraking:vehicleDataResult wiperStatus:vehicleDataResult headLampStatus:vehicleDataResult engineTorque:vehicleDataResult accPedalPosition:vehicleDataResult steeringWheelAngle:vehicleDataResult engineOilLife:vehicleDataResult electronicParkBrakeStatus:vehicleDataResult cloudAppVehicleID:vehicleDataResult stabilityControlsStatus:vehicleDataResult eCallInfo:vehicleDataResult airbagStatus:vehicleDataResult emergencyEvent:vehicleDataResult clusterModes:vehicleDataResult myKey:vehicleDataResult windowStatus:vehicleDataResult handsOffSteering:vehicleDataResult seatOccupancy:vehicleDataResult];
+#pragma clang diagnostic pop
+ it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
expect(testResponse.airbagStatus).to(equal(vehicleDataResult));
expect(testResponse.beltStatus).to(equal(vehicleDataResult));
@@ -311,9 +320,9 @@ describe(@"getter/setter tests", ^{
expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
expect(testResponse.engineOilLife).to(equal(vehicleDataResult));
expect(testResponse.engineTorque).to(equal(vehicleDataResult));
- expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testResponse.externalTemperature).to(beNil());
expect(testResponse.fuelLevel).to(beNil());
expect(testResponse.fuelLevel_State).to(beNil());
#pragma clang diagnostic pop
@@ -337,6 +346,7 @@ describe(@"getter/setter tests", ^{
expect(testResponse.turnSignal).to(equal(vehicleDataResult));
expect(testResponse.windowStatus).to(equal(vehicleDataResult));
expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.climateData).to(equal(vehicleDataResult));
});
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateDataSpec.m
new file mode 100644
index 000000000..22056d2da
--- /dev/null
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateDataSpec.m
@@ -0,0 +1,73 @@
+//
+// SDLClimateControlDataSpec.m
+// SmartDeviceLink-iOS
+//
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLClimateData.h"
+#import "SDLTemperature.h"
+#import "SDLDefrostZone.h"
+#import "SDLVentilationMode.h"
+#import "SDLRPCParameterNames.h"
+
+QuickSpecBegin(SDLClimateDataSpec)
+
+describe(@"Getter/Setter Tests", ^{
+ SDLTemperature *externalTemperature = [[SDLTemperature alloc] init];
+ SDLTemperature *cabinTemperature = [[SDLTemperature alloc] init];
+ NSNumber<SDLFloat> *atmosphericPressure = @(123.45);
+
+ context(@"allocate new struct", ^{
+ SDLClimateData* testStruct = [[SDLClimateData alloc] init];
+
+ it(@"expect all values to be nil", ^{
+ expect(testStruct.externalTemperature).to(beNil());
+ expect(testStruct.cabinTemperature).to(beNil());
+ expect(testStruct.atmosphericPressure).to(beNil());
+ });
+ });
+
+ context(@"allocate and init new struct", ^{
+ SDLClimateData* testStruct = [[SDLClimateData alloc] initWithExternalTemperature:externalTemperature cabinTemperature:cabinTemperature atmosphericPressure:atmosphericPressure];
+
+ it(@"expect all properties to be equal to their initial values", ^{
+ expect(testStruct.externalTemperature).to(equal(externalTemperature));
+ expect(testStruct.cabinTemperature).to(equal(cabinTemperature));
+ expect(testStruct.atmosphericPressure).to(equal(atmosphericPressure));
+ });
+ });
+
+ context(@"allocate new struct and set it up", ^{
+ SDLClimateData* testStruct = [[SDLClimateData alloc] init];
+ testStruct.externalTemperature = externalTemperature;
+ testStruct.cabinTemperature = cabinTemperature;
+ testStruct.atmosphericPressure = atmosphericPressure;
+
+ it(@"expect all properties to be equal to their initial values", ^{
+ expect(testStruct.externalTemperature).to(equal(externalTemperature));
+ expect(testStruct.cabinTemperature).to(equal(cabinTemperature));
+ expect(testStruct.atmosphericPressure).to(equal(atmosphericPressure));
+ });
+ });
+
+ context(@"allocate and init new struct with a dictionary", ^{
+ NSDictionary *dict = @{
+ SDLRPCParameterNameExternalTemperature: externalTemperature,
+ SDLRPCParameterNameCabinTemperature: cabinTemperature,
+ SDLRPCParameterNameAtmosphericPressure: atmosphericPressure,
+ };
+ SDLClimateData* testStruct = [[SDLClimateData alloc] initWithDictionary:dict];
+
+ it(@"expect all properties to be equal to their initial values", ^{
+ expect(testStruct.externalTemperature).to(equal(externalTemperature));
+ expect(testStruct.cabinTemperature).to(equal(cabinTemperature));
+ expect(testStruct.atmosphericPressure).to(equal(atmosphericPressure));
+ });
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
index 349b26ec1..1c9b135c0 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
@@ -236,6 +236,22 @@ describe(@"additional tests", ^{
});
});
+ it(@"Should initialize correctly with initWithPreferredResolution:maxBitrate:supportedFormats:hapticDataSupported:diagonalScreenSize:pixelPerInch:scale", ^ {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ SDLVideoStreamingCapability *testStruct = [[SDLVideoStreamingCapability alloc] initWithPreferredResolution:testPreferredResolution maxBitrate:testMaxBitrate supportedFormats:testVideoStreamingFormats hapticDataSupported:testHapticDataSupported diagonalScreenSize:testDiagonalScreenSize pixelPerInch:testPixelPerInch scale:testScale];
+#pragma clang diagnostic pop
+
+ expect(testStruct.preferredResolution).to(equal(testPreferredResolution));
+ expect(testStruct.maxBitrate).to(equal(testMaxBitrate));
+ expect(testStruct.supportedFormats).to(equal(testVideoStreamingFormats));
+ expect(testStruct.hapticSpatialDataSupported).to(equal(testHapticDataSupported));
+ expect(testStruct.diagonalScreenSize).to(equal(testDiagonalScreenSize));
+ expect(testStruct.pixelPerInch).to(equal(testPixelPerInch));
+ expect(testStruct.scale).to(equal(testScale));
+ expect(testStruct.preferredFPS).to(beNil());
+ });
+
it(@"Should initialize correctly with initWithPreferredResolution:maxBitrate:supportedFormats:hapticDataSupported:diagonalScreenSize:pixelPerInch:scale:preferredFPS", ^ {
SDLVideoStreamingCapability *testStruct = [[SDLVideoStreamingCapability alloc] initWithPreferredResolution:testPreferredResolution maxBitrate:@(testMaxBitrate) supportedFormats:testVideoStreamingFormats hapticSpatialDataSupported:@(testHapticDataSupported) diagonalScreenSize:@(testDiagonalScreenSize) pixelPerInch:@(testPixelPerInch) scale:@(testScale) preferredFPS:@(testPreferredFPS)];
diff --git a/SmartDeviceLinkTests/SDLCarWindowSpec.m b/SmartDeviceLinkTests/SDLCarWindowSpec.m
index 4e6555ae5..f90dd4d53 100644
--- a/SmartDeviceLinkTests/SDLCarWindowSpec.m
+++ b/SmartDeviceLinkTests/SDLCarWindowSpec.m
@@ -125,7 +125,7 @@ describe(@"test car window", ^{
streamingLifecycleManager.videoScaleManager.displayViewportResolution = CGSizeMake(100, 200);
SDLImageResolution *imgResolution = [[SDLImageResolution alloc] initWithWidth:200 height:300];
const float scale = 2.0;
- SDLVideoStreamingCapability *videoStreamingCapability = [[SDLVideoStreamingCapability alloc] initWithPreferredResolution:imgResolution maxBitrate:0 supportedFormats:nil hapticDataSupported:NO diagonalScreenSize:2.5 pixelPerInch:300 scale:scale];
+ SDLVideoStreamingCapability *videoStreamingCapability = [[SDLVideoStreamingCapability alloc] initWithPreferredResolution:imgResolution maxBitrate:nil supportedFormats:nil hapticSpatialDataSupported:nil diagonalScreenSize:@(2.5) pixelPerInch:@(300) scale:@(scale) preferredFPS:nil];
[streamingLifecycleManager sdl_applyVideoCapability:videoStreamingCapability];
@@ -145,7 +145,7 @@ describe(@"test car window", ^{
expect(CGSizeEqualToSize(scaledSize, rootViewController.view.frame.size)).to(beTrue());
SDLImageResolution *resolution = nil;
- SDLVideoStreamingCapability *videoStreamingCapability2 = [[SDLVideoStreamingCapability alloc] initWithPreferredResolution:resolution maxBitrate:999 supportedFormats:nil hapticDataSupported:YES diagonalScreenSize:2.2 pixelPerInch:100 scale:1];
+ SDLVideoStreamingCapability *videoStreamingCapability2 = [[SDLVideoStreamingCapability alloc] initWithPreferredResolution:resolution maxBitrate:@(999) supportedFormats:nil hapticSpatialDataSupported:@YES diagonalScreenSize:@(2.2) pixelPerInch:@(100) scale:@(1) preferredFPS:nil];
[carWindow updateVideoStreamingCapability:videoStreamingCapability2];
// the size should not change
expect(CGSizeEqualToSize(scaledSize, rootViewController.view.frame.size)).to(beTrue());
diff --git a/carthage-build.sh b/carthage-build.sh
index c50df1cba..c50df1cba 100644..100755
--- a/carthage-build.sh
+++ b/carthage-build.sh