summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/project.pbxproj16
-rw-r--r--SmartDeviceLink/SDLButtonPress.h7
-rw-r--r--SmartDeviceLink/SDLButtonPress.m9
-rw-r--r--SmartDeviceLink/SDLGetInteriorVehicleData.h13
-rwxr-xr-xSmartDeviceLink/SDLGetInteriorVehicleData.m9
-rw-r--r--SmartDeviceLink/SDLRPCParameterNames.h8
-rw-r--r--SmartDeviceLink/SDLRPCParameterNames.m4
-rw-r--r--SmartDeviceLink/SDLSeatLocation.h26
-rw-r--r--SmartDeviceLink/SDLSeatLocation.m25
-rw-r--r--SmartDeviceLink/SDLSeatLocationCapability.h46
-rw-r--r--SmartDeviceLink/SDLSeatLocationCapability.m52
-rwxr-xr-xSmartDeviceLink/SDLSystemCapabilityType.h5
-rwxr-xr-xSmartDeviceLink/SDLSystemCapabilityType.m1
13 files changed, 217 insertions, 4 deletions
diff --git a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
index a7647dd20..f98c4f1b5 100644
--- a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
+++ b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
@@ -11,6 +11,10 @@
0055412722D40DAB003194D3 /* SDLModuleInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 0055412522D40DAB003194D3 /* SDLModuleInfo.m */; };
0055412A22D5DC0B003194D3 /* SDLGrid.h in Headers */ = {isa = PBXBuildFile; fileRef = 0055412822D5DC0B003194D3 /* SDLGrid.h */; settings = {ATTRIBUTES = (Public, ); }; };
0055412B22D5DC0B003194D3 /* SDLGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 0055412922D5DC0B003194D3 /* SDLGrid.m */; };
+ 0055412E22D759BD003194D3 /* SDLSeatLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0055412C22D759BC003194D3 /* SDLSeatLocation.h */; };
+ 0055412F22D759BD003194D3 /* SDLSeatLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0055412D22D759BC003194D3 /* SDLSeatLocation.m */; };
+ 0055413222D75A7B003194D3 /* SDLSeatLocationCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = 0055413022D75A7A003194D3 /* SDLSeatLocationCapability.h */; };
+ 0055413322D75A7B003194D3 /* SDLSeatLocationCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = 0055413122D75A7B003194D3 /* SDLSeatLocationCapability.m */; };
162E82CA1A9BDE8A00906325 /* SDLAmbientLightStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81E21A9BDE8A00906325 /* SDLAmbientLightStatusSpec.m */; };
162E82CB1A9BDE8A00906325 /* SDLAppHMITypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81E31A9BDE8A00906325 /* SDLAppHMITypeSpec.m */; };
162E82CC1A9BDE8A00906325 /* SDLAppInterfaceUnregisteredReasonSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81E41A9BDE8A00906325 /* SDLAppInterfaceUnregisteredReasonSpec.m */; };
@@ -1639,6 +1643,10 @@
0055412522D40DAB003194D3 /* SDLModuleInfo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLModuleInfo.m; sourceTree = "<group>"; };
0055412822D5DC0B003194D3 /* SDLGrid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLGrid.h; sourceTree = "<group>"; };
0055412922D5DC0B003194D3 /* SDLGrid.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLGrid.m; sourceTree = "<group>"; };
+ 0055412C22D759BC003194D3 /* SDLSeatLocation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLSeatLocation.h; sourceTree = "<group>"; };
+ 0055412D22D759BC003194D3 /* SDLSeatLocation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLSeatLocation.m; sourceTree = "<group>"; };
+ 0055413022D75A7A003194D3 /* SDLSeatLocationCapability.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLSeatLocationCapability.h; sourceTree = "<group>"; };
+ 0055413122D75A7B003194D3 /* SDLSeatLocationCapability.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLSeatLocationCapability.m; sourceTree = "<group>"; };
162E81E21A9BDE8A00906325 /* SDLAmbientLightStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAmbientLightStatusSpec.m; sourceTree = "<group>"; };
162E81E31A9BDE8A00906325 /* SDLAppHMITypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAppHMITypeSpec.m; sourceTree = "<group>"; };
162E81E41A9BDE8A00906325 /* SDLAppInterfaceUnregisteredReasonSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAppInterfaceUnregisteredReasonSpec.m; sourceTree = "<group>"; };
@@ -4605,6 +4613,10 @@
0055412522D40DAB003194D3 /* SDLModuleInfo.m */,
0055412822D5DC0B003194D3 /* SDLGrid.h */,
0055412922D5DC0B003194D3 /* SDLGrid.m */,
+ 0055412C22D759BC003194D3 /* SDLSeatLocation.h */,
+ 0055412D22D759BC003194D3 /* SDLSeatLocation.m */,
+ 0055413022D75A7A003194D3 /* SDLSeatLocationCapability.h */,
+ 0055413122D75A7B003194D3 /* SDLSeatLocationCapability.m */,
);
name = Structs;
sourceTree = "<group>";
@@ -6252,6 +6264,7 @@
1EB59CAF202D97AC00343A61 /* SDLMassageCushionFirmness.h in Headers */,
1EAA470B2032BAE5000FE74B /* SDLOnRCStatus.h in Headers */,
2BF2F84F20ED004000A26EF2 /* SDLAudioStreamingIndicator.h in Headers */,
+ 0055412E22D759BD003194D3 /* SDLSeatLocation.h in Headers */,
1EAA475120356CD2000FE74B /* SDLDistanceUnit.h in Headers */,
1EAA4755203583BC000FE74B /* SDLHMISettingsControlData.h in Headers */,
1EAA4731203442C0000FE74B /* SDLLightName.h in Headers */,
@@ -6404,6 +6417,7 @@
5D61FC451A84238C00846EE7 /* SDLAudioPassThruCapabilities.h in Headers */,
5D61FDC71A84238C00846EE7 /* SDLTextAlignment.h in Headers */,
5D61FD051A84238C00846EE7 /* SDLOnButtonPress.h in Headers */,
+ 0055413222D75A7B003194D3 /* SDLSeatLocationCapability.h in Headers */,
5DA150C72271FDC20032928D /* SDLSoftButtonTransitionOperation.h in Headers */,
5D61FCC51A84238C00846EE7 /* SDLHMIZoneCapabilities.h in Headers */,
884AF94F220B488900E22928 /* SDLOnSystemCapabilityUpdated.h in Headers */,
@@ -7338,6 +7352,7 @@
5D61FDDE1A84238C00846EE7 /* SDLTTSChunk.m in Sources */,
5D61FD9E1A84238C00846EE7 /* SDLSliderResponse.m in Sources */,
1EAA47462035623B000FE74B /* SDLLightControlData.m in Sources */,
+ 0055412F22D759BD003194D3 /* SDLSeatLocation.m in Sources */,
5D61FC5C1A84238C00846EE7 /* SDLChangeRegistration.m in Sources */,
5D1665C91CF8CA3D00CC4CA1 /* SDLPermissionFilter.m in Sources */,
5D61FDBA1A84238C00846EE7 /* SDLSyncPDataResponse.m in Sources */,
@@ -7415,6 +7430,7 @@
E9C32B9F1AB20C5900F283AF /* EAAccessoryManager+SDLProtocols.m in Sources */,
756C62772289F11F008B57A2 /* SDLDynamicMenuUpdateRunScore.m in Sources */,
5D61FDA81A84238C00846EE7 /* SDLSpeakResponse.m in Sources */,
+ 0055413322D75A7B003194D3 /* SDLSeatLocationCapability.m in Sources */,
5DB92D331AC9C8BA00C15BB0 /* SDLRPCStruct.m in Sources */,
1EAA474220355FF3000FE74B /* SDLLightControlCapabilities.m in Sources */,
8B7B31A31F2F7FEA00BDC38D /* SDLVideoStreamingFormat.m in Sources */,
diff --git a/SmartDeviceLink/SDLButtonPress.h b/SmartDeviceLink/SDLButtonPress.h
index b019b4edd..14b9a1a62 100644
--- a/SmartDeviceLink/SDLButtonPress.h
+++ b/SmartDeviceLink/SDLButtonPress.h
@@ -24,6 +24,13 @@ NS_ASSUME_NONNULL_BEGIN
@property (strong, nonatomic) SDLModuleType moduleType;
/**
+ * Information about a RC module, including its id.
+ *
+ * SDLModuleInfo
+ */
+@property (strong, nonatomic) NSString *moduleId;
+
+/**
* The name of supported RC climate or radio button.
*
*/
diff --git a/SmartDeviceLink/SDLButtonPress.m b/SmartDeviceLink/SDLButtonPress.m
index f79152830..8311eb235 100644
--- a/SmartDeviceLink/SDLButtonPress.m
+++ b/SmartDeviceLink/SDLButtonPress.m
@@ -59,5 +59,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_enumForName:SDLRPCParameterNameButtonPressMode error:&error];
}
+- (void)setModuleId:(NSString *)moduleId {
+ [self.store sdl_setObject:moduleId forName:SDLRPCParameterNameModuleId];
+}
+
+- (NSString *)moduleId {
+ NSError *error = nil;
+ return [self.store sdl_objectForName:SDLRPCParameterNameModuleId ofClass:NSString.class error:&error];
+}
+
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLGetInteriorVehicleData.h b/SmartDeviceLink/SDLGetInteriorVehicleData.h
index 01d208f71..567327667 100644
--- a/SmartDeviceLink/SDLGetInteriorVehicleData.h
+++ b/SmartDeviceLink/SDLGetInteriorVehicleData.h
@@ -4,6 +4,7 @@
#import "SDLRPCRequest.h"
#import "SDLModuleType.h"
+#import "SDLModuleInfo.h"
/**
* Reads the current status value of specified remote control module (type).
@@ -30,8 +31,16 @@ NS_ASSUME_NONNULL_BEGIN
@property (strong, nonatomic) SDLModuleType moduleType;
/**
- * If subscribe is true, the head unit will register onInteriorVehicleData notifications for the requested moduelType.
- * If subscribe is false, the head unit will unregister onInteriorVehicleData notifications for the requested moduelType.
+ * Information about a RC module, including its id.
+ *
+ * SDLModuleInfo
+ */
+@property (strong, nonatomic) NSString *moduleId;
+
+/**
+ * If subscribe is true, the head unit will register OnInteriorVehicleData notifications for the requested module (moduleId and moduleType).
+ * If subscribe is false, the head unit will unregister OnInteriorVehicleData notifications for the requested module (moduleId and moduleType).
+ * If subscribe is not included, the subscription status of the app for the requested module (moduleId and moduleType) will remain unchanged.
*
* optional, Boolean, default Value = false
*/
diff --git a/SmartDeviceLink/SDLGetInteriorVehicleData.m b/SmartDeviceLink/SDLGetInteriorVehicleData.m
index 4f283fb49..f3fe5726f 100755
--- a/SmartDeviceLink/SDLGetInteriorVehicleData.m
+++ b/SmartDeviceLink/SDLGetInteriorVehicleData.m
@@ -72,6 +72,15 @@ NS_ASSUME_NONNULL_BEGIN
return [self.parameters sdl_objectForName:SDLRPCParameterNameSubscribe ofClass:NSNumber.class error:nil];
}
+- (void)setModuleId:(NSString *)moduleId {
+ [self.store sdl_setObject:moduleId forName:SDLRPCParameterNameModuleId];
+}
+
+- (NSString *)moduleId {
+ NSError *error = nil;
+ return [self.store sdl_objectForName:SDLRPCParameterNameModuleId ofClass:NSString.class error:&error];
+}
+
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLRPCParameterNames.h b/SmartDeviceLink/SDLRPCParameterNames.h
index caf07e023..291ea10f0 100644
--- a/SmartDeviceLink/SDLRPCParameterNames.h
+++ b/SmartDeviceLink/SDLRPCParameterNames.h
@@ -84,6 +84,9 @@ extern SDLRPCParameterName const SDLRPCParameterNameButtonEventMode;
extern SDLRPCParameterName const SDLRPCParameterNameButtonName;
extern SDLRPCParameterName const SDLRPCParameterNameButtonPressMode;
extern SDLRPCParameterName const SDLRPCParameterNameColor;
+extern SDLRPCParameterName const SDLRPCParameterNameCol;
+extern SDLRPCParameterName const SDLRPCParameterNameColSpan;
+extern SDLRPCParameterName const SDLRPCParameterNameColumns;
extern SDLRPCParameterName const SDLRPCParameterNameCoolingEnabled;
extern SDLRPCParameterName const SDLRPCParameterNameCoolingEnabledAvailable;
extern SDLRPCParameterName const SDLRPCParameterNameCoolingLevel;
@@ -105,8 +108,6 @@ extern SDLRPCParameterName const SDLRPCParameterNameClimateControlCapabilities;
extern SDLRPCParameterName const SDLRPCParameterNameCloudCover;
extern SDLRPCParameterName const SDLRPCParameterNameClusterModes;
extern SDLRPCParameterName const SDLRPCParameterNameClusterModeStatus;
-extern SDLRPCParameterName const SDLRPCParameterNameCol;
-extern SDLRPCParameterName const SDLRPCParameterNameColSpan;
extern SDLRPCParameterName const SDLRPCParameterNameCommandIcon;
extern SDLRPCParameterName const SDLRPCParameterNameCommandId;
extern SDLRPCParameterName const SDLRPCParameterNameCompassDirection;
@@ -217,6 +218,7 @@ extern SDLRPCParameterName const SDLRPCParameterNameGPS;
extern SDLRPCParameterName const SDLRPCParameterNameGraphic;
extern SDLRPCParameterName const SDLRPCParameterNameGraphicSupported;
extern SDLRPCParameterName const SDLRPCParameterNameGreen;
+extern SDLRPCParameterName const SDLRPCParameterNameGrid;
extern SDLRPCParameterName const SDLRPCParameterNameHandledRPCs;
extern SDLRPCParameterName const SDLRPCParameterNameHapticRectData;
extern SDLRPCParameterName const SDLRPCParameterNameHapticSpatialDataSupported;
@@ -308,6 +310,7 @@ extern SDLRPCParameterName const SDLRPCParameterNameLeftRow2BuckleBelted;
extern SDLRPCParameterName const SDLRPCParameterNameLeftRow3BuckleBelted;
extern SDLRPCParameterName const SDLRPCParameterNameLength;
extern SDLRPCParameterName const SDLRPCParameterNameLevel;
+extern SDLRPCParameterName const SDLRPCParameterNameLevels;
extern SDLRPCParameterName const SDLRPCParameterNameLevelSpan;
extern SDLRPCParameterName const SDLRPCParameterNameLightControlCapabilities;
extern SDLRPCParameterName const SDLRPCParameterNameLightControlData;
@@ -524,6 +527,7 @@ extern SDLRPCParameterName const SDLRPCParameterNameSDLVersion;
extern SDLRPCParameterName const SDLRPCParameterNameSearchAddress;
extern SDLRPCParameterName const SDLRPCParameterNameSeatControlData;
extern SDLRPCParameterName const SDLRPCParameterNameSeatControlCapabilities;
+extern SDLRPCParameterName const SDLRPCParameterNameSeats;
extern SDLRPCParameterName const SDLRPCParameterNameSecondaryColor;
extern SDLRPCParameterName const SDLRPCParameterNameSecondaryGraphic;
extern SDLRPCParameterName const SDLRPCParameterNameSecondaryImage;
diff --git a/SmartDeviceLink/SDLRPCParameterNames.m b/SmartDeviceLink/SDLRPCParameterNames.m
index 86006cd18..03cec487e 100644
--- a/SmartDeviceLink/SDLRPCParameterNames.m
+++ b/SmartDeviceLink/SDLRPCParameterNames.m
@@ -105,6 +105,7 @@ SDLRPCParameterName const SDLRPCParameterNameClusterModeStatus = @"clusterModeSt
SDLRPCParameterName const SDLRPCParameterNameColor = @"color";
SDLRPCParameterName const SDLRPCParameterNameCol = @"col";
SDLRPCParameterName const SDLRPCParameterNameColSpan = @"colspan";
+SDLRPCParameterName const SDLRPCParameterNameColumns = @"columns";
SDLRPCParameterName const SDLRPCParameterNameCommandIcon = @"cmdIcon";
SDLRPCParameterName const SDLRPCParameterNameCommandId = @"cmdID";
SDLRPCParameterName const SDLRPCParameterNameCompassDirection = @"compassDirection";
@@ -214,6 +215,7 @@ SDLRPCParameterName const SDLRPCParameterNameGPS = @"gps";
SDLRPCParameterName const SDLRPCParameterNameGraphic = @"graphic";
SDLRPCParameterName const SDLRPCParameterNameGraphicSupported = @"graphicSupported";
SDLRPCParameterName const SDLRPCParameterNameGreen = @"green";
+SDLRPCParameterName const SDLRPCParameterNameGrid = @"grid";
SDLRPCParameterName const SDLRPCParameterNameHandledRPCs = @"handledRPCs";
SDLRPCParameterName const SDLRPCParameterNameHapticRectData = @"hapticRectData";
SDLRPCParameterName const SDLRPCParameterNameHapticSpatialDataSupported = @"hapticSpatialDataSupported";
@@ -306,6 +308,7 @@ SDLRPCParameterName const SDLRPCParameterNameLeftRow2BuckleBelted = @"leftRow2Bu
SDLRPCParameterName const SDLRPCParameterNameLeftRow3BuckleBelted = @"leftRow3BuckleBelted";
SDLRPCParameterName const SDLRPCParameterNameLength = @"length";
SDLRPCParameterName const SDLRPCParameterNameLevel = @"level";
+SDLRPCParameterName const SDLRPCParameterNameLevels = @"levels";
SDLRPCParameterName const SDLRPCParameterNameLevelSpan = @"levelspan";
SDLRPCParameterName const SDLRPCParameterNameLightControlCapabilities = @"lightControlCapabilities";
SDLRPCParameterName const SDLRPCParameterNameLightControlData = @"lightControlData";
@@ -519,6 +522,7 @@ SDLRPCParameterName const SDLRPCParameterNameSDLVersion = @"sdlVersion";
SDLRPCParameterName const SDLRPCParameterNameSearchAddress = @"searchAddress";
SDLRPCParameterName const SDLRPCParameterNameSeatControlData = @"seatControlData";
SDLRPCParameterName const SDLRPCParameterNameSeatControlCapabilities = @"seatControlCapabilities";
+SDLRPCParameterName const SDLRPCParameterNameSeats = @"seats";
SDLRPCParameterName const SDLRPCParameterNameSecondaryGraphic = @"secondaryGraphic";
SDLRPCParameterName const SDLRPCParameterNameSecondaryImage = @"secondaryImage";
SDLRPCParameterName const SDLRPCParameterNameSecondaryText = @"secondaryText";
diff --git a/SmartDeviceLink/SDLSeatLocation.h b/SmartDeviceLink/SDLSeatLocation.h
new file mode 100644
index 000000000..072d2f61d
--- /dev/null
+++ b/SmartDeviceLink/SDLSeatLocation.h
@@ -0,0 +1,26 @@
+//
+// SDLSeatLocation.h
+// SmartDeviceLink
+//
+// Created by standa1 on 7/11/19.
+// Copyright © 2019 smartdevicelink. All rights reserved.
+//
+
+#import "SDLRPCMessage.h"
+#import "SDLGrid.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Describes the location of a seat
+ */
+@interface SDLSeatLocation : SDLRPCStruct
+
+/**
+ * Optional
+ */
+@property (strong, nonatomic) SDLGrid *grid;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLSeatLocation.m b/SmartDeviceLink/SDLSeatLocation.m
new file mode 100644
index 000000000..65ba86d1d
--- /dev/null
+++ b/SmartDeviceLink/SDLSeatLocation.m
@@ -0,0 +1,25 @@
+//
+// SDLSeatLocation.m
+// SmartDeviceLink
+//
+// Created by standa1 on 7/11/19.
+// Copyright © 2019 smartdevicelink. All rights reserved.
+//
+
+#import "SDLSeatLocation.h"
+
+#import "NSMutableDictionary+Store.h"
+#import "SDLRPCParameterNames.h"
+
+@implementation SDLSeatLocation
+
+- (void)setGrid:(SDLGrid *)grid {
+ [self.store sdl_setObject:grid forName:SDLRPCParameterNameGrid];
+}
+
+- (SDLGrid *)grid {
+ NSError *error = nil;
+ return [self.store sdl_objectForName:SDLRPCParameterNameGrid ofClass:SDLGrid.class error:&error];
+}
+
+@end
diff --git a/SmartDeviceLink/SDLSeatLocationCapability.h b/SmartDeviceLink/SDLSeatLocationCapability.h
new file mode 100644
index 000000000..bdd229dc7
--- /dev/null
+++ b/SmartDeviceLink/SDLSeatLocationCapability.h
@@ -0,0 +1,46 @@
+//
+// SDLSeatLocationCapability.h
+// SmartDeviceLink
+//
+// Created by standa1 on 7/11/19.
+// Copyright © 2019 smartdevicelink. All rights reserved.
+//
+
+#import "SDLRPCMessage.h"
+
+#import "SDLSeatLocation.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Contains information about the locations of each seat.
+ */
+@interface SDLSeatLocationCapability : SDLRPCStruct
+
+/**
+ *
+ * Optional, Integer, 1 - 100
+ */
+@property (strong, nonatomic) NSNumber<SDLInt> *cols;
+
+/**
+ *
+ * Optional, Integer, 1 - 100
+ */
+@property (strong, nonatomic) NSNumber<SDLInt> *rows;
+
+/**
+ *
+ * Optional, Integer, 1 - 100
+ */
+@property (strong, nonatomic) NSNumber<SDLInt> *levels;
+
+/**
+ * Contains a list of SeatLocation in the vehicle, the first element is the driver's seat
+ * Optional
+ */
+@property (strong, nonatomic) SDLSeatLocation *seats;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLSeatLocationCapability.m b/SmartDeviceLink/SDLSeatLocationCapability.m
new file mode 100644
index 000000000..5a702d451
--- /dev/null
+++ b/SmartDeviceLink/SDLSeatLocationCapability.m
@@ -0,0 +1,52 @@
+//
+// SDLSeatLocationCapability.m
+// SmartDeviceLink
+//
+// Created by standa1 on 7/11/19.
+// Copyright © 2019 smartdevicelink. All rights reserved.
+//
+
+#import "SDLSeatLocationCapability.h"
+
+#import "NSMutableDictionary+Store.h"
+#import "SDLRPCParameterNames.h"
+
+@implementation SDLSeatLocationCapability
+
+- (void)setCol:(NSNumber<SDLInt> *)cols {
+ [self.store sdl_setObject:cols forName:SDLRPCParameterNameColumns];
+}
+
+- (NSNumber<SDLInt> *)cols {
+ NSError *error = nil;
+ return [self.store sdl_objectForName:SDLRPCParameterNameColumns ofClass:NSNumber.class error:&error];
+}
+
+- (void)setRow:(NSNumber<SDLInt> *)rows {
+ [self.store sdl_setObject:rows forName:SDLRPCParameterNameRows];
+}
+
+- (NSNumber<SDLInt> *)rows {
+ NSError *error = nil;
+ return [self.store sdl_objectForName:SDLRPCParameterNameRows ofClass:NSNumber.class error:&error];
+}
+
+- (void)setLevel:(NSNumber<SDLInt> *)levels {
+ [self.store sdl_setObject:levels forName:SDLRPCParameterNameLevels];
+}
+
+- (NSNumber<SDLInt> *)levels {
+ NSError *error = nil;
+ return [self.store sdl_objectForName:SDLRPCParameterNameLevels ofClass:NSNumber.class error:&error];
+}
+
+- (void)setSeats:(SDLSeatLocation *)seats {
+ [self.store sdl_setObject:seats forName:SDLRPCParameterNameSeats];
+}
+
+- (SDLSeatLocation *)seats {
+ NSError *error = nil;
+ return [self.store sdl_objectForName:SDLRPCParameterNameSeats ofClass:SDLSeatLocation.class error:&error];
+}
+
+@end
diff --git a/SmartDeviceLink/SDLSystemCapabilityType.h b/SmartDeviceLink/SDLSystemCapabilityType.h
index 2625217dc..972a8888b 100755
--- a/SmartDeviceLink/SDLSystemCapabilityType.h
+++ b/SmartDeviceLink/SDLSystemCapabilityType.h
@@ -37,3 +37,8 @@ extern SDLSystemCapabilityType const SDLSystemCapabilityTypeVideoStreaming;
The remote control capability
*/
extern SDLSystemCapabilityType const SDLSystemCapabilityTypeRemoteControl;
+
+/**
+ Contains information about the locations of each seat
+ */
+extern SDLSystemCapabilityType const SDLSystemCapabilityTypeSeatLocation;
diff --git a/SmartDeviceLink/SDLSystemCapabilityType.m b/SmartDeviceLink/SDLSystemCapabilityType.m
index 933a74418..c99e17dd1 100755
--- a/SmartDeviceLink/SDLSystemCapabilityType.m
+++ b/SmartDeviceLink/SDLSystemCapabilityType.m
@@ -13,3 +13,4 @@ SDLSystemCapabilityType const SDLSystemCapabilityTypeNavigation = @"NAVIGATION";
SDLSystemCapabilityType const SDLSystemCapabilityTypePhoneCall = @"PHONE_CALL";
SDLSystemCapabilityType const SDLSystemCapabilityTypeVideoStreaming = @"VIDEO_STREAMING";
SDLSystemCapabilityType const SDLSystemCapabilityTypeRemoteControl = @"REMOTE_CONTROL";
+SDLSystemCapabilityType const SDLSystemCapabilityTypeSeatLocation = @"SEAT_LOCATION";