summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Fischer <joel@livio.io>2015-04-23 14:34:16 -0400
committerJoel Fischer <joel@livio.io>2015-04-23 14:34:16 -0400
commite13cb34132f9d31fdc962b4fd58b97aa844a3740 (patch)
tree632c80fd7f5daa4b815a1b79743a8d0d8bcf174f
parent735d5725555e868de37513bf07b8a17200a2777f (diff)
parent2241c69164e74e592dee3b92aa47581928d9ce88 (diff)
downloadsdl_ios-feature/enable_warnings.tar.gz
Merge branch 'develop' into feature/enable_warningsfeature/enable_warnings
Conflicts: SmartDeviceLink-iOS/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
-rw-r--r--.clang-format45
-rw-r--r--.gitignore12
-rw-r--r--CONTRIBUTING.md17
-rw-r--r--DEPENDENCIES.md527
-rw-r--r--README.md2
-rw-r--r--SmartDeviceLink-iOS/Cartfile.private2
-rw-r--r--SmartDeviceLink-iOS/Cartfile.resolved2
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/DSL.h120
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/NMBExceptionCapture.h8
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/Nimble-Swift.h363
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/Nimble.h6
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Info.plistbin0 -> 857 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftdocbin0 -> 23116 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftmodulebin0 -> 106356 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftdocbin0 -> 23116 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftmodulebin0 -> 106356 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftdocbin0 -> 23116 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftmodulebin0 -> 106356 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftdocbin0 -> 23116 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftmodulebin0 -> 106356 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/module.modulemap10
-rwxr-xr-xSmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Nimblebin0 -> 3555184 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/_CodeSignature/CodeResources183
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QCKDSL.h211
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/Quick-Swift.h356
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/Quick.h13
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QuickConfiguration.h30
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QuickSpec.h48
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Info.plistbin0 -> 876 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftdocbin0 -> 34060 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftmodulebin0 -> 51784 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftdocbin0 -> 34060 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftmodulebin0 -> 51784 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftdocbin0 -> 34060 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftmodulebin0 -> 51784 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftdocbin0 -> 34060 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftmodulebin0 -> 51784 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/module.modulemap10
-rwxr-xr-xSmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Quickbin0 -> 1558480 bytes
-rw-r--r--SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/_CodeSignature/CodeResources191
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/NSNotificationCenter+OCMAdditions.h26
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/OCMArg.h53
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/OCMConstraint.h71
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/OCMLocation.h36
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/OCMMacroState.h45
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/OCMRecorder.h39
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/OCMStubRecorder.h56
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/OCMock.h84
-rw-r--r--SmartDeviceLink-iOS/Libraries/OCMock/OCMockObject.h74
-rw-r--r--SmartDeviceLink-iOS/Libraries/libOCMock.abin0 -> 2071640 bytes
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink-iOS.xcodeproj/project.pbxproj1311
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/ISDLProxy.h21
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/Info.plist2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.h3
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.m3
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.h8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.h6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.m5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.m9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.h7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.m2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugToolConsole.h12
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDecoder.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.h7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumber.h22
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumber.m33
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumberResponse.h17
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumberResponse.m22
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h3
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.m12
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.m9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEncoder.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.m33
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.m9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.h37
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.m20
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHMICapabilities.h30
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHMICapabilities.m58
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.h18
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.h10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.m46
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.h5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.m2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.m10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.h8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.m17
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLInterfaceProtocol.h10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.m2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.m2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.h8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.m17
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.m9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.h8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.m15
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLNames.h10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.h5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.m21
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.h7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.m9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.h8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.h7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.h37
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.m21
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.m12
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.h7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.h14
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m57
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.h7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolListener.h7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.h6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.m3
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.h5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.h3
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolReceivedMessageRouter.h16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolReceivedMessageRouter.m (renamed from SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.m)14
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.h16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.h15
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m22
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.h5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.m3
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyListener.h118
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.h57
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.h19
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m80
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m22
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.h91
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.m85
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.m1
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCStruct.h16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCStruct.m84
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.m10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h15
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m28
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m147
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.h145
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocation.h65
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocation.m107
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocationResponse.h16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocationResponse.m34
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.m9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.m13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.m1
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.m9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.h8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.m1
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.h6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.m5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.h10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.h42
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.m44
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.h27
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTransport.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTransportDelegate.h5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.m7
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h9
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.h6
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.h8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.m10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.h5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.m10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.h11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.h46
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.h4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.m4
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.h20
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.m34
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.h13
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.m11
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.h2
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.m8
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SmartDeviceLink.h465
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m29
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLV1ProtocolHeaderSpec.m89
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLV2ProtocolHeaderSpec.m93
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolMessageSpec.m72
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m481
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLV1ProtocolMessageSpec.m32
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLV2ProtocolMessageSpec.m57
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLAbstractProtocolSpec.m57
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLFunctionIDSpec.m152
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolMessageAssemblerSpec.m100
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolMessageDisassemblerSpec.m91
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolReceivedMessageRouterSpec.m176
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAmbientLightStatusSpec.m71
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppHMITypeSpec.m77
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppInterfaceUnregisteredReasonSpec.m85
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAudioStreamingStateSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAudioTypeSpec.m50
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLBitsPerSampleSpec.m53
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonEventModeSpec.m53
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonNameSpec.m98
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonPressModeSpec.m53
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCarModeStatusSpec.m60
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCharacterSetSpec.m59
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCompassDirectionSpec.m71
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLComponentVolumeStatusSpec.m65
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDeviceLevelStatusSpec.m65
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDimensionSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDisplayTypeSpec.m80
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDriverDistractionStateSpec.m53
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLECallConfirmationStatusSpec.m68
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLEmergencyEventTypeSpec.m68
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLFileTypeSpec.m71
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLFuelCutoffStatusSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLGlobalProperySpec.m68
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLHMILevelSpec.m59
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLHMIZoneCapabilitiesSpec.m53
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLIgnitionStableStatusSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLIgnitionStatusSpec.m65
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLImageFieldNameSpec.m86
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLImageTypeSpec.m53
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLInteractionModeSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeyboardEventSpec.m64
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeyboardLayoutSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeypressModeSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLanguageSpec.m119
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLayoutModeSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLockScreenStatusSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMaintenanceModeStatusSpec.m59
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMediaClockFormatSpec.m68
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPRNDLSpec.m95
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m59
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPowerModeQualificationStatusSpec.m59
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPowerModeStatusSpec.m74
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPredefinedLayoutSpec.m107
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPrerecordedSpeechSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPrimaryAudioSource.m68
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLRPCMessageTypeSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLRequestTypeSpec.m108
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLResultSpec.m145
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSamplingRateSpec.m59
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSoftButtonTypeSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSpeechCapabilitiesSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSystemAction.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSystemContextSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTBTStateSpec.m77
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTextAlignmentSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTextFieldNameSpec.m133
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTimerModeSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTouchTypeSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTriggerSource.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLUpdateModeSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataActiveStatusSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataEventStatusSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataNotificationStatusSpec.m60
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataResultCodeSpec.m74
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataStatusSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m125
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVrCapabilitiesSpec.m50
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLWarningLightStatusSpec.m60
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLWiperStatusSpec.m92
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/FactorySpecs/SDLRPCRequestFactorySpec.m852
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m43
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAudioPassThruSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m55
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m55
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m48
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m43
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnEncodedSyncPDataSpec.m52
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m42
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m48
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m49
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLockScreenStatusSpec.m59
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m45
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSyncPDataSpec.m47
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m70
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m44
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m52
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m175
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/PayloadSpecs/SDLRPCPayloadSpec.m75
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddSubMenuSpec.m52
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m52
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertSpec.m82
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m70
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m50
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m42
-rwxr-xr-xSmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m42
-rwxr-xr-xSmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m42
-rwxr-xr-xSmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m42
-rwxr-xr-xSmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m52
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m80
-rwxr-xr-xSmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLEncodedSyncPDataSpec.m42
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLEndAudioPassThruSpec.m16
-rwxr-xr-xSmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m47
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m162
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLListFilesSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m76
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformInteractionSpec.m91
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPutFileSpec.m69
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m47
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m107
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m43
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLScrollableMessageSpec.m55
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m312
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m42
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m42
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetGlobalPropertiesSpec.m83
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetMediaClockTimerSpec.m58
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m99
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m105
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m62
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m45
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m44
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m157
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSyncPDataSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m48
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnregisterAppInterfaceSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m44
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m157
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m52
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAddCommandResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAddSubMenuResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAlertManeuverResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAlertResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLChangeRegistrationResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCreateInteractionChoiceSetResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteCommandResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m42
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteInteractionChoiceSetResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteSubMenuResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m42
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDialNumberResponseSpec.m10
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLEncodedSyncPDataResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLEndAudioPassThruResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGenericResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m47
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m175
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m47
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAudioPassThruResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m54
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m42
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m45
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m116
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLResetGlobalPropertiesResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLScrollableMessageResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSendLocationResponseSpec.m12
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetAppIconResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m67
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetGlobalPropertiesResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetMediaClockTimerResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLShowConstantTBTResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLShowResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m43
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSpeakResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeButtonResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m161
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSyncPDataResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSystemRequestResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnregisterAppInterfaceResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeButtonResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m161
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUpdateTurnListResponseSpec.m16
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m76
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m53
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m111
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m71
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m56
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m74
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m57
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m51
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m64
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m92
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDisplayCapabilitiesSpec.m84
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m52
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m63
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m127
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMICapabilitiesSpec.m69
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m45
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m51
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m55
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageSpec.m46
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m63
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m49
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m41
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m45
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m54
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m39
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m50
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m40
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m54
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m70
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m49
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSyncMsgVersionSpec.m44
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m46
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m57
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m78
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m44
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m49
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m52
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m47
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m46
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m54
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m53
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLEnumSpec.m25
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCMessageSpec.m115
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCNotificationSpec.m15
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCRequestSpec.m25
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m33
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCStructSpec.m24
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/SmartDeviceLinkTests.m40
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/SwiftSpec.swift5
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/Prioritized Objects/SDLObjectWithPrioritySpec.m39
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/Prioritized Objects/SDLPrioritizedObjectCollectionSpec.m83
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/SDLHexUtilitySpec.m36
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/SDLJingleSpec.m28
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink_Example/Classes/ProxyManager.m2
782 files changed, 22111 insertions, 2123 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 000000000..070025310
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,45 @@
+---
+Language: Cpp
+
+AccessModifierOffset: -2
+# AlignAfterOpenBracket: true
+# AlignEscapedNewlinesLeft: true
+AlignTrailingComments: true
+AllowShortBlocksOnASingleLine: false
+AllowShortCaseLabelsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: None
+AllowShortIfStatementsOnASingleLine: false
+AllowShortLoopsOnASingleLine: false
+AlwaysBreakBeforeMultilineStrings: false
+BinPackArguments: false
+BinPackParameters: false
+BreakBeforeBinaryOperators: None
+BreakBeforeBraces: Attach
+BreakBeforeTernaryOperators: false
+ColumnLimit: 0
+ConstructorInitializerAllOnOneLineOrOnePerLine: false
+ConstructorInitializerIndentWidth: 4
+ContinuationIndentWidth: 4
+Cpp11BracedListStyle: true
+DerivePointerAlignment: false
+IndentCaseLabels: true
+IndentFunctionDeclarationAfterType: true
+IndentWidth: 4
+KeepEmptyLinesAtTheStartOfBlocks: false
+MaxEmptyLinesToKeep: 2
+NamespaceIndentation: None
+ObjCSpaceAfterProperty: true
+ObjCSpaceBeforeProtocolList: true
+PointerAlignment: Right
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeParens: ControlStatements
+SpaceInEmptyParentheses: false
+SpacesBeforeTrailingComments: 1
+SpacesInAngles: false
+SpacesInCStyleCastParentheses: false
+SpacesInContainerLiterals: true
+SpacesInParentheses: false
+SpacesInSquareBrackets: false
+Standard: Cpp11
+TabWidth: 8
+UseTab: Never \ No newline at end of file
diff --git a/.gitignore b/.gitignore
index fa6ccefd9..bc5b40def 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,10 +34,8 @@ Thumbs.db
*.lock
profile
-# CocoaPods
-#
-# We recommend against adding the Pods directory to your .gitignore. However
-# you should judge for yourself, the pros and cons are mentioned at:
-# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
-#
-# Pods/
+# Carthage #
+############
+Carthage.pkg
+SmartDeviceLink-iOS/Carthage/Build
+SmartDeviceLink-iOS/Carthage/Checkouts \ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index bea04030a..2f8ea41e8 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,15 +2,24 @@
Third party contributions are essential for making this repository great. However, we do have a few guidelines we need contributors to follow.
+### Issues
+If writing a bug report, please make sure [it has enough info](http://yourbugreportneedsmore.info). Include all relevant information.
+
+If requesting a feature, understand that we appreciate the input! However, it may not immediately fit our roadmap, and it may take a while for us to get to your request, if we are able to at all.
+
### Gitflow
-We use Gitflow as our branch management system. Please read up on it [here](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow). The main points you should know are:
+We use [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) as our branch management system. The main points you should know are:
+### Pull Requests
+* Please follow the [SDL iOS Style Guide](https://github.com/smartdevicelink/SmartDeviceLink-iOS/wiki/Objective-C-Style-Guide)
* All feature branches should be based on `develop` and have the format `feature/branch_name`.
-* Minor bug fixes should be based on `master` and have the format `hotfix/branch_name`.
+* Minor bug fixes, that is bug fixes that do not change, add, or remove any public API, should be based on `master` and have the format `hotfix/branch_name`.
+* All pull requests should involve a single change. Pull Requests that involve multiple changes (it is our discretion what precisely this means) will be rejected with a reason.
* All commits should involve logical units. Please do not put all changed code in one commit, unless it is a very minor change.
-* Work in progress pull requests should have "[WIP]" in front of the Pull Request title. When you are ready to merge, remove this tag and @mention `smartdevicelink/developers` to get it scheduled for review.
+* Work in progress pull requests should have "[WIP]" in front of the Pull Request title. When you believe the pull request is ready to merge, remove this tag and @mention `smartdevicelink/developers` to get it scheduled for review.
* If applicable, follow [this Pull Request's format](https://github.com/smartdevicelink/SmartDeviceLink-iOS/pull/45).
* Please document all code written. Write [objective-c style documentation](http://nshipster.com/documentation/) for methods (we use [VVDocumenter](https://github.com/onevcat/VVDocumenter-Xcode) to help out, and use inline code comments where it makes sense, i.e. for non-obvious code chunks.
+* As of SDL iOS 4.0, all new code *must* be unit tested. We use [Quick](https://github.com/Quick/Quick), [Nimble](https://github.com/Quick/Nimble), and [OCMock](http://ocmock.org) currently. Bug fixes should have a test that fails previously and now passes. All new features should be covered. If your code does not pass tests, or regresses old tests, it will be rejected.
### Contributor's License Agreement (CLA)
-Coming Soon! We unfortunately cannot accept third party contributions until this is ready.
+In order to accept Pull Requests from contributors, you must first sign [the Contributor's License Agreement](https://docs.google.com/forms/d/1VNR8EUd5b46cQ7uNbCq1fJmnu0askNpUp5dudLKRGpU/viewform). If you need to make a change to information that you entered, [please contact us](mailto:justin@livio.io).
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
new file mode 100644
index 000000000..5c1ec9a39
--- /dev/null
+++ b/DEPENDENCIES.md
@@ -0,0 +1,527 @@
+## Non-Library Dependencies
+
+### Quick
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+1. Definitions.
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work,
+where such license applies only to those patent claims licensable
+by such Contributor that are necessarily infringed by their
+Contribution(s) alone or by combination of their Contribution(s)
+with the Work to which such Contribution(s) was submitted. If You
+institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work
+or a Contribution incorporated within the Work constitutes direct
+or contributory patent infringement, then any patent licenses
+granted to You under this License for that Work shall terminate
+as of the date such litigation is filed.
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof in any medium, with or without
+modifications, and in Source or Object form, provided that You
+meet the following conditions:
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+END OF TERMS AND CONDITIONS
+APPENDIX: How to apply the Apache License to your work.
+To apply the Apache License to your work, attach the following
+boilerplate notice, with the fields enclosed by brackets "{}"
+replaced with your own identifying information. (Don't include
+the brackets!) The text should be enclosed in the appropriate
+comment syntax for the file format. We also recommend that a
+file or class name and description of purpose be included on the
+same "printed page" as the copyright notice for easier
+identification within third-party archives.
+Copyright 2014, Quick Team
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+### Nimble
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2014 Quick Team
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+### OCMock 3
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+1. Definitions.
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+"Legal Entity" shall mean the union of the acting entity and all
+other entities that control, are controlled by, or are under common
+control with that entity. For the purposes of this definition,
+"control" means (i) the power, direct or indirect, to cause the
+direction or management of such entity, whether by contract or
+otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation
+source, and configuration files.
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+"Work" shall mean the work of authorship, whether in Source or
+Object form, made available under the License, as indicated by a
+copyright notice that is included in or attached to the work
+(an example is provided in the Appendix below).
+"Derivative Works" shall mean any work, whether in Source or Object
+form, that is based on (or derived from) the Work and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship. For the purposes
+of this License, Derivative Works shall not include works that remain
+separable from, or merely link (or bind by name) to the interfaces of,
+the Work and Derivative Works thereof.
+"Contribution" shall mean any work of authorship, including
+the original version of the Work and any modifications or additions
+to that Work or Derivative Works thereof, that is intentionally
+submitted to Licensor for inclusion in the Work by the copyright owner
+or by an individual or Legal Entity authorized to submit on behalf of
+the copyright owner. For the purposes of this definition, "submitted"
+means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems,
+and issue tracking systems that are managed by, or on behalf of, the
+Licensor for the purpose of discussing and improving the Work, but
+excluding communication that is conspicuously marked or otherwise
+designated in writing by the copyright owner as "Not a Contribution."
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work,
+where such license applies only to those patent claims licensable
+by such Contributor that are necessarily infringed by their
+Contribution(s) alone or by combination of their Contribution(s)
+with the Work to which such Contribution(s) was submitted. If You
+institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work
+or a Contribution incorporated within the Work constitutes direct
+or contributory patent infringement, then any patent licenses
+granted to You under this License for that Work shall terminate
+as of the date such litigation is filed.
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof in any medium, with or without
+modifications, and in Source or Object form, provided that You
+meet the following conditions:
+(a) You must give any other recipients of the Work or
+Derivative Works a copy of this License; and
+(b) You must cause any modified files to carry prominent notices
+stating that You changed the files; and
+(c) You must retain, in the Source form of any Derivative Works
+that You distribute, all copyright, patent, trademark, and
+attribution notices from the Source form of the Work,
+excluding those notices that do not pertain to any part of
+the Derivative Works; and
+(d) If the Work includes a "NOTICE" text file as part of its
+distribution, then any Derivative Works that You distribute must
+include a readable copy of the attribution notices contained
+within such NOTICE file, excluding those notices that do not
+pertain to any part of the Derivative Works, in at least one
+of the following places: within a NOTICE text file distributed
+as part of the Derivative Works; within the Source form or
+documentation, if provided along with the Derivative Works; or,
+within a display generated by the Derivative Works, if and
+wherever such third-party notices normally appear. The contents
+of the NOTICE file are for informational purposes only and
+do not modify the License. You may add Your own attribution
+notices within Derivative Works that You distribute, alongside
+or as an addendum to the NOTICE text from the Work, provided
+that such additional attribution notices cannot be construed
+as modifying the License.
+You may add Your own copyright statement to Your modifications and
+may provide additional or different license terms and conditions
+for use, reproduction, or distribution of Your modifications, or
+for any such Derivative Works as a whole, provided Your use,
+reproduction, and distribution of the Work otherwise complies with
+the conditions stated in this License.
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+END OF TERMS AND CONDITIONS \ No newline at end of file
diff --git a/README.md b/README.md
index 2c65e4205..81e8188d4 100644
--- a/README.md
+++ b/README.md
@@ -4,3 +4,5 @@ SDL iOS
SmartDeviceLink iOS Proxy
We're still working on creating documentation for each of these individual repositories, but in the meantime, you can find more information about SmartDeviceLink [on the SDL Core README](https://github.com/smartdevicelink/sdl_core/blob/master/README.md) and [on Genivi](http://projects.genivi.org/smartdevicelink/about).
+
+To get started with testing, make sure that you have [Carthage](https://github.com/Carthage/Carthage) installed via [Homebrew](http://brew.sh/) (`brew update` `brew install carthage`), then run `carthage bootstrap` in the root directory of the repository on your local system. You will then have to drag in `Quick.framework` and `Nimble.framework` to the "Link Binaries with Libraries" build phase. For more information, see the [Carthage Github page](https://github.com/Carthage/Carthage).
diff --git a/SmartDeviceLink-iOS/Cartfile.private b/SmartDeviceLink-iOS/Cartfile.private
new file mode 100644
index 000000000..806bd6522
--- /dev/null
+++ b/SmartDeviceLink-iOS/Cartfile.private
@@ -0,0 +1,2 @@
+github "Quick/Quick" ~> 0.3.1
+github "Quick/Nimble" ~> 0.4.2
diff --git a/SmartDeviceLink-iOS/Cartfile.resolved b/SmartDeviceLink-iOS/Cartfile.resolved
new file mode 100644
index 000000000..c9c535baa
--- /dev/null
+++ b/SmartDeviceLink-iOS/Cartfile.resolved
@@ -0,0 +1,2 @@
+github "Quick/Nimble" "v0.4.2"
+github "Quick/Quick" "v0.3.1"
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/DSL.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/DSL.h
new file mode 100644
index 000000000..8186e1f1e
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/DSL.h
@@ -0,0 +1,120 @@
+#import <Foundation/Foundation.h>
+
+@class NMBExpectation;
+@class NMBObjCBeCloseToMatcher;
+@class NMBObjCRaiseExceptionMatcher;
+@protocol NMBMatcher;
+
+
+#define NIMBLE_EXPORT FOUNDATION_EXPORT
+
+#ifdef NIMBLE_DISABLE_SHORT_SYNTAX
+#define NIMBLE_SHORT(PROTO, ORIGINAL)
+#else
+#define NIMBLE_SHORT(PROTO, ORIGINAL) FOUNDATION_STATIC_INLINE PROTO { return (ORIGINAL); }
+#endif
+
+NIMBLE_EXPORT NMBExpectation *NMB_expect(id(^actualBlock)(), const char *file, unsigned int line);
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_equal(id expectedValue);
+NIMBLE_SHORT(id<NMBMatcher> equal(id expectedValue),
+ NMB_equal(expectedValue));
+
+NIMBLE_EXPORT NMBObjCBeCloseToMatcher *NMB_beCloseTo(NSNumber *expectedValue);
+NIMBLE_SHORT(NMBObjCBeCloseToMatcher *beCloseTo(id expectedValue),
+ NMB_beCloseTo(expectedValue));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beAnInstanceOf(Class expectedClass);
+NIMBLE_SHORT(id<NMBMatcher> beAnInstanceOf(Class expectedClass),
+ NMB_beAnInstanceOf(expectedClass));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beAKindOf(Class expectedClass);
+NIMBLE_SHORT(id<NMBMatcher> beAKindOf(Class expectedClass),
+ NMB_beAKindOf(expectedClass));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beginWith(id itemElementOrSubstring);
+NIMBLE_SHORT(id<NMBMatcher> beginWith(id itemElementOrSubstring),
+ NMB_beginWith(itemElementOrSubstring));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beGreaterThan(NSNumber *expectedValue);
+NIMBLE_SHORT(id<NMBMatcher> beGreaterThan(NSNumber *expectedValue),
+ NMB_beGreaterThan(expectedValue));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beGreaterThanOrEqualTo(NSNumber *expectedValue);
+NIMBLE_SHORT(id<NMBMatcher> beGreaterThanOrEqualTo(NSNumber *expectedValue),
+ NMB_beGreaterThanOrEqualTo(expectedValue));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beIdenticalTo(id expectedInstance);
+NIMBLE_SHORT(id<NMBMatcher> beIdenticalTo(id expectedInstance),
+ NMB_beIdenticalTo(expectedInstance));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beLessThan(NSNumber *expectedValue);
+NIMBLE_SHORT(id<NMBMatcher> beLessThan(NSNumber *expectedValue),
+ NMB_beLessThan(expectedValue));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beLessThanOrEqualTo(NSNumber *expectedValue);
+NIMBLE_SHORT(id<NMBMatcher> beLessThanOrEqualTo(NSNumber *expectedValue),
+ NMB_beLessThanOrEqualTo(expectedValue));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beTruthy(void);
+NIMBLE_SHORT(id<NMBMatcher> beTruthy(void),
+ NMB_beTruthy());
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beFalsy(void);
+NIMBLE_SHORT(id<NMBMatcher> beFalsy(void),
+ NMB_beFalsy());
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beTrue(void);
+NIMBLE_SHORT(id<NMBMatcher> beTrue(void),
+ NMB_beTrue());
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beFalse(void);
+NIMBLE_SHORT(id<NMBMatcher> beFalse(void),
+ NMB_beFalse());
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beNil(void);
+NIMBLE_SHORT(id<NMBMatcher> beNil(void),
+ NMB_beNil());
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_beEmpty(void);
+NIMBLE_SHORT(id<NMBMatcher> beEmpty(void),
+ NMB_beEmpty());
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_contain(id itemOrSubstring);
+NIMBLE_SHORT(id<NMBMatcher> contain(id itemOrSubstring),
+ NMB_contain(itemOrSubstring));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_endWith(id itemElementOrSubstring);
+NIMBLE_SHORT(id<NMBMatcher> endWith(id itemElementOrSubstring),
+ NMB_endWith(itemElementOrSubstring));
+
+NIMBLE_EXPORT NMBObjCRaiseExceptionMatcher *NMB_raiseException(void);
+NIMBLE_SHORT(NMBObjCRaiseExceptionMatcher *raiseException(void),
+ NMB_raiseException());
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_match(id expectedValue);
+NIMBLE_SHORT(id<NMBMatcher> match(id expectedValue),
+ NMB_match(expectedValue));
+
+NIMBLE_EXPORT id<NMBMatcher> NMB_allPass(id matcher);
+NIMBLE_SHORT(id<NMBMatcher> allPass(id matcher),
+ NMB_allPass(matcher));
+
+// In order to preserve breakpoint behavior despite using macros to fill in __FILE__ and __LINE__,
+// define a builder that populates __FILE__ and __LINE__, and returns a block that takes timeout
+// and action arguments. See https://github.com/Quick/Quick/pull/185 for details.
+typedef void (^NMBWaitUntilTimeoutBlock)(NSTimeInterval timeout, void (^action)(void (^)(void)));
+typedef void (^NMBWaitUntilBlock)(void (^action)(void (^)(void)));
+
+NIMBLE_EXPORT NMBWaitUntilTimeoutBlock nmb_wait_until_timeout_builder(NSString *file, NSUInteger line);
+NIMBLE_EXPORT NMBWaitUntilBlock nmb_wait_until_builder(NSString *file, NSUInteger line);
+
+#define NMB_waitUntilTimeout nmb_wait_until_timeout_builder(@(__FILE__), __LINE__)
+#define NMB_waitUntil nmb_wait_until_builder(@(__FILE__), __LINE__)
+
+#ifndef NIMBLE_DISABLE_SHORT_SYNTAX
+#define expect(...) NMB_expect(^id{ return (__VA_ARGS__); }, __FILE__, __LINE__)
+#define expectAction(...) NMB_expect(^id{ (__VA_ARGS__); return nil; }, __FILE__, __LINE__)
+#define waitUntilTimeout NMB_waitUntilTimeout
+#define waitUntil NMB_waitUntil
+#endif
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/NMBExceptionCapture.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/NMBExceptionCapture.h
new file mode 100644
index 000000000..8be4a5a69
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/NMBExceptionCapture.h
@@ -0,0 +1,8 @@
+#import <Foundation/Foundation.h>
+
+@interface NMBExceptionCapture : NSObject
+
+- (id)initWithHandler:(void(^)(NSException *))handler finally:(void(^)())finally;
+- (void)tryBlock:(void(^)())unsafeBlock;
+
+@end
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/Nimble-Swift.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/Nimble-Swift.h
new file mode 100644
index 000000000..be92b9475
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/Nimble-Swift.h
@@ -0,0 +1,363 @@
+// Generated by Apple Swift version 1.2 (swiftlang-602.0.49.3 clang-clang-602.0.49)
+#pragma clang diagnostic push
+
+#if defined(__has_include) && __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <objc/NSObject.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if defined(__has_include) && __has_include(<uchar.h>)
+# include <uchar.h>
+#elif !defined(__cplusplus) || __cplusplus < 201103L
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+#endif
+
+typedef struct _NSZone NSZone;
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+
+#if defined(__has_attribute) && __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if defined(__has_attribute) && __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type
+#endif
+#if __has_feature(nullability)
+# define SWIFT_NULLABILITY(X) X
+#else
+# if !defined(__nonnull)
+# define __nonnull
+# endif
+# if !defined(__nullable)
+# define __nullable
+# endif
+# if !defined(__null_unspecified)
+# define __null_unspecified
+# endif
+# define SWIFT_NULLABILITY(X)
+#endif
+#if defined(__has_feature) && __has_feature(modules)
+@import Foundation;
+@import ObjectiveC;
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+
+SWIFT_CLASS("_TtC6Nimble14FailureMessage")
+@interface FailureMessage
+@property (nonatomic, copy) NSString * __nonnull expected;
+@property (nonatomic, copy) NSString * __nullable actualValue;
+@property (nonatomic, copy) NSString * __nonnull to;
+@property (nonatomic, copy) NSString * __nonnull postfixMessage;
+@property (nonatomic, copy) NSString * __nonnull postfixActual;
+- (SWIFT_NULLABILITY(nonnull) instancetype)init OBJC_DESIGNATED_INITIALIZER;
+- (NSString * __nonnull)stringValue;
+@end
+
+
+
+/// Protocol for types that support only beEmpty()
+SWIFT_PROTOCOL("_TtP6Nimble13NMBCollection_")
+@protocol NMBCollection
+@property (nonatomic, readonly) NSInteger count;
+@end
+
+
+
+/// <dl><dt>Protocol for types to support beLessThan(), beLessThanOrEqualTo(),</dt><dd><p>beGreaterThan(), beGreaterThanOrEqualTo(), and equal() matchers.</p></dd></dl>
+/// Types that conform to Swift's Comparable protocol will work implicitly too
+SWIFT_PROTOCOL("_TtP6Nimble13NMBComparable_")
+@protocol NMBComparable
+- (NSComparisonResult)NMB_compare:(id <NMBComparable> __null_unspecified)otherObject;
+@end
+
+
+
+/// Protocol for types that support contain() matcher.
+SWIFT_PROTOCOL("_TtP6Nimble12NMBContainer_")
+@protocol NMBContainer
+- (BOOL)containsObject:(id __null_unspecified)object;
+@end
+
+
+
+/// Protocol for types to support beCloseTo() matcher
+SWIFT_PROTOCOL("_TtP6Nimble20NMBDoubleConvertible_")
+@protocol NMBDoubleConvertible
+@property (nonatomic, readonly) double doubleValue;
+@end
+
+@protocol NMBMatcher;
+
+SWIFT_CLASS("_TtC6Nimble14NMBExpectation")
+@interface NMBExpectation : NSObject
+- (SWIFT_NULLABILITY(nonnull) instancetype)initWithActualBlock:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock negative:(BOOL)negative file:(NSString * __nonnull)file line:(NSUInteger)line OBJC_DESIGNATED_INITIALIZER;
+@property (nonatomic, readonly, copy) NMBExpectation * __nonnull (^ __nonnull withTimeout)(NSTimeInterval);
+@property (nonatomic, readonly, copy) void (^ __nonnull to)(id <NMBMatcher> __nonnull);
+@property (nonatomic, readonly, copy) void (^ __nonnull toNot)(id <NMBMatcher> __nonnull);
+@property (nonatomic, readonly, copy) void (^ __nonnull notTo)(id <NMBMatcher> __nonnull);
+@property (nonatomic, readonly, copy) void (^ __nonnull toEventually)(id <NMBMatcher> __nonnull);
+@property (nonatomic, readonly, copy) void (^ __nonnull toEventuallyNot)(id <NMBMatcher> __nonnull);
+@end
+
+@class SourceLocation;
+
+
+/// Objective-C interface to the Swift variant of Matcher. This gives you full control over
+/// to() and toNot() behaviors when matching a value.
+SWIFT_PROTOCOL("_TtP6Nimble10NMBMatcher_")
+@protocol NMBMatcher
+- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location;
+- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location;
+@end
+
+
+SWIFT_CLASS("_TtC6Nimble23NMBObjCBeCloseToMatcher")
+@interface NMBObjCBeCloseToMatcher <NMBMatcher>
+- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualExpression failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location;
+- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualExpression failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location;
+@property (nonatomic, readonly, copy) NMBObjCBeCloseToMatcher * __nonnull (^ __nonnull within)(double);
+@end
+
+
+SWIFT_CLASS("_TtC6Nimble14NMBObjCMatcher")
+@interface NMBObjCMatcher <NMBMatcher>
+- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location;
+- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)endWithMatcher:(id __nonnull)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beNilMatcher;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beEmptyMatcher;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beIdenticalToMatcher:(NSObject * __nullable)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beginWithMatcher:(id __nonnull)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beGreaterThanOrEqualToMatcher:(id <NMBComparable> __nullable)expected;
+@end
+
+@class NMBObjCRaiseExceptionMatcher;
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCRaiseExceptionMatcher * __nonnull)raiseExceptionMatcher;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beGreaterThanMatcher:(id <NMBComparable> __nullable)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beLessThanMatcher:(id <NMBComparable> __nullable)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (id <NMBMatcher> __nonnull)equalMatcher:(NSObject * __nonnull)expected;
+@end
+
+@class NSString;
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (id <NMBMatcher> __nonnull)matchMatcher:(NSString * __nonnull)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (id <NMBMatcher> __nonnull)beAKindOfMatcher:(Class __nonnull)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)allPassMatcher:(NMBObjCMatcher * __nonnull)matcher;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (id <NMBMatcher> __nonnull)beAnInstanceOfMatcher:(Class __nonnull)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beLessThanOrEqualToMatcher:(id <NMBComparable> __nullable)expected;
+@end
+
+@class NSNumber;
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCBeCloseToMatcher * __nonnull)beCloseToMatcher:(NSNumber * __nonnull)expected within:(double)within;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)containMatcher:(NSObject * __nullable)expected;
+@end
+
+
+@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble))
++ (NMBObjCMatcher * __nonnull)beTruthyMatcher;
++ (NMBObjCMatcher * __nonnull)beFalsyMatcher;
++ (NMBObjCMatcher * __nonnull)beTrueMatcher;
++ (NMBObjCMatcher * __nonnull)beFalseMatcher;
+@end
+
+@class NSDictionary;
+
+SWIFT_CLASS("_TtC6Nimble28NMBObjCRaiseExceptionMatcher")
+@interface NMBObjCRaiseExceptionMatcher <NMBMatcher>
+- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location;
+- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location;
+@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull named)(NSString * __nonnull);
+@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull reason)(NSString * __nullable);
+@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull userInfo)(NSDictionary * __nullable);
+@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withName)(id <NMBMatcher> __nonnull);
+@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withReason)(id <NMBMatcher> __nonnull);
+@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withUserInfo)(id <NMBMatcher> __nonnull);
+@end
+
+
+
+/// Protocol for types that support beginWith(), endWith(), beEmpty() matchers
+SWIFT_PROTOCOL("_TtP6Nimble20NMBOrderedCollection_")
+@protocol NMBOrderedCollection <NMBCollection>
+- (NSInteger)indexOfObject:(id __null_unspecified)object;
+@end
+
+
+
+/// Only classes, protocols, methods, properties, and subscript declarations can be
+/// bridges to Objective-C via the @objc keyword. This class encapsulates callback-style
+/// asynchronous waiting logic so that it may be called from Objective-C and Swift.
+SWIFT_CLASS("_TtC6Nimble7NMBWait")
+@interface NMBWait
++ (void)untilTimeout:(NSTimeInterval)timeout file:(NSString * __nonnull)file line:(NSUInteger)line action:(void (^ __nonnull)(void (^ __nonnull)(void)))action;
++ (void)untilFile:(NSString * __nonnull)file line:(NSUInteger)line action:(void (^ __nonnull)(void (^ __nonnull)(void)))action;
+@end
+
+
+@interface NSArray (SWIFT_EXTENSION(Nimble)) <NMBOrderedCollection>
+@end
+
+
+@interface NSArray (SWIFT_EXTENSION(Nimble)) <NMBContainer>
+@end
+
+
+@interface NSArray (SWIFT_EXTENSION(Nimble))
+@end
+
+
+@interface NSDecimalNumber (SWIFT_EXTENSION(Nimble)) <NMBDoubleConvertible>
+@end
+
+
+@interface NSDictionary (SWIFT_EXTENSION(Nimble)) <NMBCollection>
+@end
+
+
+@interface NSHashTable (SWIFT_EXTENSION(Nimble)) <NMBContainer>
+@end
+
+
+@interface NSHashTable (SWIFT_EXTENSION(Nimble)) <NMBCollection>
+@end
+
+
+@interface NSNumber (SWIFT_EXTENSION(Nimble)) <NMBDoubleConvertible>
+@end
+
+
+@interface NSNumber (SWIFT_EXTENSION(Nimble)) <NMBComparable>
+- (NSComparisonResult)NMB_compare:(id <NMBComparable> __null_unspecified)otherObject;
+@end
+
+
+@interface NSSet (SWIFT_EXTENSION(Nimble)) <NMBContainer>
+@end
+
+
+@interface NSSet (SWIFT_EXTENSION(Nimble)) <NMBCollection>
+@end
+
+
+@interface NSString (SWIFT_EXTENSION(Nimble)) <NMBComparable>
+- (NSComparisonResult)NMB_compare:(id <NMBComparable> __null_unspecified)otherObject;
+@end
+
+
+SWIFT_CLASS("_TtC6Nimble14SourceLocation")
+@interface SourceLocation
+@property (nonatomic, readonly, copy) NSString * __nonnull file;
+@property (nonatomic, readonly) NSUInteger line;
+@property (nonatomic, readonly, copy) NSString * __nonnull description;
+@end
+
+#pragma clang diagnostic pop
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/Nimble.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/Nimble.h
new file mode 100644
index 000000000..433621887
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Headers/Nimble.h
@@ -0,0 +1,6 @@
+#import <Foundation/Foundation.h>
+#import <Nimble/NMBExceptionCapture.h>
+#import <Nimble/DSL.h>
+
+FOUNDATION_EXPORT double NimbleVersionNumber;
+FOUNDATION_EXPORT const unsigned char NimbleVersionString[];
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Info.plist b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Info.plist
new file mode 100644
index 000000000..353b36844
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Info.plist
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftdoc b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftdoc
new file mode 100644
index 000000000..5039090a5
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftdoc
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftmodule b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftmodule
new file mode 100644
index 000000000..360b63855
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftmodule
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftdoc b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftdoc
new file mode 100644
index 000000000..ccf486a6a
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftdoc
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftmodule b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftmodule
new file mode 100644
index 000000000..39af7110c
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftmodule
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftdoc b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftdoc
new file mode 100644
index 000000000..f7571b22f
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftdoc
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftmodule b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftmodule
new file mode 100644
index 000000000..82dacaf03
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftmodule
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftdoc b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftdoc
new file mode 100644
index 000000000..a55f2dfae
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftdoc
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftmodule b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftmodule
new file mode 100644
index 000000000..0def65ae4
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftmodule
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/module.modulemap b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/module.modulemap
new file mode 100644
index 000000000..a8769c240
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Modules/module.modulemap
@@ -0,0 +1,10 @@
+framework module Nimble {
+ umbrella header "Nimble.h"
+
+ export *
+ module * { export * }
+}
+
+module Nimble.Swift {
+ header "Nimble-Swift.h"
+}
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Nimble b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Nimble
new file mode 100755
index 000000000..ceb5d5e5f
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/Nimble
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/_CodeSignature/CodeResources b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/_CodeSignature/CodeResources
new file mode 100644
index 000000000..f4a292c7a
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Nimble.framework/_CodeSignature/CodeResources
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>files</key>
+ <dict>
+ <key>Headers/DSL.h</key>
+ <data>
+ efzUjc/0uiV6lnHEXTxaB8VcwOc=
+ </data>
+ <key>Headers/NMBExceptionCapture.h</key>
+ <data>
+ ncXv+PqMUjLHOJpiFz6BKmTAq5o=
+ </data>
+ <key>Headers/Nimble-Swift.h</key>
+ <data>
+ fjO4IfY34SEWiYtVW06KIK/9Qso=
+ </data>
+ <key>Headers/Nimble.h</key>
+ <data>
+ HXkPd6XbqY7QmdFCpOCNIHhI4v0=
+ </data>
+ <key>Info.plist</key>
+ <data>
+ w/Su2RY9Eotbsi3roDAYS8a+G9I=
+ </data>
+ <key>Modules/Nimble.swiftmodule/arm.swiftdoc</key>
+ <data>
+ 8QhmkzUAQZXDoW+vJs7Ll0XjCB4=
+ </data>
+ <key>Modules/Nimble.swiftmodule/arm.swiftmodule</key>
+ <data>
+ T9cDr7U6XEiJ958K6SkJ73XHt7U=
+ </data>
+ <key>Modules/Nimble.swiftmodule/arm64.swiftdoc</key>
+ <data>
+ kE/P5WvprV0kaqd2/jB8TCyKBZg=
+ </data>
+ <key>Modules/Nimble.swiftmodule/arm64.swiftmodule</key>
+ <data>
+ pVmWd6yxqT8Zowv6LbJD9rr1ymY=
+ </data>
+ <key>Modules/module.modulemap</key>
+ <data>
+ HraXvk1VTxnsGdY8oSlKGNkdg60=
+ </data>
+ </dict>
+ <key>files2</key>
+ <dict>
+ <key>Headers/DSL.h</key>
+ <data>
+ efzUjc/0uiV6lnHEXTxaB8VcwOc=
+ </data>
+ <key>Headers/NMBExceptionCapture.h</key>
+ <data>
+ ncXv+PqMUjLHOJpiFz6BKmTAq5o=
+ </data>
+ <key>Headers/Nimble-Swift.h</key>
+ <data>
+ fjO4IfY34SEWiYtVW06KIK/9Qso=
+ </data>
+ <key>Headers/Nimble.h</key>
+ <data>
+ HXkPd6XbqY7QmdFCpOCNIHhI4v0=
+ </data>
+ <key>Modules/Nimble.swiftmodule/arm.swiftdoc</key>
+ <data>
+ 8QhmkzUAQZXDoW+vJs7Ll0XjCB4=
+ </data>
+ <key>Modules/Nimble.swiftmodule/arm.swiftmodule</key>
+ <data>
+ T9cDr7U6XEiJ958K6SkJ73XHt7U=
+ </data>
+ <key>Modules/Nimble.swiftmodule/arm64.swiftdoc</key>
+ <data>
+ kE/P5WvprV0kaqd2/jB8TCyKBZg=
+ </data>
+ <key>Modules/Nimble.swiftmodule/arm64.swiftmodule</key>
+ <data>
+ pVmWd6yxqT8Zowv6LbJD9rr1ymY=
+ </data>
+ <key>Modules/module.modulemap</key>
+ <data>
+ HraXvk1VTxnsGdY8oSlKGNkdg60=
+ </data>
+ </dict>
+ <key>rules</key>
+ <dict>
+ <key>^</key>
+ <true/>
+ <key>^.*\.lproj/</key>
+ <dict>
+ <key>optional</key>
+ <true/>
+ <key>weight</key>
+ <real>1000</real>
+ </dict>
+ <key>^.*\.lproj/locversion.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>1100</real>
+ </dict>
+ <key>^version.plist$</key>
+ <true/>
+ </dict>
+ <key>rules2</key>
+ <dict>
+ <key>.*\.dSYM($|/)</key>
+ <dict>
+ <key>weight</key>
+ <real>11</real>
+ </dict>
+ <key>^</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^(.*/)?\.DS_Store$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>2000</real>
+ </dict>
+ <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+ <dict>
+ <key>nested</key>
+ <true/>
+ <key>weight</key>
+ <real>10</real>
+ </dict>
+ <key>^.*</key>
+ <true/>
+ <key>^.*\.lproj/</key>
+ <dict>
+ <key>optional</key>
+ <true/>
+ <key>weight</key>
+ <real>1000</real>
+ </dict>
+ <key>^.*\.lproj/locversion.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>1100</real>
+ </dict>
+ <key>^Info\.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^PkgInfo$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^[^/]+$</key>
+ <dict>
+ <key>nested</key>
+ <true/>
+ <key>weight</key>
+ <real>10</real>
+ </dict>
+ <key>^embedded\.provisionprofile$</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^version\.plist$</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ </dict>
+</dict>
+</plist>
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QCKDSL.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QCKDSL.h
new file mode 100644
index 000000000..7e63cbde2
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QCKDSL.h
@@ -0,0 +1,211 @@
+#import <Foundation/Foundation.h>
+
+/**
+ Provides a hook for Quick to be configured before any examples are run.
+ Within this scope, override the +[QuickConfiguration configure:] method
+ to set properties on a configuration object to customize Quick behavior.
+ For details, see the documentation for Configuraiton.swift.
+
+ @param name The name of the configuration class. Like any Objective-C
+ class name, this must be unique to the current runtime
+ environment.
+ */
+#define QuickConfigurationBegin(name) \
+ @interface name : QuickConfiguration; @end \
+ @implementation name \
+
+
+/**
+ Marks the end of a Quick configuration.
+ Make sure you put this after `QuickConfigurationBegin`.
+ */
+#define QuickConfigurationEnd \
+ @end \
+
+
+/**
+ Defines a new QuickSpec. Define examples and example groups within the space
+ between this and `QuickSpecEnd`.
+
+ @param name The name of the spec class. Like any Objective-C class name, this
+ must be unique to the current runtime environment.
+ */
+#define QuickSpecBegin(name) \
+ @interface name : QuickSpec; @end \
+ @implementation name \
+ - (void)spec { \
+
+
+/**
+ Marks the end of a QuickSpec. Make sure you put this after `QuickSpecBegin`.
+ */
+#define QuickSpecEnd \
+ } \
+ @end \
+
+typedef NSDictionary *(^QCKDSLSharedExampleContext)(void);
+typedef void (^QCKDSLSharedExampleBlock)(QCKDSLSharedExampleContext);
+typedef void (^QCKDSLEmptyBlock)(void);
+
+extern void qck_beforeSuite(QCKDSLEmptyBlock closure);
+extern void qck_afterSuite(QCKDSLEmptyBlock closure);
+extern void qck_sharedExamples(NSString *name, QCKDSLSharedExampleBlock closure);
+extern void qck_describe(NSString *description, QCKDSLEmptyBlock closure);
+extern void qck_context(NSString *description, QCKDSLEmptyBlock closure);
+extern void qck_beforeEach(QCKDSLEmptyBlock closure);
+extern void qck_afterEach(QCKDSLEmptyBlock closure);
+extern void qck_pending(NSString *description, QCKDSLEmptyBlock closure);
+extern void qck_xdescribe(NSString *description, QCKDSLEmptyBlock closure);
+extern void qck_xcontext(NSString *description, QCKDSLEmptyBlock closure);
+extern void qck_fdescribe(NSString *description, QCKDSLEmptyBlock closure);
+extern void qck_fcontext(NSString *description, QCKDSLEmptyBlock closure);
+
+#ifndef QUICK_DISABLE_SHORT_SYNTAX
+/**
+ Defines a closure to be run prior to any examples in the test suite.
+ You may define an unlimited number of these closures, but there is no
+ guarantee as to the order in which they're run.
+
+ If the test suite crashes before the first example is run, this closure
+ will not be executed.
+
+ @param closure The closure to be run prior to any examples in the test suite.
+ */
+static inline void beforeSuite(QCKDSLEmptyBlock closure) {
+ qck_beforeSuite(closure);
+}
+
+
+/**
+ Defines a closure to be run after all of the examples in the test suite.
+ You may define an unlimited number of these closures, but there is no
+ guarantee as to the order in which they're run.
+
+ If the test suite crashes before all examples are run, this closure
+ will not be executed.
+
+ @param closure The closure to be run after all of the examples in the test suite.
+ */
+static inline void afterSuite(QCKDSLEmptyBlock closure) {
+ qck_afterSuite(closure);
+}
+
+/**
+ Defines a group of shared examples. These examples can be re-used in several locations
+ by using the `itBehavesLike` function.
+
+ @param name The name of the shared example group. This must be unique across all shared example
+ groups defined in a test suite.
+ @param closure A closure containing the examples. This behaves just like an example group defined
+ using `describe` or `context`--the closure may contain any number of `beforeEach`
+ and `afterEach` closures, as well as any number of examples (defined using `it`).
+ */
+static inline void sharedExamples(NSString *name, QCKDSLSharedExampleBlock closure) {
+ qck_sharedExamples(name, closure);
+}
+
+/**
+ Defines an example group. Example groups are logical groupings of examples.
+ Example groups can share setup and teardown code.
+
+ @param description An arbitrary string describing the example group.
+ @param closure A closure that can contain other examples.
+ */
+static inline void describe(NSString *description, QCKDSLEmptyBlock closure) {
+ qck_describe(description, closure);
+}
+
+/**
+ Defines an example group. Equivalent to `describe`.
+ */
+static inline void context(NSString *description, QCKDSLEmptyBlock closure) {
+ qck_context(description, closure);
+}
+
+/**
+ Defines a closure to be run prior to each example in the current example
+ group. This closure is not run for pending or otherwise disabled examples.
+ An example group may contain an unlimited number of beforeEach. They'll be
+ run in the order they're defined, but you shouldn't rely on that behavior.
+
+ @param closure The closure to be run prior to each example.
+ */
+static inline void beforeEach(QCKDSLEmptyBlock closure) {
+ qck_beforeEach(closure);
+}
+
+/**
+ Defines a closure to be run after each example in the current example
+ group. This closure is not run for pending or otherwise disabled examples.
+ An example group may contain an unlimited number of afterEach. They'll be
+ run in the order they're defined, but you shouldn't rely on that behavior.
+
+ @param closure The closure to be run after each example.
+ */
+static inline void afterEach(QCKDSLEmptyBlock closure) {
+ qck_afterEach(closure);
+}
+
+/**
+ Defines an example or example group that should not be executed. Use `pending` to temporarily disable
+ examples or groups that should not be run yet.
+
+ @param description An arbitrary string describing the example or example group.
+ @param closure A closure that will not be evaluated.
+ */
+static inline void pending(NSString *description, QCKDSLEmptyBlock closure) {
+ qck_pending(description, closure);
+}
+
+/**
+ Use this to quickly mark a `describe` block as pending.
+ This disables all examples within the block.
+ */
+static inline void xdescribe(NSString *description, QCKDSLEmptyBlock closure) {
+ qck_xdescribe(description, closure);
+}
+
+/**
+ Use this to quickly mark a `context` block as pending.
+ This disables all examples within the block.
+ */
+static inline void xcontext(NSString *description, QCKDSLEmptyBlock closure) {
+ qck_xcontext(description, closure);
+}
+
+/**
+ Use this to quickly focus a `describe` block, focusing the examples in the block.
+ If any examples in the test suite are focused, only those examples are executed.
+ This trumps any explicitly focused or unfocused examples within the block--they are all treated as focused.
+ */
+static inline void fdescribe(NSString *description, QCKDSLEmptyBlock closure) {
+ qck_fdescribe(description, closure);
+}
+
+/**
+ Use this to quickly focus a `context` block. Equivalent to `fdescribe`.
+ */
+static inline void fcontext(NSString *description, QCKDSLEmptyBlock closure) {
+ qck_fcontext(description, closure);
+}
+
+#define it qck_it
+#define xit qck_xit
+#define fit qck_fit
+#define itBehavesLike qck_itBehavesLike
+#define xitBehavesLike qck_xitBehavesLike
+#define fitBehavesLike qck_fitBehavesLike
+#endif
+
+#define qck_it qck_it_builder(@{}, @(__FILE__), __LINE__)
+#define qck_xit qck_it_builder(@{Filter.pending: @YES}, @(__FILE__), __LINE__)
+#define qck_fit qck_it_builder(@{Filter.focused: @YES}, @(__FILE__), __LINE__)
+#define qck_itBehavesLike qck_itBehavesLike_builder(@{}, @(__FILE__), __LINE__)
+#define qck_xitBehavesLike qck_itBehavesLike_builder(@{Filter.pending: @YES}, @(__FILE__), __LINE__)
+#define qck_fitBehavesLike qck_itBehavesLike_builder(@{Filter.focused: @YES}, @(__FILE__), __LINE__)
+
+typedef void (^QCKItBlock)(NSString *description, QCKDSLEmptyBlock closure);
+typedef void (^QCKItBehavesLikeBlock)(NSString *description, QCKDSLSharedExampleContext context);
+
+extern QCKItBlock qck_it_builder(NSDictionary *flags, NSString *file, NSUInteger line);
+extern QCKItBehavesLikeBlock qck_itBehavesLike_builder(NSDictionary *flags, NSString *file, NSUInteger line);
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/Quick-Swift.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/Quick-Swift.h
new file mode 100644
index 000000000..fdfeb8699
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/Quick-Swift.h
@@ -0,0 +1,356 @@
+// Generated by Apple Swift version 1.2 (swiftlang-602.0.49.3 clang-clang-602.0.49)
+#pragma clang diagnostic push
+
+#if defined(__has_include) && __has_include(<swift/objc-prologue.h>)
+# include <swift/objc-prologue.h>
+#endif
+
+#pragma clang diagnostic ignored "-Wauto-import"
+#include <objc/NSObject.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+#if defined(__has_include) && __has_include(<uchar.h>)
+# include <uchar.h>
+#elif !defined(__cplusplus) || __cplusplus < 201103L
+typedef uint_least16_t char16_t;
+typedef uint_least32_t char32_t;
+#endif
+
+typedef struct _NSZone NSZone;
+
+#if !defined(SWIFT_PASTE)
+# define SWIFT_PASTE_HELPER(x, y) x##y
+# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
+#endif
+#if !defined(SWIFT_METATYPE)
+# define SWIFT_METATYPE(X) Class
+#endif
+
+#if defined(__has_attribute) && __has_attribute(objc_runtime_name)
+# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
+#else
+# define SWIFT_RUNTIME_NAME(X)
+#endif
+#if !defined(SWIFT_CLASS_EXTRA)
+# define SWIFT_CLASS_EXTRA
+#endif
+#if !defined(SWIFT_PROTOCOL_EXTRA)
+# define SWIFT_PROTOCOL_EXTRA
+#endif
+#if !defined(SWIFT_ENUM_EXTRA)
+# define SWIFT_ENUM_EXTRA
+#endif
+#if !defined(SWIFT_CLASS)
+# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
+# else
+# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
+# endif
+#endif
+
+#if !defined(SWIFT_PROTOCOL)
+# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
+#endif
+
+#if !defined(SWIFT_EXTENSION)
+# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
+#endif
+
+#if !defined(OBJC_DESIGNATED_INITIALIZER)
+# if defined(__has_attribute) && __has_attribute(objc_designated_initializer)
+# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+# else
+# define OBJC_DESIGNATED_INITIALIZER
+# endif
+#endif
+#if !defined(SWIFT_ENUM)
+# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type
+#endif
+#if __has_feature(nullability)
+# define SWIFT_NULLABILITY(X) X
+#else
+# if !defined(__nonnull)
+# define __nonnull
+# endif
+# if !defined(__nullable)
+# define __nullable
+# endif
+# if !defined(__null_unspecified)
+# define __null_unspecified
+# endif
+# define SWIFT_NULLABILITY(X)
+#endif
+#if defined(__has_feature) && __has_feature(modules)
+#endif
+
+#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
+#pragma clang diagnostic ignored "-Wduplicate-method-arg"
+
+
+/// An object encapsulating the file and line number at which
+/// a particular example is defined.
+SWIFT_CLASS("_TtC5Quick8Callsite")
+@interface Callsite
+
+/// The absolute path of the file in which an example is defined.
+@property (nonatomic, readonly, copy) NSString * __nonnull file;
+
+/// The line number on which an example is defined.
+@property (nonatomic, readonly) NSInteger line;
+@end
+
+@class Example;
+@class ExampleMetadata;
+
+
+/// A configuration encapsulates various options you can use
+/// to configure Quick's behavior.
+SWIFT_CLASS("_TtC5Quick13Configuration")
+@interface Configuration
+
+/// Run all examples if none match the configured filters. True by default.
+@property (nonatomic) BOOL runAllWhenEverythingFiltered;
+
+/// Registers an inclusion filter.
+///
+/// All examples are filtered using all inclusion filters.
+/// The remaining examples are run. If no examples remain, all examples are run.
+///
+/// \param filter A filter that, given an example, returns a value indicating
+/// whether that example should be included in the examples
+/// that are run.
+- (void)include:(BOOL (^ __nonnull)(Example * __nonnull))filter;
+
+/// Registers an exclusion filter.
+///
+/// All examples that remain after being filtered by the inclusion filters are
+/// then filtered via all exclusion filters.
+///
+/// \param filter A filter that, given an example, returns a value indicating
+/// whether that example should be excluded from the examples
+/// that are run.
+- (void)exclude:(BOOL (^ __nonnull)(Example * __nonnull))filter;
+
+/// Identical to Quick.Configuration.beforeEach, except the closure is
+/// provided with metadata on the example that the closure is being run
+/// prior to.
+- (void)beforeEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure;
+
+/// Like Quick.DSL.beforeEach, this configures Quick to execute the
+/// given closure before each example that is run. The closure
+/// passed to this method is executed before each example Quick runs,
+/// globally across the test suite. You may call this method multiple
+/// times across mulitple +[QuickConfigure configure:] methods in order
+/// to define several closures to run before each example.
+///
+/// Note that, since Quick makes no guarantee as to the order in which
+/// +[QuickConfiguration configure:] methods are evaluated, there is no
+/// guarantee as to the order in which beforeEach closures are evaluated
+/// either. Mulitple beforeEach defined on a single configuration, however,
+/// will be executed in the order they're defined.
+///
+/// \param closure The closure to be executed before each example
+/// in the test suite.
+- (void)beforeEach:(void (^ __nonnull)(void))closure;
+
+/// Identical to Quick.Configuration.afterEach, except the closure
+/// is provided with metadata on the example that the closure is being
+/// run after.
+- (void)afterEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure;
+
+/// Like Quick.DSL.afterEach, this configures Quick to execute the
+/// given closure after each example that is run. The closure
+/// passed to this method is executed after each example Quick runs,
+/// globally across the test suite. You may call this method multiple
+/// times across mulitple +[QuickConfigure configure:] methods in order
+/// to define several closures to run after each example.
+///
+/// Note that, since Quick makes no guarantee as to the order in which
+/// +[QuickConfiguration configure:] methods are evaluated, there is no
+/// guarantee as to the order in which afterEach closures are evaluated
+/// either. Mulitple afterEach defined on a single configuration, however,
+/// will be executed in the order they're defined.
+///
+/// \param closure The closure to be executed before each example
+/// in the test suite.
+- (void)afterEach:(void (^ __nonnull)(void))closure;
+
+/// Like Quick.DSL.beforeSuite, this configures Quick to execute
+/// the given closure prior to any and all examples that are run.
+/// The two methods are functionally equivalent.
+- (void)beforeSuite:(void (^ __nonnull)(void))closure;
+
+/// Like Quick.DSL.afterSuite, this configures Quick to execute
+/// the given closure after all examples have been run.
+/// The two methods are functionally equivalent.
+- (void)afterSuite:(void (^ __nonnull)(void))closure;
+@end
+
+
+
+/// Examples, defined with the <code>it</code> function, use assertions to
+/// demonstrate how code should behave. These are like "tests" in XCTest.
+SWIFT_CLASS("_TtC5Quick7Example")
+@interface Example
+
+/// A boolean indicating whether the example is a shared example;
+/// i.e.: whether it is an example defined with <code>itBehavesLike</code>.
+@property (nonatomic) BOOL isSharedExample;
+
+/// The site at which the example is defined.
+/// This must be set correctly in order for Xcode to highlight
+/// the correct line in red when reporting a failure.
+@property (nonatomic) Callsite * __nonnull callsite;
+
+/// The example name. A name is a concatenation of the name of
+/// the example group the example belongs to, followed by the
+/// description of the example itself.
+///
+/// The example name is used to generate a test method selector
+/// to be displayed in Xcode's test navigator.
+@property (nonatomic, readonly, copy) NSString * __nonnull name;
+
+/// Executes the example closure, as well as all before and after
+/// closures defined in the its surrounding example groups.
+- (void)run;
+@end
+
+
+
+/// Example groups are logical groupings of examples, defined with
+/// the <code>describe</code> and <code>context</code> functions. Example groups can share
+/// setup and teardown code.
+SWIFT_CLASS("_TtC5Quick12ExampleGroup")
+@interface ExampleGroup
+
+/// Returns a list of examples that belong to this example group,
+/// or to any of its descendant example groups.
+@property (nonatomic, readonly, copy) NSArray * __nonnull examples;
+@end
+
+
+
+/// A class that encapsulates information about an example,
+/// including the index at which the example was executed, as
+/// well as the example itself.
+SWIFT_CLASS("_TtC5Quick15ExampleMetadata")
+@interface ExampleMetadata
+
+/// The example for which this metadata was collected.
+@property (nonatomic, readonly) Example * __nonnull example;
+
+/// The index at which this example was executed in the
+/// test suite.
+@property (nonatomic, readonly) NSInteger exampleIndex;
+@end
+
+
+
+/// A namespace for filter flag keys, defined primarily to make the
+/// keys available in Objective-C.
+SWIFT_CLASS("QCKFilter")
+@interface Filter
+
+/// Example and example groups with [Focused: true] are included in test runs,
+/// excluding all other examples without this flag. Use this to only run one or
+/// two tests that you're currently focusing on.
++ (NSString * __nonnull)focused;
+
+/// Example and example groups with [Pending: true] are excluded from test runs.
+/// Use this to temporarily suspend examples that you know do not pass yet.
++ (NSString * __nonnull)pending;
+@end
+
+
+
+/// A collection of state Quick builds up in order to work its magic.
+/// World is primarily responsible for maintaining a mapping of QuickSpec
+/// classes to root example groups for those classes.
+///
+/// It also maintains a mapping of shared example names to shared
+/// example closures.
+///
+/// You may configure how Quick behaves by calling the -[World configure:]
+/// method from within an overridden +[QuickConfiguration configure:] method.
+SWIFT_CLASS("_TtC5Quick5World")
+@interface World
+
+/// The example group that is currently being run.
+/// The DSL requires that this group is correctly set in order to build a
+/// correct hierarchy of example groups and their examples.
+@property (nonatomic) ExampleGroup * __nullable currentExampleGroup;
+
+/// The example metadata of the test that is currently being run.
+/// This is useful for using the Quick test metadata (like its name) at
+/// runtime.
+@property (nonatomic) ExampleMetadata * __nullable currentExampleMetadata;
+
+/// A flag that indicates whether additional test suites are being run
+/// within this test suite. This is only true within the context of Quick
+/// functional tests.
+@property (nonatomic) BOOL isRunningAdditionalSuites;
++ (World * __nonnull)sharedWorld;
+
+/// Exposes the World's Configuration object within the scope of the closure
+/// so that it may be configured. This method must not be called outside of
+/// an overridden +[QuickConfiguration configure:] method.
+///
+/// \param closure A closure that takes a Configuration object that can
+/// be mutated to change Quick's behavior.
+- (void)configure:(void (^ __nonnull)(Configuration * __nonnull))closure;
+
+/// Finalizes the World's configuration.
+/// Any subsequent calls to World.configure() will raise.
+- (void)finalizeConfiguration;
+
+/// Returns an internally constructed root example group for the given
+/// QuickSpec class.
+///
+/// A root example group with the description "root example group" is lazily
+/// initialized for each QuickSpec class. This root example group wraps the
+/// top level of a -[QuickSpec spec] method--it's thanks to this group that
+/// users can define beforeEach and it closures at the top level, like so:
+///
+/// <blockquote><dl><dt>override func spec() {</dt><dd><p>// These belong to the root example group
+/// beforeEach {}
+/// it("is at the top level") {}</p></dd></dl><p>}</p></blockquote>
+/// \param cls The QuickSpec class for which to retrieve the root example group.
+///
+/// \returns The root example group for the class.
+- (ExampleGroup * __nonnull)rootExampleGroupForSpecClass:(Class __nonnull)cls;
+
+/// Returns all examples that should be run for a given spec class.
+/// There are two filtering passes that occur when determining which examples should be run.
+/// That is, these examples are the ones that are included by inclusion filters, and are
+/// not excluded by exclusion filters.
+///
+/// \param specClass The QuickSpec subclass for which examples are to be returned.
+///
+/// \returns A list of examples to be run as test invocations.
+- (NSArray * __nonnull)examplesForSpecClass:(Class __nonnull)specClass;
+@end
+
+@class NSDictionary;
+
+@interface World (SWIFT_EXTENSION(Quick))
+- (void)beforeSuite:(void (^ __nonnull)(void))closure;
+- (void)afterSuite:(void (^ __nonnull)(void))closure;
+- (void)sharedExamples:(NSString * __nonnull)name closure:(void (^ __nonnull)(NSDictionary * __nonnull (^ __nonnull)(void)))closure;
+- (void)describe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure;
+- (void)context:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure;
+- (void)fdescribe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure;
+- (void)xdescribe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure;
+- (void)beforeEach:(void (^ __nonnull)(void))closure;
+- (void)beforeEachWithClosure:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure;
+- (void)afterEach:(void (^ __nonnull)(void))closure;
+- (void)afterEachWithClosure:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure;
+- (void)itWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure;
+- (void)fitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure;
+- (void)xitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure;
+- (void)itBehavesLikeSharedExampleNamed:(NSString * __nonnull)name sharedExampleContext:(NSDictionary * __nonnull (^ __nonnull)(void))sharedExampleContext flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line;
+- (void)pending:(NSString * __nonnull)description closure:(void (^ __nonnull)(void))closure;
+@end
+
+#pragma clang diagnostic pop
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/Quick.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/Quick.h
new file mode 100644
index 000000000..0c1b72d75
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/Quick.h
@@ -0,0 +1,13 @@
+#import <Foundation/Foundation.h>
+
+//! Project version number for Quick.
+FOUNDATION_EXPORT double QuickVersionNumber;
+
+//! Project version string for Quick.
+FOUNDATION_EXPORT const unsigned char QuickVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import <Quick/PublicHeader.h>
+
+#import <Quick/QuickSpec.h>
+#import <Quick/QCKDSL.h>
+#import <Quick/QuickConfiguration.h>
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QuickConfiguration.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QuickConfiguration.h
new file mode 100644
index 000000000..56461993f
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QuickConfiguration.h
@@ -0,0 +1,30 @@
+#import <Foundation/Foundation.h>
+
+@class Configuration;
+
+/**
+ Subclass QuickConfiguration and override the +[QuickConfiguration configure:]
+ method in order to configure how Quick behaves when running specs, or to define
+ shared examples that are used across spec files.
+ */
+@interface QuickConfiguration : NSObject
+
+/**
+ This method is executed on each subclass of this class before Quick runs
+ any examples. You may override this method on as many subclasses as you like, but
+ there is no guarantee as to the order in which these methods are executed.
+
+ You can override this method in order to:
+
+ 1. Configure how Quick behaves, by modifying properties on the Configuration object.
+ Setting the same properties in several methods has undefined behavior.
+
+ 2. Define shared examples using `sharedExamples`.
+
+ @param configuration A mutable object that is used to configure how Quick behaves on
+ a framework level. For details on all the options, see the
+ documentation in Configuration.swift.
+ */
++ (void)configure:(Configuration *)configuration;
+
+@end
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QuickSpec.h b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QuickSpec.h
new file mode 100644
index 000000000..08d007981
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Headers/QuickSpec.h
@@ -0,0 +1,48 @@
+#import <XCTest/XCTest.h>
+
+/**
+ QuickSpec is a base class all specs written in Quick inherit from.
+ They need to inherit from QuickSpec, a subclass of XCTestCase, in
+ order to be discovered by the XCTest framework.
+
+ XCTest automatically compiles a list of XCTestCase subclasses included
+ in the test target. It iterates over each class in that list, and creates
+ a new instance of that class for each test method. It then creates an
+ "invocation" to execute that test method. The invocation is an instance of
+ NSInvocation, which represents a single message send in Objective-C.
+ The invocation is set on the XCTestCase instance, and the test is run.
+
+ Most of the code in QuickSpec is dedicated to hooking into XCTest events.
+ First, when the spec is first loaded and before it is sent any messages,
+ the +[NSObject initialize] method is called. QuickSpec overrides this method
+ to call +[QuickSpec spec]. This builds the example group stacks and
+ registers them with Quick.World, a global register of examples.
+
+ Then, XCTest queries QuickSpec for a list of test methods. Normally, XCTest
+ automatically finds all methods whose selectors begin with the string "test".
+ However, QuickSpec overrides this default behavior by implementing the
+ +[XCTestCase testInvocations] method. This method iterates over each example
+ registered in Quick.World, defines a new method for that example, and
+ returns an invocation to call that method to XCTest. Those invocations are
+ the tests that are run by XCTest. Their selector names are displayed in
+ the Xcode test navigation bar.
+ */
+@interface QuickSpec : XCTestCase
+
+/**
+ Override this method in your spec to define a set of example groups
+ and examples.
+
+ override class func spec() {
+ describe("winter") {
+ it("is coming") {
+ // ...
+ }
+ }
+ }
+
+ See DSL.swift for more information on what syntax is available.
+ */
+- (void)spec;
+
+@end
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Info.plist b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Info.plist
new file mode 100644
index 000000000..0a154366e
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Info.plist
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftdoc b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftdoc
new file mode 100644
index 000000000..fea729a5e
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftdoc
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftmodule b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftmodule
new file mode 100644
index 000000000..b44354d02
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftmodule
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftdoc b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftdoc
new file mode 100644
index 000000000..14699065a
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftdoc
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftmodule b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftmodule
new file mode 100644
index 000000000..9ee9751ee
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftmodule
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftdoc b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftdoc
new file mode 100644
index 000000000..e3cce090c
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftdoc
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftmodule b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftmodule
new file mode 100644
index 000000000..62157e4ec
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftmodule
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftdoc b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftdoc
new file mode 100644
index 000000000..1a4c52b0c
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftdoc
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftmodule b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftmodule
new file mode 100644
index 000000000..fc9fdb26f
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftmodule
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/module.modulemap b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/module.modulemap
new file mode 100644
index 000000000..43f1882ba
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Modules/module.modulemap
@@ -0,0 +1,10 @@
+framework module Quick {
+ umbrella header "Quick.h"
+
+ export *
+ module * { export * }
+}
+
+module Quick.Swift {
+ header "Quick-Swift.h"
+}
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Quick b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Quick
new file mode 100755
index 000000000..290639fd2
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/Quick
Binary files differ
diff --git a/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/_CodeSignature/CodeResources b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/_CodeSignature/CodeResources
new file mode 100644
index 000000000..de8b9ba23
--- /dev/null
+++ b/SmartDeviceLink-iOS/Carthage/Build/iOS/Quick.framework/_CodeSignature/CodeResources
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>files</key>
+ <dict>
+ <key>Headers/QCKDSL.h</key>
+ <data>
+ 7PbIJRcEKu110FAe5LNaPVYKGuw=
+ </data>
+ <key>Headers/Quick-Swift.h</key>
+ <data>
+ zEds6EcXJchsoq2HNL+ALuE7K6I=
+ </data>
+ <key>Headers/Quick.h</key>
+ <data>
+ 59agZ84aHaMJ7CsoHmcDe6PDCqc=
+ </data>
+ <key>Headers/QuickConfiguration.h</key>
+ <data>
+ nEtQvPA7W793Xa7hm7CqJF94SiY=
+ </data>
+ <key>Headers/QuickSpec.h</key>
+ <data>
+ JgnCxF7XdP++mBPDkQpO8cfDoKA=
+ </data>
+ <key>Info.plist</key>
+ <data>
+ CW8IXuqxXoT71zh36egtww+Zw50=
+ </data>
+ <key>Modules/Quick.swiftmodule/arm.swiftdoc</key>
+ <data>
+ nneJJXwVKWmSU81eyoS62MNPye4=
+ </data>
+ <key>Modules/Quick.swiftmodule/arm.swiftmodule</key>
+ <data>
+ L6nJ3zvRAw3EdRMCS0MBAkrS1bU=
+ </data>
+ <key>Modules/Quick.swiftmodule/arm64.swiftdoc</key>
+ <data>
+ cly/Ztl6hanO5tcRLYTNPvZRfsY=
+ </data>
+ <key>Modules/Quick.swiftmodule/arm64.swiftmodule</key>
+ <data>
+ MQyQDflmP7jSQh3AFAm2iM7PiLQ=
+ </data>
+ <key>Modules/module.modulemap</key>
+ <data>
+ QfbrXg9M17t7M1mX9Yzh72ZIg20=
+ </data>
+ </dict>
+ <key>files2</key>
+ <dict>
+ <key>Headers/QCKDSL.h</key>
+ <data>
+ 7PbIJRcEKu110FAe5LNaPVYKGuw=
+ </data>
+ <key>Headers/Quick-Swift.h</key>
+ <data>
+ zEds6EcXJchsoq2HNL+ALuE7K6I=
+ </data>
+ <key>Headers/Quick.h</key>
+ <data>
+ 59agZ84aHaMJ7CsoHmcDe6PDCqc=
+ </data>
+ <key>Headers/QuickConfiguration.h</key>
+ <data>
+ nEtQvPA7W793Xa7hm7CqJF94SiY=
+ </data>
+ <key>Headers/QuickSpec.h</key>
+ <data>
+ JgnCxF7XdP++mBPDkQpO8cfDoKA=
+ </data>
+ <key>Modules/Quick.swiftmodule/arm.swiftdoc</key>
+ <data>
+ nneJJXwVKWmSU81eyoS62MNPye4=
+ </data>
+ <key>Modules/Quick.swiftmodule/arm.swiftmodule</key>
+ <data>
+ L6nJ3zvRAw3EdRMCS0MBAkrS1bU=
+ </data>
+ <key>Modules/Quick.swiftmodule/arm64.swiftdoc</key>
+ <data>
+ cly/Ztl6hanO5tcRLYTNPvZRfsY=
+ </data>
+ <key>Modules/Quick.swiftmodule/arm64.swiftmodule</key>
+ <data>
+ MQyQDflmP7jSQh3AFAm2iM7PiLQ=
+ </data>
+ <key>Modules/module.modulemap</key>
+ <data>
+ QfbrXg9M17t7M1mX9Yzh72ZIg20=
+ </data>
+ </dict>
+ <key>rules</key>
+ <dict>
+ <key>^</key>
+ <true/>
+ <key>^.*\.lproj/</key>
+ <dict>
+ <key>optional</key>
+ <true/>
+ <key>weight</key>
+ <real>1000</real>
+ </dict>
+ <key>^.*\.lproj/locversion.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>1100</real>
+ </dict>
+ <key>^version.plist$</key>
+ <true/>
+ </dict>
+ <key>rules2</key>
+ <dict>
+ <key>.*\.dSYM($|/)</key>
+ <dict>
+ <key>weight</key>
+ <real>11</real>
+ </dict>
+ <key>^</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^(.*/)?\.DS_Store$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>2000</real>
+ </dict>
+ <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+ <dict>
+ <key>nested</key>
+ <true/>
+ <key>weight</key>
+ <real>10</real>
+ </dict>
+ <key>^.*</key>
+ <true/>
+ <key>^.*\.lproj/</key>
+ <dict>
+ <key>optional</key>
+ <true/>
+ <key>weight</key>
+ <real>1000</real>
+ </dict>
+ <key>^.*\.lproj/locversion.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>1100</real>
+ </dict>
+ <key>^Info\.plist$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^PkgInfo$</key>
+ <dict>
+ <key>omit</key>
+ <true/>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^[^/]+$</key>
+ <dict>
+ <key>nested</key>
+ <true/>
+ <key>weight</key>
+ <real>10</real>
+ </dict>
+ <key>^embedded\.provisionprofile$</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ <key>^version\.plist$</key>
+ <dict>
+ <key>weight</key>
+ <real>20</real>
+ </dict>
+ </dict>
+</dict>
+</plist>
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/NSNotificationCenter+OCMAdditions.h b/SmartDeviceLink-iOS/Libraries/OCMock/NSNotificationCenter+OCMAdditions.h
new file mode 100644
index 000000000..c20a9c2b2
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/NSNotificationCenter+OCMAdditions.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2009-2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class OCObserverMockObject;
+
+
+@interface NSNotificationCenter(OCMAdditions)
+
+- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender;
+
+@end
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/OCMArg.h b/SmartDeviceLink-iOS/Libraries/OCMock/OCMArg.h
new file mode 100644
index 000000000..d53437cb7
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/OCMArg.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2009-2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import <Foundation/Foundation.h>
+
+@interface OCMArg : NSObject
+
+// constraining arguments
+
++ (id)any;
++ (SEL)anySelector;
++ (void *)anyPointer;
++ (id __autoreleasing *)anyObjectRef;
++ (id)isNil;
++ (id)isNotNil;
++ (id)isEqual:(id)value;
++ (id)isNotEqual:(id)value;
++ (id)isKindOfClass:(Class)cls;
++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject;
++ (id)checkWithBlock:(BOOL (^)(id obj))block;
+
+// manipulating arguments
+
++ (id *)setTo:(id)value;
++ (void *)setToValue:(NSValue *)value;
+
+// internal use only
+
++ (id)resolveSpecialValues:(NSValue *)value;
+
+@end
+
+#define OCMOCK_ANY [OCMArg any]
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+ #define OCMOCK_VALUE(variable) \
+ ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; })
+#else
+ #define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(__typeof__(variable))]
+#endif
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/OCMConstraint.h b/SmartDeviceLink-iOS/Libraries/OCMock/OCMConstraint.h
new file mode 100644
index 000000000..777966ab7
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/OCMConstraint.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2007-2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import <Foundation/Foundation.h>
+
+
+@interface OCMConstraint : NSObject
+
++ (instancetype)constraint;
+- (BOOL)evaluate:(id)value;
+
+// if you are looking for any, isNil, etc, they have moved to OCMArg
+
+// try to use [OCMArg checkWith...] instead of the constraintWith... methods below
+
++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject;
++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue;
+
+
+@end
+
+@interface OCMAnyConstraint : OCMConstraint
+@end
+
+@interface OCMIsNilConstraint : OCMConstraint
+@end
+
+@interface OCMIsNotNilConstraint : OCMConstraint
+@end
+
+@interface OCMIsNotEqualConstraint : OCMConstraint
+{
+ @public
+ id testValue;
+}
+
+@end
+
+@interface OCMInvocationConstraint : OCMConstraint
+{
+ @public
+ NSInvocation *invocation;
+}
+
+@end
+
+@interface OCMBlockConstraint : OCMConstraint
+{
+ BOOL (^block)(id);
+}
+
+- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block;
+
+@end
+
+
+#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self]
+#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)]
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/OCMLocation.h b/SmartDeviceLink-iOS/Libraries/OCMock/OCMLocation.h
new file mode 100644
index 000000000..e510db7aa
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/OCMLocation.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import <Foundation/Foundation.h>
+
+@interface OCMLocation : NSObject
+{
+ id testCase;
+ NSString *file;
+ NSUInteger line;
+}
+
++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine;
+
+- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine;
+
+- (id)testCase;
+- (NSString *)file;
+- (NSUInteger)line;
+
+@end
+
+extern OCMLocation *OCMMakeLocation(id testCase, const char *file, int line);
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/OCMMacroState.h b/SmartDeviceLink-iOS/Libraries/OCMock/OCMMacroState.h
new file mode 100644
index 000000000..4b2d63508
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/OCMMacroState.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class OCMLocation;
+@class OCMRecorder;
+@class OCMStubRecorder;
+@class OCMockObject;
+
+
+@interface OCMMacroState : NSObject
+{
+ OCMRecorder *recorder;
+}
+
++ (void)beginStubMacro;
++ (OCMStubRecorder *)endStubMacro;
+
++ (void)beginExpectMacro;
++ (OCMStubRecorder *)endExpectMacro;
+
++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation;
++ (void)endVerifyMacro;
+
++ (OCMMacroState *)globalState;
+
+- (OCMRecorder *)recorder;
+
+- (void)switchToClassMethod;
+
+@end
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/OCMRecorder.h b/SmartDeviceLink-iOS/Libraries/OCMock/OCMRecorder.h
new file mode 100644
index 000000000..f56d2ca4c
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/OCMRecorder.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class OCMockObject;
+@class OCMInvocationMatcher;
+
+
+@interface OCMRecorder : NSProxy
+{
+ OCMockObject *mockObject;
+ OCMInvocationMatcher *invocationMatcher;
+}
+
+- (instancetype)init;
+- (instancetype)initWithMockObject:(OCMockObject *)aMockObject;
+
+- (void)setMockObject:(OCMockObject *)aMockObject;
+
+- (OCMInvocationMatcher *)invocationMatcher;
+
+- (id)classMethod;
+- (id)ignoringNonObjectArgs;
+
+@end
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/OCMStubRecorder.h b/SmartDeviceLink-iOS/Libraries/OCMock/OCMStubRecorder.h
new file mode 100644
index 000000000..890c9ef3b
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/OCMStubRecorder.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2004-2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import "OCMRecorder.h"
+
+
+@interface OCMStubRecorder : OCMRecorder
+
+- (id)andReturn:(id)anObject;
+- (id)andReturnValue:(NSValue *)aValue;
+- (id)andThrow:(NSException *)anException;
+- (id)andPost:(NSNotification *)aNotification;
+- (id)andCall:(SEL)selector onObject:(id)anObject;
+- (id)andDo:(void (^)(NSInvocation *invocation))block;
+- (id)andForwardToRealObject;
+
+@end
+
+
+@interface OCMStubRecorder (Properties)
+
+#define andReturn(aValue) _andReturn(({ __typeof__(aValue) _v = (aValue); [NSValue value:&_v withObjCType:@encode(__typeof__(_v))]; }))
+@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *);
+
+#define andThrow(anException) _andThrow(anException)
+@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *);
+
+#define andPost(aNotification) _andPost(aNotification)
+@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *);
+
+#define andCall(anObject, aSelector) _andCall(anObject, aSelector)
+@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL);
+
+#define andDo(aBlock) _andDo(aBlock)
+@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *));
+
+#define andForwardToRealObject() _andForwardToRealObject()
+@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void);
+
+@end
+
+
+
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/OCMock.h b/SmartDeviceLink-iOS/Libraries/OCMock/OCMock.h
new file mode 100644
index 000000000..f0083b350
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/OCMock.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2004-2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import <OCMock/OCMockObject.h>
+#import <OCMock/OCMRecorder.h>
+#import <OCMock/OCMStubRecorder.h>
+#import <OCMock/OCMConstraint.h>
+#import <OCMock/OCMArg.h>
+#import <OCMock/OCMLocation.h>
+#import <OCMock/OCMMacroState.h>
+#import <OCMock/NSNotificationCenter+OCMAdditions.h>
+
+
+#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls]
+
+#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls]
+
+#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol]
+
+#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol]
+
+#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj]
+
+#define OCMObserverMock() [OCMockObject observerMock]
+
+
+#define OCMStub(invocation) \
+({ \
+ _OCMSilenceWarnings( \
+ [OCMMacroState beginStubMacro]; \
+ invocation; \
+ [OCMMacroState endStubMacro]; \
+ ); \
+})
+
+#define OCMExpect(invocation) \
+({ \
+ _OCMSilenceWarnings( \
+ [OCMMacroState beginExpectMacro]; \
+ invocation; \
+ [OCMMacroState endExpectMacro]; \
+ ); \
+})
+
+#define ClassMethod(invocation) \
+ _OCMSilenceWarnings( \
+ [[OCMMacroState globalState] switchToClassMethod]; \
+ invocation; \
+ );
+
+
+#define OCMVerifyAll(mock) [mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]
+
+#define OCMVerifyAllWithDelay(mock, delay) [mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)]
+
+#define OCMVerify(invocation) \
+({ \
+ _OCMSilenceWarnings( \
+ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \
+ invocation; \
+ [OCMMacroState endVerifyMacro]; \
+ ); \
+})
+
+#define _OCMSilenceWarnings(macro) \
+({ \
+ _Pragma("clang diagnostic push") \
+ _Pragma("clang diagnostic ignored \"-Wunused-value\"") \
+ macro \
+ _Pragma("clang diagnostic pop") \
+})
diff --git a/SmartDeviceLink-iOS/Libraries/OCMock/OCMockObject.h b/SmartDeviceLink-iOS/Libraries/OCMock/OCMockObject.h
new file mode 100644
index 000000000..63f2bae2b
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/OCMock/OCMockObject.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2004-2014 Erik Doernenburg and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use these files except in compliance with the License. You may obtain
+ * a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class OCMLocation;
+@class OCMInvocationStub;
+@class OCMStubRecorder;
+@class OCMInvocationMatcher;
+@class OCMInvocationExpectation;
+
+
+@interface OCMockObject : NSProxy
+{
+ BOOL isNice;
+ BOOL expectationOrderMatters;
+ NSMutableArray *stubs;
+ NSMutableArray *expectations;
+ NSMutableArray *exceptions;
+ NSMutableArray *invocations;
+}
+
++ (id)mockForClass:(Class)aClass;
++ (id)mockForProtocol:(Protocol *)aProtocol;
++ (id)partialMockForObject:(NSObject *)anObject;
+
++ (id)niceMockForClass:(Class)aClass;
++ (id)niceMockForProtocol:(Protocol *)aProtocol;
+
++ (id)observerMock;
+
+- (instancetype)init;
+
+- (void)setExpectationOrderMatters:(BOOL)flag;
+
+- (id)stub;
+- (id)expect;
+- (id)reject;
+
+- (id)verify;
+- (id)verifyAtLocation:(OCMLocation *)location;
+
+- (void)verifyWithDelay:(NSTimeInterval)delay;
+- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location;
+
+- (void)stopMocking;
+
+// internal use only
+
+- (void)addStub:(OCMInvocationStub *)aStub;
+- (void)addExpectation:(OCMInvocationExpectation *)anExpectation;
+
+- (BOOL)handleInvocation:(NSInvocation *)anInvocation;
+- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation;
+- (BOOL)handleSelector:(SEL)sel;
+
+- (void)verifyInvocation:(OCMInvocationMatcher *)matcher;
+- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location;
+
+@end
+
diff --git a/SmartDeviceLink-iOS/Libraries/libOCMock.a b/SmartDeviceLink-iOS/Libraries/libOCMock.a
new file mode 100644
index 000000000..9bb38e21a
--- /dev/null
+++ b/SmartDeviceLink-iOS/Libraries/libOCMock.a
Binary files differ
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink-iOS.xcodeproj/project.pbxproj b/SmartDeviceLink-iOS/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
index 8d36e1b1a..203a62d02 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
+++ b/SmartDeviceLink-iOS/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
@@ -7,6 +7,238 @@
objects = {
/* Begin PBXBuildFile section */
+ 162E81CA1A9BDD3F00906325 /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 162E81C81A9BDD3F00906325 /* Nimble.framework */; };
+ 162E81CB1A9BDD3F00906325 /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 162E81C91A9BDD3F00906325 /* Quick.framework */; };
+ 162E81CF1A9BDDD800906325 /* Nimble.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 162E81C81A9BDD3F00906325 /* Nimble.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ 162E81D01A9BDDD800906325 /* Quick.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 162E81C91A9BDD3F00906325 /* Quick.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ 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 */; };
+ 162E82CD1A9BDE8A00906325 /* SDLAudioStreamingStateSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81E51A9BDE8A00906325 /* SDLAudioStreamingStateSpec.m */; };
+ 162E82CE1A9BDE8A00906325 /* SDLAudioTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81E61A9BDE8A00906325 /* SDLAudioTypeSpec.m */; };
+ 162E82CF1A9BDE8A00906325 /* SDLBitsPerSampleSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81E71A9BDE8A00906325 /* SDLBitsPerSampleSpec.m */; };
+ 162E82D01A9BDE8A00906325 /* SDLButtonEventModeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81E81A9BDE8A00906325 /* SDLButtonEventModeSpec.m */; };
+ 162E82D11A9BDE8A00906325 /* SDLButtonNameSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81E91A9BDE8A00906325 /* SDLButtonNameSpec.m */; };
+ 162E82D21A9BDE8A00906325 /* SDLButtonPressModeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81EA1A9BDE8A00906325 /* SDLButtonPressModeSpec.m */; };
+ 162E82D31A9BDE8A00906325 /* SDLCarModeStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81EB1A9BDE8A00906325 /* SDLCarModeStatusSpec.m */; };
+ 162E82D41A9BDE8A00906325 /* SDLCharacterSetSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81EC1A9BDE8A00906325 /* SDLCharacterSetSpec.m */; };
+ 162E82D51A9BDE8A00906325 /* SDLCompassDirectionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81ED1A9BDE8A00906325 /* SDLCompassDirectionSpec.m */; };
+ 162E82D61A9BDE8A00906325 /* SDLComponentVolumeStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81EE1A9BDE8A00906325 /* SDLComponentVolumeStatusSpec.m */; };
+ 162E82D71A9BDE8A00906325 /* SDLDeviceLevelStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81EF1A9BDE8A00906325 /* SDLDeviceLevelStatusSpec.m */; };
+ 162E82D81A9BDE8A00906325 /* SDLDimensionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F01A9BDE8A00906325 /* SDLDimensionSpec.m */; };
+ 162E82D91A9BDE8A00906325 /* SDLDisplayTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F11A9BDE8A00906325 /* SDLDisplayTypeSpec.m */; };
+ 162E82DA1A9BDE8B00906325 /* SDLDriverDistractionStateSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F21A9BDE8A00906325 /* SDLDriverDistractionStateSpec.m */; };
+ 162E82DB1A9BDE8B00906325 /* SDLECallConfirmationStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F31A9BDE8A00906325 /* SDLECallConfirmationStatusSpec.m */; };
+ 162E82DC1A9BDE8B00906325 /* SDLEmergencyEventTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F41A9BDE8A00906325 /* SDLEmergencyEventTypeSpec.m */; };
+ 162E82DD1A9BDE8B00906325 /* SDLFileTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F51A9BDE8A00906325 /* SDLFileTypeSpec.m */; };
+ 162E82DE1A9BDE8B00906325 /* SDLFuelCutoffStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F61A9BDE8A00906325 /* SDLFuelCutoffStatusSpec.m */; };
+ 162E82DF1A9BDE8B00906325 /* SDLGlobalProperySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F71A9BDE8A00906325 /* SDLGlobalProperySpec.m */; };
+ 162E82E01A9BDE8B00906325 /* SDLHMILevelSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F81A9BDE8A00906325 /* SDLHMILevelSpec.m */; };
+ 162E82E11A9BDE8B00906325 /* SDLHMIZoneCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81F91A9BDE8A00906325 /* SDLHMIZoneCapabilitiesSpec.m */; };
+ 162E82E21A9BDE8B00906325 /* SDLIgnitionStableStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81FA1A9BDE8A00906325 /* SDLIgnitionStableStatusSpec.m */; };
+ 162E82E31A9BDE8B00906325 /* SDLIgnitionStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81FB1A9BDE8A00906325 /* SDLIgnitionStatusSpec.m */; };
+ 162E82E41A9BDE8B00906325 /* SDLImageFieldNameSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81FC1A9BDE8A00906325 /* SDLImageFieldNameSpec.m */; };
+ 162E82E51A9BDE8B00906325 /* SDLImageTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81FD1A9BDE8A00906325 /* SDLImageTypeSpec.m */; };
+ 162E82E61A9BDE8B00906325 /* SDLInteractionModeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81FE1A9BDE8A00906325 /* SDLInteractionModeSpec.m */; };
+ 162E82E71A9BDE8B00906325 /* SDLKeyboardEventSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E81FF1A9BDE8A00906325 /* SDLKeyboardEventSpec.m */; };
+ 162E82E81A9BDE8B00906325 /* SDLKeyboardLayoutSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82001A9BDE8A00906325 /* SDLKeyboardLayoutSpec.m */; };
+ 162E82E91A9BDE8B00906325 /* SDLKeypressModeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82011A9BDE8A00906325 /* SDLKeypressModeSpec.m */; };
+ 162E82EA1A9BDE8B00906325 /* SDLLanguageSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82021A9BDE8A00906325 /* SDLLanguageSpec.m */; };
+ 162E82EB1A9BDE8B00906325 /* SDLLayoutModeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82031A9BDE8A00906325 /* SDLLayoutModeSpec.m */; };
+ 162E82EC1A9BDE8B00906325 /* SDLLockScreenStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82041A9BDE8A00906325 /* SDLLockScreenStatusSpec.m */; };
+ 162E82ED1A9BDE8B00906325 /* SDLMaintenanceModeStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82051A9BDE8A00906325 /* SDLMaintenanceModeStatusSpec.m */; };
+ 162E82EE1A9BDE8B00906325 /* SDLMediaClockFormatSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82061A9BDE8A00906325 /* SDLMediaClockFormatSpec.m */; };
+ 162E82EF1A9BDE8B00906325 /* SDLPermissionStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82071A9BDE8A00906325 /* SDLPermissionStatusSpec.m */; };
+ 162E82F01A9BDE8B00906325 /* SDLPowerModeQualificationStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82081A9BDE8A00906325 /* SDLPowerModeQualificationStatusSpec.m */; };
+ 162E82F11A9BDE8B00906325 /* SDLPowerModeStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82091A9BDE8A00906325 /* SDLPowerModeStatusSpec.m */; };
+ 162E82F21A9BDE8B00906325 /* SDLPredefinedLayoutSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E820A1A9BDE8A00906325 /* SDLPredefinedLayoutSpec.m */; };
+ 162E82F31A9BDE8B00906325 /* SDLPrerecordedSpeechSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E820B1A9BDE8A00906325 /* SDLPrerecordedSpeechSpec.m */; };
+ 162E82F41A9BDE8B00906325 /* SDLPrimaryAudioSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E820C1A9BDE8A00906325 /* SDLPrimaryAudioSource.m */; };
+ 162E82F51A9BDE8B00906325 /* SDLPRNDLSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E820D1A9BDE8A00906325 /* SDLPRNDLSpec.m */; };
+ 162E82F61A9BDE8B00906325 /* SDLRequestTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E820E1A9BDE8A00906325 /* SDLRequestTypeSpec.m */; };
+ 162E82F71A9BDE8B00906325 /* SDLResultSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E820F1A9BDE8A00906325 /* SDLResultSpec.m */; };
+ 162E82F81A9BDE8B00906325 /* SDLRPCMessageTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82101A9BDE8A00906325 /* SDLRPCMessageTypeSpec.m */; };
+ 162E82F91A9BDE8B00906325 /* SDLSamplingRateSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82111A9BDE8A00906325 /* SDLSamplingRateSpec.m */; };
+ 162E82FA1A9BDE8B00906325 /* SDLSoftButtonTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82121A9BDE8A00906325 /* SDLSoftButtonTypeSpec.m */; };
+ 162E82FB1A9BDE8B00906325 /* SDLSpeechCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82131A9BDE8A00906325 /* SDLSpeechCapabilitiesSpec.m */; };
+ 162E82FC1A9BDE8B00906325 /* SDLSystemAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82141A9BDE8A00906325 /* SDLSystemAction.m */; };
+ 162E82FD1A9BDE8B00906325 /* SDLSystemContextSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82151A9BDE8A00906325 /* SDLSystemContextSpec.m */; };
+ 162E82FE1A9BDE8B00906325 /* SDLTBTStateSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82161A9BDE8A00906325 /* SDLTBTStateSpec.m */; };
+ 162E82FF1A9BDE8B00906325 /* SDLTextAlignmentSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82171A9BDE8A00906325 /* SDLTextAlignmentSpec.m */; };
+ 162E83001A9BDE8B00906325 /* SDLTextFieldNameSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82181A9BDE8A00906325 /* SDLTextFieldNameSpec.m */; };
+ 162E83011A9BDE8B00906325 /* SDLTimerModeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82191A9BDE8A00906325 /* SDLTimerModeSpec.m */; };
+ 162E83021A9BDE8B00906325 /* SDLTouchTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E821A1A9BDE8A00906325 /* SDLTouchTypeSpec.m */; };
+ 162E83031A9BDE8B00906325 /* SDLTriggerSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E821B1A9BDE8A00906325 /* SDLTriggerSource.m */; };
+ 162E83041A9BDE8B00906325 /* SDLUpdateModeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E821C1A9BDE8A00906325 /* SDLUpdateModeSpec.m */; };
+ 162E83051A9BDE8B00906325 /* SDLVehicleDataActiveStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E821D1A9BDE8A00906325 /* SDLVehicleDataActiveStatusSpec.m */; };
+ 162E83061A9BDE8B00906325 /* SDLVehicleDataEventStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E821E1A9BDE8A00906325 /* SDLVehicleDataEventStatusSpec.m */; };
+ 162E83071A9BDE8B00906325 /* SDLVehicleDataNotificationStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E821F1A9BDE8A00906325 /* SDLVehicleDataNotificationStatusSpec.m */; };
+ 162E83081A9BDE8B00906325 /* SDLVehicleDataResultCodeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82201A9BDE8A00906325 /* SDLVehicleDataResultCodeSpec.m */; };
+ 162E83091A9BDE8B00906325 /* SDLVehicleDataStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82211A9BDE8A00906325 /* SDLVehicleDataStatusSpec.m */; };
+ 162E830A1A9BDE8B00906325 /* SDLVehicleDataTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82221A9BDE8A00906325 /* SDLVehicleDataTypeSpec.m */; };
+ 162E830B1A9BDE8B00906325 /* SDLVrCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82231A9BDE8A00906325 /* SDLVrCapabilitiesSpec.m */; };
+ 162E830C1A9BDE8B00906325 /* SDLWarningLightStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82241A9BDE8A00906325 /* SDLWarningLightStatusSpec.m */; };
+ 162E830D1A9BDE8B00906325 /* SDLWiperStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82251A9BDE8A00906325 /* SDLWiperStatusSpec.m */; };
+ 162E830E1A9BDE8B00906325 /* SDLRPCRequestFactorySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82271A9BDE8A00906325 /* SDLRPCRequestFactorySpec.m */; };
+ 162E830F1A9BDE8B00906325 /* SDLOnAppInterfaceUnregisteredSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82291A9BDE8A00906325 /* SDLOnAppInterfaceUnregisteredSpec.m */; };
+ 162E83101A9BDE8B00906325 /* SDLOnAudioPassThruSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E822A1A9BDE8A00906325 /* SDLOnAudioPassThruSpec.m */; };
+ 162E83111A9BDE8B00906325 /* SDLOnButtonEventSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E822B1A9BDE8A00906325 /* SDLOnButtonEventSpec.m */; };
+ 162E83121A9BDE8B00906325 /* SDLOnButtonPressSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E822C1A9BDE8A00906325 /* SDLOnButtonPressSpec.m */; };
+ 162E83131A9BDE8B00906325 /* SDLOnCommandSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E822D1A9BDE8A00906325 /* SDLOnCommandSpec.m */; };
+ 162E83141A9BDE8B00906325 /* SDLOnDriverDistractionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E822E1A9BDE8A00906325 /* SDLOnDriverDistractionSpec.m */; };
+ 162E83151A9BDE8B00906325 /* SDLOnEncodedSyncPDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E822F1A9BDE8A00906325 /* SDLOnEncodedSyncPDataSpec.m */; };
+ 162E83161A9BDE8B00906325 /* SDLOnHashChangeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82301A9BDE8A00906325 /* SDLOnHashChangeSpec.m */; };
+ 162E83171A9BDE8B00906325 /* SDLOnHMIStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82311A9BDE8A00906325 /* SDLOnHMIStatusSpec.m */; };
+ 162E83181A9BDE8B00906325 /* SDLOnKeyboardInputSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82321A9BDE8A00906325 /* SDLOnKeyboardInputSpec.m */; };
+ 162E83191A9BDE8B00906325 /* SDLOnLanguageChangeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82331A9BDE8A00906325 /* SDLOnLanguageChangeSpec.m */; };
+ 162E831A1A9BDE8B00906325 /* SDLOnLockScreenStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82341A9BDE8A00906325 /* SDLOnLockScreenStatusSpec.m */; };
+ 162E831B1A9BDE8B00906325 /* SDLOnPermissionsChangeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82351A9BDE8A00906325 /* SDLOnPermissionsChangeSpec.m */; };
+ 162E831C1A9BDE8B00906325 /* SDLOnSyncPDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82361A9BDE8A00906325 /* SDLOnSyncPDataSpec.m */; };
+ 162E831D1A9BDE8B00906325 /* SDLOnSystemRequestSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82371A9BDE8A00906325 /* SDLOnSystemRequestSpec.m */; };
+ 162E831E1A9BDE8B00906325 /* SDLOnTBTClientStateSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82381A9BDE8A00906325 /* SDLOnTBTClientStateSpec.m */; };
+ 162E831F1A9BDE8B00906325 /* SDLOnTouchEventSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82391A9BDE8A00906325 /* SDLOnTouchEventSpec.m */; };
+ 162E83201A9BDE8B00906325 /* SDLOnVehicleDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E823A1A9BDE8A00906325 /* SDLOnVehicleDataSpec.m */; };
+ 162E83211A9BDE8B00906325 /* SDLRPCPayloadSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E823C1A9BDE8A00906325 /* SDLRPCPayloadSpec.m */; };
+ 162E83221A9BDE8B00906325 /* SDLAddCommandSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E823E1A9BDE8A00906325 /* SDLAddCommandSpec.m */; };
+ 162E83231A9BDE8B00906325 /* SDLAddSubMenuSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E823F1A9BDE8A00906325 /* SDLAddSubMenuSpec.m */; };
+ 162E83241A9BDE8B00906325 /* SDLAlertManeuverSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82401A9BDE8A00906325 /* SDLAlertManeuverSpec.m */; };
+ 162E83251A9BDE8B00906325 /* SDLAlertSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82411A9BDE8A00906325 /* SDLAlertSpec.m */; };
+ 162E83261A9BDE8B00906325 /* SDLChangeRegistrationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82421A9BDE8A00906325 /* SDLChangeRegistrationSpec.m */; };
+ 162E83271A9BDE8B00906325 /* SDLCreateInteractionChoiceSetSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82431A9BDE8A00906325 /* SDLCreateInteractionChoiceSetSpec.m */; };
+ 162E83281A9BDE8B00906325 /* SDLDeleteCommandSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82441A9BDE8A00906325 /* SDLDeleteCommandSpec.m */; };
+ 162E83291A9BDE8B00906325 /* SDLDeleteFileSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82451A9BDE8A00906325 /* SDLDeleteFileSpec.m */; };
+ 162E832A1A9BDE8B00906325 /* SDLDeleteInteractionChoiceSetSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82461A9BDE8A00906325 /* SDLDeleteInteractionChoiceSetSpec.m */; };
+ 162E832B1A9BDE8B00906325 /* SDLDeleteSubMenuSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82471A9BDE8A00906325 /* SDLDeleteSubMenuSpec.m */; };
+ 162E832C1A9BDE8B00906325 /* SDLDiagnosticMessageSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82481A9BDE8A00906325 /* SDLDiagnosticMessageSpec.m */; };
+ 162E832D1A9BDE8B00906325 /* SDLEncodedSyncPDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82491A9BDE8A00906325 /* SDLEncodedSyncPDataSpec.m */; };
+ 162E832E1A9BDE8B00906325 /* SDLEndAudioPassThruSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E824A1A9BDE8A00906325 /* SDLEndAudioPassThruSpec.m */; };
+ 162E832F1A9BDE8B00906325 /* SDLGetDTCsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E824B1A9BDE8A00906325 /* SDLGetDTCsSpec.m */; };
+ 162E83301A9BDE8B00906325 /* SDLGetVehicleDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E824C1A9BDE8A00906325 /* SDLGetVehicleDataSpec.m */; };
+ 162E83311A9BDE8B00906325 /* SDLListFilesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E824D1A9BDE8A00906325 /* SDLListFilesSpec.m */; };
+ 162E83321A9BDE8B00906325 /* SDLPerformAudioPassThruSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E824E1A9BDE8A00906325 /* SDLPerformAudioPassThruSpec.m */; };
+ 162E83331A9BDE8B00906325 /* SDLPerformInteractionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E824F1A9BDE8A00906325 /* SDLPerformInteractionSpec.m */; };
+ 162E83341A9BDE8B00906325 /* SDLPutFileSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82501A9BDE8A00906325 /* SDLPutFileSpec.m */; };
+ 162E83351A9BDE8B00906325 /* SDLReadDIDSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82511A9BDE8A00906325 /* SDLReadDIDSpec.m */; };
+ 162E83361A9BDE8B00906325 /* SDLRegisterAppInterfaceSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82521A9BDE8A00906325 /* SDLRegisterAppInterfaceSpec.m */; };
+ 162E83371A9BDE8B00906325 /* SDLResetGlobalPropertiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82531A9BDE8A00906325 /* SDLResetGlobalPropertiesSpec.m */; };
+ 162E83381A9BDE8B00906325 /* SDLScrollableMessageSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82541A9BDE8A00906325 /* SDLScrollableMessageSpec.m */; };
+ 162E83391A9BDE8B00906325 /* SDLSetAppIconSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82551A9BDE8A00906325 /* SDLSetAppIconSpec.m */; };
+ 162E833A1A9BDE8B00906325 /* SDLSetDisplayLayoutSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82561A9BDE8A00906325 /* SDLSetDisplayLayoutSpec.m */; };
+ 162E833B1A9BDE8B00906325 /* SDLSetGlobalPropertiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82571A9BDE8A00906325 /* SDLSetGlobalPropertiesSpec.m */; };
+ 162E833C1A9BDE8B00906325 /* SDLSetMediaClockTimerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82581A9BDE8A00906325 /* SDLSetMediaClockTimerSpec.m */; };
+ 162E833D1A9BDE8B00906325 /* SDLShowConstantTBTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82591A9BDE8A00906325 /* SDLShowConstantTBTSpec.m */; };
+ 162E833E1A9BDE8B00906325 /* SDLShowSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E825A1A9BDE8A00906325 /* SDLShowSpec.m */; };
+ 162E833F1A9BDE8B00906325 /* SDLSliderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E825B1A9BDE8A00906325 /* SDLSliderSpec.m */; };
+ 162E83401A9BDE8B00906325 /* SDLSpeakSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E825C1A9BDE8A00906325 /* SDLSpeakSpec.m */; };
+ 162E83411A9BDE8B00906325 /* SDLSubscribeButtonSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E825D1A9BDE8A00906325 /* SDLSubscribeButtonSpec.m */; };
+ 162E83421A9BDE8B00906325 /* SDLSubscribeVehicleDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E825E1A9BDE8A00906325 /* SDLSubscribeVehicleDataSpec.m */; };
+ 162E83431A9BDE8B00906325 /* SDLSyncPDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E825F1A9BDE8A00906325 /* SDLSyncPDataSpec.m */; };
+ 162E83441A9BDE8B00906325 /* SDLSystemRequestSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82601A9BDE8A00906325 /* SDLSystemRequestSpec.m */; };
+ 162E83451A9BDE8B00906325 /* SDLUnregisterAppInterfaceSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82611A9BDE8A00906325 /* SDLUnregisterAppInterfaceSpec.m */; };
+ 162E83461A9BDE8B00906325 /* SDLUnsubscribeButtonSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82621A9BDE8A00906325 /* SDLUnsubscribeButtonSpec.m */; };
+ 162E83471A9BDE8B00906325 /* SDLUnsubscribeVehicleDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82631A9BDE8A00906325 /* SDLUnsubscribeVehicleDataSpec.m */; };
+ 162E83481A9BDE8B00906325 /* SDLUpdateTurnListSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82641A9BDE8A00906325 /* SDLUpdateTurnListSpec.m */; };
+ 162E83491A9BDE8B00906325 /* SDLAddCommandResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82661A9BDE8A00906325 /* SDLAddCommandResponseSpec.m */; };
+ 162E834A1A9BDE8B00906325 /* SDLAddSubMenuResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82671A9BDE8A00906325 /* SDLAddSubMenuResponseSpec.m */; };
+ 162E834B1A9BDE8B00906325 /* SDLAlertManeuverResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82681A9BDE8A00906325 /* SDLAlertManeuverResponseSpec.m */; };
+ 162E834C1A9BDE8B00906325 /* SDLAlertResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82691A9BDE8A00906325 /* SDLAlertResponseSpec.m */; };
+ 162E834D1A9BDE8B00906325 /* SDLChangeRegistrationResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E826A1A9BDE8A00906325 /* SDLChangeRegistrationResponseSpec.m */; };
+ 162E834E1A9BDE8B00906325 /* SDLCreateInteractionChoiceSetResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E826B1A9BDE8A00906325 /* SDLCreateInteractionChoiceSetResponseSpec.m */; };
+ 162E834F1A9BDE8B00906325 /* SDLDeleteCommandResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E826C1A9BDE8A00906325 /* SDLDeleteCommandResponseSpec.m */; };
+ 162E83501A9BDE8B00906325 /* SDLDeleteFileResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E826D1A9BDE8A00906325 /* SDLDeleteFileResponseSpec.m */; };
+ 162E83511A9BDE8B00906325 /* SDLDeleteInteractionChoiceSetResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E826E1A9BDE8A00906325 /* SDLDeleteInteractionChoiceSetResponseSpec.m */; };
+ 162E83521A9BDE8B00906325 /* SDLDeleteSubMenuResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E826F1A9BDE8A00906325 /* SDLDeleteSubMenuResponseSpec.m */; };
+ 162E83531A9BDE8B00906325 /* SDLDiagnosticMessageResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82701A9BDE8A00906325 /* SDLDiagnosticMessageResponseSpec.m */; };
+ 162E83541A9BDE8B00906325 /* SDLEncodedSyncPDataResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82711A9BDE8A00906325 /* SDLEncodedSyncPDataResponseSpec.m */; };
+ 162E83551A9BDE8B00906325 /* SDLEndAudioPassThruResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82721A9BDE8A00906325 /* SDLEndAudioPassThruResponseSpec.m */; };
+ 162E83561A9BDE8B00906325 /* SDLGenericResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82731A9BDE8A00906325 /* SDLGenericResponseSpec.m */; };
+ 162E83571A9BDE8B00906325 /* SDLGetDTCsResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82741A9BDE8A00906325 /* SDLGetDTCsResponseSpec.m */; };
+ 162E83581A9BDE8B00906325 /* SDLGetVehicleDataResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82751A9BDE8A00906325 /* SDLGetVehicleDataResponseSpec.m */; };
+ 162E83591A9BDE8B00906325 /* SDLListFilesResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82761A9BDE8A00906325 /* SDLListFilesResponseSpec.m */; };
+ 162E835A1A9BDE8B00906325 /* SDLPerformAudioPassThruResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82771A9BDE8A00906325 /* SDLPerformAudioPassThruResponseSpec.m */; };
+ 162E835B1A9BDE8B00906325 /* SDLPerformInteractionResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82781A9BDE8A00906325 /* SDLPerformInteractionResponseSpec.m */; };
+ 162E835C1A9BDE8B00906325 /* SDLPutFileResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82791A9BDE8A00906325 /* SDLPutFileResponseSpec.m */; };
+ 162E835D1A9BDE8B00906325 /* SDLReadDIDResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E827A1A9BDE8A00906325 /* SDLReadDIDResponseSpec.m */; };
+ 162E835E1A9BDE8B00906325 /* SDLRegisterAppInterfaceResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E827B1A9BDE8A00906325 /* SDLRegisterAppInterfaceResponseSpec.m */; };
+ 162E835F1A9BDE8B00906325 /* SDLResetGlobalPropertiesResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E827C1A9BDE8A00906325 /* SDLResetGlobalPropertiesResponseSpec.m */; };
+ 162E83601A9BDE8B00906325 /* SDLScrollableMessageResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E827D1A9BDE8A00906325 /* SDLScrollableMessageResponseSpec.m */; };
+ 162E83611A9BDE8B00906325 /* SDLSetAppIconResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E827E1A9BDE8A00906325 /* SDLSetAppIconResponseSpec.m */; };
+ 162E83621A9BDE8B00906325 /* SDLSetDisplayLayoutResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E827F1A9BDE8A00906325 /* SDLSetDisplayLayoutResponseSpec.m */; };
+ 162E83631A9BDE8B00906325 /* SDLSetGlobalPropertiesResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82801A9BDE8A00906325 /* SDLSetGlobalPropertiesResponseSpec.m */; };
+ 162E83641A9BDE8B00906325 /* SDLSetMediaClockTimerResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82811A9BDE8A00906325 /* SDLSetMediaClockTimerResponseSpec.m */; };
+ 162E83651A9BDE8B00906325 /* SDLShowConstantTBTResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82821A9BDE8A00906325 /* SDLShowConstantTBTResponseSpec.m */; };
+ 162E83661A9BDE8B00906325 /* SDLShowResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82831A9BDE8A00906325 /* SDLShowResponseSpec.m */; };
+ 162E83671A9BDE8B00906325 /* SDLSliderResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82841A9BDE8A00906325 /* SDLSliderResponseSpec.m */; };
+ 162E83681A9BDE8B00906325 /* SDLSpeakResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82851A9BDE8A00906325 /* SDLSpeakResponseSpec.m */; };
+ 162E83691A9BDE8B00906325 /* SDLSubscribeButtonResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82861A9BDE8A00906325 /* SDLSubscribeButtonResponseSpec.m */; };
+ 162E836A1A9BDE8B00906325 /* SDLSubscribeVehicleDataResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82871A9BDE8A00906325 /* SDLSubscribeVehicleDataResponseSpec.m */; };
+ 162E836B1A9BDE8B00906325 /* SDLSyncPDataResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82881A9BDE8A00906325 /* SDLSyncPDataResponseSpec.m */; };
+ 162E836C1A9BDE8B00906325 /* SDLSystemRequestResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82891A9BDE8A00906325 /* SDLSystemRequestResponseSpec.m */; };
+ 162E836D1A9BDE8B00906325 /* SDLUnregisterAppInterfaceResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E828A1A9BDE8A00906325 /* SDLUnregisterAppInterfaceResponseSpec.m */; };
+ 162E836E1A9BDE8B00906325 /* SDLUnsubscribeButtonResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E828B1A9BDE8A00906325 /* SDLUnsubscribeButtonResponseSpec.m */; };
+ 162E836F1A9BDE8B00906325 /* SDLUnsubscribeVehicleDataResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E828C1A9BDE8A00906325 /* SDLUnsubscribeVehicleDataResponseSpec.m */; };
+ 162E83701A9BDE8B00906325 /* SDLUpdateTurnListResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E828D1A9BDE8A00906325 /* SDLUpdateTurnListResponseSpec.m */; };
+ 162E83711A9BDE8B00906325 /* SDLAirbagStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E828F1A9BDE8A00906325 /* SDLAirbagStatusSpec.m */; };
+ 162E83721A9BDE8B00906325 /* SDLAudioPassThruCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82901A9BDE8A00906325 /* SDLAudioPassThruCapabilitiesSpec.m */; };
+ 162E83731A9BDE8B00906325 /* SDLBeltStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82911A9BDE8A00906325 /* SDLBeltStatusSpec.m */; };
+ 162E83741A9BDE8B00906325 /* SDLBodyInformationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82921A9BDE8A00906325 /* SDLBodyInformationSpec.m */; };
+ 162E83751A9BDE8B00906325 /* SDLButtonCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82931A9BDE8A00906325 /* SDLButtonCapabilitiesSpec.m */; };
+ 162E83761A9BDE8B00906325 /* SDLChoiceSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82941A9BDE8A00906325 /* SDLChoiceSpec.m */; };
+ 162E83771A9BDE8B00906325 /* SDLClusterModeStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82951A9BDE8A00906325 /* SDLClusterModeStatusSpec.m */; };
+ 162E83781A9BDE8B00906325 /* SDLDeviceInfoSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82961A9BDE8A00906325 /* SDLDeviceInfoSpec.m */; };
+ 162E83791A9BDE8B00906325 /* SDLDeviceStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82971A9BDE8A00906325 /* SDLDeviceStatusSpec.m */; };
+ 162E837A1A9BDE8B00906325 /* SDLDIDResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82981A9BDE8A00906325 /* SDLDIDResult.m */; };
+ 162E837B1A9BDE8B00906325 /* SDLDisplayCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82991A9BDE8A00906325 /* SDLDisplayCapabilitiesSpec.m */; };
+ 162E837C1A9BDE8B00906325 /* SDLECallInfoSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E829A1A9BDE8A00906325 /* SDLECallInfoSpec.m */; };
+ 162E837D1A9BDE8B00906325 /* SDLEmergencyEventSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E829B1A9BDE8A00906325 /* SDLEmergencyEventSpec.m */; };
+ 162E837E1A9BDE8B00906325 /* SDLGPSDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E829C1A9BDE8A00906325 /* SDLGPSDataSpec.m */; };
+ 162E837F1A9BDE8B00906325 /* SDLHeadLampStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E829D1A9BDE8A00906325 /* SDLHeadLampStatusSpec.m */; };
+ 162E83801A9BDE8B00906325 /* SDLHMIPermissionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E829E1A9BDE8A00906325 /* SDLHMIPermissionsSpec.m */; };
+ 162E83811A9BDE8B00906325 /* SDLImageFieldSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E829F1A9BDE8A00906325 /* SDLImageFieldSpec.m */; };
+ 162E83821A9BDE8B00906325 /* SDLImageSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A01A9BDE8A00906325 /* SDLImageSpec.m */; };
+ 162E83831A9BDE8B00906325 /* SDLKeyboardPropertiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A11A9BDE8A00906325 /* SDLKeyboardPropertiesSpec.m */; };
+ 162E83841A9BDE8B00906325 /* SDLMenuParamsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A21A9BDE8A00906325 /* SDLMenuParamsSpec.m */; };
+ 162E83851A9BDE8B00906325 /* SDLMyKeySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A31A9BDE8A00906325 /* SDLMyKeySpec.m */; };
+ 162E83861A9BDE8B00906325 /* SDLParameterPermissionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A41A9BDE8A00906325 /* SDLParameterPermissionsSpec.m */; };
+ 162E83871A9BDE8B00906325 /* SDLPermissionItemSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A51A9BDE8A00906325 /* SDLPermissionItemSpec.m */; };
+ 162E83881A9BDE8B00906325 /* SDLPresetBankCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A61A9BDE8A00906325 /* SDLPresetBankCapabilitiesSpec.m */; };
+ 162E83891A9BDE8B00906325 /* SDLScreenParamsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A71A9BDE8A00906325 /* SDLScreenParamsSpec.m */; };
+ 162E838A1A9BDE8B00906325 /* SDLSingleTireStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A81A9BDE8A00906325 /* SDLSingleTireStatusSpec.m */; };
+ 162E838B1A9BDE8B00906325 /* SDLSoftButtonCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82A91A9BDE8A00906325 /* SDLSoftButtonCapabilitiesSpec.m */; };
+ 162E838C1A9BDE8B00906325 /* SDLSoftButtonSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82AA1A9BDE8A00906325 /* SDLSoftButtonSpec.m */; };
+ 162E838D1A9BDE8B00906325 /* SDLStartTimeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82AB1A9BDE8A00906325 /* SDLStartTimeSpec.m */; };
+ 162E838E1A9BDE8B00906325 /* SDLSyncMsgVersionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82AC1A9BDE8A00906325 /* SDLSyncMsgVersionSpec.m */; };
+ 162E838F1A9BDE8B00906325 /* SDLTextFieldSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82AD1A9BDE8A00906325 /* SDLTextFieldSpec.m */; };
+ 162E83901A9BDE8B00906325 /* SDLTireStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82AE1A9BDE8A00906325 /* SDLTireStatusSpec.m */; };
+ 162E83911A9BDE8B00906325 /* SDLTouchCoordSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82AF1A9BDE8A00906325 /* SDLTouchCoordSpec.m */; };
+ 162E83921A9BDE8B00906325 /* SDLTouchEventCapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B01A9BDE8A00906325 /* SDLTouchEventCapabilitiesSpec.m */; };
+ 162E83931A9BDE8B00906325 /* SDLTouchEventSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B11A9BDE8A00906325 /* SDLTouchEventSpec.m */; };
+ 162E83941A9BDE8B00906325 /* SDLTTSChunkSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B21A9BDE8A00906325 /* SDLTTSChunkSpec.m */; };
+ 162E83951A9BDE8B00906325 /* SDLTurnSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B31A9BDE8A00906325 /* SDLTurnSpec.m */; };
+ 162E83961A9BDE8B00906325 /* SDLVehicleDataResultSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B41A9BDE8A00906325 /* SDLVehicleDataResultSpec.m */; };
+ 162E83971A9BDE8B00906325 /* SDLVehicleTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B51A9BDE8A00906325 /* SDLVehicleTypeSpec.m */; };
+ 162E83981A9BDE8B00906325 /* SDLVrHelpItemSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B61A9BDE8A00906325 /* SDLVrHelpItemSpec.m */; };
+ 162E83991A9BDE8B00906325 /* SDLEnumSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B81A9BDE8A00906325 /* SDLEnumSpec.m */; };
+ 162E839A1A9BDE8B00906325 /* SDLRPCMessageSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82B91A9BDE8A00906325 /* SDLRPCMessageSpec.m */; };
+ 162E839B1A9BDE8B00906325 /* SDLRPCNotificationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82BA1A9BDE8A00906325 /* SDLRPCNotificationSpec.m */; };
+ 162E839C1A9BDE8B00906325 /* SDLRPCRequestSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82BB1A9BDE8A00906325 /* SDLRPCRequestSpec.m */; };
+ 162E839D1A9BDE8B00906325 /* SDLRPCResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82BC1A9BDE8A00906325 /* SDLRPCResponseSpec.m */; };
+ 162E839E1A9BDE8B00906325 /* SDLRPCStructSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82BD1A9BDE8A00906325 /* SDLRPCStructSpec.m */; };
+ 167ED92F1A9BB87900797BE5 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 167ED9241A9BB87900797BE5 /* libOCMock.a */; };
+ 167ED93C1A9BCB8A00797BE5 /* SmartDeviceLink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D61FA1C1A84237100846EE7 /* SmartDeviceLink.framework */; };
+ 167ED9461A9BCE5D00797BE5 /* SwiftSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 167ED9451A9BCE5D00797BE5 /* SwiftSpec.swift */; };
+ 1680B1131A9CD7AD00DBD79E /* SDLProtocolHeaderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1061A9CD7AD00DBD79E /* SDLProtocolHeaderSpec.m */; };
+ 1680B1141A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1071A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m */; };
+ 1680B1151A9CD7AD00DBD79E /* SDLV2ProtocolHeaderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1081A9CD7AD00DBD79E /* SDLV2ProtocolHeaderSpec.m */; };
+ 1680B1161A9CD7AD00DBD79E /* SDLProtocolMessageSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B10A1A9CD7AD00DBD79E /* SDLProtocolMessageSpec.m */; };
+ 1680B1171A9CD7AD00DBD79E /* SDLProtocolSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B10B1A9CD7AD00DBD79E /* SDLProtocolSpec.m */; };
+ 1680B1181A9CD7AD00DBD79E /* SDLV1ProtocolMessageSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B10C1A9CD7AD00DBD79E /* SDLV1ProtocolMessageSpec.m */; };
+ 1680B1191A9CD7AD00DBD79E /* SDLV2ProtocolMessageSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B10D1A9CD7AD00DBD79E /* SDLV2ProtocolMessageSpec.m */; };
+ 1680B11A1A9CD7AD00DBD79E /* SDLAbstractProtocolSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B10E1A9CD7AD00DBD79E /* SDLAbstractProtocolSpec.m */; };
+ 1680B11B1A9CD7AD00DBD79E /* SDLFunctionIDSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B10F1A9CD7AD00DBD79E /* SDLFunctionIDSpec.m */; };
+ 1680B11C1A9CD7AD00DBD79E /* SDLProtocolMessageAssemblerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1101A9CD7AD00DBD79E /* SDLProtocolMessageAssemblerSpec.m */; };
+ 1680B11D1A9CD7AD00DBD79E /* SDLProtocolMessageDisassemblerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1111A9CD7AD00DBD79E /* SDLProtocolMessageDisassemblerSpec.m */; };
+ 1680B11E1A9CD7AD00DBD79E /* SDLProtocolReceivedMessageRouterSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1121A9CD7AD00DBD79E /* SDLProtocolReceivedMessageRouterSpec.m */; };
5D0218F61A8E79C400D1BF62 /* ConnectionTCPTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0218F51A8E79C400D1BF62 /* ConnectionTCPTableViewController.m */; };
5D0218F91A8E7A7300D1BF62 /* ConnectionTCPTableViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5D0218F71A8E7A7300D1BF62 /* ConnectionTCPTableViewController.storyboard */; };
5D0218FC1A8E7E1700D1BF62 /* ConnectionContainerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0218FB1A8E7E1700D1BF62 /* ConnectionContainerViewController.m */; };
@@ -22,11 +254,8 @@
5D59350F1A855EB300687FB9 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D59350C1A855EB300687FB9 /* AppDelegate.m */; };
5D5935121A855EBE00687FB9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5935111A855EBE00687FB9 /* main.m */; };
5D61FA211A84237100846EE7 /* SmartDeviceLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FA201A84237100846EE7 /* SmartDeviceLink.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 5D61FA271A84237100846EE7 /* SmartDeviceLink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D61FA1C1A84237100846EE7 /* SmartDeviceLink.framework */; };
- 5D61FA301A84237100846EE7 /* SmartDeviceLinkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FA2F1A84237100846EE7 /* SmartDeviceLinkTests.m */; };
5D61FA331A84237100846EE7 /* SmartDeviceLink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D61FA1C1A84237100846EE7 /* SmartDeviceLink.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
5D61FA341A84237100846EE7 /* SmartDeviceLink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5D61FA1C1A84237100846EE7 /* SmartDeviceLink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
- 5D61FC281A84238C00846EE7 /* ISDLProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FA3B1A84238A00846EE7 /* ISDLProxy.h */; };
5D61FC291A84238C00846EE7 /* SDLAbstractProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FA3C1A84238A00846EE7 /* SDLAbstractProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
5D61FC2A1A84238C00846EE7 /* SDLAbstractProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FA3D1A84238A00846EE7 /* SDLAbstractProtocol.m */; };
5D61FC2B1A84238C00846EE7 /* SDLAbstractTransport.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FA3E1A84238A00846EE7 /* SDLAbstractTransport.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -320,8 +549,8 @@
5D61FD4B1A84238C00846EE7 /* SDLProtocolMessageAssembler.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FB5E1A84238B00846EE7 /* SDLProtocolMessageAssembler.m */; };
5D61FD4C1A84238C00846EE7 /* SDLProtocolMessageDisassembler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FB5F1A84238B00846EE7 /* SDLProtocolMessageDisassembler.h */; };
5D61FD4D1A84238C00846EE7 /* SDLProtocolMessageDisassembler.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FB601A84238B00846EE7 /* SDLProtocolMessageDisassembler.m */; };
- 5D61FD4E1A84238C00846EE7 /* SDLProtocolRecievedMessageRouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FB611A84238B00846EE7 /* SDLProtocolRecievedMessageRouter.h */; };
- 5D61FD4F1A84238C00846EE7 /* SDLProtocolRecievedMessageRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FB621A84238B00846EE7 /* SDLProtocolRecievedMessageRouter.m */; };
+ 5D61FD4E1A84238C00846EE7 /* SDLProtocolReceivedMessageRouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FB611A84238B00846EE7 /* SDLProtocolReceivedMessageRouter.h */; };
+ 5D61FD4F1A84238C00846EE7 /* SDLProtocolReceivedMessageRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FB621A84238B00846EE7 /* SDLProtocolReceivedMessageRouter.m */; };
5D61FD501A84238C00846EE7 /* SDLProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FB631A84238B00846EE7 /* SDLProxy.h */; settings = {ATTRIBUTES = (Public, ); }; };
5D61FD511A84238C00846EE7 /* SDLProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FB641A84238B00846EE7 /* SDLProxy.m */; };
5D61FD521A84238C00846EE7 /* SDLProxyFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FB651A84238B00846EE7 /* SDLProxyFactory.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -511,14 +740,36 @@
5D61FE0A1A84238C00846EE7 /* SDLVehicleDataType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FC1D1A84238C00846EE7 /* SDLVehicleDataType.m */; };
5D61FE0B1A84238C00846EE7 /* SDLVehicleType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FC1E1A84238C00846EE7 /* SDLVehicleType.h */; settings = {ATTRIBUTES = (Public, ); }; };
5D61FE0C1A84238C00846EE7 /* SDLVehicleType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FC1F1A84238C00846EE7 /* SDLVehicleType.m */; };
- 5D61FE0D1A84238C00846EE7 /* SDLVrCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FC201A84238C00846EE7 /* SDLVrCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 5D61FE0E1A84238C00846EE7 /* SDLVrCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FC211A84238C00846EE7 /* SDLVrCapabilities.m */; };
- 5D61FE0F1A84238C00846EE7 /* SDLVrHelpItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FC221A84238C00846EE7 /* SDLVrHelpItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 5D61FE101A84238C00846EE7 /* SDLVrHelpItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FC231A84238C00846EE7 /* SDLVrHelpItem.m */; };
+ 5D61FE0D1A84238C00846EE7 /* SDLVRCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FC201A84238C00846EE7 /* SDLVRCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5D61FE0E1A84238C00846EE7 /* SDLVRCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FC211A84238C00846EE7 /* SDLVRCapabilities.m */; };
+ 5D61FE0F1A84238C00846EE7 /* SDLVRHelpItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FC221A84238C00846EE7 /* SDLVRHelpItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5D61FE101A84238C00846EE7 /* SDLVRHelpItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FC231A84238C00846EE7 /* SDLVRHelpItem.m */; };
5D61FE111A84238C00846EE7 /* SDLWarningLightStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FC241A84238C00846EE7 /* SDLWarningLightStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
5D61FE121A84238C00846EE7 /* SDLWarningLightStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FC251A84238C00846EE7 /* SDLWarningLightStatus.m */; };
5D61FE131A84238C00846EE7 /* SDLWiperStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D61FC261A84238C00846EE7 /* SDLWiperStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
5D61FE141A84238C00846EE7 /* SDLWiperStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D61FC271A84238C00846EE7 /* SDLWiperStatus.m */; };
+ 5D8B174F1AC9D266006A6E1C /* SDLDialNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D8B174D1AC9D266006A6E1C /* SDLDialNumber.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5D8B17501AC9D266006A6E1C /* SDLDialNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D8B174E1AC9D266006A6E1C /* SDLDialNumber.m */; };
+ 5D8B17531AC9E11B006A6E1C /* SDLDialNumberResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D8B17511AC9E11B006A6E1C /* SDLDialNumberResponse.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5D8B17541AC9E11B006A6E1C /* SDLDialNumberResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D8B17521AC9E11B006A6E1C /* SDLDialNumberResponse.m */; };
+ 5D8B17561AC9E399006A6E1C /* SDLDialNumberSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D8B17551AC9E399006A6E1C /* SDLDialNumberSpec.m */; };
+ 5DA026901AD44EE700019F86 /* SDLDialNumberResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DA0268F1AD44EE700019F86 /* SDLDialNumberResponseSpec.m */; };
+ 5DB92D241AC47B2C00C15BB0 /* SDLHexUtilitySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DB92D231AC47B2C00C15BB0 /* SDLHexUtilitySpec.m */; };
+ 5DB92D261AC4836F00C15BB0 /* SDLJingleSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DB92D251AC4836F00C15BB0 /* SDLJingleSpec.m */; };
+ 5DB92D2D1AC4A34F00C15BB0 /* SDLPrioritizedObjectCollectionSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DB92D2C1AC4A34F00C15BB0 /* SDLPrioritizedObjectCollectionSpec.m */; };
+ 5DB92D2F1AC59F0000C15BB0 /* SDLObjectWithPrioritySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DB92D2E1AC59F0000C15BB0 /* SDLObjectWithPrioritySpec.m */; };
+ 5DB92D321AC9C8BA00C15BB0 /* SDLRPCStruct.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DB92D301AC9C8BA00C15BB0 /* SDLRPCStruct.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5DB92D331AC9C8BA00C15BB0 /* SDLRPCStruct.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DB92D311AC9C8BA00C15BB0 /* SDLRPCStruct.m */; };
+ 5DCF76F51ACDBAD300BB647B /* SDLSendLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DCF76F31ACDBAD300BB647B /* SDLSendLocation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5DCF76F61ACDBAD300BB647B /* SDLSendLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DCF76F41ACDBAD300BB647B /* SDLSendLocation.m */; };
+ 5DCF76F91ACDD7CD00BB647B /* SDLSendLocationResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DCF76F71ACDD7CD00BB647B /* SDLSendLocationResponse.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5DCF76FA1ACDD7CD00BB647B /* SDLSendLocationResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DCF76F81ACDD7CD00BB647B /* SDLSendLocationResponse.m */; };
+ 5DCF76FC1ACDDB4200BB647B /* SDLSendLocationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DCF76FB1ACDDB4200BB647B /* SDLSendLocationSpec.m */; };
+ 5DCF76FE1ACDDB5A00BB647B /* SDLSendLocationResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DCF76FD1ACDDB5A00BB647B /* SDLSendLocationResponseSpec.m */; };
+ 5DE372A11ACB2ED300849FAA /* SDLHMICapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DE3729F1ACB2ED300849FAA /* SDLHMICapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5DE372A21ACB2ED300849FAA /* SDLHMICapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DE372A01ACB2ED300849FAA /* SDLHMICapabilities.m */; };
+ 5DE372A41ACB336600849FAA /* SDLHMICapabilitiesSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DE372A31ACB336600849FAA /* SDLHMICapabilitiesSpec.m */; };
+ 5DE372A61ACC35B400849FAA /* SDLDebugToolConsole.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DE372A51ACC35B400849FAA /* SDLDebugToolConsole.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -546,6 +797,17 @@
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
+ 162E81CE1A9BDDBB00906325 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 162E81CF1A9BDDD800906325 /* Nimble.framework in CopyFiles */,
+ 162E81D01A9BDDD800906325 /* Quick.framework in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
5D401CE11A76ED0B0006B0C2 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
@@ -560,6 +822,244 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ 162E81C81A9BDD3F00906325 /* Nimble.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Nimble.framework; path = Carthage/Build/iOS/Nimble.framework; sourceTree = "<group>"; };
+ 162E81C91A9BDD3F00906325 /* Quick.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quick.framework; path = Carthage/Build/iOS/Quick.framework; 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>"; };
+ 162E81E51A9BDE8A00906325 /* SDLAudioStreamingStateSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAudioStreamingStateSpec.m; sourceTree = "<group>"; };
+ 162E81E61A9BDE8A00906325 /* SDLAudioTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAudioTypeSpec.m; sourceTree = "<group>"; };
+ 162E81E71A9BDE8A00906325 /* SDLBitsPerSampleSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLBitsPerSampleSpec.m; sourceTree = "<group>"; };
+ 162E81E81A9BDE8A00906325 /* SDLButtonEventModeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLButtonEventModeSpec.m; sourceTree = "<group>"; };
+ 162E81E91A9BDE8A00906325 /* SDLButtonNameSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLButtonNameSpec.m; sourceTree = "<group>"; };
+ 162E81EA1A9BDE8A00906325 /* SDLButtonPressModeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLButtonPressModeSpec.m; sourceTree = "<group>"; };
+ 162E81EB1A9BDE8A00906325 /* SDLCarModeStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLCarModeStatusSpec.m; sourceTree = "<group>"; };
+ 162E81EC1A9BDE8A00906325 /* SDLCharacterSetSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLCharacterSetSpec.m; sourceTree = "<group>"; };
+ 162E81ED1A9BDE8A00906325 /* SDLCompassDirectionSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLCompassDirectionSpec.m; sourceTree = "<group>"; };
+ 162E81EE1A9BDE8A00906325 /* SDLComponentVolumeStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLComponentVolumeStatusSpec.m; sourceTree = "<group>"; };
+ 162E81EF1A9BDE8A00906325 /* SDLDeviceLevelStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeviceLevelStatusSpec.m; sourceTree = "<group>"; };
+ 162E81F01A9BDE8A00906325 /* SDLDimensionSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDimensionSpec.m; sourceTree = "<group>"; };
+ 162E81F11A9BDE8A00906325 /* SDLDisplayTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDisplayTypeSpec.m; sourceTree = "<group>"; };
+ 162E81F21A9BDE8A00906325 /* SDLDriverDistractionStateSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDriverDistractionStateSpec.m; sourceTree = "<group>"; };
+ 162E81F31A9BDE8A00906325 /* SDLECallConfirmationStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLECallConfirmationStatusSpec.m; sourceTree = "<group>"; };
+ 162E81F41A9BDE8A00906325 /* SDLEmergencyEventTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLEmergencyEventTypeSpec.m; sourceTree = "<group>"; };
+ 162E81F51A9BDE8A00906325 /* SDLFileTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLFileTypeSpec.m; sourceTree = "<group>"; };
+ 162E81F61A9BDE8A00906325 /* SDLFuelCutoffStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLFuelCutoffStatusSpec.m; sourceTree = "<group>"; };
+ 162E81F71A9BDE8A00906325 /* SDLGlobalProperySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLGlobalProperySpec.m; sourceTree = "<group>"; };
+ 162E81F81A9BDE8A00906325 /* SDLHMILevelSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLHMILevelSpec.m; sourceTree = "<group>"; };
+ 162E81F91A9BDE8A00906325 /* SDLHMIZoneCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLHMIZoneCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E81FA1A9BDE8A00906325 /* SDLIgnitionStableStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLIgnitionStableStatusSpec.m; sourceTree = "<group>"; };
+ 162E81FB1A9BDE8A00906325 /* SDLIgnitionStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLIgnitionStatusSpec.m; sourceTree = "<group>"; };
+ 162E81FC1A9BDE8A00906325 /* SDLImageFieldNameSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLImageFieldNameSpec.m; sourceTree = "<group>"; };
+ 162E81FD1A9BDE8A00906325 /* SDLImageTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLImageTypeSpec.m; sourceTree = "<group>"; };
+ 162E81FE1A9BDE8A00906325 /* SDLInteractionModeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLInteractionModeSpec.m; sourceTree = "<group>"; };
+ 162E81FF1A9BDE8A00906325 /* SDLKeyboardEventSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLKeyboardEventSpec.m; sourceTree = "<group>"; };
+ 162E82001A9BDE8A00906325 /* SDLKeyboardLayoutSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLKeyboardLayoutSpec.m; sourceTree = "<group>"; };
+ 162E82011A9BDE8A00906325 /* SDLKeypressModeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLKeypressModeSpec.m; sourceTree = "<group>"; };
+ 162E82021A9BDE8A00906325 /* SDLLanguageSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLLanguageSpec.m; sourceTree = "<group>"; };
+ 162E82031A9BDE8A00906325 /* SDLLayoutModeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLLayoutModeSpec.m; sourceTree = "<group>"; };
+ 162E82041A9BDE8A00906325 /* SDLLockScreenStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLLockScreenStatusSpec.m; sourceTree = "<group>"; };
+ 162E82051A9BDE8A00906325 /* SDLMaintenanceModeStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLMaintenanceModeStatusSpec.m; sourceTree = "<group>"; };
+ 162E82061A9BDE8A00906325 /* SDLMediaClockFormatSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLMediaClockFormatSpec.m; sourceTree = "<group>"; };
+ 162E82071A9BDE8A00906325 /* SDLPermissionStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPermissionStatusSpec.m; sourceTree = "<group>"; };
+ 162E82081A9BDE8A00906325 /* SDLPowerModeQualificationStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPowerModeQualificationStatusSpec.m; sourceTree = "<group>"; };
+ 162E82091A9BDE8A00906325 /* SDLPowerModeStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPowerModeStatusSpec.m; sourceTree = "<group>"; };
+ 162E820A1A9BDE8A00906325 /* SDLPredefinedLayoutSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPredefinedLayoutSpec.m; sourceTree = "<group>"; };
+ 162E820B1A9BDE8A00906325 /* SDLPrerecordedSpeechSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPrerecordedSpeechSpec.m; sourceTree = "<group>"; };
+ 162E820C1A9BDE8A00906325 /* SDLPrimaryAudioSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPrimaryAudioSource.m; sourceTree = "<group>"; };
+ 162E820D1A9BDE8A00906325 /* SDLPRNDLSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPRNDLSpec.m; sourceTree = "<group>"; };
+ 162E820E1A9BDE8A00906325 /* SDLRequestTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRequestTypeSpec.m; sourceTree = "<group>"; };
+ 162E820F1A9BDE8A00906325 /* SDLResultSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLResultSpec.m; sourceTree = "<group>"; };
+ 162E82101A9BDE8A00906325 /* SDLRPCMessageTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCMessageTypeSpec.m; sourceTree = "<group>"; };
+ 162E82111A9BDE8A00906325 /* SDLSamplingRateSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSamplingRateSpec.m; sourceTree = "<group>"; };
+ 162E82121A9BDE8A00906325 /* SDLSoftButtonTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSoftButtonTypeSpec.m; sourceTree = "<group>"; };
+ 162E82131A9BDE8A00906325 /* SDLSpeechCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSpeechCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E82141A9BDE8A00906325 /* SDLSystemAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSystemAction.m; sourceTree = "<group>"; };
+ 162E82151A9BDE8A00906325 /* SDLSystemContextSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSystemContextSpec.m; sourceTree = "<group>"; };
+ 162E82161A9BDE8A00906325 /* SDLTBTStateSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTBTStateSpec.m; sourceTree = "<group>"; };
+ 162E82171A9BDE8A00906325 /* SDLTextAlignmentSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTextAlignmentSpec.m; sourceTree = "<group>"; };
+ 162E82181A9BDE8A00906325 /* SDLTextFieldNameSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTextFieldNameSpec.m; sourceTree = "<group>"; };
+ 162E82191A9BDE8A00906325 /* SDLTimerModeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTimerModeSpec.m; sourceTree = "<group>"; };
+ 162E821A1A9BDE8A00906325 /* SDLTouchTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTouchTypeSpec.m; sourceTree = "<group>"; };
+ 162E821B1A9BDE8A00906325 /* SDLTriggerSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTriggerSource.m; sourceTree = "<group>"; };
+ 162E821C1A9BDE8A00906325 /* SDLUpdateModeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUpdateModeSpec.m; sourceTree = "<group>"; };
+ 162E821D1A9BDE8A00906325 /* SDLVehicleDataActiveStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleDataActiveStatusSpec.m; sourceTree = "<group>"; };
+ 162E821E1A9BDE8A00906325 /* SDLVehicleDataEventStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleDataEventStatusSpec.m; sourceTree = "<group>"; };
+ 162E821F1A9BDE8A00906325 /* SDLVehicleDataNotificationStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleDataNotificationStatusSpec.m; sourceTree = "<group>"; };
+ 162E82201A9BDE8A00906325 /* SDLVehicleDataResultCodeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleDataResultCodeSpec.m; sourceTree = "<group>"; };
+ 162E82211A9BDE8A00906325 /* SDLVehicleDataStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleDataStatusSpec.m; sourceTree = "<group>"; };
+ 162E82221A9BDE8A00906325 /* SDLVehicleDataTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleDataTypeSpec.m; sourceTree = "<group>"; };
+ 162E82231A9BDE8A00906325 /* SDLVrCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVrCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E82241A9BDE8A00906325 /* SDLWarningLightStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLWarningLightStatusSpec.m; sourceTree = "<group>"; };
+ 162E82251A9BDE8A00906325 /* SDLWiperStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLWiperStatusSpec.m; sourceTree = "<group>"; };
+ 162E82271A9BDE8A00906325 /* SDLRPCRequestFactorySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCRequestFactorySpec.m; sourceTree = "<group>"; };
+ 162E82291A9BDE8A00906325 /* SDLOnAppInterfaceUnregisteredSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnAppInterfaceUnregisteredSpec.m; sourceTree = "<group>"; };
+ 162E822A1A9BDE8A00906325 /* SDLOnAudioPassThruSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnAudioPassThruSpec.m; sourceTree = "<group>"; };
+ 162E822B1A9BDE8A00906325 /* SDLOnButtonEventSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnButtonEventSpec.m; sourceTree = "<group>"; };
+ 162E822C1A9BDE8A00906325 /* SDLOnButtonPressSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnButtonPressSpec.m; sourceTree = "<group>"; };
+ 162E822D1A9BDE8A00906325 /* SDLOnCommandSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnCommandSpec.m; sourceTree = "<group>"; };
+ 162E822E1A9BDE8A00906325 /* SDLOnDriverDistractionSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnDriverDistractionSpec.m; sourceTree = "<group>"; };
+ 162E822F1A9BDE8A00906325 /* SDLOnEncodedSyncPDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnEncodedSyncPDataSpec.m; sourceTree = "<group>"; };
+ 162E82301A9BDE8A00906325 /* SDLOnHashChangeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnHashChangeSpec.m; sourceTree = "<group>"; };
+ 162E82311A9BDE8A00906325 /* SDLOnHMIStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnHMIStatusSpec.m; sourceTree = "<group>"; };
+ 162E82321A9BDE8A00906325 /* SDLOnKeyboardInputSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnKeyboardInputSpec.m; sourceTree = "<group>"; };
+ 162E82331A9BDE8A00906325 /* SDLOnLanguageChangeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnLanguageChangeSpec.m; sourceTree = "<group>"; };
+ 162E82341A9BDE8A00906325 /* SDLOnLockScreenStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnLockScreenStatusSpec.m; sourceTree = "<group>"; };
+ 162E82351A9BDE8A00906325 /* SDLOnPermissionsChangeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnPermissionsChangeSpec.m; sourceTree = "<group>"; };
+ 162E82361A9BDE8A00906325 /* SDLOnSyncPDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnSyncPDataSpec.m; sourceTree = "<group>"; };
+ 162E82371A9BDE8A00906325 /* SDLOnSystemRequestSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnSystemRequestSpec.m; sourceTree = "<group>"; };
+ 162E82381A9BDE8A00906325 /* SDLOnTBTClientStateSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnTBTClientStateSpec.m; sourceTree = "<group>"; };
+ 162E82391A9BDE8A00906325 /* SDLOnTouchEventSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnTouchEventSpec.m; sourceTree = "<group>"; };
+ 162E823A1A9BDE8A00906325 /* SDLOnVehicleDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnVehicleDataSpec.m; sourceTree = "<group>"; };
+ 162E823C1A9BDE8A00906325 /* SDLRPCPayloadSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCPayloadSpec.m; sourceTree = "<group>"; };
+ 162E823E1A9BDE8A00906325 /* SDLAddCommandSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAddCommandSpec.m; sourceTree = "<group>"; };
+ 162E823F1A9BDE8A00906325 /* SDLAddSubMenuSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAddSubMenuSpec.m; sourceTree = "<group>"; };
+ 162E82401A9BDE8A00906325 /* SDLAlertManeuverSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAlertManeuverSpec.m; sourceTree = "<group>"; };
+ 162E82411A9BDE8A00906325 /* SDLAlertSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAlertSpec.m; sourceTree = "<group>"; };
+ 162E82421A9BDE8A00906325 /* SDLChangeRegistrationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLChangeRegistrationSpec.m; sourceTree = "<group>"; };
+ 162E82431A9BDE8A00906325 /* SDLCreateInteractionChoiceSetSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLCreateInteractionChoiceSetSpec.m; sourceTree = "<group>"; };
+ 162E82441A9BDE8A00906325 /* SDLDeleteCommandSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteCommandSpec.m; sourceTree = "<group>"; };
+ 162E82451A9BDE8A00906325 /* SDLDeleteFileSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteFileSpec.m; sourceTree = "<group>"; };
+ 162E82461A9BDE8A00906325 /* SDLDeleteInteractionChoiceSetSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteInteractionChoiceSetSpec.m; sourceTree = "<group>"; };
+ 162E82471A9BDE8A00906325 /* SDLDeleteSubMenuSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteSubMenuSpec.m; sourceTree = "<group>"; };
+ 162E82481A9BDE8A00906325 /* SDLDiagnosticMessageSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDiagnosticMessageSpec.m; sourceTree = "<group>"; };
+ 162E82491A9BDE8A00906325 /* SDLEncodedSyncPDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLEncodedSyncPDataSpec.m; sourceTree = "<group>"; };
+ 162E824A1A9BDE8A00906325 /* SDLEndAudioPassThruSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLEndAudioPassThruSpec.m; sourceTree = "<group>"; };
+ 162E824B1A9BDE8A00906325 /* SDLGetDTCsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLGetDTCsSpec.m; sourceTree = "<group>"; };
+ 162E824C1A9BDE8A00906325 /* SDLGetVehicleDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLGetVehicleDataSpec.m; sourceTree = "<group>"; };
+ 162E824D1A9BDE8A00906325 /* SDLListFilesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLListFilesSpec.m; sourceTree = "<group>"; };
+ 162E824E1A9BDE8A00906325 /* SDLPerformAudioPassThruSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPerformAudioPassThruSpec.m; sourceTree = "<group>"; };
+ 162E824F1A9BDE8A00906325 /* SDLPerformInteractionSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPerformInteractionSpec.m; sourceTree = "<group>"; };
+ 162E82501A9BDE8A00906325 /* SDLPutFileSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPutFileSpec.m; sourceTree = "<group>"; };
+ 162E82511A9BDE8A00906325 /* SDLReadDIDSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLReadDIDSpec.m; sourceTree = "<group>"; };
+ 162E82521A9BDE8A00906325 /* SDLRegisterAppInterfaceSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRegisterAppInterfaceSpec.m; sourceTree = "<group>"; };
+ 162E82531A9BDE8A00906325 /* SDLResetGlobalPropertiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLResetGlobalPropertiesSpec.m; sourceTree = "<group>"; };
+ 162E82541A9BDE8A00906325 /* SDLScrollableMessageSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLScrollableMessageSpec.m; sourceTree = "<group>"; };
+ 162E82551A9BDE8A00906325 /* SDLSetAppIconSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSetAppIconSpec.m; sourceTree = "<group>"; };
+ 162E82561A9BDE8A00906325 /* SDLSetDisplayLayoutSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSetDisplayLayoutSpec.m; sourceTree = "<group>"; };
+ 162E82571A9BDE8A00906325 /* SDLSetGlobalPropertiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSetGlobalPropertiesSpec.m; sourceTree = "<group>"; };
+ 162E82581A9BDE8A00906325 /* SDLSetMediaClockTimerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSetMediaClockTimerSpec.m; sourceTree = "<group>"; };
+ 162E82591A9BDE8A00906325 /* SDLShowConstantTBTSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLShowConstantTBTSpec.m; sourceTree = "<group>"; };
+ 162E825A1A9BDE8A00906325 /* SDLShowSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLShowSpec.m; sourceTree = "<group>"; };
+ 162E825B1A9BDE8A00906325 /* SDLSliderSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSliderSpec.m; sourceTree = "<group>"; };
+ 162E825C1A9BDE8A00906325 /* SDLSpeakSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSpeakSpec.m; sourceTree = "<group>"; };
+ 162E825D1A9BDE8A00906325 /* SDLSubscribeButtonSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSubscribeButtonSpec.m; sourceTree = "<group>"; };
+ 162E825E1A9BDE8A00906325 /* SDLSubscribeVehicleDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSubscribeVehicleDataSpec.m; sourceTree = "<group>"; };
+ 162E825F1A9BDE8A00906325 /* SDLSyncPDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSyncPDataSpec.m; sourceTree = "<group>"; };
+ 162E82601A9BDE8A00906325 /* SDLSystemRequestSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSystemRequestSpec.m; sourceTree = "<group>"; };
+ 162E82611A9BDE8A00906325 /* SDLUnregisterAppInterfaceSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUnregisterAppInterfaceSpec.m; sourceTree = "<group>"; };
+ 162E82621A9BDE8A00906325 /* SDLUnsubscribeButtonSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUnsubscribeButtonSpec.m; sourceTree = "<group>"; };
+ 162E82631A9BDE8A00906325 /* SDLUnsubscribeVehicleDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUnsubscribeVehicleDataSpec.m; sourceTree = "<group>"; };
+ 162E82641A9BDE8A00906325 /* SDLUpdateTurnListSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUpdateTurnListSpec.m; sourceTree = "<group>"; };
+ 162E82661A9BDE8A00906325 /* SDLAddCommandResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAddCommandResponseSpec.m; sourceTree = "<group>"; };
+ 162E82671A9BDE8A00906325 /* SDLAddSubMenuResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAddSubMenuResponseSpec.m; sourceTree = "<group>"; };
+ 162E82681A9BDE8A00906325 /* SDLAlertManeuverResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAlertManeuverResponseSpec.m; sourceTree = "<group>"; };
+ 162E82691A9BDE8A00906325 /* SDLAlertResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAlertResponseSpec.m; sourceTree = "<group>"; };
+ 162E826A1A9BDE8A00906325 /* SDLChangeRegistrationResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLChangeRegistrationResponseSpec.m; sourceTree = "<group>"; };
+ 162E826B1A9BDE8A00906325 /* SDLCreateInteractionChoiceSetResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLCreateInteractionChoiceSetResponseSpec.m; sourceTree = "<group>"; };
+ 162E826C1A9BDE8A00906325 /* SDLDeleteCommandResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteCommandResponseSpec.m; sourceTree = "<group>"; };
+ 162E826D1A9BDE8A00906325 /* SDLDeleteFileResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteFileResponseSpec.m; sourceTree = "<group>"; };
+ 162E826E1A9BDE8A00906325 /* SDLDeleteInteractionChoiceSetResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteInteractionChoiceSetResponseSpec.m; sourceTree = "<group>"; };
+ 162E826F1A9BDE8A00906325 /* SDLDeleteSubMenuResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteSubMenuResponseSpec.m; sourceTree = "<group>"; };
+ 162E82701A9BDE8A00906325 /* SDLDiagnosticMessageResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDiagnosticMessageResponseSpec.m; sourceTree = "<group>"; };
+ 162E82711A9BDE8A00906325 /* SDLEncodedSyncPDataResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLEncodedSyncPDataResponseSpec.m; sourceTree = "<group>"; };
+ 162E82721A9BDE8A00906325 /* SDLEndAudioPassThruResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLEndAudioPassThruResponseSpec.m; sourceTree = "<group>"; };
+ 162E82731A9BDE8A00906325 /* SDLGenericResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLGenericResponseSpec.m; sourceTree = "<group>"; };
+ 162E82741A9BDE8A00906325 /* SDLGetDTCsResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLGetDTCsResponseSpec.m; sourceTree = "<group>"; };
+ 162E82751A9BDE8A00906325 /* SDLGetVehicleDataResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLGetVehicleDataResponseSpec.m; sourceTree = "<group>"; };
+ 162E82761A9BDE8A00906325 /* SDLListFilesResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLListFilesResponseSpec.m; sourceTree = "<group>"; };
+ 162E82771A9BDE8A00906325 /* SDLPerformAudioPassThruResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPerformAudioPassThruResponseSpec.m; sourceTree = "<group>"; };
+ 162E82781A9BDE8A00906325 /* SDLPerformInteractionResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPerformInteractionResponseSpec.m; sourceTree = "<group>"; };
+ 162E82791A9BDE8A00906325 /* SDLPutFileResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPutFileResponseSpec.m; sourceTree = "<group>"; };
+ 162E827A1A9BDE8A00906325 /* SDLReadDIDResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLReadDIDResponseSpec.m; sourceTree = "<group>"; };
+ 162E827B1A9BDE8A00906325 /* SDLRegisterAppInterfaceResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRegisterAppInterfaceResponseSpec.m; sourceTree = "<group>"; };
+ 162E827C1A9BDE8A00906325 /* SDLResetGlobalPropertiesResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLResetGlobalPropertiesResponseSpec.m; sourceTree = "<group>"; };
+ 162E827D1A9BDE8A00906325 /* SDLScrollableMessageResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLScrollableMessageResponseSpec.m; sourceTree = "<group>"; };
+ 162E827E1A9BDE8A00906325 /* SDLSetAppIconResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSetAppIconResponseSpec.m; sourceTree = "<group>"; };
+ 162E827F1A9BDE8A00906325 /* SDLSetDisplayLayoutResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSetDisplayLayoutResponseSpec.m; sourceTree = "<group>"; };
+ 162E82801A9BDE8A00906325 /* SDLSetGlobalPropertiesResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSetGlobalPropertiesResponseSpec.m; sourceTree = "<group>"; };
+ 162E82811A9BDE8A00906325 /* SDLSetMediaClockTimerResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSetMediaClockTimerResponseSpec.m; sourceTree = "<group>"; };
+ 162E82821A9BDE8A00906325 /* SDLShowConstantTBTResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLShowConstantTBTResponseSpec.m; sourceTree = "<group>"; };
+ 162E82831A9BDE8A00906325 /* SDLShowResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLShowResponseSpec.m; sourceTree = "<group>"; };
+ 162E82841A9BDE8A00906325 /* SDLSliderResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSliderResponseSpec.m; sourceTree = "<group>"; };
+ 162E82851A9BDE8A00906325 /* SDLSpeakResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSpeakResponseSpec.m; sourceTree = "<group>"; };
+ 162E82861A9BDE8A00906325 /* SDLSubscribeButtonResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSubscribeButtonResponseSpec.m; sourceTree = "<group>"; };
+ 162E82871A9BDE8A00906325 /* SDLSubscribeVehicleDataResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSubscribeVehicleDataResponseSpec.m; sourceTree = "<group>"; };
+ 162E82881A9BDE8A00906325 /* SDLSyncPDataResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSyncPDataResponseSpec.m; sourceTree = "<group>"; };
+ 162E82891A9BDE8A00906325 /* SDLSystemRequestResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSystemRequestResponseSpec.m; sourceTree = "<group>"; };
+ 162E828A1A9BDE8A00906325 /* SDLUnregisterAppInterfaceResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUnregisterAppInterfaceResponseSpec.m; sourceTree = "<group>"; };
+ 162E828B1A9BDE8A00906325 /* SDLUnsubscribeButtonResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUnsubscribeButtonResponseSpec.m; sourceTree = "<group>"; };
+ 162E828C1A9BDE8A00906325 /* SDLUnsubscribeVehicleDataResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUnsubscribeVehicleDataResponseSpec.m; sourceTree = "<group>"; };
+ 162E828D1A9BDE8A00906325 /* SDLUpdateTurnListResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLUpdateTurnListResponseSpec.m; sourceTree = "<group>"; };
+ 162E828F1A9BDE8A00906325 /* SDLAirbagStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAirbagStatusSpec.m; sourceTree = "<group>"; };
+ 162E82901A9BDE8A00906325 /* SDLAudioPassThruCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAudioPassThruCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E82911A9BDE8A00906325 /* SDLBeltStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLBeltStatusSpec.m; sourceTree = "<group>"; };
+ 162E82921A9BDE8A00906325 /* SDLBodyInformationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLBodyInformationSpec.m; sourceTree = "<group>"; };
+ 162E82931A9BDE8A00906325 /* SDLButtonCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLButtonCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E82941A9BDE8A00906325 /* SDLChoiceSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLChoiceSpec.m; sourceTree = "<group>"; };
+ 162E82951A9BDE8A00906325 /* SDLClusterModeStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLClusterModeStatusSpec.m; sourceTree = "<group>"; };
+ 162E82961A9BDE8A00906325 /* SDLDeviceInfoSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeviceInfoSpec.m; sourceTree = "<group>"; };
+ 162E82971A9BDE8A00906325 /* SDLDeviceStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDeviceStatusSpec.m; sourceTree = "<group>"; };
+ 162E82981A9BDE8A00906325 /* SDLDIDResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDIDResult.m; sourceTree = "<group>"; };
+ 162E82991A9BDE8A00906325 /* SDLDisplayCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDisplayCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E829A1A9BDE8A00906325 /* SDLECallInfoSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLECallInfoSpec.m; sourceTree = "<group>"; };
+ 162E829B1A9BDE8A00906325 /* SDLEmergencyEventSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLEmergencyEventSpec.m; sourceTree = "<group>"; };
+ 162E829C1A9BDE8A00906325 /* SDLGPSDataSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLGPSDataSpec.m; sourceTree = "<group>"; };
+ 162E829D1A9BDE8A00906325 /* SDLHeadLampStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLHeadLampStatusSpec.m; sourceTree = "<group>"; };
+ 162E829E1A9BDE8A00906325 /* SDLHMIPermissionsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLHMIPermissionsSpec.m; sourceTree = "<group>"; };
+ 162E829F1A9BDE8A00906325 /* SDLImageFieldSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLImageFieldSpec.m; sourceTree = "<group>"; };
+ 162E82A01A9BDE8A00906325 /* SDLImageSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLImageSpec.m; sourceTree = "<group>"; };
+ 162E82A11A9BDE8A00906325 /* SDLKeyboardPropertiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLKeyboardPropertiesSpec.m; sourceTree = "<group>"; };
+ 162E82A21A9BDE8A00906325 /* SDLMenuParamsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLMenuParamsSpec.m; sourceTree = "<group>"; };
+ 162E82A31A9BDE8A00906325 /* SDLMyKeySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLMyKeySpec.m; sourceTree = "<group>"; };
+ 162E82A41A9BDE8A00906325 /* SDLParameterPermissionsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLParameterPermissionsSpec.m; sourceTree = "<group>"; };
+ 162E82A51A9BDE8A00906325 /* SDLPermissionItemSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPermissionItemSpec.m; sourceTree = "<group>"; };
+ 162E82A61A9BDE8A00906325 /* SDLPresetBankCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPresetBankCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E82A71A9BDE8A00906325 /* SDLScreenParamsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLScreenParamsSpec.m; sourceTree = "<group>"; };
+ 162E82A81A9BDE8A00906325 /* SDLSingleTireStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSingleTireStatusSpec.m; sourceTree = "<group>"; };
+ 162E82A91A9BDE8A00906325 /* SDLSoftButtonCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSoftButtonCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E82AA1A9BDE8A00906325 /* SDLSoftButtonSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSoftButtonSpec.m; sourceTree = "<group>"; };
+ 162E82AB1A9BDE8A00906325 /* SDLStartTimeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLStartTimeSpec.m; sourceTree = "<group>"; };
+ 162E82AC1A9BDE8A00906325 /* SDLSyncMsgVersionSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSyncMsgVersionSpec.m; sourceTree = "<group>"; };
+ 162E82AD1A9BDE8A00906325 /* SDLTextFieldSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTextFieldSpec.m; sourceTree = "<group>"; };
+ 162E82AE1A9BDE8A00906325 /* SDLTireStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTireStatusSpec.m; sourceTree = "<group>"; };
+ 162E82AF1A9BDE8A00906325 /* SDLTouchCoordSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTouchCoordSpec.m; sourceTree = "<group>"; };
+ 162E82B01A9BDE8A00906325 /* SDLTouchEventCapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTouchEventCapabilitiesSpec.m; sourceTree = "<group>"; };
+ 162E82B11A9BDE8A00906325 /* SDLTouchEventSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTouchEventSpec.m; sourceTree = "<group>"; };
+ 162E82B21A9BDE8A00906325 /* SDLTTSChunkSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTTSChunkSpec.m; sourceTree = "<group>"; };
+ 162E82B31A9BDE8A00906325 /* SDLTurnSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLTurnSpec.m; sourceTree = "<group>"; };
+ 162E82B41A9BDE8A00906325 /* SDLVehicleDataResultSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleDataResultSpec.m; sourceTree = "<group>"; };
+ 162E82B51A9BDE8A00906325 /* SDLVehicleTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleTypeSpec.m; sourceTree = "<group>"; };
+ 162E82B61A9BDE8A00906325 /* SDLVrHelpItemSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVrHelpItemSpec.m; sourceTree = "<group>"; };
+ 162E82B81A9BDE8A00906325 /* SDLEnumSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLEnumSpec.m; sourceTree = "<group>"; };
+ 162E82B91A9BDE8A00906325 /* SDLRPCMessageSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCMessageSpec.m; sourceTree = "<group>"; };
+ 162E82BA1A9BDE8A00906325 /* SDLRPCNotificationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCNotificationSpec.m; sourceTree = "<group>"; };
+ 162E82BB1A9BDE8A00906325 /* SDLRPCRequestSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCRequestSpec.m; sourceTree = "<group>"; };
+ 162E82BC1A9BDE8A00906325 /* SDLRPCResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCResponseSpec.m; sourceTree = "<group>"; };
+ 162E82BD1A9BDE8A00906325 /* SDLRPCStructSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCStructSpec.m; sourceTree = "<group>"; };
+ 167ED9241A9BB87900797BE5 /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOCMock.a; path = Libraries/libOCMock.a; sourceTree = "<group>"; };
+ 167ED9261A9BB87900797BE5 /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = "<group>"; };
+ 167ED9271A9BB87900797BE5 /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = "<group>"; };
+ 167ED9281A9BB87900797BE5 /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = "<group>"; };
+ 167ED9291A9BB87900797BE5 /* OCMLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMLocation.h; sourceTree = "<group>"; };
+ 167ED92A1A9BB87900797BE5 /* OCMMacroState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMMacroState.h; sourceTree = "<group>"; };
+ 167ED92B1A9BB87900797BE5 /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMock.h; sourceTree = "<group>"; };
+ 167ED92C1A9BB87900797BE5 /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockObject.h; sourceTree = "<group>"; };
+ 167ED92D1A9BB87900797BE5 /* OCMRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMRecorder.h; sourceTree = "<group>"; };
+ 167ED92E1A9BB87900797BE5 /* OCMStubRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMStubRecorder.h; sourceTree = "<group>"; };
+ 167ED9451A9BCE5D00797BE5 /* SwiftSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftSpec.swift; sourceTree = "<group>"; };
+ 1680B1061A9CD7AD00DBD79E /* SDLProtocolHeaderSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolHeaderSpec.m; sourceTree = "<group>"; };
+ 1680B1071A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLV1ProtocolHeaderSpec.m; sourceTree = "<group>"; };
+ 1680B1081A9CD7AD00DBD79E /* SDLV2ProtocolHeaderSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLV2ProtocolHeaderSpec.m; sourceTree = "<group>"; };
+ 1680B10A1A9CD7AD00DBD79E /* SDLProtocolMessageSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolMessageSpec.m; sourceTree = "<group>"; };
+ 1680B10B1A9CD7AD00DBD79E /* SDLProtocolSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolSpec.m; path = MessageSpecs/SDLProtocolSpec.m; sourceTree = "<group>"; };
+ 1680B10C1A9CD7AD00DBD79E /* SDLV1ProtocolMessageSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLV1ProtocolMessageSpec.m; sourceTree = "<group>"; };
+ 1680B10D1A9CD7AD00DBD79E /* SDLV2ProtocolMessageSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLV2ProtocolMessageSpec.m; sourceTree = "<group>"; };
+ 1680B10E1A9CD7AD00DBD79E /* SDLAbstractProtocolSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAbstractProtocolSpec.m; sourceTree = "<group>"; };
+ 1680B10F1A9CD7AD00DBD79E /* SDLFunctionIDSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLFunctionIDSpec.m; sourceTree = "<group>"; };
+ 1680B1101A9CD7AD00DBD79E /* SDLProtocolMessageAssemblerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolMessageAssemblerSpec.m; sourceTree = "<group>"; };
+ 1680B1111A9CD7AD00DBD79E /* SDLProtocolMessageDisassemblerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolMessageDisassemblerSpec.m; sourceTree = "<group>"; };
+ 1680B1121A9CD7AD00DBD79E /* SDLProtocolReceivedMessageRouterSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolReceivedMessageRouterSpec.m; sourceTree = "<group>"; };
5D0218F41A8E79C400D1BF62 /* ConnectionTCPTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ConnectionTCPTableViewController.h; path = SmartDeviceLink_Example/Classes/ConnectionTCPTableViewController.h; sourceTree = SOURCE_ROOT; };
5D0218F51A8E79C400D1BF62 /* ConnectionTCPTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ConnectionTCPTableViewController.m; path = SmartDeviceLink_Example/Classes/ConnectionTCPTableViewController.m; sourceTree = SOURCE_ROOT; };
5D0218F81A8E7A7300D1BF62 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = SmartDeviceLink_Example/Base.lproj/ConnectionTCPTableViewController.storyboard; sourceTree = SOURCE_ROOT; };
@@ -589,8 +1089,6 @@
5D61FA201A84237100846EE7 /* SmartDeviceLink.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SmartDeviceLink.h; sourceTree = "<group>"; };
5D61FA261A84237100846EE7 /* SmartDeviceLinkTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SmartDeviceLinkTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
5D61FA2E1A84237100846EE7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
- 5D61FA2F1A84237100846EE7 /* SmartDeviceLinkTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SmartDeviceLinkTests.m; sourceTree = "<group>"; };
- 5D61FA3B1A84238A00846EE7 /* ISDLProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ISDLProxy.h; sourceTree = "<group>"; };
5D61FA3C1A84238A00846EE7 /* SDLAbstractProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLAbstractProtocol.h; sourceTree = "<group>"; };
5D61FA3D1A84238A00846EE7 /* SDLAbstractProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAbstractProtocol.m; sourceTree = "<group>"; };
5D61FA3E1A84238A00846EE7 /* SDLAbstractTransport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLAbstractTransport.h; sourceTree = "<group>"; };
@@ -884,8 +1382,8 @@
5D61FB5E1A84238B00846EE7 /* SDLProtocolMessageAssembler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolMessageAssembler.m; sourceTree = "<group>"; };
5D61FB5F1A84238B00846EE7 /* SDLProtocolMessageDisassembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLProtocolMessageDisassembler.h; sourceTree = "<group>"; };
5D61FB601A84238B00846EE7 /* SDLProtocolMessageDisassembler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolMessageDisassembler.m; sourceTree = "<group>"; };
- 5D61FB611A84238B00846EE7 /* SDLProtocolRecievedMessageRouter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLProtocolRecievedMessageRouter.h; sourceTree = "<group>"; };
- 5D61FB621A84238B00846EE7 /* SDLProtocolRecievedMessageRouter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolRecievedMessageRouter.m; sourceTree = "<group>"; };
+ 5D61FB611A84238B00846EE7 /* SDLProtocolReceivedMessageRouter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLProtocolReceivedMessageRouter.h; sourceTree = "<group>"; };
+ 5D61FB621A84238B00846EE7 /* SDLProtocolReceivedMessageRouter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolReceivedMessageRouter.m; sourceTree = "<group>"; };
5D61FB631A84238B00846EE7 /* SDLProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLProxy.h; sourceTree = "<group>"; };
5D61FB641A84238B00846EE7 /* SDLProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProxy.m; sourceTree = "<group>"; };
5D61FB651A84238B00846EE7 /* SDLProxyFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLProxyFactory.h; sourceTree = "<group>"; };
@@ -1075,14 +1573,36 @@
5D61FC1D1A84238C00846EE7 /* SDLVehicleDataType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleDataType.m; sourceTree = "<group>"; };
5D61FC1E1A84238C00846EE7 /* SDLVehicleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLVehicleType.h; sourceTree = "<group>"; };
5D61FC1F1A84238C00846EE7 /* SDLVehicleType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVehicleType.m; sourceTree = "<group>"; };
- 5D61FC201A84238C00846EE7 /* SDLVrCapabilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLVrCapabilities.h; sourceTree = "<group>"; };
- 5D61FC211A84238C00846EE7 /* SDLVrCapabilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVrCapabilities.m; sourceTree = "<group>"; };
- 5D61FC221A84238C00846EE7 /* SDLVrHelpItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLVrHelpItem.h; sourceTree = "<group>"; };
- 5D61FC231A84238C00846EE7 /* SDLVrHelpItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVrHelpItem.m; sourceTree = "<group>"; };
+ 5D61FC201A84238C00846EE7 /* SDLVRCapabilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLVRCapabilities.h; sourceTree = "<group>"; };
+ 5D61FC211A84238C00846EE7 /* SDLVRCapabilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVRCapabilities.m; sourceTree = "<group>"; };
+ 5D61FC221A84238C00846EE7 /* SDLVRHelpItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLVRHelpItem.h; sourceTree = "<group>"; };
+ 5D61FC231A84238C00846EE7 /* SDLVRHelpItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLVRHelpItem.m; sourceTree = "<group>"; };
5D61FC241A84238C00846EE7 /* SDLWarningLightStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLWarningLightStatus.h; sourceTree = "<group>"; };
5D61FC251A84238C00846EE7 /* SDLWarningLightStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLWarningLightStatus.m; sourceTree = "<group>"; };
5D61FC261A84238C00846EE7 /* SDLWiperStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLWiperStatus.h; sourceTree = "<group>"; };
5D61FC271A84238C00846EE7 /* SDLWiperStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLWiperStatus.m; sourceTree = "<group>"; };
+ 5D8B174D1AC9D266006A6E1C /* SDLDialNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLDialNumber.h; sourceTree = "<group>"; };
+ 5D8B174E1AC9D266006A6E1C /* SDLDialNumber.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDialNumber.m; sourceTree = "<group>"; };
+ 5D8B17511AC9E11B006A6E1C /* SDLDialNumberResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLDialNumberResponse.h; sourceTree = "<group>"; };
+ 5D8B17521AC9E11B006A6E1C /* SDLDialNumberResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDialNumberResponse.m; sourceTree = "<group>"; };
+ 5D8B17551AC9E399006A6E1C /* SDLDialNumberSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDialNumberSpec.m; sourceTree = "<group>"; };
+ 5DA0268F1AD44EE700019F86 /* SDLDialNumberResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDialNumberResponseSpec.m; sourceTree = "<group>"; };
+ 5DB92D231AC47B2C00C15BB0 /* SDLHexUtilitySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLHexUtilitySpec.m; path = UtilitiesSpecs/SDLHexUtilitySpec.m; sourceTree = "<group>"; };
+ 5DB92D251AC4836F00C15BB0 /* SDLJingleSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLJingleSpec.m; path = UtilitiesSpecs/SDLJingleSpec.m; sourceTree = "<group>"; };
+ 5DB92D2C1AC4A34F00C15BB0 /* SDLPrioritizedObjectCollectionSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLPrioritizedObjectCollectionSpec.m; path = "UtilitiesSpecs/Prioritized Objects/SDLPrioritizedObjectCollectionSpec.m"; sourceTree = "<group>"; };
+ 5DB92D2E1AC59F0000C15BB0 /* SDLObjectWithPrioritySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLObjectWithPrioritySpec.m; path = "UtilitiesSpecs/Prioritized Objects/SDLObjectWithPrioritySpec.m"; sourceTree = "<group>"; };
+ 5DB92D301AC9C8BA00C15BB0 /* SDLRPCStruct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLRPCStruct.h; sourceTree = "<group>"; };
+ 5DB92D311AC9C8BA00C15BB0 /* SDLRPCStruct.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCStruct.m; sourceTree = "<group>"; };
+ 5DCF76F31ACDBAD300BB647B /* SDLSendLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLSendLocation.h; sourceTree = "<group>"; };
+ 5DCF76F41ACDBAD300BB647B /* SDLSendLocation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSendLocation.m; sourceTree = "<group>"; };
+ 5DCF76F71ACDD7CD00BB647B /* SDLSendLocationResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLSendLocationResponse.h; sourceTree = "<group>"; };
+ 5DCF76F81ACDD7CD00BB647B /* SDLSendLocationResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSendLocationResponse.m; sourceTree = "<group>"; };
+ 5DCF76FB1ACDDB4200BB647B /* SDLSendLocationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSendLocationSpec.m; sourceTree = "<group>"; };
+ 5DCF76FD1ACDDB5A00BB647B /* SDLSendLocationResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSendLocationResponseSpec.m; sourceTree = "<group>"; };
+ 5DE3729F1ACB2ED300849FAA /* SDLHMICapabilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLHMICapabilities.h; sourceTree = "<group>"; };
+ 5DE372A01ACB2ED300849FAA /* SDLHMICapabilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLHMICapabilities.m; sourceTree = "<group>"; };
+ 5DE372A31ACB336600849FAA /* SDLHMICapabilitiesSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLHMICapabilitiesSpec.m; sourceTree = "<group>"; };
+ 5DE372A51ACC35B400849FAA /* SDLDebugToolConsole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLDebugToolConsole.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -1105,13 +1625,368 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 5D61FA271A84237100846EE7 /* SmartDeviceLink.framework in Frameworks */,
+ 167ED93C1A9BCB8A00797BE5 /* SmartDeviceLink.framework in Frameworks */,
+ 167ED92F1A9BB87900797BE5 /* libOCMock.a in Frameworks */,
+ 162E81CB1A9BDD3F00906325 /* Quick.framework in Frameworks */,
+ 162E81CA1A9BDD3F00906325 /* Nimble.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 162E81E01A9BDE8A00906325 /* RPCSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E81E11A9BDE8A00906325 /* EnumSpecs */,
+ 162E82261A9BDE8A00906325 /* FactorySpecs */,
+ 162E82281A9BDE8A00906325 /* NotificationSpecs */,
+ 162E823B1A9BDE8A00906325 /* PayloadSpecs */,
+ 162E823D1A9BDE8A00906325 /* RequestSpecs */,
+ 162E82651A9BDE8A00906325 /* ResponseSpecs */,
+ 162E828E1A9BDE8A00906325 /* StructSpecs */,
+ 162E82B71A9BDE8A00906325 /* SuperclassSpecs */,
+ );
+ path = RPCSpecs;
+ sourceTree = "<group>";
+ };
+ 162E81E11A9BDE8A00906325 /* EnumSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E81E21A9BDE8A00906325 /* SDLAmbientLightStatusSpec.m */,
+ 162E81E31A9BDE8A00906325 /* SDLAppHMITypeSpec.m */,
+ 162E81E41A9BDE8A00906325 /* SDLAppInterfaceUnregisteredReasonSpec.m */,
+ 162E81E51A9BDE8A00906325 /* SDLAudioStreamingStateSpec.m */,
+ 162E81E61A9BDE8A00906325 /* SDLAudioTypeSpec.m */,
+ 162E81E71A9BDE8A00906325 /* SDLBitsPerSampleSpec.m */,
+ 162E81E81A9BDE8A00906325 /* SDLButtonEventModeSpec.m */,
+ 162E81E91A9BDE8A00906325 /* SDLButtonNameSpec.m */,
+ 162E81EA1A9BDE8A00906325 /* SDLButtonPressModeSpec.m */,
+ 162E81EB1A9BDE8A00906325 /* SDLCarModeStatusSpec.m */,
+ 162E81EC1A9BDE8A00906325 /* SDLCharacterSetSpec.m */,
+ 162E81ED1A9BDE8A00906325 /* SDLCompassDirectionSpec.m */,
+ 162E81EE1A9BDE8A00906325 /* SDLComponentVolumeStatusSpec.m */,
+ 162E81EF1A9BDE8A00906325 /* SDLDeviceLevelStatusSpec.m */,
+ 162E81F01A9BDE8A00906325 /* SDLDimensionSpec.m */,
+ 162E81F11A9BDE8A00906325 /* SDLDisplayTypeSpec.m */,
+ 162E81F21A9BDE8A00906325 /* SDLDriverDistractionStateSpec.m */,
+ 162E81F31A9BDE8A00906325 /* SDLECallConfirmationStatusSpec.m */,
+ 162E81F41A9BDE8A00906325 /* SDLEmergencyEventTypeSpec.m */,
+ 162E81F51A9BDE8A00906325 /* SDLFileTypeSpec.m */,
+ 162E81F61A9BDE8A00906325 /* SDLFuelCutoffStatusSpec.m */,
+ 162E81F71A9BDE8A00906325 /* SDLGlobalProperySpec.m */,
+ 162E81F81A9BDE8A00906325 /* SDLHMILevelSpec.m */,
+ 162E81F91A9BDE8A00906325 /* SDLHMIZoneCapabilitiesSpec.m */,
+ 162E81FA1A9BDE8A00906325 /* SDLIgnitionStableStatusSpec.m */,
+ 162E81FB1A9BDE8A00906325 /* SDLIgnitionStatusSpec.m */,
+ 162E81FC1A9BDE8A00906325 /* SDLImageFieldNameSpec.m */,
+ 162E81FD1A9BDE8A00906325 /* SDLImageTypeSpec.m */,
+ 162E81FE1A9BDE8A00906325 /* SDLInteractionModeSpec.m */,
+ 162E81FF1A9BDE8A00906325 /* SDLKeyboardEventSpec.m */,
+ 162E82001A9BDE8A00906325 /* SDLKeyboardLayoutSpec.m */,
+ 162E82011A9BDE8A00906325 /* SDLKeypressModeSpec.m */,
+ 162E82021A9BDE8A00906325 /* SDLLanguageSpec.m */,
+ 162E82031A9BDE8A00906325 /* SDLLayoutModeSpec.m */,
+ 162E82041A9BDE8A00906325 /* SDLLockScreenStatusSpec.m */,
+ 162E82051A9BDE8A00906325 /* SDLMaintenanceModeStatusSpec.m */,
+ 162E82061A9BDE8A00906325 /* SDLMediaClockFormatSpec.m */,
+ 162E82071A9BDE8A00906325 /* SDLPermissionStatusSpec.m */,
+ 162E82081A9BDE8A00906325 /* SDLPowerModeQualificationStatusSpec.m */,
+ 162E82091A9BDE8A00906325 /* SDLPowerModeStatusSpec.m */,
+ 162E820A1A9BDE8A00906325 /* SDLPredefinedLayoutSpec.m */,
+ 162E820B1A9BDE8A00906325 /* SDLPrerecordedSpeechSpec.m */,
+ 162E820C1A9BDE8A00906325 /* SDLPrimaryAudioSource.m */,
+ 162E820D1A9BDE8A00906325 /* SDLPRNDLSpec.m */,
+ 162E820E1A9BDE8A00906325 /* SDLRequestTypeSpec.m */,
+ 162E820F1A9BDE8A00906325 /* SDLResultSpec.m */,
+ 162E82101A9BDE8A00906325 /* SDLRPCMessageTypeSpec.m */,
+ 162E82111A9BDE8A00906325 /* SDLSamplingRateSpec.m */,
+ 162E82121A9BDE8A00906325 /* SDLSoftButtonTypeSpec.m */,
+ 162E82131A9BDE8A00906325 /* SDLSpeechCapabilitiesSpec.m */,
+ 162E82141A9BDE8A00906325 /* SDLSystemAction.m */,
+ 162E82151A9BDE8A00906325 /* SDLSystemContextSpec.m */,
+ 162E82161A9BDE8A00906325 /* SDLTBTStateSpec.m */,
+ 162E82171A9BDE8A00906325 /* SDLTextAlignmentSpec.m */,
+ 162E82181A9BDE8A00906325 /* SDLTextFieldNameSpec.m */,
+ 162E82191A9BDE8A00906325 /* SDLTimerModeSpec.m */,
+ 162E821A1A9BDE8A00906325 /* SDLTouchTypeSpec.m */,
+ 162E821B1A9BDE8A00906325 /* SDLTriggerSource.m */,
+ 162E821C1A9BDE8A00906325 /* SDLUpdateModeSpec.m */,
+ 162E821D1A9BDE8A00906325 /* SDLVehicleDataActiveStatusSpec.m */,
+ 162E821E1A9BDE8A00906325 /* SDLVehicleDataEventStatusSpec.m */,
+ 162E821F1A9BDE8A00906325 /* SDLVehicleDataNotificationStatusSpec.m */,
+ 162E82201A9BDE8A00906325 /* SDLVehicleDataResultCodeSpec.m */,
+ 162E82211A9BDE8A00906325 /* SDLVehicleDataStatusSpec.m */,
+ 162E82221A9BDE8A00906325 /* SDLVehicleDataTypeSpec.m */,
+ 162E82231A9BDE8A00906325 /* SDLVrCapabilitiesSpec.m */,
+ 162E82241A9BDE8A00906325 /* SDLWarningLightStatusSpec.m */,
+ 162E82251A9BDE8A00906325 /* SDLWiperStatusSpec.m */,
+ );
+ path = EnumSpecs;
+ sourceTree = "<group>";
+ };
+ 162E82261A9BDE8A00906325 /* FactorySpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E82271A9BDE8A00906325 /* SDLRPCRequestFactorySpec.m */,
+ );
+ path = FactorySpecs;
+ sourceTree = "<group>";
+ };
+ 162E82281A9BDE8A00906325 /* NotificationSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E82291A9BDE8A00906325 /* SDLOnAppInterfaceUnregisteredSpec.m */,
+ 162E822A1A9BDE8A00906325 /* SDLOnAudioPassThruSpec.m */,
+ 162E822B1A9BDE8A00906325 /* SDLOnButtonEventSpec.m */,
+ 162E822C1A9BDE8A00906325 /* SDLOnButtonPressSpec.m */,
+ 162E822D1A9BDE8A00906325 /* SDLOnCommandSpec.m */,
+ 162E822E1A9BDE8A00906325 /* SDLOnDriverDistractionSpec.m */,
+ 162E822F1A9BDE8A00906325 /* SDLOnEncodedSyncPDataSpec.m */,
+ 162E82301A9BDE8A00906325 /* SDLOnHashChangeSpec.m */,
+ 162E82311A9BDE8A00906325 /* SDLOnHMIStatusSpec.m */,
+ 162E82321A9BDE8A00906325 /* SDLOnKeyboardInputSpec.m */,
+ 162E82331A9BDE8A00906325 /* SDLOnLanguageChangeSpec.m */,
+ 162E82341A9BDE8A00906325 /* SDLOnLockScreenStatusSpec.m */,
+ 162E82351A9BDE8A00906325 /* SDLOnPermissionsChangeSpec.m */,
+ 162E82361A9BDE8A00906325 /* SDLOnSyncPDataSpec.m */,
+ 162E82371A9BDE8A00906325 /* SDLOnSystemRequestSpec.m */,
+ 162E82381A9BDE8A00906325 /* SDLOnTBTClientStateSpec.m */,
+ 162E82391A9BDE8A00906325 /* SDLOnTouchEventSpec.m */,
+ 162E823A1A9BDE8A00906325 /* SDLOnVehicleDataSpec.m */,
+ );
+ path = NotificationSpecs;
+ sourceTree = "<group>";
+ };
+ 162E823B1A9BDE8A00906325 /* PayloadSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E823C1A9BDE8A00906325 /* SDLRPCPayloadSpec.m */,
+ );
+ path = PayloadSpecs;
+ sourceTree = "<group>";
+ };
+ 162E823D1A9BDE8A00906325 /* RequestSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E823E1A9BDE8A00906325 /* SDLAddCommandSpec.m */,
+ 162E823F1A9BDE8A00906325 /* SDLAddSubMenuSpec.m */,
+ 162E82401A9BDE8A00906325 /* SDLAlertManeuverSpec.m */,
+ 162E82411A9BDE8A00906325 /* SDLAlertSpec.m */,
+ 162E82421A9BDE8A00906325 /* SDLChangeRegistrationSpec.m */,
+ 162E82431A9BDE8A00906325 /* SDLCreateInteractionChoiceSetSpec.m */,
+ 162E82441A9BDE8A00906325 /* SDLDeleteCommandSpec.m */,
+ 162E82451A9BDE8A00906325 /* SDLDeleteFileSpec.m */,
+ 162E82461A9BDE8A00906325 /* SDLDeleteInteractionChoiceSetSpec.m */,
+ 162E82471A9BDE8A00906325 /* SDLDeleteSubMenuSpec.m */,
+ 162E82481A9BDE8A00906325 /* SDLDiagnosticMessageSpec.m */,
+ 5D8B17551AC9E399006A6E1C /* SDLDialNumberSpec.m */,
+ 162E82491A9BDE8A00906325 /* SDLEncodedSyncPDataSpec.m */,
+ 162E824A1A9BDE8A00906325 /* SDLEndAudioPassThruSpec.m */,
+ 162E824B1A9BDE8A00906325 /* SDLGetDTCsSpec.m */,
+ 162E824C1A9BDE8A00906325 /* SDLGetVehicleDataSpec.m */,
+ 162E824D1A9BDE8A00906325 /* SDLListFilesSpec.m */,
+ 162E824E1A9BDE8A00906325 /* SDLPerformAudioPassThruSpec.m */,
+ 162E824F1A9BDE8A00906325 /* SDLPerformInteractionSpec.m */,
+ 162E82501A9BDE8A00906325 /* SDLPutFileSpec.m */,
+ 162E82511A9BDE8A00906325 /* SDLReadDIDSpec.m */,
+ 162E82521A9BDE8A00906325 /* SDLRegisterAppInterfaceSpec.m */,
+ 162E82531A9BDE8A00906325 /* SDLResetGlobalPropertiesSpec.m */,
+ 162E82541A9BDE8A00906325 /* SDLScrollableMessageSpec.m */,
+ 5DCF76FB1ACDDB4200BB647B /* SDLSendLocationSpec.m */,
+ 162E82551A9BDE8A00906325 /* SDLSetAppIconSpec.m */,
+ 162E82561A9BDE8A00906325 /* SDLSetDisplayLayoutSpec.m */,
+ 162E82571A9BDE8A00906325 /* SDLSetGlobalPropertiesSpec.m */,
+ 162E82581A9BDE8A00906325 /* SDLSetMediaClockTimerSpec.m */,
+ 162E82591A9BDE8A00906325 /* SDLShowConstantTBTSpec.m */,
+ 162E825A1A9BDE8A00906325 /* SDLShowSpec.m */,
+ 162E825B1A9BDE8A00906325 /* SDLSliderSpec.m */,
+ 162E825C1A9BDE8A00906325 /* SDLSpeakSpec.m */,
+ 162E825D1A9BDE8A00906325 /* SDLSubscribeButtonSpec.m */,
+ 162E825E1A9BDE8A00906325 /* SDLSubscribeVehicleDataSpec.m */,
+ 162E825F1A9BDE8A00906325 /* SDLSyncPDataSpec.m */,
+ 162E82601A9BDE8A00906325 /* SDLSystemRequestSpec.m */,
+ 162E82611A9BDE8A00906325 /* SDLUnregisterAppInterfaceSpec.m */,
+ 162E82621A9BDE8A00906325 /* SDLUnsubscribeButtonSpec.m */,
+ 162E82631A9BDE8A00906325 /* SDLUnsubscribeVehicleDataSpec.m */,
+ 162E82641A9BDE8A00906325 /* SDLUpdateTurnListSpec.m */,
+ );
+ path = RequestSpecs;
+ sourceTree = "<group>";
+ };
+ 162E82651A9BDE8A00906325 /* ResponseSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E82661A9BDE8A00906325 /* SDLAddCommandResponseSpec.m */,
+ 162E82671A9BDE8A00906325 /* SDLAddSubMenuResponseSpec.m */,
+ 162E82681A9BDE8A00906325 /* SDLAlertManeuverResponseSpec.m */,
+ 162E82691A9BDE8A00906325 /* SDLAlertResponseSpec.m */,
+ 162E826A1A9BDE8A00906325 /* SDLChangeRegistrationResponseSpec.m */,
+ 162E826B1A9BDE8A00906325 /* SDLCreateInteractionChoiceSetResponseSpec.m */,
+ 162E826C1A9BDE8A00906325 /* SDLDeleteCommandResponseSpec.m */,
+ 162E826D1A9BDE8A00906325 /* SDLDeleteFileResponseSpec.m */,
+ 162E826E1A9BDE8A00906325 /* SDLDeleteInteractionChoiceSetResponseSpec.m */,
+ 162E826F1A9BDE8A00906325 /* SDLDeleteSubMenuResponseSpec.m */,
+ 162E82701A9BDE8A00906325 /* SDLDiagnosticMessageResponseSpec.m */,
+ 5DA0268F1AD44EE700019F86 /* SDLDialNumberResponseSpec.m */,
+ 162E82711A9BDE8A00906325 /* SDLEncodedSyncPDataResponseSpec.m */,
+ 162E82721A9BDE8A00906325 /* SDLEndAudioPassThruResponseSpec.m */,
+ 162E82731A9BDE8A00906325 /* SDLGenericResponseSpec.m */,
+ 162E82741A9BDE8A00906325 /* SDLGetDTCsResponseSpec.m */,
+ 162E82751A9BDE8A00906325 /* SDLGetVehicleDataResponseSpec.m */,
+ 162E82761A9BDE8A00906325 /* SDLListFilesResponseSpec.m */,
+ 162E82771A9BDE8A00906325 /* SDLPerformAudioPassThruResponseSpec.m */,
+ 162E82781A9BDE8A00906325 /* SDLPerformInteractionResponseSpec.m */,
+ 162E82791A9BDE8A00906325 /* SDLPutFileResponseSpec.m */,
+ 162E827A1A9BDE8A00906325 /* SDLReadDIDResponseSpec.m */,
+ 162E827B1A9BDE8A00906325 /* SDLRegisterAppInterfaceResponseSpec.m */,
+ 162E827C1A9BDE8A00906325 /* SDLResetGlobalPropertiesResponseSpec.m */,
+ 162E827D1A9BDE8A00906325 /* SDLScrollableMessageResponseSpec.m */,
+ 5DCF76FD1ACDDB5A00BB647B /* SDLSendLocationResponseSpec.m */,
+ 162E827E1A9BDE8A00906325 /* SDLSetAppIconResponseSpec.m */,
+ 162E827F1A9BDE8A00906325 /* SDLSetDisplayLayoutResponseSpec.m */,
+ 162E82801A9BDE8A00906325 /* SDLSetGlobalPropertiesResponseSpec.m */,
+ 162E82811A9BDE8A00906325 /* SDLSetMediaClockTimerResponseSpec.m */,
+ 162E82821A9BDE8A00906325 /* SDLShowConstantTBTResponseSpec.m */,
+ 162E82831A9BDE8A00906325 /* SDLShowResponseSpec.m */,
+ 162E82841A9BDE8A00906325 /* SDLSliderResponseSpec.m */,
+ 162E82851A9BDE8A00906325 /* SDLSpeakResponseSpec.m */,
+ 162E82861A9BDE8A00906325 /* SDLSubscribeButtonResponseSpec.m */,
+ 162E82871A9BDE8A00906325 /* SDLSubscribeVehicleDataResponseSpec.m */,
+ 162E82881A9BDE8A00906325 /* SDLSyncPDataResponseSpec.m */,
+ 162E82891A9BDE8A00906325 /* SDLSystemRequestResponseSpec.m */,
+ 162E828A1A9BDE8A00906325 /* SDLUnregisterAppInterfaceResponseSpec.m */,
+ 162E828B1A9BDE8A00906325 /* SDLUnsubscribeButtonResponseSpec.m */,
+ 162E828C1A9BDE8A00906325 /* SDLUnsubscribeVehicleDataResponseSpec.m */,
+ 162E828D1A9BDE8A00906325 /* SDLUpdateTurnListResponseSpec.m */,
+ );
+ path = ResponseSpecs;
+ sourceTree = "<group>";
+ };
+ 162E828E1A9BDE8A00906325 /* StructSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E828F1A9BDE8A00906325 /* SDLAirbagStatusSpec.m */,
+ 162E82901A9BDE8A00906325 /* SDLAudioPassThruCapabilitiesSpec.m */,
+ 162E82911A9BDE8A00906325 /* SDLBeltStatusSpec.m */,
+ 162E82921A9BDE8A00906325 /* SDLBodyInformationSpec.m */,
+ 162E82931A9BDE8A00906325 /* SDLButtonCapabilitiesSpec.m */,
+ 162E82941A9BDE8A00906325 /* SDLChoiceSpec.m */,
+ 162E82951A9BDE8A00906325 /* SDLClusterModeStatusSpec.m */,
+ 162E82961A9BDE8A00906325 /* SDLDeviceInfoSpec.m */,
+ 162E82971A9BDE8A00906325 /* SDLDeviceStatusSpec.m */,
+ 162E82981A9BDE8A00906325 /* SDLDIDResult.m */,
+ 162E82991A9BDE8A00906325 /* SDLDisplayCapabilitiesSpec.m */,
+ 162E829A1A9BDE8A00906325 /* SDLECallInfoSpec.m */,
+ 162E829B1A9BDE8A00906325 /* SDLEmergencyEventSpec.m */,
+ 162E829C1A9BDE8A00906325 /* SDLGPSDataSpec.m */,
+ 162E829D1A9BDE8A00906325 /* SDLHeadLampStatusSpec.m */,
+ 5DE372A31ACB336600849FAA /* SDLHMICapabilitiesSpec.m */,
+ 162E829E1A9BDE8A00906325 /* SDLHMIPermissionsSpec.m */,
+ 162E829F1A9BDE8A00906325 /* SDLImageFieldSpec.m */,
+ 162E82A01A9BDE8A00906325 /* SDLImageSpec.m */,
+ 162E82A11A9BDE8A00906325 /* SDLKeyboardPropertiesSpec.m */,
+ 162E82A21A9BDE8A00906325 /* SDLMenuParamsSpec.m */,
+ 162E82A31A9BDE8A00906325 /* SDLMyKeySpec.m */,
+ 162E82A41A9BDE8A00906325 /* SDLParameterPermissionsSpec.m */,
+ 162E82A51A9BDE8A00906325 /* SDLPermissionItemSpec.m */,
+ 162E82A61A9BDE8A00906325 /* SDLPresetBankCapabilitiesSpec.m */,
+ 162E82A71A9BDE8A00906325 /* SDLScreenParamsSpec.m */,
+ 162E82A81A9BDE8A00906325 /* SDLSingleTireStatusSpec.m */,
+ 162E82A91A9BDE8A00906325 /* SDLSoftButtonCapabilitiesSpec.m */,
+ 162E82AA1A9BDE8A00906325 /* SDLSoftButtonSpec.m */,
+ 162E82AB1A9BDE8A00906325 /* SDLStartTimeSpec.m */,
+ 162E82AC1A9BDE8A00906325 /* SDLSyncMsgVersionSpec.m */,
+ 162E82AD1A9BDE8A00906325 /* SDLTextFieldSpec.m */,
+ 162E82AE1A9BDE8A00906325 /* SDLTireStatusSpec.m */,
+ 162E82AF1A9BDE8A00906325 /* SDLTouchCoordSpec.m */,
+ 162E82B01A9BDE8A00906325 /* SDLTouchEventCapabilitiesSpec.m */,
+ 162E82B11A9BDE8A00906325 /* SDLTouchEventSpec.m */,
+ 162E82B21A9BDE8A00906325 /* SDLTTSChunkSpec.m */,
+ 162E82B31A9BDE8A00906325 /* SDLTurnSpec.m */,
+ 162E82B41A9BDE8A00906325 /* SDLVehicleDataResultSpec.m */,
+ 162E82B51A9BDE8A00906325 /* SDLVehicleTypeSpec.m */,
+ 162E82B61A9BDE8A00906325 /* SDLVrHelpItemSpec.m */,
+ );
+ path = StructSpecs;
+ sourceTree = "<group>";
+ };
+ 162E82B71A9BDE8A00906325 /* SuperclassSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 162E82B81A9BDE8A00906325 /* SDLEnumSpec.m */,
+ 162E82B91A9BDE8A00906325 /* SDLRPCMessageSpec.m */,
+ 162E82BA1A9BDE8A00906325 /* SDLRPCNotificationSpec.m */,
+ 162E82BB1A9BDE8A00906325 /* SDLRPCRequestSpec.m */,
+ 162E82BC1A9BDE8A00906325 /* SDLRPCResponseSpec.m */,
+ 162E82BD1A9BDE8A00906325 /* SDLRPCStructSpec.m */,
+ );
+ path = SuperclassSpecs;
+ sourceTree = "<group>";
+ };
+ 167ED9231A9BB86300797BE5 /* Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ 162E81C81A9BDD3F00906325 /* Nimble.framework */,
+ 162E81C91A9BDD3F00906325 /* Quick.framework */,
+ 167ED9241A9BB87900797BE5 /* libOCMock.a */,
+ 167ED9251A9BB87900797BE5 /* OCMock */,
+ );
+ name = Libraries;
+ sourceTree = "<group>";
+ };
+ 167ED9251A9BB87900797BE5 /* OCMock */ = {
+ isa = PBXGroup;
+ children = (
+ 167ED9261A9BB87900797BE5 /* NSNotificationCenter+OCMAdditions.h */,
+ 167ED9271A9BB87900797BE5 /* OCMArg.h */,
+ 167ED9281A9BB87900797BE5 /* OCMConstraint.h */,
+ 167ED9291A9BB87900797BE5 /* OCMLocation.h */,
+ 167ED92A1A9BB87900797BE5 /* OCMMacroState.h */,
+ 167ED92B1A9BB87900797BE5 /* OCMock.h */,
+ 167ED92C1A9BB87900797BE5 /* OCMockObject.h */,
+ 167ED92D1A9BB87900797BE5 /* OCMRecorder.h */,
+ 167ED92E1A9BB87900797BE5 /* OCMStubRecorder.h */,
+ );
+ name = OCMock;
+ path = Libraries/OCMock;
+ sourceTree = "<group>";
+ };
+ 1680B1041A9CD7AD00DBD79E /* ProtocolSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 1680B1051A9CD7AD00DBD79E /* HeaderSpecs */,
+ 1680B1091A9CD7AD00DBD79E /* MessageSpecs */,
+ 1680B10E1A9CD7AD00DBD79E /* SDLAbstractProtocolSpec.m */,
+ 1680B10F1A9CD7AD00DBD79E /* SDLFunctionIDSpec.m */,
+ 1680B10B1A9CD7AD00DBD79E /* SDLProtocolSpec.m */,
+ 1680B1101A9CD7AD00DBD79E /* SDLProtocolMessageAssemblerSpec.m */,
+ 1680B1111A9CD7AD00DBD79E /* SDLProtocolMessageDisassemblerSpec.m */,
+ 1680B1121A9CD7AD00DBD79E /* SDLProtocolReceivedMessageRouterSpec.m */,
+ );
+ path = ProtocolSpecs;
+ sourceTree = "<group>";
+ };
+ 1680B1051A9CD7AD00DBD79E /* HeaderSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 1680B1061A9CD7AD00DBD79E /* SDLProtocolHeaderSpec.m */,
+ 1680B1071A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m */,
+ 1680B1081A9CD7AD00DBD79E /* SDLV2ProtocolHeaderSpec.m */,
+ );
+ path = HeaderSpecs;
+ sourceTree = "<group>";
+ };
+ 1680B1091A9CD7AD00DBD79E /* MessageSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 1680B10A1A9CD7AD00DBD79E /* SDLProtocolMessageSpec.m */,
+ 1680B10C1A9CD7AD00DBD79E /* SDLV1ProtocolMessageSpec.m */,
+ 1680B10D1A9CD7AD00DBD79E /* SDLV2ProtocolMessageSpec.m */,
+ );
+ path = MessageSpecs;
+ sourceTree = "<group>";
+ };
5D0218E71A8D611600D1BF62 /* Frameworks */ = {
isa = PBXGroup;
children = (
@@ -1145,6 +2020,7 @@
5D4019A61A76EC350006B0C2 = {
isa = PBXGroup;
children = (
+ 167ED9231A9BB86300797BE5 /* Libraries */,
5D4019B11A76EC350006B0C2 /* Example */,
5D61FA1D1A84237100846EE7 /* SmartDeviceLink */,
5D61FA2C1A84237100846EE7 /* SmartDeviceLinkTests */,
@@ -1261,8 +2137,8 @@
5D61FB5E1A84238B00846EE7 /* SDLProtocolMessageAssembler.m */,
5D61FB5F1A84238B00846EE7 /* SDLProtocolMessageDisassembler.h */,
5D61FB601A84238B00846EE7 /* SDLProtocolMessageDisassembler.m */,
- 5D61FB611A84238B00846EE7 /* SDLProtocolRecievedMessageRouter.h */,
- 5D61FB621A84238B00846EE7 /* SDLProtocolRecievedMessageRouter.m */,
+ 5D61FB611A84238B00846EE7 /* SDLProtocolReceivedMessageRouter.h */,
+ 5D61FB621A84238B00846EE7 /* SDLProtocolReceivedMessageRouter.m */,
);
name = Protocol;
sourceTree = "<group>";
@@ -1321,6 +2197,8 @@
5D61FA921A84238A00846EE7 /* SDLDeleteSubMenu.m */,
5D61FA9B1A84238A00846EE7 /* SDLDiagnosticMessage.h */,
5D61FA9C1A84238A00846EE7 /* SDLDiagnosticMessage.m */,
+ 5D8B174D1AC9D266006A6E1C /* SDLDialNumber.h */,
+ 5D8B174E1AC9D266006A6E1C /* SDLDialNumber.m */,
5D61FAB11A84238A00846EE7 /* SDLEncodedSyncPData.h */,
5D61FAB21A84238A00846EE7 /* SDLEncodedSyncPData.m */,
5D61FAB61A84238A00846EE7 /* SDLEndAudioPassThru.h */,
@@ -1377,6 +2255,8 @@
5D61FBFF1A84238C00846EE7 /* SDLUnsubscribeVehicleData.m */,
5D61FC041A84238C00846EE7 /* SDLUpdateTurnList.h */,
5D61FC051A84238C00846EE7 /* SDLUpdateTurnList.m */,
+ 5DCF76F31ACDBAD300BB647B /* SDLSendLocation.h */,
+ 5DCF76F41ACDBAD300BB647B /* SDLSendLocation.m */,
);
name = Requests;
sourceTree = "<group>";
@@ -1406,6 +2286,8 @@
5D61FA941A84238A00846EE7 /* SDLDeleteSubMenuResponse.m */,
5D61FA9D1A84238A00846EE7 /* SDLDiagnosticMessageResponse.h */,
5D61FA9E1A84238A00846EE7 /* SDLDiagnosticMessageResponse.m */,
+ 5D8B17511AC9E11B006A6E1C /* SDLDialNumberResponse.h */,
+ 5D8B17521AC9E11B006A6E1C /* SDLDialNumberResponse.m */,
5D61FAB31A84238A00846EE7 /* SDLEncodedSyncPDataResponse.h */,
5D61FAB41A84238A00846EE7 /* SDLEncodedSyncPDataResponse.m */,
5D61FAB81A84238A00846EE7 /* SDLEndAudioPassThruResponse.h */,
@@ -1464,6 +2346,8 @@
5D61FC011A84238C00846EE7 /* SDLUnsubscribeVehicleDataResponse.m */,
5D61FC061A84238C00846EE7 /* SDLUpdateTurnListResponse.h */,
5D61FC071A84238C00846EE7 /* SDLUpdateTurnListResponse.m */,
+ 5DCF76F71ACDD7CD00BB647B /* SDLSendLocationResponse.h */,
+ 5DCF76F81ACDD7CD00BB647B /* SDLSendLocationResponse.m */,
);
name = Responses;
sourceTree = "<group>";
@@ -1501,6 +2385,8 @@
5D61FACF1A84238A00846EE7 /* SDLGPSData.m */,
5D61FAD01A84238A00846EE7 /* SDLHeadLampStatus.h */,
5D61FAD11A84238A00846EE7 /* SDLHeadLampStatus.m */,
+ 5DE3729F1ACB2ED300849FAA /* SDLHMICapabilities.h */,
+ 5DE372A01ACB2ED300849FAA /* SDLHMICapabilities.m */,
5D61FAD61A84238A00846EE7 /* SDLHMIPermissions.h */,
5D61FAD71A84238A00846EE7 /* SDLHMIPermissions.m */,
5D61FAE01A84238A00846EE7 /* SDLImage.h */,
@@ -1551,8 +2437,8 @@
5D61FC171A84238C00846EE7 /* SDLVehicleDataResult.m */,
5D61FC1E1A84238C00846EE7 /* SDLVehicleType.h */,
5D61FC1F1A84238C00846EE7 /* SDLVehicleType.m */,
- 5D61FC221A84238C00846EE7 /* SDLVrHelpItem.h */,
- 5D61FC231A84238C00846EE7 /* SDLVrHelpItem.m */,
+ 5D61FC221A84238C00846EE7 /* SDLVRHelpItem.h */,
+ 5D61FC231A84238C00846EE7 /* SDLVRHelpItem.m */,
);
name = Structs;
sourceTree = "<group>";
@@ -1690,8 +2576,8 @@
5D61FC1B1A84238C00846EE7 /* SDLVehicleDataStatus.m */,
5D61FC1C1A84238C00846EE7 /* SDLVehicleDataType.h */,
5D61FC1D1A84238C00846EE7 /* SDLVehicleDataType.m */,
- 5D61FC201A84238C00846EE7 /* SDLVrCapabilities.h */,
- 5D61FC211A84238C00846EE7 /* SDLVrCapabilities.m */,
+ 5D61FC201A84238C00846EE7 /* SDLVRCapabilities.h */,
+ 5D61FC211A84238C00846EE7 /* SDLVRCapabilities.m */,
5D61FC241A84238C00846EE7 /* SDLWarningLightStatus.h */,
5D61FC251A84238C00846EE7 /* SDLWarningLightStatus.m */,
5D61FC261A84238C00846EE7 /* SDLWiperStatus.h */,
@@ -1703,6 +2589,7 @@
5D5934F51A8516C800687FB9 /* Debug */ = {
isa = PBXGroup;
children = (
+ 5DE372A71ACC35C100849FAA /* @protocols */,
5D61FA7C1A84238A00846EE7 /* SDLConsoleController.h */,
5D61FA7D1A84238A00846EE7 /* SDLConsoleController.m */,
5D61FA821A84238A00846EE7 /* SDLDebugTool.h */,
@@ -1716,7 +2603,6 @@
5D5934F61A85189500687FB9 /* Utilities */ = {
isa = PBXGroup;
children = (
- 5D5934FC1A851B0B00687FB9 /* @protocols */,
5D5934F71A8519A700687FB9 /* JSON */,
5D5934F91A851A8000687FB9 /* Prioritized Objects */,
5D61FAD21A84238A00846EE7 /* SDLHexUtility.h */,
@@ -1802,14 +2688,6 @@
name = "@protocols";
sourceTree = "<group>";
};
- 5D5934FC1A851B0B00687FB9 /* @protocols */ = {
- isa = PBXGroup;
- children = (
- 5D61FA3B1A84238A00846EE7 /* ISDLProxy.h */,
- );
- name = "@protocols";
- sourceTree = "<group>";
- };
5D5934FD1A851B1500687FB9 /* @protocols */ = {
isa = PBXGroup;
children = (
@@ -1832,6 +2710,8 @@
children = (
5D61FABA1A84238A00846EE7 /* SDLEnum.h */,
5D61FABB1A84238A00846EE7 /* SDLEnum.m */,
+ 5DB92D301AC9C8BA00C15BB0 /* SDLRPCStruct.h */,
+ 5DB92D311AC9C8BA00C15BB0 /* SDLRPCStruct.m */,
5D61FB7C1A84238B00846EE7 /* SDLRPCMessage.h */,
5D61FB7D1A84238B00846EE7 /* SDLRPCMessage.m */,
5D61FB801A84238B00846EE7 /* SDLRPCNotification.h */,
@@ -1924,8 +2804,11 @@
5D61FA2C1A84237100846EE7 /* SmartDeviceLinkTests */ = {
isa = PBXGroup;
children = (
- 5D61FA2F1A84237100846EE7 /* SmartDeviceLinkTests.m */,
+ 5DB92D201AC47AC400C15BB0 /* UtilitiesSpecs */,
+ 1680B1041A9CD7AD00DBD79E /* ProtocolSpecs */,
+ 162E81E01A9BDE8A00906325 /* RPCSpecs */,
5D61FA2D1A84237100846EE7 /* Supporting Files */,
+ 167ED9451A9BCE5D00797BE5 /* SwiftSpec.swift */,
);
path = SmartDeviceLinkTests;
sourceTree = "<group>";
@@ -1938,6 +2821,33 @@
name = "Supporting Files";
sourceTree = "<group>";
};
+ 5DB92D201AC47AC400C15BB0 /* UtilitiesSpecs */ = {
+ isa = PBXGroup;
+ children = (
+ 5DB92D2B1AC4A32A00C15BB0 /* Prioritized Objects */,
+ 5DB92D231AC47B2C00C15BB0 /* SDLHexUtilitySpec.m */,
+ 5DB92D251AC4836F00C15BB0 /* SDLJingleSpec.m */,
+ );
+ name = UtilitiesSpecs;
+ sourceTree = "<group>";
+ };
+ 5DB92D2B1AC4A32A00C15BB0 /* Prioritized Objects */ = {
+ isa = PBXGroup;
+ children = (
+ 5DB92D2C1AC4A34F00C15BB0 /* SDLPrioritizedObjectCollectionSpec.m */,
+ 5DB92D2E1AC59F0000C15BB0 /* SDLObjectWithPrioritySpec.m */,
+ );
+ name = "Prioritized Objects";
+ sourceTree = "<group>";
+ };
+ 5DE372A71ACC35C100849FAA /* @protocols */ = {
+ isa = PBXGroup;
+ children = (
+ 5DE372A51ACC35B400849FAA /* SDLDebugToolConsole.h */,
+ );
+ name = "@protocols";
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@@ -1951,11 +2861,12 @@
5D61FC901A84238C00846EE7 /* SDLDisplayCapabilities.h in Headers */,
5D61FCE81A84238C00846EE7 /* SDLLanguage.h in Headers */,
5D61FC841A84238C00846EE7 /* SDLDeviceLevelStatus.h in Headers */,
+ 5DB92D321AC9C8BA00C15BB0 /* SDLRPCStruct.h in Headers */,
5D61FD151A84238C00846EE7 /* SDLOnLockScreenStatus.h in Headers */,
5D61FD291A84238C00846EE7 /* SDLPerformInteraction.h in Headers */,
5D61FD521A84238C00846EE7 /* SDLProxyFactory.h in Headers */,
5D61FCDA1A84238C00846EE7 /* SDLJingle.h in Headers */,
- 5D61FE0D1A84238C00846EE7 /* SDLVrCapabilities.h in Headers */,
+ 5D61FE0D1A84238C00846EE7 /* SDLVRCapabilities.h in Headers */,
5D61FC531A84238C00846EE7 /* SDLButtonEventMode.h in Headers */,
5D61FC781A84238C00846EE7 /* SDLDeleteFileResponse.h in Headers */,
5D61FC5F1A84238C00846EE7 /* SDLCharacterSet.h in Headers */,
@@ -1997,6 +2908,7 @@
5D61FC551A84238C00846EE7 /* SDLButtonName.h in Headers */,
5D61FD9F1A84238C00846EE7 /* SDLSoftButton.h in Headers */,
5D61FD551A84238C00846EE7 /* SDLPutFile.h in Headers */,
+ 5DE372A61ACC35B400849FAA /* SDLDebugToolConsole.h in Headers */,
5D61FD091A84238C00846EE7 /* SDLOnDriverDistraction.h in Headers */,
5D61FC4B1A84238C00846EE7 /* SDLBeltStatus.h in Headers */,
5D61FC351A84238C00846EE7 /* SDLAirbagStatus.h in Headers */,
@@ -2030,6 +2942,7 @@
5D61FD211A84238C00846EE7 /* SDLOnVehicleData.h in Headers */,
5D61FD7D1A84238C00846EE7 /* SDLScrollableMessageResponse.h in Headers */,
5D61FD431A84238C00846EE7 /* SDLProtocol.h in Headers */,
+ 5D8B17531AC9E11B006A6E1C /* SDLDialNumberResponse.h in Headers */,
5D61FC921A84238C00846EE7 /* SDLDisplayType.h in Headers */,
5D61FD0D1A84238C00846EE7 /* SDLOnHashChange.h in Headers */,
5D61FDDF1A84238C00846EE7 /* SDLTTSChunkFactory.h in Headers */,
@@ -2051,6 +2964,7 @@
5D61FD191A84238C00846EE7 /* SDLOnSyncPData.h in Headers */,
5D61FE091A84238C00846EE7 /* SDLVehicleDataType.h in Headers */,
5D61FDB11A84238C00846EE7 /* SDLSubscribeVehicleData.h in Headers */,
+ 5DCF76F51ACDBAD300BB647B /* SDLSendLocation.h in Headers */,
5D61FC9E1A84238C00846EE7 /* SDLEncodedSyncPData.h in Headers */,
5D61FC291A84238C00846EE7 /* SDLAbstractProtocol.h in Headers */,
5D61FDE11A84238C00846EE7 /* SDLTurn.h in Headers */,
@@ -2105,9 +3019,10 @@
5D61FE071A84238C00846EE7 /* SDLVehicleDataStatus.h in Headers */,
5D61FD2D1A84238C00846EE7 /* SDLPermissionItem.h in Headers */,
5D61FCD11A84238C00846EE7 /* SDLImageFieldName.h in Headers */,
+ 5DCF76F91ACDD7CD00BB647B /* SDLSendLocationResponse.h in Headers */,
5D61FD391A84238C00846EE7 /* SDLPrerecordedSpeech.h in Headers */,
5D61FC671A84238C00846EE7 /* SDLComponentVolumeStatus.h in Headers */,
- 5D61FE0F1A84238C00846EE7 /* SDLVrHelpItem.h in Headers */,
+ 5D61FE0F1A84238C00846EE7 /* SDLVRHelpItem.h in Headers */,
5D61FC721A84238C00846EE7 /* SDLDeleteCommand.h in Headers */,
5D61FC821A84238C00846EE7 /* SDLDeviceInfo.h in Headers */,
5D61FCA91A84238C00846EE7 /* SDLFileType.h in Headers */,
@@ -2144,6 +3059,7 @@
5D61FD6B1A84238C00846EE7 /* SDLRPCMessageType.h in Headers */,
5D61FD501A84238C00846EE7 /* SDLProxy.h in Headers */,
5D61FC3F1A84238C00846EE7 /* SDLAmbientLightStatus.h in Headers */,
+ 5DE372A11ACB2ED300849FAA /* SDLHMICapabilities.h in Headers */,
5D61FE0B1A84238C00846EE7 /* SDLVehicleType.h in Headers */,
5D61FCC31A84238C00846EE7 /* SDLHMIPermissions.h in Headers */,
5D61FE131A84238C00846EE7 /* SDLWiperStatus.h in Headers */,
@@ -2175,13 +3091,13 @@
5D61FD6D1A84238C00846EE7 /* SDLRPCNotification.h in Headers */,
5D61FD691A84238C00846EE7 /* SDLRPCMessage.h in Headers */,
5D61FCA71A84238C00846EE7 /* SDLEnum.h in Headers */,
+ 5D8B174F1AC9D266006A6E1C /* SDLDialNumber.h in Headers */,
5D61FCAD1A84238C00846EE7 /* SDLFunctionID.h in Headers */,
- 5D61FC281A84238C00846EE7 /* ISDLProxy.h in Headers */,
5D61FDF51A84238C00846EE7 /* SDLV1ProtocolHeader.h in Headers */,
5D61FDF91A84238C00846EE7 /* SDLV2ProtocolHeader.h in Headers */,
5D61FD4A1A84238C00846EE7 /* SDLProtocolMessageAssembler.h in Headers */,
5D61FD4C1A84238C00846EE7 /* SDLProtocolMessageDisassembler.h in Headers */,
- 5D61FD4E1A84238C00846EE7 /* SDLProtocolRecievedMessageRouter.h in Headers */,
+ 5D61FD4E1A84238C00846EE7 /* SDLProtocolReceivedMessageRouter.h in Headers */,
5D61FDF71A84238C00846EE7 /* SDLV1ProtocolMessage.h in Headers */,
5D61FDFB1A84238C00846EE7 /* SDLV2ProtocolMessage.h in Headers */,
5D61FCFC1A84238C00846EE7 /* SDLNames.h in Headers */,
@@ -2247,6 +3163,7 @@
5D61FA221A84237100846EE7 /* Sources */,
5D61FA231A84237100846EE7 /* Frameworks */,
5D61FA241A84237100846EE7 /* Resources */,
+ 162E81CE1A9BDDBB00906325 /* CopyFiles */,
);
buildRules = (
);
@@ -2284,7 +3201,6 @@
};
5D61FA251A84237100846EE7 = {
CreatedOnToolsVersion = 6.1.1;
- TestTargetID = 5D4019AE1A76EC350006B0C2;
};
};
};
@@ -2403,7 +3319,7 @@
5D61FDE61A84238C00846EE7 /* SDLUnregisterAppInterfaceResponse.m in Sources */,
5D61FC481A84238C00846EE7 /* SDLAudioStreamingState.m in Sources */,
5D61FCC81A84238C00846EE7 /* SDLIAPTransport.m in Sources */,
- 5D61FE101A84238C00846EE7 /* SDLVrHelpItem.m in Sources */,
+ 5D61FE101A84238C00846EE7 /* SDLVRHelpItem.m in Sources */,
5D61FCC01A84238C00846EE7 /* SDLHexUtility.m in Sources */,
5D61FD821A84238C00846EE7 /* SDLSetAppIconResponse.m in Sources */,
5D61FDF81A84238C00846EE7 /* SDLV1ProtocolMessage.m in Sources */,
@@ -2442,6 +3358,7 @@
5D61FD341A84238C00846EE7 /* SDLPowerModeQualificationStatus.m in Sources */,
5D61FC891A84238C00846EE7 /* SDLDiagnosticMessage.m in Sources */,
5D61FD6E1A84238C00846EE7 /* SDLRPCNotification.m in Sources */,
+ 5D8B17501AC9D266006A6E1C /* SDLDialNumber.m in Sources */,
5D61FDE81A84238C00846EE7 /* SDLUnsubscribeButton.m in Sources */,
5D61FCF71A84238C00846EE7 /* SDLMediaClockFormat.m in Sources */,
5D61FD8A1A84238C00846EE7 /* SDLSetGlobalPropertiesResponse.m in Sources */,
@@ -2473,6 +3390,7 @@
5D61FDCE1A84238C00846EE7 /* SDLTimerMode.m in Sources */,
5D61FD701A84238C00846EE7 /* SDLRPCPayload.m in Sources */,
5D61FD9C1A84238C00846EE7 /* SDLSlider.m in Sources */,
+ 5DCF76FA1ACDD7CD00BB647B /* SDLSendLocationResponse.m in Sources */,
5D61FD661A84238C00846EE7 /* SDLResetGlobalPropertiesResponse.m in Sources */,
5D61FCFE1A84238C00846EE7 /* SDLObjectWithPriority.m in Sources */,
5D61FC401A84238C00846EE7 /* SDLAmbientLightStatus.m in Sources */,
@@ -2496,6 +3414,7 @@
5D61FDAE1A84238C00846EE7 /* SDLSubscribeButton.m in Sources */,
5D61FC581A84238C00846EE7 /* SDLButtonPressMode.m in Sources */,
5D61FDB01A84238C00846EE7 /* SDLSubscribeButtonResponse.m in Sources */,
+ 5DCF76F61ACDBAD300BB647B /* SDLSendLocation.m in Sources */,
5D61FC771A84238C00846EE7 /* SDLDeleteFile.m in Sources */,
5D61FC811A84238C00846EE7 /* SDLDeleteSubMenuResponse.m in Sources */,
5D61FC7B1A84238C00846EE7 /* SDLDeleteInteractionChoiceSet.m in Sources */,
@@ -2512,6 +3431,7 @@
5D61FCCA1A84238C00846EE7 /* SDLIgnitionStableStatus.m in Sources */,
5D61FCFB1A84238C00846EE7 /* SDLMyKey.m in Sources */,
5D61FCAA1A84238C00846EE7 /* SDLFileType.m in Sources */,
+ 5DE372A21ACB2ED300849FAA /* SDLHMICapabilities.m in Sources */,
5D61FDD41A84238C00846EE7 /* SDLTouchEvent.m in Sources */,
5D61FD881A84238C00846EE7 /* SDLSetGlobalProperties.m in Sources */,
5D61FC7F1A84238C00846EE7 /* SDLDeleteSubMenu.m in Sources */,
@@ -2535,6 +3455,7 @@
5D61FC9F1A84238C00846EE7 /* SDLEncodedSyncPData.m in Sources */,
5D61FE061A84238C00846EE7 /* SDLVehicleDataResultCode.m in Sources */,
5D61FCA41A84238C00846EE7 /* SDLEndAudioPassThru.m in Sources */,
+ 5D8B17541AC9E11B006A6E1C /* SDLDialNumberResponse.m in Sources */,
5D61FC851A84238C00846EE7 /* SDLDeviceLevelStatus.m in Sources */,
5D61FD1E1A84238C00846EE7 /* SDLOnTBTClientState.m in Sources */,
5D61FD581A84238C00846EE7 /* SDLPutFileResponse.m in Sources */,
@@ -2558,6 +3479,7 @@
5D61FD761A84238C00846EE7 /* SDLRPCResponse.m in Sources */,
5D61FE081A84238C00846EE7 /* SDLVehicleDataStatus.m in Sources */,
5D61FDA81A84238C00846EE7 /* SDLSpeakResponse.m in Sources */,
+ 5DB92D331AC9C8BA00C15BB0 /* SDLRPCStruct.m in Sources */,
5D61FCD61A84238C00846EE7 /* SDLImageType.m in Sources */,
5D61FD7A1A84238C00846EE7 /* SDLScreenParams.m in Sources */,
5D61FC831A84238C00846EE7 /* SDLDeviceInfo.m in Sources */,
@@ -2575,7 +3497,7 @@
5D61FD401A84238C00846EE7 /* SDLPrioritizedObjectCollection.m in Sources */,
5D61FD741A84238C00846EE7 /* SDLRPCRequestFactory.m in Sources */,
5D61FDC61A84238C00846EE7 /* SDLTCPTransport.m in Sources */,
- 5D61FE0E1A84238C00846EE7 /* SDLVrCapabilities.m in Sources */,
+ 5D61FE0E1A84238C00846EE7 /* SDLVRCapabilities.m in Sources */,
5D61FD6C1A84238C00846EE7 /* SDLRPCMessageType.m in Sources */,
5D61FDC21A84238C00846EE7 /* SDLSystemRequestResponse.m in Sources */,
5D61FD001A84238C00846EE7 /* SDLOnAppInterfaceUnregistered.m in Sources */,
@@ -2599,7 +3521,7 @@
5D61FD361A84238C00846EE7 /* SDLPowerModeStatus.m in Sources */,
5D61FD621A84238C00846EE7 /* SDLRequestType.m in Sources */,
5D61FCBA1A84238C00846EE7 /* SDLGlobalProperty.m in Sources */,
- 5D61FD4F1A84238C00846EE7 /* SDLProtocolRecievedMessageRouter.m in Sources */,
+ 5D61FD4F1A84238C00846EE7 /* SDLProtocolReceivedMessageRouter.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2607,7 +3529,241 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 5D61FA301A84237100846EE7 /* SmartDeviceLinkTests.m in Sources */,
+ 162E83951A9BDE8B00906325 /* SDLTurnSpec.m in Sources */,
+ 162E83481A9BDE8B00906325 /* SDLUpdateTurnListSpec.m in Sources */,
+ 1680B11E1A9CD7AD00DBD79E /* SDLProtocolReceivedMessageRouterSpec.m in Sources */,
+ 162E82FD1A9BDE8B00906325 /* SDLSystemContextSpec.m in Sources */,
+ 162E82E21A9BDE8B00906325 /* SDLIgnitionStableStatusSpec.m in Sources */,
+ 162E82EE1A9BDE8B00906325 /* SDLMediaClockFormatSpec.m in Sources */,
+ 5DA026901AD44EE700019F86 /* SDLDialNumberResponseSpec.m in Sources */,
+ 162E83901A9BDE8B00906325 /* SDLTireStatusSpec.m in Sources */,
+ 162E82E01A9BDE8B00906325 /* SDLHMILevelSpec.m in Sources */,
+ 162E83041A9BDE8B00906325 /* SDLUpdateModeSpec.m in Sources */,
+ 162E83801A9BDE8B00906325 /* SDLHMIPermissionsSpec.m in Sources */,
+ 162E83021A9BDE8B00906325 /* SDLTouchTypeSpec.m in Sources */,
+ 5DB92D2F1AC59F0000C15BB0 /* SDLObjectWithPrioritySpec.m in Sources */,
+ 162E838A1A9BDE8B00906325 /* SDLSingleTireStatusSpec.m in Sources */,
+ 162E83051A9BDE8B00906325 /* SDLVehicleDataActiveStatusSpec.m in Sources */,
+ 162E82E61A9BDE8B00906325 /* SDLInteractionModeSpec.m in Sources */,
+ 162E83931A9BDE8B00906325 /* SDLTouchEventSpec.m in Sources */,
+ 5DCF76FE1ACDDB5A00BB647B /* SDLSendLocationResponseSpec.m in Sources */,
+ 162E837D1A9BDE8B00906325 /* SDLEmergencyEventSpec.m in Sources */,
+ 162E82D31A9BDE8A00906325 /* SDLCarModeStatusSpec.m in Sources */,
+ 162E82EA1A9BDE8B00906325 /* SDLLanguageSpec.m in Sources */,
+ 162E83331A9BDE8B00906325 /* SDLPerformInteractionSpec.m in Sources */,
+ 1680B11A1A9CD7AD00DBD79E /* SDLAbstractProtocolSpec.m in Sources */,
+ 1680B1151A9CD7AD00DBD79E /* SDLV2ProtocolHeaderSpec.m in Sources */,
+ 162E83101A9BDE8B00906325 /* SDLOnAudioPassThruSpec.m in Sources */,
+ 162E82D91A9BDE8A00906325 /* SDLDisplayTypeSpec.m in Sources */,
+ 162E83871A9BDE8B00906325 /* SDLPermissionItemSpec.m in Sources */,
+ 162E82E31A9BDE8B00906325 /* SDLIgnitionStatusSpec.m in Sources */,
+ 162E83511A9BDE8B00906325 /* SDLDeleteInteractionChoiceSetResponseSpec.m in Sources */,
+ 162E830E1A9BDE8B00906325 /* SDLRPCRequestFactorySpec.m in Sources */,
+ 162E82E41A9BDE8B00906325 /* SDLImageFieldNameSpec.m in Sources */,
+ 162E83991A9BDE8B00906325 /* SDLEnumSpec.m in Sources */,
+ 162E82ED1A9BDE8B00906325 /* SDLMaintenanceModeStatusSpec.m in Sources */,
+ 5DB92D2D1AC4A34F00C15BB0 /* SDLPrioritizedObjectCollectionSpec.m in Sources */,
+ 1680B11C1A9CD7AD00DBD79E /* SDLProtocolMessageAssemblerSpec.m in Sources */,
+ 162E83181A9BDE8B00906325 /* SDLOnKeyboardInputSpec.m in Sources */,
+ 162E83701A9BDE8B00906325 /* SDLUpdateTurnListResponseSpec.m in Sources */,
+ 162E833B1A9BDE8B00906325 /* SDLSetGlobalPropertiesSpec.m in Sources */,
+ 162E82F11A9BDE8B00906325 /* SDLPowerModeStatusSpec.m in Sources */,
+ 162E83881A9BDE8B00906325 /* SDLPresetBankCapabilitiesSpec.m in Sources */,
+ 162E837E1A9BDE8B00906325 /* SDLGPSDataSpec.m in Sources */,
+ 162E82E11A9BDE8B00906325 /* SDLHMIZoneCapabilitiesSpec.m in Sources */,
+ 162E83721A9BDE8B00906325 /* SDLAudioPassThruCapabilitiesSpec.m in Sources */,
+ 162E83681A9BDE8B00906325 /* SDLSpeakResponseSpec.m in Sources */,
+ 162E83661A9BDE8B00906325 /* SDLShowResponseSpec.m in Sources */,
+ 162E83221A9BDE8B00906325 /* SDLAddCommandSpec.m in Sources */,
+ 162E83121A9BDE8B00906325 /* SDLOnButtonPressSpec.m in Sources */,
+ 162E838D1A9BDE8B00906325 /* SDLStartTimeSpec.m in Sources */,
+ 162E836E1A9BDE8B00906325 /* SDLUnsubscribeButtonResponseSpec.m in Sources */,
+ 162E835B1A9BDE8B00906325 /* SDLPerformInteractionResponseSpec.m in Sources */,
+ 162E832D1A9BDE8B00906325 /* SDLEncodedSyncPDataSpec.m in Sources */,
+ 5DB92D241AC47B2C00C15BB0 /* SDLHexUtilitySpec.m in Sources */,
+ 162E83281A9BDE8B00906325 /* SDLDeleteCommandSpec.m in Sources */,
+ 5DB92D261AC4836F00C15BB0 /* SDLJingleSpec.m in Sources */,
+ 162E83531A9BDE8B00906325 /* SDLDiagnosticMessageResponseSpec.m in Sources */,
+ 162E83671A9BDE8B00906325 /* SDLSliderResponseSpec.m in Sources */,
+ 162E836C1A9BDE8B00906325 /* SDLSystemRequestResponseSpec.m in Sources */,
+ 162E833C1A9BDE8B00906325 /* SDLSetMediaClockTimerSpec.m in Sources */,
+ 162E83061A9BDE8B00906325 /* SDLVehicleDataEventStatusSpec.m in Sources */,
+ 162E83911A9BDE8B00906325 /* SDLTouchCoordSpec.m in Sources */,
+ 162E82F81A9BDE8B00906325 /* SDLRPCMessageTypeSpec.m in Sources */,
+ 162E832B1A9BDE8B00906325 /* SDLDeleteSubMenuSpec.m in Sources */,
+ 162E83411A9BDE8B00906325 /* SDLSubscribeButtonSpec.m in Sources */,
+ 162E82F31A9BDE8B00906325 /* SDLPrerecordedSpeechSpec.m in Sources */,
+ 162E83691A9BDE8B00906325 /* SDLSubscribeButtonResponseSpec.m in Sources */,
+ 162E83591A9BDE8B00906325 /* SDLListFilesResponseSpec.m in Sources */,
+ 162E832A1A9BDE8B00906325 /* SDLDeleteInteractionChoiceSetSpec.m in Sources */,
+ 162E839D1A9BDE8B00906325 /* SDLRPCResponseSpec.m in Sources */,
+ 162E82E51A9BDE8B00906325 /* SDLImageTypeSpec.m in Sources */,
+ 162E83421A9BDE8B00906325 /* SDLSubscribeVehicleDataSpec.m in Sources */,
+ 162E83811A9BDE8B00906325 /* SDLImageFieldSpec.m in Sources */,
+ 162E834F1A9BDE8B00906325 /* SDLDeleteCommandResponseSpec.m in Sources */,
+ 162E83231A9BDE8B00906325 /* SDLAddSubMenuSpec.m in Sources */,
+ 162E82F21A9BDE8B00906325 /* SDLPredefinedLayoutSpec.m in Sources */,
+ 162E83521A9BDE8B00906325 /* SDLDeleteSubMenuResponseSpec.m in Sources */,
+ 162E82E91A9BDE8B00906325 /* SDLKeypressModeSpec.m in Sources */,
+ 162E83211A9BDE8B00906325 /* SDLRPCPayloadSpec.m in Sources */,
+ 162E83851A9BDE8B00906325 /* SDLMyKeySpec.m in Sources */,
+ 162E83941A9BDE8B00906325 /* SDLTTSChunkSpec.m in Sources */,
+ 162E82DC1A9BDE8B00906325 /* SDLEmergencyEventTypeSpec.m in Sources */,
+ 162E82CE1A9BDE8A00906325 /* SDLAudioTypeSpec.m in Sources */,
+ 162E831C1A9BDE8B00906325 /* SDLOnSyncPDataSpec.m in Sources */,
+ 162E83341A9BDE8B00906325 /* SDLPutFileSpec.m in Sources */,
+ 162E837A1A9BDE8B00906325 /* SDLDIDResult.m in Sources */,
+ 162E83171A9BDE8B00906325 /* SDLOnHMIStatusSpec.m in Sources */,
+ 5DE372A41ACB336600849FAA /* SDLHMICapabilitiesSpec.m in Sources */,
+ 162E82F71A9BDE8B00906325 /* SDLResultSpec.m in Sources */,
+ 1680B1141A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m in Sources */,
+ 1680B1161A9CD7AD00DBD79E /* SDLProtocolMessageSpec.m in Sources */,
+ 162E83771A9BDE8B00906325 /* SDLClusterModeStatusSpec.m in Sources */,
+ 162E83981A9BDE8B00906325 /* SDLVrHelpItemSpec.m in Sources */,
+ 162E83831A9BDE8B00906325 /* SDLKeyboardPropertiesSpec.m in Sources */,
+ 162E82D11A9BDE8A00906325 /* SDLButtonNameSpec.m in Sources */,
+ 162E839E1A9BDE8B00906325 /* SDLRPCStructSpec.m in Sources */,
+ 162E83291A9BDE8B00906325 /* SDLDeleteFileSpec.m in Sources */,
+ 1680B11D1A9CD7AD00DBD79E /* SDLProtocolMessageDisassemblerSpec.m in Sources */,
+ 162E838E1A9BDE8B00906325 /* SDLSyncMsgVersionSpec.m in Sources */,
+ 162E82DA1A9BDE8B00906325 /* SDLDriverDistractionStateSpec.m in Sources */,
+ 162E83631A9BDE8B00906325 /* SDLSetGlobalPropertiesResponseSpec.m in Sources */,
+ 162E837B1A9BDE8B00906325 /* SDLDisplayCapabilitiesSpec.m in Sources */,
+ 162E82DE1A9BDE8B00906325 /* SDLFuelCutoffStatusSpec.m in Sources */,
+ 162E83271A9BDE8B00906325 /* SDLCreateInteractionChoiceSetSpec.m in Sources */,
+ 162E83111A9BDE8B00906325 /* SDLOnButtonEventSpec.m in Sources */,
+ 162E82FA1A9BDE8B00906325 /* SDLSoftButtonTypeSpec.m in Sources */,
+ 162E83751A9BDE8B00906325 /* SDLButtonCapabilitiesSpec.m in Sources */,
+ 162E83151A9BDE8B00906325 /* SDLOnEncodedSyncPDataSpec.m in Sources */,
+ 162E83261A9BDE8B00906325 /* SDLChangeRegistrationSpec.m in Sources */,
+ 162E82D21A9BDE8A00906325 /* SDLButtonPressModeSpec.m in Sources */,
+ 162E82D71A9BDE8A00906325 /* SDLDeviceLevelStatusSpec.m in Sources */,
+ 162E83841A9BDE8B00906325 /* SDLMenuParamsSpec.m in Sources */,
+ 162E83071A9BDE8B00906325 /* SDLVehicleDataNotificationStatusSpec.m in Sources */,
+ 162E83361A9BDE8B00906325 /* SDLRegisterAppInterfaceSpec.m in Sources */,
+ 162E82DD1A9BDE8B00906325 /* SDLFileTypeSpec.m in Sources */,
+ 162E836A1A9BDE8B00906325 /* SDLSubscribeVehicleDataResponseSpec.m in Sources */,
+ 162E83761A9BDE8B00906325 /* SDLChoiceSpec.m in Sources */,
+ 162E83571A9BDE8B00906325 /* SDLGetDTCsResponseSpec.m in Sources */,
+ 162E83201A9BDE8B00906325 /* SDLOnVehicleDataSpec.m in Sources */,
+ 162E83141A9BDE8B00906325 /* SDLOnDriverDistractionSpec.m in Sources */,
+ 162E83371A9BDE8B00906325 /* SDLResetGlobalPropertiesSpec.m in Sources */,
+ 162E82DF1A9BDE8B00906325 /* SDLGlobalProperySpec.m in Sources */,
+ 162E82F61A9BDE8B00906325 /* SDLRequestTypeSpec.m in Sources */,
+ 162E82FB1A9BDE8B00906325 /* SDLSpeechCapabilitiesSpec.m in Sources */,
+ 162E830D1A9BDE8B00906325 /* SDLWiperStatusSpec.m in Sources */,
+ 162E832C1A9BDE8B00906325 /* SDLDiagnosticMessageSpec.m in Sources */,
+ 162E83381A9BDE8B00906325 /* SDLScrollableMessageSpec.m in Sources */,
+ 162E82E81A9BDE8B00906325 /* SDLKeyboardLayoutSpec.m in Sources */,
+ 162E83541A9BDE8B00906325 /* SDLEncodedSyncPDataResponseSpec.m in Sources */,
+ 162E83161A9BDE8B00906325 /* SDLOnHashChangeSpec.m in Sources */,
+ 162E82FE1A9BDE8B00906325 /* SDLTBTStateSpec.m in Sources */,
+ 162E834B1A9BDE8B00906325 /* SDLAlertManeuverResponseSpec.m in Sources */,
+ 162E833E1A9BDE8B00906325 /* SDLShowSpec.m in Sources */,
+ 162E83241A9BDE8B00906325 /* SDLAlertManeuverSpec.m in Sources */,
+ 162E83451A9BDE8B00906325 /* SDLUnregisterAppInterfaceSpec.m in Sources */,
+ 162E82EF1A9BDE8B00906325 /* SDLPermissionStatusSpec.m in Sources */,
+ 162E82F01A9BDE8B00906325 /* SDLPowerModeQualificationStatusSpec.m in Sources */,
+ 162E82CD1A9BDE8A00906325 /* SDLAudioStreamingStateSpec.m in Sources */,
+ 162E831A1A9BDE8B00906325 /* SDLOnLockScreenStatusSpec.m in Sources */,
+ 162E83431A9BDE8B00906325 /* SDLSyncPDataSpec.m in Sources */,
+ 167ED9461A9BCE5D00797BE5 /* SwiftSpec.swift in Sources */,
+ 162E838B1A9BDE8B00906325 /* SDLSoftButtonCapabilitiesSpec.m in Sources */,
+ 162E834C1A9BDE8B00906325 /* SDLAlertResponseSpec.m in Sources */,
+ 1680B11B1A9CD7AD00DBD79E /* SDLFunctionIDSpec.m in Sources */,
+ 162E83131A9BDE8B00906325 /* SDLOnCommandSpec.m in Sources */,
+ 162E833A1A9BDE8B00906325 /* SDLSetDisplayLayoutSpec.m in Sources */,
+ 162E838F1A9BDE8B00906325 /* SDLTextFieldSpec.m in Sources */,
+ 162E82CA1A9BDE8A00906325 /* SDLAmbientLightStatusSpec.m in Sources */,
+ 162E83091A9BDE8B00906325 /* SDLVehicleDataStatusSpec.m in Sources */,
+ 162E83741A9BDE8B00906325 /* SDLBodyInformationSpec.m in Sources */,
+ 162E83641A9BDE8B00906325 /* SDLSetMediaClockTimerResponseSpec.m in Sources */,
+ 162E839C1A9BDE8B00906325 /* SDLRPCRequestSpec.m in Sources */,
+ 5D8B17561AC9E399006A6E1C /* SDLDialNumberSpec.m in Sources */,
+ 162E833D1A9BDE8B00906325 /* SDLShowConstantTBTSpec.m in Sources */,
+ 162E83651A9BDE8B00906325 /* SDLShowConstantTBTResponseSpec.m in Sources */,
+ 162E82F91A9BDE8B00906325 /* SDLSamplingRateSpec.m in Sources */,
+ 162E82CB1A9BDE8A00906325 /* SDLAppHMITypeSpec.m in Sources */,
+ 162E83031A9BDE8B00906325 /* SDLTriggerSource.m in Sources */,
+ 162E82D61A9BDE8A00906325 /* SDLComponentVolumeStatusSpec.m in Sources */,
+ 162E835C1A9BDE8B00906325 /* SDLPutFileResponseSpec.m in Sources */,
+ 162E835F1A9BDE8B00906325 /* SDLResetGlobalPropertiesResponseSpec.m in Sources */,
+ 162E835E1A9BDE8B00906325 /* SDLRegisterAppInterfaceResponseSpec.m in Sources */,
+ 162E835A1A9BDE8B00906325 /* SDLPerformAudioPassThruResponseSpec.m in Sources */,
+ 162E83501A9BDE8B00906325 /* SDLDeleteFileResponseSpec.m in Sources */,
+ 162E83601A9BDE8B00906325 /* SDLScrollableMessageResponseSpec.m in Sources */,
+ 162E83791A9BDE8B00906325 /* SDLDeviceStatusSpec.m in Sources */,
+ 162E83821A9BDE8B00906325 /* SDLImageSpec.m in Sources */,
+ 162E834A1A9BDE8B00906325 /* SDLAddSubMenuResponseSpec.m in Sources */,
+ 162E830C1A9BDE8B00906325 /* SDLWarningLightStatusSpec.m in Sources */,
+ 162E82E71A9BDE8B00906325 /* SDLKeyboardEventSpec.m in Sources */,
+ 162E834E1A9BDE8B00906325 /* SDLCreateInteractionChoiceSetResponseSpec.m in Sources */,
+ 162E83301A9BDE8B00906325 /* SDLGetVehicleDataSpec.m in Sources */,
+ 162E833F1A9BDE8B00906325 /* SDLSliderSpec.m in Sources */,
+ 162E838C1A9BDE8B00906325 /* SDLSoftButtonSpec.m in Sources */,
+ 162E83191A9BDE8B00906325 /* SDLOnLanguageChangeSpec.m in Sources */,
+ 162E83611A9BDE8B00906325 /* SDLSetAppIconResponseSpec.m in Sources */,
+ 162E83471A9BDE8B00906325 /* SDLUnsubscribeVehicleDataSpec.m in Sources */,
+ 162E839A1A9BDE8B00906325 /* SDLRPCMessageSpec.m in Sources */,
+ 162E83311A9BDE8B00906325 /* SDLListFilesSpec.m in Sources */,
+ 162E82FF1A9BDE8B00906325 /* SDLTextAlignmentSpec.m in Sources */,
+ 162E831F1A9BDE8B00906325 /* SDLOnTouchEventSpec.m in Sources */,
+ 162E83921A9BDE8B00906325 /* SDLTouchEventCapabilitiesSpec.m in Sources */,
+ 162E837F1A9BDE8B00906325 /* SDLHeadLampStatusSpec.m in Sources */,
+ 162E834D1A9BDE8B00906325 /* SDLChangeRegistrationResponseSpec.m in Sources */,
+ 162E836B1A9BDE8B00906325 /* SDLSyncPDataResponseSpec.m in Sources */,
+ 162E839B1A9BDE8B00906325 /* SDLRPCNotificationSpec.m in Sources */,
+ 162E83581A9BDE8B00906325 /* SDLGetVehicleDataResponseSpec.m in Sources */,
+ 162E831D1A9BDE8B00906325 /* SDLOnSystemRequestSpec.m in Sources */,
+ 162E835D1A9BDE8B00906325 /* SDLReadDIDResponseSpec.m in Sources */,
+ 162E82D41A9BDE8A00906325 /* SDLCharacterSetSpec.m in Sources */,
+ 162E830F1A9BDE8B00906325 /* SDLOnAppInterfaceUnregisteredSpec.m in Sources */,
+ 162E83971A9BDE8B00906325 /* SDLVehicleTypeSpec.m in Sources */,
+ 1680B1131A9CD7AD00DBD79E /* SDLProtocolHeaderSpec.m in Sources */,
+ 162E82D01A9BDE8A00906325 /* SDLButtonEventModeSpec.m in Sources */,
+ 162E83781A9BDE8B00906325 /* SDLDeviceInfoSpec.m in Sources */,
+ 162E83391A9BDE8B00906325 /* SDLSetAppIconSpec.m in Sources */,
+ 162E83011A9BDE8B00906325 /* SDLTimerModeSpec.m in Sources */,
+ 162E83891A9BDE8B00906325 /* SDLScreenParamsSpec.m in Sources */,
+ 162E83441A9BDE8B00906325 /* SDLSystemRequestSpec.m in Sources */,
+ 162E83001A9BDE8B00906325 /* SDLTextFieldNameSpec.m in Sources */,
+ 162E82FC1A9BDE8B00906325 /* SDLSystemAction.m in Sources */,
+ 162E82CC1A9BDE8A00906325 /* SDLAppInterfaceUnregisteredReasonSpec.m in Sources */,
+ 162E83321A9BDE8B00906325 /* SDLPerformAudioPassThruSpec.m in Sources */,
+ 162E830B1A9BDE8B00906325 /* SDLVrCapabilitiesSpec.m in Sources */,
+ 162E83081A9BDE8B00906325 /* SDLVehicleDataResultCodeSpec.m in Sources */,
+ 162E83621A9BDE8B00906325 /* SDLSetDisplayLayoutResponseSpec.m in Sources */,
+ 162E832E1A9BDE8B00906325 /* SDLEndAudioPassThruSpec.m in Sources */,
+ 1680B1191A9CD7AD00DBD79E /* SDLV2ProtocolMessageSpec.m in Sources */,
+ 162E83961A9BDE8B00906325 /* SDLVehicleDataResultSpec.m in Sources */,
+ 162E83491A9BDE8B00906325 /* SDLAddCommandResponseSpec.m in Sources */,
+ 162E82F51A9BDE8B00906325 /* SDLPRNDLSpec.m in Sources */,
+ 1680B1171A9CD7AD00DBD79E /* SDLProtocolSpec.m in Sources */,
+ 162E836D1A9BDE8B00906325 /* SDLUnregisterAppInterfaceResponseSpec.m in Sources */,
+ 162E837C1A9BDE8B00906325 /* SDLECallInfoSpec.m in Sources */,
+ 162E83401A9BDE8B00906325 /* SDLSpeakSpec.m in Sources */,
+ 5DCF76FC1ACDDB4200BB647B /* SDLSendLocationSpec.m in Sources */,
+ 162E83561A9BDE8B00906325 /* SDLGenericResponseSpec.m in Sources */,
+ 162E82D51A9BDE8A00906325 /* SDLCompassDirectionSpec.m in Sources */,
+ 162E83861A9BDE8B00906325 /* SDLParameterPermissionsSpec.m in Sources */,
+ 162E831B1A9BDE8B00906325 /* SDLOnPermissionsChangeSpec.m in Sources */,
+ 162E83711A9BDE8B00906325 /* SDLAirbagStatusSpec.m in Sources */,
+ 162E82CF1A9BDE8A00906325 /* SDLBitsPerSampleSpec.m in Sources */,
+ 162E831E1A9BDE8B00906325 /* SDLOnTBTClientStateSpec.m in Sources */,
+ 162E83351A9BDE8B00906325 /* SDLReadDIDSpec.m in Sources */,
+ 162E836F1A9BDE8B00906325 /* SDLUnsubscribeVehicleDataResponseSpec.m in Sources */,
+ 162E82DB1A9BDE8B00906325 /* SDLECallConfirmationStatusSpec.m in Sources */,
+ 162E82D81A9BDE8A00906325 /* SDLDimensionSpec.m in Sources */,
+ 162E83731A9BDE8B00906325 /* SDLBeltStatusSpec.m in Sources */,
+ 162E83551A9BDE8B00906325 /* SDLEndAudioPassThruResponseSpec.m in Sources */,
+ 162E83251A9BDE8B00906325 /* SDLAlertSpec.m in Sources */,
+ 162E830A1A9BDE8B00906325 /* SDLVehicleDataTypeSpec.m in Sources */,
+ 162E82F41A9BDE8B00906325 /* SDLPrimaryAudioSource.m in Sources */,
+ 162E83461A9BDE8B00906325 /* SDLUnsubscribeButtonSpec.m in Sources */,
+ 162E82EB1A9BDE8B00906325 /* SDLLayoutModeSpec.m in Sources */,
+ 1680B1181A9CD7AD00DBD79E /* SDLV1ProtocolMessageSpec.m in Sources */,
+ 162E82EC1A9BDE8B00906325 /* SDLLockScreenStatusSpec.m in Sources */,
+ 162E832F1A9BDE8B00906325 /* SDLGetDTCsSpec.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2770,12 +3926,18 @@
5D61FA361A84237100846EE7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_STATIC_ANALYZER_MODE = deep;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Carthage/Build/iOS",
+ );
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
@@ -2784,7 +3946,12 @@
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Libraries",
+ );
PRODUCT_NAME = "$(TARGET_NAME)";
+ RUN_CLANG_STATIC_ANALYZER = YES;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
@@ -2795,17 +3962,28 @@
5D61FA371A84237100846EE7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_STATIC_ANALYZER_MODE = deep;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Carthage/Build/iOS",
+ );
INFOPLIST_FILE = SmartDeviceLink/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Libraries",
+ );
PRODUCT_NAME = "$(TARGET_NAME)";
+ RUN_CLANG_STATIC_ANALYZER = YES;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
@@ -2816,32 +3994,75 @@
5D61FA391A84237100846EE7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ EMBEDDED_CONTENT_CONTAINS_SWIFT = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
+ "$(PROJECT_DIR)/Carthage/Build/iOS",
);
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
+ "$(SRCROOT)/Libraries",
+ );
INFOPLIST_FILE = SmartDeviceLinkTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Libraries",
+ );
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-framework",
+ XCTest,
+ "-all_load",
+ "-ObjC",
+ );
PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SmartDeviceLink-Example.app/SmartDeviceLink-Example";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
5D61FA3A1A84237100846EE7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ EMBEDDED_CONTENT_CONTAINS_SWIFT = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
+ "$(PROJECT_DIR)/Carthage/Build/iOS",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
+ "$(SRCROOT)/Libraries",
);
INFOPLIST_FILE = SmartDeviceLinkTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Libraries",
+ );
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-framework",
+ XCTest,
+ "-all_load",
+ "-ObjC",
+ );
PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SmartDeviceLink-Example.app/SmartDeviceLink-Example";
};
name = Release;
};
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/ISDLProxy.h b/SmartDeviceLink-iOS/SmartDeviceLink/ISDLProxy.h
deleted file mode 100644
index f8ac33d79..000000000
--- a/SmartDeviceLink-iOS/SmartDeviceLink/ISDLProxy.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// ISDLProxy.h
-//
-
-
-
-#import "SDLProtocol.h"
-#import "SDLProxyListener"
-#import "SDLRPCMessage"
-#import "SDLTransport"
-
-@protocol ISDLProxy
-
--(id) initWithTransport:(NSObject<SDLTransport>*) transport protocol:(NSObject<SDLProtocol>*) protocol delegate:(NSObject<SDLProxyListener>*) delegate;
-
--(void) dispose;
--(void) addDelegate:(NSObject<SDLProxyListener>*) delegate;
-
--(void) sendRPCRequest:(SDLRPCMessage*) msg;
--(void) handleRpcMessage:(NSDictionary*) msg;
-
-@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/Info.plist b/SmartDeviceLink-iOS/SmartDeviceLink/Info.plist
index e79788ec7..41950f60c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/Info.plist
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/Info.plist
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>3.1.0</string>
+ <string>4.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.h
index cedb95374..012d869fb 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.h
@@ -1,8 +1,6 @@
// SDLAbstractProtocol.h
//
-
-
#import "SDLInterfaceProtocol.h"
#import "SDLTransport.h"
#import "SDLProtocolListener.h"
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m
index 926f4c2e4..84630bdac 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractProtocol.m
@@ -3,7 +3,7 @@
#import "SDLAbstractProtocol.h"
@implementation SDLAbstractProtocol
-- (id)init {
+- (instancetype)init {
if (self = [super init]) {
_debugConsoleGroupName = @"default";
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.h
index 7dfb1c519..8d5241ab4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.h
@@ -5,6 +5,7 @@
#import "SDLTransport.h"
#import "SDLTransportDelegate.h"
+
@interface SDLAbstractTransport : NSObject<SDLTransport>
@property (weak) id<SDLTransportDelegate> delegate;
@@ -12,7 +13,7 @@
@property (strong, readonly) NSString* endpointName;
@property (strong, readonly) NSString* endpointParam;
-- (id) initWithEndpoint:(NSString*) endpoint endpointParam:(NSString*) endointParam;
+- (instancetype) initWithEndpoint:(NSString*) endpoint endpointParam:(NSString*) endointParam;
- (void)notifyTransportConnected;
- (void)notifyTransportDisconnected;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.m
index 21958c64b..263677c7f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAbstractTransport.m
@@ -2,9 +2,10 @@
#import "SDLAbstractTransport.h"
+
@implementation SDLAbstractTransport
-- (id) initWithEndpoint:(NSString*) endpoint endpointParam:(NSString*) param {
+- (instancetype) initWithEndpoint:(NSString*) endpoint endpointParam:(NSString*) param {
if (self = [super init]) {
_endpointName = endpoint;
_endpointParam = param;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h
index b7a2a05ee..5a844200b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h
@@ -3,8 +3,8 @@
#import "SDLRPCRequest.h"
-#import "SDLMenuParams.h"
-#import "SDLImage.h"
+@class SDLMenuParams;
+@class SDLImage;
/**
@@ -35,7 +35,7 @@
/**
* Constructs a new SDLAddCommand object
*/
--(id) init;
+-(instancetype) init;
/**
*
* Constructs a new SDLAddCommand object indicated by the NSMutableDictionary
@@ -44,7 +44,7 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract an Unique Command ID that identifies the command
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.m
index 23be9feff..2488ae06e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.m
@@ -5,15 +5,18 @@
#import "SDLAddCommand.h"
#import "SDLNames.h"
+#import "SDLMenuParams.h"
+#import "SDLImage.h"
+
@implementation SDLAddCommand
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_AddCommand]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.h
index 97f8eeae5..77d116fd3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.h
@@ -11,7 +11,7 @@
*/
@interface SDLAddCommandResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.m
index c22c65885..3f5b4078f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommandResponse.m
@@ -6,12 +6,12 @@
@implementation SDLAddCommandResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_AddCommand]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.h
index a98dd8002..30eae0805 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.h
@@ -21,14 +21,14 @@
/**
* Constructs a new SDLAddSubMenu object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLAddSubMenu object indicated by the NSMutableDictionary parameter
* <p>
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract a Menu ID that identifies a sub menu
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.m
index d78e0f710..7e5b5fccb 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenu.m
@@ -6,12 +6,12 @@
@implementation SDLAddSubMenu
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_AddSubMenu]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.h
index d00edf600..bb3d421ce 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.h
@@ -9,7 +9,7 @@
*/
@interface SDLAddSubMenuResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.m
index de4bf6b00..ea1a5d722 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddSubMenuResponse.m
@@ -6,12 +6,12 @@
@implementation SDLAddSubMenuResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_AddSubMenu]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.h
index df88a64ad..9b918ec69 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.h
@@ -1,15 +1,15 @@
// SDLAirbagStatus.h
//
-
#import "SDLRPCMessage.h"
-#import "SDLVehicleDataEventStatus.h"
+@class SDLVehicleDataEventStatus;
+
@interface SDLAirbagStatus : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLVehicleDataEventStatus* driverAirbagDeployed;
@property(strong) SDLVehicleDataEventStatus* driverSideAirbagDeployed;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.m
index 1533d0580..e7cbd9306 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAirbagStatus.m
@@ -3,15 +3,17 @@
#import "SDLAirbagStatus.h"
#import "SDLNames.h"
+#import "SDLVehicleDataEventStatus.h"
+
@implementation SDLAirbagStatus
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.h
index fdd98c08e..1dae3cdc6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.h
@@ -40,14 +40,14 @@
/**
* Constructs a new SDLAlert object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLAlert object indicated by the NSMutableDictionary parameter
* <p>
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the String to be displayed in the first field of the display during
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.m
index 3543d7ded..1fb900d0f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlert.m
@@ -8,12 +8,12 @@
@implementation SDLAlert
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_Alert]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.h
index 9932dd79b..56310950e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.h
@@ -9,8 +9,8 @@
*/
@interface SDLAlertManeuver : SDLRPCRequest {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSMutableArray* ttsChunks;
@property(strong) NSMutableArray* softButtons;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.m
index 0159df4b9..d64b1dd84 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuver.m
@@ -10,12 +10,12 @@
@implementation SDLAlertManeuver
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_AlertManeuver]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.h
index 04c8bd692..5ee70e11a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.h
@@ -10,7 +10,7 @@
*/
@interface SDLAlertManeuverResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.m
index 199dd4af0..e77258993 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertManeuverResponse.m
@@ -7,12 +7,12 @@
@implementation SDLAlertManeuverResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_AlertManeuver]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.h
index de54acf93..c52439cb1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.h
@@ -10,8 +10,8 @@
*/
@interface SDLAlertResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* tryAgainTime;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.m
index 4b0832d74..cf432a97a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAlertResponse.m
@@ -7,12 +7,12 @@
@implementation SDLAlertResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_Alert]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.h
index 68520155e..6119d059c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.h
@@ -12,7 +12,7 @@
@interface SDLAmbientLightStatus : SDLEnum {}
+(SDLAmbientLightStatus*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLAmbientLightStatus*) NIGHT;
+(SDLAmbientLightStatus*) TWILIGHT_1;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.m
index bc6c26eae..354d9cba5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAmbientLightStatus.m
@@ -12,7 +12,7 @@ SDLAmbientLightStatus* SDLAmbientLightStatus_DAY = nil;
SDLAmbientLightStatus* SDLAmbientLightStatus_UNKNOWN = nil;
SDLAmbientLightStatus* SDLAmbientLightStatus_INVALID = nil;
-NSMutableArray* SDLAmbientLightStatus_values = nil;
+NSArray* SDLAmbientLightStatus_values = nil;
@implementation SDLAmbientLightStatus
@@ -25,9 +25,9 @@ NSMutableArray* SDLAmbientLightStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLAmbientLightStatus_values == nil) {
- SDLAmbientLightStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLAmbientLightStatus_values = @[
SDLAmbientLightStatus.NIGHT,
SDLAmbientLightStatus.TWILIGHT_1,
SDLAmbientLightStatus.TWILIGHT_2,
@@ -36,7 +36,7 @@ NSMutableArray* SDLAmbientLightStatus_values = nil;
SDLAmbientLightStatus.DAY,
SDLAmbientLightStatus.UNKNOWN,
SDLAmbientLightStatus.INVALID,
- nil];
+ ];
}
return SDLAmbientLightStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.h
index f797eeca7..6db03dfc1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.h
@@ -21,7 +21,7 @@
@abstract Store the enumeration of all possible SDLAppHMIType
@result return an array that store all possible SDLAppHMIType
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The App will have default rights.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.m
index d394f58f8..73a158c1f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppHMIType.m
@@ -15,7 +15,7 @@ SDLAppHMIType* SDLAppHMIType_BACKGROUND_PROCESS = nil;
SDLAppHMIType* SDLAppHMIType_TESTING = nil;
SDLAppHMIType* SDLAppHMIType_SYSTEM = nil;
-NSMutableArray* SDLAppHMIType_values = nil;
+NSArray* SDLAppHMIType_values = nil;
@implementation SDLAppHMIType
@@ -28,9 +28,9 @@ NSMutableArray* SDLAppHMIType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLAppHMIType_values == nil) {
- SDLAppHMIType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLAppHMIType_values = @[
SDLAppHMIType.DEFAULT,
SDLAppHMIType.COMMUNICATION,
SDLAppHMIType.MEDIA,
@@ -41,7 +41,7 @@ NSMutableArray* SDLAppHMIType_values = nil;
SDLAppHMIType.BACKGROUND_PROCESS,
SDLAppHMIType.TESTING,
SDLAppHMIType.SYSTEM,
- nil];
+ ];
}
return SDLAppHMIType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h
index 90c29f80b..37ddccd29 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h
@@ -21,7 +21,7 @@
@abstract Store the enumeration of all possible SDLAppInterfaceUnregisteredReason
@result return an array that store all possible SDLAppInterfaceUnregisteredReason
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Vehicle ignition turned off.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m
index 7ace22188..bd26395c6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m
@@ -14,7 +14,7 @@ SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_MASTER_RESE
SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_FACTORY_DEFAULTS = nil;
SDLAppInterfaceUnregisteredReason* SDLAppInterfaceUnregisteredReason_APP_UNAUTHORIZED = nil;
-NSMutableArray* SDLAppInterfaceUnregisteredReason_values = nil;
+NSArray* SDLAppInterfaceUnregisteredReason_values = nil;
@implementation SDLAppInterfaceUnregisteredReason
@@ -27,9 +27,9 @@ NSMutableArray* SDLAppInterfaceUnregisteredReason_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLAppInterfaceUnregisteredReason_values == nil) {
- SDLAppInterfaceUnregisteredReason_values = [[NSMutableArray alloc] initWithObjects:
+ SDLAppInterfaceUnregisteredReason_values = @[
SDLAppInterfaceUnregisteredReason.IGNITION_OFF,
SDLAppInterfaceUnregisteredReason.BLUETOOTH_OFF,
SDLAppInterfaceUnregisteredReason.USB_DISCONNECTED,
@@ -40,7 +40,7 @@ NSMutableArray* SDLAppInterfaceUnregisteredReason_values = nil;
SDLAppInterfaceUnregisteredReason.MASTER_RESET,
SDLAppInterfaceUnregisteredReason.FACTORY_DEFAULTS,
SDLAppInterfaceUnregisteredReason.APP_UNAUTHORIZED,
- nil];
+ ];
}
return SDLAppInterfaceUnregisteredReason_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.h
index 3dbd8f948..a43c812ba 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.h
@@ -1,13 +1,12 @@
// SDLAudioPassThruCapabilities.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLSamplingRate.h"
-#import "SDLBitsPerSample.h"
-#import "SDLAudioType.h"
+@class SDLAudioType;
+@class SDLBitsPerSample;
+@class SDLSamplingRate;
+
/**
* Describes different audio type configurations for SDLPerformAudioPassThru, e.g. {8kHz,8-bit,PCM}
@@ -48,12 +47,12 @@
/**
* Constructs a newly allocated SDLAudioPassThruCapabilities object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLAudioPassThruCapabilities object indicated by the Hashtable parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The sampling rate for AudioPassThru<br>
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.m
index b3b3d863f..5dbf1efe9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioPassThruCapabilities.m
@@ -4,16 +4,20 @@
#import "SDLAudioPassThruCapabilities.h"
+#import "SDLAudioType.h"
+#import "SDLBitsPerSample.h"
#import "SDLNames.h"
+#import "SDLSamplingRate.h"
+
@implementation SDLAudioPassThruCapabilities
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.h
index f562a709a..e10c74c2e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.h
@@ -24,7 +24,7 @@
@abstract Store the enumeration of all possible SDLAudioStreamingState
@result return an array that store all possible SDLAudioStreamingState
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Currently streaming audio, if any, is audible to user.
* @result SDLAudioStreamingState with value of <font color=gray><i>AUDIBLE</i></font>
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.m
index 4062f974c..d6bef3641 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioStreamingState.m
@@ -8,7 +8,7 @@ SDLAudioStreamingState* SDLAudioStreamingState_AUDIBLE = nil;
SDLAudioStreamingState* SDLAudioStreamingState_ATTENUATED = nil;
SDLAudioStreamingState* SDLAudioStreamingState_NOT_AUDIBLE = nil;
-NSMutableArray* SDLAudioStreamingState_values = nil;
+NSArray* SDLAudioStreamingState_values = nil;
@implementation SDLAudioStreamingState
@@ -21,13 +21,13 @@ NSMutableArray* SDLAudioStreamingState_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLAudioStreamingState_values == nil) {
- SDLAudioStreamingState_values = [[NSMutableArray alloc] initWithObjects:
+ SDLAudioStreamingState_values = @[
SDLAudioStreamingState.AUDIBLE,
SDLAudioStreamingState.ATTENUATED,
SDLAudioStreamingState.NOT_AUDIBLE,
- nil];
+ ];
}
return SDLAudioStreamingState_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.h
index 0fa526c26..af1b14afc 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.h
@@ -21,7 +21,7 @@
@abstract Store the enumeration of all possible SDLAudioType
@result return an array that store all possible SDLAudioType
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
@abstract PCM raw audio
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.m
index e9dd17b40..525e760b1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLAudioType.m
@@ -5,7 +5,7 @@
SDLAudioType* SDLAudioType_PCM = nil;
-NSMutableArray* SDLAudioType_values = nil;
+NSArray* SDLAudioType_values = nil;
@implementation SDLAudioType
@@ -18,11 +18,11 @@ NSMutableArray* SDLAudioType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLAudioType_values == nil) {
- SDLAudioType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLAudioType_values = @[
SDLAudioType.PCM,
- nil];
+ ];
}
return SDLAudioType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.h
index f1a3cb88a..2dbf8d5b5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.h
@@ -1,16 +1,15 @@
// SDLBeltStatus.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLVehicleDataEventStatus.h"
+@class SDLVehicleDataEventStatus;
+
@interface SDLBeltStatus : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLVehicleDataEventStatus* driverBeltDeployed;
@property(strong) SDLVehicleDataEventStatus* passengerBeltDeployed;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.m
index eec3919fa..eac8cadb2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBeltStatus.m
@@ -1,19 +1,20 @@
// SDLBeltStatus.m
//
-
#import "SDLBeltStatus.h"
#import "SDLNames.h"
+#import "SDLVehicleDataEventStatus.h"
+
@implementation SDLBeltStatus
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.h
index 4fb18def3..6c233ddc5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLBitsPerSample
@result return an array that store all possible SDLBitsPerSample
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract 8 bits per sample
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.m
index ae3d301a9..6b3bf3376 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBitsPerSample.m
@@ -7,7 +7,7 @@
SDLBitsPerSample* SDLBitsPerSample_8_BIT = nil;
SDLBitsPerSample* SDLBitsPerSample_16_BIT = nil;
-NSMutableArray* SDLBitsPerSample_values = nil;
+NSArray* SDLBitsPerSample_values = nil;
@implementation SDLBitsPerSample
@@ -20,12 +20,12 @@ NSMutableArray* SDLBitsPerSample_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLBitsPerSample_values == nil) {
- SDLBitsPerSample_values = [[NSMutableArray alloc] initWithObjects:
+ SDLBitsPerSample_values = @[
SDLBitsPerSample._8_BIT,
SDLBitsPerSample._16_BIT,
- nil];
+ ];
}
return SDLBitsPerSample_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.h
index 09a9d8051..01e4f2845 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.h
@@ -1,12 +1,11 @@
// SDLBodyInformation.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLIgnitionStableStatus.h"
-#import "SDLIgnitionStatus.h"
+@class SDLIgnitionStableStatus;
+@class SDLIgnitionStatus;
+
/**
* The body information including power modes.
@@ -16,14 +15,14 @@
/**
* @abstract Constructs a new SDLBodyInformation object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLBodyInformation object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract References signal "PrkBrkActv_B_Actl".
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.m
index d422aa76f..adaafb6d5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLBodyInformation.m
@@ -4,16 +4,19 @@
#import "SDLBodyInformation.h"
+#import "SDLIgnitionStableStatus.h"
+#import "SDLIgnitionStatus.h"
#import "SDLNames.h"
+
@implementation SDLBodyInformation
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.h
index a0b5c4106..a0a5e6aa3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.h
@@ -1,11 +1,10 @@
// SDLButtonCapabilities.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLButtonName.h"
+@class SDLButtonName;
+
/**
* Provides information about the capabilities of a SDL HMI button.
@@ -50,12 +49,12 @@
/**
* Constructs a newly allocated SDLButtonCapabilities object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLButtonCapabilities object indicated by the Hashtable parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The name of the SDL HMI button.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.m
index 60c808d4b..71aab6b1b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonCapabilities.m
@@ -1,19 +1,20 @@
// SDLButtonCapabilities.m
//
-
#import "SDLButtonCapabilities.h"
+#import "SDLButtonName.h"
#import "SDLNames.h"
+
@implementation SDLButtonCapabilities
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.h
index 7683af660..721a56669 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.h
@@ -24,7 +24,7 @@
@abstract Store the enumeration of all possible SDLButtonEventMode
@result return an array that store all possible SDLButtonEventMode
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
@abstract The button was released
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.m
index d4305b8ad..01fb4e89b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonEventMode.m
@@ -7,7 +7,7 @@
SDLButtonEventMode* SDLButtonEventMode_BUTTONUP = nil;
SDLButtonEventMode* SDLButtonEventMode_BUTTONDOWN = nil;
-NSMutableArray* SDLButtonEventMode_values = nil;
+NSArray* SDLButtonEventMode_values = nil;
@implementation SDLButtonEventMode
@@ -20,12 +20,12 @@ NSMutableArray* SDLButtonEventMode_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLButtonEventMode_values == nil) {
- SDLButtonEventMode_values = [[NSMutableArray alloc] initWithObjects:
+ SDLButtonEventMode_values = @[
SDLButtonEventMode.BUTTONUP,
SDLButtonEventMode.BUTTONDOWN,
- nil];
+ ];
}
return SDLButtonEventMode_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.h
index e8578eb25..901f08036 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.h
@@ -39,7 +39,7 @@
@abstract Store the enumeration of all possible SDLButtonName
@result return an array that store all possible SDLButtonName
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Represents the button usually labeled "OK". A typical use of this button
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.m
index c69c6634f..69224dd1d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonName.m
@@ -22,7 +22,7 @@ SDLButtonName* SDLButtonName_PRESET_9 = nil;
SDLButtonName* SDLButtonName_CUSTOM_BUTTON = nil;
SDLButtonName* SDLButtonName_SEARCH = nil;
-NSMutableArray* SDLButtonName_values = nil;
+NSArray* SDLButtonName_values = nil;
@implementation SDLButtonName
@@ -35,9 +35,9 @@ NSMutableArray* SDLButtonName_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLButtonName_values == nil) {
- SDLButtonName_values = [[NSMutableArray alloc] initWithObjects:
+ SDLButtonName_values = @[
SDLButtonName.OK,
SDLButtonName.SEEKLEFT,
SDLButtonName.SEEKRIGHT,
@@ -55,7 +55,7 @@ NSMutableArray* SDLButtonName_values = nil;
SDLButtonName.PRESET_9,
SDLButtonName.CUSTOM_BUTTON,
SDLButtonName.SEARCH,
- nil];
+ ];
}
return SDLButtonName_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.h
index bbf53e6c2..f7ecaea3b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.h
@@ -24,7 +24,7 @@
@abstract Store the enumeration of all possible SDLButtonPressMode
@result return an array that store all possible SDLButtonPressMode
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The button has been depressed for 2 seconds. The button may remain
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.m
index 226e6b783..259f95d83 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLButtonPressMode.m
@@ -7,7 +7,7 @@
SDLButtonPressMode* SDLButtonPressMode_LONG = nil;
SDLButtonPressMode* SDLButtonPressMode_SHORT = nil;
-NSMutableArray* SDLButtonPressMode_values = nil;
+NSArray* SDLButtonPressMode_values = nil;
@implementation SDLButtonPressMode
@@ -20,12 +20,12 @@ NSMutableArray* SDLButtonPressMode_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLButtonPressMode_values == nil) {
- SDLButtonPressMode_values = [[NSMutableArray alloc] initWithObjects:
+ SDLButtonPressMode_values = @[
SDLButtonPressMode.LONG,
SDLButtonPressMode.SHORT,
- nil];
+ ];
}
return SDLButtonPressMode_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.h
index 35ea39718..cc131adb9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.h
@@ -12,7 +12,7 @@
+(SDLCarModeStatus*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** Provides carmode NORMAL to each module.
*/
+(SDLCarModeStatus*) NORMAL;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.m
index 74827df2c..8f3ae266a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCarModeStatus.m
@@ -9,7 +9,7 @@ SDLCarModeStatus* SDLCarModeStatus_FACTORY = nil;
SDLCarModeStatus* SDLCarModeStatus_TRANSPORT = nil;
SDLCarModeStatus* SDLCarModeStatus_CRASH = nil;
-NSMutableArray* SDLCarModeStatus_values = nil;
+NSArray* SDLCarModeStatus_values = nil;
@implementation SDLCarModeStatus
@@ -22,14 +22,14 @@ NSMutableArray* SDLCarModeStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLCarModeStatus_values == nil) {
- SDLCarModeStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLCarModeStatus_values = @[
SDLCarModeStatus.NORMAL,
SDLCarModeStatus.FACTORY,
SDLCarModeStatus.TRANSPORT,
SDLCarModeStatus.CRASH,
- nil];
+ ];
}
return SDLCarModeStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.h
index 949819ea3..d7ef35a12 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.h
@@ -5,7 +5,7 @@
#import "SDLRPCRequest.h"
-#import "SDLLanguage.h"
+@class SDLLanguage;
/**
* If the app recognizes during the app registration that the SDL HMI language
@@ -26,7 +26,7 @@
/**
* Constructs a new SDLChangeRegistration object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLChangeRegistration object indicated by the NSMutableDictionary
* parameter
@@ -34,7 +34,7 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the language app want to change to
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.m
index f600da522..62e72b455 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistration.m
@@ -5,15 +5,16 @@
#import "SDLChangeRegistration.h"
#import "SDLNames.h"
+#import "SDLLanguage.h"
@implementation SDLChangeRegistration
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ChangeRegistration]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.h
index a07d3a79e..606dcffe7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.h
@@ -12,7 +12,7 @@
*/
@interface SDLChangeRegistrationResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.m
index 7ec710f90..a04e81031 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChangeRegistrationResponse.m
@@ -8,12 +8,12 @@
@implementation SDLChangeRegistrationResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ChangeRegistration]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.h
index e8e94aaef..304ba59e1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLCharacterSet
@result return an array that store all possible SDLCharacterSet
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLCharacterSet*) TYPE2SET;
+(SDLCharacterSet*) TYPE5SET;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.m
index 1e0ddacd2..95a199a64 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCharacterSet.m
@@ -9,7 +9,7 @@ SDLCharacterSet* SDLCharacterSet_TYPE5SET = nil;
SDLCharacterSet* SDLCharacterSet_CID1SET = nil;
SDLCharacterSet* SDLCharacterSet_CID2SET = nil;
-NSMutableArray* SDLCharacterSet_values = nil;
+NSArray* SDLCharacterSet_values = nil;
@implementation SDLCharacterSet
@@ -22,14 +22,14 @@ NSMutableArray* SDLCharacterSet_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLCharacterSet_values == nil) {
- SDLCharacterSet_values = [[NSMutableArray alloc] initWithObjects:
+ SDLCharacterSet_values = @[
SDLCharacterSet.TYPE2SET,
SDLCharacterSet.TYPE5SET,
SDLCharacterSet.CID1SET,
SDLCharacterSet.CID2SET,
- nil];
+ ];
}
return SDLCharacterSet_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.h
index 556482a63..487998d3f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.h
@@ -1,11 +1,10 @@
// SDLChoice.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLImage.h"
+@class SDLImage;
+
/**
* A choice is an option which a user can select either via the menu or via voice recognition (VR) during an application initiated interaction.
@@ -56,12 +55,12 @@
/**
* Constructs a newly allocated SDLChoice object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLChoice object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the application-scoped identifier that uniquely identifies this choice
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.m
index 8587a45bf..06260160f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLChoice.m
@@ -1,19 +1,20 @@
// SDLChoice.m
//
-
#import "SDLChoice.h"
+#import "SDLImage.h"
#import "SDLNames.h"
+
@implementation SDLChoice
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.h
index 579aba34d..00799cbe0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.h
@@ -1,18 +1,17 @@
// SDLClusterModeStatus.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLPowerModeQualificationStatus.h"
-#import "SDLCarModeStatus.h"
-#import "SDLPowerModeStatus.h"
+@class SDLCarModeStatus;
+@class SDLPowerModeQualificationStatus;
+@class SDLPowerModeStatus;
+
@interface SDLClusterModeStatus : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* powerModeActive;
@property(strong) SDLPowerModeQualificationStatus* powerModeQualificationStatus;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.m
index be8b48b92..37e5bef43 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLClusterModeStatus.m
@@ -1,19 +1,22 @@
// SDLClusterModeStatus.m
//
-
#import "SDLClusterModeStatus.h"
+#import "SDLCarModeStatus.h"
#import "SDLNames.h"
+#import "SDLPowerModeQualificationStatus.h"
+#import "SDLPowerModeStatus.h"
+
@implementation SDLClusterModeStatus
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.h
index 1386cb692..ed445033f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.h
@@ -24,7 +24,7 @@
@abstract Store the enumeration of all possible SDLCompassDirection
@result return an array that store all possible SDLCompassDirection
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Direction North
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.m
index 077c8ac63..cfc938761 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCompassDirection.m
@@ -13,7 +13,7 @@ SDLCompassDirection* SDLCompassDirection_SOUTHEAST = nil;
SDLCompassDirection* SDLCompassDirection_EAST = nil;
SDLCompassDirection* SDLCompassDirection_NORTHEAST = nil;
-NSMutableArray* SDLCompassDirection_values = nil;
+NSArray* SDLCompassDirection_values = nil;
@implementation SDLCompassDirection
@@ -26,9 +26,9 @@ NSMutableArray* SDLCompassDirection_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLCompassDirection_values == nil) {
- SDLCompassDirection_values = [[NSMutableArray alloc] initWithObjects:
+ SDLCompassDirection_values = @[
SDLCompassDirection.NORTH,
SDLCompassDirection.NORTHWEST,
SDLCompassDirection.WEST,
@@ -37,7 +37,7 @@ NSMutableArray* SDLCompassDirection_values = nil;
SDLCompassDirection.SOUTHEAST,
SDLCompassDirection.EAST,
SDLCompassDirection.NORTHEAST,
- nil];
+ ];
}
return SDLCompassDirection_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.h
index f01fa80ac..192c81bc9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.h
@@ -23,7 +23,7 @@
@abstract Store the enumeration of all possible SDLComponentVolumeStatus
@result return an array that store all possible SDLComponentVolumeStatus
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract Unknown SDLComponentVolumeStatus
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.m
index 03306e55c..fa88c097d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLComponentVolumeStatus.m
@@ -11,7 +11,7 @@ SDLComponentVolumeStatus* SDLComponentVolumeStatus_FAULT = nil;
SDLComponentVolumeStatus* SDLComponentVolumeStatus_ALERT = nil;
SDLComponentVolumeStatus* SDLComponentVolumeStatus_NOT_SUPPORTED = nil;
-NSMutableArray* SDLComponentVolumeStatus_values = nil;
+NSArray* SDLComponentVolumeStatus_values = nil;
@implementation SDLComponentVolumeStatus
@@ -24,16 +24,16 @@ NSMutableArray* SDLComponentVolumeStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLComponentVolumeStatus_values == nil) {
- SDLComponentVolumeStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLComponentVolumeStatus_values = @[
SDLComponentVolumeStatus.UNKNOWN,
SDLComponentVolumeStatus.NORMAL,
SDLComponentVolumeStatus.LOW,
SDLComponentVolumeStatus.FAULT,
SDLComponentVolumeStatus.ALERT,
SDLComponentVolumeStatus.NOT_SUPPORTED,
- nil];
+ ];
}
return SDLComponentVolumeStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.h
index 8df198d04..55e6425a7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.h
@@ -1,12 +1,12 @@
// SDLConsoleController.h
//
-
@import Foundation;
@import UIKit;
#import "SDLDebugTool.h"
+
@interface SDLConsoleController : UITableViewController <SDLDebugToolConsole> {
NSMutableArray* messageList;
BOOL atBottom;
@@ -15,7 +15,7 @@
@property (strong, readonly) NSMutableArray *messageList;
--(id) initWithTableView:(UITableView*) tableView;
+-(instancetype) initWithTableView:(UITableView*) tableView;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.m
index d05548eab..820981f16 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLConsoleController.m
@@ -1,17 +1,17 @@
// SDLConsoleController.m
//
-
#import "SDLConsoleController.h"
#import "SDLJSONEncoder.h"
#import "SDLRPCResponse.h"
+
@implementation SDLConsoleController
@synthesize messageList;
--(id) initWithTableView:(UITableView*) tableView {
+-(instancetype) initWithTableView:(UITableView*) tableView {
if (self = [super initWithStyle:UITableViewStylePlain]) {
self.tableView = tableView;
self.tableView.delegate = self;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.h
index 9723d8c2b..64917253c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.h
@@ -27,7 +27,7 @@
/**
* Constructs a new SDLCreateInteractionChoiceSet object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLCreateInteractionChoiceSet object indicated by the
* NSMutableDictionary parameter
@@ -35,7 +35,7 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract a unique ID that identifies the Choice Set
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.m
index 7b7266764..652f2b618 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSet.m
@@ -9,12 +9,12 @@
@implementation SDLCreateInteractionChoiceSet
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_CreateInteractionChoiceSet]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h
index d806167bf..7d56b55bd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h
@@ -13,7 +13,7 @@
*/
@interface SDLCreateInteractionChoiceSetResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m
index 8e3940379..ddeb785e1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m
@@ -8,12 +8,12 @@
@implementation SDLCreateInteractionChoiceSetResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_CreateInteractionChoiceSet]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.h
index a1e54e0d5..1d8d09aa3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.h
@@ -1,16 +1,15 @@
// SDLDIDResult.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLVehicleDataResultCode.h"
+@class SDLVehicleDataResultCode;
+
@interface SDLDIDResult : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLVehicleDataResultCode* resultCode;
@property(strong) NSNumber* didLocation;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.m
index 00d2b3c28..ce7648d14 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDIDResult.m
@@ -1,19 +1,20 @@
// SDLDIDResult.m
//
-
#import "SDLDIDResult.h"
#import "SDLNames.h"
+#import "SDLVehicleDataResultCode.h"
+
@implementation SDLDIDResult
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.h
index d436a4b0b..b6fd202ca 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.h
@@ -3,15 +3,10 @@
@import Foundation;
+#import "SDLDebugToolConsole.h"
@class SDLRPCMessage;
-@protocol SDLDebugToolConsole
-
-- (void)logInfo:(NSString *)info;
-
-@end
-
typedef NS_ENUM(UInt8, SDLDebugType) {
SDLDebugType_Debug = 0,
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.m
index dae221d96..b0ffb1a87 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugTool.m
@@ -1,7 +1,6 @@
// SDLDebugTool.m
//
-
#import "SDLDebugTool.h"
#import "SDLRPCMessage.h"
#import "SDLSiphonServer.h"
@@ -13,6 +12,7 @@ static NSMutableDictionary* namedConsoleSets = nil;
bool debugToLogFile = false;
+
@implementation SDLDebugTool
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugToolConsole.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugToolConsole.h
new file mode 100644
index 000000000..75d541e16
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDebugToolConsole.h
@@ -0,0 +1,12 @@
+//
+// SDLDebugToolConsole.h
+// SmartDeviceLink-iOS
+
+#import <Foundation/Foundation.h>
+
+@protocol SDLDebugToolConsole <NSObject>
+
+@required
+- (void)logInfo:(NSString *)info;
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDecoder.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDecoder.h
index 4359e3bfc..06eda85f7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDecoder.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDecoder.h
@@ -4,7 +4,7 @@
@import Foundation;
-@protocol SDLDecoder
+@protocol SDLDecoder <NSObject>
-(NSDictionary*) decode:(NSData*) msgBytes;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.h
index 716b17d1c..5449019a8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.h
@@ -21,7 +21,7 @@
/**
* Constructs a new SDLDeleteCommand object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLDeleteCommand object indicated by the NSMutableDictionary
* parameter
@@ -29,7 +29,7 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the Command ID that identifies the Command to be deleted from Command Menu
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.m
index aaf0b277c..781366933 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommand.m
@@ -8,12 +8,12 @@
@implementation SDLDeleteCommand
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DeleteCommand]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.h
index fe300d888..384ffb482 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.h
@@ -12,7 +12,7 @@
*/
@interface SDLDeleteCommandResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.m
index 0e70787a7..17ded077f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteCommandResponse.m
@@ -8,12 +8,12 @@
@implementation SDLDeleteCommandResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DeleteCommand]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.h
index 44fd0dbec..f1f19e050 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.h
@@ -17,14 +17,14 @@
/**
* Constructs a new SDLDeleteFile object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLDeleteFile object indicated by the NSMutableDictionary parameter
* <p>
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract a file reference name
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.m
index b0c0f123f..34f1dd732 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFile.m
@@ -8,12 +8,12 @@
@implementation SDLDeleteFile
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DeleteFile]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.h
index 8ba593a1c..c328c321e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.h
@@ -12,8 +12,8 @@
*/
@interface SDLDeleteFileResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* spaceAvailable;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.m
index 3c850decb..5a744c9be 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteFileResponse.m
@@ -8,12 +8,12 @@
@implementation SDLDeleteFileResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DeleteFile]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h
index cea9cc9c3..776202647 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h
@@ -23,7 +23,7 @@
/**
* Constructs a new SDLDeleteInteractionChoiceSet object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLDeleteInteractionChoiceSet object indicated by the
* NSMutableDictionary parameter
@@ -31,7 +31,7 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract a unique ID that identifies the Choice Set
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m
index f2ed4f4e8..5b9cae0f6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m
@@ -8,12 +8,12 @@
@implementation SDLDeleteInteractionChoiceSet
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DeleteInteractionChoiceSet]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h
index 4c4b0b564..35fd408b0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h
@@ -12,7 +12,7 @@
*/
@interface SDLDeleteInteractionChoiceSetResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m
index a5ea7d3e3..2c985579b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m
@@ -8,12 +8,12 @@
@implementation SDLDeleteInteractionChoiceSetResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DeleteInteractionChoiceSet]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.h
index cf5d747f8..a2b5b8697 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.h
@@ -22,12 +22,12 @@
/**
* Constructs a new SDLDeleteSubMenu object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLDeleteSubMenu object indicated by the NSMutableDictionary parameter<p>
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the MenuID that identifies the SDLSubMenu to be delete
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.m
index 4e083cbdc..edacfd69d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenu.m
@@ -8,12 +8,12 @@
@implementation SDLDeleteSubMenu
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DeleteSubMenu]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.h
index 2753fe92f..e9abf338f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.h
@@ -12,7 +12,7 @@
*/
@interface SDLDeleteSubMenuResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.m
index 009af4b06..526ffb479 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeleteSubMenuResponse.m
@@ -8,12 +8,12 @@
@implementation SDLDeleteSubMenuResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DeleteSubMenu]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.h
index 98cbee909..6d75a4eb7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.h
@@ -1,14 +1,13 @@
// SDLDeviceInfo.h
//
-
-
#import "SDLRPCMessage.h"
+
@interface SDLDeviceInfo : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSString* hardware;
@property(strong) NSString* firmwareRev;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.m
index d3016cf35..5ea9b6ed9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceInfo.m
@@ -1,19 +1,19 @@
// SDLDeviceInfo.m
//
-
#import "SDLDeviceInfo.h"
#import "SDLNames.h"
+
@implementation SDLDeviceInfo
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.h
index 95c403fef..4744c790c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.h
@@ -23,7 +23,7 @@
@abstract Store the enumeration of all possible SDLDeviceLevelStatus
@result return an array that store all possible SDLDeviceLevelStatus
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Device Level Status is : <font color=green>Zero level bars</font>
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.m
index 1ae019c17..8913dc35a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceLevelStatus.m
@@ -11,7 +11,7 @@ SDLDeviceLevelStatus* SDLDeviceLevelStatus_THREE_LEVEL_BARS = nil;
SDLDeviceLevelStatus* SDLDeviceLevelStatus_FOUR_LEVEL_BARS = nil;
SDLDeviceLevelStatus* SDLDeviceLevelStatus_NOT_PROVIDED = nil;
-NSMutableArray* SDLDeviceLevelStatus_values = nil;
+NSArray* SDLDeviceLevelStatus_values = nil;
@implementation SDLDeviceLevelStatus
@@ -24,16 +24,16 @@ NSMutableArray* SDLDeviceLevelStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLDeviceLevelStatus_values == nil) {
- SDLDeviceLevelStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLDeviceLevelStatus_values = @[
SDLDeviceLevelStatus.ZERO_LEVEL_BARS,
SDLDeviceLevelStatus.ONE_LEVEL_BARS,
SDLDeviceLevelStatus.TWO_LEVEL_BARS,
SDLDeviceLevelStatus.THREE_LEVEL_BARS,
SDLDeviceLevelStatus.FOUR_LEVEL_BARS,
SDLDeviceLevelStatus.NOT_PROVIDED,
- nil];
+ ];
}
return SDLDeviceLevelStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.h
index d30542426..1a3130aac 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.h
@@ -1,12 +1,11 @@
// SDLDeviceStatus.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLDeviceLevelStatus.h"
-#import "SDLPrimaryAudioSource.h"
+@class SDLDeviceLevelStatus;
+@class SDLPrimaryAudioSource;
+
/**
* Describes the status related to a connected mobile device or SDL and if or how it is represented in the vehicle.
@@ -104,12 +103,12 @@
/**
* Constructs a newly allocated SDLDeviceStatus object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLDeviceStatus object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract NSNumber value indicates whether the voice recognition on or off
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.m
index ff4812e70..7b90c7f30 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDeviceStatus.m
@@ -1,19 +1,21 @@
// SDLDeviceStatus.m
//
-
#import "SDLDeviceStatus.h"
+#import "SDLDeviceLevelStatus.h"
#import "SDLNames.h"
+#import "SDLPrimaryAudioSource.h"
+
@implementation SDLDeviceStatus
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.h
index cbe4735c3..2875ed688 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.h
@@ -12,8 +12,8 @@
*/
@interface SDLDiagnosticMessage : SDLRPCRequest {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* targetID;
@property(strong) NSNumber* messageLength;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.m
index f0313c3c8..0ee7c726f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessage.m
@@ -8,12 +8,12 @@
@implementation SDLDiagnosticMessage
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DiagnosticMessage]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.h
index e0f45129b..2a34c0898 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.h
@@ -10,8 +10,8 @@
*/
@interface SDLDiagnosticMessageResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSMutableArray* messageDataResult;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.m
index 2b29d2174..db07d76ad 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDiagnosticMessageResponse.m
@@ -7,12 +7,12 @@
@implementation SDLDiagnosticMessageResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_DiagnosticMessage]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumber.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumber.h
new file mode 100644
index 000000000..48cca6a6d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumber.h
@@ -0,0 +1,22 @@
+//
+// SDLDialNumber.h
+// SmartDeviceLink-iOS
+
+#import "SDLRPCRequest.h"
+
+/**
+ This RPC is used to tell the head unit to use bluetooth to dial a phone number using the phone.
+
+ @since SDL 4.0
+ */
+@interface SDLDialNumber : SDLRPCRequest
+
+- (instancetype)init;
+- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+
+/**
+ * Up to 40 character string representing the phone number. All characters stripped except for '0'-'9', '*', '#', ',', ';', and '+'
+ */
+@property (strong, nonatomic) NSString *number;
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumber.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumber.m
new file mode 100644
index 000000000..1cb599355
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumber.m
@@ -0,0 +1,33 @@
+//
+// SDLDialNumber.m
+// SmartDeviceLink-iOS
+
+#import "SDLDialNumber.h"
+
+#import "SDLNames.h"
+
+@implementation SDLDialNumber
+
+-(instancetype) init {
+ if (self = [super initWithName:NAMES_DialNumber]) {}
+ return self;
+}
+
+-(instancetype) initWithDictionary:(NSMutableDictionary*)dict {
+ if (self = [super initWithDictionary:dict]) {}
+ return self;
+}
+
+-(void) setNumber:(NSString *)number {
+ if (number != nil) {
+ parameters[NAMES_number] = number;
+ } else {
+ [parameters removeObjectForKey:NAMES_number];
+ }
+}
+
+-(NSString*)number {
+ return parameters[NAMES_number];
+}
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumberResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumberResponse.h
new file mode 100644
index 000000000..fec54edad
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumberResponse.h
@@ -0,0 +1,17 @@
+//
+// SDLDialNumberResponse.h
+// SmartDeviceLink-iOS
+
+#import <SmartDeviceLink/SmartDeviceLink.h>
+
+/**
+ Indicates the result, success, or failure of the SDLDialNumber request.
+
+ @since SDL 4.0
+ */
+@interface SDLDialNumberResponse : SDLRPCResponse
+
+- (instancetype)init;
+- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumberResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumberResponse.m
new file mode 100644
index 000000000..a43ef9823
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDialNumberResponse.m
@@ -0,0 +1,22 @@
+//
+// SDLDialNumberResponse.m
+// SmartDeviceLink-iOS
+
+#import "SDLDialNumberResponse.h"
+
+#import "SDLNames.h"
+
+
+@implementation SDLDialNumberResponse
+
+-(instancetype) init {
+ if (self = [super initWithName:NAMES_DialNumber]) {}
+ return self;
+}
+
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
+ if (self = [super initWithDictionary:dict]) {}
+ return self;
+}
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h
index 8ce5384b8..976654fa0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.h
@@ -5,7 +5,6 @@
#import "SDLEnum.h"
#import <Foundation/Foundation.h>
-#import <SmartDeviceLink/SDLEnum.h>
/**
* The supported dimensions of the GPS.
@@ -24,7 +23,7 @@
@abstract Store the enumeration of all possible SDLDimension
@result return an array that store all possible SDLDimension
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract No GPS at all
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.m
index 1dae9ee6b..5d9e2336c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDimension.m
@@ -8,7 +8,7 @@ SDLDimension* SDLDimension_NO_FIX = nil;
SDLDimension* SDLDimension_2D = nil;
SDLDimension* SDLDimension_3D = nil;
-NSMutableArray* SDLDimension_values = nil;
+NSArray* SDLDimension_values = nil;
@implementation SDLDimension
@@ -21,13 +21,13 @@ NSMutableArray* SDLDimension_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLDimension_values == nil) {
- SDLDimension_values = [[NSMutableArray alloc] initWithObjects:
+ SDLDimension_values = @[
SDLDimension.NO_FIX,
SDLDimension._2D,
SDLDimension._3D,
- nil];
+ ];
}
return SDLDimension_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.h
index 2cd34d6c7..4658b7fa8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.h
@@ -1,12 +1,11 @@
// SDLDisplayCapabilities.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLDisplayType.h"
-#import "SDLScreenParams.h"
+@class SDLDisplayType;
+@class SDLScreenParams;
+
/**
* Contains information about the display for the SDL system to which the application is currently connected.
@@ -53,12 +52,12 @@
/**
* Constructs a newly allocated SDLDisplayCapabilities object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLDisplayCapabilities object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the type of display
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.m
index f61303602..3e67e1b59 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayCapabilities.m
@@ -1,22 +1,24 @@
// SDLDisplayCapabilities.m
//
-
#import "SDLDisplayCapabilities.h"
-#import "SDLNames.h"
-#import "SDLTextField.h"
+#import "SDLDisplayType.h"
#import "SDLImageField.h"
#import "SDLMediaClockFormat.h"
+#import "SDLNames.h"
+#import "SDLScreenParams.h"
+#import "SDLTextField.h"
+
@implementation SDLDisplayCapabilities
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.h
index e41f7623b..c1e2b6f17 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLDisplayType
@result return an array that store all possible SDLDisplayType
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract This display type provides a 2-line x 20 character "dot matrix" display.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.m
index bd2825472..2572dbc55 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDisplayType.m
@@ -15,7 +15,7 @@ SDLDisplayType* SDLDisplayType_MFD4 = nil;
SDLDisplayType* SDLDisplayType_MFD5 = nil;
SDLDisplayType* SDLDisplayType_GEN3_8_INCH = nil;
-NSMutableArray* SDLDisplayType_values = nil;
+NSArray* SDLDisplayType_values = nil;
@implementation SDLDisplayType
@@ -28,9 +28,9 @@ NSMutableArray* SDLDisplayType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLDisplayType_values == nil) {
- SDLDisplayType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLDisplayType_values = @[
SDLDisplayType.CID,
SDLDisplayType.TYPE2,
SDLDisplayType.TYPE5,
@@ -41,7 +41,7 @@ NSMutableArray* SDLDisplayType_values = nil;
SDLDisplayType.MFD4,
SDLDisplayType.MFD5,
SDLDisplayType.GEN3_8_INCH,
- nil];
+ ];
}
return SDLDisplayType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.h
index 2c930993b..c326d6dbd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLDriverDistractionState
@result return an array that store all possible SDLDriverDistractionState
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Driver distraction rules are in effect.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.m
index 31bc01f34..30f30f90f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLDriverDistractionState.m
@@ -7,7 +7,7 @@
SDLDriverDistractionState* SDLDriverDistractionState_DD_ON = nil;
SDLDriverDistractionState* SDLDriverDistractionState_DD_OFF = nil;
-NSMutableArray* SDLDriverDistractionState_values = nil;
+NSArray* SDLDriverDistractionState_values = nil;
@implementation SDLDriverDistractionState
@@ -20,12 +20,12 @@ NSMutableArray* SDLDriverDistractionState_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLDriverDistractionState_values == nil) {
- SDLDriverDistractionState_values = [[NSMutableArray alloc] initWithObjects:
+ SDLDriverDistractionState_values = @[
SDLDriverDistractionState.DD_ON,
SDLDriverDistractionState.DD_OFF,
- nil];
+ ];
}
return SDLDriverDistractionState_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.h
index 7484ac569..6b4461e6b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.h
@@ -12,7 +12,7 @@
@interface SDLECallConfirmationStatus : SDLEnum {}
+(SDLECallConfirmationStatus*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** No E-Call signal triggered.
*/
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.m
index f607a68ba..949effbe6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallConfirmationStatus.m
@@ -12,7 +12,7 @@ SDLECallConfirmationStatus* SDLECallConfirmationStatus_CALL_UNSUCCESSFUL = nil;
SDLECallConfirmationStatus* SDLECallConfirmationStatus_ECALL_CONFIGURED_OFF = nil;
SDLECallConfirmationStatus* SDLECallConfirmationStatus_CALL_COMPLETE_DTMF_TIMEOUT = nil;
-NSMutableArray* SDLECallConfirmationStatus_values = nil;
+NSArray* SDLECallConfirmationStatus_values = nil;
@implementation SDLECallConfirmationStatus
@@ -25,9 +25,9 @@ NSMutableArray* SDLECallConfirmationStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLECallConfirmationStatus_values == nil) {
- SDLECallConfirmationStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLECallConfirmationStatus_values = @[
SDLECallConfirmationStatus.NORMAL,
SDLECallConfirmationStatus.CALL_IN_PROGRESS,
SDLECallConfirmationStatus.CALL_CANCELLED,
@@ -35,7 +35,7 @@ NSMutableArray* SDLECallConfirmationStatus_values = nil;
SDLECallConfirmationStatus.CALL_UNSUCCESSFUL,
SDLECallConfirmationStatus.ECALL_CONFIGURED_OFF,
SDLECallConfirmationStatus.CALL_COMPLETE_DTMF_TIMEOUT,
- nil];
+ ];
}
return SDLECallConfirmationStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.h
index ca0a1929b..865bfb03c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.h
@@ -1,17 +1,16 @@
// SDLECallInfo.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLVehicleDataNotificationStatus.h"
-#import "SDLECallConfirmationStatus.h"
+@class SDLVehicleDataNotificationStatus;
+@class SDLECallConfirmationStatus;
+
@interface SDLECallInfo : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLVehicleDataNotificationStatus* eCallNotificationStatus;
@property(strong) SDLVehicleDataNotificationStatus* auxECallNotificationStatus;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.m
index 164455deb..df9925736 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLECallInfo.m
@@ -1,19 +1,21 @@
// SDLECallInfo.m
//
-
#import "SDLECallInfo.h"
+#import "SDLECallConfirmationStatus.h"
#import "SDLNames.h"
+#import "SDLVehicleDataNotificationStatus.h"
+
@implementation SDLECallInfo
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.h
index c8a638267..7f0c38894 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.h
@@ -1,18 +1,17 @@
// SDLEmergencyEvent.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLEmergencyEventType.h"
-#import "SDLFuelCutoffStatus.h"
-#import "SDLVehicleDataEventStatus.h"
+@class SDLEmergencyEventType;
+@class SDLFuelCutoffStatus;
+@class SDLVehicleDataEventStatus;
+
@interface SDLEmergencyEvent : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLEmergencyEventType* emergencyEventType;
@property(strong) SDLFuelCutoffStatus* fuelCutoffStatus;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.m
index f20e7133a..72a50cf0f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEvent.m
@@ -1,19 +1,22 @@
// SDLEmergencyEvent.m
//
-
#import "SDLEmergencyEvent.h"
+#import "SDLEmergencyEventType.h"
+#import "SDLFuelCutoffStatus.h"
#import "SDLNames.h"
+#import "SDLVehicleDataEventStatus.h"
+
@implementation SDLEmergencyEvent
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.h
index 0e06013ad..f269506aa 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.h
@@ -13,7 +13,7 @@
@interface SDLEmergencyEventType : SDLEnum {}
+(SDLEmergencyEventType*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** No emergency event has happened.
*/
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.m
index e33bbd2b4..f10c02ac7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEmergencyEventType.m
@@ -12,7 +12,7 @@ SDLEmergencyEventType* SDLEmergencyEventType_ROLLOVER = nil;
SDLEmergencyEventType* SDLEmergencyEventType_NOT_SUPPORTED = nil;
SDLEmergencyEventType* SDLEmergencyEventType_FAULT = nil;
-NSMutableArray* SDLEmergencyEventType_values = nil;
+NSArray* SDLEmergencyEventType_values = nil;
@implementation SDLEmergencyEventType
@@ -25,9 +25,9 @@ NSMutableArray* SDLEmergencyEventType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLEmergencyEventType_values == nil) {
- SDLEmergencyEventType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLEmergencyEventType_values = @[
SDLEmergencyEventType.NO_EVENT,
SDLEmergencyEventType.FRONTAL,
SDLEmergencyEventType.SIDE,
@@ -35,7 +35,7 @@ NSMutableArray* SDLEmergencyEventType_values = nil;
SDLEmergencyEventType.ROLLOVER,
SDLEmergencyEventType.NOT_SUPPORTED,
SDLEmergencyEventType.FAULT,
- nil];
+ ];
}
return SDLEmergencyEventType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.h
index 5aae7a4c5..f039c42b7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.h
@@ -7,8 +7,8 @@
@interface SDLEncodedSyncPData : SDLRPCRequest {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSMutableArray* data;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.m
index 646fd5c48..97d6a7ecd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPData.m
@@ -8,12 +8,12 @@
@implementation SDLEncodedSyncPData
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_EncodedSyncPData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.h
index a1cc754b0..c9b6a9c0d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.h
@@ -7,7 +7,7 @@
@interface SDLEncodedSyncPDataResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.m
index 20034b215..69ff97f9e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncodedSyncPDataResponse.m
@@ -8,12 +8,12 @@
@implementation SDLEncodedSyncPDataResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_EncodedSyncPData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncoder.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncoder.h
index a742b4eb4..b36367c5a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncoder.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEncoder.h
@@ -4,7 +4,7 @@
@import Foundation;
-@protocol SDLEncoder
+@protocol SDLEncoder <NSObject>
-(NSData*) encodeDictionary:(NSDictionary*) dict;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.h
index aba124a7e..9bbe0e9d6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.h
@@ -20,7 +20,7 @@
/**
* Constructs a new SDLEndAudioPassThru object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLEndAudioPassThru object indicated by the NSMutableDictionary
* parameter
@@ -28,6 +28,6 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.m
index 17a85dc3e..21e69b17e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThru.m
@@ -8,12 +8,12 @@
@implementation SDLEndAudioPassThru
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_EndAudioPassThru]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.h
index 7fc543d93..cc2ffb3b9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.h
@@ -12,7 +12,7 @@
*/
@interface SDLEndAudioPassThruResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.m
index 0aa608e2f..a435eb61d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEndAudioPassThruResponse.m
@@ -8,12 +8,12 @@
@implementation SDLEndAudioPassThruResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_EndAudioPassThru]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.h
index 080382a23..0824dc349 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.h
@@ -9,7 +9,9 @@
NSString* value;
}
--(id) initWithValue:(NSString*) value;
+-(instancetype) initWithValue:(NSString*) value;
+
+-(BOOL) isEqualToEnum:(SDLEnum *) object;
@property(strong, readonly) NSString* value;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.m
index 9976e36b1..3662f3c8a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLEnum.m
@@ -8,7 +8,7 @@
@synthesize value;
--(id) initWithValue:(NSString*) aValue {
+-(instancetype) initWithValue:(NSString*) aValue {
if (self = [super init]) {
value = aValue;
}
@@ -19,4 +19,33 @@
return value;
}
-@end
+- (id)debugQuickLookObject {
+ return value;
+}
+
+- (NSUInteger)hash {
+ return [self.value hash];
+}
+
+- (BOOL)isEqual:(id)object {
+ // Test pointer equality
+ if (self == object) {
+ return YES;
+ }
+
+ // Test class equality, if not equal, value equality doesn't matter
+ if (![object isMemberOfClass:self.class]) {
+ return NO;
+ }
+
+ return [self isEqualToEnum:object];
+}
+
+- (BOOL)isEqualToEnum:(SDLEnum *)object {
+ // Test value equality, if it's equal we're good
+ if ([self.value isEqualToString:object.value]) {
+ return YES;
+ }
+
+ return NO;
+}@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.h
index a269f27ea..72e27b847 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.h
@@ -23,7 +23,7 @@
@abstract Store the enumeration of all possible SDLFileType
@result return an array that store all possible SDLFileType
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract file type : BMP
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.m
index 216923be5..06d287856 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFileType.m
@@ -13,7 +13,7 @@ SDLFileType* SDLFileType_AUDIO_AAC = nil;
SDLFileType* SDLFileType_BINARY = nil;
SDLFileType* SDLFileType_JSON = nil;
-NSMutableArray* SDLFileType_values = nil;
+NSArray* SDLFileType_values = nil;
@implementation SDLFileType
@@ -26,9 +26,9 @@ NSMutableArray* SDLFileType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLFileType_values == nil) {
- SDLFileType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLFileType_values = @[
SDLFileType.GRAPHIC_BMP,
SDLFileType.GRAPHIC_JPEG,
SDLFileType.GRAPHIC_PNG,
@@ -37,7 +37,7 @@ NSMutableArray* SDLFileType_values = nil;
SDLFileType.AUDIO_AAC,
SDLFileType.BINARY,
SDLFileType.JSON,
- nil];
+ ];
}
return SDLFileType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.h
index 40f072f62..7e9df72aa 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.h
@@ -13,7 +13,7 @@
*/
@interface SDLFuelCutoffStatus : SDLEnum {}
+(SDLFuelCutoffStatus*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** Fuel is cut off
*/
+(SDLFuelCutoffStatus*) TERMINATE_FUEL;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.m
index a719f28e5..8d25c94ff 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFuelCutoffStatus.m
@@ -8,7 +8,7 @@ SDLFuelCutoffStatus* SDLFuelCutoffStatus_TERMINATE_FUEL = nil;
SDLFuelCutoffStatus* SDLFuelCutoffStatus_NORMAL_OPERATION = nil;
SDLFuelCutoffStatus* SDLFuelCutoffStatus_FAULT = nil;
-NSMutableArray* SDLFuelCutoffStatus_values = nil;
+NSArray* SDLFuelCutoffStatus_values = nil;
@implementation SDLFuelCutoffStatus
@@ -21,13 +21,13 @@ NSMutableArray* SDLFuelCutoffStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLFuelCutoffStatus_values == nil) {
- SDLFuelCutoffStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLFuelCutoffStatus_values = @[
SDLFuelCutoffStatus.TERMINATE_FUEL,
SDLFuelCutoffStatus.NORMAL_OPERATION,
SDLFuelCutoffStatus.FAULT,
- nil];
+ ];
}
return SDLFuelCutoffStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.m
index fab991478..e15035be8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLFunctionID.m
@@ -8,7 +8,7 @@
@implementation SDLFunctionID
--(id) init {
+-(instancetype) init {
if (self = [super init]) {
functionIDs = [NSDictionary dictionaryWithObjectsAndKeys:
@@ -51,7 +51,8 @@
NAMES_SetDisplayLayout, @"36",
NAMES_DiagnosticMessage, @"37",
NAMES_SystemRequest, @"38",
-
+ NAMES_SendLocation, @"39",
+ NAMES_DialNumber, @"40",
NAMES_OnHMIStatus, @"32768",
NAMES_OnAppInterfaceUnregistered, @"32769",
NAMES_OnButtonEvent, @"32770",
@@ -72,7 +73,7 @@
NAMES_SyncPData, @"65537",
NAMES_OnEncodedSyncPData, @"98304",
- NAMES_OnSyncPData, @"98405",
+ NAMES_OnSyncPData, @"98305",
nil];
}
@@ -80,7 +81,7 @@
}
-(NSString *)getFunctionName:(int) functionID{
-
+
return [functionIDs objectForKey:[NSString stringWithFormat:@"%d", functionID]];
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.h
index 3fde16966..c643b1346 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.h
@@ -1,12 +1,11 @@
// SDLGPSData.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLCompassDirection.h"
-#import "SDLDimension.h"
+@class SDLCompassDirection;
+@class SDLDimension;
+
/**
* Describes the GPS data. Not all data will be available on all carlines.
@@ -149,13 +148,13 @@
/**
* Constructs a newly allocated SDLGPSData object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLGPSData object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract longitude degrees
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.m
index 8640fa138..526c6d38d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGPSData.m
@@ -1,19 +1,21 @@
// SDLGPSData.m
//
-
#import "SDLGPSData.h"
+#import "SDLCompassDirection.h"
+#import "SDLDimension.h"
#import "SDLNames.h"
+
@implementation SDLGPSData
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.h
index 8095ae894..568c0fe12 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.h
@@ -12,7 +12,7 @@
*/
@interface SDLGenericResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.m
index 96764233c..ae91f13ba 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGenericResponse.m
@@ -8,12 +8,12 @@
@implementation SDLGenericResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_GenericResponse]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.h
index 96a434cdd..8c3d8bc5d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.h
@@ -18,14 +18,14 @@
/**
* Constructs a new SDLGetDTCs object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLGetDTCs object indicated by the NSMutableDictionary parameter
* <p>
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract a name of the module to receive the DTC form
* @discussion an NSNumber value representing a name of the module to receive
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.m
index 002ed9173..aa13cfaa9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCs.m
@@ -8,12 +8,12 @@
@implementation SDLGetDTCs
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_GetDTCs]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.h
index e758c1df9..87b695863 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.h
@@ -12,8 +12,8 @@
*/
@interface SDLGetDTCsResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* ecuHeader;
@property(strong) NSMutableArray* dtc;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.m
index 57174cd3c..e69129eb3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetDTCsResponse.m
@@ -8,12 +8,12 @@
@implementation SDLGetDTCsResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_GetDTCs]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.h
index 588858d31..d8ead1820 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.h
@@ -21,14 +21,14 @@
/**
* @abstract Constructs a new SDLGetVehicleData object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLGetVehicleData object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A boolean value. If true, requests Gps data
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.m
index 2d4c1ebf4..d1e074c67 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleData.m
@@ -8,12 +8,12 @@
@implementation SDLGetVehicleData
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_GetVehicleData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.h
index 7d1bd2b08..e7acd4e13 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.h
@@ -1,25 +1,24 @@
// SDLGetVehicleDataResponse.h
//
-
-
#import "SDLRPCResponse.h"
-#import "SDLGPSData.h"
-#import "SDLComponentVolumeStatus.h"
-#import "SDLPRNDL.h"
-#import "SDLTireStatus.h"
-#import "SDLBeltStatus.h"
-#import "SDLBodyInformation.h"
-#import "SDLDeviceStatus.h"
-#import "SDLVehicleDataEventStatus.h"
-#import "SDLWiperStatus.h"
-#import "SDLHeadLampStatus.h"
-#import "SDLECallInfo.h"
-#import "SDLAirbagStatus.h"
-#import "SDLEmergencyEvent.h"
-#import "SDLClusterModeStatus.h"
-#import "SDLMyKey.h"
+@class SDLAirbagStatus;
+@class SDLBeltStatus;
+@class SDLBodyInformation;
+@class SDLClusterModeStatus;
+@class SDLComponentVolumeStatus;
+@class SDLDeviceStatus;
+@class SDLECallInfo;
+@class SDLEmergencyEvent;
+@class SDLGPSData;
+@class SDLHeadLampStatus;
+@class SDLMyKey;
+@class SDLPRNDL;
+@class SDLTireStatus;
+@class SDLVehicleDataEventStatus;
+@class SDLWiperStatus;
+
/**
* Get Vehicle Data Response is sent, when SDLGetVehicleData has been called
@@ -32,14 +31,14 @@
/**
* @abstract Constructs a new SDLGetVehicleDataResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLGetVehicleDataResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.m
index 7c607e596..e6a9836f7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGetVehicleDataResponse.m
@@ -4,16 +4,32 @@
#import "SDLGetVehicleDataResponse.h"
+#import "SDLAirbagStatus.h"
+#import "SDLBeltStatus.h"
+#import "SDLBodyInformation.h"
+#import "SDLClusterModeStatus.h"
+#import "SDLComponentVolumeStatus.h"
+#import "SDLDeviceStatus.h"
+#import "SDLECallInfo.h"
+#import "SDLEmergencyEvent.h"
+#import "SDLGPSData.h"
+#import "SDLHeadLampStatus.h"
+#import "SDLMyKey.h"
#import "SDLNames.h"
+#import "SDLPRNDL.h"
+#import "SDLTireStatus.h"
+#import "SDLVehicleDataEventStatus.h"
+#import "SDLWiperStatus.h"
+
@implementation SDLGetVehicleDataResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_GetVehicleData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.h
index 5db9a3cd2..4a6ce9190 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLGlobalProperty
@result return an array that store all possible SDLGlobalProperty
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The help prompt to be spoken if the user needs assistance during a user-initiated interaction.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.m
index 23b312429..6aac36b19 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLGlobalProperty.m
@@ -12,7 +12,7 @@ SDLGlobalProperty* SDLGlobalProperty_MENUNAME = nil;
SDLGlobalProperty* SDLGlobalProperty_MENUICON = nil;
SDLGlobalProperty* SDLGlobalProperty_KEYBOARDPROPERTIES = nil;
-NSMutableArray* SDLGlobalProperty_values = nil;
+NSArray* SDLGlobalProperty_values = nil;
@implementation SDLGlobalProperty
@@ -25,9 +25,9 @@ NSMutableArray* SDLGlobalProperty_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLGlobalProperty_values == nil) {
- SDLGlobalProperty_values = [[NSMutableArray alloc] initWithObjects:
+ SDLGlobalProperty_values = @[
SDLGlobalProperty.HELPPROMPT,
SDLGlobalProperty.TIMEOUTPROMPT,
SDLGlobalProperty.VRHELPTITLE,
@@ -35,7 +35,7 @@ NSMutableArray* SDLGlobalProperty_values = nil;
SDLGlobalProperty.MENUNAME,
SDLGlobalProperty.MENUICON,
SDLGlobalProperty.KEYBOARDPROPERTIES,
- nil];
+ ];
}
return SDLGlobalProperty_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMICapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMICapabilities.h
new file mode 100644
index 000000000..1f19db1c6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMICapabilities.h
@@ -0,0 +1,30 @@
+//
+// SDLHMICapabilities.h
+// SmartDeviceLink-iOS
+//
+// Created by Joel Fischer on 3/31/15.
+// Copyright (c) 2015 smartdevicelink. All rights reserved.
+//
+
+#import <SmartDeviceLink/SmartDeviceLink.h>
+
+@interface SDLHMICapabilities : SDLRPCStruct
+
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
+
+/**
+ Availability of build in Nav. True: Available, False: Not Available
+
+ Boolean value. Optional.
+ */
+@property (copy, nonatomic) NSNumber *navigation;
+
+/**
+ Availability of build in phone. True: Available, False: Not Available
+
+ Boolean value. Optional.
+ */
+@property (copy, nonatomic) NSNumber *phoneCall;
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMICapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMICapabilities.m
new file mode 100644
index 000000000..53a512642
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMICapabilities.m
@@ -0,0 +1,58 @@
+//
+// SDLHMICapabilities.m
+// SmartDeviceLink-iOS
+//
+// Created by Joel Fischer on 3/31/15.
+// Copyright (c) 2015 smartdevicelink. All rights reserved.
+//
+
+#import "SDLHMICapabilities.h"
+
+#import "SDLNames.h"
+
+
+@implementation SDLHMICapabilities
+
+-(instancetype) init {
+ self = [super init];
+ if (!self) {
+ return nil;
+ }
+
+ return self;
+}
+
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
+ self = [super initWithDictionary:dict];
+ if (!self) {
+ return nil;
+ }
+
+ return self;
+}
+
+-(void) setNavigation:(NSNumber *)navigation {
+ if (navigation != nil) {
+ store[NAMES_navigation] = navigation;
+ } else {
+ [store removeObjectForKey:NAMES_navigation];
+ }
+}
+
+-(NSNumber *) navigation {
+ return store[NAMES_navigation];
+}
+
+-(void) setPhoneCall:(NSNumber *)phoneCall {
+ if (phoneCall != nil) {
+ store[NAMES_phoneCall] = phoneCall;
+ } else {
+ [store removeObjectForKey:NAMES_phoneCall];
+ }
+}
+
+-(NSNumber *) phoneCall {
+ return store[NAMES_phoneCall];
+}
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.h
index 359d4722f..dbadf1d1c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.h
@@ -23,19 +23,19 @@
@abstract store all possible SDLHMILevel values
@result return an array with all possible HMILevel values inside
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The application has full use of the SDL HMI. The app may output via TTS, display, or streaming audio and may gather input via VR, Menu, and button presses
- * @result return the HMILevel with value of <font color=gray><i> HMI_FULL </i></font>
+ * @result return the HMILevel with value of <font color=gray><i> FULL </i></font>
*/
-+(SDLHMILevel*) HMI_FULL;
++(SDLHMILevel*) FULL;
/**
* @abstract This HMI Level is only defined for a media application using an HMI with an 8 inch touchscreen (Nav) system. The application's <i>Show</i> text is displayed and it receives button presses from media-oriented buttons (SEEKRIGHT, SEEKLEFT, TUNEUP, TUNEDOWN, PRESET_0-9)
- * @result return the HMILevel with value of <font color=gray><i> HMI_LIMITED </i></font>
+ * @result return the HMILevel with value of <font color=gray><i> LIMITED </i></font>
*/
-+(SDLHMILevel*) HMI_LIMITED;
++(SDLHMILevel*) LIMITED;
/**
* @abstract App cannot interact with user via TTS, VR, Display or Button Presses. App can perform the following operations:<br/>
@@ -53,15 +53,15 @@
* <li>Operation : ResetGlobalProperties</li>
* <li>Operation : SetGlobalProperties</li>
* </ul>
- * @result return the HMILevel with value of <font color=gray><i> HMI_BACKGROUND </i></font>
+ * @result return the HMILevel with value of <font color=gray><i> BACKGROUND </i></font>
*/
-+(SDLHMILevel*) HMI_BACKGROUND;
++(SDLHMILevel*) BACKGROUND;
/**
* @abstract Application has been discovered by SDL, but application cannot send any requests or receive any notifications<br/>
* @discussion An HMILevel of NONE can also mean that the user has exited the application by saying "exit appname" or selecting "exit" from the application's menu. When this happens, the application still has an active interface registration with SDL and all SDL resources the application has created (e.g. Choice Sets, subscriptions, etc.) still exist. But while the HMILevel is NONE, the application cannot send any messages to SYNC, except <i>UnregisterAppInterface</i></li>
- * @result return the HMILevel with value of <font color=gray><i> HMI_NONE </i></font>
+ * @result return the HMILevel with value of <font color=gray><i> NONE </i></font>
*/
-+(SDLHMILevel*) HMI_NONE;
++(SDLHMILevel*) NONE;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.m
index e21b3aa31..7ef57b92b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMILevel.m
@@ -4,12 +4,12 @@
#import "SDLHMILevel.h"
-SDLHMILevel* SDLHMILevel_HMI_FULL = nil;
-SDLHMILevel* SDLHMILevel_HMI_LIMITED = nil;
-SDLHMILevel* SDLHMILevel_HMI_BACKGROUND = nil;
-SDLHMILevel* SDLHMILevel_HMI_NONE = nil;
+SDLHMILevel* SDLHMILevel_FULL = nil;
+SDLHMILevel* SDLHMILevel_LIMITED = nil;
+SDLHMILevel* SDLHMILevel_BACKGROUND = nil;
+SDLHMILevel* SDLHMILevel_NONE = nil;
-NSMutableArray* SDLHMILevel_values = nil;
+NSArray* SDLHMILevel_values = nil;
@implementation SDLHMILevel
@@ -22,44 +22,44 @@ NSMutableArray* SDLHMILevel_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLHMILevel_values == nil) {
- SDLHMILevel_values = [[NSMutableArray alloc] initWithObjects:
- SDLHMILevel.HMI_FULL,
- SDLHMILevel.HMI_LIMITED,
- SDLHMILevel.HMI_BACKGROUND,
- SDLHMILevel.HMI_NONE,
- nil];
+ SDLHMILevel_values = @[
+ [SDLHMILevel FULL],
+ [SDLHMILevel LIMITED],
+ [SDLHMILevel BACKGROUND],
+ [SDLHMILevel NONE]
+ ];
}
return SDLHMILevel_values;
}
-+(SDLHMILevel*) HMI_FULL {
- if (SDLHMILevel_HMI_FULL == nil) {
- SDLHMILevel_HMI_FULL = [[SDLHMILevel alloc] initWithValue:@"FULL"];
++(SDLHMILevel*) FULL {
+ if (SDLHMILevel_FULL == nil) {
+ SDLHMILevel_FULL = [[SDLHMILevel alloc] initWithValue:@"FULL"];
}
- return SDLHMILevel_HMI_FULL;
+ return SDLHMILevel_FULL;
}
-+(SDLHMILevel*) HMI_LIMITED {
- if (SDLHMILevel_HMI_LIMITED == nil) {
- SDLHMILevel_HMI_LIMITED = [[SDLHMILevel alloc] initWithValue:@"LIMITED"];
++(SDLHMILevel*) LIMITED {
+ if (SDLHMILevel_LIMITED == nil) {
+ SDLHMILevel_LIMITED = [[SDLHMILevel alloc] initWithValue:@"LIMITED"];
}
- return SDLHMILevel_HMI_LIMITED;
+ return SDLHMILevel_LIMITED;
}
-+(SDLHMILevel*) HMI_BACKGROUND {
- if (SDLHMILevel_HMI_BACKGROUND == nil) {
- SDLHMILevel_HMI_BACKGROUND = [[SDLHMILevel alloc] initWithValue:@"BACKGROUND"];
++(SDLHMILevel*) BACKGROUND {
+ if (SDLHMILevel_BACKGROUND == nil) {
+ SDLHMILevel_BACKGROUND = [[SDLHMILevel alloc] initWithValue:@"BACKGROUND"];
}
- return SDLHMILevel_HMI_BACKGROUND;
+ return SDLHMILevel_BACKGROUND;
}
-+(SDLHMILevel*) HMI_NONE {
- if (SDLHMILevel_HMI_NONE == nil) {
- SDLHMILevel_HMI_NONE = [[SDLHMILevel alloc] initWithValue:@"NONE"];
++(SDLHMILevel*) NONE {
+ if (SDLHMILevel_NONE == nil) {
+ SDLHMILevel_NONE = [[SDLHMILevel alloc] initWithValue:@"NONE"];
}
- return SDLHMILevel_HMI_NONE;
+ return SDLHMILevel_NONE;
}
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.h
index 34502b594..7790c1c77 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.h
@@ -45,12 +45,12 @@
/**
* Constructs a newly allocated SDLHMIPermissions object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLHMIPermissions object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract a set of all HMI levels that are permitted for this given RPC
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.m
index e107cf556..e0cd27fc2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIPermissions.m
@@ -9,12 +9,12 @@
@implementation SDLHMIPermissions
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.h
index cbf1fe17f..3dcd7c1c0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.h
@@ -9,31 +9,31 @@
* Specifies HMI Zones in the vehicle.
*
*/
-@interface SDLHmiZoneCapabilities : SDLEnum {}
+@interface SDLHMIZoneCapabilities : SDLEnum {}
/*!
@abstract return SDLHMIZoneCapabilities (FRONT / BACK)
@param value NSString
@result return SDLHMIZoneCapabilities
*/
-+(SDLHmiZoneCapabilities*) valueOf:(NSString*) value;
++(SDLHMIZoneCapabilities*) valueOf:(NSString*) value;
/*!
@abstract store all possible SDLHMIZoneCapabilities values
@result return an array with all possible SDLHMIZoneCapabilities values inside
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Indicates HMI available for front seat passengers.
* @result return a SDLHMIZoneCapabilities with value of <font color=gray><i> FRONT </i></font>
* @since <font color=red><b> SmartDeviceLink 1.0 </b></font>
*/
-+(SDLHmiZoneCapabilities*) FRONT;
++(SDLHMIZoneCapabilities*) FRONT;
/**
* @abstract Indicates HMI available for rear seat passengers.
* @result return a SDLHMIZoneCapabilities with value of <font color=gray><i> BACK </i></font>
* @since <font color=red><b> SmartDeviceLink 1.0 </b></font>
*/
-+(SDLHmiZoneCapabilities*) BACK;
++(SDLHMIZoneCapabilities*) BACK;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.m
index 566e46b72..d70809842 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHMIZoneCapabilities.m
@@ -1,18 +1,18 @@
-// SDLHmiZoneCapabilities.m
+// SDLHMIZoneCapabilities.m
//
-#import "SDLHmiZoneCapabilities.h"
+#import "SDLHMIZoneCapabilities.h"
-SDLHmiZoneCapabilities* SDLHmiZoneCapabilities_FRONT = nil;
-SDLHmiZoneCapabilities* SDLHmiZoneCapabilities_BACK = nil;
+SDLHMIZoneCapabilities* SDLHMIZoneCapabilities_FRONT = nil;
+SDLHMIZoneCapabilities* SDLHMIZoneCapabilities_BACK = nil;
-NSMutableArray* SDLHmiZoneCapabilities_values = nil;
+NSArray* SDLHMIZoneCapabilities_values = nil;
-@implementation SDLHmiZoneCapabilities
+@implementation SDLHMIZoneCapabilities
-+(SDLHmiZoneCapabilities*) valueOf:(NSString*) value {
- for (SDLHmiZoneCapabilities* item in SDLHmiZoneCapabilities.values) {
++(SDLHMIZoneCapabilities*) valueOf:(NSString*) value {
+ for (SDLHMIZoneCapabilities* item in SDLHMIZoneCapabilities.values) {
if ([item.value isEqualToString:value]) {
return item;
}
@@ -20,28 +20,28 @@ NSMutableArray* SDLHmiZoneCapabilities_values = nil;
return nil;
}
-+(NSMutableArray*) values {
- if (SDLHmiZoneCapabilities_values == nil) {
- SDLHmiZoneCapabilities_values = [[NSMutableArray alloc] initWithObjects:
- SDLHmiZoneCapabilities.FRONT,
- SDLHmiZoneCapabilities.BACK,
- nil];
++(NSArray*) values {
+ if (SDLHMIZoneCapabilities_values == nil) {
+ SDLHMIZoneCapabilities_values = @[
+ SDLHMIZoneCapabilities.FRONT,
+ SDLHMIZoneCapabilities.BACK,
+ ];
}
- return SDLHmiZoneCapabilities_values;
+ return SDLHMIZoneCapabilities_values;
}
-+(SDLHmiZoneCapabilities*) FRONT {
- if (SDLHmiZoneCapabilities_FRONT == nil) {
- SDLHmiZoneCapabilities_FRONT = [[SDLHmiZoneCapabilities alloc] initWithValue:@"FRONT"];
++(SDLHMIZoneCapabilities*) FRONT {
+ if (SDLHMIZoneCapabilities_FRONT == nil) {
+ SDLHMIZoneCapabilities_FRONT = [[SDLHMIZoneCapabilities alloc] initWithValue:@"FRONT"];
}
- return SDLHmiZoneCapabilities_FRONT;
+ return SDLHMIZoneCapabilities_FRONT;
}
-+(SDLHmiZoneCapabilities*) BACK {
- if (SDLHmiZoneCapabilities_BACK == nil) {
- SDLHmiZoneCapabilities_BACK = [[SDLHmiZoneCapabilities alloc] initWithValue:@"BACK"];
++(SDLHMIZoneCapabilities*) BACK {
+ if (SDLHMIZoneCapabilities_BACK == nil) {
+ SDLHMIZoneCapabilities_BACK = [[SDLHMIZoneCapabilities alloc] initWithValue:@"BACK"];
}
- return SDLHmiZoneCapabilities_BACK;
+ return SDLHMIZoneCapabilities_BACK;
}
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.h
index b7a2cde02..0d802b8b1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.h
@@ -1,11 +1,10 @@
// SDLHeadLampStatus.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLAmbientLightStatus.h"
+@class SDLAmbientLightStatus;
+
/**
* Status of the head lamps
@@ -14,13 +13,13 @@
/**
* @abstract Constructs a new SDLHeadLampStatus object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLHeadLampStatus object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A boolean value. Status of the low beam lamps.
*/
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.m
index 448bddbce..568519e4d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLHeadLampStatus.m
@@ -1,19 +1,20 @@
// SDLHeadLampStatus.m
//
-
#import "SDLHeadLampStatus.h"
+#import "SDLAmbientLightStatus.h"
#import "SDLNames.h"
+
@implementation SDLHeadLampStatus
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.h
index aebe4e4a8..f1383c551 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.h
@@ -1,11 +1,10 @@
// SDLIAPTransport.h
//
-
-
-#import <ExternalAccessory/ExternalAccessory.h>
+@import ExternalAccessory;
#import "SDLAbstractTransport.h"
+
@interface SDLIAPTransport : SDLAbstractTransport <NSStreamDelegate> {}
@property (assign) BOOL forceLegacy;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.m
index 7025e7011..3ddb83a4c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIAPTransport.m
@@ -37,7 +37,7 @@
@implementation SDLIAPTransport
-- (id)init {
+- (instancetype)init {
if (self = [super initWithEndpoint:nil endpointParam:nil]) {
[SDLDebugTool logInfo:@"Init" withType:SDLDebugType_Transport_iAP toOutput:SDLDebugOutput_All toGroup:self.debugConsoleGroupName];
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.h
index 78defc384..88cec972d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.h
@@ -22,7 +22,7 @@
@abstract store all possible SDLIgnitionStableStatus values
@result return an array with all possible SDLIgnitionStableStatus values inside
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The current ignition switch status is considered not to be stable.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.m
index fe7942bde..eb5776d71 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStableStatus.m
@@ -8,7 +8,7 @@ SDLIgnitionStableStatus* SDLIgnitionStableStatus_IGNITION_SWITCH_NOT_STABLE = ni
SDLIgnitionStableStatus* SDLIgnitionStableStatus_IGNITION_SWITCH_STABLE = nil;
SDLIgnitionStableStatus* SDLIgnitionStableStatus_MISSING_FROM_TRANSMITTER = nil;
-NSMutableArray* SDLIgnitionStableStatus_values = nil;
+NSArray* SDLIgnitionStableStatus_values = nil;
@implementation SDLIgnitionStableStatus
@@ -21,13 +21,13 @@ NSMutableArray* SDLIgnitionStableStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLIgnitionStableStatus_values == nil) {
- SDLIgnitionStableStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLIgnitionStableStatus_values = @[
SDLIgnitionStableStatus.IGNITION_SWITCH_NOT_STABLE,
SDLIgnitionStableStatus.IGNITION_SWITCH_STABLE,
SDLIgnitionStableStatus.MISSING_FROM_TRANSMITTER,
- nil];
+ ];
}
return SDLIgnitionStableStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.h
index a136e3cc6..808f03535 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.h
@@ -22,7 +22,7 @@
@abstract store all possible SDLIgnitionStatus values
@result return an array with all possible SDLIgnitionStatus values inside
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Ignition status currently unknown
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.m
index 144dedf11..18d8b777d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLIgnitionStatus.m
@@ -11,7 +11,7 @@ SDLIgnitionStatus* SDLIgnitionStatus_RUN = nil;
SDLIgnitionStatus* SDLIgnitionStatus_START = nil;
SDLIgnitionStatus* SDLIgnitionStatus_INVALID = nil;
-NSMutableArray* SDLIgnitionStatus_values = nil;
+NSArray* SDLIgnitionStatus_values = nil;
@implementation SDLIgnitionStatus
@@ -24,16 +24,16 @@ NSMutableArray* SDLIgnitionStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLIgnitionStatus_values == nil) {
- SDLIgnitionStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLIgnitionStatus_values = @[
SDLIgnitionStatus.UNKNOWN,
SDLIgnitionStatus.OFF,
SDLIgnitionStatus.ACCESSORY,
SDLIgnitionStatus.RUN,
SDLIgnitionStatus.START,
SDLIgnitionStatus.INVALID,
- nil];
+ ];
}
return SDLIgnitionStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.h
index 0502108e3..2b5ac597c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.h
@@ -1,11 +1,10 @@
// SDLImage.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLImageType.h"
+@class SDLImageType;
+
/**
*Specifies, which image shall be used, e.g. in SDLAlerts or on SDLSoftbuttons provided the display supports it.
@@ -41,12 +40,12 @@
/**
* Constructs a newly allocated SDLImage object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLImage object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the static hex icon value or the binary image file name identifier (sent by SDLPutFile)
* @discussion
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.m
index 6fbcad7fd..16f29ff24 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImage.m
@@ -1,19 +1,20 @@
// SDLImage.m
//
-
#import "SDLImage.h"
+#import "SDLImageType.h"
#import "SDLNames.h"
+
@implementation SDLImage
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.h
index 894a564c3..edcaa364f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.h
@@ -1,17 +1,16 @@
// SDLImageField.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLImageFieldName.h"
-#import "SDLImageResolution.h"
+@class SDLImageFieldName;
+@class SDLImageResolution;
+
@interface SDLImageField : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLImageFieldName* name;
@property(strong) NSMutableArray* imageTypeSupported;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.m
index 921a9ebb2..c3e4b65ca 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageField.m
@@ -1,20 +1,22 @@
// SDLImageField.m
//
-
#import "SDLImageField.h"
-#import "SDLNames.h"
#import "SDLFileType.h"
+#import "SDLImageFieldName.h"
+#import "SDLImageResolution.h"
+#import "SDLNames.h"
+
@implementation SDLImageField
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.h
index 73630f323..944902098 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.h
@@ -14,7 +14,7 @@
@interface SDLImageFieldName : SDLEnum {}
+(SDLImageFieldName*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** The image field for SoftButton
*
@@ -73,4 +73,10 @@
*/
+(SDLImageFieldName*) showConstantTBTNextTurnIcon;
+/**
+ * The optional image of a destination / location
+ * @since SDL 4.0
+ */
++(SDLImageFieldName*) locationImage;
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.m
index cfb0cafa9..c1843e7ba 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageFieldName.m
@@ -15,8 +15,9 @@ SDLImageFieldName* SDLImageFieldName_appIcon = nil;
SDLImageFieldName* SDLImageFieldName_graphic = nil;
SDLImageFieldName* SDLImageFieldName_showConstantTBTIcon = nil;
SDLImageFieldName* SDLImageFieldName_showConstantTBTNextTurnIcon = nil;
+SDLImageFieldName* SDLImageFieldName_locationImage = nil;
-NSMutableArray* SDLImageFieldName_values = nil;
+NSArray* SDLImageFieldName_values = nil;
@implementation SDLImageFieldName
@@ -29,9 +30,9 @@ NSMutableArray* SDLImageFieldName_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLImageFieldName_values == nil) {
- SDLImageFieldName_values = [[NSMutableArray alloc] initWithObjects:
+ SDLImageFieldName_values = @[
SDLImageFieldName.softButtonImage,
SDLImageFieldName.choiceImage,
SDLImageFieldName.choiceSecondaryImage,
@@ -43,7 +44,8 @@ NSMutableArray* SDLImageFieldName_values = nil;
SDLImageFieldName.graphic,
SDLImageFieldName.showConstantTBTIcon,
SDLImageFieldName.showConstantTBTNextTurnIcon,
- nil];
+ SDLImageFieldName.locationImage,
+ ];
}
return SDLImageFieldName_values;
}
@@ -125,4 +127,11 @@ NSMutableArray* SDLImageFieldName_values = nil;
return SDLImageFieldName_showConstantTBTNextTurnIcon;
}
++(SDLImageFieldName*) locationImage {
+ if (SDLImageFieldName_locationImage == nil) {
+ SDLImageFieldName_locationImage = [[SDLImageFieldName alloc] initWithValue:@"locationImage"];
+ }
+ return SDLImageFieldName_locationImage;
+}
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.h
index c4a880d76..40a21f082 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.h
@@ -7,8 +7,8 @@
@interface SDLImageResolution : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* resolutionWidth;
@property(strong) NSNumber* resolutionHeight;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.m
index d5fa49cc5..d0688e1f4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageResolution.m
@@ -8,12 +8,12 @@
@implementation SDLImageResolution
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.h
index 652f48e50..fc4cb4b37 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.h
@@ -22,7 +22,7 @@
@abstract store all possible SDLImageType values
@result return an array with all possible SDLImageType values inside
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Just the static hex icon value to be used
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.m
index 49f426cf8..f6daf8867 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLImageType.m
@@ -7,7 +7,7 @@
SDLImageType* SDLImageType_STATIC = nil;
SDLImageType* SDLImageType_DYNAMIC = nil;
-NSMutableArray* SDLImageType_values = nil;
+NSArray* SDLImageType_values = nil;
@implementation SDLImageType
@@ -20,12 +20,12 @@ NSMutableArray* SDLImageType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLImageType_values == nil) {
- SDLImageType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLImageType_values = @[
SDLImageType.STATIC,
SDLImageType.DYNAMIC,
- nil];
+ ];
}
return SDLImageType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.h
index e26c05a58..8d97f724f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.h
@@ -24,7 +24,7 @@
@abstract store all possible SDLInteractionMode values
@result return an array with all possible SDLInteractionMode values inside
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Interaction Mode : Manual Only
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.m
index 4071607d2..c711a5fcd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInteractionMode.m
@@ -8,7 +8,7 @@ SDLInteractionMode* SDLInteractionMode_MANUAL_ONLY = nil;
SDLInteractionMode* SDLInteractionMode_VR_ONLY = nil;
SDLInteractionMode* SDLInteractionMode_BOTH = nil;
-NSMutableArray* SDLInteractionMode_values = nil;
+NSArray* SDLInteractionMode_values = nil;
@implementation SDLInteractionMode
@@ -21,13 +21,13 @@ NSMutableArray* SDLInteractionMode_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLInteractionMode_values == nil) {
- SDLInteractionMode_values = [[NSMutableArray alloc] initWithObjects:
+ SDLInteractionMode_values = @[
SDLInteractionMode.MANUAL_ONLY,
SDLInteractionMode.VR_ONLY,
SDLInteractionMode.BOTH,
- nil];
+ ];
}
return SDLInteractionMode_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInterfaceProtocol.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInterfaceProtocol.h
index cfd4c05c2..8d7962f5d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLInterfaceProtocol.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLInterfaceProtocol.h
@@ -1,15 +1,15 @@
// SDLProtocol.h
//
-
-
#import "SDLProtocolListener.h"
-#import "SDLProtocolMessage.h"
-#import "SDLRPCRequest.h"
#import "SDLTransport.h"
#import "SDLTransportDelegate.h"
-@protocol SDLInterfaceProtocol<SDLTransportDelegate>
+@class SDLProtocolMessage;
+@class SDLRPCRequest;
+
+
+@protocol SDLInterfaceProtocol <SDLTransportDelegate>
@property (weak) id<SDLProtocolListener> protocolDelegate;
@property (strong) id<SDLTransport> transport;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.h
index 66b565701..116435e2a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.h
@@ -1,11 +1,11 @@
// SDLJsonDecoder.h
//
-
@import Foundation;
#import "SDLDecoder.h"
+
@interface SDLJsonDecoder : NSObject<SDLDecoder> {}
+(NSObject<SDLDecoder>*) instance;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.m
index 03d0717ac..ca142ffeb 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonDecoder.m
@@ -1,11 +1,11 @@
// SDLJsonDecoder.m
//
-
#import "SDLJsonDecoder.h"
#import "SDLNames.h"
+
@implementation SDLJsonDecoder
static NSObject<SDLDecoder>* jsonDecoderInstance;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.h
index f959c4123..e0d65ee53 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.h
@@ -1,11 +1,11 @@
// SDLJsonEncoder.h
//
-
@import Foundation;
#import "SDLEncoder.h"
+
@interface SDLJsonEncoder : NSObject<SDLEncoder> {}
+(NSObject<SDLEncoder>*) instance;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.m
index ac1219d03..b46c596e6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLJsonEncoder.m
@@ -1,10 +1,8 @@
// SDLJsonEncoder.m
//
-
#import "SDLJsonEncoder.h"
-#import "SDLNames.h"
@implementation SDLJsonEncoder
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.h
index a613f4a54..2e18b291e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.h
@@ -13,7 +13,7 @@
@interface SDLKeyboardEvent : SDLEnum {}
+(SDLKeyboardEvent*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** The use has pressed the keyboard key (applies to both SINGLE_KEYPRESS and RESEND_CURRENT_ENTRY modes).
*
@@ -35,7 +35,11 @@
/** The User has not finished entering text and the keyboard is aborted with the event of higher priority.
*
*/
-
+(SDLKeyboardEvent*) ENTRY_ABORTED;
+/**
+ * @since SDL 4.0
+ */
++(SDLKeyboardEvent*) ENTRY_VOICE;
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.m
index 756aa811d..721629b92 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardEvent.m
@@ -8,8 +8,9 @@ SDLKeyboardEvent* SDLKeyboardEvent_KEYPRESS = nil;
SDLKeyboardEvent* SDLKeyboardEvent_ENTRY_SUBMITTED = nil;
SDLKeyboardEvent* SDLKeyboardEvent_ENTRY_CANCELLED = nil;
SDLKeyboardEvent* SDLKeyboardEvent_ENTRY_ABORTED = nil;
+SDLKeyboardEvent* SDLKeyboardEvent_ENTRY_VOICE = nil;
-NSMutableArray* SDLKeyboardEvent_values = nil;
+NSArray* SDLKeyboardEvent_values = nil;
@implementation SDLKeyboardEvent
@@ -22,14 +23,15 @@ NSMutableArray* SDLKeyboardEvent_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLKeyboardEvent_values == nil) {
- SDLKeyboardEvent_values = [[NSMutableArray alloc] initWithObjects:
+ SDLKeyboardEvent_values = @[
SDLKeyboardEvent.KEYPRESS,
SDLKeyboardEvent.ENTRY_SUBMITTED,
SDLKeyboardEvent.ENTRY_CANCELLED,
SDLKeyboardEvent.ENTRY_ABORTED,
- nil];
+ SDLKeyboardEvent.ENTRY_VOICE,
+ ];
}
return SDLKeyboardEvent_values;
}
@@ -62,4 +64,11 @@ NSMutableArray* SDLKeyboardEvent_values = nil;
return SDLKeyboardEvent_ENTRY_ABORTED;
}
++(SDLKeyboardEvent*) ENTRY_VOICE {
+ if (SDLKeyboardEvent_ENTRY_VOICE == nil) {
+ SDLKeyboardEvent_ENTRY_VOICE = [[SDLKeyboardEvent alloc] initWithValue:@"ENTRY_VOICE"];
+ }
+ return SDLKeyboardEvent_ENTRY_VOICE;
+}
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.h
index 9ec78dad4..b644b7d28 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.h
@@ -13,7 +13,7 @@
@interface SDLKeyboardLayout : SDLEnum {}
+(SDLKeyboardLayout*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** QWERTY layout (the name comes from the first six keys<br> appearing on the top left letter row of the keyboard and read from left to right)
*
*/
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.m
index 1833dddb6..ac36dc9c4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardLayout.m
@@ -8,7 +8,7 @@ SDLKeyboardLayout* SDLKeyboardLayout_QWERTY = nil;
SDLKeyboardLayout* SDLKeyboardLayout_QWERTZ = nil;
SDLKeyboardLayout* SDLKeyboardLayout_AZERTY = nil;
-NSMutableArray* SDLKeyboardLayout_values = nil;
+NSArray* SDLKeyboardLayout_values = nil;
@implementation SDLKeyboardLayout
@@ -21,13 +21,13 @@ NSMutableArray* SDLKeyboardLayout_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLKeyboardLayout_values == nil) {
- SDLKeyboardLayout_values = [[NSMutableArray alloc] initWithObjects:
+ SDLKeyboardLayout_values = @[
SDLKeyboardLayout.QWERTY,
SDLKeyboardLayout.QWERTZ,
SDLKeyboardLayout.AZERTY,
- nil];
+ ];
}
return SDLKeyboardLayout_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.h
index 64d5d3d98..c95252a6e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.h
@@ -1,18 +1,17 @@
// SDLKeyboardProperties.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLLanguage.h"
-#import "SDLKeyboardLayout.h"
-#import "SDLKeypressMode.h"
+@class SDLLanguage;
+@class SDLKeyboardLayout;
+@class SDLKeypressMode;
+
@interface SDLKeyboardProperties : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLLanguage* language;
@property(strong) SDLKeyboardLayout* keyboardLayout;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.m
index 38b1cc6e6..4a3aea64b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeyboardProperties.m
@@ -1,19 +1,22 @@
// SDLKeyboardProperties.m
//
-
#import "SDLKeyboardProperties.h"
+#import "SDLKeyboardLayout.h"
+#import "SDLKeypressMode.h"
+#import "SDLLanguage.h"
#import "SDLNames.h"
+
@implementation SDLKeyboardProperties
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.h
index 5917de056..f0ac2a553 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.h
@@ -15,7 +15,7 @@
@interface SDLKeypressMode : SDLEnum {}
+(SDLKeypressMode*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** SINGLE_KEYPRESS:<br>Each and every User`s keypress must be reported (new notification for every newly entered single symbol).
*
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.m
index 8b9cc784e..16a296c2a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLKeypressMode.m
@@ -8,7 +8,7 @@ SDLKeypressMode* SDLKeypressMode_SINGLE_KEYPRESS = nil;
SDLKeypressMode* SDLKeypressMode_QUEUE_KEYPRESSES = nil;
SDLKeypressMode* SDLKeypressMode_RESEND_CURRENT_ENTRY = nil;
-NSMutableArray* SDLKeypressMode_values = nil;
+NSArray* SDLKeypressMode_values = nil;
@implementation SDLKeypressMode
@@ -21,13 +21,13 @@ NSMutableArray* SDLKeypressMode_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLKeypressMode_values == nil) {
- SDLKeypressMode_values = [[NSMutableArray alloc] initWithObjects:
+ SDLKeypressMode_values = @[
SDLKeypressMode.SINGLE_KEYPRESS,
SDLKeypressMode.QUEUE_KEYPRESSES,
SDLKeypressMode.RESEND_CURRENT_ENTRY,
- nil];
+ ];
}
return SDLKeypressMode_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.h
index 8d5a4bdde..1a11d555a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.h
@@ -23,7 +23,7 @@
@abstract store all possible Language values
@result return an array with all possible Language values inside
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract language English_US
*/
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.m
index c3888c2d6..636e887cb 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLanguage.m
@@ -29,7 +29,7 @@ SDLLanguage* SDLLanguage_CS_CZ = nil;
SDLLanguage* SDLLanguage_DA_DK = nil;
SDLLanguage* SDLLanguage_NO_NO = nil;
-NSMutableArray* SDLLanguage_values = nil;
+NSArray* SDLLanguage_values = nil;
@implementation SDLLanguage
@@ -42,9 +42,9 @@ NSMutableArray* SDLLanguage_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLLanguage_values == nil) {
- SDLLanguage_values = [[NSMutableArray alloc] initWithObjects:
+ SDLLanguage_values = @[
SDLLanguage.EN_US,
SDLLanguage.ES_MX,
SDLLanguage.FR_CA,
@@ -69,7 +69,7 @@ NSMutableArray* SDLLanguage_values = nil;
SDLLanguage.CS_CZ,
SDLLanguage.DA_DK,
SDLLanguage.NO_NO,
- nil];
+ ];
}
return SDLLanguage_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.h
index 1ac2ab24e..5e5642232 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.h
@@ -13,7 +13,7 @@
@interface SDLLayoutMode : SDLEnum {}
+(SDLLayoutMode*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
/** This mode causes the interaction to display the previous set of choices as icons.
*
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.m
index 8a0f9d836..ed35f6c9d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLayoutMode.m
@@ -10,7 +10,7 @@ SDLLayoutMode* SDLLayoutMode_LIST_ONLY = nil;
SDLLayoutMode* SDLLayoutMode_LIST_WITH_SEARCH = nil;
SDLLayoutMode* SDLLayoutMode_KEYBOARD = nil;
-NSMutableArray* SDLLayoutMode_values = nil;
+NSArray* SDLLayoutMode_values = nil;
@implementation SDLLayoutMode
@@ -23,15 +23,15 @@ NSMutableArray* SDLLayoutMode_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLLayoutMode_values == nil) {
- SDLLayoutMode_values = [[NSMutableArray alloc] initWithObjects:
+ SDLLayoutMode_values = @[
SDLLayoutMode.ICON_ONLY,
SDLLayoutMode.ICON_WITH_SEARCH,
SDLLayoutMode.LIST_ONLY,
SDLLayoutMode.LIST_WITH_SEARCH,
SDLLayoutMode.KEYBOARD,
- nil];
+ ];
}
return SDLLayoutMode_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.h
index 6e5c7f690..60a8ee661 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.h
@@ -16,12 +16,12 @@
/**
* Constructs a new SDLListFiles object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLListFiles object indicated by the NSMutableDictionary parameter
* <p>
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.m
index 591cdf3e6..b17d511e0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFiles.m
@@ -8,12 +8,12 @@
@implementation SDLListFiles
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ListFiles]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.h
index e880e025e..a67bd16e5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.h
@@ -12,8 +12,8 @@
*/
@interface SDLListFilesResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSMutableArray* filenames;
@property(strong) NSNumber* spaceAvailable;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.m
index e819c34b7..4671cac36 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLListFilesResponse.m
@@ -8,12 +8,12 @@
@implementation SDLListFilesResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ListFiles]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.h
index 06f21cb50..7689cea36 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.h
@@ -3,10 +3,12 @@
// SmartDeviceLink
//
+@import Foundation;
+
+@class SDLHMILevel;
+@class SDLLockScreenStatus;
+@class SDLOnLockScreenStatus;
-#import "SDLHMILevel.h"
-#import "SDLLockScreenStatus.h"
-#import "SDLOnLockScreenStatus.h"
@interface SDLLockScreenManager : NSObject
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.m
index 522f1b4ca..62fb7fe3c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenManager.m
@@ -5,6 +5,11 @@
#import "SDLLockScreenManager.h"
+#import "SDLHMILevel.h"
+#import "SDLLockScreenStatus.h"
+#import "SDLOnLockScreenStatus.h"
+
+
@interface SDLLockScreenManager ()
@property (assign, nonatomic) BOOL bHaveDDStatus;
@@ -37,9 +42,9 @@
_hmiLevel = hmiLevel;
}
- if ([SDLHMILevel.HMI_FULL.value isEqualToString:hmiLevel.value] || [SDLHMILevel.HMI_LIMITED.value isEqualToString:hmiLevel.value]) {
+ if ([SDLHMILevel.FULL.value isEqualToString:hmiLevel.value] || [SDLHMILevel.LIMITED.value isEqualToString:hmiLevel.value]) {
_bUserSelected = YES;
- } else if ([SDLHMILevel.HMI_NONE.value isEqualToString:hmiLevel.value]) {
+ } else if ([SDLHMILevel.NONE.value isEqualToString:hmiLevel.value]) {
_bUserSelected = NO;
}
}
@@ -56,9 +61,9 @@
- (SDLLockScreenStatus *)lockScreenStatus
{
- if (_hmiLevel == nil || _hmiLevel == [SDLHMILevel HMI_NONE]) {
+ if (_hmiLevel == nil || _hmiLevel == [SDLHMILevel NONE]) {
return [SDLLockScreenStatus OFF];
- } else if (_hmiLevel == [SDLHMILevel HMI_BACKGROUND]) {
+ } else if (_hmiLevel == [SDLHMILevel BACKGROUND]) {
if (!_bHaveDDStatus)
{
//we don't have driver distraction, lockscreen is entirely based on userselection
@@ -79,7 +84,7 @@
{
return [SDLLockScreenStatus OFF];
}
- } else if (_hmiLevel == [SDLHMILevel HMI_FULL] || _hmiLevel == [SDLHMILevel HMI_LIMITED]) {
+ } else if (_hmiLevel == [SDLHMILevel FULL] || _hmiLevel == [SDLHMILevel LIMITED]) {
if (_bHaveDDStatus && !_bDriverDistractionStatus) {
return [SDLLockScreenStatus OPTIONAL];
} else {
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.m
index a6b45592b..06f6eded7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLLockScreenStatus.m
@@ -11,7 +11,7 @@ SDLLockScreenStatus* SDLLockScreenStatus_OFF = nil;
SDLLockScreenStatus* SDLLockScreenStatus_OPTIONAL = nil;
SDLLockScreenStatus* SDLLockScreenStatus_REQUIRED = nil;
-NSMutableArray* SDLLockScreenStatus_values = nil;
+NSArray* SDLLockScreenStatus_values = nil;
+ (SDLLockScreenStatus *)valueOf:(NSString *)value
@@ -26,15 +26,15 @@ NSMutableArray* SDLLockScreenStatus_values = nil;
return nil;
}
-+ (NSMutableArray *)values
++ (NSArray *)values
{
if (SDLLockScreenStatus_values == nil)
{
- SDLLockScreenStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLLockScreenStatus_values = @[
SDLLockScreenStatus.OFF,
SDLLockScreenStatus.OPTIONAL,
SDLLockScreenStatus.REQUIRED,
- nil];
+ ];
}
return SDLLockScreenStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.h
index e59c6d38d..b1582f77e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.h
@@ -21,7 +21,7 @@
@abstract declare an array that store all possible Maintenance Mode Status inside
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract Maintenance Mode Status : Normal
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.m
index cc4058c84..e0393e8d4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMaintenanceModeStatus.m
@@ -9,7 +9,7 @@ SDLMaintenanceModeStatus* SDLMaintenanceModeStatus_NEAR = nil;
SDLMaintenanceModeStatus* SDLMaintenanceModeStatus_ACTIVE = nil;
SDLMaintenanceModeStatus* SDLMaintenanceModeStatus_FEATURE_NOT_PRESENT = nil;
-NSMutableArray* SDLMaintenanceModeStatus_values = nil;
+NSArray* SDLMaintenanceModeStatus_values = nil;
@implementation SDLMaintenanceModeStatus
@@ -22,14 +22,14 @@ NSMutableArray* SDLMaintenanceModeStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLMaintenanceModeStatus_values == nil) {
- SDLMaintenanceModeStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLMaintenanceModeStatus_values = @[
SDLMaintenanceModeStatus.NORMAL,
SDLMaintenanceModeStatus.NEAR,
SDLMaintenanceModeStatus.ACTIVE,
SDLMaintenanceModeStatus.FEATURE_NOT_PRESENT,
- nil];
+ ];
}
return SDLMaintenanceModeStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.h
index aaf3b39e1..9915ac6ab 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.h
@@ -25,7 +25,7 @@
@abstract declare an array that store all possible Media clock formats inside
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Media clock format : Clock1
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.m
index cc35e5876..3912741df 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMediaClockFormat.m
@@ -12,7 +12,7 @@ SDLMediaClockFormat* SDLMediaClockFormat_CLOCKTEXT2 = nil;
SDLMediaClockFormat* SDLMediaClockFormat_CLOCKTEXT3 = nil;
SDLMediaClockFormat* SDLMediaClockFormat_CLOCKTEXT4 = nil;
-NSMutableArray* SDLMediaClockFormat_values = nil;
+NSArray* SDLMediaClockFormat_values = nil;
@implementation SDLMediaClockFormat
@@ -25,9 +25,9 @@ NSMutableArray* SDLMediaClockFormat_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLMediaClockFormat_values == nil) {
- SDLMediaClockFormat_values = [[NSMutableArray alloc] initWithObjects:
+ SDLMediaClockFormat_values = @[
SDLMediaClockFormat.CLOCK1,
SDLMediaClockFormat.CLOCK2,
SDLMediaClockFormat.CLOCK3,
@@ -35,7 +35,7 @@ NSMutableArray* SDLMediaClockFormat_values = nil;
SDLMediaClockFormat.CLOCKTEXT2,
SDLMediaClockFormat.CLOCKTEXT3,
SDLMediaClockFormat.CLOCKTEXT4,
- nil];
+ ];
}
return SDLMediaClockFormat_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.h
index f747762a3..211088541 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.h
@@ -60,12 +60,12 @@
/**
* Constructs a newly allocated SDLMenuParams object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a newly allocated SDLMenuParams object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the unique ID of an existing submenu to which a command will be added
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.m
index 6df36cb2d..55f013021 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMenuParams.m
@@ -8,12 +8,12 @@
@implementation SDLMenuParams
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.h
index 4bd6ac6f2..519f6641b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.h
@@ -1,16 +1,15 @@
// SDLMyKey.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLVehicleDataStatus.h"
+@class SDLVehicleDataStatus;
+
@interface SDLMyKey : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLVehicleDataStatus* e911Override;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.m
index 20b35d4ad..843445954 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLMyKey.m
@@ -1,19 +1,20 @@
// SDLMyKey.m
//
-
#import "SDLMyKey.h"
#import "SDLNames.h"
+#import "SDLVehicleDataStatus.h"
+
@implementation SDLMyKey
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLNames.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLNames.h
index 5dc94cf6a..05e9d8543 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLNames.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLNames.h
@@ -7,6 +7,7 @@
#define NAMES_accPedalPosition @"accPedalPosition"
#define NAMES_actual @"actual"
#define NAMES_AddCommand @"AddCommand"
+#define NAMES_addressLines @"addressLines"
#define NAMES_AddSubMenu @"AddSubMenu"
#define NAMES_airbagStatus @"airbagStatus"
#define NAMES_Alert @"Alert"
@@ -165,6 +166,9 @@
#define NAMES_length @"length"
#define NAMES_limitedCharacterList @"limitedCharacterList"
#define NAMES_ListFiles @"ListFiles"
+#define NAMES_locationDescription @"locationDescription"
+#define NAMES_locationImage @"locationImage"
+#define NAMES_locationName @"locationName"
#define NAMES_longitudeDegrees @"longitudeDegrees"
#define NAMES_longPress @"longPress"
#define NAMES_longPressAvailable @"longPressAvailable"
@@ -205,12 +209,14 @@
#define NAMES_muteAudio @"muteAudio"
#define NAMES_myKey @"myKey"
#define NAMES_name @"name"
+#define NAMES_navigation @"navigation"
#define NAMES_navigationText @"navigationText"
#define NAMES_navigationText1 @"navigationText1"
#define NAMES_navigationText2 @"navigationText2"
#define NAMES_nextTurnIcon @"nextTurnIcon"
#define NAMES_ngnMediaScreenAppName @"ngnMediaScreenAppName"
#define NAMES_notification @"notification"
+#define NAMES_number @"number"
#define NAMES_numCustomPresetsAvailable @"numCustomPresetsAvailable"
#define NAMES_numTicks @"numTicks"
#define NAMES_odometer @"odometer"
@@ -253,6 +259,8 @@
#define NAMES_PerformInteraction @"PerformInteraction"
#define NAMES_permissionItem @"permissionItem"
#define NAMES_persistentFile @"persistentFile"
+#define NAMES_phoneCall @"phoneCall"
+#define NAMES_phoneNumber @"phoneNumber"
#define NAMES_phoneRoaming @"phoneRoaming"
#define NAMES_playTone @"playTone"
#define NAMES_position @"position"
@@ -302,6 +310,7 @@
#define NAMES_secondaryImage @"secondaryImage"
#define NAMES_secondaryText @"secondaryText"
#define NAMES_seconds @"seconds"
+#define NAMES_SendLocation @"SendLocation"
#define NAMES_SetAppIcon @"SetAppIcon"
#define NAMES_SetDisplayLayout @"SetDisplayLayout"
#define NAMES_SetGlobalProperties @"SetGlobalProperties"
@@ -341,6 +350,7 @@
#define NAMES_systemContext @"systemContext"
#define NAMES_systemFile @"systemFile"
#define NAMES_SystemRequest @"SystemRequest"
+#define NAMES_DialNumber @"DialNumber"
#define NAMES_targetID @"targetID"
#define NAMES_templatesAvailable @"templatesAvailable"
#define NAMES_tertiaryText @"tertiaryText"
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.h
index eff2f642a..2f2c5d0f2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.h
@@ -5,11 +5,16 @@
@import Foundation;
+
@interface SDLObjectWithPriority : NSObject
@property (strong) id object;
@property (assign) NSInteger priority;
+- (instancetype)initWithObject:(id)object priority:(NSInteger)priority NS_DESIGNATED_INITIALIZER;
+
++ (instancetype)objectWithObject:(id)object priority:(NSInteger)priority;
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.m
index 565868dcb..57e5d0f40 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLObjectWithPriority.m
@@ -5,6 +5,27 @@
#import "SDLObjectWithPriority.h"
+
@implementation SDLObjectWithPriority
+- (instancetype)initWithObject:(id)object priority:(NSInteger)priority {
+ self = [super init];
+ if (self == nil) {
+ return nil;
+ }
+
+ self.object = object;
+ self.priority = priority;
+
+ return self;
+}
+
+- (instancetype)init {
+ return [self initWithObject:nil priority:NSIntegerMax];
+}
+
++ (instancetype)objectWithObject:(id)object priority:(NSInteger)priority {
+ return [[self alloc] initWithObject:object priority:priority];
+}
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h
index 2a1899478..bf78505a4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h
@@ -1,11 +1,10 @@
// SDLOnAppInterfaceUnregistered.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLAppInterfaceUnregisteredReason.h"
+@class SDLAppInterfaceUnregisteredReason;
+
/**
* Notifies an application that its interface registration has been terminated. This means that all SDL resources
@@ -46,12 +45,12 @@
/**
*Constructs a newly allocated SDLOnAppInterfaceUnregistered object
*/
--(id) init;
+-(instancetype) init;
/**
*<p>Constructs a newly allocated SDLOnAppInterfaceUnregistered object indicated by the NSMutableDictionary parameter</p>
*@param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the reason application's interface was terminated
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.m
index b7a664370..44dd32ffd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAppInterfaceUnregistered.m
@@ -1,19 +1,20 @@
// SDLOnAppInterfaceUnregistered.m
//
-
#import "SDLOnAppInterfaceUnregistered.h"
+#import "SDLAppInterfaceUnregisteredReason.h"
#import "SDLNames.h"
+
@implementation SDLOnAppInterfaceUnregistered
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnAppInterfaceUnregistered]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.h
index 258f0332c..1e117f7a1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.h
@@ -28,10 +28,10 @@
/**
*Constructs a newly allocated SDLOnAudioPassThru object
*/
--(id) init;
+-(instancetype) init;
/**
*<p>Constructs a newly allocated SDLOnAudioPassThru object indicated by the NSMutableDictionary parameter</p>
*@param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.m
index bb393b57a..5235bf3ce 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnAudioPassThru.m
@@ -8,12 +8,12 @@
@implementation SDLOnAudioPassThru
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnAudioPassThru]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.h
index bed791623..6ab9dba9e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.h
@@ -1,12 +1,11 @@
// SDLOnButtonEvent.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLButtonName.h"
-#import "SDLButtonEventMode.h"
+@class SDLButtonName;
+@class SDLButtonEventMode;
+
/**
* Notifies application that user has depressed or released a button to which
@@ -85,7 +84,7 @@
/**
*Constructs a newly allocated SDLOnButtonEvent object
*/
--(id) init;
+-(instancetype) init;
/**
* <p>
* Constructs a newly allocated SDLOnButtonEvent object indicated by the
@@ -94,7 +93,7 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the name of the button
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.m
index f0b42de18..4272e610f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonEvent.m
@@ -1,19 +1,21 @@
// SDLOnButtonEvent.m
//
-
#import "SDLOnButtonEvent.h"
+#import "SDLButtonName.h"
+#import "SDLButtonEventMode.h"
#import "SDLNames.h"
+
@implementation SDLOnButtonEvent
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnButtonEvent]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.h
index 014f328a9..bf48a43e8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.h
@@ -1,12 +1,11 @@
// SDLOnButtonPress.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLButtonName.h"
-#import "SDLButtonPressMode.h"
+@class SDLButtonName;
+@class SDLButtonPressMode;
+
/**
* <p>
@@ -92,7 +91,7 @@
/**
*Constructs a newly allocated SDLOnButtonPress object
*/
--(id) init;
+-(instancetype) init;
/**
* <p>
* Constructs a newly allocated SDLOnButtonPress object indicated by the
@@ -101,7 +100,7 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the button's name
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.m
index 1dabe7007..2297315de 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnButtonPress.m
@@ -1,19 +1,21 @@
// SDLOnButtonPress.m
//
-
#import "SDLOnButtonPress.h"
+#import "SDLButtonName.h"
+#import "SDLButtonPressMode.h"
#import "SDLNames.h"
+
@implementation SDLOnButtonPress
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnButtonPress]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.h
index 7c5e76439..c26c7de5d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.h
@@ -1,11 +1,10 @@
// SDLOnCommand.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLTriggerSource.h"
+@class SDLTriggerSource;
+
/**
* This is called when a command was selected via VR after pressing the PTT button, or selected from the menu after
@@ -57,12 +56,12 @@
/**
*Constructs a newly allocated SDLRPCNotification object
*/
--(id) init;
+-(instancetype) init;
/**
*<p>Constructs a newly allocated SDLRPCNotification object indicated by the NSMutableDictionary parameter</p>
*@param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the Command's ID
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.m
index 69a92cc4d..53434c3c0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnCommand.m
@@ -1,19 +1,20 @@
// SDLOnCommand.m
//
-
#import "SDLOnCommand.h"
#import "SDLNames.h"
+#import "SDLTriggerSource.h"
+
@implementation SDLOnCommand
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnCommand]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.h
index 5d9a9b3a2..47f08729b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.h
@@ -1,11 +1,10 @@
// SDLOnDriverDistraction.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLDriverDistractionState.h"
+@class SDLDriverDistractionState;
+
/**
* <p>Notifies the application of the current driver distraction state (whether driver distraction rules are in effect, or
@@ -22,7 +21,7 @@
* <ul><li>Any</li></ul>
* </ul>
* <p></p>
- * <b>Parameter List:</b>
+ * <b>Parameter Lists:</b>
* <table border="1" rules="all">
* <tr>
* <th>Name</th>
@@ -44,12 +43,12 @@
/**
*Constructs a newly allocated SDLOnDriverDistraction object
*/
--(id) init;
+-(instancetype) init;
/**
*<p>Constructs a newly allocated SDLOnDriverDistraction object indicated by the NSMutableDictionary parameter</p>
*@param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the driver distraction state(i.e. whether driver distraction rules are in effect, or not)
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.m
index 3cd206af0..622d77ffd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnDriverDistraction.m
@@ -1,19 +1,20 @@
// SDLOnDriverDistraction.m
//
-
#import "SDLOnDriverDistraction.h"
+#import "SDLDriverDistractionState.h"
#import "SDLNames.h"
+
@implementation SDLOnDriverDistraction
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnDriverDistraction]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.h
index 969fb4045..50684b1bf 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.h
@@ -1,14 +1,13 @@
// SDLOnEncodedSyncPData.h
//
-
-
#import "SDLRPCNotification.h"
+
@interface SDLOnEncodedSyncPData : SDLRPCNotification {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSMutableArray* data;
@property(strong) NSString* URL;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.m
index 2c87a71de..3907c067d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnEncodedSyncPData.m
@@ -1,19 +1,19 @@
// SDLOnEncodedSyncPData.m
//
-
#import "SDLOnEncodedSyncPData.h"
#import "SDLNames.h"
+
@implementation SDLOnEncodedSyncPData
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnEncodedSyncPData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.h
index 910cadb2f..7f14374b7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.h
@@ -1,13 +1,12 @@
// SDLOnHMIStatus.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLHMILevel.h"
-#import "SDLAudioStreamingState.h"
-#import "SDLSystemContext.h"
+@class SDLAudioStreamingState;
+@class SDLHMILevel;
+@class SDLSystemContext;
+
/**
* <p>Notifies an application that HMI conditions have changed for the application. This indicates whether the application
@@ -67,12 +66,12 @@
/**
*Constructs a newly allocated SDLOnHMIStatus object
*/
--(id) init;
+-(instancetype) init;
/**
*<p>Constructs a newly allocated SDLOnHMIStatus object indicated by the NSMutableDictionary parameter</p>
*@param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract SDLHMILevel in effect for the application
* @discussion
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.m
index ae5b78dd2..73f5eccd6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHMIStatus.m
@@ -1,19 +1,22 @@
// SDLOnHMIStatus.m
//
-
#import "SDLOnHMIStatus.h"
+#import "SDLAudioStreamingState.h"
+#import "SDLHMILevel.h"
#import "SDLNames.h"
+#import "SDLSystemContext.h"
+
@implementation SDLOnHMIStatus
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnHMIStatus]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.h
index ba2e91b81..dc9564ab6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.h
@@ -7,8 +7,8 @@
@interface SDLOnHashChange : SDLRPCNotification {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSString* hashID;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.m
index 7d5546641..85566fa68 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnHashChange.m
@@ -8,12 +8,12 @@
@implementation SDLOnHashChange
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnHashChange]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.h
index d405c4953..debb53835 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.h
@@ -1,16 +1,15 @@
// SDLOnKeyboardInput.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLKeyboardEvent.h"
+@class SDLKeyboardEvent;
+
@interface SDLOnKeyboardInput : SDLRPCNotification {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLKeyboardEvent* event;
@property(strong) NSString* data;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.m
index 715a61fbe..e1b940869 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnKeyboardInput.m
@@ -1,19 +1,20 @@
// SDLOnKeyboardInput.m
//
-
#import "SDLOnKeyboardInput.h"
+#import "SDLKeyboardEvent.h"
#import "SDLNames.h"
+
@implementation SDLOnKeyboardInput
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnKeyboardInput]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.h
index ae4aebf58..c057e7643 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.h
@@ -1,11 +1,10 @@
// SDLOnLanguageChange.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLLanguage.h"
+@class SDLLanguage;
+
/**
* Provides information to what language the SDL HMI language was changed
@@ -61,12 +60,12 @@
/**
*Constructs a newly allocated SDLOnLanguageChange object
*/
--(id) init;
+-(instancetype) init;
/**
*<p>Constructs a newly allocated SDLOnLanguageChange object indicated by the NSMutableDictionary parameter</p>
*@param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract language that current SDL voice engine(VR+TTS) use
* @discussion
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.m
index 78c489579..19a7fc831 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLanguageChange.m
@@ -1,19 +1,20 @@
// SDLOnLanguageChange.m
//
-
#import "SDLOnLanguageChange.h"
+#import "SDLLanguage.h"
#import "SDLNames.h"
+
@implementation SDLOnLanguageChange
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnLanguageChange]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.h
index f329888bb..489a791b2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.h
@@ -3,14 +3,12 @@
// SmartDeviceLink
//
-#import "SDLLockScreenStatus.h"
-
#import "SDLRPCNotification.h"
-
@class SDLHMILevel;
@class SDLLockScreenStatus;
+
/**
* To help prevent driver distraction, any SmartDeviceLink application is required to implement a lockscreen that must be enforced while the application is active on the system while the vehicle is in motion.
*
@@ -21,8 +19,8 @@
*/
@interface SDLOnLockScreenStatus : SDLRPCNotification
-- (id)init;
-- (id)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)init;
+- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
/**
* <p>Get the current driver distraction status(i.e. whether driver distraction rules are in effect, or not)</p>
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.m
index 678a2cb52..5e73fbef8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnLockScreenStatus.m
@@ -8,16 +8,17 @@
#import "SDLHMILevel.h"
#import "SDLLockScreenStatus.h"
+
@implementation SDLOnLockScreenStatus
-- (id)init {
+- (instancetype)init {
if (self = [super initWithName:@"OnLockScreenStatus"]) {
}
return self;
}
-- (id)initWithDictionary:(NSMutableDictionary*) dict {
+- (instancetype)initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {
}
@@ -51,7 +52,7 @@
- (SDLHMILevel *)hmiLevel {
NSObject* obj = [parameters objectForKey:@"hmilevel"];
- if ([obj isKindOfClass:SDLLockScreenStatus.class]) {
+ if ([obj isKindOfClass:SDLHMILevel.class]) {
return (SDLHMILevel *)obj;
} else {
return [SDLHMILevel valueOf:(NSString*)obj];
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.h
index 666f5944a..7338bc417 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.h
@@ -1,10 +1,9 @@
// SDLOnPermissionsChange.h
//
-
-
#import "SDLRPCNotification.h"
+
/**
* Provides update to app of which sets of functions are available
* <p>
@@ -51,12 +50,12 @@
/**
*Constructs a newly allocated SDLOnPermissionsChange object
*/
--(id) init;
+-(instancetype) init;
/**
*<p>Constructs a newly allocated SDLOnPermissionsChange object indicated by the NSMutableDictionary parameter</p>
*@param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract an Array of SDLPermissionItem object describing change in permissions for a given set of RPCs
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.m
index 8a7b6909c..5d70d9e4e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnPermissionsChange.m
@@ -1,20 +1,20 @@
// SDLOnPermissionsChange.m
//
-
#import "SDLOnPermissionsChange.h"
#import "SDLNames.h"
#import "SDLPermissionItem.h"
+
@implementation SDLOnPermissionsChange
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnPermissionsChange]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.h
index 7c8d0ad16..c93c7c8a2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.h
@@ -7,8 +7,8 @@
@interface SDLOnSyncPData : SDLRPCNotification {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSString* URL;
@property(strong) NSNumber* Timeout;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.m
index 04b3a4bae..2be4ee4da 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSyncPData.m
@@ -8,12 +8,12 @@
@implementation SDLOnSyncPData
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnSyncPData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.h
index 28ae674b4..4f3fb0a89 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.h
@@ -1,17 +1,16 @@
// SDLOnSystemRequest.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLRequestType.h"
-#import "SDLFileType.h"
+@class SDLFileType;
+@class SDLRequestType;
+
@interface SDLOnSystemRequest : SDLRPCNotification {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLRequestType* requestType;
@property(strong) NSString* url;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.m
index a8814f87b..74fdf9134 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnSystemRequest.m
@@ -1,19 +1,21 @@
// SDLOnSystemRequest.m
//
-
#import "SDLOnSystemRequest.h"
+#import "SDLFileType.h"
#import "SDLNames.h"
+#import "SDLRequestType.h"
+
@implementation SDLOnSystemRequest
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnSystemRequest]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.h
index e9b5af928..73ffb23c5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.h
@@ -1,16 +1,15 @@
// SDLOnTBTClientState.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLTBTState.h"
+@class SDLTBTState;
+
@interface SDLOnTBTClientState : SDLRPCNotification {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLTBTState* state;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.m
index 5f249ed06..70f5e087c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTBTClientState.m
@@ -1,19 +1,20 @@
// SDLOnTBTClientState.m
//
-
#import "SDLOnTBTClientState.h"
#import "SDLNames.h"
+#import "SDLTBTState.h"
+
@implementation SDLOnTBTClientState
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnTBTClientState]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.h
index f433cfee1..807d879a6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.h
@@ -1,16 +1,15 @@
// SDLOnTouchEvent.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLTouchType.h"
+@class SDLTouchType;
+
@interface SDLOnTouchEvent : SDLRPCNotification {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLTouchType* type;
@property(strong) NSMutableArray* event;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.m
index 407aa3fe3..3e9ff5565 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnTouchEvent.m
@@ -1,20 +1,21 @@
// SDLOnTouchEvent.m
//
-
#import "SDLOnTouchEvent.h"
#import "SDLNames.h"
#import "SDLTouchEvent.h"
+#import "SDLTouchType.h"
+
@implementation SDLOnTouchEvent
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnTouchEvent]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.h
index 46830bcaf..73b322dad 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.h
@@ -1,25 +1,24 @@
// SDLOnVehicleData.h
//
-
-
#import "SDLRPCNotification.h"
-#import "SDLGPSData.h"
-#import "SDLComponentVolumeStatus.h"
-#import "SDLPRNDL.h"
-#import "SDLTireStatus.h"
-#import "SDLBeltStatus.h"
-#import "SDLBodyInformation.h"
-#import "SDLDeviceStatus.h"
-#import "SDLVehicleDataEventStatus.h"
-#import "SDLWiperStatus.h"
-#import "SDLHeadLampStatus.h"
-#import "SDLECallInfo.h"
-#import "SDLAirbagStatus.h"
-#import "SDLEmergencyEvent.h"
-#import "SDLClusterModeStatus.h"
-#import "SDLMyKey.h"
+@class SDLAirbagStatus;
+@class SDLBeltStatus;
+@class SDLBodyInformation;
+@class SDLClusterModeStatus;
+@class SDLComponentVolumeStatus;
+@class SDLDeviceStatus;
+@class SDLECallInfo;
+@class SDLEmergencyEvent;
+@class SDLGPSData;
+@class SDLHeadLampStatus;
+@class SDLMyKey;
+@class SDLPRNDL;
+@class SDLTireStatus;
+@class SDLVehicleDataEventStatus;
+@class SDLWiperStatus;
+
/**
* Request vehicle data.
@@ -32,14 +31,14 @@
/**
* @abstract Constructs a new SDLOnVehicleData object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLOnVehicleData object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A SDLGPSData* value. See GPSData.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.m
index 9c4280ebf..077c69eaf 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLOnVehicleData.m
@@ -1,19 +1,34 @@
// SDLOnVehicleData.m
//
-
#import "SDLOnVehicleData.h"
+#import "SDLAirbagStatus.h"
+#import "SDLBeltStatus.h"
+#import "SDLBodyInformation.h"
+#import "SDLClusterModeStatus.h"
+#import "SDLComponentVolumeStatus.h"
+#import "SDLDeviceStatus.h"
+#import "SDLECallInfo.h"
+#import "SDLEmergencyEvent.h"
+#import "SDLGPSData.h"
+#import "SDLHeadLampStatus.h"
+#import "SDLMyKey.h"
#import "SDLNames.h"
+#import "SDLPRNDL.h"
+#import "SDLTireStatus.h"
+#import "SDLVehicleDataEventStatus.h"
+#import "SDLWiperStatus.h"
+
@implementation SDLOnVehicleData
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_OnVehicleData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.h
index b307390d8..150a65b10 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.h
@@ -22,7 +22,7 @@
@abstract declare an array to store all possible SDLPRNDL values
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Parking
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.m
index c9b817ed1..3b9a3d533 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPRNDL.m
@@ -21,7 +21,7 @@ SDLPRNDL* SDLPRNDL_EIGHTH = nil;
SDLPRNDL* SDLPRNDL_UNKNOWN = nil;
SDLPRNDL* SDLPRNDL_FAULT = nil;
-NSMutableArray* SDLPRNDL_values = nil;
+NSArray* SDLPRNDL_values = nil;
@implementation SDLPRNDL
@@ -34,9 +34,9 @@ NSMutableArray* SDLPRNDL_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLPRNDL_values == nil) {
- SDLPRNDL_values = [[NSMutableArray alloc] initWithObjects:
+ SDLPRNDL_values = @[
SDLPRNDL.PARK,
SDLPRNDL.REVERSE,
SDLPRNDL.NEUTRAL,
@@ -53,7 +53,7 @@ NSMutableArray* SDLPRNDL_values = nil;
SDLPRNDL.EIGHTH,
SDLPRNDL.UNKNOWN,
SDLPRNDL.FAULT,
- nil];
+ ];
}
return SDLPRNDL_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.h
index b8e01fb38..cea3f09be 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.h
@@ -47,12 +47,12 @@
/**
*@abstract Constructs a newly allocated SDLParameterPermissions object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLParameterPermissions object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A set of all parameters that are permitted for this given RPC.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.m
index 635531193..1d313aceb 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLParameterPermissions.m
@@ -8,12 +8,12 @@
@implementation SDLParameterPermissions
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.h
index 77b69cf6d..e9db538f7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.h
@@ -1,13 +1,12 @@
// SDLPerformAudioPassThru.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLSamplingRate.h"
-#import "SDLBitsPerSample.h"
-#import "SDLAudioType.h"
+@class SDLSamplingRate;
+@class SDLBitsPerSample;
+@class SDLAudioType;
+
/**
* This will open an audio pass thru session. By doing so the app can receive
@@ -26,12 +25,12 @@
/**
* @abstract Constructs a new SDLPerformAudioPassThru object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLPerformAudioPassThru object indicated by the NSMutableDictionary
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract initial prompt which will be spoken before opening the audio pass
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.m
index 607b98d6e..3845287f6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThru.m
@@ -4,17 +4,21 @@
#import "SDLPerformAudioPassThru.h"
+#import "SDLAudioType.h"
+#import "SDLBitsPerSample.h"
#import "SDLNames.h"
+#import "SDLSamplingRate.h"
#import "SDLTTSChunk.h"
+
@implementation SDLPerformAudioPassThru
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_PerformAudioPassThru]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.h
index 865a7292c..dc7b56500 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.h
@@ -15,11 +15,11 @@
/**
* @abstract Constructs a new SDLPerformAudioPassThruResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLPerformAudioPassThruResponse object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.m
index 5648152be..e4edc35f1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformAudioPassThruResponse.m
@@ -8,12 +8,12 @@
@implementation SDLPerformAudioPassThruResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_PerformAudioPassThru]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.h
index 907dcc993..d2b7eaf0b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.h
@@ -5,8 +5,9 @@
#import "SDLRPCRequest.h"
-#import "SDLInteractionMode.h"
-#import "SDLLayoutMode.h"
+@class SDLInteractionMode;
+@class SDLLayoutMode;
+
/**
* Performs an application-initiated interaction in which the user can select a
@@ -28,12 +29,12 @@
/**
* @abstract Constructs a new SDLPerformInteraction object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLPerformInteraction object indicated by the NSMutableDictionary
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The Text that Displayed when the interaction begins. This text may
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.m
index 2a6848a21..42dd66d0d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteraction.m
@@ -5,17 +5,19 @@
#import "SDLPerformInteraction.h"
#import "SDLNames.h"
+#import "SDLInteractionMode.h"
+#import "SDLLayoutMode.h"
#import "SDLTTSChunk.h"
-#import "SDLVrHelpItem.h"
+#import "SDLVRHelpItem.h"
@implementation SDLPerformInteraction
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_PerformInteraction]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
@@ -146,12 +148,12 @@
-(NSMutableArray*) vrHelp {
NSMutableArray* array = [parameters objectForKey:NAMES_vrHelp];
- if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVrHelpItem.class]) {
+ if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVRHelpItem.class]) {
return array;
} else {
NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]];
for (NSDictionary* dict in array) {
- [newList addObject:[[SDLVrHelpItem alloc] initWithDictionary:(NSMutableDictionary*)dict]];
+ [newList addObject:[[SDLVRHelpItem alloc] initWithDictionary:(NSMutableDictionary*)dict]];
}
return newList;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.h
index f0435b235..a971d9c43 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.h
@@ -5,7 +5,8 @@
#import "SDLRPCResponse.h"
-#import "SDLTriggerSource.h"
+@class SDLTriggerSource;
+
/**
* PerformInteraction Response is sent, when SDLPerformInteraction has been called
@@ -17,12 +18,12 @@
/**
* @abstract Constructs a new SDLPerformInteractionResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLPerformInteractionResponse object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The application-scoped identifier that uniquely identifies this choice.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.m
index 919b25d78..9c0cdab56 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPerformInteractionResponse.m
@@ -5,15 +5,17 @@
#import "SDLPerformInteractionResponse.h"
#import "SDLNames.h"
+#import "SDLTriggerSource.h"
+
@implementation SDLPerformInteractionResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_PerformInteraction]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.h
index 1851a912c..4e3da6e4b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.h
@@ -1,17 +1,16 @@
// SDLPermissionItem.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLHMIPermissions.h"
-#import "SDLParameterPermissions.h"
+@class SDLHMIPermissions;
+@class SDLParameterPermissions;
+
@interface SDLPermissionItem : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSString* rpcName;
@property(strong) SDLHMIPermissions* hmiPermissions;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.m
index 37b777ebc..dfae14479 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionItem.m
@@ -1,19 +1,21 @@
// SDLPermissionItem.m
//
-
#import "SDLPermissionItem.h"
+#import "SDLHMIPermissions.h"
#import "SDLNames.h"
+#import "SDLParameterPermissions.h"
+
@implementation SDLPermissionItem
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.h
index e776fdfcd..8435141b2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.h
@@ -22,7 +22,7 @@
@abstract declare an array to store all possible SDLPermissionStatus values
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.m
index 8a7612104..532fac2f2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPermissionStatus.m
@@ -9,7 +9,7 @@ SDLPermissionStatus* SDLPermissionStatus_DISALLOWED = nil;
SDLPermissionStatus* SDLPermissionStatus_USER_DISALLOWED = nil;
SDLPermissionStatus* SDLPermissionStatus_USER_CONSENT_PENDING = nil;
-NSMutableArray* SDLPermissionStatus_values = nil;
+NSArray* SDLPermissionStatus_values = nil;
@implementation SDLPermissionStatus
@@ -22,14 +22,14 @@ NSMutableArray* SDLPermissionStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLPermissionStatus_values == nil) {
- SDLPermissionStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLPermissionStatus_values = @[
SDLPermissionStatus.ALLOWED,
SDLPermissionStatus.DISALLOWED,
SDLPermissionStatus.USER_DISALLOWED,
SDLPermissionStatus.USER_CONSENT_PENDING,
- nil];
+ ];
}
return SDLPermissionStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.h
index e50a3697b..fa1717915 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.h
@@ -8,7 +8,7 @@
@interface SDLPowerModeQualificationStatus : SDLEnum {}
+(SDLPowerModeQualificationStatus*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLPowerModeQualificationStatus*) POWER_MODE_UNDEFINED;
+(SDLPowerModeQualificationStatus*) POWER_MODE_EVALUATION_IN_PROGRESS;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.m
index 75b36bf33..afb3ff8a3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeQualificationStatus.m
@@ -9,7 +9,7 @@ SDLPowerModeQualificationStatus* SDLPowerModeQualificationStatus_POWER_MODE_EVAL
SDLPowerModeQualificationStatus* SDLPowerModeQualificationStatus_NOT_DEFINED = nil;
SDLPowerModeQualificationStatus* SDLPowerModeQualificationStatus_POWER_MODE_OK = nil;
-NSMutableArray* SDLPowerModeQualificationStatus_values = nil;
+NSArray* SDLPowerModeQualificationStatus_values = nil;
@implementation SDLPowerModeQualificationStatus
@@ -22,14 +22,14 @@ NSMutableArray* SDLPowerModeQualificationStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLPowerModeQualificationStatus_values == nil) {
- SDLPowerModeQualificationStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLPowerModeQualificationStatus_values = @[
SDLPowerModeQualificationStatus.POWER_MODE_UNDEFINED,
SDLPowerModeQualificationStatus.POWER_MODE_EVALUATION_IN_PROGRESS,
SDLPowerModeQualificationStatus.NOT_DEFINED,
SDLPowerModeQualificationStatus.POWER_MODE_OK,
- nil];
+ ];
}
return SDLPowerModeQualificationStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.h
index 00b889da2..0370cda33 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.h
@@ -8,7 +8,7 @@
@interface SDLPowerModeStatus : SDLEnum {}
+(SDLPowerModeStatus*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLPowerModeStatus*) KEY_OUT;
+(SDLPowerModeStatus*) KEY_RECENTLY_OUT;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.m
index 93548f801..698b1163b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPowerModeStatus.m
@@ -14,7 +14,7 @@ SDLPowerModeStatus* SDLPowerModeStatus_IGNITION_ON_2 = nil;
SDLPowerModeStatus* SDLPowerModeStatus_RUNNING_2 = nil;
SDLPowerModeStatus* SDLPowerModeStatus_CRANK_3 = nil;
-NSMutableArray* SDLPowerModeStatus_values = nil;
+NSArray* SDLPowerModeStatus_values = nil;
@implementation SDLPowerModeStatus
@@ -27,9 +27,9 @@ NSMutableArray* SDLPowerModeStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLPowerModeStatus_values == nil) {
- SDLPowerModeStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLPowerModeStatus_values = @[
SDLPowerModeStatus.KEY_OUT,
SDLPowerModeStatus.KEY_RECENTLY_OUT,
SDLPowerModeStatus.KEY_APPROVED_0,
@@ -39,7 +39,7 @@ NSMutableArray* SDLPowerModeStatus_values = nil;
SDLPowerModeStatus.IGNITION_ON_2,
SDLPowerModeStatus.RUNNING_2,
SDLPowerModeStatus.CRANK_3,
- nil];
+ ];
}
return SDLPowerModeStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.h
index ec750b643..80ada66c1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.h
@@ -8,7 +8,7 @@
@interface SDLPredefinedLayout : SDLEnum {}
+(SDLPredefinedLayout*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLPredefinedLayout*) DEFAULT;
+(SDLPredefinedLayout*) MEDIA;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.m
index 41f2dcb13..34ecbf217 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPredefinedLayout.m
@@ -25,7 +25,7 @@ SDLPredefinedLayout* SDLPredefinedLayout_LARGE_GRAPHIC_WITH_SOFTBUTTONS = nil;
SDLPredefinedLayout* SDLPredefinedLayout_DOUBLE_GRAPHIC_WITH_SOFTBUTTONS = nil;
SDLPredefinedLayout* SDLPredefinedLayout_LARGE_GRAPHIC_ONLY = nil;
-NSMutableArray* SDLPredefinedLayout_values = nil;
+NSArray* SDLPredefinedLayout_values = nil;
@implementation SDLPredefinedLayout
@@ -38,9 +38,9 @@ NSMutableArray* SDLPredefinedLayout_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLPredefinedLayout_values == nil) {
- SDLPredefinedLayout_values = [[NSMutableArray alloc] initWithObjects:
+ SDLPredefinedLayout_values = @[
SDLPredefinedLayout.DEFAULT,
SDLPredefinedLayout.MEDIA,
SDLPredefinedLayout.NON_MEDIA,
@@ -61,7 +61,7 @@ NSMutableArray* SDLPredefinedLayout_values = nil;
SDLPredefinedLayout.LARGE_GRAPHIC_WITH_SOFTBUTTONS,
SDLPredefinedLayout.DOUBLE_GRAPHIC_WITH_SOFTBUTTONS,
SDLPredefinedLayout.LARGE_GRAPHIC_ONLY,
- nil];
+ ];
}
return SDLPredefinedLayout_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.h
index fa184dd51..de53d0cc0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.h
@@ -8,7 +8,7 @@
@interface SDLPrerecordedSpeech : SDLEnum {}
+(SDLPrerecordedSpeech*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLPrerecordedSpeech*) HELP_JINGLE;
+(SDLPrerecordedSpeech*) INITIAL_JINGLE;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.m
index d2704a69a..f47e8efa5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrerecordedSpeech.m
@@ -10,7 +10,7 @@ SDLPrerecordedSpeech* SDLPrerecordedSpeech_LISTEN_JINGLE = nil;
SDLPrerecordedSpeech* SDLPrerecordedSpeech_POSITIVE_JINGLE = nil;
SDLPrerecordedSpeech* SDLPrerecordedSpeech_NEGATIVE_JINGLE = nil;
-NSMutableArray* SDLPrerecordedSpeech_values = nil;
+NSArray* SDLPrerecordedSpeech_values = nil;
@implementation SDLPrerecordedSpeech
@@ -23,15 +23,15 @@ NSMutableArray* SDLPrerecordedSpeech_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLPrerecordedSpeech_values == nil) {
- SDLPrerecordedSpeech_values = [[NSMutableArray alloc] initWithObjects:
+ SDLPrerecordedSpeech_values = @[
SDLPrerecordedSpeech.HELP_JINGLE,
SDLPrerecordedSpeech.INITIAL_JINGLE,
SDLPrerecordedSpeech.LISTEN_JINGLE,
SDLPrerecordedSpeech.POSITIVE_JINGLE,
SDLPrerecordedSpeech.NEGATIVE_JINGLE,
- nil];
+ ];
}
return SDLPrerecordedSpeech_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.h
index 939cc765c..a83a332a1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.h
@@ -30,12 +30,12 @@
/**
* @abstract Constructs a newly allocated SDLPresetBankCapabilities object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLPresetBankCapabilities object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract if Onscreen custom presets are available.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.m
index 899f5ce40..7a16e8b95 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPresetBankCapabilities.m
@@ -8,12 +8,12 @@
@implementation SDLPresetBankCapabilities
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.h
index ce3f637a2..8fe83dad6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.h
@@ -22,7 +22,7 @@
@abstract declare an array to store all possible SDLPrimaryAudioSource values
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Currently no source selected
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.m
index d070a7af7..f615afab8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrimaryAudioSource.m
@@ -12,7 +12,7 @@ SDLPrimaryAudioSource* SDLPrimaryAudioSource_LINE_IN = nil;
SDLPrimaryAudioSource* SDLPrimaryAudioSource_IPOD = nil;
SDLPrimaryAudioSource* SDLPrimaryAudioSource_MOBILE_APP = nil;
-NSMutableArray* SDLPrimaryAudioSource_values = nil;
+NSArray* SDLPrimaryAudioSource_values = nil;
@implementation SDLPrimaryAudioSource
@@ -25,9 +25,9 @@ NSMutableArray* SDLPrimaryAudioSource_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLPrimaryAudioSource_values == nil) {
- SDLPrimaryAudioSource_values = [[NSMutableArray alloc] initWithObjects:
+ SDLPrimaryAudioSource_values = @[
SDLPrimaryAudioSource.NO_SOURCE_SELECTED,
SDLPrimaryAudioSource.USB,
SDLPrimaryAudioSource.USB2,
@@ -35,7 +35,7 @@ NSMutableArray* SDLPrimaryAudioSource_values = nil;
SDLPrimaryAudioSource.LINE_IN,
SDLPrimaryAudioSource.IPOD,
SDLPrimaryAudioSource.MOBILE_APP,
- nil];
+ ];
}
return SDLPrimaryAudioSource_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.h
index b3f100e1e..90a7ddc15 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.h
@@ -7,7 +7,21 @@
@interface SDLPrioritizedObjectCollection : NSObject
+/**
+ * Add a new object to a push-pop collection. The object will be added in a location based on the priority passed in.
+ *
+ * A lower priority number is considered to be "higher". This is because this class is generally used with RPC service numbers, and lower services preempt higher ones.
+ *
+ * @param object The object to be added to the priority collection
+ * @param priority The priority to use when determining the location of the object in the collection. A lower number is considered a higher priority
+ */
- (void)addObject:(id)object withPriority:(NSInteger)priority;
+
+/**
+ * Retreive the highest priority object from the collection. This also removes the object.
+ *
+ * @return The highest priority object retrieved from the collection.
+ */
- (id)nextObject;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.m
index f9398fd52..e93c4a396 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPrioritizedObjectCollection.m
@@ -5,7 +5,7 @@
#import "SDLPrioritizedObjectCollection.h"
#import "SDLObjectWithPriority.h"
-#import "SDLDebugTool.h"//fortesting
+
@interface SDLPrioritizedObjectCollection ()
{
@@ -31,9 +31,7 @@
return;
}
- SDLObjectWithPriority *newWrapper = [SDLObjectWithPriority new];
- newWrapper.object = object;
- newWrapper.priority = priority;
+ SDLObjectWithPriority *newWrapper = [SDLObjectWithPriority objectWithObject:object priority:priority];
@synchronized(privateArray)
{
@@ -57,7 +55,7 @@
}
-- (id)nextObject
+- (instancetype)nextObject
{
if (privateArray.count == 0) {
return nil;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m
index 382632598..4e4a694c7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocol.m
@@ -1,4 +1,4 @@
-// SDLSmartDeviceLinkProtocol.m
+// SDLProtocol.m
//
@@ -8,9 +8,10 @@
#import "SDLRPCRequest.h"
#import "SDLProtocol.h"
#import "SDLProtocolHeader.h"
+#import "SDLProtocolMessage.h"
#import "SDLV2ProtocolHeader.h"
#import "SDLProtocolMessageDisassembler.h"
-#import "SDLProtocolRecievedMessageRouter.h"
+#import "SDLProtocolReceivedMessageRouter.h"
#import "SDLRPCPayload.h"
#import "SDLDebugTool.h"
#import "SDLPrioritizedObjectCollection.h"
@@ -21,7 +22,7 @@ const UInt8 MAX_VERSION_TO_SEND = 3;
@interface SDLProtocol () {
UInt32 _messageID;
- dispatch_queue_t _recieveQueue;
+ dispatch_queue_t _receiveQueue;
dispatch_queue_t _sendQueue;
SDLPrioritizedObjectCollection *prioritizedCollection;
}
@@ -29,8 +30,8 @@ const UInt8 MAX_VERSION_TO_SEND = 3;
@property (assign) UInt8 version;
@property (assign) UInt8 maxVersionSupportedByHeadUnit;
@property (assign) UInt8 sessionID;
-@property (strong) NSMutableData *recieveBuffer;
-@property (strong) SDLProtocolRecievedMessageRouter *messageRouter;
+@property (strong) NSMutableData *receiveBuffer;
+@property (strong) SDLProtocolReceivedMessageRouter *messageRouter;
- (void)sendDataToTransport:(NSData *)data withPriority:(NSInteger)priority;
- (void)logRPCSend:(SDLProtocolMessage *)message;
@@ -40,16 +41,16 @@ const UInt8 MAX_VERSION_TO_SEND = 3;
@implementation SDLProtocol
-- (id)init {
+- (instancetype)init {
if (self = [super init]) {
_version = 1;
_messageID = 0;
_sessionID = 0;
- _recieveQueue = dispatch_queue_create("com.sdl.recieve", DISPATCH_QUEUE_SERIAL);
+ _receiveQueue = dispatch_queue_create("com.sdl.receive", DISPATCH_QUEUE_SERIAL);
_sendQueue = dispatch_queue_create("com.sdl.send.defaultpriority", DISPATCH_QUEUE_SERIAL);
prioritizedCollection = [SDLPrioritizedObjectCollection new];
- self.messageRouter = [[SDLProtocolRecievedMessageRouter alloc] init];
+ self.messageRouter = [[SDLProtocolReceivedMessageRouter alloc] init];
self.messageRouter.delegate = self;
}
return self;
@@ -73,7 +74,7 @@ const UInt8 MAX_VERSION_TO_SEND = 3;
SDLProtocolHeader *header = [SDLProtocolHeader headerForVersion:self.version];
header.frameType = SDLFrameType_Control;
header.serviceType = serviceType;
- header.frameData = SDLFrameData_StartSession;
+ header.frameData = SDLFrameData_EndSession;
header.sessionID = self.sessionID;
SDLProtocolMessage *message = [SDLProtocolMessage messageWithHeader:header andPayload:nil];
@@ -168,21 +169,21 @@ const UInt8 MAX_VERSION_TO_SEND = 3;
}
//
-// Turn recieved bytes into message objects.
+// Turn received bytes into message objects.
//
-- (void)handleBytesFromTransport:(NSData *)recievedData {
+- (void)handleBytesFromTransport:(NSData *)receivedData {
NSMutableString *logMessage = [[NSMutableString alloc]init];//
- [logMessage appendFormat:@"Received: %ld", (long)recievedData.length];
+ [logMessage appendFormat:@"Received: %ld", (long)receivedData.length];
- // Initialize the recieve buffer which will contain bytes while messages are constructed.
- if (self.recieveBuffer == nil) {
- self.recieveBuffer = [NSMutableData dataWithCapacity:(4 * MAX_TRANSMISSION_SIZE)];
+ // Initialize the receive buffer which will contain bytes while messages are constructed.
+ if (self.receiveBuffer == nil) {
+ self.receiveBuffer = [NSMutableData dataWithCapacity:(4 * MAX_TRANSMISSION_SIZE)];
}
// Save the data
- [self.recieveBuffer appendData:recievedData];
- [logMessage appendFormat:@"(%ld) ", (long)self.recieveBuffer.length];
+ [self.receiveBuffer appendData:receivedData];
+ [logMessage appendFormat:@"(%ld) ", (long)self.receiveBuffer.length];
[self processMessages];
}
@@ -191,13 +192,13 @@ const UInt8 MAX_VERSION_TO_SEND = 3;
NSMutableString *logMessage = [[NSMutableString alloc]init];
// Get the version
- UInt8 incomingVersion = [SDLProtocolMessage determineVersion:self.recieveBuffer];
+ UInt8 incomingVersion = [SDLProtocolMessage determineVersion:self.receiveBuffer];
// If we have enough bytes, create the header.
SDLProtocolHeader* header = [SDLProtocolHeader headerForVersion:incomingVersion];
NSUInteger headerSize = header.size;
- if (self.recieveBuffer.length >= headerSize) {
- [header parse:self.recieveBuffer];
+ if (self.receiveBuffer.length >= headerSize) {
+ [header parse:self.receiveBuffer];
} else {
// Need to wait for more bytes.
[logMessage appendString:@"header incomplete, waiting for more bytes."];
@@ -209,30 +210,30 @@ const UInt8 MAX_VERSION_TO_SEND = 3;
SDLProtocolMessage *message = nil;
NSUInteger payloadSize = header.bytesInPayload;
NSUInteger messageSize = headerSize + payloadSize;
- if (self.recieveBuffer.length >= messageSize) {
+ if (self.receiveBuffer.length >= messageSize) {
NSUInteger payloadOffset = headerSize;
NSUInteger payloadLength = payloadSize;
- NSData *payload = [self.recieveBuffer subdataWithRange:NSMakeRange(payloadOffset, payloadLength)];
+ NSData *payload = [self.receiveBuffer subdataWithRange:NSMakeRange(payloadOffset, payloadLength)];
message = [SDLProtocolMessage messageWithHeader:header andPayload:payload];
[logMessage appendFormat:@"message complete. %@", message];
[SDLDebugTool logInfo:logMessage withType:SDLDebugType_Protocol toOutput:SDLDebugOutput_File|SDLDebugOutput_DeviceConsole toGroup:self.debugConsoleGroupName];
} else {
// Need to wait for more bytes.
- [logMessage appendFormat:@"header complete. message incomplete, waiting for %ld more bytes. Header:%@", (long)(messageSize - self.recieveBuffer.length), header];
+ [logMessage appendFormat:@"header complete. message incomplete, waiting for %ld more bytes. Header:%@", (long)(messageSize - self.receiveBuffer.length), header];
[SDLDebugTool logInfo:logMessage withType:SDLDebugType_Protocol toOutput:SDLDebugOutput_File|SDLDebugOutput_DeviceConsole toGroup:self.debugConsoleGroupName];
return;
}
- // Need to maintain the recieveBuffer, remove the bytes from it which we just processed.
- self.recieveBuffer = [[self.recieveBuffer subdataWithRange:NSMakeRange(messageSize, self.recieveBuffer.length - messageSize)] mutableCopy];
+ // Need to maintain the receiveBuffer, remove the bytes from it which we just processed.
+ self.receiveBuffer = [[self.receiveBuffer subdataWithRange:NSMakeRange(messageSize, self.receiveBuffer.length - messageSize)] mutableCopy];
// Pass on ultimate disposition of the message to the message router.
- dispatch_async(_recieveQueue, ^{
- [self.messageRouter handleRecievedMessage:message];
+ dispatch_async(_receiveQueue, ^{
+ [self.messageRouter handleReceivedMessage:message];
});
// Call recursively until the buffer is empty or incomplete message is encountered
- if (self.recieveBuffer.length > 0)
+ if (self.receiveBuffer.length > 0)
[self processMessages];
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.h
index a2ac1ae9e..9895a9b73 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.h
@@ -1,7 +1,6 @@
-// SDLSmartDeviceLinkProtocolHeader.h
+// SDLProtocolHeader.h
//
-
@import Foundation;
@@ -43,8 +42,8 @@ typedef NS_ENUM(UInt8, SDLFrameData) {
@property (assign) UInt8 sessionID;
@property (assign) UInt32 bytesInPayload;
-- (id)init;
-- (id)copyWithZone:(NSZone *)zone;
+- (instancetype)init;
+- (instancetype)copyWithZone:(NSZone *)zone;
- (NSData *)data;
- (void)parse:(NSData *)data;
- (NSString *)description;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m
index fae9f51aa..cc6b1997c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolHeader.m
@@ -1,4 +1,4 @@
-// SDLSmartDeviceLinkProtocolHeader.m
+// SDLProtocolHeader.m
//
@@ -11,7 +11,7 @@
@synthesize version = _version;
@synthesize size = _size;
-- (id)init {
+- (instancetype)init {
if (self = [super init]) {
_version = 0;
_size = 0;
@@ -19,7 +19,7 @@
return self;
}
-- (id)copyWithZone:(NSZone *)zone {
+- (instancetype)copyWithZone:(NSZone *)zone {
[self doesNotRecognizeSelector:_cmd];
return 0;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolListener.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolListener.h
index b234cdb7b..10b9cd89e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolListener.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolListener.h
@@ -1,13 +1,12 @@
// SDLProtocolListener.h
//
-
-
-
#import "SDLProtocolHeader.h"
+
@class SDLProtocolMessage;
-@protocol SDLProtocolListener
+
+@protocol SDLProtocolListener <NSObject>
- (void)handleProtocolSessionStarted:(SDLServiceType)serviceType sessionID:(Byte)sessionID version:(Byte)version;
- (void)onProtocolMessageReceived:(SDLProtocolMessage *)msg;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.h
index e9c2bae7f..54859c7c8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.h
@@ -1,8 +1,8 @@
// SDLSmartDeviceLinkProtocolMessage.h
//
-
-#import "SDLProtocolHeader.h"
+@import Foundation;
+@class SDLProtocolHeader;
@interface SDLProtocolMessage : NSObject
@@ -11,7 +11,7 @@
@property (strong) NSData *payload;
@property (strong, readonly) NSData *data;
-- (id)init;
+- (instancetype)init;
+ (id)messageWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload; // Returns a V1 or V2 object
- (NSUInteger)size;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.m
index 0ad1a240f..a64255f27 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessage.m
@@ -2,6 +2,7 @@
//
+#import "SDLProtocolHeader.h"
#import "SDLProtocolMessage.h"
#import "SDLV1ProtocolMessage.h"
#import "SDLV2ProtocolMessage.h"
@@ -25,7 +26,7 @@
return version;
}
-- (id)init {
+- (instancetype)init {
if (self = [super init]) {
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.h
index 1a19c1088..427d18b5f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.h
@@ -1,9 +1,10 @@
// SDLSmartDeviceLinkProtocolMessageAssembler.h
//
+@import Foundation;
+@class SDLProtocolMessage;
-#import "SDLProtocolMessage.h"
typedef void(^SDLMessageAssemblyCompletionHandler)(BOOL done, SDLProtocolMessage *assembledMessage);
@@ -15,7 +16,7 @@ typedef void(^SDLMessageAssemblyCompletionHandler)(BOOL done, SDLProtocolMessage
@property (assign) UInt32 expectedBytes;
@property (strong) NSMutableDictionary *parts;
-- (id)initWithSessionID:(UInt8)sessionID;
+- (instancetype)initWithSessionID:(UInt8)sessionID;
- (void)handleMessage:(SDLProtocolMessage *)message withCompletionHandler:(SDLMessageAssemblyCompletionHandler)completionHandler;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.m
index fb2077909..38d9edf85 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageAssembler.m
@@ -1,13 +1,14 @@
// SDLSmartDeviceLinkProtocolMessageAssembler.m
//
-
#import "SDLProtocolMessageAssembler.h"
+
#import "SDLProtocolHeader.h"
+#import "SDLProtocolMessage.h"
@implementation SDLProtocolMessageAssembler
-- (id)initWithSessionID:(UInt8)sessionID {
+- (instancetype)initWithSessionID:(UInt8)sessionID {
if (self = [super init]) {
_sessionID = sessionID;
}
@@ -83,13 +84,12 @@
// Done with this data, release it.
self.parts = nil;
+ } else {
+ // Not done, let caller know
+ if (completionHandler != nil) {
+ completionHandler(NO, nil);
+ }
}
-
- // Not done, let caller know
- if (completionHandler != nil) {
- completionHandler(NO, nil);
- }
-
}
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.h
index 853eaffbf..b510aa428 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.h
@@ -1,9 +1,10 @@
// SDLSmartDeviceLinkProtocolMessageDisassembler.h
//
+@import Foundation;
+@class SDLProtocolMessage;
-#import "SDLProtocolMessage.h"
@interface SDLProtocolMessageDisassembler : NSObject
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.m
index dff0d66c6..eeea90054 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolMessageDisassembler.m
@@ -1,9 +1,11 @@
// SDLProtocolMessageDisassembler.m
//
-
+#import "SDLProtocolHeader.h"
+#import "SDLProtocolMessage.h"
#import "SDLProtocolMessageDisassembler.h"
+
@implementation SDLProtocolMessageDisassembler
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolReceivedMessageRouter.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolReceivedMessageRouter.h
new file mode 100644
index 000000000..deb33722e
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolReceivedMessageRouter.h
@@ -0,0 +1,16 @@
+// SDLProtocolReceivedMessageRouter.h
+//
+
+
+
+#import "SDLProtocolListener.h"
+@class SDLProtocolMessage;
+
+
+@interface SDLProtocolReceivedMessageRouter : NSObject
+
+@property (weak) id<SDLProtocolListener> delegate;
+
+- (void)handleReceivedMessage:(SDLProtocolMessage *)message;
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolReceivedMessageRouter.m
index 2d00f4919..e064c8f82 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolReceivedMessageRouter.m
@@ -1,18 +1,18 @@
-// SDLProtocolRecievedMessageRouter.m
+// SDLProtocolReceivedMessageRouter.m
//
//
-// This class gets handed the SDLProtocol messages as they are recieved
+// This class gets handed the SDLProtocol messages as they are received
// and decides what happens to them and where they are sent on to.
-#import "SDLProtocolRecievedMessageRouter.h"
+#import "SDLProtocolReceivedMessageRouter.h"
#import "SDLProtocolMessage.h"
#import "SDLProtocolMessageAssembler.h"
#import "SDLDebugTool.h"
-@interface SDLProtocolRecievedMessageRouter ()
+@interface SDLProtocolReceivedMessageRouter ()
@property (strong) NSMutableDictionary *messageAssemblers;
@@ -23,16 +23,16 @@
@end
-@implementation SDLProtocolRecievedMessageRouter
+@implementation SDLProtocolReceivedMessageRouter
-- (id)init {
+- (instancetype)init {
if (self = [super init]) {
self.messageAssemblers = [NSMutableDictionary dictionaryWithCapacity:2];
}
return self;
}
-- (void)handleRecievedMessage:(SDLProtocolMessage *)message {
+- (void)handleReceivedMessage:(SDLProtocolMessage *)message {
SDLFrameType frameType = message.header.frameType;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.h
deleted file mode 100644
index ba71a2286..000000000
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProtocolRecievedMessageRouter.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// SDLProtocolRecievedMessageRouter.h
-//
-
-
-
-#import "SDLProtocolListener.h"
-@class SDLProtocolMessage;
-
-
-@interface SDLProtocolRecievedMessageRouter : NSObject
-
-@property (weak) id<SDLProtocolListener> delegate;
-
-- (void)handleRecievedMessage:(SDLProtocolMessage *)message;
-
-@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.h
index 10985f467..3193a5d0f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.h
@@ -1,14 +1,17 @@
// SDLProxy.h
//
-// Version: ##Version##
+@class SDLProtocol;
+@class SDLPutFile;
+@class SDLRPCMessage;
+@class SDLRPCRequestFactory;
-
-#import "SDLProtocol.h"
+#import "SDLInterfaceProtocol.h"
+#import "SDLProtocolListener.h"
#import "SDLProxyListener.h"
-#import "SDLRPCRequestFactory.h"
#import "SDLTransport.h"
+
@interface SDLProxy : NSObject<SDLProtocolListener, NSStreamDelegate> {
Byte _version;
Byte rpcSessionID;
@@ -24,7 +27,7 @@
@property (strong) NSTimer* handshakeTimer;
@property (strong) NSString *debugConsoleGroupName;
--(id) initWithTransport:(NSObject<SDLTransport>*) transport protocol:(NSObject<SDLInterfaceProtocol>*) protocol delegate:(NSObject<SDLProxyListener>*) delegate;
+-(instancetype) initWithTransport:(NSObject<SDLTransport>*) transport protocol:(NSObject<SDLInterfaceProtocol>*) protocol delegate:(NSObject<SDLProxyListener>*) delegate;
-(void) dispose;
-(void) addDelegate:(NSObject<SDLProxyListener>*) delegate;
@@ -51,7 +54,7 @@
* @param inputStream A stream containing the data to put to the module.
* @param putFileRPCRequest A SDLPutFile object containing the parameters for the put(s)
* @discussion The proxy will read from the stream up to 1024 bytes at a time and send them in individual putFile requests.
- * This may result in multiple responses being recieved, one for each request.
+ * This may result in multiple responses being received, one for each request.
* Note: the length parameter of the putFileRPCRequest will be ignored. The proxy will substitute the number of bytes read from the stream.
*/
- (void)putFileStream:(NSInputStream*)inputStream withRequest:(SDLPutFile*)putFileRPCRequest;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m
index 2ed74f0b0..f03b58f46 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxy.m
@@ -1,23 +1,31 @@
// SDLProxy.m
//
+#import "SDLProxy.h"
-
-#import <ExternalAccessory/ExternalAccessory.h>
+@import ExternalAccessory;
#import <objc/runtime.h>
#import "SDLDebugTool.h"
#import "SDLEncodedSyncPData.h"
+#import "SDLFileType.h"
#import "SDLFunctionID.h"
+#import "SDLHMILevel.h"
#import "SDLJsonDecoder.h"
#import "SDLJsonEncoder.h"
#import "SDLLanguage.h"
+#import "SDLLayoutMode.h"
+#import "SDLLockScreenManager.h"
#import "SDLNames.h"
+#import "SDLOnSystemRequest.h"
+#import "SDLPolicyDataParser.h"
+#import "SDLProtocol.h"
+#import "SDLProtocolMessage.h"
+#import "SDLPutFile.h"
+#import "SDLRequestType.h"
+#import "SDLRPCPayload.h"
+#import "SDLRPCRequestFactory.h"
#import "SDLSiphonServer.h"
-#import "SDLProxy.h"
#import "SDLSystemRequest.h"
-#import "SDLRPCPayload.h"
-#import "SDLPolicyDataParser.h"
-#import "SDLLockScreenManager.h"
#define VERSION_STRING @"SmartDeviceLink-20140929-090241-LOCAL-iOS"
@@ -47,7 +55,7 @@ const int POLICIES_CORRELATION_ID = 65535;
#pragma mark - Object lifecycle
-- (id)initWithTransport:(NSObject<SDLTransport> *)theTransport protocol:(NSObject<SDLInterfaceProtocol> *)theProtocol delegate:(NSObject<SDLProxyListener> *)theDelegate {
+- (instancetype)initWithTransport:(NSObject<SDLTransport> *)theTransport protocol:(NSObject<SDLInterfaceProtocol> *)theProtocol delegate:(NSObject<SDLProxyListener> *)theDelegate {
if (self = [super init]) {
_debugConsoleGroupName = @"default";
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.h
index a75aac8e3..2ee4bf6a7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.h
@@ -1,9 +1,12 @@
// SDLSyncProxyFactory.h
//
+@import Foundation;
+#import "SDLProxyListener.h"
+
+@class SDLProxy;
-#import "SDLProxy.h"
@interface SDLProxyFactory : NSObject {}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.m
index b35326011..462225f2c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyFactory.m
@@ -1,13 +1,14 @@
// SDLSyncProxyFactory.m
//
-
#import "SDLProxyFactory.h"
#import "SDLDebugTool.h"
#import "SDLIAPTransport.h"
#import "SDLTCPTransport.h"
#import "SDLProtocol.h"
+#import "SDLProxy.h"
+
@implementation SDLProxyFactory
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyListener.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyListener.h
index 3bf83077e..e41d9fdc8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyListener.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLProxyListener.h
@@ -1,66 +1,64 @@
// SDLProxyListener.h
//
+@class SDLAddCommandResponse;
+@class SDLAddSubMenuResponse;
+@class SDLAlertResponse;
+@class SDLChangeRegistrationResponse;
+@class SDLCreateInteractionChoiceSetResponse;
+@class SDLDeleteCommandResponse;
+@class SDLDeleteFileResponse;
+@class SDLDeleteInteractionChoiceSetResponse;
+@class SDLDeleteSubMenuResponse;
+@class SDLDiagnosticMessageResponse;
+@class SDLEncodedSyncPDataResponse;
+@class SDLEndAudioPassThruResponse;
+@class SDLGenericResponse;
+@class SDLGetDTCsResponse;
+@class SDLGetVehicleDataResponse;
+@class SDLListFilesResponse;
+@class SDLLockScreenStatus;
+@class SDLOnAppInterfaceUnregistered;
+@class SDLOnAudioPassThru;
+@class SDLOnButtonEvent;
+@class SDLOnButtonPress;
+@class SDLOnCommand;
+@class SDLOnDriverDistraction;
+@class SDLOnEncodedSyncPData;
+@class SDLOnHashChange;
+@class SDLOnHMIStatus;
+@class SDLOnLanguageChange;
+@class SDLOnPermissionsChange;
+@class SDLOnSyncPData;
+@class SDLOnSystemRequest;
+@class SDLOnVehicleData;
+@class SDLOnTBTClientState;
+@class SDLOnTouchEvent;
+@class SDLOnVehicleData;
+@class SDLPerformAudioPassThruResponse;
+@class SDLPerformInteractionResponse;
+@class SDLPutFileResponse;
+@class SDLReadDIDResponse;
+@class SDLRegisterAppInterfaceResponse;
+@class SDLResetGlobalPropertiesResponse;
+@class SDLScrollableMessageResponse;
+@class SDLSetAppIconResponse;
+@class SDLSetDisplayLayoutResponse;
+@class SDLSetGlobalPropertiesResponse;
+@class SDLSetMediaClockTimerResponse;
+@class SDLShowConstantTBTResponse;
+@class SDLShowResponse;
+@class SDLSliderResponse;
+@class SDLSpeakResponse;
+@class SDLSubscribeButtonResponse;
+@class SDLSubscribeVehicleDataResponse;
+@class SDLSyncPDataResponse;
+@class SDLUpdateTurnListResponse;
+@class SDLUnregisterAppInterfaceResponse;
+@class SDLUnsubscribeButtonResponse;
+@class SDLUnsubscribeVehicleDataResponse;
-
-#import "SDLAddCommandResponse.h"
-#import "SDLAddSubMenuResponse.h"
-#import "SDLAlertResponse.h"
-#import "SDLChangeRegistrationResponse.h"
-#import "SDLCreateInteractionChoiceSetResponse.h"
-#import "SDLDeleteCommandResponse.h"
-#import "SDLDeleteFileResponse.h"
-#import "SDLDeleteInteractionChoiceSetResponse.h"
-#import "SDLDeleteSubMenuResponse.h"
-#import "SDLDiagnosticMessageResponse.h"
-#import "SDLEncodedSyncPDataResponse.h"
-#import "SDLEndAudioPassThruResponse.h"
-#import "SDLGenericResponse.h"
-#import "SDLGetDTCsResponse.h"
-#import "SDLGetVehicleDataResponse.h"
-#import "SDLListFilesResponse.h"
-#import "SDLLockScreenStatus.h"
-#import "SDLOnAppInterfaceUnregistered.h"
-#import "SDLOnAudioPassThru.h"
-#import "SDLOnButtonEvent.h"
-#import "SDLOnButtonPress.h"
-#import "SDLOnCommand.h"
-#import "SDLOnDriverDistraction.h"
-#import "SDLOnEncodedSyncPData.h"
-#import "SDLOnHashChange.h"
-#import "SDLOnHMIStatus.h"
-#import "SDLOnLanguageChange.h"
-#import "SDLOnPermissionsChange.h"
-#import "SDLOnSyncPData.h"
-#import "SDLOnSystemRequest.h"
-#import "SDLOnVehicleData.h"
-#import "SDLOnTBTClientState.h"
-#import "SDLOnTouchEvent.h"
-#import "SDLOnVehicleData.h"
-#import "SDLPerformAudioPassThruResponse.h"
-#import "SDLPerformInteractionResponse.h"
-#import "SDLPutFileResponse.h"
-#import "SDLReadDIDResponse.h"
-#import "SDLRegisterAppInterfaceResponse.h"
-#import "SDLResetGlobalPropertiesResponse.h"
-#import "SDLScrollableMessageResponse.h"
-#import "SDLSetAppIconResponse.h"
-#import "SDLSetDisplayLayoutResponse.h"
-#import "SDLSetGlobalPropertiesResponse.h"
-#import "SDLSetMediaClockTimerResponse.h"
-#import "SDLShowConstantTBTResponse.h"
-#import "SDLShowResponse.h"
-#import "SDLSliderResponse.h"
-#import "SDLSpeakResponse.h"
-#import "SDLSubscribeButtonResponse.h"
-#import "SDLSubscribeVehicleDataResponse.h"
-#import "SDLSyncPDataResponse.h"
-#import "SDLUpdateTurnListResponse.h"
-#import "SDLUnregisterAppInterfaceResponse.h"
-#import "SDLUnsubscribeButtonResponse.h"
-#import "SDLUnsubscribeVehicleDataResponse.h"
-
-@protocol SDLProxyListener
+@protocol SDLProxyListener <NSObject>
-(void) onOnDriverDistraction:(SDLOnDriverDistraction*) notification;
-(void) onOnHMIStatus:(SDLOnHMIStatus*) notification;
@@ -79,7 +77,7 @@
-(void) onDeleteInteractionChoiceSetResponse:(SDLDeleteInteractionChoiceSetResponse*) response;
-(void) onDeleteSubMenuResponse:(SDLDeleteSubMenuResponse*) response;
-(void) onDiagnosticMessageResponse:(SDLDiagnosticMessageResponse*) response;
--(void) onEncodedSyncPDataRespons:(SDLEncodedSyncPDataResponse*) response;
+-(void) onEncodedSyncPDataResponse:(SDLEncodedSyncPDataResponse*) response;
-(void) onEndAudioPassThruResponse:(SDLEndAudioPassThruResponse*) response;
-(void) onError:(NSException*) e;
-(void) onGenericResponse:(SDLGenericResponse*) response;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.h
index 4e6862812..ceff9f87f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.h
@@ -1,62 +1,79 @@
// SDLPutFile.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLFileType.h"
+@class SDLFileType;
/**
- * @abstract Used to push a binary data onto the SDL module from a mobile device, such as
+ * Used to push a binary data onto the SDL module from a mobile device, such as
* icons and album art
- * <p>
*
- * Since SmartDeviceLink 2.0<br/>
- * See DeleteFile ListFiles
+ * Since SmartDeviceLink 2.0
+ * @see SDLDeleteFile
+ * @see SDLListFiles
*/
@interface SDLPutFile : SDLRPCRequest {}
+
/**
- * @abstract Constructs a new SDLPutFile object
+ * Constructs a new SDLPutFile object
*/
--(id) init;
+-(instancetype) init;
+
/**
- * @abstract Constructs a new SDLPutFile object indicated by the NSMutableDictionary parameter
+ * Constructs a new SDLPutFile object indicated by the NSMutableDictionary parameter
+ *
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
+
/**
- * @abstract A file reference name
- * <br/><b>Notes: </b>Maxlength=500
+ * A file reference name
+ *
+ * Required, maxlength 255 characters
*/
@property(strong) NSString* syncFileName;
+
/**
- * @abstract A FileType value representing a selected file type
+ * A FileType value representing a selected file type
+ *
+ * Required
*/
@property(strong) SDLFileType* fileType;
+
/**
- * @abstract A value to indicates if the file is meant to persist between
+ * A value to indicates if the file is meant to persist between
* sessions / ignition cycles. If set to TRUE, then the system will aim to
* persist this file through session / cycles. While files with this
* designation will have priority over others, they are subject to deletion
* by the system at any time. In the event of automatic deletion by the
* system, the app will receive a rejection and have to resend the file. If
* omitted, the value will be set to false
+ *
+ * Boolean, Optional, default = NO
*/
@property(strong) NSNumber* persistentFile;
+
/**
- * @abstract Indicates if the file is meant to be passed thru core to elsewhere on the system.
- If set to TRUE, then the system will instead pass the data thru as it arrives to a predetermined area outside of core.
- If omitted, the value will be set to false.
+ * Indicates if the file is meant to be passed through core to elsewhere on the system. If set to TRUE, then the system will instead pass the data thru as it arrives to a predetermined area outside of core.
+ *
+ * Boolean, Optional, default = NO
*/
@property(strong) NSNumber* systemFile;
+
/**
- * @abstract Optional offset in bytes for resuming partial data chunks.
+ * Offset in bytes for resuming partial data chunks.
+ *
+ * Integer, Optional, 0 - 100,000,000,000
*/
@property(strong) NSNumber* offset;
+
/**
- * @abstract Optional length in bytes for resuming partial data chunks
+ * Length in bytes for resuming partial data chunks. If offset is set to 0, then length is the total length of the file to be downloaded
+ *
+ * Integer, Optional, 0 - 100,000,000,000
*/
@property(strong) NSNumber* length;
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.m
index 9866c772e..2813a2d34 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFile.m
@@ -1,19 +1,20 @@
// SDLPutFile.m
//
-
#import "SDLPutFile.h"
+#import "SDLFileType.h"
#import "SDLNames.h"
+
@implementation SDLPutFile
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_PutFile]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.h
index c6258334e..c35931905 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.h
@@ -14,11 +14,11 @@
/**
* @abstract Constructs a new SDLPutFileResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLPutFileResponse object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* spaceAvailable;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.m
index 0805058d6..aee753837 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLPutFileResponse.m
@@ -8,12 +8,12 @@
@implementation SDLPutFileResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_PutFile]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.h
index e51c3fe16..7fdfaf699 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.h
@@ -1,20 +1,9 @@
// SDLRPCMessage.h
//
-
-
#import "SDLEnum.h"
-@interface SDLRPCStruct : NSObject {
- NSMutableDictionary* store;
-}
-
--(id) initWithDictionary:(NSMutableDictionary*) dict;
--(id) init;
-
--(NSMutableDictionary*) serializeAsDictionary:(Byte) version;
-
-@end
+#import "SDLRPCStruct.h"
@interface SDLRPCMessage : SDLRPCStruct {
NSMutableDictionary* function;
@@ -22,8 +11,8 @@
NSString* messageType;
}
--(id) initWithName:(NSString*) name;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithName:(NSString*) name;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
-(NSString*) getFunctionName;
-(void) setFunctionName:(NSString*) functionName;
-(NSObject*) getParameters:(NSString*) functionName;
@@ -33,4 +22,4 @@
@property(strong, readonly) NSString* name;
@property(strong, readonly) NSString* messageType;
-@end \ No newline at end of file
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m
index 20a09cd8d..8b58c5718 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessage.m
@@ -5,87 +5,13 @@
#import "SDLRPCMessage.h"
#import "SDLNames.h"
-
-@implementation SDLRPCStruct
-
--(id) initWithDictionary:(NSMutableDictionary*) dict {
- if (self = [super init]) {
- store = dict;
- }
- return self;
-}
-
--(id) init {
- if (self = [super init]) {
- store = [[NSMutableDictionary alloc] init];
- }
- return self;
-}
-
--(NSMutableDictionary*) serializeDictionary:(NSDictionary*) dict version:(Byte) version {
-
- NSMutableDictionary* ret = [NSMutableDictionary dictionaryWithCapacity:dict.count];
- for (NSString* key in [dict keyEnumerator]) {
- NSObject* value = [dict objectForKey:key];
- if ([value isKindOfClass:SDLRPCStruct.class]) {
- [ret setObject:[(SDLRPCStruct*)value serializeAsDictionary:version] forKey:key];
- } else if ([value isKindOfClass:NSDictionary.class]) {
- [ret setObject:[self serializeDictionary:(NSDictionary*)value version:version] forKey:key];
- } else if ([value isKindOfClass:NSArray.class]) {
- NSArray* arrayVal = (NSArray*) value;
-
- if (arrayVal.count > 0
- && ([[arrayVal objectAtIndex:0] isKindOfClass:SDLRPCStruct.class])) {
- NSMutableArray* serializedList = [NSMutableArray arrayWithCapacity:arrayVal.count];
- for (SDLRPCStruct* serializeable in arrayVal) {
- [serializedList addObject:[serializeable serializeAsDictionary:version]];
- }
- [ret setObject:serializedList forKey:key];
- } else if (arrayVal.count > 0
- && ([[arrayVal objectAtIndex:0] isKindOfClass:SDLEnum.class])) {
- NSMutableArray* serializedList = [NSMutableArray arrayWithCapacity:arrayVal.count];
- for (SDLEnum* anEnum in arrayVal) {
- [serializedList addObject:anEnum.value];
- }
- [ret setObject:serializedList forKey:key];
- } else {
- [ret setObject:value forKey:key];
- }
- } else if ([value isKindOfClass:SDLEnum.class]) {
- [ret setObject:((SDLEnum*)value).value forKey:key];
- } else {
- [ret setObject:value forKey:key];
- }
- }
- return ret;
-}
-
--(NSMutableDictionary*) serializeAsDictionary:(Byte) version {
- if (version == 2) {
- NSString* messageType = [[store keyEnumerator] nextObject];
- NSMutableDictionary* function = [store objectForKey:messageType];
- if ([function isKindOfClass:NSMutableDictionary.class]) {
- NSMutableDictionary* parameters = [function objectForKey:NAMES_parameters];
- return [self serializeDictionary:parameters version:version];
- } else {
- return [self serializeDictionary:store version:version];
- }
- } else {
- return [self serializeDictionary:store version:version];
- }
-}
-
--(void) dealloc {
- store = nil;
-}
-
-@end
+#import "SDLEnum.h"
@implementation SDLRPCMessage
@synthesize messageType;
--(id) initWithName:(NSString*) name {
+-(instancetype) initWithName:(NSString*) name {
if (self = [super init]) {
function = [[NSMutableDictionary alloc] initWithCapacity:3];
parameters = [[NSMutableDictionary alloc] init];
@@ -97,7 +23,7 @@
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {
NSEnumerator *enumerator = [store keyEnumerator];
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h
index 6cdcc77a5..d766e1321 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.h
@@ -20,7 +20,7 @@
@abstract declare an array to store all possible values of Message Types
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract SDLRPCMessageType : request
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m
index abd9e3080..62ecf795d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCMessageType.m
@@ -8,7 +8,7 @@ SDLRPCMessageType* SDLRPCMessageType_request = nil;
SDLRPCMessageType* SDLRPCMessageType_response = nil;
SDLRPCMessageType* SDLRPCMessageType_notification = nil;
-NSMutableArray* SDLRPCMessageType_values = nil;
+NSArray* SDLRPCMessageType_values = nil;
@implementation SDLRPCMessageType
+(SDLRPCMessageType*) valueOf:(NSString*) value {
@@ -20,22 +20,22 @@ NSMutableArray* SDLRPCMessageType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLRPCMessageType_values == nil) {
- SDLRPCMessageType_values = [[NSMutableArray alloc] initWithObjects:
- SDLRPCMessageType_request,
- SDLRPCMessageType_response,
- SDLRPCMessageType_notification,
- nil];
+ SDLRPCMessageType_values = @[
+ [SDLRPCMessageType request],
+ [SDLRPCMessageType response],
+ [SDLRPCMessageType notification],
+ ];
}
return SDLRPCMessageType_values;
}
+(SDLRPCMessageType*) request {
- if (SDLRPCMessageType_request == nil) {
- SDLRPCMessageType_request = [[SDLRPCMessageType alloc] initWithValue:@"request"];
- }
- return SDLRPCMessageType_request;
+ if (SDLRPCMessageType_request == nil) {
+ SDLRPCMessageType_request = [[SDLRPCMessageType alloc] initWithValue:@"request"];
+ }
+ return SDLRPCMessageType_request;
}
+(SDLRPCMessageType*) response {
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.m
index 5302e673f..4f5e24a4f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCPayload.m
@@ -8,14 +8,14 @@ const NSUInteger RPC_HEADER_SIZE = 12;
@implementation SDLRPCPayload
--(id) init {
+-(instancetype) init {
if (self = [super init]) {
}
return self;
}
--(id) initWithData:(NSData *)data {
+-(instancetype) initWithData:(NSData *)data {
unsigned long dataLength = data.length;
if (data == nil || dataLength == 0) {
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.h
index fb4fd2f84..5c695b2b4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.h
@@ -1,43 +1,56 @@
// SDLRPCRequestFactory.h
//
+@import Foundation;
+
+@class SDLAddCommand;
+@class SDLAddSubMenu;
+@class SDLAlert;
+@class SDLAppHMIType;
+@class SDLAudioType;
+@class SDLBitsPerSample;
+@class SDLButtonName;
+@class SDLChangeRegistration;
+@class SDLCreateInteractionChoiceSet;
+@class SDLDeleteCommand;
+@class SDLDeleteFile;
+@class SDLDeleteInteractionChoiceSet;
+@class SDLDeleteSubMenu;
+@class SDLDialNumber;
+@class SDLEndAudioPassThru;
+@class SDLFileType;
+@class SDLGetDTCs;
+@class SDLGetVehicleData;
+@class SDLImage;
+@class SDLImageType;
+@class SDLInteractionMode;
+@class SDLLanguage;
+@class SDLListFiles;
+@class SDLPerformAudioPassThru;
+@class SDLPerformInteraction;
+@class SDLPutFile;
+@class SDLReadDID;
+@class SDLRegisterAppInterface;
+@class SDLResetGlobalProperties;
+@class SDLSamplingRate;
+@class SDLScrollableMessage;
+@class SDLSendLocation;
+@class SDLSetAppIcon;
+@class SDLSetDisplayLayout;
+@class SDLSetGlobalProperties;
+@class SDLSetMediaClockTimer;
+@class SDLShow;
+@class SDLSlider;
+@class SDLSpeak;
+@class SDLSubscribeButton;
+@class SDLSubscribeVehicleData;
+@class SDLTextAlignment;
+@class SDLUnregisterAppInterface;
+@class SDLUnsubscribeButton;
+@class SDLUnsubscribeVehicleData;
+@class SDLUpdateMode;
-
-#import "SDLAddCommand.h"
-#import "SDLAddSubMenu.h"
-#import "SDLAlert.h"
-#import "SDLAppHMIType.h"
-#import "SDLChangeRegistration.h"
-#import "SDLCreateInteractionChoiceSet.h"
-#import "SDLDeleteCommand.h"
-#import "SDLDeleteFile.h"
-#import "SDLDeleteInteractionChoiceSet.h"
-#import "SDLDeleteSubMenu.h"
-#import "SDLEndAudioPassThru.h"
-#import "SDLGetDTCs.h"
-#import "SDLGetVehicleData.h"
-#import "SDLListFiles.h"
-#import "SDLPerformAudioPassThru.h"
-#import "SDLPerformInteraction.h"
-#import "SDLPutFile.h"
-#import "SDLReadDID.h"
-#import "SDLRegisterAppInterface.h"
-#import "SDLResetGlobalProperties.h"
-#import "SDLScrollableMessage.h"
-#import "SDLSetAppIcon.h"
-#import "SDLSetDisplayLayout.h"
-#import "SDLSetGlobalProperties.h"
-#import "SDLSetMediaClockTimer.h"
-#import "SDLShow.h"
-#import "SDLSlider.h"
-#import "SDLSpeak.h"
-#import "SDLSubscribeButton.h"
-#import "SDLSubscribeVehicleData.h"
-#import "SDLUnregisterAppInterface.h"
-#import "SDLUnsubscribeButton.h"
-#import "SDLUnsubscribeVehicleData.h"
-
@interface SDLRPCRequestFactory : NSObject {}
//***** AddCommand *****
@@ -86,6 +99,8 @@ correlationID;
+(SDLDeleteFile*) buildDeleteFileWithName:(NSString*) syncFileName correlationID:(NSNumber*) correlationID;
++(SDLDialNumber*) buildDialNumberWithNumber:(NSString*)phoneNumber;
+
+(SDLListFiles*) buildListFilesWithCorrelationID:(NSNumber*) correlationID;
+(SDLDeleteInteractionChoiceSet*) buildDeleteInteractionChoiceSetWithID:(NSNumber*)interactionChoiceSetID correlationID:(NSNumber*) correlationID;
@@ -114,8 +129,8 @@ correlationID;
+(SDLPerformInteraction*) buildPerformInteractionWithInitialPrompt:(NSString*)initialPrompt initialText:(NSString*)initialText interactionChoiceSetID:(NSNumber*) interactionChoiceSetID correlationID:(NSNumber*) correlationID;
//*****
-
-+(SDLPutFile*) buildPutFileWithFileName:(NSString*) syncFileName fileType:(SDLFileType*) fileType persisistentFile:(NSNumber*) persistentFile correlationID:(NSNumber*) correlationID;
++(SDLPutFile*) buildPutFileWithFileName:(NSString*) fileName fileType:(SDLFileType*) fileType persistentFile:(NSNumber*) persistentFile correlationId:(NSNumber*) correlationID;
++(SDLPutFile*) buildPutFileWithFileName:(NSString*) syncFileName fileType:(SDLFileType*) fileType persisistentFile:(NSNumber*) persistentFile correlationID:(NSNumber*) correlationID __deprecated_msg("use buildPutFileWithFileName:fileType:persistentFile:correlationID: instead");
+(SDLReadDID*) buildReadDIDWithECUName:(NSNumber*) ecuName didLocation:(NSArray*) didLocation correlationID:(NSNumber*) correlationID;
@@ -130,6 +145,8 @@ correlationID;
+(SDLResetGlobalProperties*) buildResetGlobalPropertiesWithProperties:(NSArray*) properties correlationID:(NSNumber*) correlationID;
++(SDLSendLocation*) buildSendLocationWithLongitude:(NSNumber *)longitude latitude:(NSNumber *)latitude locationName:(NSString *)locationName locationDescription:(NSString *)locationDescription address:(NSArray *)address phoneNumber:(NSString *)phoneNumber image:(SDLImage *)image;
+
+(SDLScrollableMessage*) buildScrollableMessage:(NSString*) scrollableMessageBody timeout:(NSNumber*) timeout softButtons:(NSArray*) softButtons correlationID:(NSNumber*) correlationID;
+(SDLSetAppIcon*) buildSetAppIconWithFileName:(NSString*) syncFileName correlationID:(NSNumber*) correlationID;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.m
index 7435a5a2d..a76b7beda 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCRequestFactory.m
@@ -1,11 +1,53 @@
// SDLRPCRequestFactory.m
//
-
#import "SDLRPCRequestFactory.h"
#import "SDLMenuParams.h"
#import "SDLTTSChunkFactory.h"
+#import "SDLAddCommand.h"
+#import "SDLAddSubMenu.h"
+#import "SDLAlert.h"
+#import "SDLAppHMIType.h"
+#import "SDLChangeRegistration.h"
+#import "SDLCreateInteractionChoiceSet.h"
+#import "SDLDeleteCommand.h"
+#import "SDLDeleteFile.h"
+#import "SDLDeleteInteractionChoiceSet.h"
+#import "SDLDeleteSubMenu.h"
+#import "SDLDialNumber.h"
+#import "SDLEndAudioPassThru.h"
+#import "SDLFileType.h"
+#import "SDLGetDTCs.h"
+#import "SDLGetVehicleData.h"
+#import "SDLImage.h"
+#import "SDLInteractionMode.h"
+#import "SDLListFiles.h"
+#import "SDLPerformAudioPassThru.h"
+#import "SDLPerformInteraction.h"
+#import "SDLPutFile.h"
+#import "SDLReadDID.h"
+#import "SDLRegisterAppInterface.h"
+#import "SDLResetGlobalProperties.h"
+#import "SDLScrollableMessage.h"
+#import "SDLSendLocation.h"
+#import "SDLSetAppIcon.h"
+#import "SDLSetDisplayLayout.h"
+#import "SDLSetGlobalProperties.h"
+#import "SDLSetMediaClockTimer.h"
+#import "SDLShow.h"
+#import "SDLSlider.h"
+#import "SDLSpeak.h"
+#import "SDLSpeechCapabilities.h"
+#import "SDLStartTime.h"
+#import "SDLSubscribeButton.h"
+#import "SDLSubscribeVehicleData.h"
+#import "SDLSyncMsgVersion.h"
+#import "SDLTTSChunk.h"
+#import "SDLUnregisterAppInterface.h"
+#import "SDLUnsubscribeButton.h"
+#import "SDLUnsubscribeVehicleData.h"
+
@implementation SDLRPCRequestFactory
@@ -160,6 +202,13 @@ correlationID{
return msg;
}
++(SDLDialNumber*) buildDialNumberWithNumber:(NSString *)phoneNumber {
+ SDLDialNumber *msg = [[SDLDialNumber alloc] init];
+ msg.number = phoneNumber;
+
+ return msg;
+}
+
+(SDLListFiles*) buildListFilesWithCorrelationID:(NSNumber*) correlationID {
SDLListFiles* msg = [[SDLListFiles alloc] init];
@@ -244,6 +293,7 @@ correlationID{
msg.bitsPerSample = bitsPerSample;
msg.audioType = audioType;
msg.muteAudio = muteAudio;
+ msg.correlationID = correlationID;
return msg;
}
@@ -295,23 +345,25 @@ correlationID{
}
//*****
-
-+(SDLPutFile*) buildPutFileWithFileName:(NSString*) syncFileName fileType:(SDLFileType*) fileType persisistentFile:(NSNumber*) persistentFile correlationID:(NSNumber*) correlationID {
-
++(SDLPutFile*) buildPutFileWithFileName:(NSString*) fileName fileType:(SDLFileType*) fileType persistentFile:(NSNumber*) persistentFile correlationId:(NSNumber*) correlationID {
//TODO
// +(FMPutFile*) buildPutFile:(NSString*) syncFileName fileType:(SDLFileType*) fileType persisistentFile:(NSNumber*) persistentFile fileData:(NSData*) fileData correlationID:(NSNumber*) correlationID {
SDLPutFile* msg = [[SDLPutFile alloc] init];
- msg.syncFileName = syncFileName;
+ msg.syncFileName = fileName;
- msg.fileType = [fileType mutableCopy];
+ msg.fileType = fileType;
msg.persistentFile = persistentFile;
msg.correlationID = correlationID;
return msg;
}
++(SDLPutFile*) buildPutFileWithFileName:(NSString*) syncFileName fileType:(SDLFileType*) fileType persisistentFile:(NSNumber*) persistentFile correlationID:(NSNumber*) correlationID {
+ return [self buildPutFileWithFileName:syncFileName fileType:fileType persistentFile:persistentFile correlationId:correlationID];
+}
+
+(SDLReadDID*) buildReadDIDWithECUName:(NSNumber*) ecuName didLocation:(NSArray*) didLocation correlationID:(NSNumber*) correlationID {
SDLReadDID* msg = [[SDLReadDID alloc] init];
@@ -323,7 +375,7 @@ correlationID{
}
//***** RegisterAppInterface *****
-+(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName ttsName:(NSMutableArray*) ttsName vrSynonyms:(NSMutableArray*) vrSynonyms isMediaApp:(NSNumber*) isMediaApp languageDesired:(SDLLanguage*) languageDesired hmiDisplayLanguageDesired:(SDLLanguage*) hmiDisplayLanguageDesired appID:(NSString*) appID {
++(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName ttsName:(NSArray*) ttsName vrSynonyms:(NSArray*) vrSynonyms isMediaApp:(NSNumber*) isMediaApp languageDesired:(SDLLanguage*) languageDesired hmiDisplayLanguageDesired:(SDLLanguage*) hmiDisplayLanguageDesired appID:(NSString*) appID {
SDLRegisterAppInterface* msg = [[SDLRegisterAppInterface alloc] init];
SDLSyncMsgVersion* version = [[SDLSyncMsgVersion alloc] init];
@@ -331,9 +383,9 @@ correlationID{
version.minorVersion = [NSNumber numberWithInt:0];
msg.syncMsgVersion = version;
msg.appName = appName;
- msg.ttsName = ttsName;
+ msg.ttsName = [ttsName mutableCopy];
msg.ngnMediaScreenAppName = appName;
- msg.vrSynonyms = vrSynonyms;
+ msg.vrSynonyms = [vrSynonyms mutableCopy];
msg.isMediaApplication = isMediaApp;
msg.languageDesired = languageDesired;
msg.hmiDisplayLanguageDesired = hmiDisplayLanguageDesired;
@@ -353,7 +405,7 @@ correlationID{
+(SDLRegisterAppInterface*) buildRegisterAppInterfaceWithAppName:(NSString*) appName languageDesired:(SDLLanguage*) languageDesired appID:(NSString*) appID{
- return [SDLRPCRequestFactory buildRegisterAppInterfaceWithAppName:appName isMediaApp:[NSNumber numberWithBool:NO] languageDesired:languageDesired appID: appID];
+ return [SDLRPCRequestFactory buildRegisterAppInterfaceWithAppName:appName isMediaApp:@NO languageDesired:languageDesired appID: appID];
}
//*****
@@ -378,6 +430,19 @@ correlationID{
return msg;
}
++(SDLSendLocation *) buildSendLocationWithLongitude:(NSNumber *)longitude latitude:(NSNumber *)latitude locationName:(NSString *)locationName locationDescription:(NSString *)locationDescription address:(NSArray *)address phoneNumber:(NSString *)phoneNumber image:(SDLImage *)image {
+ SDLSendLocation *msg = [[SDLSendLocation alloc] init];
+ msg.longitudeDegrees = longitude;
+ msg.latitudeDegrees = latitude;
+ msg.locationName = locationName;
+ msg.locationDescription = locationDescription;
+ msg.addressLines = address;
+ msg.phoneNumber = phoneNumber;
+ msg.locationImage = image;
+
+ return msg;
+}
+
+(SDLSetAppIcon*) buildSetAppIconWithFileName:(NSString*) syncFileName correlationID:(NSNumber*) correlationID {
SDLSetAppIcon* msg = [[SDLSetAppIcon alloc] init];
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.h
index 96ed729cf..c89fb87a4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.h
@@ -5,7 +5,7 @@
#import "SDLRPCMessage.h"
-#import "SDLResult.h"
+@class SDLResult;
@interface SDLRPCResponse : SDLRPCMessage {}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.m
index 0e41cd6d8..6bc491899 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCResponse.m
@@ -5,6 +5,7 @@
#import "SDLRPCResponse.h"
#import "SDLNames.h"
+#import "SDLResult.h"
@implementation SDLRPCResponse
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCStruct.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCStruct.h
new file mode 100644
index 000000000..fcecd0877
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCStruct.h
@@ -0,0 +1,16 @@
+//
+// SDLRPCStruct.h
+
+
+@import Foundation;
+
+@interface SDLRPCStruct : NSObject {
+ NSMutableDictionary* store;
+}
+
+-(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(id) init;
+
+-(NSMutableDictionary*) serializeAsDictionary:(Byte) version;
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCStruct.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCStruct.m
new file mode 100644
index 000000000..5c3fe0184
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRPCStruct.m
@@ -0,0 +1,84 @@
+//
+// SDLRPCStruct.m
+
+
+#import "SDLRPCStruct.h"
+
+#import "SDLEnum.h"
+#import "SDLNames.h"
+
+
+@implementation SDLRPCStruct
+
+-(id) initWithDictionary:(NSMutableDictionary*) dict {
+ if (self = [super init]) {
+ store = dict;
+ }
+ return self;
+}
+
+-(id) init {
+ if (self = [super init]) {
+ store = [[NSMutableDictionary alloc] init];
+ }
+ return self;
+}
+
+-(NSMutableDictionary*) serializeDictionary:(NSDictionary*) dict version:(Byte) version {
+
+ NSMutableDictionary* ret = [NSMutableDictionary dictionaryWithCapacity:dict.count];
+ for (NSString* key in [dict keyEnumerator]) {
+ NSObject* value = [dict objectForKey:key];
+ if ([value isKindOfClass:SDLRPCStruct.class]) {
+ [ret setObject:[(SDLRPCStruct*)value serializeAsDictionary:version] forKey:key];
+ } else if ([value isKindOfClass:NSDictionary.class]) {
+ [ret setObject:[self serializeDictionary:(NSDictionary*)value version:version] forKey:key];
+ } else if ([value isKindOfClass:NSArray.class]) {
+ NSArray* arrayVal = (NSArray*) value;
+
+ if (arrayVal.count > 0
+ && ([[arrayVal objectAtIndex:0] isKindOfClass:SDLRPCStruct.class])) {
+ NSMutableArray* serializedList = [NSMutableArray arrayWithCapacity:arrayVal.count];
+ for (SDLRPCStruct* serializeable in arrayVal) {
+ [serializedList addObject:[serializeable serializeAsDictionary:version]];
+ }
+ [ret setObject:serializedList forKey:key];
+ } else if (arrayVal.count > 0
+ && ([[arrayVal objectAtIndex:0] isKindOfClass:SDLEnum.class])) {
+ NSMutableArray* serializedList = [NSMutableArray arrayWithCapacity:arrayVal.count];
+ for (SDLEnum* anEnum in arrayVal) {
+ [serializedList addObject:anEnum.value];
+ }
+ [ret setObject:serializedList forKey:key];
+ } else {
+ [ret setObject:value forKey:key];
+ }
+ } else if ([value isKindOfClass:SDLEnum.class]) {
+ [ret setObject:((SDLEnum*)value).value forKey:key];
+ } else {
+ [ret setObject:value forKey:key];
+ }
+ }
+ return ret;
+}
+
+-(NSMutableDictionary*) serializeAsDictionary:(Byte) version {
+ if (version == 2) {
+ NSString* messageType = [[store keyEnumerator] nextObject];
+ NSMutableDictionary* function = [store objectForKey:messageType];
+ if ([function isKindOfClass:NSMutableDictionary.class]) {
+ NSMutableDictionary* parameters = [function objectForKey:NAMES_parameters];
+ return [self serializeDictionary:parameters version:version];
+ } else {
+ return [self serializeDictionary:store version:version];
+ }
+ } else {
+ return [self serializeDictionary:store version:version];
+ }
+}
+
+-(void) dealloc {
+ store = nil;
+}
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.h
index a5e4993d0..934ef814b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.h
@@ -22,13 +22,13 @@
/**
* @abstract Constructs a new SDLReadDID object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLReadDID object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract An ID of the vehicle module
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.m
index bd19eab74..32e7fc5df 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDID.m
@@ -8,12 +8,12 @@
@implementation SDLReadDID
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ReadDID]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.h
index f168aca2b..82927e080 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.h
@@ -12,8 +12,8 @@
*/
@interface SDLReadDIDResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSMutableArray* didResult;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.m
index 598b92650..6a82a40a1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLReadDIDResponse.m
@@ -9,12 +9,12 @@
@implementation SDLReadDIDResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ReadDID]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.h
index ddbdf0c0e..e4c99cd41 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.h
@@ -1,13 +1,12 @@
// SDLRegisterAppInterface.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLSyncMsgVersion.h"
-#import "SDLLanguage.h"
-#import "SDLDeviceInfo.h"
+@class SDLDeviceInfo;
+@class SDLLanguage;
+@class SDLSyncMsgVersion;
+
/**
* Registers the application's interface with SDL&reg;, declaring properties of
@@ -84,13 +83,13 @@
/**
* @abstract Constructs a new SDLRegisterAppInterface object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLRegisterAppInterface object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract the version of the SDL&reg; SmartDeviceLink interface
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.m
index 82dffa212..7e46b8516 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterface.m
@@ -4,18 +4,22 @@
#import "SDLRegisterAppInterface.h"
+#import "SDLAppHMIType.h"
+#import "SDLDeviceInfo.h"
+#import "SDLLanguage.h"
#import "SDLNames.h"
#import "SDLTTSChunk.h"
-#import "SDLAppHMIType.h"
+#import "SDLSyncMsgVersion.h"
+
@implementation SDLRegisterAppInterface
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_RegisterAppInterface]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h
index 1505f6987..407ba976a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h
@@ -5,11 +5,12 @@
#import "SDLRPCResponse.h"
-#import "SDLSyncMsgVersion.h"
-#import "SDLLanguage.h"
-#import "SDLDisplayCapabilities.h"
-#import "SDLPresetBankCapabilities.h"
-#import "SDLVehicleType.h"
+@class SDLSyncMsgVersion;
+@class SDLLanguage;
+@class SDLDisplayCapabilities;
+@class SDLPresetBankCapabilities;
+@class SDLVehicleType;
+
/**
* @abstract Register AppInterface Response is sent, when SDLRegisterAppInterface has been called
@@ -21,13 +22,13 @@
/**
* @abstract Constructs a new SDLRegisterAppInterfaceResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* Constructs a new SDLRegisterAppInterfaceResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The version of the SDL&reg; SmartDeviceLink interface
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m
index dfac86ff1..f85002c1c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m
@@ -4,23 +4,29 @@
#import "SDLRegisterAppInterfaceResponse.h"
-#import "SDLNames.h"
+#import "SDLAudioPassThruCapabilities.h"
#import "SDLButtonCapabilities.h"
-#import "SDLSoftButtonCapabilities.h"
+#import "SDLDisplayCapabilities.h"
#import "SDLHmiZoneCapabilities.h"
-#import "SDLSpeechCapabilities.h"
+#import "SDLLanguage.h"
+#import "SDLNames.h"
#import "SDLPrerecordedSpeech.h"
-#import "SDLVrCapabilities.h"
-#import "SDLAudioPassThruCapabilities.h"
+#import "SDLPresetBankCapabilities.h"
+#import "SDLSoftButtonCapabilities.h"
+#import "SDLSpeechCapabilities.h"
+#import "SDLSyncMsgVersion.h"
+#import "SDLVRCapabilities.h"
+#import "SDLVehicleType.h"
+
@implementation SDLRegisterAppInterfaceResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_RegisterAppInterface]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
@@ -162,12 +168,12 @@
-(NSMutableArray*) hmiZoneCapabilities {
NSMutableArray* array = [parameters objectForKey:NAMES_hmiZoneCapabilities];
- if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLHmiZoneCapabilities.class]) {
+ if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLHMIZoneCapabilities.class]) {
return array;
} else {
NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]];
for (NSString* enumString in array) {
- [newList addObject:[SDLHmiZoneCapabilities valueOf:enumString]];
+ [newList addObject:[SDLHMIZoneCapabilities valueOf:enumString]];
}
return newList;
}
@@ -225,12 +231,12 @@
-(NSMutableArray*) vrCapabilities {
NSMutableArray* array = [parameters objectForKey:NAMES_vrCapabilities];
- if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVrCapabilities.class]) {
+ if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVRCapabilities.class]) {
return array;
} else {
NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]];
for (NSString* enumString in array) {
- [newList addObject:[SDLVrCapabilities valueOf:enumString]];
+ [newList addObject:[SDLVRCapabilities valueOf:enumString]];
}
return newList;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h
index 8c5e63142..08bff4792 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.h
@@ -8,7 +8,7 @@
@interface SDLRequestType : SDLEnum {}
+(SDLRequestType*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLRequestType*) HTTP;
+(SDLRequestType*) FILE_RESUME;
@@ -16,5 +16,19 @@
+(SDLRequestType*) AUTH_CHALLENGE;
+(SDLRequestType*) AUTH_ACK;
+(SDLRequestType*) PROPRIETARY;
++(SDLRequestType*) QUERY_APPS;
++(SDLRequestType*) LAUNCH_APP;
++(SDLRequestType*) LOCK_SCREEN_ICON_URL;
++(SDLRequestType*) TRAFFIC_MESSAGE_CHANNEL;
++(SDLRequestType*) DRIVER_PROFILE;
++(SDLRequestType*) VOICE_SEARCH;
++(SDLRequestType*) NAVIGATION;
++(SDLRequestType*) PHONE;
++(SDLRequestType*) CLIMATE;
++(SDLRequestType*) SETTINGS;
++(SDLRequestType*) VEHICLE_DIAGNOSTICS;
++(SDLRequestType*) EMERGENCY;
++(SDLRequestType*) MEDIA;
++(SDLRequestType*) FOTA;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m
index 2f449d0fa..a7be571e6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLRequestType.m
@@ -10,8 +10,23 @@ SDLRequestType* SDLRequestType_AUTH_REQUEST = nil;
SDLRequestType* SDLRequestType_AUTH_CHALLENGE = nil;
SDLRequestType* SDLRequestType_AUTH_ACK = nil;
SDLRequestType* SDLRequestType_PROPRIETARY = nil;
+SDLRequestType* SDLRequestType_QUERY_APPS = nil;
+SDLRequestType* SDLRequestType_LAUNCH_APP = nil;
+SDLRequestType* SDLRequestType_LOCK_SCREEN_ICON_URL = nil;
+SDLRequestType* SDLRequestType_TRAFFIC_MESSAGE_CHANNEL = nil;
+SDLRequestType* SDLRequestType_DRIVER_PROFILE = nil;
+SDLRequestType* SDLRequestType_VOICE_SEARCH = nil;
+SDLRequestType* SDLRequestType_NAVIGATION = nil;
+SDLRequestType* SDLRequestType_PHONE = nil;
+SDLRequestType* SDLRequestType_CLIMATE = nil;
+SDLRequestType* SDLRequestType_SETTINGS = nil;
+SDLRequestType* SDLRequestType_VEHICLE_DIAGNOSTICS = nil;
+SDLRequestType* SDLRequestType_EMERGENCY = nil;
+SDLRequestType* SDLRequestType_MEDIA = nil;
+SDLRequestType* SDLRequestType_FOTA = nil;
+
+NSArray* SDLRequestType_values = nil;
-NSMutableArray* SDLRequestType_values = nil;
@implementation SDLRequestType
@@ -24,16 +39,30 @@ NSMutableArray* SDLRequestType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLRequestType_values == nil) {
- SDLRequestType_values = [[NSMutableArray alloc] initWithObjects:
- SDLRequestType.HTTP,
- SDLRequestType.FILE_RESUME,
- SDLRequestType.AUTH_REQUEST,
- SDLRequestType.AUTH_CHALLENGE,
- SDLRequestType.AUTH_ACK,
- SDLRequestType.PROPRIETARY,
- nil];
+ SDLRequestType_values = @[
+ [SDLRequestType HTTP],
+ [SDLRequestType FILE_RESUME],
+ [SDLRequestType AUTH_REQUEST],
+ [SDLRequestType AUTH_CHALLENGE],
+ [SDLRequestType AUTH_ACK],
+ [SDLRequestType PROPRIETARY],
+ [SDLRequestType QUERY_APPS],
+ [SDLRequestType LAUNCH_APP],
+ [SDLRequestType LOCK_SCREEN_ICON_URL],
+ [SDLRequestType TRAFFIC_MESSAGE_CHANNEL],
+ [SDLRequestType DRIVER_PROFILE],
+ [SDLRequestType VOICE_SEARCH],
+ [SDLRequestType NAVIGATION],
+ [SDLRequestType PHONE],
+ [SDLRequestType CLIMATE],
+ [SDLRequestType SETTINGS],
+ [SDLRequestType VEHICLE_DIAGNOSTICS],
+ [SDLRequestType EMERGENCY],
+ [SDLRequestType MEDIA],
+ [SDLRequestType FOTA],
+ ];
}
return SDLRequestType_values;
}
@@ -80,4 +109,102 @@ NSMutableArray* SDLRequestType_values = nil;
return SDLRequestType_PROPRIETARY;
}
++(SDLRequestType*) QUERY_APPS {
+ if (SDLRequestType_QUERY_APPS == nil) {
+ SDLRequestType_QUERY_APPS = [[SDLRequestType alloc] initWithValue:@"QUERY_APPS"];
+ }
+ return SDLRequestType_QUERY_APPS;
+}
+
++(SDLRequestType*) LAUNCH_APP {
+ if (SDLRequestType_LAUNCH_APP == nil) {
+ SDLRequestType_LAUNCH_APP = [[SDLRequestType alloc] initWithValue:@"LAUNCH_APP"];
+ }
+ return SDLRequestType_LAUNCH_APP;
+}
+
++(SDLRequestType*) LOCK_SCREEN_ICON_URL {
+ if (SDLRequestType_LOCK_SCREEN_ICON_URL == nil) {
+ SDLRequestType_LOCK_SCREEN_ICON_URL = [[SDLRequestType alloc] initWithValue:@"LOCK_SCREEN_ICON_URL"];
+ }
+ return SDLRequestType_LOCK_SCREEN_ICON_URL;
+}
+
++(SDLRequestType*) TRAFFIC_MESSAGE_CHANNEL {
+ if (SDLRequestType_TRAFFIC_MESSAGE_CHANNEL == nil) {
+ SDLRequestType_TRAFFIC_MESSAGE_CHANNEL = [[SDLRequestType alloc] initWithValue:@"TRAFFIC_MESSAGE_CHANNEL"];
+ }
+ return SDLRequestType_TRAFFIC_MESSAGE_CHANNEL;
+}
+
++(SDLRequestType*) DRIVER_PROFILE {
+ if (SDLRequestType_DRIVER_PROFILE == nil) {
+ SDLRequestType_DRIVER_PROFILE = [[SDLRequestType alloc] initWithValue:@"DRIVER_PROFILE"];
+ }
+ return SDLRequestType_DRIVER_PROFILE;
+}
+
++(SDLRequestType*) VOICE_SEARCH {
+ if (SDLRequestType_VOICE_SEARCH == nil) {
+ SDLRequestType_VOICE_SEARCH = [[SDLRequestType alloc] initWithValue:@"VOICE_SEARCH"];
+ }
+ return SDLRequestType_VOICE_SEARCH;
+}
+
++(SDLRequestType*) NAVIGATION {
+ if (SDLRequestType_NAVIGATION == nil) {
+ SDLRequestType_NAVIGATION = [[SDLRequestType alloc] initWithValue:@"NAVIGATION"];
+ }
+ return SDLRequestType_NAVIGATION;
+}
+
++(SDLRequestType*) PHONE {
+ if (SDLRequestType_PHONE == nil) {
+ SDLRequestType_PHONE = [[SDLRequestType alloc] initWithValue:@"PHONE"];
+ }
+ return SDLRequestType_PHONE;
+}
+
++(SDLRequestType*) CLIMATE {
+ if (SDLRequestType_CLIMATE == nil) {
+ SDLRequestType_CLIMATE = [[SDLRequestType alloc] initWithValue:@"CLIMATE"];
+ }
+ return SDLRequestType_CLIMATE;
+}
+
++(SDLRequestType*) SETTINGS {
+ if (SDLRequestType_SETTINGS == nil) {
+ SDLRequestType_SETTINGS = [[SDLRequestType alloc] initWithValue:@"SETTINGS"];
+ }
+ return SDLRequestType_SETTINGS;
+}
+
++(SDLRequestType*) VEHICLE_DIAGNOSTICS {
+ if (SDLRequestType_VEHICLE_DIAGNOSTICS == nil) {
+ SDLRequestType_VEHICLE_DIAGNOSTICS = [[SDLRequestType alloc] initWithValue:@"VEHICLE_DIAGNOSTICS"];
+ }
+ return SDLRequestType_VEHICLE_DIAGNOSTICS;
+}
+
++(SDLRequestType*) EMERGENCY {
+ if (SDLRequestType_EMERGENCY == nil) {
+ SDLRequestType_EMERGENCY = [[SDLRequestType alloc] initWithValue:@"EMERGENCY"];
+ }
+ return SDLRequestType_EMERGENCY;
+}
+
++(SDLRequestType*) MEDIA {
+ if (SDLRequestType_MEDIA == nil) {
+ SDLRequestType_MEDIA = [[SDLRequestType alloc] initWithValue:@"MEDIA"];
+ }
+ return SDLRequestType_MEDIA;
+}
+
++(SDLRequestType*) FOTA {
+ if (SDLRequestType_FOTA == nil) {
+ SDLRequestType_FOTA = [[SDLRequestType alloc] initWithValue:@"FOTA"];
+ }
+ return SDLRequestType_FOTA;
+}
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.h
index 9ef286e77..857ae18b7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.h
@@ -26,13 +26,13 @@
/**
* @abstract Constructs a new SDLResetGlobalProperties object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLResetGlobalProperties object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract An array of one or more GlobalProperty enumeration elements
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.m
index 07ff6fae7..4dca924e7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalProperties.m
@@ -9,12 +9,12 @@
@implementation SDLResetGlobalProperties
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ResetGlobalProperties]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h
index 72e1bc914..17baaf7ff 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h
@@ -15,12 +15,12 @@
/**
* @abstract Constructs a new SDLResetGlobalPropertiesResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLResetGlobalPropertiesResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.m
index 65d8b1fe0..9d421d484 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResetGlobalPropertiesResponse.m
@@ -8,12 +8,12 @@
@implementation SDLResetGlobalPropertiesResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ResetGlobalProperties]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.h
index b75324044..083798706 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.h
@@ -20,17 +20,18 @@
@result SDLResult object
*/
+(SDLResult*) valueOf:(NSString*) value;
+
/*!
@abstract declare an array to store all possible SDLResult values
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The request succeeded
- * @result return the result code of <font color=gray><i> SUCCESS </i></font>
*/
+(SDLResult*) SUCCESS;
+
/**
* @abstract Result code : Invalid Data
* @discussion The data sent is invalid. For example:<br/>
@@ -42,26 +43,26 @@
* <li>Invalid characters</li>
* <li>Empty string</li>
* </ul>
- * @result return the result code of <font color=gray><i> INVALID_DATA </i></font>
*/
+(SDLResult*) INVALID_DATA;
+
/**
* @abstract The request is not supported by SDL
- * @result return the result code of <font color=gray><i> UNSUPPORTED_REQUEST </i></font>
*/
+(SDLResult*) UNSUPPORTED_REQUEST;
+
/**
* @abstract The system could not process the request because the necessary memory
* couldn't be allocated
- * @result return the result code of <font color=gray><i> OUT_OF_MEMORY </i></font>
*/
+(SDLResult*) OUT_OF_MEMORY;
+
/**
* @abstract There are too many requests pending (means that the response has not been
* delivered yet). There is a limit of 1000 pending requests at a time
- * @result return the result code of <font color=gray><i> TOO_MANY_PENDING_REQUESTS </i></font>
*/
+(SDLResult*) TOO_MANY_PENDING_REQUESTS;
+
/**
* @abstract One of the provided IDs is not valid.
* @discussion For example:<br/>
@@ -70,129 +71,137 @@
* <li>CommandID</li>
* <li>MenuID</li>
* </ul>
- * @result return the result code of <font color=gray><i> INVALID_ID </i></font>
*/
+(SDLResult*) INVALID_ID;
+
/**
- * @abstract The provided name or synonym is a duplicate of some already-defined name
- * or synonym.
- * @result return the result code of <font color=gray><i> DUPLICATE_NAME </i></font>
+ * @abstract The provided name or synonym is a duplicate of some already-defined name or synonym.
*/
+(SDLResult*) DUPLICATE_NAME;
+
/**
- * @abstract Specified application name is already associated with an active interface
- * registration. Attempts at doing a second <i>
- * RegisterAppInterface</i> on a
- * given protocol session will also cause this result.
- * @result return the result code of <font color=gray><i> TOO_MANY_APPLICATIONS </i></font>
+ * There are already too many registered applications
*/
+(SDLResult*) TOO_MANY_APPLICATIONS;
+
/**
- * @abstract SDL does not support the interface version requested by the mobile
- * application.
- * @result return the result code of <font color=gray><i> APPLICATION_REGISTERED_ALREADY </i></font>
+ * RegisterApplication has been called again, after a RegisterApplication was successful before
*/
+(SDLResult*) APPLICATION_REGISTERED_ALREADY;
+
/**
- * @abstract The requested language is currently not supported. Might be because of a
- * mismatch of the currently active language.
- * @result return the result code of <font color=gray><i> UNSUPPORTED_VERSION </i></font>
+ * The Head Unit doesn't support the protocol that is requested by the mobile application
*/
+(SDLResult*) UNSUPPORTED_VERSION;
+
/**
- * @abstract The request cannot be executed because no application interface has been
- * registered via
- * <i>RegisterAppInterface</i>
- * @result return the result code of <font color=gray><i> WRONG_LANGUAGE </i></font>
+ * The requested language is currently not supported. Might be because of a mismatch of the currently active language on Sync and the requested language
*/
+(SDLResult*) WRONG_LANGUAGE;
+
/**
- * @abstract The request cannot be executed because no application interface has been
- * registered via <i>
- * RegisterAppInterface</i>
- * @result return the result code of <font color=gray><i> APPLICATION_NOT_REGISTERED </i></font>
+ * A command can not be executed because no application has been registered with RegisterApplication
*/
+(SDLResult*) APPLICATION_NOT_REGISTERED;
+
/**
- * @abstract The data may not be changed, because it is currently in use. For example,
- * when trying to delete a Choice Set that is currently involved in an
- * interaction.
- * @result return the result code of <font color=gray><i> IN_USE </i></font>
+ * The data may not be changed, because it is currently in use. For example when trying to delete a command set that is currently involved in an interaction.
*/
+(SDLResult*) IN_USE;
+
/**
- * @abstract There is already an existing subscription for this item.
- * @result return the result code of <font color=gray><i> VEHICLE_DATA_NOT_ALLOWED </i></font>
+ * The user has turned off access to vehicle data, and it is globally unavailable to mobile applications
*/
+(SDLResult*) VEHICLE_DATA_NOT_ALLOWED;
-/*!
- @result return the result code of <font color=gray><i> VEHICLE_DATA_NOT_AVAILABLE </i></font>
+
+/**
+ * The requested vehicle data is not available on this vehicle or is not published
*/
+(SDLResult*) VEHICLE_DATA_NOT_AVAILABLE;
+
/**
- * @abstract The requested operation was rejected. No attempt was made to perform the
- * operation.
- * @result return the result code of <font color=gray><i> REJECTED </i></font>
+ * The requested command was rejected, e.g. because mobile app is in background and cannot perform any HMI commands. Or an HMI command (e.g. Speak) is rejected because a higher priority HMI command (e.g. Alert) is playing.
*/
+(SDLResult*) REJECTED;
-/*!
- @abstract The requested operation was aborted due to some pre-empting event (e.g. button push, <i>Alert</i>, pre-empts <i>Speak</i>, etc.)
- @result return the result code of <font color=gray><i> ABORTED </i></font>
+/**
+ * A command was aborted, for example due to user interaction (e.g. user pressed button). Or an HMI command (e.g. Speak) is aborted because a higher priority HMI command (e.g. Alert) was requested.
*/
+(SDLResult*) ABORTED;
+
/**
- * @abstract The requested operation was ignored because it was determined to be
- * redundant (e.g. pause media clock when already paused).
- * @result return the result code of <font color=gray><i> IGNORED </i></font>
+ * A command was ignored, because the intended result is already in effect. For example, SetMediaClockTimer was used to pause the media clock although the clock is paused already.
*/
+(SDLResult*) IGNORED;
+
/**
- * @abstract A button that was requested for subscription is not supported on the
- * currently connected SDL platform. See DisplayCapabilities for further
- * information on supported buttons on the currently connected SDL platform
- * @result return the result code of <font color=gray><i> UNSUPPORTED_RESOURCE </i></font>
+ * A button that was requested for subscription is not supported under the current system.
*/
+(SDLResult*) UNSUPPORTED_RESOURCE;
-/*!
- @result return the result code of <font color=gray><i> FILE_NOT_FOUND </i></font>
+
+/**
+ * A specified file could not be found on the head unit
*/
+(SDLResult*) FILE_NOT_FOUND;
-/*!
- @result return the result code of <font color=gray><i> GENERIC_ERROR </i></font>
+
+/**
+ * Provided data is valid but something went wrong in the lower layers
*/
+(SDLResult*) GENERIC_ERROR;
-/*!
- @result return the result code of <font color=gray><i> DISALLOWED </i></font>
+
+/**
+ * RPC is not authorized in local policy table
*/
+(SDLResult*) DISALLOWED;
-/*!
- @result return the result code of <font color=gray><i> USER_DISALLOWED </i></font>
+
+/**
+ * RPC is included in a functional group explicitly blocked by the user
*/
+(SDLResult*) USER_DISALLOWED;
-/*!
- @result return the result code of <font color=gray><i> TIMED_OUT </i></font>
+
+/**
+ * Overlay reached the maximum timeout and closed
*/
+(SDLResult*) TIMED_OUT;
-/*!
- @result return the result code of <font color=gray><i> CANCEL_ROUTE </i></font>
+
+/**
+ * User selected to Cancel Route
*/
+(SDLResult*) CANCEL_ROUTE;
-/*!
- @result return the result code of <font color=gray><i> TRUNCATED_DATA </i></font>
+
+/**
+ * The RPC (e.g. ReadDID) executed successfully but the data exceeded the platform maximum threshold and thus, only part of the data is available
*/
+(SDLResult*) TRUNCATED_DATA;
-/*!
- @result return the result code of <font color=gray><i> RETRY </i></font>
+
+/**
+ * The user interrupted the RPC (e.g. PerformAudioPassThru) and indicated to start over. Note, the app must issue the new RPC
*/
+(SDLResult*) RETRY;
-/*!
- @result return the result code of <font color=gray><i> WARNINGS </i></font>
+
+/**
+ * The RPC (e.g. SubscribeVehicleData) executed successfully but one or more items have a warning or failure.
*/
+(SDLResult*) WARNINGS;
+
+/**
+ * The RPC (e.g. Slider) executed successfully and the user elected to save the current position / value
+ */
+(SDLResult*) SAVED;
+
+/**
+ * The certificate provided during authentication is invalid
+ */
+(SDLResult*) INVALID_CERT;
+
+/**
+ * The certificate provided during authentication is expired
+ */
+(SDLResult*) EXPIRED_CERT;
+
+/**
+ * The provided hash ID does not match the hash of the current set of registered data or the core could not resume the previous data.
+ */
+(SDLResult*) RESUME_FAILED;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.m
index 225ae9503..1533dd684 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLResult.m
@@ -37,7 +37,7 @@ SDLResult* SDLResult_INVALID_CERT = nil;
SDLResult* SDLResult_EXPIRED_CERT = nil;
SDLResult* SDLResult_RESUME_FAILED = nil;
-NSMutableArray* SDLResult_values = nil;
+NSArray* SDLResult_values = nil;
@implementation SDLResult
@@ -50,9 +50,9 @@ NSMutableArray* SDLResult_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLResult_values == nil) {
- SDLResult_values = [[NSMutableArray alloc] initWithObjects:
+ SDLResult_values = @[
SDLResult.SUCCESS,
SDLResult.INVALID_DATA,
SDLResult.UNSUPPORTED_REQUEST,
@@ -85,7 +85,7 @@ NSMutableArray* SDLResult_values = nil;
SDLResult.INVALID_CERT,
SDLResult.EXPIRED_CERT,
SDLResult.RESUME_FAILED,
- nil];
+ ];
}
return SDLResult_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.h
index 043cd1642..148797532 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.h
@@ -21,7 +21,7 @@
@abstract declare an array to store all possible SDLSamplingRate values
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Sampling rate of 8 kHz
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.m
index bf44bf456..9e102be63 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSamplingRate.m
@@ -9,7 +9,7 @@ SDLSamplingRate* SDLSamplingRate_16KHZ = nil;
SDLSamplingRate* SDLSamplingRate_22KHZ = nil;
SDLSamplingRate* SDLSamplingRate_44KHZ = nil;
-NSMutableArray* SDLSamplingRate_values = nil;
+NSArray* SDLSamplingRate_values = nil;
@implementation SDLSamplingRate
@@ -22,14 +22,14 @@ NSMutableArray* SDLSamplingRate_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLSamplingRate_values == nil) {
- SDLSamplingRate_values = [[NSMutableArray alloc] initWithObjects:
+ SDLSamplingRate_values = @[
SDLSamplingRate._8KHZ,
SDLSamplingRate._16KHZ,
SDLSamplingRate._22KHZ,
SDLSamplingRate._44KHZ,
- nil];
+ ];
}
return SDLSamplingRate_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.h
index be5d1b425..d416398fc 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.h
@@ -1,17 +1,16 @@
// SDLScreenParams.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLImageResolution.h"
-#import "SDLTouchEventCapabilities.h"
+@class SDLImageResolution;
+@class SDLTouchEventCapabilities;
+
@interface SDLScreenParams : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLImageResolution* resolution;
@property(strong) SDLTouchEventCapabilities* touchEventAvailable;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.m
index 89b9209b0..396b323c3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScreenParams.m
@@ -1,19 +1,21 @@
// SDLScreenParams.m
//
-
#import "SDLScreenParams.h"
+#import "SDLImageResolution.h"
#import "SDLNames.h"
+#import "SDLTouchEventCapabilities.h"
+
@implementation SDLScreenParams
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.h
index 4a717b62c..670865e2e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.h
@@ -19,13 +19,13 @@
/**
* @abstract Constructs a new SDLScrollableMessage object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLScrollableMessage object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A Body of text that can include newlines and tabs
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.m
index 13f72f218..3b7752613 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessage.m
@@ -9,12 +9,12 @@
@implementation SDLScrollableMessage
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ScrollableMessage]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.h
index 908d2518b..52193d6d8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.h
@@ -15,12 +15,12 @@
/**
* @abstract Constructs a new SDLScrollableMessageResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLScrollableMessageResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.m
index fa7fecc69..44f2c1151 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLScrollableMessageResponse.m
@@ -8,12 +8,12 @@
@implementation SDLScrollableMessageResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ScrollableMessage]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocation.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocation.h
new file mode 100644
index 000000000..ccebcdecd
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocation.h
@@ -0,0 +1,65 @@
+//
+// SDLSendLocation.h
+// SmartDeviceLink
+
+@import Foundation;
+
+#import "SDLImage.h"
+#import "SDLRPCRequest.h"
+
+
+@interface SDLSendLocation : SDLRPCRequest
+
+- (instancetype)init;
+- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+
+/**
+ * The longitudinal coordinate of the location.
+ *
+ * Float, Required, -180.0 - 180.0
+ */
+@property (copy, nonatomic) NSNumber *longitudeDegrees;
+
+/**
+ * The latitudinal coordinate of the location.
+ *
+ * Float, Required, -90.0 - 90.0
+ */
+@property (copy, nonatomic) NSNumber *latitudeDegrees;
+
+/**
+ * Name / title of intended location
+ *
+ * Optional, Maxlength = 500 char
+ */
+@property (copy, nonatomic) NSString *locationName;
+
+/**
+ * Description of the intended location / establishment
+ *
+ * Optional, MaxLength = 500 char
+ */
+@property (copy, nonatomic) NSString *locationDescription;
+
+/**
+ * Array of lines for the location address
+ *
+ * Contains String, Optional, Max Array Length = 4, Max String Length = 500
+ */
+@property (copy, nonatomic) NSArray *addressLines;
+
+/**
+ * Phone number of intended location / establishment
+ *
+ * Optional, Max Length = 500
+ */
+@property (copy, nonatomic) NSString *phoneNumber;
+
+/**
+ * Image / icon of intended location
+ *
+ * Optional
+ */
+@property (strong, nonatomic) SDLImage *locationImage;
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocation.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocation.m
new file mode 100644
index 000000000..c19195f23
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocation.m
@@ -0,0 +1,107 @@
+//
+// SDLSendLocation.m
+// SmartDeviceLink
+
+#import "SDLSendLocation.h"
+
+#import "SDLNames.h"
+
+
+@implementation SDLSendLocation
+
+- (instancetype)init {
+ self = [super initWithName:NAMES_SendLocation];
+ if (!self) {
+ return nil;
+ }
+
+ return self;
+}
+
+- (instancetype)initWithDictionary:(NSMutableDictionary *)dict {
+ self = [super initWithDictionary:dict];
+ if (!self) {
+ return nil;
+ }
+
+ return self;
+}
+
+- (void)setLongitudeDegrees:(NSNumber *)longitudeDegrees {
+ if (longitudeDegrees != nil) {
+ parameters[NAMES_longitudeDegrees] = longitudeDegrees;
+ } else {
+ [parameters removeObjectForKey:NAMES_longitudeDegrees];
+ }
+}
+
+- (NSNumber *)longitudeDegrees {
+ return parameters[NAMES_longitudeDegrees];
+}
+
+- (void)setLatitudeDegrees:(NSNumber *)latitudeDegrees {
+ if (latitudeDegrees != nil) {
+ parameters[NAMES_latitudeDegrees] = latitudeDegrees;
+ } else {
+ [parameters removeObjectForKey:NAMES_latitudeDegrees];
+ }
+}
+
+- (NSNumber *)latitudeDegrees {
+ return parameters[NAMES_latitudeDegrees];
+}
+
+- (void)setLocationName:(NSString *)locationName {
+ if (locationName != nil) {
+ parameters[NAMES_locationName] = locationName;
+ } else {
+ [parameters removeObjectForKey:NAMES_locationName];
+ }
+}
+
+- (NSString *)locationName {
+ return parameters[NAMES_locationName];
+}
+
+- (void)setAddressLines:(NSArray *)addressLines {
+ if (addressLines != nil) {
+ parameters[NAMES_addressLines] = addressLines;
+ } else {
+ [parameters removeObjectForKey:NAMES_addressLines];
+ }
+}
+
+- (NSArray *)addressLines {
+ return parameters[NAMES_addressLines];
+}
+
+- (void)setPhoneNumber:(NSString *)phoneNumber {
+ if (phoneNumber != nil) {
+ parameters[NAMES_phoneNumber] = phoneNumber;
+ } else {
+ [parameters removeObjectForKey:NAMES_phoneNumber];
+ }
+}
+
+- (NSString *)phoneNumber {
+ return parameters[NAMES_phoneNumber];
+}
+
+- (void)setLocationImage:(SDLImage *)locationImage {
+ if (locationImage != nil) {
+ parameters[NAMES_locationImage] = locationImage;
+ } else {
+ [parameters removeObjectForKey:NAMES_locationImage];
+ }
+}
+
+- (SDLImage *)locationImage {
+ id obj = parameters[NAMES_locationImage];
+ if ([obj isKindOfClass:[SDLImage class]]) {
+ return (SDLImage *)obj;
+ } else {
+ return [[SDLImage alloc] initWithDictionary:obj];
+ }
+}
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocationResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocationResponse.h
new file mode 100644
index 000000000..81bf6ce21
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocationResponse.h
@@ -0,0 +1,16 @@
+//
+// SDLSendLocationResponse.h
+// SmartDeviceLink-iOS
+//
+// Created by Joel Fischer on 4/2/15.
+// Copyright (c) 2015 smartdevicelink. All rights reserved.
+//
+
+#import <SmartDeviceLink/SmartDeviceLink.h>
+
+@interface SDLSendLocationResponse : SDLRPCResponse
+
+- (instancetype)init;
+- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocationResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocationResponse.m
new file mode 100644
index 000000000..13c914c49
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSendLocationResponse.m
@@ -0,0 +1,34 @@
+//
+// SDLSendLocationResponse.m
+// SmartDeviceLink-iOS
+//
+// Created by Joel Fischer on 4/2/15.
+// Copyright (c) 2015 smartdevicelink. All rights reserved.
+//
+
+#import "SDLSendLocationResponse.h"
+
+#import "SDLNames.h"
+
+
+@implementation SDLSendLocationResponse
+
+- (instancetype)init {
+ self = [super initWithName:NAMES_SendLocation];
+ if (!self) {
+ return nil;
+ }
+
+ return self;
+}
+
+- (instancetype)initWithDictionary:(NSMutableDictionary *)dict {
+ self = [super initWithDictionary:dict];
+ if (!self) {
+ return nil;
+ }
+
+ return self;
+}
+
+@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.h
index 1fcd6e1dc..594e9fc1d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.h
@@ -17,12 +17,12 @@
/**
* @abstract Constructs a new SDLSetAppIcon object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSetAppIcon object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A file reference name
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.m
index ba287c1f5..d8f9f7a63 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIcon.m
@@ -8,12 +8,12 @@
@implementation SDLSetAppIcon
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SetAppIcon]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.h
index 2366c65fe..90c1c1fc3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.h
@@ -10,7 +10,7 @@
*/
@interface SDLSetAppIconResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.m
index cfd817574..674127dc5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetAppIconResponse.m
@@ -8,12 +8,12 @@
@implementation SDLSetAppIconResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SetAppIcon]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.h
index 705ffb09d..1beb27a3d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.h
@@ -16,13 +16,13 @@
/**
* @abstract Constructs a new SDLSetDisplayLayout object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSetDisplayLayout object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A display layout. Predefined or dynamically created screen layout.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.m
index 2a53fbc78..f13ca1dad 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayout.m
@@ -8,12 +8,12 @@
@implementation SDLSetDisplayLayout
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SetDisplayLayout]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.h
index edaa41d9b..c1fe8c5bf 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.h
@@ -1,12 +1,11 @@
// SDLSetDisplayLayoutResponse.h
//
-
-
#import "SDLRPCResponse.h"
-#import "SDLDisplayCapabilities.h"
-#import "SDLPresetBankCapabilities.h"
+@class SDLDisplayCapabilities;
+@class SDLPresetBankCapabilities;
+
/**
* Set Display Layout Response is sent, when SetDisplayLayout has been called
@@ -18,8 +17,8 @@
/**
* @abstract Constructs a new SDLSetDisplayLayoutResponse object
*/
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLDisplayCapabilities* displayCapabilities;
@property(strong) NSMutableArray* buttonCapabilities;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.m
index cf52abe58..760a6cf9e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetDisplayLayoutResponse.m
@@ -4,18 +4,21 @@
#import "SDLSetDisplayLayoutResponse.h"
-#import "SDLNames.h"
#import "SDLButtonCapabilities.h"
+#import "SDLDisplayCapabilities.h"
+#import "SDLNames.h"
+#import "SDLPresetBankCapabilities.h"
#import "SDLSoftButtonCapabilities.h"
+
@implementation SDLSetDisplayLayoutResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SetDisplayLayout]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.h
index 660100dfe..84e0b0b47 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.h
@@ -1,12 +1,11 @@
// SDLSetGlobalProperties.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLImage.h"
-#import "SDLKeyboardProperties.h"
+@class SDLImage;
+@class SDLKeyboardProperties;
+
/**
* Sets value(s) for the specified global property(ies)
@@ -23,13 +22,13 @@
/**
* @abstract Constructs a new SDLSetGlobalProperties object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSetGlobalProperties object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract Sets a Vector<TTSChunk> for Help Prompt that Array of one or more
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.m
index 2d2d47454..2aa816ad1 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalProperties.m
@@ -4,18 +4,21 @@
#import "SDLSetGlobalProperties.h"
+#import "SDLImage.h"
+#import "SDLKeyboardProperties.h"
#import "SDLNames.h"
#import "SDLTTSChunk.h"
-#import "SDLVrHelpItem.h"
+#import "SDLVRHelpItem.h"
+
@implementation SDLSetGlobalProperties
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SetGlobalProperties]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
@@ -84,12 +87,12 @@
-(NSMutableArray*) vrHelp {
NSMutableArray* array = [parameters objectForKey:NAMES_vrHelp];
- if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVrHelpItem.class]) {
+ if ([array count] < 1 || [[array objectAtIndex:0] isKindOfClass:SDLVRHelpItem.class]) {
return array;
} else {
NSMutableArray* newList = [NSMutableArray arrayWithCapacity:[array count]];
for (NSDictionary* dict in array) {
- [newList addObject:[[SDLVrHelpItem alloc] initWithDictionary:(NSMutableDictionary*)dict]];
+ [newList addObject:[[SDLVRHelpItem alloc] initWithDictionary:(NSMutableDictionary*)dict]];
}
return newList;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h
index 06438af9e..8e63d24a9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h
@@ -15,12 +15,12 @@
/**
* @abstract Constructs a new SDLSetGlobalPropertiesResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSetGlobalPropertiesResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.m
index 96171c7f0..ef60ac45c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetGlobalPropertiesResponse.m
@@ -8,12 +8,12 @@
@implementation SDLSetGlobalPropertiesResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SetGlobalProperties]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.h
index 04bcd298b..be53ac204 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.h
@@ -1,12 +1,11 @@
// SDLSetMediaClockTimer.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLStartTime.h"
-#import "SDLUpdateMode.h"
+@class SDLStartTime;
+@class SDLUpdateMode;
+
/**
* Sets the media clock/timer value and the update method (e.g.count-up,
@@ -23,13 +22,13 @@
/**
* @abstract Constructs a new SDLSetMediaClockTimer object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSetMediaClockTimer object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A Start Time with specifying hour, minute, second values
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.m
index be32759fc..f45cf90db 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimer.m
@@ -5,15 +5,18 @@
#import "SDLSetMediaClockTimer.h"
#import "SDLNames.h"
+#import "SDLStartTime.h"
+#import "SDLUpdateMode.h"
+
@implementation SDLSetMediaClockTimer
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SetMediaClockTimer]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.h
index 85124d9ca..100fb5da5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.h
@@ -15,7 +15,7 @@
/**
* @abstract Constructs a new SDLSetMediaClockTimerResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSetMediaClockTimerResponse object indicated by the NSMutableDictionary
* parameter
@@ -23,6 +23,6 @@
*
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.m
index 63c937c53..0ec2a9d97 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSetMediaClockTimerResponse.m
@@ -8,12 +8,12 @@
@implementation SDLSetMediaClockTimerResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SetMediaClockTimer]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.h
index a68dc6878..9f2600bae 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.h
@@ -1,12 +1,11 @@
// SDLShow.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLTextAlignment.h"
-#import "SDLImage.h"
+@class SDLImage;
+@class SDLTextAlignment;
+
/**
* Updates the application's display text area, regardless of whether or not
@@ -35,12 +34,12 @@
/**
* @abstract Constructs a new SDLShow object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLShow object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The text displayed in a single-line display, or in the upper display
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.m
index a9c0a499a..15242b05c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShow.m
@@ -4,17 +4,20 @@
#import "SDLShow.h"
+#import "SDLImage.h"
#import "SDLNames.h"
#import "SDLSoftButton.h"
+#import "SDLTextAlignment.h"
+
@implementation SDLShow
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_Show]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.h
index 5eed2bed4..ddd510af8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.h
@@ -1,11 +1,10 @@
// SDLShowConstantTBT.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLImage.h"
+@class SDLImage;
+
/** This RPC is used to update the user with navigation information<br>
* for the constantly shown screen (base screen),but also for the<br>
@@ -15,8 +14,8 @@
*/
@interface SDLShowConstantTBT : SDLRPCRequest {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSString* navigationText1;
@property(strong) NSString* navigationText2;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.m
index 8bc0a258f..ab880cb6f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBT.m
@@ -4,17 +4,19 @@
#import "SDLShowConstantTBT.h"
+#import "SDLImage.h"
#import "SDLNames.h"
#import "SDLSoftButton.h"
+
@implementation SDLShowConstantTBT
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ShowConstantTBT]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.h
index 3e399bcd5..b20e7e18e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.h
@@ -10,7 +10,7 @@
*/
@interface SDLShowConstantTBTResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.m
index 87a8153be..dc10cc585 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowConstantTBTResponse.m
@@ -8,12 +8,12 @@
@implementation SDLShowConstantTBTResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_ShowConstantTBT]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.h
index 58e7e80a4..44f40df0c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.h
@@ -15,12 +15,12 @@
/**
* @abstract Constructs a new SDLShowResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLShowResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.m
index 7db77048f..71fab35f8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLShowResponse.m
@@ -8,12 +8,12 @@
@implementation SDLShowResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_Show]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.h
index ee60e5a03..240f613f2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.h
@@ -1,11 +1,10 @@
// SDLSingleTireStatus.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLComponentVolumeStatus.h"
+@class SDLComponentVolumeStatus;
+
/**
* Tire pressure status of a single tire.
@@ -33,13 +32,13 @@
/**
* @abstract Constructs a newly allocated SDLSingleTireStatus object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLSingleTireStatus object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The volume status of a single tire
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.m
index afbdf5640..b24a60f97 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSingleTireStatus.m
@@ -1,19 +1,20 @@
// SDLSingleTireStatus.m
//
-
#import "SDLSingleTireStatus.h"
+#import "SDLComponentVolumeStatus.h"
#import "SDLNames.h"
+
@implementation SDLSingleTireStatus
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.m
index c97e60195..227b40259 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSiphonServer.m
@@ -46,6 +46,7 @@ bool _sendSiphonData(const void* dataBytes, int dataBytesLength, SiphonDataType
void _startServerOnPort(int port);
void _stopServer(NSString *reason);
+
@implementation SDLSiphonServer
// Model currently counts on init being called before any apps call _siphonNSLogData()
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.h
index dbd61ebeb..97568f285 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.h
@@ -22,12 +22,12 @@
/**
* @abstract Constructs a new SDLSlider object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSlider object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A number of selectable items on a horizontal axis
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.m
index a27f254e3..8afa6589c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSlider.m
@@ -8,12 +8,12 @@
@implementation SDLSlider
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_Slider]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.h
index 7abed2048..26fe1f9e2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.h
@@ -15,13 +15,13 @@
/**
* @abstract Constructs a new SDLSliderResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSliderResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The selected position of the slider.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.m
index 484ffaf92..756b6dbd4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSliderResponse.m
@@ -8,12 +8,12 @@
@implementation SDLSliderResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_Slider]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.h
index 5f00d8742..d893ef748 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.h
@@ -1,18 +1,17 @@
// SDLSoftButton.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLSoftButtonType.h"
-#import "SDLImage.h"
-#import "SDLSystemAction.h"
+@class SDLImage;
+@class SDLSoftButtonType;
+@class SDLSystemAction;
+
@interface SDLSoftButton : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLSoftButtonType* type;
@property(strong) NSString* text;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.m
index b459b36f6..41ac09618 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButton.m
@@ -1,19 +1,22 @@
// SDLSoftButton.m
//
-
#import "SDLSoftButton.h"
+#import "SDLImage.h"
#import "SDLNames.h"
+#import "SDLSoftButtonType.h"
+#import "SDLSystemAction.h"
+
@implementation SDLSoftButton
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.h
index 32deeac6f..d1c603acc 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.h
@@ -54,12 +54,12 @@
/**
* @abstract Constructs a newly allocated SDLSoftButtonCapabilities object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLSoftButtonCapabilities object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The button supports a short press.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.m
index 0bd77a59f..b7de33b86 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonCapabilities.m
@@ -8,12 +8,12 @@
@implementation SDLSoftButtonCapabilities
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.h
index c7962bb0b..7028064a4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.h
@@ -20,7 +20,7 @@
@abstract declare an array to store all possible SDLSoftButtonType values
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract Text kind Softbutton
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.m
index 9526e282e..7117fceda 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSoftButtonType.m
@@ -8,7 +8,7 @@ SDLSoftButtonType* SDLSoftButtonType_TEXT = nil;
SDLSoftButtonType* SDLSoftButtonType_IMAGE = nil;
SDLSoftButtonType* SDLSoftButtonType_BOTH = nil;
-NSMutableArray* SDLSoftButtonType_values = nil;
+NSArray* SDLSoftButtonType_values = nil;
@implementation SDLSoftButtonType
@@ -21,13 +21,13 @@ NSMutableArray* SDLSoftButtonType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLSoftButtonType_values == nil) {
- SDLSoftButtonType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLSoftButtonType_values = @[
SDLSoftButtonType.TEXT,
SDLSoftButtonType.IMAGE,
SDLSoftButtonType.BOTH,
- nil];
+ ];
}
return SDLSoftButtonType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.h
index 6d8096b15..2c0e3b349 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.h
@@ -79,12 +79,12 @@
/**
* @abstract Constructs a new SDLSpeak object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSpeak object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A Vector<TTSChunk> representing an array of 1-100 TTSChunk structs
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.m
index 2f0b311e7..f70091aa4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeak.m
@@ -9,12 +9,12 @@
@implementation SDLSpeak
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_Speak]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.h
index 264e14703..33aed322e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.h
@@ -15,13 +15,13 @@
/**
* @abstract Constructs a new SDLSpeakResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSpeakResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.m
index 5c551aa78..0dfd23e44 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeakResponse.m
@@ -8,12 +8,12 @@
@implementation SDLSpeakResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_Speak]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.h
index 57f49945b..293a695da 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.h
@@ -22,7 +22,7 @@
@abstract declare an array to store all possible SDLSpeechCapabilities values
@result return the array
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The SDL platform can speak text phrases.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.m
index 2ec942515..bb7896df9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSpeechCapabilities.m
@@ -10,7 +10,7 @@ SDLSpeechCapabilities* SDLSpeechCapabilities_LHPLUS_PHONEMES = nil;
SDLSpeechCapabilities* SDLSpeechCapabilities_PRE_RECORDED = nil;
SDLSpeechCapabilities* SDLSpeechCapabilities_SILENCE = nil;
-NSMutableArray* SDLSpeechCapabilities_values = nil;
+NSArray* SDLSpeechCapabilities_values = nil;
@implementation SDLSpeechCapabilities
@@ -23,15 +23,15 @@ NSMutableArray* SDLSpeechCapabilities_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLSpeechCapabilities_values == nil) {
- SDLSpeechCapabilities_values = [[NSMutableArray alloc] initWithObjects:
+ SDLSpeechCapabilities_values = @[
SDLSpeechCapabilities.TEXT,
SDLSpeechCapabilities.SAPI_PHONEMES,
SDLSpeechCapabilities.LHPLUS_PHONEMES,
SDLSpeechCapabilities.PRE_RECORDED,
SDLSpeechCapabilities.SILENCE,
- nil];
+ ];
}
return SDLSpeechCapabilities_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.h
index e693d7374..0c2889902 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.h
@@ -43,12 +43,12 @@
/**
* @abstract Constructs a newly allocated SDLStartTime object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLStartTime object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The hour. Minvalue="0", maxvalue="59"
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.m
index f742e8608..c433f1b5c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLStartTime.m
@@ -8,12 +8,12 @@
@implementation SDLStartTime
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h
index 1acc9841d..2cccd4faf 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h
@@ -5,7 +5,8 @@
#import "SDLRPCRequest.h"
-#import "SDLButtonName.h"
+@class SDLButtonName;
+
/**
* Establishes a subscription to button notifications for HMI buttons. Buttons
@@ -62,13 +63,13 @@
/**
* @abstract Constructs a new SDLSubscribeButton object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSubscribeButton object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The name of the button to subscribe to
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.m
index fb8572e3d..5b361ec9b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.m
@@ -4,16 +4,18 @@
#import "SDLSubscribeButton.h"
+#import "SDLButtonName.h"
#import "SDLNames.h"
+
@implementation SDLSubscribeButton
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SubscribeButton]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.h
index b9273d6c2..46b9c6dd2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.h
@@ -15,12 +15,12 @@
/**
* @abstract Constructs a new SDLSubscribeButtonResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSubscribeButtonResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.m
index c1793bcf0..49bbf8aa4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButtonResponse.m
@@ -8,12 +8,12 @@
@implementation SDLSubscribeButtonResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SubscribeButton]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.h
index 83ac14d5d..608bd6d66 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.h
@@ -25,14 +25,14 @@
/**
* @abstract Constructs a new SDLSubscribeVehicleData object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSubscribeVehicleData object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A boolean value. If true, subscribes Gps data
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.m
index e29737360..64abfe14f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleData.m
@@ -8,12 +8,12 @@
@implementation SDLSubscribeVehicleData
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SubscribeVehicleData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h
index 5631e7321..c308f7082 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h
@@ -1,11 +1,10 @@
// SDLSubscribeVehicleDataResponse.h
//
-
-
#import "SDLRPCResponse.h"
-#import "SDLVehicleDataResult.h"
+@class SDLVehicleDataResult;
+
/**
* Subscribe Vehicle Data Response is sent, when SDLSubscribeVehicleData has been called
@@ -17,14 +16,14 @@
/**
* @abstract Constructs a new SDLSubscribeVehicleDataResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLSubscribeVehicleDataResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m
index 2dbfe81fc..a95641132 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m
@@ -5,15 +5,17 @@
#import "SDLSubscribeVehicleDataResponse.h"
#import "SDLNames.h"
+#import "SDLVehicleDataResult.h"
+
@implementation SDLSubscribeVehicleDataResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SubscribeVehicleData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.h
index fdebd4d9a..64f70fbe7 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.h
@@ -45,12 +45,12 @@
/**
* @abstract Constructs a newly allocated SDLSyncMsgVersion object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLSyncMsgVersion object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract Major version
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.m
index b1729611d..afe87509c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncMsgVersion.m
@@ -8,12 +8,12 @@
@implementation SDLSyncMsgVersion
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.h
index a4dbdaa60..1601499b6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.h
@@ -7,7 +7,7 @@
@interface SDLSyncPData : SDLRPCRequest {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.m
index f8f0b362e..bceec8e3a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPData.m
@@ -8,12 +8,12 @@
@implementation SDLSyncPData
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SyncPData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.h
index 159ca5167..7884d4bd9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.h
@@ -7,7 +7,7 @@
@interface SDLSyncPDataResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.m
index 6c001a650..bcde041db 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSyncPDataResponse.m
@@ -8,12 +8,12 @@
@implementation SDLSyncPDataResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SyncPData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.h
index 0622e7be3..0a9c0b106 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.h
@@ -21,7 +21,7 @@
@abstract Store the enumeration of all possible SDLSystemAction
@result return an array that store all possible SDLSystemAction
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract Default_Action
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.m
index fd31ef5f9..59558cce8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemAction.m
@@ -8,7 +8,7 @@ SDLSystemAction* SDLSystemAction_DEFAULT_ACTION = nil;
SDLSystemAction* SDLSystemAction_STEAL_FOCUS = nil;
SDLSystemAction* SDLSystemAction_KEEP_CONTEXT = nil;
-NSMutableArray* SDLSystemAction_values = nil;
+NSArray* SDLSystemAction_values = nil;
@implementation SDLSystemAction
@@ -21,13 +21,13 @@ NSMutableArray* SDLSystemAction_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLSystemAction_values == nil) {
- SDLSystemAction_values = [[NSMutableArray alloc] initWithObjects:
+ SDLSystemAction_values = @[
SDLSystemAction.DEFAULT_ACTION,
SDLSystemAction.STEAL_FOCUS,
SDLSystemAction.KEEP_CONTEXT,
- nil];
+ ];
}
return SDLSystemAction_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.h
index cd800ad85..fe3b60543 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.h
@@ -23,7 +23,7 @@
@abstract Store the enumeration of all possible SDLSystemContext
@result return an array that store all possible SDLSystemContext
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract No user interaction (user-initiated or app-initiated) is in progress.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.m
index c222923fa..0b2c25d33 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemContext.m
@@ -10,7 +10,7 @@ SDLSystemContext* SDLSystemContext_MENU = nil;
SDLSystemContext* SDLSystemContext_HMI_OBSCURED = nil;
SDLSystemContext* SDLSystemContext_ALERT = nil;
-NSMutableArray* SDLSystemContext_values = nil;
+NSArray* SDLSystemContext_values = nil;
@implementation SDLSystemContext
@@ -23,15 +23,15 @@ NSMutableArray* SDLSystemContext_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLSystemContext_values == nil) {
- SDLSystemContext_values = [[NSMutableArray alloc] initWithObjects:
+ SDLSystemContext_values = @[
SDLSystemContext.MAIN,
SDLSystemContext.VRSESSION,
SDLSystemContext.MENU,
SDLSystemContext.HMI_OBSCURED,
SDLSystemContext.ALERT,
- nil];
+ ];
}
return SDLSystemContext_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.h
index 6b7fa9040..9d672f10b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.h
@@ -1,11 +1,9 @@
// SDLSystemRequest.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLRequestType.h"
+@class SDLRequestType;
/** An asynchronous request from the device; binary data can be included in hybrid part of message for some requests<br> (such as HTTP, Proprietary, or Authentication requests)
@@ -15,8 +13,8 @@
*/
@interface SDLSystemRequest : SDLRPCRequest {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLRequestType* requestType;
@property(strong) NSString* fileName;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.m
index 0907911a0..8e4749ac9 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequest.m
@@ -5,15 +5,17 @@
#import "SDLSystemRequest.h"
#import "SDLNames.h"
+#import "SDLRequestType.h"
+
@implementation SDLSystemRequest
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SystemRequest]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.h
index a11943aea..ea951b51c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.h
@@ -10,7 +10,7 @@
*/
@interface SDLSystemRequestResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.m
index 0db5df2ef..367911585 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSystemRequestResponse.m
@@ -8,12 +8,12 @@
@implementation SDLSystemRequestResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_SystemRequest]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.h
index f10771b45..ea3115230 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.h
@@ -8,7 +8,7 @@
@interface SDLTBTState : SDLEnum {}
+(SDLTBTState*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLTBTState*) ROUTE_UPDATE_REQUEST;
+(SDLTBTState*) ROUTE_ACCEPTED;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.m
index a22fb5164..5b0f6769c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTBTState.m
@@ -15,7 +15,7 @@ SDLTBTState* SDLTBTState_ROUTE_SUMMARY_REQUEST = nil;
SDLTBTState* SDLTBTState_TRIP_STATUS_REQUEST = nil;
SDLTBTState* SDLTBTState_ROUTE_UPDATE_REQUEST_TIMEOUT = nil;
-NSMutableArray* SDLTBTState_values = nil;
+NSArray* SDLTBTState_values = nil;
@implementation SDLTBTState
@@ -28,9 +28,9 @@ NSMutableArray* SDLTBTState_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLTBTState_values == nil) {
- SDLTBTState_values = [[NSMutableArray alloc] initWithObjects:
+ SDLTBTState_values = @[
SDLTBTState.ROUTE_UPDATE_REQUEST,
SDLTBTState.ROUTE_ACCEPTED,
SDLTBTState.ROUTE_REFUSED,
@@ -41,7 +41,7 @@ NSMutableArray* SDLTBTState_values = nil;
SDLTBTState.ROUTE_SUMMARY_REQUEST,
SDLTBTState.TRIP_STATUS_REQUEST,
SDLTBTState.ROUTE_UPDATE_REQUEST_TIMEOUT,
- nil];
+ ];
}
return SDLTBTState_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.h
index a516d55b3..52b836711 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.h
@@ -1,8 +1,6 @@
// SDLTCPTransport.h
//
-
-
#import "SDLAbstractTransport.h"
@interface SDLTCPTransport : SDLAbstractTransport {
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.m
index 220b0f6a0..265934883 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTCPTransport.m
@@ -15,6 +15,7 @@
#import <netinet/in.h>
#import <netdb.h>
+
int call_socket(const char* hostname, const char* port) {
int status, sock;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.h
index 15c67e2b4..f86b6bcff 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.h
@@ -1,11 +1,10 @@
// SDLTTSChunk.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLSpeechCapabilities.h"
+@class SDLSpeechCapabilities;
+
/**
* Specifies what is to be spoken. This can be simply a text phrase, which SDL will speak according to its own rules.
@@ -44,12 +43,12 @@
/**
* @abstract Constructs a newly allocated SDLTTSChunk object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLTTSChunk object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract Text to be spoken, or a phoneme specification, or the name of a pre-recorded sound. The contents of this field are indicated by the "type" field.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.m
index 144ae1fd5..8f5d068d8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunk.m
@@ -1,19 +1,20 @@
// SDLTTSChunk.m
//
-
#import "SDLTTSChunk.h"
#import "SDLNames.h"
+#import "SDLSpeechCapabilities.h"
+
@implementation SDLTTSChunk
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.h
index 2644cb95e..d52509bc4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.h
@@ -1,12 +1,12 @@
// SDLTTSChunkFactory.h
//
+@import Foundation;
+@class SDLTTSChunk;
+@class SDLSpeechCapabilities;
-#import "SDLJingle.h"
-#import "SDLTTSChunk.h"
-
@interface SDLTTSChunkFactory : NSObject {}
+(SDLTTSChunk*) buildTTSChunkForString:(NSString*) text type:(SDLSpeechCapabilities*)type;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.m
index ba4799266..25d32d4b6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTTSChunkFactory.m
@@ -1,9 +1,12 @@
// SDLTTSChunkFactory.m
//
-
#import "SDLTTSChunkFactory.h"
+#import "SDLSpeechCapabilities.h"
+#import "SDLTTSChunk.h"
+
+
@implementation SDLTTSChunkFactory
+ (SDLTTSChunk *)buildTTSChunkForString:(NSString *)text type:(SDLSpeechCapabilities *)type {
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.h
index 669692eff..b5dc140d3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLTextAlignment
@result return an array that store all possible SDLTextAlignment
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Text aligned left.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.m
index e09e06e82..369ceeb63 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextAlignment.m
@@ -8,7 +8,7 @@ SDLTextAlignment* SDLTextAlignment_LEFT_ALIGNED = nil;
SDLTextAlignment* SDLTextAlignment_RIGHT_ALIGNED = nil;
SDLTextAlignment* SDLTextAlignment_CENTERED = nil;
-NSMutableArray* SDLTextAlignment_values = nil;
+NSArray* SDLTextAlignment_values = nil;
@implementation SDLTextAlignment
@@ -21,13 +21,13 @@ NSMutableArray* SDLTextAlignment_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLTextAlignment_values == nil) {
- SDLTextAlignment_values = [[NSMutableArray alloc] initWithObjects:
+ SDLTextAlignment_values = @[
SDLTextAlignment.LEFT_ALIGNED,
SDLTextAlignment.RIGHT_ALIGNED,
SDLTextAlignment.CENTERED,
- nil];
+ ];
}
return SDLTextAlignment_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.h
index 4bcb5a606..383b98e74 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.h
@@ -1,11 +1,11 @@
// SDLTextField.h
//
-
#import "SDLRPCMessage.h"
-#import "SDLTextFieldName.h"
-#import "SDLCharacterSet.h"
+@class SDLCharacterSet;
+@class SDLTextFieldName;
+
/**
* Struct defining the characteristics of a displayed field on the HMI.
@@ -59,12 +59,12 @@
/**
* @abstract Constructs a newly allocated SDLTextField object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLTextField object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The enumeration identifying the field.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.m
index b8732ea40..26f02c389 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextField.m
@@ -1,19 +1,21 @@
// SDLTextField.m
//
-
#import "SDLTextField.h"
+#import "SDLCharacterSet.h"
#import "SDLNames.h"
+#import "SDLTextFieldName.h"
+
@implementation SDLTextField
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.h
index 604181540..ef81105d0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLTextFieldName
@result return an array that store all possible SDLTextFieldName
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The first line of the first set of main fields of the persistent display. Applies to <i>Show</i>.
@@ -140,10 +140,50 @@
* @since <font color=red><b> SmartDeviceLink 2.0 </b></font>
*/
+(SDLTextFieldName*) sliderFooter;
+
+/**
+ * Primary text for Choice
+ */
+(SDLTextFieldName*) menuName;
+
+/**
+ * Secondary text for Choice
+ */
+(SDLTextFieldName*) secondaryText;
+
+/**
+ * Tertiary text for Choice
+ */
+(SDLTextFieldName*) tertiaryText;
+
+/**
+ * Optional text to label an app menu button (for certain touchscreen platforms)
+ */
+(SDLTextFieldName*) menuTitle;
+/**
+ * Optional name / title of intended location for SendLocation
+ * @since SDL 4.0
+ */
++(SDLTextFieldName*) locationName;
+
+/**
+ * Optional description of intended location / establishment (if applicable) for SendLocation
+ * @since SDL 4.0
+ */
++(SDLTextFieldName*) locationDescription;
+
+/**
+ * Optional location address (if applicable) for SendLocation
+ * @since SDL 4.0
+ */
++(SDLTextFieldName*) addressLines;
+
+/**
+ * Optional hone number of intended location / establishment (if applicable) for SendLocation
+ * @since SDL 4.0
+ */
++(SDLTextFieldName*) phoneNumber;
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.m
index 5eb489386..2ee079906 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTextFieldName.m
@@ -28,8 +28,12 @@ SDLTextFieldName* SDLTextFieldName_menuName = nil;
SDLTextFieldName* SDLTextFieldName_secondaryText = nil;
SDLTextFieldName* SDLTextFieldName_tertiaryText = nil;
SDLTextFieldName* SDLTextFieldName_menuTitle = nil;
+SDLTextFieldName* SDLTextFieldName_locationName = nil;
+SDLTextFieldName* SDLTextFieldName_locationDescription = nil;
+SDLTextFieldName* SDLTextFieldName_addressLines = nil;
+SDLTextFieldName* SDLTextFieldName_phoneNumber = nil;
-NSMutableArray* SDLTextFieldName_values = nil;
+NSArray* SDLTextFieldName_values = nil;
@implementation SDLTextFieldName
@@ -42,9 +46,9 @@ NSMutableArray* SDLTextFieldName_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLTextFieldName_values == nil) {
- SDLTextFieldName_values = [[NSMutableArray alloc] initWithObjects:
+ SDLTextFieldName_values = @[
SDLTextFieldName.mainField1,
SDLTextFieldName.mainField2,
SDLTextFieldName.mainField3,
@@ -69,7 +73,11 @@ NSMutableArray* SDLTextFieldName_values = nil;
SDLTextFieldName.secondaryText,
SDLTextFieldName.tertiaryText,
SDLTextFieldName.menuTitle,
- nil];
+ SDLTextFieldName.locationName,
+ SDLTextFieldName.locationDescription,
+ SDLTextFieldName.addressLines,
+ SDLTextFieldName.phoneNumber,
+ ];
}
return SDLTextFieldName_values;
}
@@ -242,4 +250,32 @@ NSMutableArray* SDLTextFieldName_values = nil;
return SDLTextFieldName_menuTitle;
}
++(SDLTextFieldName*) locationName {
+ if (SDLTextFieldName_locationName == nil) {
+ SDLTextFieldName_locationName = [[SDLTextFieldName alloc] initWithValue:@"locationName"];
+ }
+ return SDLTextFieldName_locationName;
+}
+
++(SDLTextFieldName*) locationDescription {
+ if (SDLTextFieldName_locationDescription == nil) {
+ SDLTextFieldName_locationDescription = [[SDLTextFieldName alloc] initWithValue:@"locationDescription"];
+ }
+ return SDLTextFieldName_locationDescription;
+}
+
++(SDLTextFieldName*) addressLines {
+ if (SDLTextFieldName_addressLines == nil) {
+ SDLTextFieldName_addressLines = [[SDLTextFieldName alloc] initWithValue:@"addressLines"];
+ }
+ return SDLTextFieldName_addressLines;
+}
+
++(SDLTextFieldName*) phoneNumber {
+ if (SDLTextFieldName_phoneNumber == nil) {
+ SDLTextFieldName_phoneNumber = [[SDLTextFieldName alloc] initWithValue:@"phoneNumber"];
+ }
+ return SDLTextFieldName_phoneNumber;
+}
+
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.h
index 3ddcebebc..21a1f368e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.h
@@ -8,7 +8,7 @@
@interface SDLTimerMode : SDLEnum {}
+(SDLTimerMode*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLTimerMode*) UP;
+(SDLTimerMode*) DOWN;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.m
index 566b5ed9d..082459f30 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTimerMode.m
@@ -8,7 +8,7 @@ SDLTimerMode* SDLTimerMode_UP = nil;
SDLTimerMode* SDLTimerMode_DOWN = nil;
SDLTimerMode* SDLTimerMode_NONE = nil;
-NSMutableArray* SDLTimerMode_values = nil;
+NSArray* SDLTimerMode_values = nil;
@implementation SDLTimerMode
@@ -21,13 +21,13 @@ NSMutableArray* SDLTimerMode_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLTimerMode_values == nil) {
- SDLTimerMode_values = [[NSMutableArray alloc] initWithObjects:
+ SDLTimerMode_values = @[
SDLTimerMode.UP,
SDLTimerMode.DOWN,
SDLTimerMode.NONE,
- nil];
+ ];
}
return SDLTimerMode_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.h
index ced4eeafe..78245d622 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.h
@@ -1,17 +1,16 @@
// SDLTireStatus.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLWarningLightStatus.h"
-#import "SDLSingleTireStatus.h"
+@class SDLSingleTireStatus;
+@class SDLWarningLightStatus;
+
@interface SDLTireStatus : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLWarningLightStatus* pressureTelltale;
@property(strong) SDLSingleTireStatus* leftFront;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.m
index 88ca36917..788e5282e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTireStatus.m
@@ -1,19 +1,21 @@
// SDLTireStatus.m
//
-
#import "SDLTireStatus.h"
#import "SDLNames.h"
+#import "SDLSingleTireStatus.h"
+#import "SDLWarningLightStatus.h"
+
@implementation SDLTireStatus
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.h
index 87b607aa0..30f638af0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.h
@@ -7,8 +7,8 @@
@interface SDLTouchCoord : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* x;
@property(strong) NSNumber* y;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.m
index f7dba9edb..f9de201a0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchCoord.m
@@ -8,12 +8,12 @@
@implementation SDLTouchCoord
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.h
index 624843466..f9a4a76e0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.h
@@ -7,11 +7,34 @@
@interface SDLTouchEvent : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
+/**
+ A touch's unique identifier. The application can track the current touch events by id.
+ If a touch event has type begin, the id should be added to the set of touches.
+ If a touch event has type end, the id should be removed from the set of touches.
+
+ Mandatory, 0-9
+ */
@property(strong) NSNumber* touchEventId;
+
+/**
+ The time that the touch was recorded. This number can the time since the beginning of the session or something else as long as the units are in milliseconds.
+
+ The timestamp is used to determined the rate of change of position of a touch.
+
+ The application also uses the time to verify whether two touches, with different ids, are part of a single action by the user.
+
+ If there is only a single timestamp in this array, it is the same for every coordinate in the coordinates array.
+
+ Mandatory, array size 1-1000, contains <NSNumber> size 0-5000000000
+ */
@property(strong) NSMutableArray* timeStamp;
+
+/**
+ * Mandatory, array size 1-1000, contains SDLTouchCoord
+ */
@property(strong) NSMutableArray* coord;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.m
index bcb26d138..f3da9035a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEvent.m
@@ -9,12 +9,12 @@
@implementation SDLTouchEvent
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.h
index ce2c9c7d4..31426f11a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.h
@@ -7,8 +7,8 @@
@interface SDLTouchEventCapabilities : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSNumber* pressAvailable;
@property(strong) NSNumber* multiTouchAvailable;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.m
index 1d03ceb63..e8a2d872d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchEventCapabilities.m
@@ -8,12 +8,12 @@
@implementation SDLTouchEventCapabilities
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.h
index 37aacbbb0..9cafd1d5b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.h
@@ -8,7 +8,7 @@
@interface SDLTouchType : SDLEnum {}
+(SDLTouchType*) valueOf:(NSString*) value;
-+(NSMutableArray*) values;
++(NSArray*) values;
+(SDLTouchType*) BEGIN;
+(SDLTouchType*) MOVE;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.m
index 4247a2f4c..4012f02ae 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTouchType.m
@@ -8,7 +8,7 @@ SDLTouchType* SDLTouchType_BEGIN = nil;
SDLTouchType* SDLTouchType_MOVE = nil;
SDLTouchType* SDLTouchType_END = nil;
-NSMutableArray* SDLTouchType_values = nil;
+NSArray* SDLTouchType_values = nil;
@implementation SDLTouchType
@@ -21,13 +21,13 @@ NSMutableArray* SDLTouchType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLTouchType_values == nil) {
- SDLTouchType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLTouchType_values = @[
SDLTouchType.BEGIN,
SDLTouchType.MOVE,
SDLTouchType.END,
- nil];
+ ];
}
return SDLTouchType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransport.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransport.h
index 491b89c90..b3aeb70f3 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransport.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransport.h
@@ -1,12 +1,12 @@
// SDLTransport.h
//
-
@import Foundation;
#import "SDLTransportDelegate.h"
-@protocol SDLTransport
+
+@protocol SDLTransport <NSObject>
@property (weak) id<SDLTransportDelegate> delegate;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransportDelegate.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransportDelegate.h
index 53dc1a19e..4f4abe33f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransportDelegate.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTransportDelegate.h
@@ -1,10 +1,7 @@
// SDLTransportDelegate.h
//
-
-
-
-@protocol SDLTransportDelegate
+@protocol SDLTransportDelegate <NSObject>
- (void)onTransportConnected;
- (void)onTransportDisconnected;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.h
index ef290c01b..64897381c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.h
@@ -24,7 +24,7 @@
@abstract Store the enumeration of all possible SDLTriggerSource
@result return an array that store all possible SDLTriggerSource
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract Selection made via menu (i.e. using SEEKRIGHT/SEEKLEFT, TUNEUP, TUNEDOWN
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.m
index 606c0a824..9e94e7a93 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTriggerSource.m
@@ -8,7 +8,7 @@ SDLTriggerSource* SDLTriggerSource_MENU = nil;
SDLTriggerSource* SDLTriggerSource_VR = nil;
SDLTriggerSource* SDLTriggerSource_KEYBOARD = nil;
-NSMutableArray* SDLTriggerSource_values = nil;
+NSArray* SDLTriggerSource_values = nil;
@implementation SDLTriggerSource
@@ -21,13 +21,13 @@ NSMutableArray* SDLTriggerSource_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLTriggerSource_values == nil) {
- SDLTriggerSource_values = [[NSMutableArray alloc] initWithObjects:
+ SDLTriggerSource_values = @[
SDLTriggerSource.MENU,
SDLTriggerSource.VR,
SDLTriggerSource.KEYBOARD,
- nil];
+ ];
}
return SDLTriggerSource_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.h
index a45dede39..c1c475c8f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.h
@@ -1,16 +1,15 @@
// SDLTurn.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLImage.h"
+@class SDLImage;
+
@interface SDLTurn : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSString* navigationText;
@property(strong) SDLImage* turnIcon;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.m
index e2357dafe..466b31e24 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLTurn.m
@@ -1,19 +1,20 @@
// SDLTurn.m
//
-
#import "SDLTurn.h"
+#import "SDLImage.h"
#import "SDLNames.h"
+
@implementation SDLTurn
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.h
index efa6703fb..b4b441122 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.h
@@ -25,13 +25,13 @@
/**
* @abstract Constructs a new SDLUnregisterAppInterface object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLUnregisterAppInterface object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.m
index 4912811d4..86c23196b 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterface.m
@@ -8,12 +8,12 @@
@implementation SDLUnregisterAppInterface
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_UnregisterAppInterface]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h
index 90f0147da..44451cb8a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h
@@ -15,12 +15,12 @@
/**
* @abstract Constructs a new SDLUnregisterAppInterfaceResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLUnregisterAppInterfaceResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m
index 7dc504049..9c6acab7f 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m
@@ -8,12 +8,12 @@
@implementation SDLUnregisterAppInterfaceResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_UnregisterAppInterface]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.h
index 76ee00002..e252d1914 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.h
@@ -1,11 +1,10 @@
// SDLUnsubscribeButton.h
//
-
-
#import "SDLRPCRequest.h"
-#import "SDLButtonName.h"
+@class SDLButtonName;
+
/**
* Deletes a subscription to button notifications for the specified button. For
@@ -25,13 +24,13 @@
/**
* @abstract Constructs a new SDLUnsubscribeButton object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLUnsubscribeButton object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A name of the button to unsubscribe from
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.m
index f2dbd1837..b00e0fedb 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButton.m
@@ -4,16 +4,18 @@
#import "SDLUnsubscribeButton.h"
+#import "SDLButtonName.h"
#import "SDLNames.h"
+
@implementation SDLUnsubscribeButton
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_UnsubscribeButton]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.h
index 1b832b533..ed09458bd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.h
@@ -15,12 +15,12 @@
/**
* @abstract Constructs a new SDLUnsubscribeButtonResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLUnsubscribeButtonResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.m
index 43fc19fad..63ed033cc 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeButtonResponse.m
@@ -8,12 +8,12 @@
@implementation SDLUnsubscribeButtonResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_UnsubscribeButton]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.h
index be8785bf1..cf8bf021e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.h
@@ -23,14 +23,14 @@
/**
* @abstract Constructs a new SDLUnsubscribeVehicleData object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLUnsubscribeVehicleData object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A boolean value. If true, unsubscribes Gps data
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.m
index ece608362..335ba5a44 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleData.m
@@ -8,12 +8,12 @@
@implementation SDLUnsubscribeVehicleData
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_UnsubscribeVehicleData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h
index 21e906d98..ff2e5b564 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h
@@ -1,11 +1,10 @@
// SDLUnsubscribeVehicleDataResponse.h
//
-
-
#import "SDLRPCResponse.h"
-#import "SDLVehicleDataResult.h"
+@class SDLVehicleDataResult;
+
/**
* Unsubscribe Vehicle Data Response is sent, when UnsubscribeVehicleData has been called
@@ -17,14 +16,14 @@
/**
* @abstract Constructs a new SDLUnsubscribeVehicleDataResponse object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a new SDLUnsubscribeVehicleDataResponse object indicated by the NSMutableDictionary
* parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract A SDLVehicleDataResult* value. See GPSData.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m
index bdc3fb792..675932cae 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m
@@ -5,15 +5,17 @@
#import "SDLUnsubscribeVehicleDataResponse.h"
#import "SDLNames.h"
+#import "SDLVehicleDataResult.h"
+
@implementation SDLUnsubscribeVehicleDataResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_UnsubscribeVehicleData]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.h
index 8d46eaabb..cd549d7a0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLUpdateMode
@result return an array that store all possible SDLUpdateMode
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract Starts the media clock timer counting upward, in increments of 1 second.
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.m
index 66b7099d9..875a91b3e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateMode.m
@@ -10,7 +10,7 @@ SDLUpdateMode* SDLUpdateMode_PAUSE = nil;
SDLUpdateMode* SDLUpdateMode_RESUME = nil;
SDLUpdateMode* SDLUpdateMode_CLEAR = nil;
-NSMutableArray* SDLUpdateMode_values = nil;
+NSArray* SDLUpdateMode_values = nil;
@implementation SDLUpdateMode
@@ -23,15 +23,15 @@ NSMutableArray* SDLUpdateMode_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLUpdateMode_values == nil) {
- SDLUpdateMode_values = [[NSMutableArray alloc] initWithObjects:
+ SDLUpdateMode_values = @[
SDLUpdateMode.COUNTUP,
SDLUpdateMode.COUNTDOWN,
SDLUpdateMode.PAUSE,
SDLUpdateMode.RESUME,
SDLUpdateMode.CLEAR,
- nil];
+ ];
}
return SDLUpdateMode_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.h
index d10cd5ef7..2456d2324 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.h
@@ -12,8 +12,8 @@
*/
@interface SDLUpdateTurnList : SDLRPCRequest {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSMutableArray* turnList;
@property(strong) NSMutableArray* softButtons;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.m
index d8ffea3f3..aaffbe2a5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnList.m
@@ -10,12 +10,12 @@
@implementation SDLUpdateTurnList
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_UpdateTurnList]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.h
index 22dc2ef50..c16686d66 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.h
@@ -1,8 +1,6 @@
// SDLUpdateTurnListResponse.h
//
-
-
#import "SDLRPCResponse.h"
@@ -11,7 +9,7 @@
*/
@interface SDLUpdateTurnListResponse : SDLRPCResponse {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.m
index d13f475b4..41b15803a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLUpdateTurnListResponse.m
@@ -8,12 +8,12 @@
@implementation SDLUpdateTurnListResponse
--(id) init {
+-(instancetype) init {
if (self = [super initWithName:NAMES_UpdateTurnList]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.h
index f24a6113b..164e21196 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.h
@@ -6,9 +6,9 @@
@interface SDLV1ProtocolHeader : SDLProtocolHeader
-- (id)init;
+- (instancetype)init;
- (NSData *)data;
-- (id)copyWithZone:(NSZone *)zone;
+- (instancetype)copyWithZone:(NSZone *)zone;
- (void)parse:(NSData *)data;
- (NSString *)description;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.m
index 0b8e06d7a..c3bbdf837 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolHeader.m
@@ -8,7 +8,7 @@ const int V1PROTOCOL_HEADERSIZE = 8;
@implementation SDLV1ProtocolHeader
-- (id)init {
+- (instancetype)init {
if (self = [super init]) {
_version = 1;
_size = V1PROTOCOL_HEADERSIZE;
@@ -21,7 +21,7 @@ const int V1PROTOCOL_HEADERSIZE = 8;
Byte headerBytes[V1PROTOCOL_HEADERSIZE] = {0};
Byte version = (self.version & 0xF) << 4; // first 4 bits
- Byte compressed = self.compressed?1:0 << 3; // next 1 bit
+ Byte compressed = (self.compressed?1:0) << 3; // next 1 bit
Byte frameType = (self.frameType & 0x7); // last 3 bits
headerBytes[0] = version | compressed | frameType;
@@ -39,14 +39,14 @@ const int V1PROTOCOL_HEADERSIZE = 8;
return dataOut;
}
-- (id)copyWithZone:(NSZone *)zone
+- (instancetype)copyWithZone:(NSZone *)zone
{
SDLV1ProtocolHeader *newHeader = [[SDLV1ProtocolHeader allocWithZone: zone] init];
newHeader.compressed = self.compressed;
newHeader.frameType = self.frameType;
newHeader.serviceType = self.serviceType;
newHeader.frameData = self.frameData;
- newHeader.compressed = self.compressed;
+ newHeader.bytesInPayload = self.bytesInPayload;
newHeader.sessionID = self.sessionID;
return newHeader;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.h
index a07b4348a..a3501e8cb 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.h
@@ -1,12 +1,14 @@
-// SDLSmartDeviceLinkV1ProtocolMessage.h
+// SDLV1ProtocolMessage.h
//
-
#import "SDLProtocolMessage.h"
+@class SDLProtocolHeader;
+
+
@interface SDLV1ProtocolMessage : SDLProtocolMessage
-- (id)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload;
+- (instancetype)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload;
- (NSDictionary *)rpcDictionary;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.m
index 7ed6df2d6..664bad6f0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV1ProtocolMessage.m
@@ -1,14 +1,14 @@
-// SDLSmartDeviceLinkV1ProtocolMessage.m
+// SDLV1ProtocolMessage.m
//
-
-
-#import "SDLV1ProtocolMessage.h"
#import "SDLJsonDecoder.h"
+#import "SDLProtocolHeader.h"
+#import "SDLV1ProtocolMessage.h"
+
@implementation SDLV1ProtocolMessage
-- (id)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload {
+- (instancetype)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload {
if (self = [self init]) {
self.header = header;
self.payload = payload;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h
index a801f18e9..6368e4755 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.h
@@ -8,8 +8,8 @@
@property (assign) UInt32 messageID;
-- (id)init;
-- (id)copyWithZone:(NSZone *)zone;
+- (instancetype)init;
+- (instancetype)copyWithZone:(NSZone *)zone;
- (NSData *)data;
- (void)parse:(NSData *)data;
- (NSString *)description;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m
index b2b00ed46..0a4f48d2a 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolHeader.m
@@ -8,7 +8,7 @@ const int V2PROTOCOL_HEADERSIZE = 12;
@implementation SDLV2ProtocolHeader
-- (id)init {
+- (instancetype)init {
if (self = [super init]) {
_version = 2;
_size = V2PROTOCOL_HEADERSIZE;
@@ -21,7 +21,7 @@ const int V2PROTOCOL_HEADERSIZE = 12;
Byte headerBytes[V2PROTOCOL_HEADERSIZE] = {0};
Byte version = (self.version & 0xF) << 4; // first 4 bits
- Byte compressed = self.compressed?1:0 << 3; // next 1 bit
+ Byte compressed = (self.compressed?1:0) << 3; // next 1 bit
Byte frameType = (self.frameType & 0x7); // last 3 bits
headerBytes[0] = version | compressed | frameType;
@@ -42,14 +42,14 @@ const int V2PROTOCOL_HEADERSIZE = 12;
return dataOut;
}
-- (id)copyWithZone:(NSZone *)zone
+- (instancetype)copyWithZone:(NSZone *)zone
{
SDLV2ProtocolHeader *newHeader = [[SDLV2ProtocolHeader allocWithZone: zone] init];
newHeader.compressed = self.compressed;
newHeader.frameType = self.frameType;
newHeader.serviceType = self.serviceType;
newHeader.frameData = self.frameData;
- newHeader.compressed = self.compressed;
+ newHeader.bytesInPayload = self.bytesInPayload;
newHeader.sessionID = self.sessionID;
newHeader.messageID = self.messageID;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.h
index d31a163ee..c8c1b2660 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.h
@@ -4,9 +4,12 @@
#import "SDLProtocolMessage.h"
+@class SDLProtocolHeader;
+
+
@interface SDLV2ProtocolMessage : SDLProtocolMessage
-- (id)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload;
+- (instancetype)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload;
- (NSDictionary *)rpcDictionary;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.m
index 28d50f470..2e0596c4e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLV2ProtocolMessage.m
@@ -1,17 +1,17 @@
// SDLSmartDeviceLinkV2ProtocolMessage.m
//
-
-#import "SDLV2ProtocolMessage.h"
-#import "SDLRPCPayload.h"
-#import "SDLJsonDecoder.h"
#import "SDLFunctionID.h"
+#import "SDLJsonDecoder.h"
#import "SDLNames.h"
+#import "SDLProtocolHeader.h"
+#import "SDLRPCPayload.h"
+#import "SDLV2ProtocolMessage.h"
@implementation SDLV2ProtocolMessage
-- (id)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload {
+- (instancetype)initWithHeader:(SDLProtocolHeader*)header andPayload:(NSData *)payload {
if (self = [self init]) {
self.header = header;
self.payload = payload;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.h
index 3282f0f66..35285d8bb 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.h
@@ -20,7 +20,7 @@
/*!
@abstract return the array that store all possible SDLVehicleDataActiveStatus values
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract SDLVehicleDataActiveStatus : Inactive not confirmed
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.m
index 3bf102280..56ed04643 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataActiveStatus.m
@@ -10,7 +10,7 @@ SDLVehicleDataActiveStatus* SDLVehicleDataActiveStatus_ACTIVE_NOT_CONFIRMED = ni
SDLVehicleDataActiveStatus* SDLVehicleDataActiveStatus_ACTIVE_CONFIRMED = nil;
SDLVehicleDataActiveStatus* SDLVehicleDataActiveStatus_FAULT = nil;
-NSMutableArray* SDLVehicleDataActiveStatus_values = nil;
+NSArray* SDLVehicleDataActiveStatus_values = nil;
@implementation SDLVehicleDataActiveStatus
@@ -23,15 +23,15 @@ NSMutableArray* SDLVehicleDataActiveStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLVehicleDataActiveStatus_values == nil) {
- SDLVehicleDataActiveStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLVehicleDataActiveStatus_values = @[
SDLVehicleDataActiveStatus.INACTIVE_NOT_CONFIRMED,
SDLVehicleDataActiveStatus.INACTIVE_CONFIRMED,
SDLVehicleDataActiveStatus.ACTIVE_NOT_CONFIRMED,
SDLVehicleDataActiveStatus.ACTIVE_CONFIRMED,
SDLVehicleDataActiveStatus.FAULT,
- nil];
+ ];
}
return SDLVehicleDataActiveStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.h
index bade87278..5b1a73df5 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLVehicleDataEventStatus
@result return an array that store all possible SDLVehicleDataEventStatus
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract No event avaliable
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.m
index 9f5087ae4..ea73a42cd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataEventStatus.m
@@ -10,7 +10,7 @@ SDLVehicleDataEventStatus* SDLVehicleDataEventStatus_YES = nil;
SDLVehicleDataEventStatus* SDLVehicleDataEventStatus_NOT_SUPPORTED = nil;
SDLVehicleDataEventStatus* SDLVehicleDataEventStatus_FAULT = nil;
-NSMutableArray* SDLVehicleDataEventStatus_values = nil;
+NSArray* SDLVehicleDataEventStatus_values = nil;
@implementation SDLVehicleDataEventStatus
@@ -23,15 +23,15 @@ NSMutableArray* SDLVehicleDataEventStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLVehicleDataEventStatus_values == nil) {
- SDLVehicleDataEventStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLVehicleDataEventStatus_values = @[
SDLVehicleDataEventStatus.NO_EVENT,
SDLVehicleDataEventStatus._NO,
SDLVehicleDataEventStatus._YES,
SDLVehicleDataEventStatus.NOT_SUPPORTED,
SDLVehicleDataEventStatus.FAULT,
- nil];
+ ];
}
return SDLVehicleDataEventStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.h
index 19a50dd42..73386aa67 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLVehicleDataNotificationStatus
@result return an array that store all possible SDLVehicleDataNotificationStatus
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract SDLVehicleDataNotificationStatus : <font color=gray><i> NOT_SUPPORTED </i></font>
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.m
index ad8e5d0d9..3c69fc908 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataNotificationStatus.m
@@ -9,7 +9,7 @@ SDLVehicleDataNotificationStatus* SDLVehicleDataNotificationStatus_NORMAL = nil;
SDLVehicleDataNotificationStatus* SDLVehicleDataNotificationStatus_ACTIVE = nil;
SDLVehicleDataNotificationStatus* SDLVehicleDataNotificationStatus_NOT_USED = nil;
-NSMutableArray* SDLVehicleDataNotificationStatus_values = nil;
+NSArray* SDLVehicleDataNotificationStatus_values = nil;
@implementation SDLVehicleDataNotificationStatus
@@ -22,14 +22,14 @@ NSMutableArray* SDLVehicleDataNotificationStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLVehicleDataNotificationStatus_values == nil) {
- SDLVehicleDataNotificationStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLVehicleDataNotificationStatus_values = @[
SDLVehicleDataNotificationStatus.NOT_SUPPORTED,
SDLVehicleDataNotificationStatus.NORMAL,
SDLVehicleDataNotificationStatus.ACTIVE,
SDLVehicleDataNotificationStatus.NOT_USED,
- nil];
+ ];
}
return SDLVehicleDataNotificationStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.h
index 6f28448a0..a775fc570 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.h
@@ -1,17 +1,16 @@
// SDLVehicleDataResult.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLVehicleDataType.h"
-#import "SDLVehicleDataResultCode.h"
+@class SDLVehicleDataType;
+@class SDLVehicleDataResultCode;
+
@interface SDLVehicleDataResult : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) SDLVehicleDataType* dataType;
@property(strong) SDLVehicleDataResultCode* resultCode;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.m
index ae8e829f4..3ae590fb0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResult.m
@@ -1,19 +1,21 @@
// SDLVehicleDataResult.m
//
-
#import "SDLVehicleDataResult.h"
#import "SDLNames.h"
+#import "SDLVehicleDataType.h"
+#import "SDLVehicleDataResultCode.h"
+
@implementation SDLVehicleDataResult
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.h
index b12b3461b..acab85972 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.h
@@ -16,43 +16,55 @@
* @return SDLVehicleDataResultCode
*/
+(SDLVehicleDataResultCode*) valueOf:(NSString*) value;
+
/*!
@abstract Store the enumeration of all possible SDLVehicleDataResultCode
@result return an array that store all possible SDLVehicleDataResultCode
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
-/*!
- @abstract return SDLVehicleDataResultCode : <font color=gray><i> SUCCESS </i></font>
+/**
+ * Individual vehicle data item / DTC / DID request or subscription successful
*/
+(SDLVehicleDataResultCode*) SUCCESS;
+
+/**
+ * DTC / DID request successful, however, not all active DTCs or full contents of DID location available
+ */
+(SDLVehicleDataResultCode*) TRUNCATED_DATA;
-/*!
- @abstract return SDLVehicleDataResultCode : <font color=gray><i> DISALLOWED </i></font>
+
+/**
+ * This vehicle data item is not allowed for this app by SDL
*/
+(SDLVehicleDataResultCode*) DISALLOWED;
-/*!
- @abstract return SDLVehicleDataResultCode : <font color=gray><i> USER_DISALLOWED </i></font>
+
+/**
+ * The user has not granted access to this type of vehicle data item at this time
*/
+(SDLVehicleDataResultCode*) USER_DISALLOWED;
-/*!
- @abstract return SDLVehicleDataResultCode : <font color=gray><i> INVALID_ID </i></font>
+
+/**
+ * The ECU ID referenced is not a valid ID on the bus / system
*/
+(SDLVehicleDataResultCode*) INVALID_ID;
-/*!
- @abstract return SDLVehicleDataResultCode : <font color=gray><i> VEHICLE_DATA_NOT_AVAILABLE </i></font>
+
+/**
+ * The requested vehicle data item / DTC / DID is not currently available or responding on the bus / system
*/
+(SDLVehicleDataResultCode*) VEHICLE_DATA_NOT_AVAILABLE;
-/*!
- @abstract return SDLVehicleDataResultCode : <font color=gray><i> DATA_ALREADY_SUBSCRIBED </i></font>
+
+/**
+ * The vehicle data item is already subscribed
*/
+(SDLVehicleDataResultCode*) DATA_ALREADY_SUBSCRIBED;
-/*!
- @abstract return SDLVehicleDataResultCode : <font color=gray><i> DATA_NOT_SUBSCRIBED </i></font>
+
+/**
+ * The vehicle data item cannot be unsubscribed because it is not currently subscribed
*/
+(SDLVehicleDataResultCode*) DATA_NOT_SUBSCRIBED;
-/*!
- @abstract return SDLVehicleDataResultCode : <font color=gray><i> IGNORED </i></font>
+
+/**
+ * The request for this item is ignored because it is already in progress
*/
+(SDLVehicleDataResultCode*) IGNORED;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.m
index 48db6773f..293d3d1cd 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataResultCode.m
@@ -14,7 +14,7 @@ SDLVehicleDataResultCode* SDLVehicleDataResultCode_DATA_ALREADY_SUBSCRIBED = nil
SDLVehicleDataResultCode* SDLVehicleDataResultCode_DATA_NOT_SUBSCRIBED = nil;
SDLVehicleDataResultCode* SDLVehicleDataResultCode_IGNORED = nil;
-NSMutableArray* SDLVehicleDataResultCode_values = nil;
+NSArray* SDLVehicleDataResultCode_values = nil;
@implementation SDLVehicleDataResultCode
@@ -27,9 +27,9 @@ NSMutableArray* SDLVehicleDataResultCode_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLVehicleDataResultCode_values == nil) {
- SDLVehicleDataResultCode_values = [[NSMutableArray alloc] initWithObjects:
+ SDLVehicleDataResultCode_values = @[
SDLVehicleDataResultCode.SUCCESS,
SDLVehicleDataResultCode.TRUNCATED_DATA,
SDLVehicleDataResultCode.DISALLOWED,
@@ -39,7 +39,7 @@ NSMutableArray* SDLVehicleDataResultCode_values = nil;
SDLVehicleDataResultCode.DATA_ALREADY_SUBSCRIBED,
SDLVehicleDataResultCode.DATA_NOT_SUBSCRIBED,
SDLVehicleDataResultCode.IGNORED,
- nil];
+ ];
}
return SDLVehicleDataResultCode_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.h
index 1284e2ab2..3eede21b6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLVehicleDataStatus
@result return an array that store all possible SDLVehicleDataStatus
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract No data avaliable
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.m
index 0e6fb148a..db3593877 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataStatus.m
@@ -8,7 +8,7 @@ SDLVehicleDataStatus* SDLVehicleDataStatus_NO_DATA_EXISTS = nil;
SDLVehicleDataStatus* SDLVehicleDataStatus_OFF = nil;
SDLVehicleDataStatus* SDLVehicleDataStatus_ON = nil;
-NSMutableArray* SDLVehicleDataStatus_values = nil;
+NSArray* SDLVehicleDataStatus_values = nil;
@implementation SDLVehicleDataStatus
@@ -21,13 +21,13 @@ NSMutableArray* SDLVehicleDataStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLVehicleDataStatus_values == nil) {
- SDLVehicleDataStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLVehicleDataStatus_values = @[
SDLVehicleDataStatus.NO_DATA_EXISTS,
SDLVehicleDataStatus.OFF,
SDLVehicleDataStatus.ON,
- nil];
+ ];
}
return SDLVehicleDataStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.h
index 37ebab024..3c35047dc 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.h
@@ -21,7 +21,7 @@
@abstract Store the enumeration of all possible SDLVehicleDataType
@result return an array that store all possible SDLVehicleDataType
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract SDLVehicleDataType : <font color=gray><i> VEHICLEDATA_GPS </i></font>
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.m
index 7a1c7eceb..557c6324e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleDataType.m
@@ -31,7 +31,7 @@ SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_ENGINETORQUE = nil;
SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_ACCPEDAL = nil;
SDLVehicleDataType* SDLVehicleDataType_VEHICLEDATA_STEERINGWHEEL = nil;
-NSMutableArray* SDLVehicleDataType_values = nil;
+NSArray* SDLVehicleDataType_values = nil;
@implementation SDLVehicleDataType
@@ -44,9 +44,9 @@ NSMutableArray* SDLVehicleDataType_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLVehicleDataType_values == nil) {
- SDLVehicleDataType_values = [[NSMutableArray alloc] initWithObjects:
+ SDLVehicleDataType_values = @[
SDLVehicleDataType.VEHICLEDATA_GPS,
SDLVehicleDataType.VEHICLEDATA_SPEED,
SDLVehicleDataType.VEHICLEDATA_RPM,
@@ -73,7 +73,7 @@ NSMutableArray* SDLVehicleDataType_values = nil;
SDLVehicleDataType.VEHICLEDATA_ENGINETORQUE,
SDLVehicleDataType.VEHICLEDATA_ACCPEDAL,
SDLVehicleDataType.VEHICLEDATA_STEERINGWHEEL,
- nil];
+ ];
}
return SDLVehicleDataType_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.h
index 6c7dbb811..6ce4bb2e8 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.h
@@ -63,13 +63,13 @@
/**
* @abstract Constructs a newly allocated SDLVehicleType object
*/
--(id) init;
+-(instancetype) init;
/**
* @abstract Constructs a newly allocated SDLVehicleType object indicated by the NSMutableDictionary parameter
* @param dict The NSMutableDictionary to use
*/
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
/**
* @abstract The make of the vehicle
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.m
index cb7e1f8c0..e8f9286a2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVehicleType.m
@@ -8,12 +8,12 @@
@implementation SDLVehicleType
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.h
index 7fea8655b..9267c65c6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.h
@@ -1,4 +1,4 @@
-// SDLVrCapabilities.h
+// SDLVRCapabilities.h
//
@@ -9,26 +9,26 @@
* The VR capabilities of the connected SDL platform.
*
*/
-@interface SDLVrCapabilities : SDLEnum {}
+@interface SDLVRCapabilities : SDLEnum {}
/**
- * Convert String to SDLVrCapabilities
+ * Convert String to SDLVRCapabilities
* @param value String
- * @return SDLVrCapabilities
+ * @return SDLVRCapabilities
*/
-+(SDLVrCapabilities*) valueOf:(NSString*) value;
++(SDLVRCapabilities*) valueOf:(NSString*) value;
/*!
- @abstract Store the enumeration of all possible SDLVrCapabilities
- @result return an array that store all possible SDLVrCapabilities
+ @abstract Store the enumeration of all possible SDLVRCapabilities
+ @result return an array that store all possible SDLVRCapabilities
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/**
* @abstract The SDL platform is capable of recognizing spoken text in the current
* language.
- * @result return an SDLVrCapabilities instance pointer with value of <font color=gray><i> TEXT </i></font>
+ * @result return an SDLVRCapabilities instance pointer with value of <font color=gray><i> TEXT </i></font>
* @since <font color=red><b> SmartDeviceLink 1.0 </b></font>
*/
-+(SDLVrCapabilities*) TEXT;
++(SDLVRCapabilities*) TEXT;
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.m
index db2c0e1c7..afca3f23e 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrCapabilities.m
@@ -1,17 +1,17 @@
-// SDLVrCapabilities.m
+// SDLVRCapabilities.m
//
-#import "SDLVrCapabilities.h"
+#import "SDLVRCapabilities.h"
-SDLVrCapabilities* SDLVrCapabilities_TEXT = nil;
+SDLVRCapabilities* SDLVRCapabilities_TEXT = nil;
-NSMutableArray* SDLVrCapabilities_values = nil;
+NSArray* SDLVRCapabilities_values = nil;
-@implementation SDLVrCapabilities
+@implementation SDLVRCapabilities
-+(SDLVrCapabilities*) valueOf:(NSString*) value {
- for (SDLVrCapabilities* item in SDLVrCapabilities.values) {
++(SDLVRCapabilities*) valueOf:(NSString*) value {
+ for (SDLVRCapabilities* item in SDLVRCapabilities.values) {
//NOTE: This was added for Sync Module Compatability, V1 module resturns "Text" and a
// Gen 1.1 module returns "TEXT", the new if statement makes a case insensitive
// check instead to accept both
@@ -23,20 +23,20 @@ NSMutableArray* SDLVrCapabilities_values = nil;
return nil;
}
-+(NSMutableArray*) values {
- if (SDLVrCapabilities_values == nil) {
- SDLVrCapabilities_values = [[NSMutableArray alloc] initWithObjects:
- SDLVrCapabilities.TEXT,
- nil];
++(NSArray*) values {
+ if (SDLVRCapabilities_values == nil) {
+ SDLVRCapabilities_values = @[
+ SDLVRCapabilities.TEXT,
+ ];
}
- return SDLVrCapabilities_values;
+ return SDLVRCapabilities_values;
}
-+(SDLVrCapabilities*) TEXT {
- if (SDLVrCapabilities_TEXT == nil) {
- SDLVrCapabilities_TEXT = [[SDLVrCapabilities alloc] initWithValue:@"TEXT"];
++(SDLVRCapabilities*) TEXT {
+ if (SDLVRCapabilities_TEXT == nil) {
+ SDLVRCapabilities_TEXT = [[SDLVRCapabilities alloc] initWithValue:@"TEXT"];
}
- return SDLVrCapabilities_TEXT;
+ return SDLVRCapabilities_TEXT;
}
@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.h
index d3f79c175..ab1539e79 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.h
@@ -1,16 +1,15 @@
-// SDLVrHelpItem.h
+// SDLVRHelpItem.h
//
-
-
#import "SDLRPCMessage.h"
-#import "SDLImage.h"
+@class SDLImage;
+
-@interface SDLVrHelpItem : SDLRPCStruct {}
+@interface SDLVRHelpItem : SDLRPCStruct {}
--(id) init;
--(id) initWithDictionary:(NSMutableDictionary*) dict;
+-(instancetype) init;
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict;
@property(strong) NSString* text;
@property(strong) SDLImage* image;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.m
index 22d50ffae..6a2d6b63d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLVrHelpItem.m
@@ -1,19 +1,20 @@
-// SDLVrHelpItem.m
+// SDLVRHelpItem.m
//
-#import "SDLVrHelpItem.h"
+#import "SDLVRHelpItem.h"
+#import "SDLImage.h"
#import "SDLNames.h"
-@implementation SDLVrHelpItem
+@implementation SDLVRHelpItem
--(id) init {
+-(instancetype) init {
if (self = [super init]) {}
return self;
}
--(id) initWithDictionary:(NSMutableDictionary*) dict {
+-(instancetype) initWithDictionary:(NSMutableDictionary*) dict {
if (self = [super initWithDictionary:dict]) {}
return self;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.h
index 09741e820..6320fc5f2 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.h
@@ -22,7 +22,7 @@
@abstract Store the enumeration of all possible SDLWarningLightStatus
@result return an array that store all possible SDLWarningLightStatus
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract Warninglight Off
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.m
index 37c741caf..2d7edcaa4 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWarningLightStatus.m
@@ -9,7 +9,7 @@ SDLWarningLightStatus* SDLWarningLightStatus_ON = nil;
SDLWarningLightStatus* SDLWarningLightStatus_FLASH = nil;
SDLWarningLightStatus* SDLWarningLightStatus_NOT_USED = nil;
-NSMutableArray* SDLWarningLightStatus_values = nil;
+NSArray* SDLWarningLightStatus_values = nil;
@implementation SDLWarningLightStatus
@@ -22,14 +22,14 @@ NSMutableArray* SDLWarningLightStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLWarningLightStatus_values == nil) {
- SDLWarningLightStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLWarningLightStatus_values = @[
SDLWarningLightStatus.OFF,
SDLWarningLightStatus.ON,
SDLWarningLightStatus.FLASH,
SDLWarningLightStatus.NOT_USED,
- nil];
+ ];
}
return SDLWarningLightStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.h
index 65912f3d6..a3369f0a6 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.h
@@ -20,7 +20,7 @@
@abstract Store the enumeration of all possible SDLWiperStatus
@result return an array that store all possible SDLWiperStatus
*/
-+(NSMutableArray*) values;
++(NSArray*) values;
/*!
@abstract SDLWiperStatus : <font color=gray><i> OFF </i></font>
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.m b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.m
index d29931d0e..10de1eada 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLWiperStatus.m
@@ -20,7 +20,7 @@ SDLWiperStatus* SDLWiperStatus_AUTO_ADJUST = nil;
SDLWiperStatus* SDLWiperStatus_STALLED = nil;
SDLWiperStatus* SDLWiperStatus_NO_DATA_EXISTS = nil;
-NSMutableArray* SDLWiperStatus_values = nil;
+NSArray* SDLWiperStatus_values = nil;
@implementation SDLWiperStatus
@@ -33,9 +33,9 @@ NSMutableArray* SDLWiperStatus_values = nil;
return nil;
}
-+(NSMutableArray*) values {
++(NSArray*) values {
if (SDLWiperStatus_values == nil) {
- SDLWiperStatus_values = [[NSMutableArray alloc] initWithObjects:
+ SDLWiperStatus_values = @[
SDLWiperStatus.OFF,
SDLWiperStatus.AUTO_OFF,
SDLWiperStatus.OFF_MOVING,
@@ -51,7 +51,7 @@ NSMutableArray* SDLWiperStatus_values = nil;
SDLWiperStatus.AUTO_ADJUST,
SDLWiperStatus.STALLED,
SDLWiperStatus.NO_DATA_EXISTS,
- nil];
+ ];
}
return SDLWiperStatus_values;
}
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SmartDeviceLink.h b/SmartDeviceLink-iOS/SmartDeviceLink/SmartDeviceLink.h
index ce6a0ff28..0f22240c0 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SmartDeviceLink.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SmartDeviceLink.h
@@ -15,259 +15,266 @@ FOUNDATION_EXPORT double SmartDeviceLinkVersionNumber;
FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[];
/**** Utilities *****/
-#import <SmartDeviceLink/SDLJingle.h>
+#import "SDLJingle.h"
/***** Proxy *****/
-#import <SmartDeviceLink/SDLProxy.h>
-#import <SmartDeviceLink/SDLProxyListener.h>
-#import <SmartDeviceLink/SDLProxyFactory.h>
-#import <SmartDeviceLink/SDLTTSChunkFactory.h>
+#import "SDLProxy.h"
+#import "SDLProxyListener.h"
+#import "SDLProxyFactory.h"
+#import "SDLTTSChunkFactory.h"
/***** Debug *****/
-#import <SmartDeviceLink/SDLConsoleController.h>
-#import <SmartDeviceLink/SDLDebugTool.h>
-#import <SmartDeviceLink/SDLSiphonServer.h>
+#import "SDLConsoleController.h"
+#import "SDLDebugTool.h"
+#import "SDLDebugToolConsole.h"
+#import "SDLSiphonServer.h"
/***** Transport *****/
-#import <SmartDeviceLink/SDLAbstractTransport.h>
-#import <SmartDeviceLink/SDLIAPTransport.h>
-#import <SmartDeviceLink/SDLTCPTransport.h>
-#import <SmartDeviceLink/SDLTransport.h>
-#import <SmartDeviceLink/SDLTransportDelegate.h>
-#import <SmartDeviceLink/SDLInterfaceProtocol.h>
+#import "SDLAbstractTransport.h"
+#import "SDLIAPTransport.h"
+#import "SDLTCPTransport.h"
+#import "SDLTransport.h"
+#import "SDLTransportDelegate.h"
+#import "SDLInterfaceProtocol.h"
/***** Protocol *****/
-#import <SmartDeviceLink/SDLProtocolListener.h>
-#import <SmartDeviceLink/SDLAbstractProtocol.h>
-#import <SmartDeviceLink/SDLProtocol.h>
+#import "SDLProtocolListener.h"
+#import "SDLAbstractProtocol.h"
+#import "SDLProtocol.h"
// Header
-#import <SmartDeviceLink/SDLProtocolHeader.h>
+#import "SDLProtocolHeader.h"
// Message
-#import <SmartDeviceLink/SDLProtocolMessage.h>
+#import "SDLProtocolMessage.h"
/***** RPCs *****/
// Superclasses
-#import <SmartDeviceLink/SDLEnum.h>
-#import <SmartDeviceLink/SDLRPCMessage.h>
-#import <SmartDeviceLink/SDLRPCNotification.h>
-#import <SmartDeviceLink/SDLRPCRequest.h>
-#import <SmartDeviceLink/SDLRPCResponse.h>
+#import "SDLEnum.h"
+#import "SDLRPCMessage.h"
+#import "SDLRPCStruct.h"
+#import "SDLRPCNotification.h"
+#import "SDLRPCRequest.h"
+#import "SDLRPCResponse.h"
// Factories
-#import <SmartDeviceLink/SDLRPCRequestFactory.h>
+#import "SDLRPCRequestFactory.h"
// Requests
-#import <SmartDeviceLink/SDLAddCommand.h>
-#import <SmartDeviceLink/SDLAddSubMenu.h>
-#import <SmartDeviceLink/SDLAlert.h>
-#import <SmartDeviceLink/SDLAlertManeuver.h>
-#import <SmartDeviceLink/SDLChangeRegistration.h>
-#import <SmartDeviceLink/SDLCreateInteractionChoiceSet.h>
-#import <SmartDeviceLink/SDLDeleteCommand.h>
-#import <SmartDeviceLink/SDLDeleteFile.h>
-#import <SmartDeviceLink/SDLDeleteInteractionChoiceSet.h>
-#import <SmartDeviceLink/SDLDeleteSubMenu.h>
-#import <SmartDeviceLink/SDLDiagnosticMessage.h>
-#import <SmartDeviceLink/SDLEncodedSyncPData.h>
-#import <SmartDeviceLink/SDLEndAudioPassThru.h>
-#import <SmartDeviceLink/SDLGetDTCs.h>
-#import <SmartDeviceLink/SDLGetVehicleData.h>
-#import <SmartDeviceLink/SDLListFiles.h>
-#import <SmartDeviceLink/SDLPerformAudioPassThru.h>
-#import <SmartDeviceLink/SDLPerformInteraction.h>
-#import <SmartDeviceLink/SDLPutFile.h>
-#import <SmartDeviceLink/SDLReadDID.h>
-#import <SmartDeviceLink/SDLRegisterAppInterface.h>
-#import <SmartDeviceLink/SDLResetGlobalProperties.h>
-#import <SmartDeviceLink/SDLScrollableMessage.h>
-#import <SmartDeviceLink/SDLSetAppIcon.h>
-#import <SmartDeviceLink/SDLSetDisplayLayout.h>
-#import <SmartDeviceLink/SDLSetGlobalProperties.h>
-#import <SmartDeviceLink/SDLSetMediaClockTimer.h>
-#import <SmartDeviceLink/SDLShow.h>
-#import <SmartDeviceLink/SDLShowConstantTBT.h>
-#import <SmartDeviceLink/SDLSlider.h>
-#import <SmartDeviceLink/SDLSpeak.h>
-#import <SmartDeviceLink/SDLSubscribeButton.h>
-#import <SmartDeviceLink/SDLSubscribeVehicleData.h>
-#import <SmartDeviceLink/SDLSyncPData.h>
-#import <SmartDeviceLink/SDLUnregisterAppInterface.h>
-#import <SmartDeviceLink/SDLUnsubscribeButton.h>
-#import <SmartDeviceLink/SDLUnsubscribeVehicleData.h>
-#import <SmartDeviceLink/SDLUpdateTurnList.h>
+#import "SDLAddCommand.h"
+#import "SDLAddSubMenu.h"
+#import "SDLAlert.h"
+#import "SDLAlertManeuver.h"
+#import "SDLChangeRegistration.h"
+#import "SDLCreateInteractionChoiceSet.h"
+#import "SDLDeleteCommand.h"
+#import "SDLDeleteFile.h"
+#import "SDLDeleteInteractionChoiceSet.h"
+#import "SDLDeleteSubMenu.h"
+#import "SDLDiagnosticMessage.h"
+#import "SDLDialNumber.h"
+#import "SDLEncodedSyncPData.h"
+#import "SDLEndAudioPassThru.h"
+#import "SDLGetDTCs.h"
+#import "SDLGetVehicleData.h"
+#import "SDLListFiles.h"
+#import "SDLPerformAudioPassThru.h"
+#import "SDLPerformInteraction.h"
+#import "SDLPutFile.h"
+#import "SDLReadDID.h"
+#import "SDLRegisterAppInterface.h"
+#import "SDLResetGlobalProperties.h"
+#import "SDLScrollableMessage.h"
+#import "SDLSendLocation.h"
+#import "SDLSetAppIcon.h"
+#import "SDLSetDisplayLayout.h"
+#import "SDLSetGlobalProperties.h"
+#import "SDLSetMediaClockTimer.h"
+#import "SDLShow.h"
+#import "SDLShowConstantTBT.h"
+#import "SDLSlider.h"
+#import "SDLSpeak.h"
+#import "SDLSubscribeButton.h"
+#import "SDLSubscribeVehicleData.h"
+#import "SDLSyncPData.h"
+#import "SDLUnregisterAppInterface.h"
+#import "SDLUnsubscribeButton.h"
+#import "SDLUnsubscribeVehicleData.h"
+#import "SDLUpdateTurnList.h"
// Responses
-#import <SmartDeviceLink/SDLAddCommandResponse.h>
-#import <SmartDeviceLink/SDLAddSubMenuResponse.h>
-#import <SmartDeviceLink/SDLAlertManeuverResponse.h>
-#import <SmartDeviceLink/SDLAlertResponse.h>
-#import <SmartDeviceLink/SDLChangeRegistrationResponse.h>
-#import <SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h>
-#import <SmartDeviceLink/SDLDeleteCommandResponse.h>
-#import <SmartDeviceLink/SDLDeleteFileResponse.h>
-#import <SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h>
-#import <SmartDeviceLink/SDLDeleteSubMenuResponse.h>
-#import <SmartDeviceLink/SDLDiagnosticMessageResponse.h>
-#import <SmartDeviceLink/SDLEncodedSyncPDataResponse.h>
-#import <SmartDeviceLink/SDLEndAudioPassThruResponse.h>
-#import <SmartDeviceLink/SDLGenericResponse.h>
-#import <SmartDeviceLink/SDLGetDTCsResponse.h>
-#import <SmartDeviceLink/SDLGetVehicleDataResponse.h>
-#import <SmartDeviceLink/SDLListFilesResponse.h>
-#import <SmartDeviceLink/SDLPerformAudioPassThruResponse.h>
-#import <SmartDeviceLink/SDLPerformInteractionResponse.h>
-#import <SmartDeviceLink/SDLPutFileResponse.h>
-#import <SmartDeviceLink/SDLReadDIDResponse.h>
-#import <SmartDeviceLink/SDLRegisterAppInterfaceResponse.h>
-#import <SmartDeviceLink/SDLResetGlobalPropertiesResponse.h>
-#import <SmartDeviceLink/SDLScrollableMessageResponse.h>
-#import <SmartDeviceLink/SDLSetAppIconResponse.h>
-#import <SmartDeviceLink/SDLSetDisplayLayoutResponse.h>
-#import <SmartDeviceLink/SDLSetGlobalPropertiesResponse.h>
-#import <SmartDeviceLink/SDLSetMediaClockTimerResponse.h>
-#import <SmartDeviceLink/SDLShowConstantTBTResponse.h>
-#import <SmartDeviceLink/SDLShowResponse.h>
-#import <SmartDeviceLink/SDLSliderResponse.h>
-#import <SmartDeviceLink/SDLSpeakResponse.h>
-#import <SmartDeviceLink/SDLSubscribeButtonResponse.h>
-#import <SmartDeviceLink/SDLSubscribeVehicleDataResponse.h>
-#import <SmartDeviceLink/SDLSyncPDataResponse.h>
-#import <SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h>
-#import <SmartDeviceLink/SDLUnsubscribeButtonResponse.h>
-#import <SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h>
-#import <SmartDeviceLink/SDLUpdateTurnListResponse.h>
+#import "SDLAddCommandResponse.h"
+#import "SDLAddSubMenuResponse.h"
+#import "SDLAlertManeuverResponse.h"
+#import "SDLAlertResponse.h"
+#import "SDLChangeRegistrationResponse.h"
+#import "SDLCreateInteractionChoiceSetResponse.h"
+#import "SDLDeleteCommandResponse.h"
+#import "SDLDeleteFileResponse.h"
+#import "SDLDeleteInteractionChoiceSetResponse.h"
+#import "SDLDeleteSubMenuResponse.h"
+#import "SDLDiagnosticMessageResponse.h"
+#import "SDLDialNumberResponse.h"
+#import "SDLEncodedSyncPDataResponse.h"
+#import "SDLEndAudioPassThruResponse.h"
+#import "SDLGenericResponse.h"
+#import "SDLGetDTCsResponse.h"
+#import "SDLGetVehicleDataResponse.h"
+#import "SDLListFilesResponse.h"
+#import "SDLPerformAudioPassThruResponse.h"
+#import "SDLPerformInteractionResponse.h"
+#import "SDLPutFileResponse.h"
+#import "SDLReadDIDResponse.h"
+#import "SDLRegisterAppInterfaceResponse.h"
+#import "SDLResetGlobalPropertiesResponse.h"
+#import "SDLScrollableMessageResponse.h"
+#import "SDLSendLocationResponse.h"
+#import "SDLSetAppIconResponse.h"
+#import "SDLSetDisplayLayoutResponse.h"
+#import "SDLSetGlobalPropertiesResponse.h"
+#import "SDLSetMediaClockTimerResponse.h"
+#import "SDLShowConstantTBTResponse.h"
+#import "SDLShowResponse.h"
+#import "SDLSliderResponse.h"
+#import "SDLSpeakResponse.h"
+#import "SDLSubscribeButtonResponse.h"
+#import "SDLSubscribeVehicleDataResponse.h"
+#import "SDLSyncPDataResponse.h"
+#import "SDLUnregisterAppInterfaceResponse.h"
+#import "SDLUnsubscribeButtonResponse.h"
+#import "SDLUnsubscribeVehicleDataResponse.h"
+#import "SDLUpdateTurnListResponse.h"
// Notifications
-#import <SmartDeviceLink/SDLOnAppInterfaceUnregistered.h>
-#import <SmartDeviceLink/SDLOnAudioPassThru.h>
-#import <SmartDeviceLink/SDLOnButtonEvent.h>
-#import <SmartDeviceLink/SDLOnButtonPress.h>
-#import <SmartDeviceLink/SDLOnCommand.h>
-#import <SmartDeviceLink/SDLOnDriverDistraction.h>
-#import <SmartDeviceLink/SDLOnEncodedSyncPData.h>
-#import <SmartDeviceLink/SDLOnHashChange.h>
-#import <SmartDeviceLink/SDLOnHMIStatus.h>
-#import <SmartDeviceLink/SDLOnKeyboardInput.h>
-#import <SmartDeviceLink/SDLOnLanguageChange.h>
-#import <SmartDeviceLink/SDLOnLockScreenStatus.h>
-#import <SmartDeviceLink/SDLOnPermissionsChange.h>
-#import <SmartDeviceLink/SDLOnSyncPData.h>
-#import <SmartDeviceLink/SDLOnSystemRequest.h>
-#import <SmartDeviceLink/SDLOnTBTClientState.h>
-#import <SmartDeviceLink/SDLOnTouchEvent.h>
-#import <SmartDeviceLink/SDLOnVehicleData.h>
+#import "SDLOnAppInterfaceUnregistered.h"
+#import "SDLOnAudioPassThru.h"
+#import "SDLOnButtonEvent.h"
+#import "SDLOnButtonPress.h"
+#import "SDLOnCommand.h"
+#import "SDLOnDriverDistraction.h"
+#import "SDLOnEncodedSyncPData.h"
+#import "SDLOnHashChange.h"
+#import "SDLOnHMIStatus.h"
+#import "SDLOnKeyboardInput.h"
+#import "SDLOnLanguageChange.h"
+#import "SDLOnLockScreenStatus.h"
+#import "SDLOnPermissionsChange.h"
+#import "SDLOnSyncPData.h"
+#import "SDLOnSystemRequest.h"
+#import "SDLOnTBTClientState.h"
+#import "SDLOnTouchEvent.h"
+#import "SDLOnVehicleData.h"
// Structs
-#import <SmartDeviceLink/SDLAirbagStatus.h>
-#import <SmartDeviceLink/SDLAudioPassThruCapabilities.h>
-#import <SmartDeviceLink/SDLBeltStatus.h>
-#import <SmartDeviceLink/SDLBodyInformation.h>
-#import <SmartDeviceLink/SDLButtonCapabilities.h>
-#import <SmartDeviceLink/SDLChoice.h>
-#import <SmartDeviceLink/SDLClusterModeStatus.h>
-#import <SmartDeviceLink/SDLDeviceInfo.h>
-#import <SmartDeviceLink/SDLDeviceStatus.h>
-#import <SmartDeviceLink/SDLDIDResult.h>
-#import <SmartDeviceLink/SDLDisplayCapabilities.h>
-#import <SmartDeviceLink/SDLECallInfo.h>
-#import <SmartDeviceLink/SDLEmergencyEvent.h>
-#import <SmartDeviceLink/SDLGPSData.h>
-#import <SmartDeviceLink/SDLHeadLampStatus.h>
-#import <SmartDeviceLink/SDLHMIPermissions.h>
-#import <SmartDeviceLink/SDLImage.h>
-#import <SmartDeviceLink/SDLImageField.h>
-#import <SmartDeviceLink/SDLImageResolution.h>
-#import <SmartDeviceLink/SDLKeyboardProperties.h>
-#import <SmartDeviceLink/SDLMenuParams.h>
-#import <SmartDeviceLink/SDLMyKey.h>
-#import <SmartDeviceLink/SDLParameterPermissions.h>
-#import <SmartDeviceLink/SDLPermissionItem.h>
-#import <SmartDeviceLink/SDLPresetBankCapabilities.h>
-#import <SmartDeviceLink/SDLScreenParams.h>
-#import <SmartDeviceLink/SDLSingleTireStatus.h>
-#import <SmartDeviceLink/SDLSoftButton.h>
-#import <SmartDeviceLink/SDLSoftButtonCapabilities.h>
-#import <SmartDeviceLink/SDLStartTime.h>
-#import <SmartDeviceLink/SDLSyncMsgVersion.h>
-#import <SmartDeviceLink/SDLTextField.h>
-#import <SmartDeviceLink/SDLTireStatus.h>
-#import <SmartDeviceLink/SDLTouchCoord.h>
-#import <SmartDeviceLink/SDLTouchEvent.h>
-#import <SmartDeviceLink/SDLTouchEventCapabilities.h>
-#import <SmartDeviceLink/SDLTTSChunk.h>
-#import <SmartDeviceLink/SDLTurn.h>
-#import <SmartDeviceLink/SDLVehicleDataResult.h>
-#import <SmartDeviceLink/SDLVehicleType.h>
-#import <SmartDeviceLink/SDLVrHelpItem.h>
+#import "SDLAirbagStatus.h"
+#import "SDLAudioPassThruCapabilities.h"
+#import "SDLBeltStatus.h"
+#import "SDLBodyInformation.h"
+#import "SDLButtonCapabilities.h"
+#import "SDLChoice.h"
+#import "SDLClusterModeStatus.h"
+#import "SDLDeviceInfo.h"
+#import "SDLDeviceStatus.h"
+#import "SDLDIDResult.h"
+#import "SDLDisplayCapabilities.h"
+#import "SDLECallInfo.h"
+#import "SDLEmergencyEvent.h"
+#import "SDLGPSData.h"
+#import "SDLHeadLampStatus.h"
+#import "SDLHMICapabilities.h"
+#import "SDLHMIPermissions.h"
+#import "SDLImage.h"
+#import "SDLImageField.h"
+#import "SDLImageResolution.h"
+#import "SDLKeyboardProperties.h"
+#import "SDLMenuParams.h"
+#import "SDLMyKey.h"
+#import "SDLParameterPermissions.h"
+#import "SDLPermissionItem.h"
+#import "SDLPresetBankCapabilities.h"
+#import "SDLScreenParams.h"
+#import "SDLSingleTireStatus.h"
+#import "SDLSoftButton.h"
+#import "SDLSoftButtonCapabilities.h"
+#import "SDLStartTime.h"
+#import "SDLSyncMsgVersion.h"
+#import "SDLTextField.h"
+#import "SDLTireStatus.h"
+#import "SDLTouchCoord.h"
+#import "SDLTouchEvent.h"
+#import "SDLTouchEventCapabilities.h"
+#import "SDLTTSChunk.h"
+#import "SDLTurn.h"
+#import "SDLVehicleDataResult.h"
+#import "SDLVehicleType.h"
+#import "SDLVRHelpItem.h"
// Enums
-#import <SmartDeviceLink/SDLAmbientLightStatus.h>
-#import <SmartDeviceLink/SDLAppHMIType.h>
-#import <SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h>
-#import <SmartDeviceLink/SDLAudioStreamingState.h>
-#import <SmartDeviceLink/SDLAudioType.h>
-#import <SmartDeviceLink/SDLBitsPerSample.h>
-#import <SmartDeviceLink/SDLButtonEventMode.h>
-#import <SmartDeviceLink/SDLButtonName.h>
-#import <SmartDeviceLink/SDLButtonPressMode.h>
-#import <SmartDeviceLink/SDLCarModeStatus.h>
-#import <SmartDeviceLink/SDLCharacterSet.h>
-#import <SmartDeviceLink/SDLCompassDirection.h>
-#import <SmartDeviceLink/SDLComponentVolumeStatus.h>
-#import <SmartDeviceLink/SDLDeviceLevelStatus.h>
-#import <SmartDeviceLink/SDLDimension.h>
-#import <SmartDeviceLink/SDLDisplayType.h>
-#import <SmartDeviceLink/SDLDriverDistractionState.h>
-#import <SmartDeviceLink/SDLECallConfirmationStatus.h>
-#import <SmartDeviceLink/SDLEmergencyEventType.h>
-#import <SmartDeviceLink/SDLFileType.h>
-#import <SmartDeviceLink/SDLFuelCutoffStatus.h>
-#import <SmartDeviceLink/SDLGlobalProperty.h>
-#import <SmartDeviceLink/SDLHMILevel.h>
-#import <SmartDeviceLink/SDLHMIZoneCapabilities.h>
-#import <SmartDeviceLink/SDLIgnitionStableStatus.h>
-#import <SmartDeviceLink/SDLIgnitionStatus.h>
-#import <SmartDeviceLink/SDLImageFieldName.h>
-#import <SmartDeviceLink/SDLImageType.h>
-#import <SmartDeviceLink/SDLInteractionMode.h>
-#import <SmartDeviceLink/SDLKeyboardEvent.h>
-#import <SmartDeviceLink/SDLKeyboardLayout.h>
-#import <SmartDeviceLink/SDLKeypressMode.h>
-#import <SmartDeviceLink/SDLLanguage.h>
-#import <SmartDeviceLink/SDLLayoutMode.h>
-#import <SmartDeviceLink/SDLLockScreenStatus.h>
-#import <SmartDeviceLink/SDLMaintenanceModeStatus.h>
-#import <SmartDeviceLink/SDLMediaClockFormat.h>
-#import <SmartDeviceLink/SDLPermissionStatus.h>
-#import <SmartDeviceLink/SDLPowerModeQualificationStatus.h>
-#import <SmartDeviceLink/SDLPowerModeStatus.h>
-#import <SmartDeviceLink/SDLPredefinedLayout.h>
-#import <SmartDeviceLink/SDLPrerecordedSpeech.h>
-#import <SmartDeviceLink/SDLPrimaryAudioSource.h>
-#import <SmartDeviceLink/SDLPRNDL.h>
-#import <SmartDeviceLink/SDLRequestType.h>
-#import <SmartDeviceLink/SDLResult.h>
-#import <SmartDeviceLink/SDLRPCMessageType.h>
-#import <SmartDeviceLink/SDLSamplingRate.h>
-#import <SmartDeviceLink/SDLSoftButtonType.h>
-#import <SmartDeviceLink/SDLSpeechCapabilities.h>
-#import <SmartDeviceLink/SDLSystemAction.h>
-#import <SmartDeviceLink/SDLSystemContext.h>
-#import <SmartDeviceLink/SDLTBTState.h>
-#import <SmartDeviceLink/SDLTextAlignment.h>
-#import <SmartDeviceLink/SDLTextFieldName.h>
-#import <SmartDeviceLink/SDLTimerMode.h>
-#import <SmartDeviceLink/SDLTouchType.h>
-#import <SmartDeviceLink/SDLTriggerSource.h>
-#import <SmartDeviceLink/SDLUpdateMode.h>
-#import <SmartDeviceLink/SDLVehicleDataActiveStatus.h>
-#import <SmartDeviceLink/SDLVehicleDataEventStatus.h>
-#import <SmartDeviceLink/SDLVehicleDataNotificationStatus.h>
-#import <SmartDeviceLink/SDLVehicleDataResultCode.h>
-#import <SmartDeviceLink/SDLVehicleDataStatus.h>
-#import <SmartDeviceLink/SDLVehicleDataType.h>
-#import <SmartDeviceLink/SDLVrCapabilities.h>
-#import <SmartDeviceLink/SDLWarningLightStatus.h>
-#import <SmartDeviceLink/SDLWiperStatus.h>
+#import "SDLAmbientLightStatus.h"
+#import "SDLAppHMIType.h"
+#import "SDLAppInterfaceUnregisteredReason.h"
+#import "SDLAudioStreamingState.h"
+#import "SDLAudioType.h"
+#import "SDLBitsPerSample.h"
+#import "SDLButtonEventMode.h"
+#import "SDLButtonName.h"
+#import "SDLButtonPressMode.h"
+#import "SDLCarModeStatus.h"
+#import "SDLCharacterSet.h"
+#import "SDLCompassDirection.h"
+#import "SDLComponentVolumeStatus.h"
+#import "SDLDeviceLevelStatus.h"
+#import "SDLDimension.h"
+#import "SDLDisplayType.h"
+#import "SDLDriverDistractionState.h"
+#import "SDLECallConfirmationStatus.h"
+#import "SDLEmergencyEventType.h"
+#import "SDLFileType.h"
+#import "SDLFuelCutoffStatus.h"
+#import "SDLGlobalProperty.h"
+#import "SDLHMILevel.h"
+#import "SDLHMIZoneCapabilities.h"
+#import "SDLIgnitionStableStatus.h"
+#import "SDLIgnitionStatus.h"
+#import "SDLImageFieldName.h"
+#import "SDLImageType.h"
+#import "SDLInteractionMode.h"
+#import "SDLKeyboardEvent.h"
+#import "SDLKeyboardLayout.h"
+#import "SDLKeypressMode.h"
+#import "SDLLanguage.h"
+#import "SDLLayoutMode.h"
+#import "SDLLockScreenStatus.h"
+#import "SDLMaintenanceModeStatus.h"
+#import "SDLMediaClockFormat.h"
+#import "SDLPermissionStatus.h"
+#import "SDLPowerModeQualificationStatus.h"
+#import "SDLPowerModeStatus.h"
+#import "SDLPredefinedLayout.h"
+#import "SDLPrerecordedSpeech.h"
+#import "SDLPrimaryAudioSource.h"
+#import "SDLPRNDL.h"
+#import "SDLRequestType.h"
+#import "SDLResult.h"
+#import "SDLRPCMessageType.h"
+#import "SDLSamplingRate.h"
+#import "SDLSoftButtonType.h"
+#import "SDLSpeechCapabilities.h"
+#import "SDLSystemAction.h"
+#import "SDLSystemContext.h"
+#import "SDLTBTState.h"
+#import "SDLTextAlignment.h"
+#import "SDLTextFieldName.h"
+#import "SDLTimerMode.h"
+#import "SDLTouchType.h"
+#import "SDLTriggerSource.h"
+#import "SDLUpdateMode.h"
+#import "SDLVehicleDataActiveStatus.h"
+#import "SDLVehicleDataEventStatus.h"
+#import "SDLVehicleDataNotificationStatus.h"
+#import "SDLVehicleDataResultCode.h"
+#import "SDLVehicleDataStatus.h"
+#import "SDLVehicleDataType.h"
+#import "SDLVRCapabilities.h"
+#import "SDLWarningLightStatus.h"
+#import "SDLWiperStatus.h"
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m
new file mode 100644
index 000000000..91dbbde72
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLProtocolHeaderSpec.m
@@ -0,0 +1,29 @@
+//
+// SDLProtocolHeaderSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLProtocolHeader.h"
+#import "SDLV1ProtocolHeader.h"
+#import "SDLV2ProtocolHeader.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLProtocolHeaderSpec)
+
+describe(@"HeaderForVersion Tests", ^ {
+ it(@"Should return the correct header", ^ {
+ expect([SDLProtocolHeader headerForVersion:1]).to(beAKindOf(SDLV1ProtocolHeader.class));
+ expect([SDLProtocolHeader headerForVersion:2]).to(beAKindOf(SDLV2ProtocolHeader.class));
+ });
+
+ it(@"Should return latest version for unknown version", ^ {
+ expect([SDLProtocolHeader headerForVersion:5]).to(beAKindOf(SDLV2ProtocolHeader.class));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLV1ProtocolHeaderSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLV1ProtocolHeaderSpec.m
new file mode 100644
index 000000000..ae17425ab
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLV1ProtocolHeaderSpec.m
@@ -0,0 +1,89 @@
+//
+// SDLV1ProtocolHeaderSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLV1ProtocolHeader.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLV1ProtocolHeaderSpec)
+
+__block SDLV1ProtocolHeader* testHeader;
+__block NSData* testData;
+
+beforeSuite(^ {
+ //Set up test header
+ testHeader = [[SDLV1ProtocolHeader alloc] init];
+
+ testHeader.compressed = YES;
+ testHeader.frameType = SDLFrameType_Control;
+ testHeader.serviceType = SDLServiceType_RPC;
+ testHeader.frameData = SDLFrameData_StartSession;
+ testHeader.sessionID = 0x53;
+ testHeader.bytesInPayload = 0x1234;
+
+ const char testBytes[8] = {0x18 | (SDLFrameType_Control & 0xFF), SDLServiceType_RPC, SDLFrameData_StartSession, 0x53, 0x00, 0x00, 0x12, 0x34};
+ testData = [NSData dataWithBytes:testBytes length:8];
+});
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should get readonly values correctly", ^ {
+ expect(@(testHeader.version)).to(equal(@1));
+ expect(@(testHeader.size)).to(equal(@8));
+ });
+
+ it(@"Should set and get correctly", ^ {
+ expect(@(testHeader.compressed)).to(equal(@YES));
+ expect(@(testHeader.frameType)).to(equal(@(SDLFrameType_Control)));
+ expect(@(testHeader.serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(testHeader.frameData)).to(equal(@(SDLFrameData_StartSession)));
+ expect(@(testHeader.sessionID)).to(equal(@0x53));
+ expect(@(testHeader.bytesInPayload)).to(equal(@0x1234));
+ });
+});
+
+describe(@"Copy Tests", ^ {
+ it(@"Should copy correctly", ^ {
+ SDLV1ProtocolHeader* headerCopy = [testHeader copy];
+
+ expect(@(headerCopy.version)).to(equal(@1));
+ expect(@(headerCopy.size)).to(equal(@8));
+
+ expect(@(headerCopy.compressed)).to(equal(@YES));
+ expect(@(headerCopy.frameType)).to(equal(@(SDLFrameType_Control)));
+ expect(@(headerCopy.serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(headerCopy.frameData)).to(equal(@(SDLFrameData_StartSession)));
+ expect(@(headerCopy.sessionID)).to(equal(@0x53));
+ expect(@(headerCopy.bytesInPayload)).to(equal(@0x1234));
+
+ expect(headerCopy).toNot(beIdenticalTo(testHeader));
+ });
+});
+
+describe(@"Data Tests", ^ {
+ it (@"Should convert to byte data correctly", ^ {
+ expect(testHeader.data).to(equal(testData));
+ });
+});
+
+describe(@"RPCPayloadWithData Test", ^ {
+ it (@"Should convert from byte data correctly", ^ {
+ SDLV1ProtocolHeader* constructedHeader = [[SDLV1ProtocolHeader alloc] init];
+
+ [constructedHeader parse:testData];
+
+ expect(@(constructedHeader.compressed)).to(equal(@YES));
+ expect(@(constructedHeader.frameType)).to(equal(@(SDLFrameType_Control)));
+ expect(@(constructedHeader.serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(constructedHeader.frameData)).to(equal(@(SDLFrameData_StartSession)));
+ expect(@(constructedHeader.sessionID)).to(equal(@0x53));
+ expect(@(constructedHeader.bytesInPayload)).to(equal(@0x1234));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLV2ProtocolHeaderSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLV2ProtocolHeaderSpec.m
new file mode 100644
index 000000000..1530b8cba
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/HeaderSpecs/SDLV2ProtocolHeaderSpec.m
@@ -0,0 +1,93 @@
+//
+// SDLV2ProtocolHeaderSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLV2ProtocolHeader.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLV2ProtocolHeaderSpec)
+
+__block SDLV2ProtocolHeader* testHeader;
+__block NSData* testData;
+
+beforeSuite(^ {
+ //Set up test header
+ testHeader = [[SDLV2ProtocolHeader alloc] init];
+
+ testHeader.compressed = YES;
+ testHeader.frameType = SDLFrameType_Control;
+ testHeader.serviceType = SDLServiceType_RPC;
+ testHeader.frameData = SDLFrameData_StartSession;
+ testHeader.sessionID = 0x53;
+ testHeader.bytesInPayload = 0x1234;
+ testHeader.messageID = 0x6DAB424F;
+
+ const char testBytes[12] = {0x28 | (SDLFrameType_Control & 0xFF), SDLServiceType_RPC, SDLFrameData_StartSession, 0x53, 0x00, 0x00, 0x12, 0x34, 0x6D, 0xAB, 0x42, 0x4F};
+ testData = [NSData dataWithBytes:testBytes length:12];
+});
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should get readonly values correctly", ^ {
+ expect(@(testHeader.version)).to(equal(@2));
+ expect(@(testHeader.size)).to(equal(@12));
+ });
+
+ it(@"Should set and get correctly", ^ {
+ expect(@(testHeader.compressed)).to(equal(@YES));
+ expect(@(testHeader.frameType)).to(equal(@(SDLFrameType_Control)));
+ expect(@(testHeader.serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(testHeader.frameData)).to(equal(@(SDLFrameData_StartSession)));
+ expect(@(testHeader.sessionID)).to(equal(@0x53));
+ expect(@(testHeader.bytesInPayload)).to(equal(@0x1234));
+ expect(@(testHeader.messageID)).to(equal(@0x6DAB424F));
+ });
+});
+
+describe(@"Copy Tests", ^ {
+ it(@"Should copy correctly", ^ {
+ SDLV2ProtocolHeader* headerCopy = [testHeader copy];
+
+ expect(@(headerCopy.version)).to(equal(@2));
+ expect(@(headerCopy.size)).to(equal(@12));
+
+ expect(@(headerCopy.compressed)).to(equal(@YES));
+ expect(@(headerCopy.frameType)).to(equal(@(SDLFrameType_Control)));
+ expect(@(headerCopy.serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(headerCopy.frameData)).to(equal(@(SDLFrameData_StartSession)));
+ expect(@(headerCopy.sessionID)).to(equal(@0x53));
+ expect(@(headerCopy.bytesInPayload)).to(equal(@0x1234));
+ expect(@(testHeader.messageID)).to(equal(@0x6DAB424F));
+
+ expect(headerCopy).toNot(beIdenticalTo(testHeader));
+ });
+});
+
+describe(@"Data Tests", ^ {
+ it (@"Should convert to byte data correctly", ^ {
+ expect(testHeader.data).to(equal(testData));
+ });
+});
+
+describe(@"RPCPayloadWithData Test", ^ {
+ it (@"Should convert from byte data correctly", ^ {
+ SDLV2ProtocolHeader* constructedHeader = [[SDLV2ProtocolHeader alloc] init];
+
+ [constructedHeader parse:testData];
+
+ expect(@(constructedHeader.compressed)).to(equal(@YES));
+ expect(@(constructedHeader.frameType)).to(equal(@(SDLFrameType_Control)));
+ expect(@(constructedHeader.serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(constructedHeader.frameData)).to(equal(@(SDLFrameData_StartSession)));
+ expect(@(constructedHeader.sessionID)).to(equal(@0x53));
+ expect(@(constructedHeader.bytesInPayload)).to(equal(@0x1234));
+ expect(@(testHeader.messageID)).to(equal(@0x6DAB424F));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolMessageSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolMessageSpec.m
new file mode 100644
index 000000000..12b634218
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolMessageSpec.m
@@ -0,0 +1,72 @@
+//
+// SDLProtocolMessageSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+#import <OCMock/OCMock.h>
+
+#import "SDLProtocolHeader.h"
+#import "SDLProtocolMessage.h"
+#import "SDLV1ProtocolHeader.h"
+#import "SDLV1ProtocolMessage.h"
+#import "SDLV2ProtocolHeader.h"
+#import "SDLV2ProtocolMessage.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLProtocolMessageSpec)
+
+describe(@"MessageWithHeader Tests", ^ {
+ it(@"Should return an appropriate object", ^ {
+ NSData* testPayload = [NSData dataWithBytes:"Test Data" length:strlen("Test Data")];
+ SDLV1ProtocolHeader* testHeaderV1 = [[SDLV1ProtocolHeader alloc] init];
+ SDLProtocolMessage* testMessageV1 = [SDLProtocolMessage messageWithHeader:testHeaderV1 andPayload:testPayload];
+
+ expect(testMessageV1).to(beAKindOf(SDLV1ProtocolMessage.class));
+ expect(testMessageV1.header).to(equal(testHeaderV1));
+ expect(testMessageV1.payload).to(equal(testPayload));
+
+ SDLV2ProtocolHeader* testHeaderV2 = [[SDLV2ProtocolHeader alloc] init];
+ SDLProtocolMessage* testMessageV2 = [SDLProtocolMessage messageWithHeader:testHeaderV2 andPayload:testPayload];
+
+ expect(testMessageV2).to(beAKindOf(SDLV2ProtocolMessage.class));
+ expect(testMessageV2.header).to(equal(testHeaderV2));
+ expect(testMessageV2.payload).to(equal(testPayload));
+ });
+});
+
+describe(@"DetermineVersion Tests", ^ {
+ it(@"Should return the correct version", ^ {
+ const char bytesV1[8] = {0x10 | SDLFrameType_First, SDLServiceType_BulkData, SDLFrameData_StartSessionACK, 0x5E, 0x00, 0x00, 0x00, 0x00};
+ NSData* messageV1 = [NSData dataWithBytes:bytesV1 length:8];
+ expect(@([SDLProtocolMessage determineVersion:messageV1])).to(equal(@1));
+
+ const char bytesV2[12] = {0x20 | SDLFrameType_First, SDLServiceType_BulkData, SDLFrameData_StartSessionACK, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44};
+ NSData* messageV2 = [NSData dataWithBytes:bytesV2 length:12];
+ expect(@([SDLProtocolMessage determineVersion:messageV2])).to(equal(@2));
+ });
+});
+
+describe(@"Data tests", ^ {
+ it(@"Should return the correct data", ^ {
+ SDLProtocolMessage* testMessage = [[SDLProtocolMessage alloc] init];
+
+ SDLV2ProtocolHeader* testHeader = [[SDLV2ProtocolHeader alloc] init];
+
+ id headerMock = OCMPartialMock(testHeader);
+ const char headerData[12] = {0x20 | SDLFrameType_First, SDLServiceType_BulkData, SDLFrameData_StartSessionACK, 0x5E, 0x0E, 0x00, 0x00, strlen("Test Data"), 0x65, 0x22, 0x41, 0x38};
+ [[[headerMock stub] andReturn:[NSData dataWithBytes:headerData length:12]] data];
+
+ testMessage.header = testHeader;
+ testMessage.payload = [NSData dataWithBytes:"Test Data" length:strlen("Test Data")];
+
+ NSMutableData* testData = [NSMutableData dataWithBytes:headerData length:12];
+ [testData appendBytes:"Test Data" length:strlen("Test Data")];
+ expect(testMessage.data).to(equal([testData copy]));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m
new file mode 100644
index 000000000..c960e43c1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m
@@ -0,0 +1,481 @@
+//
+// SDLProtocolSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+#import <OCMock/OCMock.h>
+
+#import "SDLProtocolHeader.h"
+#import "SDLProtocol.h"
+#import "SDLProtocolMessage.h"
+#import "SDLProtocolReceivedMessageRouter.h"
+#import "SDLRPCRequest.h"
+#import "SDLNames.h"
+#import "SDLTransport.h"
+#import "SDLV1ProtocolMessage.h"
+#import "SDLV2ProtocolMessage.h"
+#import "SDLV1ProtocolHeader.h"
+#import "SDLV2ProtocolHeader.h"
+
+
+QuickSpecBegin(SDLProtocolSpec)
+
+//Test dictionaries
+NSDictionary* dictionaryV1 = @{NAMES_request:
+ @{NAMES_operation_name:@"DeleteCommand",
+ NAMES_correlationID:@0x98765,
+ NAMES_parameters:
+ @{NAMES_cmdID:@55}}};
+NSDictionary* dictionaryV2 = @{NAMES_cmdID:@55};
+
+describe(@"SendStartSession Tests", ^ {
+ it(@"Should send the correct data", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+
+ __block BOOL verified = NO;
+ id transportMock = OCMProtocolMock(@protocol(SDLTransport));
+ [[[transportMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained NSData* data;
+ [invocation getArgument:&data atIndex:2];
+ NSData* dataSent = [data copy];
+
+ const char testHeader[8] = {0x10 | SDLFrameType_Control, SDLServiceType_BulkData, SDLFrameData_StartSession, 0x00, 0x00, 0x00, 0x00, 0x00};
+ expect(dataSent).to(equal([NSData dataWithBytes:testHeader length:8]));
+ }] sendData:[OCMArg any]];
+ testProtocol.transport = transportMock;
+
+ [testProtocol sendStartSessionWithType:SDLServiceType_BulkData];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+});
+
+describe(@"SendEndSession Tests", ^ {
+ context(@"During V1 session", ^ {
+ it(@"Should send the correct data", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_RPC sessionID:0x03 version:0x01];
+
+ __block BOOL verified = NO;
+ id transportMock = OCMProtocolMock(@protocol(SDLTransport));
+ [[[transportMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained NSData* data;
+ [invocation getArgument:&data atIndex:2];
+ NSData* dataSent = [data copy];
+
+ const char testHeader[8] = {0x10 | SDLFrameType_Control, SDLServiceType_RPC, SDLFrameData_EndSession, 0x03, 0x00, 0x00, 0x00, 0x00};
+ expect(dataSent).to(equal([NSData dataWithBytes:testHeader length:8]));
+ }] sendData:[OCMArg any]];
+ testProtocol.transport = transportMock;
+
+ [testProtocol sendEndSessionWithType:SDLServiceType_RPC sessionID:0x03];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+ });
+
+ context(@"During V2 session", ^ {
+ it(@"Should send the correct data", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_RPC sessionID:0x61 version:0x02];
+
+ __block BOOL verified = NO;
+ id transportMock = OCMProtocolMock(@protocol(SDLTransport));
+ [[[transportMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained NSData* data;
+ [invocation getArgument:&data atIndex:2];
+ NSData* dataSent = [data copy];
+
+ const char testHeader[12] = {0x20 | SDLFrameType_Control, SDLServiceType_RPC, SDLFrameData_EndSession, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ expect(dataSent).to(equal([NSData dataWithBytes:testHeader length:12]));
+ }] sendData:[OCMArg any]];
+ testProtocol.transport = transportMock;
+
+ [testProtocol sendEndSessionWithType:SDLServiceType_RPC sessionID:0x61];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+ });
+});
+
+describe(@"SendRPCRequest Tests", ^ {
+ __block id mockRequest;
+ beforeEach(^ {
+ mockRequest = OCMPartialMock([[SDLRPCRequest alloc] init]);
+ });
+
+ context(@"During V1 session", ^ {
+ it(@"Should send the correct data", ^ {
+ [[[[mockRequest stub] andReturn:dictionaryV1] ignoringNonObjectArgs] serializeAsDictionary:1];
+
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_RPC sessionID:0xFF version:0x01];
+
+ __block BOOL verified = NO;
+ id transportMock = OCMProtocolMock(@protocol(SDLTransport));
+ [[[transportMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained NSData* data;
+ [invocation getArgument:&data atIndex:2];
+ NSData* dataSent = [data copy];
+
+ NSData* jsonTestData = [NSJSONSerialization dataWithJSONObject:dictionaryV1 options:0 error:0];
+ NSUInteger dataLength = jsonTestData.length;
+
+ const char testHeader[8] = {0x10 | SDLFrameType_Single, SDLServiceType_RPC, SDLFrameData_SingleFrame, 0xFF, (dataLength >> 24) & 0xFF, (dataLength >> 16) & 0xFF, (dataLength >> 8) & 0xFF, dataLength & 0xFF};
+ NSMutableData* testData = [NSMutableData dataWithBytes:testHeader length:8];
+ [testData appendData:jsonTestData];
+
+ expect(dataSent).to(equal([testData copy]));
+ }] sendData:[OCMArg any]];
+ testProtocol.transport = transportMock;
+
+ [testProtocol sendRPCRequest:mockRequest];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+ });
+
+ context(@"During V2 session", ^ {
+ it(@"Should send the correct data", ^ {
+ [[[[mockRequest stub] andReturn:dictionaryV2] ignoringNonObjectArgs] serializeAsDictionary:2];
+ [[[mockRequest stub] andReturn:@0x98765] correlationID];
+ [[[mockRequest stub] andReturn:@"DeleteCommand"] getFunctionName];
+ [[[mockRequest stub] andReturn:[NSData dataWithBytes:"COMMAND" length:strlen("COMMAND")]] bulkData];
+
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_RPC sessionID:0x01 version:0x02];
+
+ __block BOOL verified = NO;
+ id transportMock = OCMProtocolMock(@protocol(SDLTransport));
+ [[[transportMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained NSData* data;
+ [invocation getArgument:&data atIndex:2];
+ NSData* dataSent = [data copy];
+
+ NSData* jsonTestData = [NSJSONSerialization dataWithJSONObject:dictionaryV2 options:0 error:0];
+ NSUInteger dataLength = jsonTestData.length;
+
+ const char testPayloadHeader[12] = {0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x87, 0x65, (dataLength >> 24) & 0xFF, (dataLength >> 16) & 0xFF, (dataLength >> 8) & 0xFF, dataLength & 0xFF};
+
+ NSMutableData* payloadData = [NSMutableData dataWithBytes:testPayloadHeader length:12];
+ [payloadData appendData:jsonTestData];
+ [payloadData appendBytes:"COMMAND" length:strlen("COMMAND")];
+
+ const char testHeader[12] = {0x20 | SDLFrameType_Single, SDLServiceType_RPC, SDLFrameData_SingleFrame, 0x01, (payloadData.length >> 24) & 0xFF, (payloadData.length >> 16) & 0xFF,
+ (payloadData.length >> 8) & 0xFF, payloadData.length & 0xFF, 0x00, 0x00, 0x00, 0x01};
+
+ NSMutableData* testData = [NSMutableData dataWithBytes:testHeader length:12];
+ [testData appendData:payloadData];
+
+ expect(dataSent).to(equal([testData copy]));
+ }] sendData:[OCMArg any]];
+ testProtocol.transport = transportMock;
+
+ [testProtocol sendRPCRequest:mockRequest];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+ });
+});
+
+describe(@"HandleBytesFromTransport Tests", ^ {
+ context(@"During V1 session", ^ {
+ it(@"Should parse the data correctly", ^ {
+ id routerMock = OCMClassMock(SDLProtocolReceivedMessageRouter.class);
+
+ //Override initialization methods so that our protocol will use our object instead
+ [[[routerMock stub] andReturn:routerMock] alloc];
+ (void)[[[routerMock stub] andReturn:routerMock] init];
+
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_RPC sessionID:0x43 version:0x01];
+
+ NSData* jsonTestData = [NSJSONSerialization dataWithJSONObject:dictionaryV1 options:0 error:0];
+ NSUInteger dataLength = jsonTestData.length;
+
+ __block BOOL verified = NO;
+ [[[routerMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained SDLV1ProtocolMessage* message;
+ [invocation getArgument:&message atIndex:2];
+
+ SDLV1ProtocolMessage* messageReceived = message;
+
+ expect(messageReceived.payload).to(equal(jsonTestData));
+ expect(@(messageReceived.header.version)).to(equal(@1));
+ expect(@(messageReceived.header.compressed)).to(equal(@NO));
+ expect(@(messageReceived.header.frameType)).to(equal(@(SDLFrameType_Single)));
+ expect(@(messageReceived.header.sessionID)).to(equal(@0xFF));
+ expect(@(messageReceived.header.serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(messageReceived.header.frameData)).to(equal(@(SDLFrameData_SingleFrame)));
+ expect(@(messageReceived.header.bytesInPayload)).to(equal(@(dataLength)));
+ }] handleReceivedMessage:[OCMArg any]];
+
+ const char testHeader[8] = {0x10 | SDLFrameType_Single, SDLServiceType_RPC, SDLFrameData_SingleFrame, 0xFF, (dataLength >> 24) & 0xFF, (dataLength >> 16) & 0xFF, (dataLength >> 8) & 0xFF, dataLength & 0xFF};
+ NSMutableData* testData = [NSMutableData dataWithBytes:testHeader length:8];
+ [testData appendData:jsonTestData];
+
+ [testProtocol handleBytesFromTransport:testData];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+ });
+
+ context(@"During V2 session", ^ {
+ it(@"Should parse the data correctly", ^ {
+ id routerMock = OCMClassMock(SDLProtocolReceivedMessageRouter.class);
+
+ //Override initialization methods so that our protocol will use our object instead
+ [[[routerMock stub] andReturn:routerMock] alloc];
+ (void)[[[routerMock stub] andReturn:routerMock] init];
+
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_RPC sessionID:0xF5 version:0x02];
+
+ NSData* jsonTestData = [NSJSONSerialization dataWithJSONObject:dictionaryV2 options:0 error:0];
+ NSUInteger dataLength = jsonTestData.length;
+
+ const char testPayloadHeader[12] = {0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x87, 0x65, (dataLength >> 24) & 0xFF, (dataLength >> 16) & 0xFF, (dataLength >> 8) & 0xFF, dataLength & 0xFF};
+
+ NSMutableData* payloadData = [NSMutableData dataWithBytes:testPayloadHeader length:12];
+ [payloadData appendData:jsonTestData];
+ [payloadData appendBytes:"COMMAND" length:strlen("COMMAND")];
+
+ __block BOOL verified = NO;
+ [[[routerMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained SDLV2ProtocolMessage* message;
+ [invocation getArgument:&message atIndex:2];
+
+ SDLV2ProtocolMessage* messageReceived = message;
+
+ expect(messageReceived.payload).to(equal(payloadData));
+ expect(@(messageReceived.header.version)).to(equal(@2));
+ expect(@(messageReceived.header.compressed)).to(equal(@NO));
+ expect(@(messageReceived.header.frameType)).to(equal(@(SDLFrameType_Single)));
+ expect(@(messageReceived.header.sessionID)).to(equal(@0x01));
+ expect(@(messageReceived.header.serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(messageReceived.header.frameData)).to(equal(@(SDLFrameData_SingleFrame)));
+ expect(@(messageReceived.header.bytesInPayload)).to(equal(@(payloadData.length)));
+ expect(@(((SDLV2ProtocolHeader*)messageReceived.header).messageID)).to(equal(@1));
+
+ }] handleReceivedMessage:[OCMArg any]];
+ testProtocol.transport = routerMock;
+
+ const char testHeader[12] = {0x20 | SDLFrameType_Single, SDLServiceType_RPC, SDLFrameData_SingleFrame, 0x01, (payloadData.length >> 24) & 0xFF, (payloadData.length >> 16) & 0xFF,
+ (payloadData.length >> 8) & 0xFF, payloadData.length & 0xFF, 0x00, 0x00, 0x00, 0x01};
+
+ NSMutableData* testData = [NSMutableData dataWithBytes:testHeader length:12];
+ [testData appendData:payloadData];
+
+ [testProtocol handleBytesFromTransport:testData];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+ });
+});
+
+describe(@"SendHeartbeat Tests", ^ {
+ context(@"During V1 session", ^ {
+ it(@"Should send the correct data", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_RPC sessionID:0x43 version:0x01];
+
+ __block BOOL verified = NO;
+ id transportMock = OCMProtocolMock(@protocol(SDLTransport));
+ [[[transportMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained NSData* data;
+ [invocation getArgument:&data atIndex:2];
+ NSData* dataSent = [data copy];
+
+ const char testHeader[8] = {0x10 | SDLFrameType_Control, 0x00, SDLFrameData_Heartbeat, 0x43, 0x00, 0x00, 0x00, 0x00};
+ expect(dataSent).to(equal([NSData dataWithBytes:testHeader length:8]));
+ }] sendData:[OCMArg any]];
+ testProtocol.transport = transportMock;
+
+ [testProtocol sendHeartbeat];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+ });
+
+ context(@"During V2 session", ^ {
+ it(@"Should send the correct data", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_RPC sessionID:0xF5 version:0x02];
+
+ __block BOOL verified = NO;
+ id transportMock = OCMProtocolMock(@protocol(SDLTransport));
+ [[[transportMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained NSData* data;
+ [invocation getArgument:&data atIndex:2];
+ NSData* dataSent = [data copy];
+
+ const char testHeader[12] = {0x20 | SDLFrameType_Control, 0x00, SDLFrameData_Heartbeat, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ expect(dataSent).to(equal([NSData dataWithBytes:testHeader length:12]));
+ }] sendData:[OCMArg any]];
+ testProtocol.transport = transportMock;
+
+ [testProtocol sendHeartbeat];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+ });
+});
+
+describe(@"HandleProtocolSessionStarted Tests", ^ {
+ it(@"Should pass information along to delegate", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ __block BOOL verified = NO;
+ [[[[delegateMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+ Byte serviceType;
+ Byte sessionID;
+ Byte version;
+
+ [invocation getArgument:&serviceType atIndex:2];
+ [invocation getArgument:&sessionID atIndex:3];
+ [invocation getArgument:&version atIndex:4];
+
+ expect(@(serviceType)).to(equal(@(SDLServiceType_BulkData)));
+ expect(@(sessionID)).to(equal(@0x44));
+ expect(@(version)).to(equal(@0x03));
+ }] ignoringNonObjectArgs] handleProtocolSessionStarted:0 sessionID:0 version:0];
+
+ testProtocol.protocolDelegate = delegateMock;
+
+ [testProtocol handleProtocolSessionStarted:SDLServiceType_BulkData sessionID:0x44 version:0x03];
+
+ expect(@(verified)).to(beTruthy());
+ });
+});
+
+describe(@"OnProtocolMessageReceived Tests", ^ {
+ it(@"Should pass information along to delegate", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+
+ SDLProtocolMessage* testMessage = [[SDLProtocolMessage alloc] init];
+
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ __block BOOL verified = NO;
+ [[[[delegateMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained SDLProtocolMessage* message;
+
+ [invocation getArgument:&message atIndex:2];
+
+ expect(message).to(beIdenticalTo(testMessage));
+ }] ignoringNonObjectArgs] onProtocolMessageReceived:[OCMArg any]];
+
+ testProtocol.protocolDelegate = delegateMock;
+
+ [testProtocol onProtocolMessageReceived:testMessage];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+});
+
+describe(@"OnProtocolOpened Tests", ^ {
+ it(@"Should pass information along to delegate", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ __block BOOL verified = NO;
+ [[[delegateMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+ }] onProtocolOpened];
+
+ testProtocol.protocolDelegate = delegateMock;
+
+ [testProtocol onProtocolOpened];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+});
+
+describe(@"OnProtocolClosed Tests", ^ {
+ it(@"Should pass information along to delegate", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ __block BOOL verified = NO;
+ [[[delegateMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+ }] onProtocolClosed];
+
+ testProtocol.protocolDelegate = delegateMock;
+
+ [testProtocol onProtocolClosed];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+});
+
+describe(@"OnError Tests", ^ {
+ it(@"Should pass information along to delegate", ^ {
+ SDLProtocol* testProtocol = [[SDLProtocol alloc] init];
+
+ NSException* testException = [[NSException alloc] initWithName:@"Name" reason:@"No Reason" userInfo:@{}];
+
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ __block BOOL verified = NO;
+ [[[delegateMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained NSString* message;
+ __unsafe_unretained NSException* exception;
+
+ [invocation getArgument:&message atIndex:2];
+ [invocation getArgument:&exception atIndex:3];
+
+ expect(message).to(equal(@"Nothing actually happened"));
+ expect(exception).to(equal(testException));
+ }] onError:[OCMArg any] exception:[OCMArg any]];
+
+ testProtocol.protocolDelegate = delegateMock;
+
+ [testProtocol onError:@"Nothing actually happened" exception:testException];
+
+ expect(@(verified)).toEventually(beTruthy());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLV1ProtocolMessageSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLV1ProtocolMessageSpec.m
new file mode 100644
index 000000000..0a40b94f3
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLV1ProtocolMessageSpec.m
@@ -0,0 +1,32 @@
+//
+// SDLV1ProtocolMessageSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+#import <OCMock/OCMock.h>
+
+#import "SDLV1ProtocolMessage.h"
+#import "SDLV1ProtocolHeader.h"
+
+
+QuickSpecBegin(SDLV1ProtocolMessageSpec)
+
+describe(@"RPCDictionary Tests", ^ {
+ it(@"Should return the correct dictionary", ^ {
+ SDLV1ProtocolHeader* testHeader = [[SDLV1ProtocolHeader alloc] init];
+ NSDictionary* testDictionary = @{@"Oyster": @"Soup",
+ @"Soup": @"Kitchen",
+ @"Kitchen": @"Floor",
+ @"Floor": @"Wax",
+ @"Wax": @"Museum"};
+ SDLV1ProtocolMessage* testMessage = [[SDLV1ProtocolMessage alloc] initWithHeader:testHeader andPayload:[NSJSONSerialization dataWithJSONObject:testDictionary options:0 error:0]];
+
+ expect([testMessage rpcDictionary]).to(equal(testDictionary));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLV2ProtocolMessageSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLV2ProtocolMessageSpec.m
new file mode 100644
index 000000000..84a053004
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLV2ProtocolMessageSpec.m
@@ -0,0 +1,57 @@
+//
+// SDLV2ProtocolMessageSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+#import <OCMock/OCMock.h>
+
+#import "SDLV2ProtocolMessage.h"
+#import "SDLV2ProtocolHeader.h"
+#import "SDLRPCPayload.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLV2ProtocolMessageSpec)
+
+describe(@"RPCDictionary Tests", ^ {
+ it(@"Should return the correct dictionary", ^ {
+ SDLServiceType serviceType = SDLServiceType_RPC;
+
+ SDLV2ProtocolHeader* testHeader = [[SDLV2ProtocolHeader alloc] init];
+ id headerMock = OCMPartialMock(testHeader);
+ [[[headerMock stub] andReturnValue:[NSValue value:&serviceType withObjCType:@encode(SDLServiceType)]] serviceType];
+
+ NSDictionary* dictionary = @{@"A": @1,
+ @"B": @2,
+ @"C": @3,
+ @"D": @4,
+ @"E": @5};
+ UInt32 correlationID = 99;
+ UInt32 functionID = 26;
+ Byte rpcType = 0;
+
+ SDLRPCPayload* testPayload = [[SDLRPCPayload alloc] init];
+ id payloadMock = OCMPartialMock(testPayload);
+ [[[payloadMock stub] andReturn:[NSJSONSerialization dataWithJSONObject:dictionary options:0 error:0]] jsonData];
+ [[[payloadMock stub] andReturnValue:[NSValue value:&correlationID withObjCType:@encode(UInt32)]] correlationID];
+ [[[payloadMock stub] andReturnValue:[NSValue value:&functionID withObjCType:@encode(UInt32)]] functionID];
+ [[[payloadMock stub] andReturnValue:[NSValue value:&rpcType withObjCType:@encode(Byte)]] rpcType];
+ [[[payloadMock stub] andReturn:[NSData dataWithBytes:"Database" length:strlen("Database")]] binaryData];
+
+ id payloadClassMock = OCMClassMock(SDLRPCPayload.class);
+ [[[payloadClassMock stub] andReturn:testPayload] rpcPayloadWithData:[OCMArg any]];
+
+ SDLV2ProtocolMessage* testMessage = [[SDLV2ProtocolMessage alloc] initWithHeader:testHeader andPayload:[[NSMutableData alloc] initWithCapacity:0]];
+
+ expect([testMessage rpcDictionary]).to(equal(@{NAMES_request:
+ @{NAMES_operation_name:NAMES_Slider,
+ NAMES_correlationID:@99,
+ NAMES_parameters:dictionary},
+ NAMES_bulkData:[NSData dataWithBytes:"Database" length:strlen("Database")]}));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLAbstractProtocolSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLAbstractProtocolSpec.m
new file mode 100644
index 000000000..705412e11
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLAbstractProtocolSpec.m
@@ -0,0 +1,57 @@
+//
+// SDLAbstractProtocolSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+#import <OCMock/OCMock.h>
+
+#import "SDLAbstractProtocol.h"
+#import "SDLProtocolListener.h"
+
+QuickSpecBegin(SDLAbstractProtocolSpec)
+
+describe(@"OnTransportConnected Tests", ^ {
+ it(@"Should invoke the correct method", ^ {
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ SDLAbstractProtocol* abstractProtocol = [[SDLAbstractProtocol alloc] init];
+ abstractProtocol.protocolDelegate = delegateMock;
+
+ __block BOOL verified = NO;
+ [[[delegateMock stub] andDo:^(NSInvocation* invocation) {verified = YES;}] onProtocolOpened];
+
+ [abstractProtocol onTransportConnected];
+
+ //Verifications don't work with Nimble at this point
+ //OCMVerify([delegateMock onProtocolOpened]);
+
+ //Workaround for now
+ expect(@(verified)).to(beTruthy());
+ });
+});
+
+describe(@"OnTransportDisconnected Tests", ^ {
+ it(@"Should invoke the correct method", ^ {
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ SDLAbstractProtocol* abstractProtocol = [[SDLAbstractProtocol alloc] init];
+ abstractProtocol.protocolDelegate = delegateMock;
+
+ __block BOOL verified = NO;
+ [[[delegateMock stub] andDo:^(NSInvocation* invocation) {verified = YES;}] onProtocolClosed];
+
+ [abstractProtocol onTransportDisconnected];
+
+ //Verifications don't work with Nimble at this point
+ //OCMVerify([delegateMock onProtocolClosed]);
+
+ //Workaround for now
+ expect(@(verified)).to(beTruthy());
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLFunctionIDSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLFunctionIDSpec.m
new file mode 100644
index 000000000..eff1ae3b2
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLFunctionIDSpec.m
@@ -0,0 +1,152 @@
+//
+// FunctionIDSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLFunctionID.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLFunctionIDSpec)
+
+SDLFunctionID* functionID = [[SDLFunctionID alloc] init];
+
+describe(@"GetFunctionName Tests", ^ {
+ it(@"Should return the correct function name", ^ {
+ expect([functionID getFunctionName:1]).to(equal(NAMES_RegisterAppInterface));
+ expect([functionID getFunctionName:2]).to(equal(NAMES_UnregisterAppInterface));
+ expect([functionID getFunctionName:3]).to(equal(NAMES_SetGlobalProperties));
+ expect([functionID getFunctionName:4]).to(equal(NAMES_ResetGlobalProperties));
+ expect([functionID getFunctionName:5]).to(equal(NAMES_AddCommand));
+ expect([functionID getFunctionName:6]).to(equal(NAMES_DeleteCommand));
+ expect([functionID getFunctionName:7]).to(equal(NAMES_AddSubMenu));
+ expect([functionID getFunctionName:8]).to(equal(NAMES_DeleteSubMenu));
+ expect([functionID getFunctionName:9]).to(equal(NAMES_CreateInteractionChoiceSet));
+ expect([functionID getFunctionName:10]).to(equal(NAMES_PerformInteraction));
+ expect([functionID getFunctionName:11]).to(equal(NAMES_DeleteInteractionChoiceSet));
+ expect([functionID getFunctionName:12]).to(equal(NAMES_Alert));
+ expect([functionID getFunctionName:13]).to(equal(NAMES_Show));
+ expect([functionID getFunctionName:14]).to(equal(NAMES_Speak));
+ expect([functionID getFunctionName:15]).to(equal(NAMES_SetMediaClockTimer));
+ expect([functionID getFunctionName:16]).to(equal(NAMES_PerformAudioPassThru));
+ expect([functionID getFunctionName:17]).to(equal(NAMES_EndAudioPassThru));
+ expect([functionID getFunctionName:18]).to(equal(NAMES_SubscribeButton));
+ expect([functionID getFunctionName:19]).to(equal(NAMES_UnsubscribeButton));
+ expect([functionID getFunctionName:20]).to(equal(NAMES_SubscribeVehicleData));
+ expect([functionID getFunctionName:21]).to(equal(NAMES_UnsubscribeVehicleData));
+ expect([functionID getFunctionName:22]).to(equal(NAMES_GetVehicleData));
+ expect([functionID getFunctionName:23]).to(equal(NAMES_ReadDID));
+ expect([functionID getFunctionName:24]).to(equal(NAMES_GetDTCs));
+ expect([functionID getFunctionName:25]).to(equal(NAMES_ScrollableMessage));
+ expect([functionID getFunctionName:26]).to(equal(NAMES_Slider));
+ expect([functionID getFunctionName:27]).to(equal(NAMES_ShowConstantTBT));
+ expect([functionID getFunctionName:28]).to(equal(NAMES_AlertManeuver));
+ expect([functionID getFunctionName:29]).to(equal(NAMES_UpdateTurnList));
+ expect([functionID getFunctionName:30]).to(equal(NAMES_ChangeRegistration));
+ expect([functionID getFunctionName:31]).to(equal(NAMES_GenericResponse));
+ expect([functionID getFunctionName:32]).to(equal(NAMES_PutFile));
+ expect([functionID getFunctionName:33]).to(equal(NAMES_DeleteFile));
+ expect([functionID getFunctionName:34]).to(equal(NAMES_ListFiles));
+ expect([functionID getFunctionName:35]).to(equal(NAMES_SetAppIcon));
+ expect([functionID getFunctionName:36]).to(equal(NAMES_SetDisplayLayout));
+ expect([functionID getFunctionName:37]).to(equal(NAMES_DiagnosticMessage));
+ expect([functionID getFunctionName:38]).to(equal(NAMES_SystemRequest));
+ expect([functionID getFunctionName:39]).to(equal(NAMES_SendLocation));
+ expect([functionID getFunctionName:40]).to(equal(NAMES_DialNumber));
+ expect([functionID getFunctionName:32768]).to(equal(NAMES_OnHMIStatus));
+ expect([functionID getFunctionName:32769]).to(equal(NAMES_OnAppInterfaceUnregistered));
+ expect([functionID getFunctionName:32770]).to(equal(NAMES_OnButtonEvent));
+ expect([functionID getFunctionName:32771]).to(equal(NAMES_OnButtonPress));
+ expect([functionID getFunctionName:32772]).to(equal(NAMES_OnVehicleData));
+ expect([functionID getFunctionName:32773]).to(equal(NAMES_OnCommand));
+ expect([functionID getFunctionName:32774]).to(equal(NAMES_OnTBTClientState));
+ expect([functionID getFunctionName:32775]).to(equal(NAMES_OnDriverDistraction));
+ expect([functionID getFunctionName:32776]).to(equal(NAMES_OnPermissionsChange));
+ expect([functionID getFunctionName:32777]).to(equal(NAMES_OnAudioPassThru));
+ expect([functionID getFunctionName:32778]).to(equal(NAMES_OnLanguageChange));
+ expect([functionID getFunctionName:32779]).to(equal(NAMES_OnKeyboardInput));
+ expect([functionID getFunctionName:32780]).to(equal(NAMES_OnTouchEvent));
+ expect([functionID getFunctionName:32781]).to(equal(NAMES_OnSystemRequest));
+ expect([functionID getFunctionName:32782]).to(equal(NAMES_OnHashChange));
+
+ //Not listed in Spec
+ expect([functionID getFunctionName:65536]).to(equal(NAMES_EncodedSyncPData));
+ expect([functionID getFunctionName:65537]).to(equal(NAMES_SyncPData));
+
+ expect([functionID getFunctionName:98304]).to(equal(NAMES_OnEncodedSyncPData));
+ expect([functionID getFunctionName:98305]).to(equal(NAMES_OnSyncPData));
+ });
+});
+
+describe(@"GetFunctionID Tests", ^ {
+ it(@"Should return the correct function ID", ^ {
+ expect([functionID getFunctionID:NAMES_RegisterAppInterface]).to(equal(@1));
+ expect([functionID getFunctionID:NAMES_UnregisterAppInterface]).to(equal(@2));
+ expect([functionID getFunctionID:NAMES_SetGlobalProperties]).to(equal(@3));
+ expect([functionID getFunctionID:NAMES_ResetGlobalProperties]).to(equal(@4));
+ expect([functionID getFunctionID:NAMES_AddCommand]).to(equal(@5));
+ expect([functionID getFunctionID:NAMES_DeleteCommand]).to(equal(@6));
+ expect([functionID getFunctionID:NAMES_AddSubMenu]).to(equal(@7));
+ expect([functionID getFunctionID:NAMES_DeleteSubMenu]).to(equal(@8));
+ expect([functionID getFunctionID:NAMES_CreateInteractionChoiceSet]).to(equal(@9));
+ expect([functionID getFunctionID:NAMES_PerformInteraction]).to(equal(@10));
+ expect([functionID getFunctionID:NAMES_DeleteInteractionChoiceSet]).to(equal(@11));
+ expect([functionID getFunctionID:NAMES_Alert]).to(equal(@12));
+ expect([functionID getFunctionID:NAMES_Show]).to(equal(@13));
+ expect([functionID getFunctionID:NAMES_Speak]).to(equal(@14));
+ expect([functionID getFunctionID:NAMES_SetMediaClockTimer]).to(equal(@15));
+ expect([functionID getFunctionID:NAMES_PerformAudioPassThru]).to(equal(@16));
+ expect([functionID getFunctionID:NAMES_EndAudioPassThru]).to(equal(@17));
+ expect([functionID getFunctionID:NAMES_SubscribeButton]).to(equal(@18));
+ expect([functionID getFunctionID:NAMES_UnsubscribeButton]).to(equal(@19));
+ expect([functionID getFunctionID:NAMES_SubscribeVehicleData]).to(equal(@20));
+ expect([functionID getFunctionID:NAMES_UnsubscribeVehicleData]).to(equal(@21));
+ expect([functionID getFunctionID:NAMES_GetVehicleData]).to(equal(@22));
+ expect([functionID getFunctionID:NAMES_ReadDID]).to(equal(@23));
+ expect([functionID getFunctionID:NAMES_GetDTCs]).to(equal(@24));
+ expect([functionID getFunctionID:NAMES_ScrollableMessage]).to(equal(@25));
+ expect([functionID getFunctionID:NAMES_Slider]).to(equal(@26));
+ expect([functionID getFunctionID:NAMES_ShowConstantTBT]).to(equal(@27));
+ expect([functionID getFunctionID:NAMES_AlertManeuver]).to(equal(@28));
+ expect([functionID getFunctionID:NAMES_UpdateTurnList]).to(equal(@29));
+ expect([functionID getFunctionID:NAMES_ChangeRegistration]).to(equal(@30));
+ expect([functionID getFunctionID:NAMES_GenericResponse]).to(equal(@31));
+ expect([functionID getFunctionID:NAMES_PutFile]).to(equal(@32));
+ expect([functionID getFunctionID:NAMES_DeleteFile]).to(equal(@33));
+ expect([functionID getFunctionID:NAMES_ListFiles]).to(equal(@34));
+ expect([functionID getFunctionID:NAMES_SetAppIcon]).to(equal(@35));
+ expect([functionID getFunctionID:NAMES_SetDisplayLayout]).to(equal(@36));
+ expect([functionID getFunctionID:NAMES_DiagnosticMessage]).to(equal(@37));
+ expect([functionID getFunctionID:NAMES_SystemRequest]).to(equal(@38));
+ expect([functionID getFunctionID:NAMES_SendLocation]).to(equal(@39));
+ expect([functionID getFunctionID:NAMES_DialNumber]).to(equal(@40));
+ expect([functionID getFunctionID:NAMES_OnHMIStatus]).to(equal(@32768));
+ expect([functionID getFunctionID:NAMES_OnAppInterfaceUnregistered]).to(equal(@32769));
+ expect([functionID getFunctionID:NAMES_OnButtonEvent]).to(equal(@32770));
+ expect([functionID getFunctionID:NAMES_OnButtonPress]).to(equal(@32771));
+ expect([functionID getFunctionID:NAMES_OnVehicleData]).to(equal(@32772));
+ expect([functionID getFunctionID:NAMES_OnCommand]).to(equal(@32773));
+ expect([functionID getFunctionID:NAMES_OnTBTClientState]).to(equal(@32774));
+ expect([functionID getFunctionID:NAMES_OnDriverDistraction]).to(equal(@32775));
+ expect([functionID getFunctionID:NAMES_OnPermissionsChange]).to(equal(@32776));
+ expect([functionID getFunctionID:NAMES_OnAudioPassThru]).to(equal(@32777));
+ expect([functionID getFunctionID:NAMES_OnLanguageChange]).to(equal(@32778));
+ expect([functionID getFunctionID:NAMES_OnKeyboardInput]).to(equal(@32779));
+ expect([functionID getFunctionID:NAMES_OnTouchEvent]).to(equal(@32780));
+ expect([functionID getFunctionID:NAMES_OnSystemRequest]).to(equal(@32781));
+ expect([functionID getFunctionID:NAMES_OnHashChange]).to(equal(@32782));
+
+ //Not listed in Spec
+ expect([functionID getFunctionID:NAMES_EncodedSyncPData]).to(equal(@65536));
+ expect([functionID getFunctionID:NAMES_SyncPData]).to(equal(@65537));
+
+ expect([functionID getFunctionID:NAMES_OnEncodedSyncPData]).to(equal(@98304));
+ expect([functionID getFunctionID:NAMES_OnSyncPData]).to(equal(@98305));
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolMessageAssemblerSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolMessageAssemblerSpec.m
new file mode 100644
index 000000000..d31a6e061
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolMessageAssemblerSpec.m
@@ -0,0 +1,100 @@
+//
+// SDLProtocolMessageAssemblerSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+#import <OCMock/OCMock.h>
+
+#import "SDLProtocolMessageAssembler.h"
+#import "SDLV2ProtocolHeader.h"
+#import "SDLV2ProtocolMessage.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLProtocolMessageAssemblerSpec)
+
+describe(@"HandleMessage Tests", ^ {
+ it(@"Should assemble the message properly", ^ {
+ const NSUInteger dataLength = 2000;
+
+ char dummyBytes[dataLength];
+
+ const char testPayloadHeader[12] = {0x20, 0x55, 0x64, 0x73, 0x12, 0x34, 0x43, 0x21, (dataLength >> 24) & 0xFF, (dataLength >> 16) & 0xFF, (dataLength >> 8) & 0xFF, dataLength & 0xFF};
+
+ NSMutableData* payloadData = [NSMutableData dataWithBytes:testPayloadHeader length:12];
+ [payloadData appendBytes:dummyBytes length:dataLength];
+
+ SDLV2ProtocolMessage* testMessage = [[SDLV2ProtocolMessage alloc] init];
+ SDLV2ProtocolHeader* testHeader = [[SDLV2ProtocolHeader alloc] init];
+
+ //First frame
+ testHeader.frameType = SDLFrameType_First;
+ testHeader.serviceType = SDLServiceType_BulkData;
+ testHeader.frameData = 1;
+ testHeader.sessionID = 0x16;
+ testHeader.bytesInPayload = 8;
+
+ testMessage.header = testHeader;
+
+ const char firstPayload[8] = {(payloadData.length >> 24) & 0xFF, (payloadData.length >> 16) & 0xFF, (payloadData.length >> 8) & 0xFF, payloadData.length & 0xFF, 0x00, 0x00, 0x00, ceil(payloadData.length / 500.0)};
+ testMessage.payload = [NSData dataWithBytes:firstPayload length:8];
+
+ SDLProtocolMessageAssembler* assembler = [[SDLProtocolMessageAssembler alloc] initWithSessionID:0x16];
+
+ __block BOOL verified = NO;
+
+ SDLMessageAssemblyCompletionHandler incompleteHandler = ^void(BOOL done, SDLProtocolMessage* assembledMessage) {
+ verified = YES;
+
+ expect(@(done)).to(equal(@NO));
+ expect(assembledMessage).to(beNil());
+ };
+
+ [assembler handleMessage:testMessage withCompletionHandler:incompleteHandler];
+
+ expect(@(verified)).to(beTruthy());
+ verified = NO;
+
+ testMessage.header.frameType = SDLFrameType_Consecutive;
+ testMessage.header.bytesInPayload = 500;
+
+ NSUInteger frameNumber = 1;
+ NSUInteger offset = 0;
+ while ((offset + 500) < payloadData.length) {
+ //Consecutive frames
+ testMessage.header.frameData = frameNumber;
+ testMessage.payload = [payloadData subdataWithRange:NSMakeRange(offset, 500)];
+ [assembler handleMessage:testMessage withCompletionHandler:incompleteHandler];
+
+ expect(@(verified)).to(beTruthy());
+ verified = NO;
+
+ frameNumber++;
+ offset += 500;
+ }
+
+ //Final frame
+ testMessage.header.frameData = 0;
+ testMessage.payload = [payloadData subdataWithRange:NSMakeRange(offset, payloadData.length - offset)];
+ [assembler handleMessage:testMessage withCompletionHandler: ^void(BOOL done, SDLProtocolMessage* assembledMessage) {
+ verified = YES;
+
+ // FIXME: At the moment, this test fails because the completion handler is accidentally called twice
+ expect(@(done)).to(equal(@YES));
+
+ expect(assembledMessage.payload).to(equal(payloadData));
+ expect(@(assembledMessage.header.frameType)).to(equal(@(SDLFrameType_Single)));
+ expect(@(assembledMessage.header.serviceType)).to(equal(@(SDLServiceType_BulkData)));
+ expect(@(assembledMessage.header.frameData)).to(equal(@(SDLFrameData_SingleFrame)));
+ expect(@(assembledMessage.header.sessionID)).to(equal(@0x16));
+ expect(@(assembledMessage.header.bytesInPayload)).to(equal(@(payloadData.length)));
+ }];
+
+ expect(@(verified)).to(beTruthy());
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolMessageDisassemblerSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolMessageDisassemblerSpec.m
new file mode 100644
index 000000000..15fea1057
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolMessageDisassemblerSpec.m
@@ -0,0 +1,91 @@
+//
+// SDLProtocolMessageDisassemblerSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+#import <OCMock/OCMock.h>
+
+#import "SDLProtocolMessageDisassembler.h"
+#import "SDLV2ProtocolHeader.h"
+#import "SDLV2ProtocolMessage.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLProtocolMessageDisassemblerSpec)
+
+describe(@"Disassemble Tests", ^ {
+ it(@"Should assemble the message properly", ^ {
+ //Allocate 2000 bytes, and use it as sample data
+ const NSUInteger dataLength = 2000;
+ char dummyBytes[dataLength];
+
+ const char testPayloadHeader[12] = {0x20, 0x55, 0x64, 0x73, 0x12, 0x34, 0x43, 0x21, (dataLength >> 24) & 0xFF, (dataLength >> 16) & 0xFF, (dataLength >> 8) & 0xFF, dataLength & 0xFF};
+
+ NSMutableData* payloadData = [NSMutableData dataWithBytes:testPayloadHeader length:12];
+ [payloadData appendBytes:dummyBytes length:dataLength];
+
+ SDLV2ProtocolMessage* testMessage = [[SDLV2ProtocolMessage alloc] init];
+ SDLV2ProtocolHeader* testHeader = [[SDLV2ProtocolHeader alloc] init];
+
+ testHeader.frameType = SDLFrameType_Single;
+ testHeader.serviceType = SDLServiceType_BulkData;
+ testHeader.frameData = SDLFrameData_SingleFrame;
+ testHeader.sessionID = 0x84;
+ testHeader.bytesInPayload = (UInt32)payloadData.length;
+
+ testMessage.header = testHeader;
+ testMessage.payload = payloadData;
+
+ NSArray* messageList = [SDLProtocolMessageDisassembler disassemble:testMessage withLimit:512];
+
+ //Payload length per message
+ UInt32 payloadLength = 500;//MTU(512)-header length(12)
+
+ const char firstPayload[8] = {(payloadData.length >> 24) & 0xFF, (payloadData.length >> 16) & 0xFF, (payloadData.length >> 8) & 0xFF, payloadData.length & 0xFF, 0x00, 0x00, 0x00, ceil(1.0 * payloadData.length / payloadLength)};
+
+ SDLProtocolMessage* message = messageList[0];
+
+ //First frame
+ expect(message.payload).to(equal([NSData dataWithBytes:firstPayload length:8]));
+
+ expect(@(message.header.frameType)).to(equal(@(SDLFrameType_First)));
+ expect(@(message.header.serviceType)).to(equal(@(SDLServiceType_BulkData)));
+ expect(@(message.header.frameData)).to(equal(@(SDLFrameData_FirstFrame)));
+ expect(@(message.header.sessionID)).to(equal(@0x84));
+ expect(@(message.header.bytesInPayload)).to(equal(@8));
+
+ NSUInteger offset = 0;
+ for (int i = 1; i < messageList.count - 1; i++) {
+ message = messageList[i];
+
+ //Consecutive frames
+ expect(message.payload).to(equal([NSData dataWithData:[payloadData subdataWithRange:NSMakeRange(offset, payloadLength)]]));
+
+ expect(@(message.header.frameType)).to(equal(@(SDLFrameType_Consecutive)));
+ expect(@(message.header.serviceType)).to(equal(@(SDLServiceType_BulkData)));
+ expect(@(message.header.frameData)).to(equal(@(i)));
+ expect(@(message.header.sessionID)).to(equal(@0x84));
+ expect(@(message.header.bytesInPayload)).to(equal(@(payloadLength)));
+
+ offset += payloadLength;
+ }
+
+ message = [messageList lastObject];
+
+ NSUInteger remaining = payloadData.length - offset;
+
+ //Last frame
+ expect(message.payload).to(equal([NSData dataWithData:[payloadData subdataWithRange:NSMakeRange(offset, remaining)]]));
+
+ expect(@(message.header.frameType)).to(equal(@(SDLFrameType_Consecutive)));
+ expect(@(message.header.serviceType)).to(equal(@(SDLServiceType_BulkData)));
+ expect(@(message.header.frameData)).to(equal(@(SDLFrameData_ConsecutiveLastFrame)));
+ expect(@(message.header.sessionID)).to(equal(@0x84));
+ expect(@(message.header.bytesInPayload)).to(equal(@(remaining)));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolReceivedMessageRouterSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolReceivedMessageRouterSpec.m
new file mode 100644
index 000000000..7a6cec066
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/ProtocolSpecs/SDLProtocolReceivedMessageRouterSpec.m
@@ -0,0 +1,176 @@
+//
+// SDLProtocolReceivedMessageRouterSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+#import <OCMock/OCMock.h>
+
+#import "SDLProtocolReceivedMessageRouter.h"
+#import "SDLV2ProtocolHeader.h"
+#import "SDLV2ProtocolMessage.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLProtocolReceivedMessageRouterSpec)
+
+describe(@"HandleReceivedMessage Tests", ^ {
+ context(@"When handling control message", ^ {
+ it(@"Should route message correctly", ^ {
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ SDLV2ProtocolMessage* testMessage = [[SDLV2ProtocolMessage alloc] init];
+ SDLV2ProtocolHeader* testHeader = [[SDLV2ProtocolHeader alloc] init];
+
+ testHeader.frameType = SDLFrameType_Control;
+ testHeader.serviceType = SDLServiceType_RPC;
+ testHeader.frameData = SDLFrameData_StartSessionACK;
+ testHeader.sessionID = 0x93;
+ testHeader.bytesInPayload = 0;
+
+ testMessage.header = testHeader;
+ testMessage.payload = [NSData data];
+
+ __block BOOL verified = NO;
+ [[[[delegateMock stub] andDo: ^(NSInvocation* invocation) {
+ verified = YES;
+ Byte serviceType;
+ Byte sessionID;
+ Byte version;
+
+ [invocation getArgument:&serviceType atIndex:2];
+ [invocation getArgument:&sessionID atIndex:3];
+ [invocation getArgument:&version atIndex:4];
+
+ expect(@(serviceType)).to(equal(@(SDLServiceType_RPC)));
+ expect(@(sessionID)).to(equal(@0x93));
+ expect(@(version)).to(equal(@0x02));
+ }] ignoringNonObjectArgs] handleProtocolSessionStarted:0 sessionID:0 version:0];
+
+ SDLProtocolReceivedMessageRouter* router = [[SDLProtocolReceivedMessageRouter alloc] init];
+ router.delegate = delegateMock;
+
+ [router handleReceivedMessage:testMessage];
+
+ expect(@(verified)).to(beTruthy());
+ });
+ });
+
+ context(@"When handling single frame message", ^ {
+ it(@"Should route message correctly", ^ {
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ SDLV2ProtocolMessage* testMessage = [[SDLV2ProtocolMessage alloc] init];
+ SDLV2ProtocolHeader* testHeader = [[SDLV2ProtocolHeader alloc] init];
+
+ testHeader.frameType = SDLFrameType_Single;
+ testHeader.serviceType = SDLServiceType_RPC;
+ testHeader.frameData = SDLFrameData_SingleFrame;
+ testHeader.sessionID = 0x07;
+ testHeader.bytesInPayload = 0;
+
+ testMessage.header = testHeader;
+
+ testMessage.payload = [NSData data];
+
+ __block BOOL verified = NO;
+ [[[[delegateMock stub] andDo: ^(NSInvocation* invocation) {
+ verified = YES;
+
+ __unsafe_unretained SDLProtocolMessage* message;
+
+ [invocation getArgument:&message atIndex:2];
+
+ SDLV2ProtocolMessage* messageReceived = (SDLV2ProtocolMessage*)message;
+
+ expect(messageReceived).to(beIdenticalTo(testMessage));
+ }] ignoringNonObjectArgs] onProtocolMessageReceived:[OCMArg any]];
+
+ SDLProtocolReceivedMessageRouter* router = [[SDLProtocolReceivedMessageRouter alloc] init];
+ router.delegate = delegateMock;
+
+ [router handleReceivedMessage:testMessage];
+
+ expect(@(verified)).to(beTruthy());
+ });
+ });
+
+ context(@"When handling multi-frame message", ^ {
+ it(@"Should route message correctly", ^ {
+ //Allocate 2000 bytes and use it as test data
+ const NSUInteger dataLength = 2000;
+ char dummyBytes[dataLength];
+
+ const char testPayloadHeader[12] = {0x20, 0x55, 0x64, 0x73, 0x12, 0x34, 0x43, 0x21, (dataLength >> 24) & 0xFF, (dataLength >> 16) & 0xFF, (dataLength >> 8) & 0xFF, dataLength & 0xFF};
+
+ NSMutableData* payloadData = [NSMutableData dataWithBytes:testPayloadHeader length:12];
+ [payloadData appendBytes:dummyBytes length:dataLength];
+
+ SDLV2ProtocolMessage* testMessage = [[SDLV2ProtocolMessage alloc] init];
+ SDLV2ProtocolHeader* testHeader = [[SDLV2ProtocolHeader alloc] init];
+
+ //First frame
+ testHeader.frameType = SDLFrameType_First;
+ testHeader.serviceType = SDLServiceType_BulkData;
+ testHeader.frameData = 1;
+ testHeader.sessionID = 0x33;
+ testHeader.bytesInPayload = 8;
+
+ testMessage.header = testHeader;
+
+ const char firstPayload[8] = {(payloadData.length >> 24) & 0xFF, (payloadData.length >> 16) & 0xFF, (payloadData.length >> 8) & 0xFF, payloadData.length & 0xFF, 0x00, 0x00, 0x00, ceil(payloadData.length / 500.0)};
+ testMessage.payload = [NSData dataWithBytes:firstPayload length:8];
+
+ SDLProtocolReceivedMessageRouter* router = [[SDLProtocolReceivedMessageRouter alloc] init];
+
+ [router handleReceivedMessage:testMessage];
+
+ testMessage.header.frameType = SDLFrameType_Consecutive;
+ testMessage.header.bytesInPayload = 500;
+
+ NSUInteger frameNumber = 1;
+ NSUInteger offset = 0;
+ while ((offset + 500) < payloadData.length) {
+ //Consectutive frames
+ testMessage.header.frameData = frameNumber;
+ testMessage.payload = [payloadData subdataWithRange:NSMakeRange(offset, 500)];
+ [router handleReceivedMessage:testMessage];
+
+ frameNumber++;
+ offset += 500;
+ }
+
+ //Final frame
+ testMessage.header.frameData = 0;
+ testMessage.payload = [payloadData subdataWithRange:NSMakeRange(offset, payloadData.length - offset)];
+
+ id delegateMock = OCMProtocolMock(@protocol(SDLProtocolListener));
+
+ __block BOOL verified = NO;
+ [[[delegateMock stub] andDo:^(NSInvocation* invocation) {
+ verified = YES;
+
+ //Without the __unsafe_unretained, a double release will occur. More information: https://github.com/erikdoe/ocmock/issues/123
+ __unsafe_unretained SDLProtocolMessage* message;
+ [invocation getArgument:&message atIndex:2];
+ SDLProtocolMessage* assembledMessage = message;
+
+ expect(assembledMessage.payload).to(equal(payloadData));
+ expect(@(assembledMessage.header.frameType)).to(equal(@(SDLFrameType_Single)));
+ expect(@(assembledMessage.header.serviceType)).to(equal(@(SDLServiceType_BulkData)));
+ expect(@(assembledMessage.header.frameData)).to(equal(@(SDLFrameData_SingleFrame)));
+ expect(@(assembledMessage.header.sessionID)).to(equal(@0x33));
+ expect(@(assembledMessage.header.bytesInPayload)).to(equal(@(payloadData.length)));
+ }] onProtocolMessageReceived:[OCMArg any]];
+
+ router.delegate = delegateMock;
+ [router handleReceivedMessage:testMessage];
+
+ expect(@(verified)).to(beTruthy());
+ });
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAmbientLightStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAmbientLightStatusSpec.m
new file mode 100644
index 000000000..c5259da1d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAmbientLightStatusSpec.m
@@ -0,0 +1,71 @@
+//
+// SDLAmbientLightStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAmbientLightStatus.h"
+
+QuickSpecBegin(SDLAmbientLightStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLAmbientLightStatus NIGHT].value).to(equal(@"NIGHT"));
+ expect([SDLAmbientLightStatus TWILIGHT_1].value).to(equal(@"TWILIGHT_1"));
+ expect([SDLAmbientLightStatus TWILIGHT_2].value).to(equal(@"TWILIGHT_2"));
+ expect([SDLAmbientLightStatus TWILIGHT_3].value).to(equal(@"TWILIGHT_3"));
+ expect([SDLAmbientLightStatus TWILIGHT_4].value).to(equal(@"TWILIGHT_4"));
+ expect([SDLAmbientLightStatus DAY].value).to(equal(@"DAY"));
+ expect([SDLAmbientLightStatus UNKNOWN].value).to(equal(@"UNKNOWN"));
+ expect([SDLAmbientLightStatus INVALID].value).to(equal(@"INVALID"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLAmbientLightStatus valueOf:@"NIGHT"]).to(equal([SDLAmbientLightStatus NIGHT]));
+ expect([SDLAmbientLightStatus valueOf:@"TWILIGHT_1"]).to(equal([SDLAmbientLightStatus TWILIGHT_1]));
+ expect([SDLAmbientLightStatus valueOf:@"TWILIGHT_2"]).to(equal([SDLAmbientLightStatus TWILIGHT_2]));
+ expect([SDLAmbientLightStatus valueOf:@"TWILIGHT_3"]).to(equal([SDLAmbientLightStatus TWILIGHT_3]));
+ expect([SDLAmbientLightStatus valueOf:@"TWILIGHT_4"]).to(equal([SDLAmbientLightStatus TWILIGHT_4]));
+ expect([SDLAmbientLightStatus valueOf:@"DAY"]).to(equal([SDLAmbientLightStatus DAY]));
+ expect([SDLAmbientLightStatus valueOf:@"UNKNOWN"]).to(equal([SDLAmbientLightStatus UNKNOWN]));
+ expect([SDLAmbientLightStatus valueOf:@"INVALID"]).to(equal([SDLAmbientLightStatus INVALID]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLAmbientLightStatus valueOf:nil]).to(beNil());
+ expect([SDLAmbientLightStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLAmbientLightStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLAmbientLightStatus NIGHT],
+ [SDLAmbientLightStatus TWILIGHT_1],
+ [SDLAmbientLightStatus TWILIGHT_2],
+ [SDLAmbientLightStatus TWILIGHT_3],
+ [SDLAmbientLightStatus TWILIGHT_4],
+ [SDLAmbientLightStatus DAY],
+ [SDLAmbientLightStatus UNKNOWN],
+ [SDLAmbientLightStatus INVALID]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppHMITypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppHMITypeSpec.m
new file mode 100644
index 000000000..4e55a1543
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppHMITypeSpec.m
@@ -0,0 +1,77 @@
+//
+// SDLAppHMITypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAppHMIType.h"
+
+QuickSpecBegin(SDLAppHMITypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLAppHMIType DEFAULT].value).to(equal(@"DEFAULT"));
+ expect([SDLAppHMIType COMMUNICATION].value).to(equal(@"COMMUNICATION"));
+ expect([SDLAppHMIType MEDIA].value).to(equal(@"MEDIA"));
+ expect([SDLAppHMIType MESSAGING].value).to(equal(@"MESSAGING"));
+ expect([SDLAppHMIType NAVIGATION].value).to(equal(@"NAVIGATION"));
+ expect([SDLAppHMIType INFORMATION].value).to(equal(@"INFORMATION"));
+ expect([SDLAppHMIType SOCIAL].value).to(equal(@"SOCIAL"));
+ expect([SDLAppHMIType BACKGROUND_PROCESS].value).to(equal(@"BACKGROUND_PROCESS"));
+ expect([SDLAppHMIType TESTING].value).to(equal(@"TESTING"));
+ expect([SDLAppHMIType SYSTEM].value).to(equal(@"SYSTEM"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLAppHMIType valueOf:@"DEFAULT"]).to(equal([SDLAppHMIType DEFAULT]));
+ expect([SDLAppHMIType valueOf:@"COMMUNICATION"]).to(equal([SDLAppHMIType COMMUNICATION]));
+ expect([SDLAppHMIType valueOf:@"MEDIA"]).to(equal([SDLAppHMIType MEDIA]));
+ expect([SDLAppHMIType valueOf:@"MESSAGING"]).to(equal([SDLAppHMIType MESSAGING]));
+ expect([SDLAppHMIType valueOf:@"NAVIGATION"]).to(equal([SDLAppHMIType NAVIGATION]));
+ expect([SDLAppHMIType valueOf:@"INFORMATION"]).to(equal([SDLAppHMIType INFORMATION]));
+ expect([SDLAppHMIType valueOf:@"SOCIAL"]).to(equal([SDLAppHMIType SOCIAL]));
+ expect([SDLAppHMIType valueOf:@"BACKGROUND_PROCESS"]).to(equal([SDLAppHMIType BACKGROUND_PROCESS]));
+ expect([SDLAppHMIType valueOf:@"TESTING"]).to(equal([SDLAppHMIType TESTING]));
+ expect([SDLAppHMIType valueOf:@"SYSTEM"]).to(equal([SDLAppHMIType SYSTEM]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLAppHMIType valueOf:nil]).to(beNil());
+ expect([SDLAppHMIType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLAppHMIType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLAppHMIType DEFAULT],
+ [SDLAppHMIType COMMUNICATION],
+ [SDLAppHMIType MEDIA],
+ [SDLAppHMIType MESSAGING],
+ [SDLAppHMIType NAVIGATION],
+ [SDLAppHMIType INFORMATION],
+ [SDLAppHMIType SOCIAL],
+ [SDLAppHMIType BACKGROUND_PROCESS],
+ [SDLAppHMIType TESTING],
+ [SDLAppHMIType SYSTEM]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppInterfaceUnregisteredReasonSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppInterfaceUnregisteredReasonSpec.m
new file mode 100644
index 000000000..a8927c447
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppInterfaceUnregisteredReasonSpec.m
@@ -0,0 +1,85 @@
+//
+// SDLAppInterfaceUnregisteredReasonSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAppInterfaceUnregisteredReason.h"
+
+//Commented tests refer to values defined in the spec, but are not implemented
+
+QuickSpecBegin(SDLAppInterfaceUnregisteredReasonSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ //expect([SDLAppInterfaceUnregisteredReason USER_EXIT].value).to(equal(@"USER_EXIT"));
+ expect([SDLAppInterfaceUnregisteredReason IGNITION_OFF].value).to(equal(@"IGNITION_OFF"));
+ expect([SDLAppInterfaceUnregisteredReason BLUETOOTH_OFF].value).to(equal(@"BLUETOOTH_OFF"));
+ expect([SDLAppInterfaceUnregisteredReason USB_DISCONNECTED].value).to(equal(@"USB_DISCONNECTED"));
+ expect([SDLAppInterfaceUnregisteredReason REQUEST_WHILE_IN_NONE_HMI_LEVEL].value).to(equal(@"REQUEST_WHILE_IN_NONE_HMI_LEVEL"));
+ expect([SDLAppInterfaceUnregisteredReason TOO_MANY_REQUESTS].value).to(equal(@"TOO_MANY_REQUESTS"));
+ expect([SDLAppInterfaceUnregisteredReason DRIVER_DISTRACTION_VIOLATION].value).to(equal(@"DRIVER_DISTRACTION_VIOLATION"));
+ expect([SDLAppInterfaceUnregisteredReason LANGUAGE_CHANGE].value).to(equal(@"LANGUAGE_CHANGE"));
+ expect([SDLAppInterfaceUnregisteredReason MASTER_RESET].value).to(equal(@"MASTER_RESET"));
+ expect([SDLAppInterfaceUnregisteredReason FACTORY_DEFAULTS].value).to(equal(@"FACTORY_DEFAULTS"));
+ expect([SDLAppInterfaceUnregisteredReason APP_UNAUTHORIZED].value).to(equal(@"APP_UNAUTHORIZED"));
+ //expect([SDLAppInterfaceUnregisteredReason PROTOCOL_VIOLATION].value).to(equal(@"PROTOCOL_VIOLATION"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ //expect([SDLAppInterfaceUnregisteredReason valueOf:@"USER_EXIT"]).to(equal([SDLAppInterfaceUnregisteredReason USER_EXIT]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"IGNITION_OFF"]).to(equal([SDLAppInterfaceUnregisteredReason IGNITION_OFF]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"BLUETOOTH_OFF"]).to(equal([SDLAppInterfaceUnregisteredReason BLUETOOTH_OFF]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"USB_DISCONNECTED"]).to(equal([SDLAppInterfaceUnregisteredReason USB_DISCONNECTED]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"REQUEST_WHILE_IN_NONE_HMI_LEVEL"]).to(equal([SDLAppInterfaceUnregisteredReason REQUEST_WHILE_IN_NONE_HMI_LEVEL]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"TOO_MANY_REQUESTS"]).to(equal([SDLAppInterfaceUnregisteredReason TOO_MANY_REQUESTS]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"DRIVER_DISTRACTION_VIOLATION"]).to(equal([SDLAppInterfaceUnregisteredReason DRIVER_DISTRACTION_VIOLATION]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"LANGUAGE_CHANGE"]).to(equal([SDLAppInterfaceUnregisteredReason LANGUAGE_CHANGE]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"MASTER_RESET"]).to(equal([SDLAppInterfaceUnregisteredReason MASTER_RESET]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"FACTORY_DEFAULTS"]).to(equal([SDLAppInterfaceUnregisteredReason FACTORY_DEFAULTS]));
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"APP_UNAUTHORIZED"]).to(equal([SDLAppInterfaceUnregisteredReason APP_UNAUTHORIZED]));
+ //expect([SDLAppInterfaceUnregisteredReason valueOf:@"PROTOCOL_VIOLATION"]).to(equal([SDLAppInterfaceUnregisteredReason PROTOCOL_VIOLATION]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLAppInterfaceUnregisteredReason valueOf:nil]).to(beNil());
+ expect([SDLAppInterfaceUnregisteredReason valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLAppInterfaceUnregisteredReason values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[//[SDLAppInterfaceUnregisteredReason USER_EXIT],
+ [SDLAppInterfaceUnregisteredReason IGNITION_OFF],
+ [SDLAppInterfaceUnregisteredReason BLUETOOTH_OFF],
+ [SDLAppInterfaceUnregisteredReason USB_DISCONNECTED],
+ [SDLAppInterfaceUnregisteredReason REQUEST_WHILE_IN_NONE_HMI_LEVEL],
+ [SDLAppInterfaceUnregisteredReason TOO_MANY_REQUESTS],
+ [SDLAppInterfaceUnregisteredReason DRIVER_DISTRACTION_VIOLATION],
+ [SDLAppInterfaceUnregisteredReason LANGUAGE_CHANGE],
+ [SDLAppInterfaceUnregisteredReason MASTER_RESET],
+ [SDLAppInterfaceUnregisteredReason FACTORY_DEFAULTS],
+ [SDLAppInterfaceUnregisteredReason APP_UNAUTHORIZED]] copy];
+ //[SDLAppInterfaceUnregisteredReason PROTOCOL_VIOLATION]
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAudioStreamingStateSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAudioStreamingStateSpec.m
new file mode 100644
index 000000000..0787d7321
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAudioStreamingStateSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLAudioStreamingStateSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAudioStreamingState.h"
+
+QuickSpecBegin(SDLAudioStreamingStateSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLAudioStreamingState AUDIBLE].value).to(equal(@"AUDIBLE"));
+ expect([SDLAudioStreamingState ATTENUATED].value).to(equal(@"ATTENUATED"));
+ expect([SDLAudioStreamingState NOT_AUDIBLE].value).to(equal(@"NOT_AUDIBLE"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLAudioStreamingState valueOf:@"AUDIBLE"]).to(equal([SDLAudioStreamingState AUDIBLE]));
+ expect([SDLAudioStreamingState valueOf:@"ATTENUATED"]).to(equal([SDLAudioStreamingState ATTENUATED]));
+ expect([SDLAudioStreamingState valueOf:@"NOT_AUDIBLE"]).to(equal([SDLAudioStreamingState NOT_AUDIBLE]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLAudioStreamingState valueOf:nil]).to(beNil());
+ expect([SDLAudioStreamingState valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLAudioStreamingState values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLAudioStreamingState AUDIBLE],
+ [SDLAudioStreamingState ATTENUATED],
+ [SDLAudioStreamingState NOT_AUDIBLE]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAudioTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAudioTypeSpec.m
new file mode 100644
index 000000000..8587b7ee1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAudioTypeSpec.m
@@ -0,0 +1,50 @@
+//
+// SDLAudioTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAudioType.h"
+
+QuickSpecBegin(SDLAudioTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLAudioType PCM].value).to(equal(@"PCM"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLAudioType valueOf:@"PCM"]).to(equal([SDLAudioType PCM]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLAudioType valueOf:nil]).to(beNil());
+ expect([SDLAudioType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLAudioType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLAudioType PCM]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLBitsPerSampleSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLBitsPerSampleSpec.m
new file mode 100644
index 000000000..bcc5dd01c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLBitsPerSampleSpec.m
@@ -0,0 +1,53 @@
+//
+// SDLBitsPerSampleSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLBitsPerSample.h"
+
+QuickSpecBegin(SDLBitsPerSampleSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLBitsPerSample _8_BIT].value).to(equal(@"8_BIT"));
+ expect([SDLBitsPerSample _16_BIT].value).to(equal(@"16_BIT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLBitsPerSample valueOf:@"8_BIT"]).to(equal([SDLBitsPerSample _8_BIT]));
+ expect([SDLBitsPerSample valueOf:@"16_BIT"]).to(equal([SDLBitsPerSample _16_BIT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLBitsPerSample valueOf:nil]).to(beNil());
+ expect([SDLBitsPerSample valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLBitsPerSample values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLBitsPerSample _8_BIT],
+ [SDLBitsPerSample _16_BIT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonEventModeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonEventModeSpec.m
new file mode 100644
index 000000000..4f6e6d054
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonEventModeSpec.m
@@ -0,0 +1,53 @@
+//
+// SDLButtonEventModeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonEventMode.h"
+
+QuickSpecBegin(SDLButtonEventModeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLButtonEventMode BUTTONUP].value).to(equal(@"BUTTONUP"));
+ expect([SDLButtonEventMode BUTTONDOWN].value).to(equal(@"BUTTONDOWN"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLButtonEventMode valueOf:@"BUTTONUP"]).to(equal([SDLButtonEventMode BUTTONUP]));
+ expect([SDLButtonEventMode valueOf:@"BUTTONDOWN"]).to(equal([SDLButtonEventMode BUTTONDOWN]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLButtonEventMode valueOf:nil]).to(beNil());
+ expect([SDLButtonEventMode valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLButtonEventMode values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLButtonEventMode BUTTONUP],
+ [SDLButtonEventMode BUTTONDOWN]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonNameSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonNameSpec.m
new file mode 100644
index 000000000..6b9c64900
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonNameSpec.m
@@ -0,0 +1,98 @@
+//
+// SDLButtonNameSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonName.h"
+
+QuickSpecBegin(SDLButtonNameSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLButtonName OK].value).to(equal(@"OK"));
+ expect([SDLButtonName SEEKLEFT].value).to(equal(@"SEEKLEFT"));
+ expect([SDLButtonName SEEKRIGHT].value).to(equal(@"SEEKRIGHT"));
+ expect([SDLButtonName TUNEUP].value).to(equal(@"TUNEUP"));
+ expect([SDLButtonName TUNEDOWN].value).to(equal(@"TUNEDOWN"));
+ expect([SDLButtonName PRESET_0].value).to(equal(@"PRESET_0"));
+ expect([SDLButtonName PRESET_1].value).to(equal(@"PRESET_1"));
+ expect([SDLButtonName PRESET_2].value).to(equal(@"PRESET_2"));
+ expect([SDLButtonName PRESET_3].value).to(equal(@"PRESET_3"));
+ expect([SDLButtonName PRESET_4].value).to(equal(@"PRESET_4"));
+ expect([SDLButtonName PRESET_5].value).to(equal(@"PRESET_5"));
+ expect([SDLButtonName PRESET_6].value).to(equal(@"PRESET_6"));
+ expect([SDLButtonName PRESET_7].value).to(equal(@"PRESET_7"));
+ expect([SDLButtonName PRESET_8].value).to(equal(@"PRESET_8"));
+ expect([SDLButtonName PRESET_9].value).to(equal(@"PRESET_9"));
+ expect([SDLButtonName CUSTOM_BUTTON].value).to(equal(@"CUSTOM_BUTTON"));
+ expect([SDLButtonName SEARCH].value).to(equal(@"SEARCH"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLButtonName valueOf:@"OK"]).to(equal([SDLButtonName OK]));
+ expect([SDLButtonName valueOf:@"SEEKLEFT"]).to(equal([SDLButtonName SEEKLEFT]));
+ expect([SDLButtonName valueOf:@"SEEKRIGHT"]).to(equal([SDLButtonName SEEKRIGHT]));
+ expect([SDLButtonName valueOf:@"TUNEUP"]).to(equal([SDLButtonName TUNEUP]));
+ expect([SDLButtonName valueOf:@"TUNEDOWN"]).to(equal([SDLButtonName TUNEDOWN]));
+ expect([SDLButtonName valueOf:@"PRESET_0"]).to(equal([SDLButtonName PRESET_0]));
+ expect([SDLButtonName valueOf:@"PRESET_1"]).to(equal([SDLButtonName PRESET_1]));
+ expect([SDLButtonName valueOf:@"PRESET_2"]).to(equal([SDLButtonName PRESET_2]));
+ expect([SDLButtonName valueOf:@"PRESET_3"]).to(equal([SDLButtonName PRESET_3]));
+ expect([SDLButtonName valueOf:@"PRESET_4"]).to(equal([SDLButtonName PRESET_4]));
+ expect([SDLButtonName valueOf:@"PRESET_5"]).to(equal([SDLButtonName PRESET_5]));
+ expect([SDLButtonName valueOf:@"PRESET_6"]).to(equal([SDLButtonName PRESET_6]));
+ expect([SDLButtonName valueOf:@"PRESET_7"]).to(equal([SDLButtonName PRESET_7]));
+ expect([SDLButtonName valueOf:@"PRESET_8"]).to(equal([SDLButtonName PRESET_8]));
+ expect([SDLButtonName valueOf:@"PRESET_9"]).to(equal([SDLButtonName PRESET_9]));
+ expect([SDLButtonName valueOf:@"CUSTOM_BUTTON"]).to(equal([SDLButtonName CUSTOM_BUTTON]));
+ expect([SDLButtonName valueOf:@"SEARCH"]).to(equal([SDLButtonName SEARCH]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLButtonName valueOf:nil]).to(beNil());
+ expect([SDLButtonName valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLButtonName values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLButtonName OK],
+ [SDLButtonName SEEKLEFT],
+ [SDLButtonName SEEKRIGHT],
+ [SDLButtonName TUNEUP],
+ [SDLButtonName TUNEDOWN],
+ [SDLButtonName PRESET_0],
+ [SDLButtonName PRESET_1],
+ [SDLButtonName PRESET_2],
+ [SDLButtonName PRESET_3],
+ [SDLButtonName PRESET_4],
+ [SDLButtonName PRESET_5],
+ [SDLButtonName PRESET_6],
+ [SDLButtonName PRESET_7],
+ [SDLButtonName PRESET_8],
+ [SDLButtonName PRESET_9],
+ [SDLButtonName CUSTOM_BUTTON],
+ [SDLButtonName SEARCH]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonPressModeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonPressModeSpec.m
new file mode 100644
index 000000000..eb6b2fa35
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLButtonPressModeSpec.m
@@ -0,0 +1,53 @@
+//
+// SDLButtonPressModeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonPressMode.h"
+
+QuickSpecBegin(SDLButtonPressModeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLButtonPressMode LONG].value).to(equal(@"LONG"));
+ expect([SDLButtonPressMode SHORT].value).to(equal(@"SHORT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLButtonPressMode valueOf:@"LONG"]).to(equal([SDLButtonPressMode LONG]));
+ expect([SDLButtonPressMode valueOf:@"SHORT"]).to(equal([SDLButtonPressMode SHORT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLButtonPressMode valueOf:nil]).to(beNil());
+ expect([SDLButtonPressMode valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLButtonPressMode values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLButtonPressMode LONG],
+ [SDLButtonPressMode SHORT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCarModeStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCarModeStatusSpec.m
new file mode 100644
index 000000000..78f04e837
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCarModeStatusSpec.m
@@ -0,0 +1,60 @@
+//
+// SDLCarModeStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLCarModeStatus.h"
+
+QuickSpecBegin(SDLCarModeStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLCarModeStatus NORMAL].value).to(equal(@"NORMAL"));
+ expect([SDLCarModeStatus FACTORY].value).to(equal(@"FACTORY"));
+ expect([SDLCarModeStatus TRANSPORT].value).to(equal(@"TRANSPORT"));
+ expect([SDLCarModeStatus CRASH].value).to(equal(@"CRASH"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLCarModeStatus valueOf:@"NORMAL"]).to(equal([SDLCarModeStatus NORMAL]));
+ expect([SDLCarModeStatus valueOf:@"FACTORY"]).to(equal([SDLCarModeStatus FACTORY]));
+ expect([SDLCarModeStatus valueOf:@"TRANSPORT"]).to(equal([SDLCarModeStatus TRANSPORT]));
+ expect([SDLCarModeStatus valueOf:@"CRASH"]).to(equal([SDLCarModeStatus CRASH]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLCarModeStatus valueOf:nil]).to(beNil());
+ expect([SDLCarModeStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLCarModeStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLCarModeStatus NORMAL],
+ [SDLCarModeStatus FACTORY],
+ [SDLCarModeStatus TRANSPORT],
+ [SDLCarModeStatus CRASH]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
+
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCharacterSetSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCharacterSetSpec.m
new file mode 100644
index 000000000..df29296a5
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCharacterSetSpec.m
@@ -0,0 +1,59 @@
+//
+// SDLCharacterSetSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLCharacterSet.h"
+
+QuickSpecBegin(SDLCharacterSetSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLCharacterSet TYPE2SET].value).to(equal(@"TYPE2SET"));
+ expect([SDLCharacterSet TYPE5SET].value).to(equal(@"TYPE5SET"));
+ expect([SDLCharacterSet CID1SET].value).to(equal(@"CID1SET"));
+ expect([SDLCharacterSet CID2SET].value).to(equal(@"CID2SET"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLCharacterSet valueOf:@"TYPE2SET"]).to(equal([SDLCharacterSet TYPE2SET]));
+ expect([SDLCharacterSet valueOf:@"TYPE5SET"]).to(equal([SDLCharacterSet TYPE5SET]));
+ expect([SDLCharacterSet valueOf:@"CID1SET"]).to(equal([SDLCharacterSet CID1SET]));
+ expect([SDLCharacterSet valueOf:@"CID2SET"]).to(equal([SDLCharacterSet CID2SET]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLCharacterSet valueOf:nil]).to(beNil());
+ expect([SDLCharacterSet valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLCharacterSet values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLCharacterSet TYPE2SET],
+ [SDLCharacterSet TYPE5SET],
+ [SDLCharacterSet CID1SET],
+ [SDLCharacterSet CID2SET]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCompassDirectionSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCompassDirectionSpec.m
new file mode 100644
index 000000000..49a10e02d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLCompassDirectionSpec.m
@@ -0,0 +1,71 @@
+//
+// SDLCompassDirectionSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLCompassDirection.h"
+
+QuickSpecBegin(SDLCompassDirectionSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLCompassDirection NORTH].value).to(equal(@"NORTH"));
+ expect([SDLCompassDirection NORTHWEST].value).to(equal(@"NORTHWEST"));
+ expect([SDLCompassDirection WEST].value).to(equal(@"WEST"));
+ expect([SDLCompassDirection SOUTHWEST].value).to(equal(@"SOUTHWEST"));
+ expect([SDLCompassDirection SOUTH].value).to(equal(@"SOUTH"));
+ expect([SDLCompassDirection SOUTHEAST].value).to(equal(@"SOUTHEAST"));
+ expect([SDLCompassDirection EAST].value).to(equal(@"EAST"));
+ expect([SDLCompassDirection NORTHEAST].value).to(equal(@"NORTHEAST"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLCompassDirection valueOf:@"NORTH"]).to(equal([SDLCompassDirection NORTH]));
+ expect([SDLCompassDirection valueOf:@"NORTHWEST"]).to(equal([SDLCompassDirection NORTHWEST]));
+ expect([SDLCompassDirection valueOf:@"WEST"]).to(equal([SDLCompassDirection WEST]));
+ expect([SDLCompassDirection valueOf:@"SOUTHWEST"]).to(equal([SDLCompassDirection SOUTHWEST]));
+ expect([SDLCompassDirection valueOf:@"SOUTH"]).to(equal([SDLCompassDirection SOUTH]));
+ expect([SDLCompassDirection valueOf:@"SOUTHEAST"]).to(equal([SDLCompassDirection SOUTHEAST]));
+ expect([SDLCompassDirection valueOf:@"EAST"]).to(equal([SDLCompassDirection EAST]));
+ expect([SDLCompassDirection valueOf:@"NORTHEAST"]).to(equal([SDLCompassDirection NORTHEAST]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLCompassDirection valueOf:nil]).to(beNil());
+ expect([SDLCompassDirection valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLCompassDirection values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLCompassDirection NORTH],
+ [SDLCompassDirection NORTHWEST],
+ [SDLCompassDirection WEST],
+ [SDLCompassDirection SOUTHWEST],
+ [SDLCompassDirection SOUTH],
+ [SDLCompassDirection SOUTHEAST],
+ [SDLCompassDirection EAST],
+ [SDLCompassDirection NORTHEAST]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLComponentVolumeStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLComponentVolumeStatusSpec.m
new file mode 100644
index 000000000..491e802aa
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLComponentVolumeStatusSpec.m
@@ -0,0 +1,65 @@
+//
+// SDLComponentVolumeStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLComponentVolumeStatus.h"
+
+QuickSpecBegin(SDLComponentVolumeStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLComponentVolumeStatus UNKNOWN].value).to(equal(@"UNKNOWN"));
+ expect([SDLComponentVolumeStatus NORMAL].value).to(equal(@"NORMAL"));
+ expect([SDLComponentVolumeStatus LOW].value).to(equal(@"LOW"));
+ expect([SDLComponentVolumeStatus FAULT].value).to(equal(@"FAULT"));
+ expect([SDLComponentVolumeStatus ALERT].value).to(equal(@"ALERT"));
+ expect([SDLComponentVolumeStatus NOT_SUPPORTED].value).to(equal(@"NOT_SUPPORTED"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLComponentVolumeStatus valueOf:@"UNKNOWN"]).to(equal([SDLComponentVolumeStatus UNKNOWN]));
+ expect([SDLComponentVolumeStatus valueOf:@"NORMAL"]).to(equal([SDLComponentVolumeStatus NORMAL]));
+ expect([SDLComponentVolumeStatus valueOf:@"LOW"]).to(equal([SDLComponentVolumeStatus LOW]));
+ expect([SDLComponentVolumeStatus valueOf:@"FAULT"]).to(equal([SDLComponentVolumeStatus FAULT]));
+ expect([SDLComponentVolumeStatus valueOf:@"ALERT"]).to(equal([SDLComponentVolumeStatus ALERT]));
+ expect([SDLComponentVolumeStatus valueOf:@"NOT_SUPPORTED"]).to(equal([SDLComponentVolumeStatus NOT_SUPPORTED]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLComponentVolumeStatus valueOf:nil]).to(beNil());
+ expect([SDLComponentVolumeStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLComponentVolumeStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLComponentVolumeStatus UNKNOWN],
+ [SDLComponentVolumeStatus NORMAL],
+ [SDLComponentVolumeStatus LOW],
+ [SDLComponentVolumeStatus FAULT],
+ [SDLComponentVolumeStatus ALERT],
+ [SDLComponentVolumeStatus NOT_SUPPORTED]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDeviceLevelStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDeviceLevelStatusSpec.m
new file mode 100644
index 000000000..70f1bfb61
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDeviceLevelStatusSpec.m
@@ -0,0 +1,65 @@
+//
+// SDLDeviceLevelStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeviceLevelStatus.h"
+
+QuickSpecBegin(SDLDeviceLevelStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLDeviceLevelStatus ZERO_LEVEL_BARS].value).to(equal(@"ZERO_LEVEL_BARS"));
+ expect([SDLDeviceLevelStatus ONE_LEVEL_BARS].value).to(equal(@"ONE_LEVEL_BARS"));
+ expect([SDLDeviceLevelStatus TWO_LEVEL_BARS].value).to(equal(@"TWO_LEVEL_BARS"));
+ expect([SDLDeviceLevelStatus THREE_LEVEL_BARS].value).to(equal(@"THREE_LEVEL_BARS"));
+ expect([SDLDeviceLevelStatus FOUR_LEVEL_BARS].value).to(equal(@"FOUR_LEVEL_BARS"));
+ expect([SDLDeviceLevelStatus NOT_PROVIDED].value).to(equal(@"NOT_PROVIDED"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLDeviceLevelStatus valueOf:@"ZERO_LEVEL_BARS"]).to(equal([SDLDeviceLevelStatus ZERO_LEVEL_BARS]));
+ expect([SDLDeviceLevelStatus valueOf:@"ONE_LEVEL_BARS"]).to(equal([SDLDeviceLevelStatus ONE_LEVEL_BARS]));
+ expect([SDLDeviceLevelStatus valueOf:@"TWO_LEVEL_BARS"]).to(equal([SDLDeviceLevelStatus TWO_LEVEL_BARS]));
+ expect([SDLDeviceLevelStatus valueOf:@"THREE_LEVEL_BARS"]).to(equal([SDLDeviceLevelStatus THREE_LEVEL_BARS]));
+ expect([SDLDeviceLevelStatus valueOf:@"FOUR_LEVEL_BARS"]).to(equal([SDLDeviceLevelStatus FOUR_LEVEL_BARS]));
+ expect([SDLDeviceLevelStatus valueOf:@"NOT_PROVIDED"]).to(equal([SDLDeviceLevelStatus NOT_PROVIDED]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLDeviceLevelStatus valueOf:nil]).to(beNil());
+ expect([SDLDeviceLevelStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLDeviceLevelStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLDeviceLevelStatus ZERO_LEVEL_BARS],
+ [SDLDeviceLevelStatus ONE_LEVEL_BARS],
+ [SDLDeviceLevelStatus TWO_LEVEL_BARS],
+ [SDLDeviceLevelStatus THREE_LEVEL_BARS],
+ [SDLDeviceLevelStatus FOUR_LEVEL_BARS],
+ [SDLDeviceLevelStatus NOT_PROVIDED]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDimensionSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDimensionSpec.m
new file mode 100644
index 000000000..e65ee8201
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDimensionSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLDimensionSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDimension.h"
+
+QuickSpecBegin(SDLDimensionSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLDimension NO_FIX].value).to(equal(@"NO_FIX"));
+ expect([SDLDimension _2D].value).to(equal(@"2D"));
+ expect([SDLDimension _3D].value).to(equal(@"3D"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLDimension valueOf:@"NO_FIX"]).to(equal([SDLDimension NO_FIX]));
+ expect([SDLDimension valueOf:@"2D"]).to(equal([SDLDimension _2D]));
+ expect([SDLDimension valueOf:@"3D"]).to(equal([SDLDimension _3D]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLDimension valueOf:nil]).to(beNil());
+ expect([SDLDimension valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLDimension values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLDimension NO_FIX],
+ [SDLDimension _2D],
+ [SDLDimension _3D]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDisplayTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDisplayTypeSpec.m
new file mode 100644
index 000000000..964736fbc
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDisplayTypeSpec.m
@@ -0,0 +1,80 @@
+//
+// SDLDisplayTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDisplayType.h"
+
+QuickSpecBegin(SDLDisplayTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLDisplayType CID].value).to(equal(@"CID"));
+ expect([SDLDisplayType TYPE2].value).to(equal(@"TYPE2"));
+ expect([SDLDisplayType TYPE5].value).to(equal(@"TYPE5"));
+ expect([SDLDisplayType NGN].value).to(equal(@"NGN"));
+ expect([SDLDisplayType GEN2_6_DMA].value).to(equal(@"GEN2_6_DMA"));
+ expect([SDLDisplayType GEN2_8_DMA].value).to(equal(@"GEN2_8_DMA"));
+ expect([SDLDisplayType MFD3].value).to(equal(@"MFD3"));
+ expect([SDLDisplayType MFD4].value).to(equal(@"MFD4"));
+ expect([SDLDisplayType MFD5].value).to(equal(@"MFD5"));
+ //NOT DEFINED IN SPEC
+ expect([SDLDisplayType GEN3_8_INCH].value).to(equal(@"GEN3_8-INCH"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLDisplayType valueOf:@"CID"]).to(equal([SDLDisplayType CID]));
+ expect([SDLDisplayType valueOf:@"TYPE2"]).to(equal([SDLDisplayType TYPE2]));
+ expect([SDLDisplayType valueOf:@"TYPE5"]).to(equal([SDLDisplayType TYPE5]));
+ expect([SDLDisplayType valueOf:@"NGN"]).to(equal([SDLDisplayType NGN]));
+ expect([SDLDisplayType valueOf:@"GEN2_6_DMA"]).to(equal([SDLDisplayType GEN2_6_DMA]));
+ expect([SDLDisplayType valueOf:@"GEN2_8_DMA"]).to(equal([SDLDisplayType GEN2_8_DMA]));
+ expect([SDLDisplayType valueOf:@"MFD3"]).to(equal([SDLDisplayType MFD3]));
+ expect([SDLDisplayType valueOf:@"MFD4"]).to(equal([SDLDisplayType MFD4]));
+ expect([SDLDisplayType valueOf:@"MFD5"]).to(equal([SDLDisplayType MFD5]));
+ //NOT DEFINED IN SPEC
+ expect([SDLDisplayType valueOf:@"GEN3_8-INCH"]).to(equal([SDLDisplayType GEN3_8_INCH]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLDisplayType valueOf:nil]).to(beNil());
+ expect([SDLDisplayType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLDisplayType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLDisplayType CID],
+ [SDLDisplayType TYPE2],
+ [SDLDisplayType TYPE5],
+ [SDLDisplayType NGN],
+ [SDLDisplayType GEN2_6_DMA],
+ [SDLDisplayType GEN2_8_DMA],
+ [SDLDisplayType MFD3],
+ [SDLDisplayType MFD4],
+ [SDLDisplayType MFD5],
+ //NOT DEFINED IN SPEC
+ [SDLDisplayType GEN3_8_INCH]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDriverDistractionStateSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDriverDistractionStateSpec.m
new file mode 100644
index 000000000..8280259bc
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLDriverDistractionStateSpec.m
@@ -0,0 +1,53 @@
+//
+// SDLDriverDistractionStateSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDriverDistractionState.h"
+
+QuickSpecBegin(SDLDriverDistractionStateSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLDriverDistractionState DD_OFF].value).to(equal(@"DD_OFF"));
+ expect([SDLDriverDistractionState DD_ON].value).to(equal(@"DD_ON"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLDriverDistractionState valueOf:@"DD_OFF"]).to(equal([SDLDriverDistractionState DD_OFF]));
+ expect([SDLDriverDistractionState valueOf:@"DD_ON"]).to(equal([SDLDriverDistractionState DD_ON]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLDriverDistractionState valueOf:nil]).to(beNil());
+ expect([SDLDriverDistractionState valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLDriverDistractionState values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLDriverDistractionState DD_OFF],
+ [SDLDriverDistractionState DD_ON]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLECallConfirmationStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLECallConfirmationStatusSpec.m
new file mode 100644
index 000000000..aa5398c94
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLECallConfirmationStatusSpec.m
@@ -0,0 +1,68 @@
+//
+// SDLECallConfirmationStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLECallConfirmationStatus.h"
+
+QuickSpecBegin(SDLECallConfirmationStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLECallConfirmationStatus NORMAL].value).to(equal(@"NORMAL"));
+ expect([SDLECallConfirmationStatus CALL_IN_PROGRESS].value).to(equal(@"CALL_IN_PROGRESS"));
+ expect([SDLECallConfirmationStatus CALL_CANCELLED].value).to(equal(@"CALL_CANCELLED"));
+ expect([SDLECallConfirmationStatus CALL_COMPLETED].value).to(equal(@"CALL_COMPLETED"));
+ expect([SDLECallConfirmationStatus CALL_UNSUCCESSFUL].value).to(equal(@"CALL_UNSUCCESSFUL"));
+ expect([SDLECallConfirmationStatus ECALL_CONFIGURED_OFF].value).to(equal(@"ECALL_CONFIGURED_OFF"));
+ expect([SDLECallConfirmationStatus CALL_COMPLETE_DTMF_TIMEOUT].value).to(equal(@"CALL_COMPLETE_DTMF_TIMEOUT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLECallConfirmationStatus valueOf:@"NORMAL"]).to(equal([SDLECallConfirmationStatus NORMAL]));
+ expect([SDLECallConfirmationStatus valueOf:@"CALL_IN_PROGRESS"]).to(equal([SDLECallConfirmationStatus CALL_IN_PROGRESS]));
+ expect([SDLECallConfirmationStatus valueOf:@"CALL_CANCELLED"]).to(equal([SDLECallConfirmationStatus CALL_CANCELLED]));
+ expect([SDLECallConfirmationStatus valueOf:@"CALL_COMPLETED"]).to(equal([SDLECallConfirmationStatus CALL_COMPLETED]));
+ expect([SDLECallConfirmationStatus valueOf:@"CALL_UNSUCCESSFUL"]).to(equal([SDLECallConfirmationStatus CALL_UNSUCCESSFUL]));
+ expect([SDLECallConfirmationStatus valueOf:@"ECALL_CONFIGURED_OFF"]).to(equal([SDLECallConfirmationStatus ECALL_CONFIGURED_OFF]));
+ expect([SDLECallConfirmationStatus valueOf:@"CALL_COMPLETE_DTMF_TIMEOUT"]).to(equal([SDLECallConfirmationStatus CALL_COMPLETE_DTMF_TIMEOUT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLECallConfirmationStatus valueOf:nil]).to(beNil());
+ expect([SDLECallConfirmationStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLECallConfirmationStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLECallConfirmationStatus NORMAL],
+ [SDLECallConfirmationStatus CALL_IN_PROGRESS],
+ [SDLECallConfirmationStatus CALL_CANCELLED],
+ [SDLECallConfirmationStatus CALL_COMPLETED],
+ [SDLECallConfirmationStatus CALL_UNSUCCESSFUL],
+ [SDLECallConfirmationStatus ECALL_CONFIGURED_OFF],
+ [SDLECallConfirmationStatus CALL_COMPLETE_DTMF_TIMEOUT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLEmergencyEventTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLEmergencyEventTypeSpec.m
new file mode 100644
index 000000000..ff0126233
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLEmergencyEventTypeSpec.m
@@ -0,0 +1,68 @@
+//
+// SDLEmergencyEventTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLEmergencyEventType.h"
+
+QuickSpecBegin(SDLEmergencyEventTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLEmergencyEventType NO_EVENT].value).to(equal(@"NO_EVENT"));
+ expect([SDLEmergencyEventType FRONTAL].value).to(equal(@"FRONTAL"));
+ expect([SDLEmergencyEventType SIDE].value).to(equal(@"SIDE"));
+ expect([SDLEmergencyEventType REAR].value).to(equal(@"REAR"));
+ expect([SDLEmergencyEventType ROLLOVER].value).to(equal(@"ROLLOVER"));
+ expect([SDLEmergencyEventType NOT_SUPPORTED].value).to(equal(@"NOT_SUPPORTED"));
+ expect([SDLEmergencyEventType FAULT].value).to(equal(@"FAULT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLEmergencyEventType valueOf:@"NO_EVENT"]).to(equal([SDLEmergencyEventType NO_EVENT]));
+ expect([SDLEmergencyEventType valueOf:@"FRONTAL"]).to(equal([SDLEmergencyEventType FRONTAL]));
+ expect([SDLEmergencyEventType valueOf:@"SIDE"]).to(equal([SDLEmergencyEventType SIDE]));
+ expect([SDLEmergencyEventType valueOf:@"REAR"]).to(equal([SDLEmergencyEventType REAR]));
+ expect([SDLEmergencyEventType valueOf:@"ROLLOVER"]).to(equal([SDLEmergencyEventType ROLLOVER]));
+ expect([SDLEmergencyEventType valueOf:@"NOT_SUPPORTED"]).to(equal([SDLEmergencyEventType NOT_SUPPORTED]));
+ expect([SDLEmergencyEventType valueOf:@"FAULT"]).to(equal([SDLEmergencyEventType FAULT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLEmergencyEventType valueOf:nil]).to(beNil());
+ expect([SDLEmergencyEventType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLEmergencyEventType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLEmergencyEventType NO_EVENT],
+ [SDLEmergencyEventType FRONTAL],
+ [SDLEmergencyEventType SIDE],
+ [SDLEmergencyEventType REAR],
+ [SDLEmergencyEventType ROLLOVER],
+ [SDLEmergencyEventType NOT_SUPPORTED],
+ [SDLEmergencyEventType FAULT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLFileTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLFileTypeSpec.m
new file mode 100644
index 000000000..77eab74dc
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLFileTypeSpec.m
@@ -0,0 +1,71 @@
+//
+// SDLFileTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLFileType.h"
+
+QuickSpecBegin(SDLFileTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLFileType GRAPHIC_BMP].value).to(equal(@"GRAPHIC_BMP"));
+ expect([SDLFileType GRAPHIC_JPEG].value).to(equal(@"GRAPHIC_JPEG"));
+ expect([SDLFileType GRAPHIC_PNG].value).to(equal(@"GRAPHIC_PNG"));
+ expect([SDLFileType AUDIO_WAVE].value).to(equal(@"AUDIO_WAVE"));
+ expect([SDLFileType AUDIO_MP3].value).to(equal(@"AUDIO_MP3"));
+ expect([SDLFileType AUDIO_AAC].value).to(equal(@"AUDIO_AAC"));
+ expect([SDLFileType BINARY].value).to(equal(@"BINARY"));
+ expect([SDLFileType JSON].value).to(equal(@"JSON"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLFileType valueOf:@"GRAPHIC_BMP"]).to(equal([SDLFileType GRAPHIC_BMP]));
+ expect([SDLFileType valueOf:@"GRAPHIC_JPEG"]).to(equal([SDLFileType GRAPHIC_JPEG]));
+ expect([SDLFileType valueOf:@"GRAPHIC_PNG"]).to(equal([SDLFileType GRAPHIC_PNG]));
+ expect([SDLFileType valueOf:@"AUDIO_WAVE"]).to(equal([SDLFileType AUDIO_WAVE]));
+ expect([SDLFileType valueOf:@"AUDIO_MP3"]).to(equal([SDLFileType AUDIO_MP3]));
+ expect([SDLFileType valueOf:@"AUDIO_AAC"]).to(equal([SDLFileType AUDIO_AAC]));
+ expect([SDLFileType valueOf:@"BINARY"]).to(equal([SDLFileType BINARY]));
+ expect([SDLFileType valueOf:@"JSON"]).to(equal([SDLFileType JSON]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLFileType valueOf:nil]).to(beNil());
+ expect([SDLFileType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLFileType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLFileType GRAPHIC_BMP],
+ [SDLFileType GRAPHIC_JPEG],
+ [SDLFileType GRAPHIC_PNG],
+ [SDLFileType AUDIO_WAVE],
+ [SDLFileType AUDIO_MP3],
+ [SDLFileType AUDIO_AAC],
+ [SDLFileType BINARY],
+ [SDLFileType JSON]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLFuelCutoffStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLFuelCutoffStatusSpec.m
new file mode 100644
index 000000000..d4833ff40
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLFuelCutoffStatusSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLFuelCutoffStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLFuelCutoffStatus.h"
+
+QuickSpecBegin(SDLFuelCutoffStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLFuelCutoffStatus TERMINATE_FUEL].value).to(equal(@"TERMINATE_FUEL"));
+ expect([SDLFuelCutoffStatus NORMAL_OPERATION].value).to(equal(@"NORMAL_OPERATION"));
+ expect([SDLFuelCutoffStatus FAULT].value).to(equal(@"FAULT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLFuelCutoffStatus valueOf:@"TERMINATE_FUEL"]).to(equal([SDLFuelCutoffStatus TERMINATE_FUEL]));
+ expect([SDLFuelCutoffStatus valueOf:@"NORMAL_OPERATION"]).to(equal([SDLFuelCutoffStatus NORMAL_OPERATION]));
+ expect([SDLFuelCutoffStatus valueOf:@"FAULT"]).to(equal([SDLFuelCutoffStatus FAULT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLFuelCutoffStatus valueOf:nil]).to(beNil());
+ expect([SDLFuelCutoffStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLFuelCutoffStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLFuelCutoffStatus TERMINATE_FUEL],
+ [SDLFuelCutoffStatus NORMAL_OPERATION],
+ [SDLFuelCutoffStatus FAULT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLGlobalProperySpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLGlobalProperySpec.m
new file mode 100644
index 000000000..2844dcf41
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLGlobalProperySpec.m
@@ -0,0 +1,68 @@
+//
+// SDLGlobalPropertySpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLGlobalProperty.h"
+
+QuickSpecBegin(SDLGlobalPropertySpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLGlobalProperty HELPPROMPT].value).to(equal(@"HELPPROMPT"));
+ expect([SDLGlobalProperty TIMEOUTPROMPT].value).to(equal(@"TIMEOUTPROMPT"));
+ expect([SDLGlobalProperty VRHELPTITLE].value).to(equal(@"VRHELPTITLE"));
+ expect([SDLGlobalProperty VRHELPITEMS].value).to(equal(@"VRHELPITEMS"));
+ expect([SDLGlobalProperty MENUNAME].value).to(equal(@"MENUNAME"));
+ expect([SDLGlobalProperty MENUICON].value).to(equal(@"MENUICON"));
+ expect([SDLGlobalProperty KEYBOARDPROPERTIES].value).to(equal(@"KEYBOARDPROPERTIES"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLGlobalProperty valueOf:@"HELPPROMPT"]).to(equal([SDLGlobalProperty HELPPROMPT]));
+ expect([SDLGlobalProperty valueOf:@"TIMEOUTPROMPT"]).to(equal([SDLGlobalProperty TIMEOUTPROMPT]));
+ expect([SDLGlobalProperty valueOf:@"VRHELPTITLE"]).to(equal([SDLGlobalProperty VRHELPTITLE]));
+ expect([SDLGlobalProperty valueOf:@"VRHELPITEMS"]).to(equal([SDLGlobalProperty VRHELPITEMS]));
+ expect([SDLGlobalProperty valueOf:@"MENUNAME"]).to(equal([SDLGlobalProperty MENUNAME]));
+ expect([SDLGlobalProperty valueOf:@"MENUICON"]).to(equal([SDLGlobalProperty MENUICON]));
+ expect([SDLGlobalProperty valueOf:@"KEYBOARDPROPERTIES"]).to(equal([SDLGlobalProperty KEYBOARDPROPERTIES]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLGlobalProperty valueOf:nil]).to(beNil());
+ expect([SDLGlobalProperty valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLGlobalProperty values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLGlobalProperty HELPPROMPT],
+ [SDLGlobalProperty TIMEOUTPROMPT],
+ [SDLGlobalProperty VRHELPTITLE],
+ [SDLGlobalProperty VRHELPITEMS],
+ [SDLGlobalProperty MENUNAME],
+ [SDLGlobalProperty MENUICON],
+ [SDLGlobalProperty KEYBOARDPROPERTIES]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLHMILevelSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLHMILevelSpec.m
new file mode 100644
index 000000000..8b9d9f9b7
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLHMILevelSpec.m
@@ -0,0 +1,59 @@
+//
+// SDLHMILevelSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLHMILevel.h"
+
+QuickSpecBegin(SDLHMILevelSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLHMILevel FULL].value).to(equal(@"FULL"));
+ expect([SDLHMILevel LIMITED].value).to(equal(@"LIMITED"));
+ expect([SDLHMILevel BACKGROUND].value).to(equal(@"BACKGROUND"));
+ expect([SDLHMILevel NONE].value).to(equal(@"NONE"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLHMILevel valueOf:@"FULL"]).to(equal([SDLHMILevel FULL]));
+ expect([SDLHMILevel valueOf:@"LIMITED"]).to(equal([SDLHMILevel LIMITED]));
+ expect([SDLHMILevel valueOf:@"BACKGROUND"]).to(equal([SDLHMILevel BACKGROUND]));
+ expect([SDLHMILevel valueOf:@"NONE"]).to(equal([SDLHMILevel NONE]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLHMILevel valueOf:nil]).to(beNil());
+ expect([SDLHMILevel valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLHMILevel values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLHMILevel FULL],
+ [SDLHMILevel LIMITED],
+ [SDLHMILevel BACKGROUND],
+ [SDLHMILevel NONE]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLHMIZoneCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLHMIZoneCapabilitiesSpec.m
new file mode 100644
index 000000000..d19e1f855
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLHMIZoneCapabilitiesSpec.m
@@ -0,0 +1,53 @@
+//
+// SDLHMIZoneCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLHMIZoneCapabilities.h"
+
+QuickSpecBegin(SDLHmiZoneCapabilitiesSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLHMIZoneCapabilities FRONT].value).to(equal(@"FRONT"));
+ expect([SDLHMIZoneCapabilities BACK].value).to(equal(@"BACK"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLHMIZoneCapabilities valueOf:@"FRONT"]).to(equal([SDLHMIZoneCapabilities FRONT]));
+ expect([SDLHMIZoneCapabilities valueOf:@"BACK"]).to(equal([SDLHMIZoneCapabilities BACK]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLHMIZoneCapabilities valueOf:nil]).to(beNil());
+ expect([SDLHMIZoneCapabilities valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLHMIZoneCapabilities values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLHMIZoneCapabilities FRONT],
+ [SDLHMIZoneCapabilities BACK]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLIgnitionStableStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLIgnitionStableStatusSpec.m
new file mode 100644
index 000000000..bbe507499
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLIgnitionStableStatusSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLIgnitionStableStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLIgnitionStableStatus.h"
+
+QuickSpecBegin(SDLIgnitionStableStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLIgnitionStableStatus IGNITION_SWITCH_NOT_STABLE].value).to(equal(@"IGNITION_SWITCH_NOT_STABLE"));
+ expect([SDLIgnitionStableStatus IGNITION_SWITCH_STABLE].value).to(equal(@"IGNITION_SWITCH_STABLE"));
+ expect([SDLIgnitionStableStatus MISSING_FROM_TRANSMITTER].value).to(equal(@"MISSING_FROM_TRANSMITTER"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLIgnitionStableStatus valueOf:@"IGNITION_SWITCH_NOT_STABLE"]).to(equal([SDLIgnitionStableStatus IGNITION_SWITCH_NOT_STABLE]));
+ expect([SDLIgnitionStableStatus valueOf:@"IGNITION_SWITCH_STABLE"]).to(equal([SDLIgnitionStableStatus IGNITION_SWITCH_STABLE]));
+ expect([SDLIgnitionStableStatus valueOf:@"MISSING_FROM_TRANSMITTER"]).to(equal([SDLIgnitionStableStatus MISSING_FROM_TRANSMITTER]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLIgnitionStableStatus valueOf:nil]).to(beNil());
+ expect([SDLIgnitionStableStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLIgnitionStableStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLIgnitionStableStatus IGNITION_SWITCH_NOT_STABLE],
+ [SDLIgnitionStableStatus IGNITION_SWITCH_STABLE],
+ [SDLIgnitionStableStatus MISSING_FROM_TRANSMITTER]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLIgnitionStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLIgnitionStatusSpec.m
new file mode 100644
index 000000000..c36c30c23
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLIgnitionStatusSpec.m
@@ -0,0 +1,65 @@
+//
+// SDLIgnitionStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLIgnitionStatus.h"
+
+QuickSpecBegin(SDLIgnitionStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLIgnitionStatus UNKNOWN].value).to(equal(@"UNKNOWN"));
+ expect([SDLIgnitionStatus OFF].value).to(equal(@"OFF"));
+ expect([SDLIgnitionStatus ACCESSORY].value).to(equal(@"ACCESSORY"));
+ expect([SDLIgnitionStatus RUN].value).to(equal(@"RUN"));
+ expect([SDLIgnitionStatus START].value).to(equal(@"START"));
+ expect([SDLIgnitionStatus INVALID].value).to(equal(@"INVALID"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLIgnitionStatus valueOf:@"UNKNOWN"]).to(equal([SDLIgnitionStatus UNKNOWN]));
+ expect([SDLIgnitionStatus valueOf:@"OFF"]).to(equal([SDLIgnitionStatus OFF]));
+ expect([SDLIgnitionStatus valueOf:@"ACCESSORY"]).to(equal([SDLIgnitionStatus ACCESSORY]));
+ expect([SDLIgnitionStatus valueOf:@"RUN"]).to(equal([SDLIgnitionStatus RUN]));
+ expect([SDLIgnitionStatus valueOf:@"START"]).to(equal([SDLIgnitionStatus START]));
+ expect([SDLIgnitionStatus valueOf:@"INVALID"]).to(equal([SDLIgnitionStatus INVALID]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLIgnitionStatus valueOf:nil]).to(beNil());
+ expect([SDLIgnitionStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLIgnitionStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLIgnitionStatus UNKNOWN],
+ [SDLIgnitionStatus OFF],
+ [SDLIgnitionStatus ACCESSORY],
+ [SDLIgnitionStatus RUN],
+ [SDLIgnitionStatus START],
+ [SDLIgnitionStatus INVALID]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLImageFieldNameSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLImageFieldNameSpec.m
new file mode 100644
index 000000000..5b19dc384
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLImageFieldNameSpec.m
@@ -0,0 +1,86 @@
+//
+// SDLImageFieldNameSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImageFieldName.h"
+
+QuickSpecBegin(SDLImageFieldNameSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLImageFieldName softButtonImage].value).to(equal(@"softButtonImage"));
+ expect([SDLImageFieldName choiceImage].value).to(equal(@"choiceImage"));
+ expect([SDLImageFieldName choiceSecondaryImage].value).to(equal(@"choiceSecondaryImage"));
+ expect([SDLImageFieldName vrHelpItem].value).to(equal(@"vrHelpItem"));
+ expect([SDLImageFieldName turnIcon].value).to(equal(@"turnIcon"));
+ expect([SDLImageFieldName menuIcon].value).to(equal(@"menuIcon"));
+ expect([SDLImageFieldName cmdIcon].value).to(equal(@"cmdIcon"));
+ expect([SDLImageFieldName appIcon].value).to(equal(@"appIcon"));
+ expect([SDLImageFieldName graphic].value).to(equal(@"graphic"));
+ expect([SDLImageFieldName showConstantTBTIcon].value).to(equal(@"showConstantTBTIcon"));
+ expect([SDLImageFieldName showConstantTBTNextTurnIcon].value).to(equal(@"showConstantTBTNextTurnIcon"));
+ expect([SDLImageFieldName locationImage].value).to(equal(@"locationImage"));
+ });
+});
+
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLImageFieldName valueOf:@"softButtonImage"]).to(equal([SDLImageFieldName softButtonImage]));
+ expect([SDLImageFieldName valueOf:@"choiceImage"]).to(equal([SDLImageFieldName choiceImage]));
+ expect([SDLImageFieldName valueOf:@"choiceSecondaryImage"]).to(equal([SDLImageFieldName choiceSecondaryImage]));
+ expect([SDLImageFieldName valueOf:@"vrHelpItem"]).to(equal([SDLImageFieldName vrHelpItem]));
+ expect([SDLImageFieldName valueOf:@"turnIcon"]).to(equal([SDLImageFieldName turnIcon]));
+ expect([SDLImageFieldName valueOf:@"menuIcon"]).to(equal([SDLImageFieldName menuIcon]));
+ expect([SDLImageFieldName valueOf:@"cmdIcon"]).to(equal([SDLImageFieldName cmdIcon]));
+ expect([SDLImageFieldName valueOf:@"appIcon"]).to(equal([SDLImageFieldName appIcon]));
+ expect([SDLImageFieldName valueOf:@"graphic"]).to(equal([SDLImageFieldName graphic]));
+ expect([SDLImageFieldName valueOf:@"showConstantTBTIcon"]).to(equal([SDLImageFieldName showConstantTBTIcon]));
+ expect([SDLImageFieldName valueOf:@"showConstantTBTNextTurnIcon"]).to(equal([SDLImageFieldName showConstantTBTNextTurnIcon]));
+ expect([SDLImageFieldName valueOf:@"locationImage"]).to(equal([SDLImageFieldName locationImage]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLImageFieldName valueOf:nil]).to(beNil());
+ expect([SDLImageFieldName valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLImageFieldName values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLImageFieldName softButtonImage],
+ [SDLImageFieldName choiceImage],
+ [SDLImageFieldName choiceSecondaryImage],
+ [SDLImageFieldName vrHelpItem],
+ [SDLImageFieldName turnIcon],
+ [SDLImageFieldName menuIcon],
+ [SDLImageFieldName cmdIcon],
+ [SDLImageFieldName appIcon],
+ [SDLImageFieldName graphic],
+ [SDLImageFieldName showConstantTBTIcon],
+ [SDLImageFieldName locationImage],
+ [SDLImageFieldName showConstantTBTNextTurnIcon]] copy];
+
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLImageTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLImageTypeSpec.m
new file mode 100644
index 000000000..1a63bf7f8
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLImageTypeSpec.m
@@ -0,0 +1,53 @@
+//
+// SDLImageTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImageType.h"
+
+QuickSpecBegin(SDLImageTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLImageType STATIC].value).to(equal(@"STATIC"));
+ expect([SDLImageType DYNAMIC].value).to(equal(@"DYNAMIC"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLImageType valueOf:@"STATIC"]).to(equal([SDLImageType STATIC]));
+ expect([SDLImageType valueOf:@"DYNAMIC"]).to(equal([SDLImageType DYNAMIC]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLImageType valueOf:nil]).to(beNil());
+ expect([SDLImageType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLImageType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLImageType STATIC],
+ [SDLImageType DYNAMIC]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLInteractionModeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLInteractionModeSpec.m
new file mode 100644
index 000000000..95341e347
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLInteractionModeSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLInteractionModeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLInteractionMode.h"
+
+QuickSpecBegin(SDLInteractionModeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLInteractionMode MANUAL_ONLY].value).to(equal(@"MANUAL_ONLY"));
+ expect([SDLInteractionMode VR_ONLY].value).to(equal(@"VR_ONLY"));
+ expect([SDLInteractionMode BOTH].value).to(equal(@"BOTH"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLInteractionMode valueOf:@"MANUAL_ONLY"]).to(equal([SDLInteractionMode MANUAL_ONLY]));
+ expect([SDLInteractionMode valueOf:@"VR_ONLY"]).to(equal([SDLInteractionMode VR_ONLY]));
+ expect([SDLInteractionMode valueOf:@"BOTH"]).to(equal([SDLInteractionMode BOTH]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLInteractionMode valueOf:nil]).to(beNil());
+ expect([SDLInteractionMode valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLInteractionMode values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLInteractionMode MANUAL_ONLY],
+ [SDLInteractionMode VR_ONLY],
+ [SDLInteractionMode BOTH]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeyboardEventSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeyboardEventSpec.m
new file mode 100644
index 000000000..560876185
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeyboardEventSpec.m
@@ -0,0 +1,64 @@
+//
+// SDLKeyboardEventSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLKeyboardEvent.h"
+
+QuickSpecBegin(SDLKeyboardEventSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLKeyboardEvent KEYPRESS].value).to(equal(@"KEYPRESS"));
+ expect([SDLKeyboardEvent ENTRY_SUBMITTED].value).to(equal(@"ENTRY_SUBMITTED"));
+ expect([SDLKeyboardEvent ENTRY_CANCELLED].value).to(equal(@"ENTRY_CANCELLED"));
+ expect([SDLKeyboardEvent ENTRY_ABORTED].value).to(equal(@"ENTRY_ABORTED"));
+ expect([SDLKeyboardEvent ENTRY_VOICE].value).to(equal(@"ENTRY_VOICE"));
+ });
+});
+
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLKeyboardEvent valueOf:@"KEYPRESS"]).to(equal([SDLKeyboardEvent KEYPRESS]));
+ expect([SDLKeyboardEvent valueOf:@"ENTRY_SUBMITTED"]).to(equal([SDLKeyboardEvent ENTRY_SUBMITTED]));
+ expect([SDLKeyboardEvent valueOf:@"ENTRY_CANCELLED"]).to(equal([SDLKeyboardEvent ENTRY_CANCELLED]));
+ expect([SDLKeyboardEvent valueOf:@"ENTRY_ABORTED"]).to(equal([SDLKeyboardEvent ENTRY_ABORTED]));
+ expect([SDLKeyboardEvent valueOf:@"ENTRY_VOICE"]).to(equal([SDLKeyboardEvent ENTRY_VOICE]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLKeyboardEvent valueOf:nil]).to(beNil());
+ expect([SDLKeyboardEvent valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLKeyboardEvent values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLKeyboardEvent KEYPRESS],
+ [SDLKeyboardEvent ENTRY_SUBMITTED],
+ [SDLKeyboardEvent ENTRY_CANCELLED],
+ [SDLKeyboardEvent ENTRY_ABORTED],
+ [SDLKeyboardEvent ENTRY_VOICE]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeyboardLayoutSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeyboardLayoutSpec.m
new file mode 100644
index 000000000..c55d8cd28
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeyboardLayoutSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLKeyboardLayoutSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLKeyboardLayout.h"
+
+QuickSpecBegin(SDLKeyboardLayoutSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLKeyboardLayout QWERTY].value).to(equal(@"QWERTY"));
+ expect([SDLKeyboardLayout QWERTZ].value).to(equal(@"QWERTZ"));
+ expect([SDLKeyboardLayout AZERTY].value).to(equal(@"AZERTY"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLKeyboardLayout valueOf:@"QWERTY"]).to(equal([SDLKeyboardLayout QWERTY]));
+ expect([SDLKeyboardLayout valueOf:@"QWERTZ"]).to(equal([SDLKeyboardLayout QWERTZ]));
+ expect([SDLKeyboardLayout valueOf:@"AZERTY"]).to(equal([SDLKeyboardLayout AZERTY]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLKeyboardLayout valueOf:nil]).to(beNil());
+ expect([SDLKeyboardLayout valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLKeyboardLayout values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLKeyboardLayout QWERTY],
+ [SDLKeyboardLayout QWERTZ],
+ [SDLKeyboardLayout AZERTY]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeypressModeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeypressModeSpec.m
new file mode 100644
index 000000000..d7304fe5e
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLKeypressModeSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLKeypressModeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLKeypressMode.h"
+
+QuickSpecBegin(SDLKeypressModeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLKeypressMode SINGLE_KEYPRESS].value).to(equal(@"SINGLE_KEYPRESS"));
+ expect([SDLKeypressMode QUEUE_KEYPRESSES].value).to(equal(@"QUEUE_KEYPRESSES"));
+ expect([SDLKeypressMode RESEND_CURRENT_ENTRY].value).to(equal(@"RESEND_CURRENT_ENTRY"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLKeypressMode valueOf:@"SINGLE_KEYPRESS"]).to(equal([SDLKeypressMode SINGLE_KEYPRESS]));
+ expect([SDLKeypressMode valueOf:@"QUEUE_KEYPRESSES"]).to(equal([SDLKeypressMode QUEUE_KEYPRESSES]));
+ expect([SDLKeypressMode valueOf:@"RESEND_CURRENT_ENTRY"]).to(equal([SDLKeypressMode RESEND_CURRENT_ENTRY]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLKeypressMode valueOf:nil]).to(beNil());
+ expect([SDLKeypressMode valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLKeypressMode values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLKeypressMode SINGLE_KEYPRESS],
+ [SDLKeypressMode QUEUE_KEYPRESSES],
+ [SDLKeypressMode RESEND_CURRENT_ENTRY]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLanguageSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLanguageSpec.m
new file mode 100644
index 000000000..1c3ec06e0
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLanguageSpec.m
@@ -0,0 +1,119 @@
+//
+// SDLLanguageSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLLanguage.h"
+
+QuickSpecBegin(SDLLanguageSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLLanguage EN_US].value).to(equal(@"EN-US"));
+ expect([SDLLanguage ES_MX].value).to(equal(@"ES-MX"));
+ expect([SDLLanguage FR_CA].value).to(equal(@"FR-CA"));
+ expect([SDLLanguage DE_DE].value).to(equal(@"DE-DE"));
+ expect([SDLLanguage ES_ES].value).to(equal(@"ES-ES"));
+ expect([SDLLanguage EN_GB].value).to(equal(@"EN-GB"));
+ expect([SDLLanguage RU_RU].value).to(equal(@"RU-RU"));
+ expect([SDLLanguage TR_TR].value).to(equal(@"TR-TR"));
+ expect([SDLLanguage PL_PL].value).to(equal(@"PL-PL"));
+ expect([SDLLanguage FR_FR].value).to(equal(@"FR-FR"));
+ expect([SDLLanguage IT_IT].value).to(equal(@"IT-IT"));
+ expect([SDLLanguage SV_SE].value).to(equal(@"SV-SE"));
+ expect([SDLLanguage PT_PT].value).to(equal(@"PT-PT"));
+ expect([SDLLanguage NL_NL].value).to(equal(@"NL-NL"));
+ expect([SDLLanguage EN_AU].value).to(equal(@"EN-AU"));
+ expect([SDLLanguage ZH_CN].value).to(equal(@"ZH-CN"));
+ expect([SDLLanguage ZH_TW].value).to(equal(@"ZH-TW"));
+ expect([SDLLanguage JA_JP].value).to(equal(@"JA-JP"));
+ expect([SDLLanguage AR_SA].value).to(equal(@"AR-SA"));
+ expect([SDLLanguage KO_KR].value).to(equal(@"KO-KR"));
+ expect([SDLLanguage PT_BR].value).to(equal(@"PT-BR"));
+ expect([SDLLanguage CS_CZ].value).to(equal(@"CS-CZ"));
+ expect([SDLLanguage DA_DK].value).to(equal(@"DA-DK"));
+ expect([SDLLanguage NO_NO].value).to(equal(@"NO-NO"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLLanguage valueOf:@"EN-US"]).to(equal([SDLLanguage EN_US]));
+ expect([SDLLanguage valueOf:@"ES-MX"]).to(equal([SDLLanguage ES_MX]));
+ expect([SDLLanguage valueOf:@"FR-CA"]).to(equal([SDLLanguage FR_CA]));
+ expect([SDLLanguage valueOf:@"DE-DE"]).to(equal([SDLLanguage DE_DE]));
+ expect([SDLLanguage valueOf:@"ES-ES"]).to(equal([SDLLanguage ES_ES]));
+ expect([SDLLanguage valueOf:@"EN-GB"]).to(equal([SDLLanguage EN_GB]));
+ expect([SDLLanguage valueOf:@"RU-RU"]).to(equal([SDLLanguage RU_RU]));
+ expect([SDLLanguage valueOf:@"TR-TR"]).to(equal([SDLLanguage TR_TR]));
+ expect([SDLLanguage valueOf:@"PL-PL"]).to(equal([SDLLanguage PL_PL]));
+ expect([SDLLanguage valueOf:@"FR-FR"]).to(equal([SDLLanguage FR_FR]));
+ expect([SDLLanguage valueOf:@"IT-IT"]).to(equal([SDLLanguage IT_IT]));
+ expect([SDLLanguage valueOf:@"SV-SE"]).to(equal([SDLLanguage SV_SE]));
+ expect([SDLLanguage valueOf:@"PT-PT"]).to(equal([SDLLanguage PT_PT]));
+ expect([SDLLanguage valueOf:@"NL-NL"]).to(equal([SDLLanguage NL_NL]));
+ expect([SDLLanguage valueOf:@"EN-AU"]).to(equal([SDLLanguage EN_AU]));
+ expect([SDLLanguage valueOf:@"ZH-CN"]).to(equal([SDLLanguage ZH_CN]));
+ expect([SDLLanguage valueOf:@"ZH-TW"]).to(equal([SDLLanguage ZH_TW]));
+ expect([SDLLanguage valueOf:@"JA-JP"]).to(equal([SDLLanguage JA_JP]));
+ expect([SDLLanguage valueOf:@"AR-SA"]).to(equal([SDLLanguage AR_SA]));
+ expect([SDLLanguage valueOf:@"KO-KR"]).to(equal([SDLLanguage KO_KR]));
+ expect([SDLLanguage valueOf:@"PT-BR"]).to(equal([SDLLanguage PT_BR]));
+ expect([SDLLanguage valueOf:@"CS-CZ"]).to(equal([SDLLanguage CS_CZ]));
+ expect([SDLLanguage valueOf:@"DA-DK"]).to(equal([SDLLanguage DA_DK]));
+ expect([SDLLanguage valueOf:@"NO-NO"]).to(equal([SDLLanguage NO_NO]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLLanguage valueOf:nil]).to(beNil());
+ expect([SDLLanguage valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLLanguage values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLLanguage EN_US],
+ [SDLLanguage ES_MX],
+ [SDLLanguage FR_CA],
+ [SDLLanguage DE_DE],
+ [SDLLanguage ES_ES],
+ [SDLLanguage EN_GB],
+ [SDLLanguage RU_RU],
+ [SDLLanguage TR_TR],
+ [SDLLanguage PL_PL],
+ [SDLLanguage FR_FR],
+ [SDLLanguage IT_IT],
+ [SDLLanguage SV_SE],
+ [SDLLanguage PT_PT],
+ [SDLLanguage NL_NL],
+ [SDLLanguage EN_AU],
+ [SDLLanguage ZH_CN],
+ [SDLLanguage ZH_TW],
+ [SDLLanguage JA_JP],
+ [SDLLanguage AR_SA],
+ [SDLLanguage KO_KR],
+ [SDLLanguage PT_BR],
+ [SDLLanguage CS_CZ],
+ [SDLLanguage DA_DK],
+ [SDLLanguage NO_NO]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLayoutModeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLayoutModeSpec.m
new file mode 100644
index 000000000..6aea31374
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLayoutModeSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLLayoutModeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLLayoutMode.h"
+
+QuickSpecBegin(SDLLayoutModeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLLayoutMode ICON_ONLY].value).to(equal(@"ICON_ONLY"));
+ expect([SDLLayoutMode ICON_WITH_SEARCH].value).to(equal(@"ICON_WITH_SEARCH"));
+ expect([SDLLayoutMode LIST_ONLY].value).to(equal(@"LIST_ONLY"));
+ expect([SDLLayoutMode LIST_WITH_SEARCH].value).to(equal(@"LIST_WITH_SEARCH"));
+ expect([SDLLayoutMode KEYBOARD].value).to(equal(@"KEYBOARD"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLLayoutMode valueOf:@"ICON_ONLY"]).to(equal([SDLLayoutMode ICON_ONLY]));
+ expect([SDLLayoutMode valueOf:@"ICON_WITH_SEARCH"]).to(equal([SDLLayoutMode ICON_WITH_SEARCH]));
+ expect([SDLLayoutMode valueOf:@"LIST_ONLY"]).to(equal([SDLLayoutMode LIST_ONLY]));
+ expect([SDLLayoutMode valueOf:@"LIST_WITH_SEARCH"]).to(equal([SDLLayoutMode LIST_WITH_SEARCH]));
+ expect([SDLLayoutMode valueOf:@"KEYBOARD"]).to(equal([SDLLayoutMode KEYBOARD]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLLayoutMode valueOf:nil]).to(beNil());
+ expect([SDLLayoutMode valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLLayoutMode values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLLayoutMode ICON_ONLY],
+ [SDLLayoutMode ICON_WITH_SEARCH],
+ [SDLLayoutMode LIST_ONLY],
+ [SDLLayoutMode LIST_WITH_SEARCH],
+ [SDLLayoutMode KEYBOARD]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLockScreenStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLockScreenStatusSpec.m
new file mode 100644
index 000000000..a6d7ecdac
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLLockScreenStatusSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLLockScreenStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLLockScreenStatus.h"
+
+QuickSpecBegin(SDLLockScreenStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLLockScreenStatus OFF].value).to(equal(@"OFF"));
+ expect([SDLLockScreenStatus OPTIONAL].value).to(equal(@"OPTIONAL"));
+ expect([SDLLockScreenStatus REQUIRED].value).to(equal(@"REQUIRED"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLLockScreenStatus valueOf:@"OFF"]).to(equal([SDLLockScreenStatus OFF]));
+ expect([SDLLockScreenStatus valueOf:@"OPTIONAL"]).to(equal([SDLLockScreenStatus OPTIONAL]));
+ expect([SDLLockScreenStatus valueOf:@"REQUIRED"]).to(equal([SDLLockScreenStatus REQUIRED]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLLockScreenStatus valueOf:nil]).to(beNil());
+ expect([SDLLockScreenStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLLockScreenStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLLockScreenStatus OFF],
+ [SDLLockScreenStatus OPTIONAL],
+ [SDLLockScreenStatus REQUIRED]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMaintenanceModeStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMaintenanceModeStatusSpec.m
new file mode 100644
index 000000000..349a073eb
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMaintenanceModeStatusSpec.m
@@ -0,0 +1,59 @@
+//
+// SDLMaintenanceModeStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLMaintenanceModeStatus.h"
+
+QuickSpecBegin(SDLMaintenanceModeStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLMaintenanceModeStatus NORMAL].value).to(equal(@"NORMAL"));
+ expect([SDLMaintenanceModeStatus NEAR].value).to(equal(@"NEAR"));
+ expect([SDLMaintenanceModeStatus ACTIVE].value).to(equal(@"ACTIVE"));
+ expect([SDLMaintenanceModeStatus FEATURE_NOT_PRESENT].value).to(equal(@"FEATURE_NOT_PRESENT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLMaintenanceModeStatus valueOf:@"NORMAL"]).to(equal([SDLMaintenanceModeStatus NORMAL]));
+ expect([SDLMaintenanceModeStatus valueOf:@"NEAR"]).to(equal([SDLMaintenanceModeStatus NEAR]));
+ expect([SDLMaintenanceModeStatus valueOf:@"ACTIVE"]).to(equal([SDLMaintenanceModeStatus ACTIVE]));
+ expect([SDLMaintenanceModeStatus valueOf:@"FEATURE_NOT_PRESENT"]).to(equal([SDLMaintenanceModeStatus FEATURE_NOT_PRESENT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLMaintenanceModeStatus valueOf:nil]).to(beNil());
+ expect([SDLMaintenanceModeStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLMaintenanceModeStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLMaintenanceModeStatus NORMAL],
+ [SDLMaintenanceModeStatus NEAR],
+ [SDLMaintenanceModeStatus ACTIVE],
+ [SDLMaintenanceModeStatus FEATURE_NOT_PRESENT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMediaClockFormatSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMediaClockFormatSpec.m
new file mode 100644
index 000000000..80603a2b0
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLMediaClockFormatSpec.m
@@ -0,0 +1,68 @@
+//
+// SDLMediaClockFormatSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLMediaClockFormat.h"
+
+QuickSpecBegin(SDLMediaClockFormatSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLMediaClockFormat CLOCK1].value).to(equal(@"CLOCK1"));
+ expect([SDLMediaClockFormat CLOCK2].value).to(equal(@"CLOCK2"));
+ expect([SDLMediaClockFormat CLOCK3].value).to(equal(@"CLOCK3"));
+ expect([SDLMediaClockFormat CLOCKTEXT1].value).to(equal(@"CLOCKTEXT1"));
+ expect([SDLMediaClockFormat CLOCKTEXT2].value).to(equal(@"CLOCKTEXT2"));
+ expect([SDLMediaClockFormat CLOCKTEXT3].value).to(equal(@"CLOCKTEXT3"));
+ expect([SDLMediaClockFormat CLOCKTEXT4].value).to(equal(@"CLOCKTEXT4"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLMediaClockFormat valueOf:@"CLOCK1"]).to(equal([SDLMediaClockFormat CLOCK1]));
+ expect([SDLMediaClockFormat valueOf:@"CLOCK2"]).to(equal([SDLMediaClockFormat CLOCK2]));
+ expect([SDLMediaClockFormat valueOf:@"CLOCK3"]).to(equal([SDLMediaClockFormat CLOCK3]));
+ expect([SDLMediaClockFormat valueOf:@"CLOCKTEXT1"]).to(equal([SDLMediaClockFormat CLOCKTEXT1]));
+ expect([SDLMediaClockFormat valueOf:@"CLOCKTEXT2"]).to(equal([SDLMediaClockFormat CLOCKTEXT2]));
+ expect([SDLMediaClockFormat valueOf:@"CLOCKTEXT3"]).to(equal([SDLMediaClockFormat CLOCKTEXT3]));
+ expect([SDLMediaClockFormat valueOf:@"CLOCKTEXT4"]).to(equal([SDLMediaClockFormat CLOCKTEXT4]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLMediaClockFormat valueOf:nil]).to(beNil());
+ expect([SDLMediaClockFormat valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLMediaClockFormat values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLMediaClockFormat CLOCK1],
+ [SDLMediaClockFormat CLOCK2],
+ [SDLMediaClockFormat CLOCK3],
+ [SDLMediaClockFormat CLOCKTEXT1],
+ [SDLMediaClockFormat CLOCKTEXT2],
+ [SDLMediaClockFormat CLOCKTEXT3],
+ [SDLMediaClockFormat CLOCKTEXT4]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPRNDLSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPRNDLSpec.m
new file mode 100644
index 000000000..5310f3488
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPRNDLSpec.m
@@ -0,0 +1,95 @@
+//
+// SDLPRNDLSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPRNDL.h"
+
+QuickSpecBegin(SDLPRNDLSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLPRNDL PARK].value).to(equal(@"PARK"));
+ expect([SDLPRNDL REVERSE].value).to(equal(@"REVERSE"));
+ expect([SDLPRNDL NEUTRAL].value).to(equal(@"NEUTRAL"));
+ expect([SDLPRNDL DRIVE].value).to(equal(@"DRIVE"));
+ expect([SDLPRNDL SPORT].value).to(equal(@"SPORT"));
+ expect([SDLPRNDL LOWGEAR].value).to(equal(@"LOWGEAR"));
+ expect([SDLPRNDL FIRST].value).to(equal(@"FIRST"));
+ expect([SDLPRNDL SECOND].value).to(equal(@"SECOND"));
+ expect([SDLPRNDL THIRD].value).to(equal(@"THIRD"));
+ expect([SDLPRNDL FOURTH].value).to(equal(@"FOURTH"));
+ expect([SDLPRNDL FIFTH].value).to(equal(@"FIFTH"));
+ expect([SDLPRNDL SIXTH].value).to(equal(@"SIXTH"));
+ expect([SDLPRNDL SEVENTH].value).to(equal(@"SEVENTH"));
+ expect([SDLPRNDL EIGHTH].value).to(equal(@"EIGHTH"));
+ expect([SDLPRNDL UNKNOWN].value).to(equal(@"UNKNOWN"));
+ expect([SDLPRNDL FAULT].value).to(equal(@"FAULT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLPRNDL valueOf:@"PARK"]).to(equal([SDLPRNDL PARK]));
+ expect([SDLPRNDL valueOf:@"REVERSE"]).to(equal([SDLPRNDL REVERSE]));
+ expect([SDLPRNDL valueOf:@"NEUTRAL"]).to(equal([SDLPRNDL NEUTRAL]));
+ expect([SDLPRNDL valueOf:@"DRIVE"]).to(equal([SDLPRNDL DRIVE]));
+ expect([SDLPRNDL valueOf:@"SPORT"]).to(equal([SDLPRNDL SPORT]));
+ expect([SDLPRNDL valueOf:@"LOWGEAR"]).to(equal([SDLPRNDL LOWGEAR]));
+ expect([SDLPRNDL valueOf:@"FIRST"]).to(equal([SDLPRNDL FIRST]));
+ expect([SDLPRNDL valueOf:@"SECOND"]).to(equal([SDLPRNDL SECOND]));
+ expect([SDLPRNDL valueOf:@"THIRD"]).to(equal([SDLPRNDL THIRD]));
+ expect([SDLPRNDL valueOf:@"FOURTH"]).to(equal([SDLPRNDL FOURTH]));
+ expect([SDLPRNDL valueOf:@"FIFTH"]).to(equal([SDLPRNDL FIFTH]));
+ expect([SDLPRNDL valueOf:@"SIXTH"]).to(equal([SDLPRNDL SIXTH]));
+ expect([SDLPRNDL valueOf:@"SEVENTH"]).to(equal([SDLPRNDL SEVENTH]));
+ expect([SDLPRNDL valueOf:@"EIGHTH"]).to(equal([SDLPRNDL EIGHTH]));
+ expect([SDLPRNDL valueOf:@"UNKNOWN"]).to(equal([SDLPRNDL UNKNOWN]));
+ expect([SDLPRNDL valueOf:@"FAULT"]).to(equal([SDLPRNDL FAULT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLPRNDL valueOf:nil]).to(beNil());
+ expect([SDLPRNDL valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLPRNDL values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLPRNDL PARK],
+ [SDLPRNDL REVERSE],
+ [SDLPRNDL NEUTRAL],
+ [SDLPRNDL DRIVE],
+ [SDLPRNDL SPORT],
+ [SDLPRNDL LOWGEAR],
+ [SDLPRNDL FIRST],
+ [SDLPRNDL SECOND],
+ [SDLPRNDL THIRD],
+ [SDLPRNDL FOURTH],
+ [SDLPRNDL FIFTH],
+ [SDLPRNDL SIXTH],
+ [SDLPRNDL SEVENTH],
+ [SDLPRNDL EIGHTH],
+ [SDLPRNDL UNKNOWN],
+ [SDLPRNDL FAULT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m
new file mode 100644
index 000000000..3ca864595
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPermissionStatusSpec.m
@@ -0,0 +1,59 @@
+//
+// SDLPermissionStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPermissionStatus.h"
+
+QuickSpecBegin(SDLPermissionStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLPermissionStatus ALLOWED].value).to(equal(@"ALLOWED"));
+ expect([SDLPermissionStatus DISALLOWED].value).to(equal(@"DISALLOWED"));
+ expect([SDLPermissionStatus USER_DISALLOWED].value).to(equal(@"USER_DISALLOWED"));
+ expect([SDLPermissionStatus USER_CONSENT_PENDING].value).to(equal(@"USER_CONSENT_PENDING"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLPermissionStatus valueOf:@"ALLOWED"]).to(equal([SDLPermissionStatus ALLOWED]));
+ expect([SDLPermissionStatus valueOf:@"DISALLOWED"]).to(equal([SDLPermissionStatus DISALLOWED]));
+ expect([SDLPermissionStatus valueOf:@"USER_DISALLOWED"]).to(equal([SDLPermissionStatus USER_DISALLOWED]));
+ expect([SDLPermissionStatus valueOf:@"USER_CONSENT_PENDING"]).to(equal([SDLPermissionStatus USER_CONSENT_PENDING]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLPermissionStatus valueOf:nil]).to(beNil());
+ expect([SDLPermissionStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLPermissionStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLPermissionStatus ALLOWED],
+ [SDLPermissionStatus DISALLOWED],
+ [SDLPermissionStatus USER_DISALLOWED],
+ [SDLPermissionStatus USER_CONSENT_PENDING]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPowerModeQualificationStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPowerModeQualificationStatusSpec.m
new file mode 100644
index 000000000..1a8c2dd55
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPowerModeQualificationStatusSpec.m
@@ -0,0 +1,59 @@
+//
+// SDLPowerModeQualificationStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPowerModeQualificationStatus.h"
+
+QuickSpecBegin(SDLPowerModeQualificationStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLPowerModeQualificationStatus POWER_MODE_UNDEFINED].value).to(equal(@"POWER_MODE_UNDEFINED"));
+ expect([SDLPowerModeQualificationStatus POWER_MODE_EVALUATION_IN_PROGRESS].value).to(equal(@"POWER_MODE_EVALUATION_IN_PROGRESS"));
+ expect([SDLPowerModeQualificationStatus NOT_DEFINED].value).to(equal(@"NOT_DEFINED"));
+ expect([SDLPowerModeQualificationStatus POWER_MODE_OK].value).to(equal(@"POWER_MODE_OK"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLPowerModeQualificationStatus valueOf:@"POWER_MODE_UNDEFINED"]).to(equal([SDLPowerModeQualificationStatus POWER_MODE_UNDEFINED]));
+ expect([SDLPowerModeQualificationStatus valueOf:@"POWER_MODE_EVALUATION_IN_PROGRESS"]).to(equal([SDLPowerModeQualificationStatus POWER_MODE_EVALUATION_IN_PROGRESS]));
+ expect([SDLPowerModeQualificationStatus valueOf:@"NOT_DEFINED"]).to(equal([SDLPowerModeQualificationStatus NOT_DEFINED]));
+ expect([SDLPowerModeQualificationStatus valueOf:@"POWER_MODE_OK"]).to(equal([SDLPowerModeQualificationStatus POWER_MODE_OK]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLPowerModeQualificationStatus valueOf:nil]).to(beNil());
+ expect([SDLPowerModeQualificationStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLPowerModeQualificationStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLPowerModeQualificationStatus POWER_MODE_UNDEFINED],
+ [SDLPowerModeQualificationStatus POWER_MODE_EVALUATION_IN_PROGRESS],
+ [SDLPowerModeQualificationStatus NOT_DEFINED],
+ [SDLPowerModeQualificationStatus POWER_MODE_OK]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPowerModeStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPowerModeStatusSpec.m
new file mode 100644
index 000000000..4ffc91aba
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPowerModeStatusSpec.m
@@ -0,0 +1,74 @@
+//
+// SDLPowerModeStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPowerModeStatus.h"
+
+QuickSpecBegin(SDLPowerModeStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLPowerModeStatus KEY_OUT].value).to(equal(@"KEY_OUT"));
+ expect([SDLPowerModeStatus KEY_RECENTLY_OUT].value).to(equal(@"KEY_RECENTLY_OUT"));
+ expect([SDLPowerModeStatus KEY_APPROVED_0].value).to(equal(@"KEY_APPROVED_0"));
+ expect([SDLPowerModeStatus POST_ACCESORY_0].value).to(equal(@"POST_ACCESORY_0"));
+ expect([SDLPowerModeStatus ACCESORY_1].value).to(equal(@"ACCESORY_1"));
+ expect([SDLPowerModeStatus POST_IGNITION_1].value).to(equal(@"POST_IGNITION_1"));
+ expect([SDLPowerModeStatus IGNITION_ON_2].value).to(equal(@"IGNITION_ON_2"));
+ expect([SDLPowerModeStatus RUNNING_2].value).to(equal(@"RUNNING_2"));
+ expect([SDLPowerModeStatus CRANK_3].value).to(equal(@"CRANK_3"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLPowerModeStatus valueOf:@"KEY_OUT"]).to(equal([SDLPowerModeStatus KEY_OUT]));
+ expect([SDLPowerModeStatus valueOf:@"KEY_RECENTLY_OUT"]).to(equal([SDLPowerModeStatus KEY_RECENTLY_OUT]));
+ expect([SDLPowerModeStatus valueOf:@"KEY_APPROVED_0"]).to(equal([SDLPowerModeStatus KEY_APPROVED_0]));
+ expect([SDLPowerModeStatus valueOf:@"POST_ACCESORY_0"]).to(equal([SDLPowerModeStatus POST_ACCESORY_0]));
+ expect([SDLPowerModeStatus valueOf:@"ACCESORY_1"]).to(equal([SDLPowerModeStatus ACCESORY_1]));
+ expect([SDLPowerModeStatus valueOf:@"POST_IGNITION_1"]).to(equal([SDLPowerModeStatus POST_IGNITION_1]));
+ expect([SDLPowerModeStatus valueOf:@"IGNITION_ON_2"]).to(equal([SDLPowerModeStatus IGNITION_ON_2]));
+ expect([SDLPowerModeStatus valueOf:@"RUNNING_2"]).to(equal([SDLPowerModeStatus RUNNING_2]));
+ expect([SDLPowerModeStatus valueOf:@"CRANK_3"]).to(equal([SDLPowerModeStatus CRANK_3]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLPowerModeStatus valueOf:nil]).to(beNil());
+ expect([SDLPowerModeStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLPowerModeStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLPowerModeStatus KEY_OUT],
+ [SDLPowerModeStatus KEY_RECENTLY_OUT],
+ [SDLPowerModeStatus KEY_APPROVED_0],
+ [SDLPowerModeStatus POST_ACCESORY_0],
+ [SDLPowerModeStatus ACCESORY_1],
+ [SDLPowerModeStatus POST_IGNITION_1],
+ [SDLPowerModeStatus IGNITION_ON_2],
+ [SDLPowerModeStatus RUNNING_2],
+ [SDLPowerModeStatus CRANK_3]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPredefinedLayoutSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPredefinedLayoutSpec.m
new file mode 100644
index 000000000..0f110d08c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPredefinedLayoutSpec.m
@@ -0,0 +1,107 @@
+//
+// SDLPredefinedLayoutSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPredefinedLayout.h"
+
+QuickSpecBegin(SDLPredefinedLayoutSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLPredefinedLayout DEFAULT].value).to(equal(@"DEFAULT"));
+ expect([SDLPredefinedLayout MEDIA].value).to(equal(@"MEDIA"));
+ expect([SDLPredefinedLayout NON_MEDIA].value).to(equal(@"NON-MEDIA"));
+ expect([SDLPredefinedLayout ONSCREEN_PRESETS].value).to(equal(@"ONSCREEN_PRESETS"));
+ expect([SDLPredefinedLayout NAV_FULLSCREEN_MAP].value).to(equal(@"NAV_FULLSCREEN_MAP"));
+ expect([SDLPredefinedLayout NAV_LIST].value).to(equal(@"NAV_LIST"));
+ expect([SDLPredefinedLayout NAV_KEYBOARD].value).to(equal(@"NAV_KEYBOARD"));
+ expect([SDLPredefinedLayout GRAPHIC_WITH_TEXT].value).to(equal(@"GRAPHIC_WITH_TEXT"));
+ expect([SDLPredefinedLayout TEXT_WITH_GRAPHIC].value).to(equal(@"TEXT_WITH_GRAPHIC"));
+ expect([SDLPredefinedLayout TILES_ONLY].value).to(equal(@"TILES_ONLY"));
+ expect([SDLPredefinedLayout TEXTBUTTONS_ONLY].value).to(equal(@"TEXTBUTTONS_ONLY"));
+ expect([SDLPredefinedLayout GRAPHIC_WITH_TILES].value).to(equal(@"GRAPHIC_WITH_TILES"));
+ expect([SDLPredefinedLayout TILES_WITH_GRAPHIC].value).to(equal(@"TILES_WITH_GRAPHIC"));
+ expect([SDLPredefinedLayout GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS].value).to(equal(@"GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS"));
+ expect([SDLPredefinedLayout TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC].value).to(equal(@"TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC"));
+ expect([SDLPredefinedLayout GRAPHIC_WITH_TEXTBUTTONS].value).to(equal(@"GRAPHIC_WITH_TEXTBUTTONS"));
+ expect([SDLPredefinedLayout TEXTBUTTONS_WITH_GRAPHIC].value).to(equal(@"TEXTBUTTONS_WITH_GRAPHIC"));
+ expect([SDLPredefinedLayout LARGE_GRAPHIC_WITH_SOFTBUTTONS].value).to(equal(@"LARGE_GRAPHIC_WITH_SOFTBUTTONS"));
+ expect([SDLPredefinedLayout DOUBLE_GRAPHIC_WITH_SOFTBUTTONS].value).to(equal(@"DOUBLE_GRAPHIC_WITH_SOFTBUTTONS"));
+ expect([SDLPredefinedLayout LARGE_GRAPHIC_ONLY].value).to(equal(@"LARGE_GRAPHIC_ONLY"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLPredefinedLayout valueOf:@"DEFAULT"]).to(equal([SDLPredefinedLayout DEFAULT]));
+ expect([SDLPredefinedLayout valueOf:@"MEDIA"]).to(equal([SDLPredefinedLayout MEDIA]));
+ expect([SDLPredefinedLayout valueOf:@"NON-MEDIA"]).to(equal([SDLPredefinedLayout NON_MEDIA]));
+ expect([SDLPredefinedLayout valueOf:@"ONSCREEN_PRESETS"]).to(equal([SDLPredefinedLayout ONSCREEN_PRESETS]));
+ expect([SDLPredefinedLayout valueOf:@"NAV_FULLSCREEN_MAP"]).to(equal([SDLPredefinedLayout NAV_FULLSCREEN_MAP]));
+ expect([SDLPredefinedLayout valueOf:@"NAV_LIST"]).to(equal([SDLPredefinedLayout NAV_LIST]));
+ expect([SDLPredefinedLayout valueOf:@"NAV_KEYBOARD"]).to(equal([SDLPredefinedLayout NAV_KEYBOARD]));
+ expect([SDLPredefinedLayout valueOf:@"GRAPHIC_WITH_TEXT"]).to(equal([SDLPredefinedLayout GRAPHIC_WITH_TEXT]));
+ expect([SDLPredefinedLayout valueOf:@"TEXT_WITH_GRAPHIC"]).to(equal([SDLPredefinedLayout TEXT_WITH_GRAPHIC]));
+ expect([SDLPredefinedLayout valueOf:@"TILES_ONLY"]).to(equal([SDLPredefinedLayout TILES_ONLY]));
+ expect([SDLPredefinedLayout valueOf:@"TEXTBUTTONS_ONLY"]).to(equal([SDLPredefinedLayout TEXTBUTTONS_ONLY]));
+ expect([SDLPredefinedLayout valueOf:@"GRAPHIC_WITH_TILES"]).to(equal([SDLPredefinedLayout GRAPHIC_WITH_TILES]));
+ expect([SDLPredefinedLayout valueOf:@"TILES_WITH_GRAPHIC"]).to(equal([SDLPredefinedLayout TILES_WITH_GRAPHIC]));
+ expect([SDLPredefinedLayout valueOf:@"GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS"]).to(equal([SDLPredefinedLayout GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS]));
+ expect([SDLPredefinedLayout valueOf:@"TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC"]).to(equal([SDLPredefinedLayout TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC]));
+ expect([SDLPredefinedLayout valueOf:@"GRAPHIC_WITH_TEXTBUTTONS"]).to(equal([SDLPredefinedLayout GRAPHIC_WITH_TEXTBUTTONS]));
+ expect([SDLPredefinedLayout valueOf:@"TEXTBUTTONS_WITH_GRAPHIC"]).to(equal([SDLPredefinedLayout TEXTBUTTONS_WITH_GRAPHIC]));
+ expect([SDLPredefinedLayout valueOf:@"LARGE_GRAPHIC_WITH_SOFTBUTTONS"]).to(equal([SDLPredefinedLayout LARGE_GRAPHIC_WITH_SOFTBUTTONS]));
+ expect([SDLPredefinedLayout valueOf:@"DOUBLE_GRAPHIC_WITH_SOFTBUTTONS"]).to(equal([SDLPredefinedLayout DOUBLE_GRAPHIC_WITH_SOFTBUTTONS]));
+ expect([SDLPredefinedLayout valueOf:@"LARGE_GRAPHIC_ONLY"]).to(equal([SDLPredefinedLayout LARGE_GRAPHIC_ONLY]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLPredefinedLayout valueOf:nil]).to(beNil());
+ expect([SDLPredefinedLayout valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLPredefinedLayout values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLPredefinedLayout DEFAULT],
+ [SDLPredefinedLayout MEDIA],
+ [SDLPredefinedLayout NON_MEDIA],
+ [SDLPredefinedLayout ONSCREEN_PRESETS],
+ [SDLPredefinedLayout NAV_FULLSCREEN_MAP],
+ [SDLPredefinedLayout NAV_LIST],
+ [SDLPredefinedLayout NAV_KEYBOARD],
+ [SDLPredefinedLayout GRAPHIC_WITH_TEXT],
+ [SDLPredefinedLayout TEXT_WITH_GRAPHIC],
+ [SDLPredefinedLayout TILES_ONLY],
+ [SDLPredefinedLayout TEXTBUTTONS_ONLY],
+ [SDLPredefinedLayout GRAPHIC_WITH_TILES],
+ [SDLPredefinedLayout TILES_WITH_GRAPHIC],
+ [SDLPredefinedLayout GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS],
+ [SDLPredefinedLayout TEXT_AND_SOFTBUTTONS_WITH_GRAPHIC],
+ [SDLPredefinedLayout GRAPHIC_WITH_TEXTBUTTONS],
+ [SDLPredefinedLayout TEXTBUTTONS_WITH_GRAPHIC],
+ [SDLPredefinedLayout LARGE_GRAPHIC_WITH_SOFTBUTTONS],
+ [SDLPredefinedLayout DOUBLE_GRAPHIC_WITH_SOFTBUTTONS],
+ [SDLPredefinedLayout LARGE_GRAPHIC_ONLY]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPrerecordedSpeechSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPrerecordedSpeechSpec.m
new file mode 100644
index 000000000..89c0bd218
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPrerecordedSpeechSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLPrerecordedSpeechSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPrerecordedSpeech.h"
+
+QuickSpecBegin(SDLPrerecordedSpeechSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLPrerecordedSpeech HELP_JINGLE].value).to(equal(@"HELP_JINGLE"));
+ expect([SDLPrerecordedSpeech INITIAL_JINGLE].value).to(equal(@"INITIAL_JINGLE"));
+ expect([SDLPrerecordedSpeech LISTEN_JINGLE].value).to(equal(@"LISTEN_JINGLE"));
+ expect([SDLPrerecordedSpeech POSITIVE_JINGLE].value).to(equal(@"POSITIVE_JINGLE"));
+ expect([SDLPrerecordedSpeech NEGATIVE_JINGLE].value).to(equal(@"NEGATIVE_JINGLE"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLPrerecordedSpeech valueOf:@"HELP_JINGLE"]).to(equal([SDLPrerecordedSpeech HELP_JINGLE]));
+ expect([SDLPrerecordedSpeech valueOf:@"INITIAL_JINGLE"]).to(equal([SDLPrerecordedSpeech INITIAL_JINGLE]));
+ expect([SDLPrerecordedSpeech valueOf:@"LISTEN_JINGLE"]).to(equal([SDLPrerecordedSpeech LISTEN_JINGLE]));
+ expect([SDLPrerecordedSpeech valueOf:@"POSITIVE_JINGLE"]).to(equal([SDLPrerecordedSpeech POSITIVE_JINGLE]));
+ expect([SDLPrerecordedSpeech valueOf:@"NEGATIVE_JINGLE"]).to(equal([SDLPrerecordedSpeech NEGATIVE_JINGLE]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLPrerecordedSpeech valueOf:nil]).to(beNil());
+ expect([SDLPrerecordedSpeech valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLPrerecordedSpeech values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLPrerecordedSpeech HELP_JINGLE],
+ [SDLPrerecordedSpeech INITIAL_JINGLE],
+ [SDLPrerecordedSpeech LISTEN_JINGLE],
+ [SDLPrerecordedSpeech POSITIVE_JINGLE],
+ [SDLPrerecordedSpeech NEGATIVE_JINGLE]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPrimaryAudioSource.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPrimaryAudioSource.m
new file mode 100644
index 000000000..0b273e0df
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLPrimaryAudioSource.m
@@ -0,0 +1,68 @@
+//
+// SDLPrimaryAudioSourceSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPrimaryAudioSource.h"
+
+QuickSpecBegin(SDLPrimaryAudioSourceSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLPrimaryAudioSource NO_SOURCE_SELECTED].value).to(equal(@"NO_SOURCE_SELECTED"));
+ expect([SDLPrimaryAudioSource USB].value).to(equal(@"USB"));
+ expect([SDLPrimaryAudioSource USB2].value).to(equal(@"USB2"));
+ expect([SDLPrimaryAudioSource BLUETOOTH_STEREO_BTST].value).to(equal(@"BLUETOOTH_STEREO_BTST"));
+ expect([SDLPrimaryAudioSource LINE_IN].value).to(equal(@"LINE_IN"));
+ expect([SDLPrimaryAudioSource IPOD].value).to(equal(@"IPOD"));
+ expect([SDLPrimaryAudioSource MOBILE_APP].value).to(equal(@"MOBILE_APP"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLPrimaryAudioSource valueOf:@"NO_SOURCE_SELECTED"]).to(equal([SDLPrimaryAudioSource NO_SOURCE_SELECTED]));
+ expect([SDLPrimaryAudioSource valueOf:@"USB"]).to(equal([SDLPrimaryAudioSource USB]));
+ expect([SDLPrimaryAudioSource valueOf:@"USB2"]).to(equal([SDLPrimaryAudioSource USB2]));
+ expect([SDLPrimaryAudioSource valueOf:@"BLUETOOTH_STEREO_BTST"]).to(equal([SDLPrimaryAudioSource BLUETOOTH_STEREO_BTST]));
+ expect([SDLPrimaryAudioSource valueOf:@"LINE_IN"]).to(equal([SDLPrimaryAudioSource LINE_IN]));
+ expect([SDLPrimaryAudioSource valueOf:@"IPOD"]).to(equal([SDLPrimaryAudioSource IPOD]));
+ expect([SDLPrimaryAudioSource valueOf:@"MOBILE_APP"]).to(equal([SDLPrimaryAudioSource MOBILE_APP]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLPrimaryAudioSource valueOf:nil]).to(beNil());
+ expect([SDLPrimaryAudioSource valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLPrimaryAudioSource values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLPrimaryAudioSource NO_SOURCE_SELECTED],
+ [SDLPrimaryAudioSource USB],
+ [SDLPrimaryAudioSource USB2],
+ [SDLPrimaryAudioSource BLUETOOTH_STEREO_BTST],
+ [SDLPrimaryAudioSource LINE_IN],
+ [SDLPrimaryAudioSource IPOD],
+ [SDLPrimaryAudioSource MOBILE_APP]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLRPCMessageTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLRPCMessageTypeSpec.m
new file mode 100644
index 000000000..1a1373052
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLRPCMessageTypeSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLRPCMessageTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLRPCMessageType.h"
+
+QuickSpecBegin(SDLRPCMessageTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLRPCMessageType request].value).to(equal(@"request"));
+ expect([SDLRPCMessageType response].value).to(equal(@"response"));
+ expect([SDLRPCMessageType notification].value).to(equal(@"notification"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLRPCMessageType valueOf:@"request"]).to(equal([SDLRPCMessageType request]));
+ expect([SDLRPCMessageType valueOf:@"response"]).to(equal([SDLRPCMessageType response]));
+ expect([SDLRPCMessageType valueOf:@"notification"]).to(equal([SDLRPCMessageType notification]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLRPCMessageType valueOf:nil]).to(beNil());
+ expect([SDLRPCMessageType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLRPCMessageType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLRPCMessageType request],
+ [SDLRPCMessageType response],
+ [SDLRPCMessageType notification]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLRequestTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLRequestTypeSpec.m
new file mode 100644
index 000000000..7a314e1a6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLRequestTypeSpec.m
@@ -0,0 +1,108 @@
+//
+// SDLRequestTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLRequestType.h"
+
+QuickSpecBegin(SDLRequestTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLRequestType HTTP].value).to(equal(@"HTTP"));
+ expect([SDLRequestType FILE_RESUME].value).to(equal(@"FILE_RESUME"));
+ expect([SDLRequestType AUTH_REQUEST].value).to(equal(@"AUTH_REQUEST"));
+ expect([SDLRequestType AUTH_CHALLENGE].value).to(equal(@"AUTH_CHALLENGE"));
+ expect([SDLRequestType AUTH_ACK].value).to(equal(@"AUTH_ACK"));
+ expect([SDLRequestType PROPRIETARY].value).to(equal(@"PROPRIETARY"));
+ expect([SDLRequestType QUERY_APPS].value).to(equal(@"QUERY_APPS"));
+ expect([SDLRequestType LAUNCH_APP].value).to(equal(@"LAUNCH_APP"));
+ expect([SDLRequestType LOCK_SCREEN_ICON_URL].value).to(equal(@"LOCK_SCREEN_ICON_URL"));
+ expect([SDLRequestType TRAFFIC_MESSAGE_CHANNEL].value).to(equal(@"TRAFFIC_MESSAGE_CHANNEL"));
+ expect([SDLRequestType DRIVER_PROFILE].value).to(equal(@"DRIVER_PROFILE"));
+ expect([SDLRequestType VOICE_SEARCH].value).to(equal(@"VOICE_SEARCH"));
+ expect([SDLRequestType NAVIGATION].value).to(equal(@"NAVIGATION"));
+ expect([SDLRequestType PHONE].value).to(equal(@"PHONE"));
+ expect([SDLRequestType CLIMATE].value).to(equal(@"CLIMATE"));
+ expect([SDLRequestType SETTINGS].value).to(equal(@"SETTINGS"));
+ expect([SDLRequestType VEHICLE_DIAGNOSTICS].value).to(equal(@"VEHICLE_DIAGNOSTICS"));
+ expect([SDLRequestType EMERGENCY].value).to(equal(@"EMERGENCY"));
+ expect([SDLRequestType MEDIA].value).to(equal(@"MEDIA"));
+ expect([SDLRequestType FOTA].value).to(equal(@"FOTA"));
+ });
+});
+
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLRequestType valueOf:@"HTTP"]).to(equal([SDLRequestType HTTP]));
+ expect([SDLRequestType valueOf:@"FILE_RESUME"]).to(equal([SDLRequestType FILE_RESUME]));
+ expect([SDLRequestType valueOf:@"AUTH_REQUEST"]).to(equal([SDLRequestType AUTH_REQUEST]));
+ expect([SDLRequestType valueOf:@"AUTH_CHALLENGE"]).to(equal([SDLRequestType AUTH_CHALLENGE]));
+ expect([SDLRequestType valueOf:@"AUTH_ACK"]).to(equal([SDLRequestType AUTH_ACK]));
+ expect([SDLRequestType valueOf:@"QUERY_APPS"]).to(equal([SDLRequestType QUERY_APPS]));
+ expect([SDLRequestType valueOf:@"LAUNCH_APP"]).to(equal([SDLRequestType LAUNCH_APP]));
+ expect([SDLRequestType valueOf:@"LOCK_SCREEN_ICON_URL"]).to(equal([SDLRequestType LOCK_SCREEN_ICON_URL]));
+ expect([SDLRequestType valueOf:@"TRAFFIC_MESSAGE_CHANNEL"]).to(equal([SDLRequestType TRAFFIC_MESSAGE_CHANNEL]));
+ expect([SDLRequestType valueOf:@"DRIVER_PROFILE"]).to(equal([SDLRequestType DRIVER_PROFILE]));
+ expect([SDLRequestType valueOf:@"VOICE_SEARCH"]).to(equal([SDLRequestType VOICE_SEARCH]));
+ expect([SDLRequestType valueOf:@"NAVIGATION"]).to(equal([SDLRequestType NAVIGATION]));
+ expect([SDLRequestType valueOf:@"PHONE"]).to(equal([SDLRequestType PHONE]));
+ expect([SDLRequestType valueOf:@"CLIMATE"]).to(equal([SDLRequestType CLIMATE]));
+ expect([SDLRequestType valueOf:@"SETTINGS"]).to(equal([SDLRequestType SETTINGS]));
+ expect([SDLRequestType valueOf:@"VEHICLE_DIAGNOSTICS"]).to(equal([SDLRequestType VEHICLE_DIAGNOSTICS]));
+ expect([SDLRequestType valueOf:@"EMERGENCY"]).to(equal([SDLRequestType EMERGENCY]));
+ expect([SDLRequestType valueOf:@"MEDIA"]).to(equal([SDLRequestType MEDIA]));
+ expect([SDLRequestType valueOf:@"FOTA"]).to(equal([SDLRequestType FOTA]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLRequestType valueOf:nil]).to(beNil());
+ expect([SDLRequestType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLRequestType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLRequestType HTTP],
+ [SDLRequestType FILE_RESUME],
+ [SDLRequestType AUTH_REQUEST],
+ [SDLRequestType AUTH_CHALLENGE],
+ [SDLRequestType AUTH_ACK],
+ [SDLRequestType PROPRIETARY],
+ [SDLRequestType QUERY_APPS],
+ [SDLRequestType LAUNCH_APP],
+ [SDLRequestType LOCK_SCREEN_ICON_URL],
+ [SDLRequestType TRAFFIC_MESSAGE_CHANNEL],
+ [SDLRequestType DRIVER_PROFILE],
+ [SDLRequestType VOICE_SEARCH],
+ [SDLRequestType NAVIGATION],
+ [SDLRequestType PHONE],
+ [SDLRequestType CLIMATE],
+ [SDLRequestType SETTINGS],
+ [SDLRequestType VEHICLE_DIAGNOSTICS],
+ [SDLRequestType EMERGENCY],
+ [SDLRequestType MEDIA],
+ [SDLRequestType FOTA]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLResultSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLResultSpec.m
new file mode 100644
index 000000000..18491022b
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLResultSpec.m
@@ -0,0 +1,145 @@
+//
+// SDLResultSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLResult.h"
+
+QuickSpecBegin(SDLResultSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLResult SUCCESS].value).to(equal(@"SUCCESS"));
+ expect([SDLResult UNSUPPORTED_REQUEST].value).to(equal(@"UNSUPPORTED_REQUEST"));
+ expect([SDLResult UNSUPPORTED_RESOURCE].value).to(equal(@"UNSUPPORTED_RESOURCE"));
+ expect([SDLResult DISALLOWED].value).to(equal(@"DISALLOWED"));
+ expect([SDLResult REJECTED].value).to(equal(@"REJECTED"));
+ expect([SDLResult ABORTED].value).to(equal(@"ABORTED"));
+ expect([SDLResult IGNORED].value).to(equal(@"IGNORED"));
+ expect([SDLResult RETRY].value).to(equal(@"RETRY"));
+ expect([SDLResult IN_USE].value).to(equal(@"IN_USE"));
+ expect([SDLResult VEHICLE_DATA_NOT_AVAILABLE].value).to(equal(@"VEHICLE_DATA_NOT_AVAILABLE"));
+ expect([SDLResult TIMED_OUT].value).to(equal(@"TIMED_OUT"));
+ expect([SDLResult INVALID_DATA].value).to(equal(@"INVALID_DATA"));
+ //expect([SDLResult CHAR_LIMIT_EXCEEDED].value).to(equal(@"CHAR_LIMIT_EXCEEDED"));
+ expect([SDLResult INVALID_ID].value).to(equal(@"INVALID_ID"));
+ expect([SDLResult DUPLICATE_NAME].value).to(equal(@"DUPLICATE_NAME"));
+ expect([SDLResult APPLICATION_NOT_REGISTERED].value).to(equal(@"APPLICATION_NOT_REGISTERED"));
+ expect([SDLResult WRONG_LANGUAGE].value).to(equal(@"WRONG_LANGUAGE"));
+ expect([SDLResult OUT_OF_MEMORY].value).to(equal(@"OUT_OF_MEMORY"));
+ expect([SDLResult TOO_MANY_PENDING_REQUESTS].value).to(equal(@"TOO_MANY_PENDING_REQUESTS"));
+ expect([SDLResult TOO_MANY_APPLICATIONS].value).to(equal(@"TOO_MANY_APPLICATIONS"));
+ expect([SDLResult APPLICATION_REGISTERED_ALREADY].value).to(equal(@"APPLICATION_REGISTERED_ALREADY"));
+ expect([SDLResult WARNINGS].value).to(equal(@"WARNINGS"));
+ expect([SDLResult GENERIC_ERROR].value).to(equal(@"GENERIC_ERROR"));
+ expect([SDLResult USER_DISALLOWED].value).to(equal(@"USER_DISALLOWED"));
+ expect([SDLResult UNSUPPORTED_VERSION].value).to(equal(@"UNSUPPORTED_VERSION"));
+ expect([SDLResult VEHICLE_DATA_NOT_ALLOWED].value).to(equal(@"VEHICLE_DATA_NOT_ALLOWED"));
+ expect([SDLResult FILE_NOT_FOUND].value).to(equal(@"FILE_NOT_FOUND"));
+ expect([SDLResult CANCEL_ROUTE].value).to(equal(@"CANCEL_ROUTE"));
+ expect([SDLResult TRUNCATED_DATA].value).to(equal(@"TRUNCATED_DATA"));
+ expect([SDLResult SAVED].value).to(equal(@"SAVED"));
+ expect([SDLResult INVALID_CERT].value).to(equal(@"INVALID_CERT"));
+ expect([SDLResult EXPIRED_CERT].value).to(equal(@"EXPIRED_CERT"));
+ expect([SDLResult RESUME_FAILED].value).to(equal(@"RESUME_FAILED"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLResult valueOf:@"SUCCESS"]).to(equal([SDLResult SUCCESS]));
+ expect([SDLResult valueOf:@"UNSUPPORTED_REQUEST"]).to(equal([SDLResult UNSUPPORTED_REQUEST]));
+ expect([SDLResult valueOf:@"UNSUPPORTED_RESOURCE"]).to(equal([SDLResult UNSUPPORTED_RESOURCE]));
+ expect([SDLResult valueOf:@"DISALLOWED"]).to(equal([SDLResult DISALLOWED]));
+ expect([SDLResult valueOf:@"REJECTED"]).to(equal([SDLResult REJECTED]));
+ expect([SDLResult valueOf:@"IGNORED"]).to(equal([SDLResult IGNORED]));
+ expect([SDLResult valueOf:@"RETRY"]).to(equal([SDLResult RETRY]));
+ expect([SDLResult valueOf:@"IN_USE"]).to(equal([SDLResult IN_USE]));
+ expect([SDLResult valueOf:@"VEHICLE_DATA_NOT_AVAILABLE"]).to(equal([SDLResult VEHICLE_DATA_NOT_AVAILABLE]));
+ expect([SDLResult valueOf:@"TIMED_OUT"]).to(equal([SDLResult TIMED_OUT]));
+ expect([SDLResult valueOf:@"INVALID_DATA"]).to(equal([SDLResult INVALID_DATA]));
+ //expect([SDLResult valueOf:@"CHAR_LIMIT_EXCEEDED"]).to(equal([SDLResult CHAR_LIMIT_EXCEEDED]));
+ expect([SDLResult valueOf:@"INVALID_ID"]).to(equal([SDLResult INVALID_ID]));
+ expect([SDLResult valueOf:@"DUPLICATE_NAME"]).to(equal([SDLResult DUPLICATE_NAME]));
+ expect([SDLResult valueOf:@"APPLICATION_NOT_REGISTERED"]).to(equal([SDLResult APPLICATION_NOT_REGISTERED]));
+ expect([SDLResult valueOf:@"WRONG_LANGUAGE"]).to(equal([SDLResult WRONG_LANGUAGE]));
+ expect([SDLResult valueOf:@"OUT_OF_MEMORY"]).to(equal([SDLResult OUT_OF_MEMORY]));
+ expect([SDLResult valueOf:@"TOO_MANY_PENDING_REQUESTS"]).to(equal([SDLResult TOO_MANY_PENDING_REQUESTS]));
+ expect([SDLResult valueOf:@"TOO_MANY_APPLICATIONS"]).to(equal([SDLResult TOO_MANY_APPLICATIONS]));
+ expect([SDLResult valueOf:@"APPLICATION_REGISTERED_ALREADY"]).to(equal([SDLResult APPLICATION_REGISTERED_ALREADY]));
+ expect([SDLResult valueOf:@"WARNINGS"]).to(equal([SDLResult WARNINGS]));
+ expect([SDLResult valueOf:@"GENERIC_ERROR"]).to(equal([SDLResult GENERIC_ERROR]));
+ expect([SDLResult valueOf:@"USER_DISALLOWED"]).to(equal([SDLResult USER_DISALLOWED]));
+ expect([SDLResult valueOf:@"UNSUPPORTED_VERSION"]).to(equal([SDLResult UNSUPPORTED_VERSION]));
+ expect([SDLResult valueOf:@"VEHICLE_DATA_NOT_ALLOWED"]).to(equal([SDLResult VEHICLE_DATA_NOT_ALLOWED]));
+ expect([SDLResult valueOf:@"FILE_NOT_FOUND"]).to(equal([SDLResult FILE_NOT_FOUND]));
+ expect([SDLResult valueOf:@"CANCEL_ROUTE"]).to(equal([SDLResult CANCEL_ROUTE]));
+ expect([SDLResult valueOf:@"TRUNCATED_DATA"]).to(equal([SDLResult TRUNCATED_DATA]));
+ expect([SDLResult valueOf:@"SAVED"]).to(equal([SDLResult SAVED]));
+ expect([SDLResult valueOf:@"INVALID_CERT"]).to(equal([SDLResult INVALID_CERT]));
+ expect([SDLResult valueOf:@"EXPIRED_CERT"]).to(equal([SDLResult EXPIRED_CERT]));
+ expect([SDLResult valueOf:@"RESUME_FAILED"]).to(equal([SDLResult RESUME_FAILED]));
+});
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLResult valueOf:nil]).to(beNil());
+ expect([SDLResult valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLResult values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLResult SUCCESS],
+ [SDLResult UNSUPPORTED_REQUEST],
+ [SDLResult UNSUPPORTED_RESOURCE],
+ [SDLResult DISALLOWED],
+ [SDLResult REJECTED],
+ [SDLResult ABORTED],
+ [SDLResult IGNORED],
+ [SDLResult RETRY],
+ [SDLResult IN_USE],
+ [SDLResult VEHICLE_DATA_NOT_AVAILABLE],
+ [SDLResult TIMED_OUT],
+ [SDLResult INVALID_DATA],
+ //[SDLResult CHAR_LIMIT_EXCEEDED],
+ [SDLResult INVALID_ID],
+ [SDLResult DUPLICATE_NAME],
+ [SDLResult APPLICATION_NOT_REGISTERED],
+ [SDLResult WRONG_LANGUAGE],
+ [SDLResult OUT_OF_MEMORY],
+ [SDLResult TOO_MANY_PENDING_REQUESTS],
+ [SDLResult TOO_MANY_APPLICATIONS],
+ [SDLResult APPLICATION_REGISTERED_ALREADY],
+ [SDLResult WARNINGS],
+ [SDLResult GENERIC_ERROR],
+ [SDLResult USER_DISALLOWED],
+ [SDLResult UNSUPPORTED_VERSION],
+ [SDLResult VEHICLE_DATA_NOT_ALLOWED],
+ [SDLResult FILE_NOT_FOUND],
+ [SDLResult CANCEL_ROUTE],
+ [SDLResult TRUNCATED_DATA],
+ [SDLResult SAVED],
+ [SDLResult INVALID_CERT],
+ [SDLResult EXPIRED_CERT],
+ [SDLResult RESUME_FAILED]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSamplingRateSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSamplingRateSpec.m
new file mode 100644
index 000000000..1d4e56611
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSamplingRateSpec.m
@@ -0,0 +1,59 @@
+//
+// SDLSamplingRateSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSamplingRate.h"
+
+QuickSpecBegin(SDLSamplingRateSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLSamplingRate _8KHZ].value).to(equal(@"8KHZ"));
+ expect([SDLSamplingRate _16KHZ].value).to(equal(@"16KHZ"));
+ expect([SDLSamplingRate _22KHZ].value).to(equal(@"22KHZ"));
+ expect([SDLSamplingRate _44KHZ].value).to(equal(@"44KHZ"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLSamplingRate valueOf:@"8KHZ"]).to(equal([SDLSamplingRate _8KHZ]));
+ expect([SDLSamplingRate valueOf:@"16KHZ"]).to(equal([SDLSamplingRate _16KHZ]));
+ expect([SDLSamplingRate valueOf:@"22KHZ"]).to(equal([SDLSamplingRate _22KHZ]));
+ expect([SDLSamplingRate valueOf:@"44KHZ"]).to(equal([SDLSamplingRate _44KHZ]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLSamplingRate valueOf:nil]).to(beNil());
+ expect([SDLSamplingRate valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLSamplingRate values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLSamplingRate _8KHZ],
+ [SDLSamplingRate _16KHZ],
+ [SDLSamplingRate _22KHZ],
+ [SDLSamplingRate _44KHZ]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSoftButtonTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSoftButtonTypeSpec.m
new file mode 100644
index 000000000..6960fa1b1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSoftButtonTypeSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLSoftButtonTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSoftButtonType.h"
+
+QuickSpecBegin(SDLSoftButtonTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLSoftButtonType TEXT].value).to(equal(@"TEXT"));
+ expect([SDLSoftButtonType IMAGE].value).to(equal(@"IMAGE"));
+ expect([SDLSoftButtonType BOTH].value).to(equal(@"BOTH"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLSoftButtonType valueOf:@"TEXT"]).to(equal([SDLSoftButtonType TEXT]));
+ expect([SDLSoftButtonType valueOf:@"IMAGE"]).to(equal([SDLSoftButtonType IMAGE]));
+ expect([SDLSoftButtonType valueOf:@"BOTH"]).to(equal([SDLSoftButtonType BOTH]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLSoftButtonType valueOf:nil]).to(beNil());
+ expect([SDLSoftButtonType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLSoftButtonType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLSoftButtonType TEXT],
+ [SDLSoftButtonType IMAGE],
+ [SDLSoftButtonType BOTH]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSpeechCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSpeechCapabilitiesSpec.m
new file mode 100644
index 000000000..c33de9c8c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSpeechCapabilitiesSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLSpeechCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSpeechCapabilities.h"
+
+QuickSpecBegin(SDLSpeechCapabilitiesSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLSpeechCapabilities TEXT].value).to(equal(@"TEXT"));
+ expect([SDLSpeechCapabilities SAPI_PHONEMES].value).to(equal(@"SAPI_PHONEMES"));
+ expect([SDLSpeechCapabilities LHPLUS_PHONEMES].value).to(equal(@"LHPLUS_PHONEMES"));
+ expect([SDLSpeechCapabilities PRE_RECORDED].value).to(equal(@"PRE_RECORDED"));
+ expect([SDLSpeechCapabilities SILENCE].value).to(equal(@"SILENCE"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLSpeechCapabilities valueOf:@"TEXT"]).to(equal([SDLSpeechCapabilities TEXT]));
+ expect([SDLSpeechCapabilities valueOf:@"SAPI_PHONEMES"]).to(equal([SDLSpeechCapabilities SAPI_PHONEMES]));
+ expect([SDLSpeechCapabilities valueOf:@"LHPLUS_PHONEMES"]).to(equal([SDLSpeechCapabilities LHPLUS_PHONEMES]));
+ expect([SDLSpeechCapabilities valueOf:@"PRE_RECORDED"]).to(equal([SDLSpeechCapabilities PRE_RECORDED]));
+ expect([SDLSpeechCapabilities valueOf:@"SILENCE"]).to(equal([SDLSpeechCapabilities SILENCE]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLSpeechCapabilities valueOf:nil]).to(beNil());
+ expect([SDLSpeechCapabilities valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLSpeechCapabilities values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLSpeechCapabilities TEXT],
+ [SDLSpeechCapabilities SAPI_PHONEMES],
+ [SDLSpeechCapabilities LHPLUS_PHONEMES],
+ [SDLSpeechCapabilities PRE_RECORDED],
+ [SDLSpeechCapabilities SILENCE]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSystemAction.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSystemAction.m
new file mode 100644
index 000000000..917e1acb6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSystemAction.m
@@ -0,0 +1,56 @@
+//
+// SDLSystemActionSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSystemAction.h"
+
+QuickSpecBegin(SDLSystemActionSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLSystemAction DEFAULT_ACTION].value).to(equal(@"DEFAULT_ACTION"));
+ expect([SDLSystemAction STEAL_FOCUS].value).to(equal(@"STEAL_FOCUS"));
+ expect([SDLSystemAction KEEP_CONTEXT].value).to(equal(@"KEEP_CONTEXT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLSystemAction valueOf:@"DEFAULT_ACTION"]).to(equal([SDLSystemAction DEFAULT_ACTION]));
+ expect([SDLSystemAction valueOf:@"STEAL_FOCUS"]).to(equal([SDLSystemAction STEAL_FOCUS]));
+ expect([SDLSystemAction valueOf:@"KEEP_CONTEXT"]).to(equal([SDLSystemAction KEEP_CONTEXT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLSystemAction valueOf:nil]).to(beNil());
+ expect([SDLSystemAction valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLSystemAction values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLSystemAction DEFAULT_ACTION],
+ [SDLSystemAction STEAL_FOCUS],
+ [SDLSystemAction KEEP_CONTEXT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSystemContextSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSystemContextSpec.m
new file mode 100644
index 000000000..694247a1d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLSystemContextSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLSystemContextSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSystemContext.h"
+
+QuickSpecBegin(SDLSystemContextSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLSystemContext MAIN].value).to(equal(@"MAIN"));
+ expect([SDLSystemContext VRSESSION].value).to(equal(@"VRSESSION"));
+ expect([SDLSystemContext MENU].value).to(equal(@"MENU"));
+ expect([SDLSystemContext HMI_OBSCURED].value).to(equal(@"HMI_OBSCURED"));
+ expect([SDLSystemContext ALERT].value).to(equal(@"ALERT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLSystemContext valueOf:@"MAIN"]).to(equal([SDLSystemContext MAIN]));
+ expect([SDLSystemContext valueOf:@"VRSESSION"]).to(equal([SDLSystemContext VRSESSION]));
+ expect([SDLSystemContext valueOf:@"MENU"]).to(equal([SDLSystemContext MENU]));
+ expect([SDLSystemContext valueOf:@"HMI_OBSCURED"]).to(equal([SDLSystemContext HMI_OBSCURED]));
+ expect([SDLSystemContext valueOf:@"ALERT"]).to(equal([SDLSystemContext ALERT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLSystemContext valueOf:nil]).to(beNil());
+ expect([SDLSystemContext valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLSystemContext values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLSystemContext MAIN],
+ [SDLSystemContext VRSESSION],
+ [SDLSystemContext MENU],
+ [SDLSystemContext HMI_OBSCURED],
+ [SDLSystemContext ALERT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTBTStateSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTBTStateSpec.m
new file mode 100644
index 000000000..070986389
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTBTStateSpec.m
@@ -0,0 +1,77 @@
+//
+// SDLTBTStateSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTBTState.h"
+
+QuickSpecBegin(SDLTBTStateSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLTBTState ROUTE_UPDATE_REQUEST].value).to(equal(@"ROUTE_UPDATE_REQUEST"));
+ expect([SDLTBTState ROUTE_ACCEPTED].value).to(equal(@"ROUTE_ACCEPTED"));
+ expect([SDLTBTState ROUTE_REFUSED].value).to(equal(@"ROUTE_REFUSED"));
+ expect([SDLTBTState ROUTE_CANCELLED].value).to(equal(@"ROUTE_CANCELLED"));
+ expect([SDLTBTState ETA_REQUEST].value).to(equal(@"ETA_REQUEST"));
+ expect([SDLTBTState NEXT_TURN_REQUEST].value).to(equal(@"NEXT_TURN_REQUEST"));
+ expect([SDLTBTState ROUTE_STATUS_REQUEST].value).to(equal(@"ROUTE_STATUS_REQUEST"));
+ expect([SDLTBTState ROUTE_SUMMARY_REQUEST].value).to(equal(@"ROUTE_SUMMARY_REQUEST"));
+ expect([SDLTBTState TRIP_STATUS_REQUEST].value).to(equal(@"TRIP_STATUS_REQUEST"));
+ expect([SDLTBTState ROUTE_UPDATE_REQUEST_TIMEOUT].value).to(equal(@"ROUTE_UPDATE_REQUEST_TIMEOUT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLTBTState valueOf:@"ROUTE_UPDATE_REQUEST"]).to(equal([SDLTBTState ROUTE_UPDATE_REQUEST]));
+ expect([SDLTBTState valueOf:@"ROUTE_ACCEPTED"]).to(equal([SDLTBTState ROUTE_ACCEPTED]));
+ expect([SDLTBTState valueOf:@"ROUTE_REFUSED"]).to(equal([SDLTBTState ROUTE_REFUSED]));
+ expect([SDLTBTState valueOf:@"ROUTE_CANCELLED"]).to(equal([SDLTBTState ROUTE_CANCELLED]));
+ expect([SDLTBTState valueOf:@"ETA_REQUEST"]).to(equal([SDLTBTState ETA_REQUEST]));
+ expect([SDLTBTState valueOf:@"NEXT_TURN_REQUEST"]).to(equal([SDLTBTState NEXT_TURN_REQUEST]));
+ expect([SDLTBTState valueOf:@"ROUTE_STATUS_REQUEST"]).to(equal([SDLTBTState ROUTE_STATUS_REQUEST]));
+ expect([SDLTBTState valueOf:@"ROUTE_SUMMARY_REQUEST"]).to(equal([SDLTBTState ROUTE_SUMMARY_REQUEST]));
+ expect([SDLTBTState valueOf:@"TRIP_STATUS_REQUEST"]).to(equal([SDLTBTState TRIP_STATUS_REQUEST]));
+ expect([SDLTBTState valueOf:@"ROUTE_UPDATE_REQUEST_TIMEOUT"]).to(equal([SDLTBTState ROUTE_UPDATE_REQUEST_TIMEOUT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLTBTState valueOf:nil]).to(beNil());
+ expect([SDLTBTState valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLTBTState values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLTBTState ROUTE_UPDATE_REQUEST],
+ [SDLTBTState ROUTE_ACCEPTED],
+ [SDLTBTState ROUTE_REFUSED],
+ [SDLTBTState ROUTE_CANCELLED],
+ [SDLTBTState ETA_REQUEST],
+ [SDLTBTState NEXT_TURN_REQUEST],
+ [SDLTBTState ROUTE_STATUS_REQUEST],
+ [SDLTBTState ROUTE_SUMMARY_REQUEST],
+ [SDLTBTState TRIP_STATUS_REQUEST],
+ [SDLTBTState ROUTE_UPDATE_REQUEST_TIMEOUT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTextAlignmentSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTextAlignmentSpec.m
new file mode 100644
index 000000000..06082c576
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTextAlignmentSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLTextAlignmentSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTextAlignment.h"
+
+QuickSpecBegin(SDLTextAlignmentSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLTextAlignment LEFT_ALIGNED].value).to(equal(@"LEFT_ALIGNED"));
+ expect([SDLTextAlignment RIGHT_ALIGNED].value).to(equal(@"RIGHT_ALIGNED"));
+ expect([SDLTextAlignment CENTERED].value).to(equal(@"CENTERED"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLTextAlignment valueOf:@"LEFT_ALIGNED"]).to(equal([SDLTextAlignment LEFT_ALIGNED]));
+ expect([SDLTextAlignment valueOf:@"RIGHT_ALIGNED"]).to(equal([SDLTextAlignment RIGHT_ALIGNED]));
+ expect([SDLTextAlignment valueOf:@"CENTERED"]).to(equal([SDLTextAlignment CENTERED]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLTextAlignment valueOf:nil]).to(beNil());
+ expect([SDLTextAlignment valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLTextAlignment values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLTextAlignment LEFT_ALIGNED],
+ [SDLTextAlignment RIGHT_ALIGNED],
+ [SDLTextAlignment CENTERED]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTextFieldNameSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTextFieldNameSpec.m
new file mode 100644
index 000000000..40be02374
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTextFieldNameSpec.m
@@ -0,0 +1,133 @@
+//
+// SDLTextFieldNameSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTextFieldName.h"
+
+QuickSpecBegin(SDLTextFieldNameSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLTextFieldName mainField1].value).to(equal(@"mainField1"));
+ expect([SDLTextFieldName mainField2].value).to(equal(@"mainField2"));
+ expect([SDLTextFieldName mainField3].value).to(equal(@"mainField3"));
+ expect([SDLTextFieldName mainField4].value).to(equal(@"mainField4"));
+ expect([SDLTextFieldName statusBar].value).to(equal(@"statusBar"));
+ expect([SDLTextFieldName mediaClock].value).to(equal(@"mediaClock"));
+ expect([SDLTextFieldName mediaTrack].value).to(equal(@"mediaTrack"));
+ expect([SDLTextFieldName alertText1].value).to(equal(@"alertText1"));
+ expect([SDLTextFieldName alertText2].value).to(equal(@"alertText2"));
+ expect([SDLTextFieldName alertText3].value).to(equal(@"alertText3"));
+ expect([SDLTextFieldName scrollableMessageBody].value).to(equal(@"scrollableMessageBody"));
+ expect([SDLTextFieldName initialInteractionText].value).to(equal(@"initialInteractionText"));
+ expect([SDLTextFieldName navigationText1].value).to(equal(@"navigationText1"));
+ expect([SDLTextFieldName navigationText2].value).to(equal(@"navigationText2"));
+ expect([SDLTextFieldName ETA].value).to(equal(@"ETA"));
+ expect([SDLTextFieldName totalDistance].value).to(equal(@"totalDistance"));
+ expect([SDLTextFieldName audioPassThruDisplayText1].value).to(equal(@"audioPassThruDisplayText1"));
+ expect([SDLTextFieldName audioPassThruDisplayText2].value).to(equal(@"audioPassThruDisplayText2"));
+ expect([SDLTextFieldName sliderHeader].value).to(equal(@"sliderHeader"));
+ expect([SDLTextFieldName sliderFooter].value).to(equal(@"sliderFooter"));
+ expect([SDLTextFieldName menuName].value).to(equal(@"menuName"));
+ expect([SDLTextFieldName secondaryText].value).to(equal(@"secondaryText"));
+ expect([SDLTextFieldName tertiaryText].value).to(equal(@"tertiaryText"));
+ expect([SDLTextFieldName menuTitle].value).to(equal(@"menuTitle"));
+ expect([SDLTextFieldName locationName].value).to(equal(@"locationName"));
+ expect([SDLTextFieldName locationDescription].value).to(equal(@"locationDescription"));
+ expect([SDLTextFieldName addressLines].value).to(equal(@"addressLines"));
+ expect([SDLTextFieldName phoneNumber].value).to(equal(@"phoneNumber"));
+ });
+});
+
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLTextFieldName valueOf:@"mainField1"]).to(equal([SDLTextFieldName mainField1]));
+ expect([SDLTextFieldName valueOf:@"mainField2"]).to(equal([SDLTextFieldName mainField2]));
+ expect([SDLTextFieldName valueOf:@"mainField3"]).to(equal([SDLTextFieldName mainField3]));
+ expect([SDLTextFieldName valueOf:@"mainField4"]).to(equal([SDLTextFieldName mainField4]));
+ expect([SDLTextFieldName valueOf:@"statusBar"]).to(equal([SDLTextFieldName statusBar]));
+ expect([SDLTextFieldName valueOf:@"mediaClock"]).to(equal([SDLTextFieldName mediaClock]));
+ expect([SDLTextFieldName valueOf:@"mediaTrack"]).to(equal([SDLTextFieldName mediaTrack]));
+ expect([SDLTextFieldName valueOf:@"alertText1"]).to(equal([SDLTextFieldName alertText1]));
+ expect([SDLTextFieldName valueOf:@"alertText2"]).to(equal([SDLTextFieldName alertText2]));
+ expect([SDLTextFieldName valueOf:@"alertText3"]).to(equal([SDLTextFieldName alertText3]));
+ expect([SDLTextFieldName valueOf:@"scrollableMessageBody"]).to(equal([SDLTextFieldName scrollableMessageBody]));
+ expect([SDLTextFieldName valueOf:@"initialInteractionText"]).to(equal([SDLTextFieldName initialInteractionText]));
+ expect([SDLTextFieldName valueOf:@"navigationText1"]).to(equal([SDLTextFieldName navigationText1]));
+ expect([SDLTextFieldName valueOf:@"navigationText2"]).to(equal([SDLTextFieldName navigationText2]));
+ expect([SDLTextFieldName valueOf:@"ETA"]).to(equal([SDLTextFieldName ETA]));
+ expect([SDLTextFieldName valueOf:@"totalDistance"]).to(equal([SDLTextFieldName totalDistance]));
+ expect([SDLTextFieldName valueOf:@"audioPassThruDisplayText1"]).to(equal([SDLTextFieldName audioPassThruDisplayText1]));
+ expect([SDLTextFieldName valueOf:@"audioPassThruDisplayText2"]).to(equal([SDLTextFieldName audioPassThruDisplayText2]));
+ expect([SDLTextFieldName valueOf:@"sliderHeader"]).to(equal([SDLTextFieldName sliderHeader]));
+ expect([SDLTextFieldName valueOf:@"sliderFooter"]).to(equal([SDLTextFieldName sliderFooter]));
+ expect([SDLTextFieldName valueOf:@"menuName"]).to(equal([SDLTextFieldName menuName]));
+ expect([SDLTextFieldName valueOf:@"secondaryText"]).to(equal([SDLTextFieldName secondaryText]));
+ expect([SDLTextFieldName valueOf:@"tertiaryText"]).to(equal([SDLTextFieldName tertiaryText]));
+ expect([SDLTextFieldName valueOf:@"menuTitle"]).to(equal([SDLTextFieldName menuTitle]));
+ expect([SDLTextFieldName valueOf:@"locationName"]).to(equal([SDLTextFieldName locationName]));
+ expect([SDLTextFieldName valueOf:@"locationDescription"]).to(equal([SDLTextFieldName locationDescription]));
+ expect([SDLTextFieldName valueOf:@"addressLines"]).to(equal([SDLTextFieldName addressLines]));
+ expect([SDLTextFieldName valueOf:@"phoneNumber"]).to(equal([SDLTextFieldName phoneNumber]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLTextFieldName valueOf:nil]).to(beNil());
+ expect([SDLTextFieldName valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLTextFieldName values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLTextFieldName mainField1],
+ [SDLTextFieldName mainField2],
+ [SDLTextFieldName mainField3],
+ [SDLTextFieldName mainField4],
+ [SDLTextFieldName statusBar],
+ [SDLTextFieldName mediaClock],
+ [SDLTextFieldName mediaTrack],
+ [SDLTextFieldName alertText1],
+ [SDLTextFieldName alertText2],
+ [SDLTextFieldName alertText3],
+ [SDLTextFieldName scrollableMessageBody],
+ [SDLTextFieldName initialInteractionText],
+ [SDLTextFieldName navigationText1],
+ [SDLTextFieldName navigationText2],
+ [SDLTextFieldName ETA],
+ [SDLTextFieldName totalDistance],
+ [SDLTextFieldName audioPassThruDisplayText1],
+ [SDLTextFieldName audioPassThruDisplayText2],
+ [SDLTextFieldName sliderHeader],
+ [SDLTextFieldName sliderFooter],
+ [SDLTextFieldName menuName],
+ [SDLTextFieldName secondaryText],
+ [SDLTextFieldName tertiaryText],
+ [SDLTextFieldName menuTitle],
+ [SDLTextFieldName locationName],
+ [SDLTextFieldName locationDescription],
+ [SDLTextFieldName addressLines],
+ [SDLTextFieldName phoneNumber]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTimerModeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTimerModeSpec.m
new file mode 100644
index 000000000..0bb0a7448
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTimerModeSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLTimerModeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTimerMode.h"
+
+QuickSpecBegin(SDLTimerModeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLTimerMode UP].value).to(equal(@"UP"));
+ expect([SDLTimerMode DOWN].value).to(equal(@"DOWN"));
+ expect([SDLTimerMode NONE].value).to(equal(@"NONE"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLTimerMode valueOf:@"UP"]).to(equal([SDLTimerMode UP]));
+ expect([SDLTimerMode valueOf:@"DOWN"]).to(equal([SDLTimerMode DOWN]));
+ expect([SDLTimerMode valueOf:@"NONE"]).to(equal([SDLTimerMode NONE]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLTimerMode valueOf:nil]).to(beNil());
+ expect([SDLTimerMode valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLTimerMode values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLTimerMode UP],
+ [SDLTimerMode DOWN],
+ [SDLTimerMode NONE]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTouchTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTouchTypeSpec.m
new file mode 100644
index 000000000..dc72c74b2
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTouchTypeSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLTouchTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTouchType.h"
+
+QuickSpecBegin(SDLTouchTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLTouchType BEGIN].value).to(equal(@"BEGIN"));
+ expect([SDLTouchType MOVE].value).to(equal(@"MOVE"));
+ expect([SDLTouchType END].value).to(equal(@"END"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLTouchType valueOf:@"BEGIN"]).to(equal([SDLTouchType BEGIN]));
+ expect([SDLTouchType valueOf:@"MOVE"]).to(equal([SDLTouchType MOVE]));
+ expect([SDLTouchType valueOf:@"END"]).to(equal([SDLTouchType END]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLTouchType valueOf:nil]).to(beNil());
+ expect([SDLTouchType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLTouchType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLTouchType BEGIN],
+ [SDLTouchType MOVE],
+ [SDLTouchType END]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTriggerSource.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTriggerSource.m
new file mode 100644
index 000000000..1a1413f54
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLTriggerSource.m
@@ -0,0 +1,56 @@
+//
+// SDLTriggerSourceSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTriggerSource.h"
+
+QuickSpecBegin(SDLTriggerSourceSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLTriggerSource MENU].value).to(equal(@"MENU"));
+ expect([SDLTriggerSource VR].value).to(equal(@"VR"));
+ expect([SDLTriggerSource KEYBOARD].value).to(equal(@"KEYBOARD"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLTriggerSource valueOf:@"MENU"]).to(equal([SDLTriggerSource MENU]));
+ expect([SDLTriggerSource valueOf:@"VR"]).to(equal([SDLTriggerSource VR]));
+ expect([SDLTriggerSource valueOf:@"KEYBOARD"]).to(equal([SDLTriggerSource KEYBOARD]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLTriggerSource valueOf:nil]).to(beNil());
+ expect([SDLTriggerSource valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLTriggerSource values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLTriggerSource MENU],
+ [SDLTriggerSource VR],
+ [SDLTriggerSource KEYBOARD]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLUpdateModeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLUpdateModeSpec.m
new file mode 100644
index 000000000..23c8bb5a5
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLUpdateModeSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLUpdateModeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLUpdateMode.h"
+
+QuickSpecBegin(SDLUpdateModeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLUpdateMode COUNTUP].value).to(equal(@"COUNTUP"));
+ expect([SDLUpdateMode COUNTDOWN].value).to(equal(@"COUNTDOWN"));
+ expect([SDLUpdateMode PAUSE].value).to(equal(@"PAUSE"));
+ expect([SDLUpdateMode RESUME].value).to(equal(@"RESUME"));
+ expect([SDLUpdateMode CLEAR].value).to(equal(@"CLEAR"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLUpdateMode valueOf:@"COUNTUP"]).to(equal([SDLUpdateMode COUNTUP]));
+ expect([SDLUpdateMode valueOf:@"COUNTDOWN"]).to(equal([SDLUpdateMode COUNTDOWN]));
+ expect([SDLUpdateMode valueOf:@"PAUSE"]).to(equal([SDLUpdateMode PAUSE]));
+ expect([SDLUpdateMode valueOf:@"RESUME"]).to(equal([SDLUpdateMode RESUME]));
+ expect([SDLUpdateMode valueOf:@"CLEAR"]).to(equal([SDLUpdateMode CLEAR]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLUpdateMode valueOf:nil]).to(beNil());
+ expect([SDLUpdateMode valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLUpdateMode values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLUpdateMode COUNTUP],
+ [SDLUpdateMode COUNTDOWN],
+ [SDLUpdateMode PAUSE],
+ [SDLUpdateMode RESUME],
+ [SDLUpdateMode CLEAR]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataActiveStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataActiveStatusSpec.m
new file mode 100644
index 000000000..46c2cd927
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataActiveStatusSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLVehicleDataActiveStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleDataActiveStatus.h"
+
+QuickSpecBegin(SDLVehicleDataActiveStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLVehicleDataActiveStatus INACTIVE_NOT_CONFIRMED].value).to(equal(@"INACTIVE_NOT_CONFIRMED"));
+ expect([SDLVehicleDataActiveStatus INACTIVE_CONFIRMED].value).to(equal(@"INACTIVE_CONFIRMED"));
+ expect([SDLVehicleDataActiveStatus ACTIVE_NOT_CONFIRMED].value).to(equal(@"ACTIVE_NOT_CONFIRMED"));
+ expect([SDLVehicleDataActiveStatus ACTIVE_CONFIRMED].value).to(equal(@"ACTIVE_CONFIRMED"));
+ expect([SDLVehicleDataActiveStatus FAULT].value).to(equal(@"FAULT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLVehicleDataActiveStatus valueOf:@"INACTIVE_NOT_CONFIRMED"]).to(equal([SDLVehicleDataActiveStatus INACTIVE_NOT_CONFIRMED]));
+ expect([SDLVehicleDataActiveStatus valueOf:@"INACTIVE_CONFIRMED"]).to(equal([SDLVehicleDataActiveStatus INACTIVE_CONFIRMED]));
+ expect([SDLVehicleDataActiveStatus valueOf:@"ACTIVE_NOT_CONFIRMED"]).to(equal([SDLVehicleDataActiveStatus ACTIVE_NOT_CONFIRMED]));
+ expect([SDLVehicleDataActiveStatus valueOf:@"ACTIVE_CONFIRMED"]).to(equal([SDLVehicleDataActiveStatus ACTIVE_CONFIRMED]));
+ expect([SDLVehicleDataActiveStatus valueOf:@"FAULT"]).to(equal([SDLVehicleDataActiveStatus FAULT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLVehicleDataActiveStatus valueOf:nil]).to(beNil());
+ expect([SDLVehicleDataActiveStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLVehicleDataActiveStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLVehicleDataActiveStatus INACTIVE_NOT_CONFIRMED],
+ [SDLVehicleDataActiveStatus INACTIVE_CONFIRMED],
+ [SDLVehicleDataActiveStatus ACTIVE_NOT_CONFIRMED],
+ [SDLVehicleDataActiveStatus ACTIVE_CONFIRMED],
+ [SDLVehicleDataActiveStatus FAULT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataEventStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataEventStatusSpec.m
new file mode 100644
index 000000000..452404231
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataEventStatusSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLVehicleDataEventStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleDataEventStatus.h"
+
+QuickSpecBegin(SDLVehicleDataEventStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLVehicleDataEventStatus NO_EVENT].value).to(equal(@"NO_EVENT"));
+ expect([SDLVehicleDataEventStatus _NO].value).to(equal(@"NO"));
+ expect([SDLVehicleDataEventStatus _YES].value).to(equal(@"YES"));
+ expect([SDLVehicleDataEventStatus NOT_SUPPORTED].value).to(equal(@"NOT_SUPPORTED"));
+ expect([SDLVehicleDataEventStatus FAULT].value).to(equal(@"FAULT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLVehicleDataEventStatus valueOf:@"NO_EVENT"]).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect([SDLVehicleDataEventStatus valueOf:@"NO"]).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect([SDLVehicleDataEventStatus valueOf:@"YES"]).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect([SDLVehicleDataEventStatus valueOf:@"NOT_SUPPORTED"]).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ expect([SDLVehicleDataEventStatus valueOf:@"FAULT"]).to(equal([SDLVehicleDataEventStatus FAULT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLVehicleDataEventStatus valueOf:nil]).to(beNil());
+ expect([SDLVehicleDataEventStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLVehicleDataEventStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLVehicleDataEventStatus NO_EVENT],
+ [SDLVehicleDataEventStatus _NO],
+ [SDLVehicleDataEventStatus _YES],
+ [SDLVehicleDataEventStatus NOT_SUPPORTED],
+ [SDLVehicleDataEventStatus FAULT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataNotificationStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataNotificationStatusSpec.m
new file mode 100644
index 000000000..6edf13783
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataNotificationStatusSpec.m
@@ -0,0 +1,60 @@
+//
+// SDLVehicleDataNotificationStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleDataNotificationStatus.h"
+
+QuickSpecBegin(SDLVehicleDataNotificationStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLVehicleDataNotificationStatus NOT_SUPPORTED].value).to(equal(@"NOT_SUPPORTED"));
+ expect([SDLVehicleDataNotificationStatus NORMAL].value).to(equal(@"NORMAL"));
+ expect([SDLVehicleDataNotificationStatus ACTIVE].value).to(equal(@"ACTIVE"));
+ expect([SDLVehicleDataNotificationStatus NOT_USED].value).to(equal(@"NOT_USED"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLVehicleDataNotificationStatus valueOf:@"NOT_SUPPORTED"]).to(equal([SDLVehicleDataNotificationStatus NOT_SUPPORTED]));
+ expect([SDLVehicleDataNotificationStatus valueOf:@"NORMAL"]).to(equal([SDLVehicleDataNotificationStatus NORMAL]));
+ expect([SDLVehicleDataNotificationStatus valueOf:@"ACTIVE"]).to(equal([SDLVehicleDataNotificationStatus ACTIVE]));
+ expect([SDLVehicleDataNotificationStatus valueOf:@"NOT_USED"]).to(equal([SDLVehicleDataNotificationStatus NOT_USED]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLVehicleDataNotificationStatus valueOf:nil]).to(beNil());
+ expect([SDLVehicleDataNotificationStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLVehicleDataNotificationStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLVehicleDataNotificationStatus NOT_SUPPORTED],
+ [SDLVehicleDataNotificationStatus NORMAL],
+ [SDLVehicleDataNotificationStatus ACTIVE],
+ [SDLVehicleDataNotificationStatus NOT_USED]] copy];
+
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataResultCodeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataResultCodeSpec.m
new file mode 100644
index 000000000..be09e2495
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataResultCodeSpec.m
@@ -0,0 +1,74 @@
+//
+// SDLVehicleDataResultCodeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleDataResultCode.h"
+
+QuickSpecBegin(SDLVehicleDataResultCodeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLVehicleDataResultCode SUCCESS].value).to(equal(@"SUCCESS"));
+ expect([SDLVehicleDataResultCode TRUNCATED_DATA].value).to(equal(@"TRUNCATED_DATA"));
+ expect([SDLVehicleDataResultCode DISALLOWED].value).to(equal(@"DISALLOWED"));
+ expect([SDLVehicleDataResultCode USER_DISALLOWED].value).to(equal(@"USER_DISALLOWED"));
+ expect([SDLVehicleDataResultCode INVALID_ID].value).to(equal(@"INVALID_ID"));
+ expect([SDLVehicleDataResultCode VEHICLE_DATA_NOT_AVAILABLE].value).to(equal(@"VEHICLE_DATA_NOT_AVAILABLE"));
+ expect([SDLVehicleDataResultCode DATA_ALREADY_SUBSCRIBED].value).to(equal(@"DATA_ALREADY_SUBSCRIBED"));
+ expect([SDLVehicleDataResultCode DATA_NOT_SUBSCRIBED].value).to(equal(@"DATA_NOT_SUBSCRIBED"));
+ expect([SDLVehicleDataResultCode IGNORED].value).to(equal(@"IGNORED"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLVehicleDataResultCode valueOf:@"SUCCESS"]).to(equal([SDLVehicleDataResultCode SUCCESS]));
+ expect([SDLVehicleDataResultCode valueOf:@"TRUNCATED_DATA"]).to(equal([SDLVehicleDataResultCode TRUNCATED_DATA]));
+ expect([SDLVehicleDataResultCode valueOf:@"DISALLOWED"]).to(equal([SDLVehicleDataResultCode DISALLOWED]));
+ expect([SDLVehicleDataResultCode valueOf:@"USER_DISALLOWED"]).to(equal([SDLVehicleDataResultCode USER_DISALLOWED]));
+ expect([SDLVehicleDataResultCode valueOf:@"INVALID_ID"]).to(equal([SDLVehicleDataResultCode INVALID_ID]));
+ expect([SDLVehicleDataResultCode valueOf:@"VEHICLE_DATA_NOT_AVAILABLE"]).to(equal([SDLVehicleDataResultCode VEHICLE_DATA_NOT_AVAILABLE]));
+ expect([SDLVehicleDataResultCode valueOf:@"DATA_ALREADY_SUBSCRIBED"]).to(equal([SDLVehicleDataResultCode DATA_ALREADY_SUBSCRIBED]));
+ expect([SDLVehicleDataResultCode valueOf:@"DATA_NOT_SUBSCRIBED"]).to(equal([SDLVehicleDataResultCode DATA_NOT_SUBSCRIBED]));
+ expect([SDLVehicleDataResultCode valueOf:@"IGNORED"]).to(equal([SDLVehicleDataResultCode IGNORED]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLVehicleDataResultCode valueOf:nil]).to(beNil());
+ expect([SDLVehicleDataResultCode valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLVehicleDataResultCode values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLVehicleDataResultCode SUCCESS],
+ [SDLVehicleDataResultCode TRUNCATED_DATA],
+ [SDLVehicleDataResultCode DISALLOWED],
+ [SDLVehicleDataResultCode USER_DISALLOWED],
+ [SDLVehicleDataResultCode INVALID_ID],
+ [SDLVehicleDataResultCode VEHICLE_DATA_NOT_AVAILABLE],
+ [SDLVehicleDataResultCode DATA_ALREADY_SUBSCRIBED],
+ [SDLVehicleDataResultCode DATA_NOT_SUBSCRIBED],
+ [SDLVehicleDataResultCode IGNORED]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataStatusSpec.m
new file mode 100644
index 000000000..997837562
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataStatusSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLVehicleDataStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleDataStatus.h"
+
+QuickSpecBegin(SDLVehicleDataStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLVehicleDataStatus NO_DATA_EXISTS].value).to(equal(@"NO_DATA_EXISTS"));
+ expect([SDLVehicleDataStatus OFF].value).to(equal(@"OFF"));
+ expect([SDLVehicleDataStatus ON].value).to(equal(@"ON"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLVehicleDataStatus valueOf:@"NO_DATA_EXISTS"]).to(equal([SDLVehicleDataStatus NO_DATA_EXISTS]));
+ expect([SDLVehicleDataStatus valueOf:@"OFF"]).to(equal([SDLVehicleDataStatus OFF]));
+ expect([SDLVehicleDataStatus valueOf:@"ON"]).to(equal([SDLVehicleDataStatus ON]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLVehicleDataStatus valueOf:nil]).to(beNil());
+ expect([SDLVehicleDataStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLVehicleDataStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLVehicleDataStatus NO_DATA_EXISTS],
+ [SDLVehicleDataStatus OFF],
+ [SDLVehicleDataStatus ON]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m
new file mode 100644
index 000000000..c11e93a7f
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVehicleDataTypeSpec.m
@@ -0,0 +1,125 @@
+//
+// SDLVehicleDataTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleDataType.h"
+
+QuickSpecBegin(SDLVehicleDataTypeSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLVehicleDataType VEHICLEDATA_GPS].value).to(equal(@"VEHICLEDATA_GPS"));
+ expect([SDLVehicleDataType VEHICLEDATA_SPEED].value).to(equal(@"VEHICLEDATA_SPEED"));
+ expect([SDLVehicleDataType VEHICLEDATA_RPM].value).to(equal(@"VEHICLEDATA_RPM"));
+ expect([SDLVehicleDataType VEHICLEDATA_FUELLEVEL].value).to(equal(@"VEHICLEDATA_FUELLEVEL"));
+ expect([SDLVehicleDataType VEHICLEDATA_FUELLEVEL_STATE].value).to(equal(@"VEHICLEDATA_FUELLEVEL_STATE"));
+ expect([SDLVehicleDataType VEHICLEDATA_FUELCONSUMPTION].value).to(equal(@"VEHICLEDATA_FUELCONSUMPTION"));
+ expect([SDLVehicleDataType VEHICLEDATA_EXTERNTEMP].value).to(equal(@"VEHICLEDATA_EXTERNTEMP"));
+ expect([SDLVehicleDataType VEHICLEDATA_VIN].value).to(equal(@"VEHICLEDATA_VIN"));
+ expect([SDLVehicleDataType VEHICLEDATA_PRNDL].value).to(equal(@"VEHICLEDATA_PRNDL"));
+ expect([SDLVehicleDataType VEHICLEDATA_TIREPRESSURE].value).to(equal(@"VEHICLEDATA_TIREPRESSURE"));
+ expect([SDLVehicleDataType VEHICLEDATA_ODOMETER].value).to(equal(@"VEHICLEDATA_ODOMETER"));
+ expect([SDLVehicleDataType VEHICLEDATA_BELTSTATUS].value).to(equal(@"VEHICLEDATA_BELTSTATUS"));
+ expect([SDLVehicleDataType VEHICLEDATA_BODYINFO].value).to(equal(@"VEHICLEDATA_BODYINFO"));
+ expect([SDLVehicleDataType VEHICLEDATA_DEVICESTATUS].value).to(equal(@"VEHICLEDATA_DEVICESTATUS"));
+ expect([SDLVehicleDataType VEHICLEDATA_ECALLINFO].value).to(equal(@"VEHICLEDATA_ECALLINFO"));
+ expect([SDLVehicleDataType VEHICLEDATA_AIRBAGSTATUS].value).to(equal(@"VEHICLEDATA_AIRBAGSTATUS"));
+ expect([SDLVehicleDataType VEHICLEDATA_EMERGENCYEVENT].value).to(equal(@"VEHICLEDATA_EMERGENCYEVENT"));
+ expect([SDLVehicleDataType VEHICLEDATA_CLUSTERMODESTATUS].value).to(equal(@"VEHICLEDATA_CLUSTERMODESTATUS"));
+ expect([SDLVehicleDataType VEHICLEDATA_MYKEY].value).to(equal(@"VEHICLEDATA_MYKEY"));
+ expect([SDLVehicleDataType VEHICLEDATA_BRAKING].value).to(equal(@"VEHICLEDATA_BRAKING"));
+ expect([SDLVehicleDataType VEHICLEDATA_WIPERSTATUS].value).to(equal(@"VEHICLEDATA_WIPERSTATUS"));
+ expect([SDLVehicleDataType VEHICLEDATA_HEADLAMPSTATUS].value).to(equal(@"VEHICLEDATA_HEADLAMPSTATUS"));
+ expect([SDLVehicleDataType VEHICLEDATA_BATTVOLTAGE].value).to(equal(@"VEHICLEDATA_BATTVOLTAGE"));
+ expect([SDLVehicleDataType VEHICLEDATA_ENGINETORQUE].value).to(equal(@"VEHICLEDATA_ENGINETORQUE"));
+ expect([SDLVehicleDataType VEHICLEDATA_ACCPEDAL].value).to(equal(@"VEHICLEDATA_ACCPEDAL"));
+ expect([SDLVehicleDataType VEHICLEDATA_STEERINGWHEEL].value).to(equal(@"VEHICLEDATA_STEERINGWHEEL"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_GPS"]).to(equal([SDLVehicleDataType VEHICLEDATA_GPS]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_SPEED"]).to(equal([SDLVehicleDataType VEHICLEDATA_SPEED]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_RPM"]).to(equal([SDLVehicleDataType VEHICLEDATA_RPM]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_FUELLEVEL"]).to(equal([SDLVehicleDataType VEHICLEDATA_FUELLEVEL]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_FUELLEVEL_STATE"]).to(equal([SDLVehicleDataType VEHICLEDATA_FUELLEVEL_STATE]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_FUELCONSUMPTION"]).to(equal([SDLVehicleDataType VEHICLEDATA_FUELCONSUMPTION]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_EXTERNTEMP"]).to(equal([SDLVehicleDataType VEHICLEDATA_EXTERNTEMP]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_VIN"]).to(equal([SDLVehicleDataType VEHICLEDATA_VIN]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_PRNDL"]).to(equal([SDLVehicleDataType VEHICLEDATA_PRNDL]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_TIREPRESSURE"]).to(equal([SDLVehicleDataType VEHICLEDATA_TIREPRESSURE]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_ODOMETER"]).to(equal([SDLVehicleDataType VEHICLEDATA_ODOMETER]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_BELTSTATUS"]).to(equal([SDLVehicleDataType VEHICLEDATA_BELTSTATUS]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_BODYINFO"]).to(equal([SDLVehicleDataType VEHICLEDATA_BODYINFO]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_DEVICESTATUS"]).to(equal([SDLVehicleDataType VEHICLEDATA_DEVICESTATUS]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_ECALLINFO"]).to(equal([SDLVehicleDataType VEHICLEDATA_ECALLINFO]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_AIRBAGSTATUS"]).to(equal([SDLVehicleDataType VEHICLEDATA_AIRBAGSTATUS]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_EMERGENCYEVENT"]).to(equal([SDLVehicleDataType VEHICLEDATA_EMERGENCYEVENT]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_CLUSTERMODESTATUS"]).to(equal([SDLVehicleDataType VEHICLEDATA_CLUSTERMODESTATUS]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_MYKEY"]).to(equal([SDLVehicleDataType VEHICLEDATA_MYKEY]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_BRAKING"]).to(equal([SDLVehicleDataType VEHICLEDATA_BRAKING]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_WIPERSTATUS"]).to(equal([SDLVehicleDataType VEHICLEDATA_WIPERSTATUS]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_HEADLAMPSTATUS"]).to(equal([SDLVehicleDataType VEHICLEDATA_HEADLAMPSTATUS]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_BATTVOLTAGE"]).to(equal([SDLVehicleDataType VEHICLEDATA_BATTVOLTAGE]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_ENGINETORQUE"]).to(equal([SDLVehicleDataType VEHICLEDATA_ENGINETORQUE]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_ACCPEDAL"]).to(equal([SDLVehicleDataType VEHICLEDATA_ACCPEDAL]));
+ expect([SDLVehicleDataType valueOf:@"VEHICLEDATA_STEERINGWHEEL"]).to(equal([SDLVehicleDataType VEHICLEDATA_STEERINGWHEEL]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLVehicleDataType valueOf:nil]).to(beNil());
+ expect([SDLVehicleDataType valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLVehicleDataType values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLVehicleDataType VEHICLEDATA_GPS],
+ [SDLVehicleDataType VEHICLEDATA_SPEED],
+ [SDLVehicleDataType VEHICLEDATA_RPM],
+ [SDLVehicleDataType VEHICLEDATA_FUELLEVEL],
+ [SDLVehicleDataType VEHICLEDATA_FUELLEVEL_STATE],
+ [SDLVehicleDataType VEHICLEDATA_FUELCONSUMPTION],
+ [SDLVehicleDataType VEHICLEDATA_EXTERNTEMP],
+ [SDLVehicleDataType VEHICLEDATA_VIN],
+ [SDLVehicleDataType VEHICLEDATA_PRNDL],
+ [SDLVehicleDataType VEHICLEDATA_TIREPRESSURE],
+ [SDLVehicleDataType VEHICLEDATA_ODOMETER],
+ [SDLVehicleDataType VEHICLEDATA_BELTSTATUS],
+ [SDLVehicleDataType VEHICLEDATA_BODYINFO],
+ [SDLVehicleDataType VEHICLEDATA_DEVICESTATUS],
+ [SDLVehicleDataType VEHICLEDATA_ECALLINFO],
+ [SDLVehicleDataType VEHICLEDATA_AIRBAGSTATUS],
+ [SDLVehicleDataType VEHICLEDATA_EMERGENCYEVENT],
+ [SDLVehicleDataType VEHICLEDATA_CLUSTERMODESTATUS],
+ [SDLVehicleDataType VEHICLEDATA_MYKEY],
+ [SDLVehicleDataType VEHICLEDATA_BRAKING],
+ [SDLVehicleDataType VEHICLEDATA_WIPERSTATUS],
+ [SDLVehicleDataType VEHICLEDATA_HEADLAMPSTATUS],
+ [SDLVehicleDataType VEHICLEDATA_BATTVOLTAGE],
+ [SDLVehicleDataType VEHICLEDATA_ENGINETORQUE],
+ [SDLVehicleDataType VEHICLEDATA_ACCPEDAL],
+ [SDLVehicleDataType VEHICLEDATA_STEERINGWHEEL]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVrCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVrCapabilitiesSpec.m
new file mode 100644
index 000000000..be62ee96a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLVrCapabilitiesSpec.m
@@ -0,0 +1,50 @@
+//
+// SDLVrCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVrCapabilities.h"
+
+QuickSpecBegin(SDLVrCapabilitiesSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLVRCapabilities TEXT].value).to(equal(@"TEXT"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLVRCapabilities valueOf:@"TEXT"]).to(equal([SDLVRCapabilities TEXT]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLVRCapabilities valueOf:nil]).to(beNil());
+ expect([SDLVRCapabilities valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLVRCapabilities values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLVRCapabilities TEXT]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLWarningLightStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLWarningLightStatusSpec.m
new file mode 100644
index 000000000..698116e50
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLWarningLightStatusSpec.m
@@ -0,0 +1,60 @@
+//
+// SDLWarningLightStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLWarningLightStatus.h"
+
+QuickSpecBegin(SDLWarningLightStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLWarningLightStatus OFF].value).to(equal(@"OFF"));
+ expect([SDLWarningLightStatus ON].value).to(equal(@"ON"));
+ expect([SDLWarningLightStatus FLASH].value).to(equal(@"FLASH"));
+ expect([SDLWarningLightStatus NOT_USED].value).to(equal(@"NOT_USED"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLWarningLightStatus valueOf:@"OFF"]).to(equal([SDLWarningLightStatus OFF]));
+ expect([SDLWarningLightStatus valueOf:@"ON"]).to(equal([SDLWarningLightStatus ON]));
+ expect([SDLWarningLightStatus valueOf:@"FLASH"]).to(equal([SDLWarningLightStatus FLASH]));
+ expect([SDLWarningLightStatus valueOf:@"NOT_USED"]).to(equal([SDLWarningLightStatus NOT_USED]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLWarningLightStatus valueOf:nil]).to(beNil());
+ expect([SDLWarningLightStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLWarningLightStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLWarningLightStatus OFF],
+ [SDLWarningLightStatus ON],
+ [SDLWarningLightStatus FLASH],
+ [SDLWarningLightStatus NOT_USED]] copy];
+
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLWiperStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLWiperStatusSpec.m
new file mode 100644
index 000000000..18fbce66c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLWiperStatusSpec.m
@@ -0,0 +1,92 @@
+//
+// SDLWiperStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLWiperStatus.h"
+
+QuickSpecBegin(SDLWiperStatusSpec)
+
+describe(@"Individual Enum Value Tests", ^ {
+ it(@"Should match internal values", ^ {
+ expect([SDLWiperStatus OFF].value).to(equal(@"OFF"));
+ expect([SDLWiperStatus AUTO_OFF].value).to(equal(@"AUTO_OFF"));
+ expect([SDLWiperStatus OFF_MOVING].value).to(equal(@"OFF_MOVING"));
+ expect([SDLWiperStatus MAN_INT_OFF].value).to(equal(@"MAN_INT_OFF"));
+ expect([SDLWiperStatus MAN_INT_ON].value).to(equal(@"MAN_INT_ON"));
+ expect([SDLWiperStatus MAN_LOW].value).to(equal(@"MAN_LOW"));
+ expect([SDLWiperStatus MAN_HIGH].value).to(equal(@"MAN_HIGH"));
+ expect([SDLWiperStatus MAN_FLICK].value).to(equal(@"MAN_FLICK"));
+ expect([SDLWiperStatus WASH].value).to(equal(@"WASH"));
+ expect([SDLWiperStatus AUTO_LOW].value).to(equal(@"AUTO_LOW"));
+ expect([SDLWiperStatus AUTO_HIGH].value).to(equal(@"AUTO_HIGH"));
+ expect([SDLWiperStatus COURTESYWIPE].value).to(equal(@"COURTESYWIPE"));
+ expect([SDLWiperStatus AUTO_ADJUST].value).to(equal(@"AUTO_ADJUST"));
+ expect([SDLWiperStatus STALLED].value).to(equal(@"STALLED"));
+ expect([SDLWiperStatus NO_DATA_EXISTS].value).to(equal(@"NO_DATA_EXISTS"));
+ });
+});
+describe(@"ValueOf Tests", ^ {
+ it(@"Should return correct values when valid", ^ {
+ expect([SDLWiperStatus valueOf:@"OFF"]).to(equal([SDLWiperStatus OFF]));
+ expect([SDLWiperStatus valueOf:@"AUTO_OFF"]).to(equal([SDLWiperStatus AUTO_OFF]));
+ expect([SDLWiperStatus valueOf:@"OFF_MOVING"]).to(equal([SDLWiperStatus OFF_MOVING]));
+ expect([SDLWiperStatus valueOf:@"MAN_INT_OFF"]).to(equal([SDLWiperStatus MAN_INT_OFF]));
+ expect([SDLWiperStatus valueOf:@"MAN_INT_ON"]).to(equal([SDLWiperStatus MAN_INT_ON]));
+ expect([SDLWiperStatus valueOf:@"MAN_LOW"]).to(equal([SDLWiperStatus MAN_LOW]));
+ expect([SDLWiperStatus valueOf:@"MAN_HIGH"]).to(equal([SDLWiperStatus MAN_HIGH]));
+ expect([SDLWiperStatus valueOf:@"MAN_FLICK"]).to(equal([SDLWiperStatus MAN_FLICK]));
+ expect([SDLWiperStatus valueOf:@"WASH"]).to(equal([SDLWiperStatus WASH]));
+ expect([SDLWiperStatus valueOf:@"AUTO_LOW"]).to(equal([SDLWiperStatus AUTO_LOW]));
+ expect([SDLWiperStatus valueOf:@"AUTO_HIGH"]).to(equal([SDLWiperStatus AUTO_HIGH]));
+ expect([SDLWiperStatus valueOf:@"COURTESYWIPE"]).to(equal([SDLWiperStatus COURTESYWIPE]));
+ expect([SDLWiperStatus valueOf:@"AUTO_ADJUST"]).to(equal([SDLWiperStatus AUTO_ADJUST]));
+ expect([SDLWiperStatus valueOf:@"STALLED"]).to(equal([SDLWiperStatus STALLED]));
+ expect([SDLWiperStatus valueOf:@"NO_DATA_EXISTS"]).to(equal([SDLWiperStatus NO_DATA_EXISTS]));
+ });
+
+ it(@"Should return nil when invalid", ^ {
+ expect([SDLWiperStatus valueOf:nil]).to(beNil());
+ expect([SDLWiperStatus valueOf:@"JKUYTFHYTHJGFRFGYTR"]).to(beNil());
+ });
+});
+describe(@"Value List Tests", ^ {
+ NSArray* storedValues = [SDLWiperStatus values];
+ __block NSArray* definedValues;
+ beforeSuite(^ {
+ definedValues = [@[[SDLWiperStatus OFF],
+ [SDLWiperStatus AUTO_OFF],
+ [SDLWiperStatus OFF_MOVING],
+ [SDLWiperStatus MAN_INT_OFF],
+ [SDLWiperStatus MAN_INT_ON],
+ [SDLWiperStatus MAN_LOW],
+ [SDLWiperStatus MAN_HIGH],
+ [SDLWiperStatus MAN_FLICK],
+ [SDLWiperStatus WASH],
+ [SDLWiperStatus AUTO_LOW],
+ [SDLWiperStatus AUTO_HIGH],
+ [SDLWiperStatus COURTESYWIPE],
+ [SDLWiperStatus AUTO_ADJUST],
+ [SDLWiperStatus STALLED],
+ [SDLWiperStatus NO_DATA_EXISTS]] copy];
+ });
+
+ it(@"Should contain all defined enum values", ^ {
+ for (int i = 0; i < definedValues.count; i++) {
+ expect(storedValues).to(contain(definedValues[i]));
+ }
+ });
+
+ it(@"Should contain only defined enum values", ^ {
+ for (int i = 0; i < storedValues.count; i++) {
+ expect(definedValues).to(contain(storedValues[i]));
+ }
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/FactorySpecs/SDLRPCRequestFactorySpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/FactorySpecs/SDLRPCRequestFactorySpec.m
new file mode 100644
index 000000000..d47bd11a1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/FactorySpecs/SDLRPCRequestFactorySpec.m
@@ -0,0 +1,852 @@
+//
+// SmartDeviceLinkTests.m
+// SmartDeviceLinkTests
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SmartDeviceLink.h"
+
+
+QuickSpecBegin(SDLRPCRequestFactorySpec)
+
+describe(@"BuildAddCommand Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLAddCommand* message = [SDLRPCRequestFactory buildAddCommandWithID:@33 menuName:@"Menu" parentID:@4 position:@500
+ vrCommands:nil iconValue:@"No" iconType:[SDLImageType STATIC] correlationID:@94];
+ expect([message menuParams].position).to(equal(@500));
+ expect([message menuParams].menuName).to(equal(@"Menu"));
+ expect([message menuParams].parentID).to(equal(@4));
+ expect([message cmdIcon].value).to(equal(@"No"));
+ expect([message cmdIcon].imageType).to(equal([SDLImageType STATIC]));
+ expect(message.vrCommands).to(beNil());
+ expect(message.cmdID).to(equal(@33));
+ expect(message.correlationID).to(equal(@94));
+
+ NSArray* aliases = @[@"Joe1", @"Joe2", @"Joe3",
+ @"--------------------------------ASLONGOFASTRINGASICANPOSSIBLYMAKEINASINGLELINE---------------------------------"];
+ message = [SDLRPCRequestFactory buildAddCommandWithID:@276 menuName:@"Arbitrary" vrCommands:aliases correlationID:@200];
+
+ expect([message menuParams].position).to(beNil());
+ expect([message menuParams].menuName).to(equal(@"Arbitrary"));
+ expect([message menuParams].parentID).to(beNil());
+ expect(message.vrCommands).to(equal(aliases));
+ expect(message.cmdIcon).to(beNil());
+ expect(message.cmdID).to(equal(@276));
+ expect(message.correlationID).to(equal(@200));
+
+ message = [SDLRPCRequestFactory buildAddCommandWithID:@9001 vrCommands:@[@" ", @" ", @" ", @""] correlationID:@27];
+
+ expect(message.menuParams).to(beNil());
+ expect(message.vrCommands).to(equal(@[@" ", @" ", @" ", @""]));
+ expect(message.cmdIcon).to(beNil());
+ expect(message.cmdID).to(equal(@9001));
+ expect(message.correlationID).to(equal(@27));
+ });
+});
+
+describe(@"BuildAddSubMenu Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLAddSubMenu* message = [SDLRPCRequestFactory buildAddSubMenuWithID:@234234 menuName:@"QWERTY" position:@3 correlationID:@13];
+
+ expect(message.menuName).to(equal(@"QWERTY"));
+ expect(message.position).to(equal(@3));
+ expect(message.menuID).to(equal(@234234));
+ expect(message.correlationID).to(equal(@13));
+
+ message = [SDLRPCRequestFactory buildAddSubMenuWithID:@444 menuName:@"Words" correlationID:@423];
+
+ expect(message.menuName).to(equal(@"Words"));
+ expect(message.position).to(beNil());
+ expect(message.menuID).to(equal(@444));
+ expect(message.correlationID).to(equal(@423));
+ });
+});
+
+describe(@"BuildAlert Tests", ^ {
+ context(@"With Text", ^ {
+ it(@"Should build correctly", ^ {
+ NSArray* softButtons = @[[[SDLSoftButton alloc] init]];
+ SDLAlert* message = [SDLRPCRequestFactory buildAlertWithAlertText1:@"String1" alertText2:@"String2" alertText3:@"String3"
+ duration:@9999 softButtons:softButtons correlationID:@41];
+
+ expect(message.alertText1).to(equal(@"String1"));
+ expect(message.alertText2).to(equal(@"String2"));
+ expect(message.alertText3).to(equal(@"String3"));
+ expect(message.ttsChunks).to(beNil());
+ expect(message.duration).to(equal(@9999));
+ expect(message.playTone).to(beNil());
+ expect(message.progressIndicator).to(beNil());
+ expect(message.softButtons).to(equal(softButtons));
+ expect(message.correlationID).to(equal(@41));
+
+ message = [SDLRPCRequestFactory buildAlertWithAlertText1:@"Alarming" alertText2:@"Astonishing" alertText3:@"Attention"
+ duration:@3000 correlationID:@11234];
+
+ expect(message.alertText1).to(equal(@"Alarming"));
+ expect(message.alertText2).to(equal(@"Astonishing"));
+ expect(message.alertText3).to(equal(@"Attention"));
+ expect(message.ttsChunks).to(beNil());
+ expect(message.duration).to(equal(@3000));
+ expect(message.playTone).to(beNil());
+ expect(message.progressIndicator).to(beNil());
+ expect(message.softButtons).to(beNil());
+ expect(message.correlationID).to(equal(@11234));
+
+ message = [SDLRPCRequestFactory buildAlertWithAlertText1:@"1" alertText2:@"2" duration:@4153 correlationID:@1432143];
+
+ expect(message.alertText1).to(equal(@"1"));
+ expect(message.alertText2).to(equal(@"2"));
+ expect(message.alertText3).to(beNil());
+ expect(message.ttsChunks).to(beNil());
+ expect(message.duration).to(equal(@4153));
+ expect(message.playTone).to(beNil());
+ expect(message.progressIndicator).to(beNil());
+ expect(message.softButtons).to(beNil());
+ expect(message.correlationID).to(equal(@1432143));
+ });
+ });
+
+ context(@"With TTS", ^ {
+ it(@"Should build correctly", ^ {
+ SDLAlert* message = [SDLRPCRequestFactory buildAlertWithTTS:@"Wat" alertText1:@"11" alertText2:@"12" alertText3:@"13"
+ playTone:@NO duration:@3424 correlationID:@9999999];
+
+ expect(message.alertText1).to(equal(@"11"));
+ expect(message.alertText2).to(equal(@"12"));
+ expect(message.alertText3).to(equal(@"13"));
+ expect(((SDLTTSChunk*)[message ttsChunks][0]).text).to(equal(@"Wat"));
+ expect(message.duration).to(equal(@3424));
+ expect(message.playTone).to(equal(@NO));
+ expect(message.progressIndicator).to(beNil());
+ expect(message.softButtons).to(beNil());
+ expect(message.correlationID).to(equal(@9999999));
+
+ message = [SDLRPCRequestFactory buildAlertWithTTS:@"Say This" alertText1:@"hgkj" alertText2:@"bgydhgfc"
+ playTone:@YES duration:@6546 correlationID:@65436786];
+
+ expect(message.alertText1).to(equal(@"hgkj"));
+ expect(message.alertText2).to(equal(@"bgydhgfc"));
+ expect(message.alertText3).to(beNil());
+ expect(((SDLTTSChunk*)[message ttsChunks][0]).text).to(equal(@"Say This"));
+ expect(message.duration).to(equal(@6546));
+ expect(message.playTone).to(equal(@YES));
+ expect(message.progressIndicator).to(beNil());
+ expect(message.softButtons).to(beNil());
+ expect(message.correlationID).to(equal(@65436786));
+
+ message = [SDLRPCRequestFactory buildAlertWithTTS:@"Surprise" playTone:@YES correlationID:@34];
+
+ expect(message.alertText1).to(beNil());
+ expect(message.alertText2).to(beNil());
+ expect(message.alertText3).to(beNil());
+ expect(((SDLTTSChunk*)[message ttsChunks][0]).text).to(equal(@"Surprise"));
+ expect(message.duration).to(beNil());
+ expect(message.playTone).to(equal(@YES));
+ expect(message.progressIndicator).to(beNil());
+ expect(message.softButtons).to(beNil());
+ expect(message.correlationID).to(equal(@34));
+ });
+ });
+
+ context(@"With TTSChunks", ^ {
+ it(@"Should build correctly", ^ {
+ NSArray* softButtons = @[[[SDLSoftButton alloc] init]];
+ NSArray* ttsChunks = @[[[SDLTTSChunk alloc] init]];
+ SDLAlert* message = [SDLRPCRequestFactory buildAlertWithTTSChunks:ttsChunks alertText1:@"Astonish" alertText2:@"Hi" alertText3:@"Alert"
+ playTone:@NO duration:@4145 softButtons:softButtons correlationID:@19];
+
+ expect(message.alertText1).to(equal(@"Astonish"));
+ expect(message.alertText2).to(equal(@"Hi"));
+ expect(message.alertText3).to(equal(@"Alert"));
+ expect(message.ttsChunks).to(equal(ttsChunks));
+ expect(message.duration).to(equal(@4145));
+ expect(message.playTone).to(equal(@NO));
+ expect(message.progressIndicator).to(beNil());
+ expect(message.softButtons).to(equal(softButtons));
+ expect(message.correlationID).to(equal(@19));
+
+ message = [SDLRPCRequestFactory buildAlertWithTTSChunks:ttsChunks playTone:@YES correlationID:@1234321];
+
+ expect(message.alertText1).to(beNil());
+ expect(message.alertText2).to(beNil());
+ expect(message.alertText3).to(beNil());
+ expect(message.ttsChunks).to(equal(ttsChunks));
+ expect(message.duration).to(beNil());
+ expect(message.playTone).to(equal(@YES));
+ expect(message.progressIndicator).to(beNil());
+ expect(message.softButtons).to(beNil());
+ expect(message.correlationID).to(equal(@1234321));
+ });
+ });
+});
+
+describe(@"BuildChangeRegistration Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLChangeRegistration* message = [SDLRPCRequestFactory buildChangeRegistrationWithLanguage:[SDLLanguage EN_GB] hmiDisplayLanguage:[SDLLanguage DE_DE] correlationID:@22336644];
+
+ expect(message.language).to(equal([SDLLanguage EN_GB]));
+ expect(message.hmiDisplayLanguage).to(equal([SDLLanguage DE_DE]));
+ expect(message.correlationID).to(equal(@22336644));
+ });
+});
+
+describe(@"BuildCreateInteractionChoiceSet Tests", ^ {
+ it(@"Should build correctly", ^ {
+ NSArray* choices = @[[[SDLChoice alloc] init]];
+ SDLCreateInteractionChoiceSet* message = [SDLRPCRequestFactory buildCreateInteractionChoiceSetWithID:@4567654 choiceSet:choices correlationID:@0];
+
+ expect(message.interactionChoiceSetID).to(equal(@4567654));
+ expect(message.choiceSet).to(equal(choices));
+ expect(message.correlationID).to(equal(@0));
+ });
+});
+
+describe(@"BuildDeleteCommand Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLDeleteCommand* message = [SDLRPCRequestFactory buildDeleteCommandWithID:@2 correlationID:@234];
+
+ expect(message.cmdID).to(equal(@2));
+ expect(message.correlationID).to(equal(@234));
+ });
+});
+
+describe(@"BuildDeleteFile Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLDeleteFile* message = [SDLRPCRequestFactory buildDeleteFileWithName:@"CRITICAL_FILE" correlationID:@4930];
+
+ expect(message.syncFileName).to(equal(@"CRITICAL_FILE"));
+ expect(message.correlationID).to(equal(@4930));
+ });
+});
+
+describe(@"BuildListFiles Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLListFiles* message = [SDLRPCRequestFactory buildListFilesWithCorrelationID:@13123];
+
+ expect(message.correlationID).to(equal(@13123));
+ });
+});
+
+describe(@"BuildDeleteInteractionChoiceSet Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLDeleteInteractionChoiceSet* message = [SDLRPCRequestFactory buildDeleteInteractionChoiceSetWithID:@46765426 correlationID:@46765426];
+
+ expect(message.interactionChoiceSetID).to(equal(@46765426));
+ expect(message.correlationID).to(equal(@46765426));
+ });
+});
+
+describe(@"BuildDeleteSubMenu Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLDeleteSubMenu* message = [SDLRPCRequestFactory buildDeleteSubMenuWithID:@3515 correlationID:@5153];
+
+ expect(message.menuID).to(equal(@3515));
+ expect(message.correlationID).to(equal(@5153));
+ });
+});
+
+describe(@"BuildDialNumber", ^{
+ __block SDLDialNumber *message = nil;
+ __block NSString *someNumberString = nil;
+
+ describe(@"when built correctly", ^{
+ beforeEach(^{
+ someNumberString = @"1234567890";
+ message = [SDLRPCRequestFactory buildDialNumberWithNumber:someNumberString];
+ });
+
+ it(@"should not be nil", ^{
+ expect(message).toNot(beNil());
+ });
+
+ it(@"should have number set properly", ^{
+ expect(message.number).to(equal(someNumberString));
+ });
+ });
+});
+
+describe(@"BuildEndAudioPassThru Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLEndAudioPassThru* message = [SDLRPCRequestFactory buildEndAudioPassThruWithCorrelationID:@13123];
+
+ expect(message.correlationID).to(equal(@13123));
+ });
+});
+
+describe(@"BuildGetDTCs Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLGetDTCs* message = [SDLRPCRequestFactory buildGetDTCsWithECUName:@255 correlationID:@60806050];
+
+ expect(message.ecuName).to(equal(@255));
+ expect(message.dtcMask).to(beNil());
+ expect(message.correlationID).to(equal(@60806050));
+ });
+});
+
+describe(@"BuildGetVehicleData Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLGetVehicleData* message = [SDLRPCRequestFactory buildGetVehicleDataWithGPS:@YES speed:@NO rpm:@NO
+ fuelLevel:@YES fuelLevelState:@YES instantFuelConsumption:@NO
+ externalTemperature:@YES vin:@YES prndl:@YES
+ tirePressure:@NO odometer:@NO beltStatus:@NO
+ bodyInformation:@YES deviceStatus:@NO driverBraking:@NO
+ wiperStatus:@NO headLampStatus:@YES engineTorque:@YES
+ accPedalPosition:@NO steeringWheelAngle:@YES correlationID:@936];
+
+ expect(message.gps).to(equal(@YES));
+ expect(message.speed).to(equal(@NO));
+ expect(message.rpm).to(equal(@NO));
+ expect(message.fuelLevel).to(equal(@YES));
+ expect(message.fuelLevel_State).to(equal(@YES));
+ expect(message.instantFuelConsumption).to(equal(@NO));
+ expect(message.externalTemperature).to(equal(@YES));
+ expect(message.vin).to(equal(@YES));
+ expect(message.prndl).to(equal(@YES));
+ expect(message.tirePressure).to(equal(@NO));
+ expect(message.odometer).to(equal(@NO));
+ expect(message.beltStatus).to(equal(@NO));
+ expect(message.bodyInformation).to(equal(@YES));
+ expect(message.deviceStatus).to(equal(@NO));
+ expect(message.driverBraking).to(equal(@NO));
+ expect(message.wiperStatus).to(equal(@NO));
+ expect(message.headLampStatus).to(equal(@YES));
+ expect(message.engineTorque).to(equal(@YES));
+ expect(message.accPedalPosition).to(equal(@NO));
+ expect(message.steeringWheelAngle).to(equal(@YES));
+ expect(message.eCallInfo).to(beNil());
+ expect(message.airbagStatus).to(beNil());
+ expect(message.emergencyEvent).to(beNil());
+ expect(message.clusterModeStatus).to(beNil());
+ expect(message.myKey).to(beNil());
+ expect(message.correlationID).to(equal(@936));
+ });
+});
+
+describe(@"BuildPerformAudioPassThru Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLPerformAudioPassThru* message = [SDLRPCRequestFactory buildPerformAudioPassThruWithInitialPrompt:@"" audioPassThruDisplayText1:@"Display1" audioPassThruDisplayText2:@"Display2"
+ samplingRate:[SDLSamplingRate _44KHZ] maxDuration:@10 bitsPerSample:[SDLBitsPerSample _16_BIT] audioType:[SDLAudioType PCM]
+ muteAudio:@NO correlationID:@2500];
+
+ expect(((SDLTTSChunk*)[message initialPrompt][0]).text).to(equal(@""));
+ expect(message.audioPassThruDisplayText1).to(equal(@"Display1"));
+ expect(message.audioPassThruDisplayText2).to(equal(@"Display2"));
+ expect(message.samplingRate).to(equal([SDLSamplingRate _44KHZ]));
+ expect(message.maxDuration).to(equal(@10));
+ expect(message.bitsPerSample).to(equal([SDLBitsPerSample _16_BIT]));
+ expect(message.audioType).to(equal([SDLAudioType PCM]));
+ expect(message.muteAudio).to(equal(@NO));
+ expect(message.correlationID).to(equal(@2500));
+ });
+});
+
+describe(@"BuildPerformInteraction Tests", ^ {
+ context(@"With Initial Chunks", ^ {
+ it(@"Should build correctly", ^ {
+ NSArray* initialChunks = @[[[SDLTTSChunk alloc] init]];
+ NSArray* helpChunks = @[[[SDLTTSChunk alloc] init]];
+ NSArray* timeoutChunks = @[[[SDLTTSChunk alloc] init]];
+ NSArray* vrHelp = @[[[SDLVRHelpItem alloc] init]];
+ SDLPerformInteraction* message = [SDLRPCRequestFactory buildPerformInteractionWithInitialChunks:initialChunks initialText:@"Start" interactionChoiceSetIDList:@[@878]
+ helpChunks:helpChunks timeoutChunks:timeoutChunks interactionMode:[SDLInteractionMode MANUAL_ONLY] timeout:@7500
+ vrHelp:vrHelp correlationID:@272727];
+
+ expect(message.initialPrompt).to(equal(initialChunks));
+ expect(message.initialText).to(equal(@"Start"));
+ expect(message.interactionChoiceSetIDList).to(equal(@[@878]));
+ expect(message.helpPrompt).to(equal(helpChunks));
+ expect(message.timeoutPrompt).to(equal(timeoutChunks));
+ expect(message.interactionMode).to(equal([SDLInteractionMode MANUAL_ONLY]));
+ expect(message.timeout).to(equal(@7500));
+ expect(message.vrHelp).to(equal(vrHelp));
+ expect(message.interactionLayout).to(beNil());
+ expect(message.correlationID).to(equal(@272727));
+ });
+ });
+
+ context(@"With Initial Prompt", ^ {
+ it(@"Should build correctly", ^ {
+ NSArray* vrHelp = @[[[SDLVRHelpItem alloc] init]];
+ SDLPerformInteraction* message = [SDLRPCRequestFactory buildPerformInteractionWithInitialPrompt:@"Nothing" initialText:@"Still Nothing" interactionChoiceSetIDList:@[@4223, @1337]
+ helpPrompt:@"A Whole Lot of Nothing" timeoutPrompt:@"Time Remaining" interactionMode:[SDLInteractionMode VR_ONLY]
+ timeout:@5600 vrHelp:vrHelp correlationID:@31564];
+
+ expect(((SDLTTSChunk*)[message initialPrompt][0]).text).to(equal(@"Nothing"));
+ expect(message.initialText).to(equal(@"Still Nothing"));
+ expect(message.interactionChoiceSetIDList).to(equal(@[@4223, @1337]));
+ expect(((SDLTTSChunk*)[message helpPrompt][0]).text).to(equal(@"A Whole Lot of Nothing"));
+ expect(((SDLTTSChunk*)[message timeoutPrompt][0]).text).to(equal(@"Time Remaining"));
+ expect(message.interactionMode).to(equal([SDLInteractionMode VR_ONLY]));
+ expect(message.timeout).to(equal(@5600));
+ expect(message.vrHelp).to(equal(vrHelp));
+ expect(message.interactionLayout).to(beNil());
+ expect(message.correlationID).to(equal(@31564));
+
+ message = [SDLRPCRequestFactory buildPerformInteractionWithInitialPrompt:@"A" initialText:@"B" interactionChoiceSetIDList:@[@1, @2, @3, @4] helpPrompt:@"C" timeoutPrompt:@"D"
+ interactionMode:[SDLInteractionMode BOTH] timeout:@10000 correlationID:@7734];
+
+ expect(((SDLTTSChunk*)[message initialPrompt][0]).text).to(equal(@"A"));
+ expect(message.initialText).to(equal(@"B"));
+ expect(message.interactionChoiceSetIDList).to(equal(@[@1, @2, @3, @4]));
+ expect(((SDLTTSChunk*)[message helpPrompt][0]).text).to(equal(@"C"));
+ expect(((SDLTTSChunk*)[message timeoutPrompt][0]).text).to(equal(@"D"));
+ expect(message.interactionMode).to(equal([SDLInteractionMode BOTH]));
+ expect(message.timeout).to(equal(@10000));
+ expect(message.vrHelp).to(beNil());
+ expect(message.interactionLayout).to(beNil());
+ expect(message.correlationID).to(equal(@7734));
+
+ message = [SDLRPCRequestFactory buildPerformInteractionWithInitialPrompt:@"Initializing" initialText:@"Initialized" interactionChoiceSetID:@1456 vrHelp:vrHelp correlationID:@7056704];
+
+ expect(((SDLTTSChunk*)[message initialPrompt][0]).text).to(equal(@"Initializing"));
+ expect(message.initialText).to(equal(@"Initialized"));
+ expect(message.interactionChoiceSetIDList).to(equal(@[@1456]));
+ expect(message.helpPrompt).to(beNil());
+ expect(message.timeoutPrompt).to(beNil());
+ //Don't know whether the reason for this failure is a bug...
+ expect(message.interactionMode).to(equal([SDLInteractionMode BOTH]));
+ expect(message.timeout).to(beNil());
+ expect(message.vrHelp).to(equal(vrHelp));
+ expect(message.interactionLayout).to(beNil());
+ expect(message.correlationID).to(equal(@7056704));
+
+ message = [SDLRPCRequestFactory buildPerformInteractionWithInitialPrompt:@"#$%@" initialText:@"!%%&&^$" interactionChoiceSetID:@105503 correlationID:@1454156465];
+
+ expect(((SDLTTSChunk*)[message initialPrompt][0]).text).to(equal(@"#$%@"));
+ expect(message.initialText).to(equal(@"!%%&&^$"));
+ expect(message.interactionChoiceSetIDList).to(equal(@[@105503]));
+ expect(message.helpPrompt).to(beNil());
+ expect(message.timeoutPrompt).to(beNil());
+ expect(message.interactionMode).to(equal([SDLInteractionMode BOTH]));
+ expect(message.timeout).to(beNil());
+ expect(message.vrHelp).to(beNil());
+ expect(message.interactionLayout).to(beNil());
+ expect(message.correlationID).to(equal(@1454156465));
+ });
+ });
+});
+
+describe(@"BuildPutFile Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLPutFile *message = [SDLRPCRequestFactory buildPutFileWithFileName:@"YES!?" fileType:[SDLFileType GRAPHIC_BMP] persistentFile:@165636 correlationId:@147986];
+
+ expect(message.syncFileName).to(equal(@"YES!?"));
+ expect(message.fileType).to(equal([SDLFileType GRAPHIC_BMP]));
+ expect(message.persistentFile).to(equal(@165636));
+ expect(message.correlationID).to(equal(@147986));
+ });
+});
+
+describe(@"BuildReadDID Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLReadDID* message = [SDLRPCRequestFactory buildReadDIDWithECUName:@12500 didLocation:@[@1, @5, @10, @10, @5, @1] correlationID:@6465678];
+
+ expect(message.ecuName).to(equal(@12500));
+ expect(message.didLocation).to(equal(@[@1, @5, @10, @10, @5, @1]));
+ expect(message.correlationID).to(equal(@6465678));
+ });
+});
+
+describe(@"BuildRegisterAppInterface Tests", ^ {
+ it(@"Should build correctly", ^ {
+ NSMutableArray *ttsName = [NSMutableArray arrayWithArray:@[[[SDLTTSChunk alloc] init]]];
+ NSMutableArray *synonyms = [NSMutableArray arrayWithArray:@[@"Q", @"W", @"E", @"R"]];
+ SDLRegisterAppInterface* message = [SDLRPCRequestFactory buildRegisterAppInterfaceWithAppName:@"Interface" ttsName:ttsName vrSynonyms:synonyms
+ isMediaApp:@YES languageDesired:[SDLLanguage EN_US]
+ hmiDisplayLanguageDesired:[SDLLanguage ES_MX] appID:@"6h43g"];
+
+ expect(message.syncMsgVersion).to(beNil());
+ expect(message.appName).to(equal(@"Interface"));
+ expect(message.ttsName).to(equal(ttsName));
+ expect(message.ngnMediaScreenAppName).to(equal(@"Interface"));
+ expect(message.vrSynonyms).to(equal(@[@"Q", @"W", @"E", @"R"]));
+ expect(message.isMediaApplication).to(equal(@YES));
+ expect(message.languageDesired).to(equal([SDLLanguage EN_US]));
+ expect(message.hmiDisplayLanguageDesired).to(equal([SDLLanguage ES_MX]));
+ expect(message.appHMIType).to(beNil());
+ expect(message.hashID).to(beNil());
+ expect(message.deviceInfo).to(beNil());
+ expect(message.appID).to(equal(@"6h43g"));
+ expect(message.correlationID).to(equal(@1));
+
+ message = [SDLRPCRequestFactory buildRegisterAppInterfaceWithAppName:@"Register App Interface" isMediaApp:@NO languageDesired:[SDLLanguage PT_BR] appID:@"36g6rsw4"];
+
+ expect(message.syncMsgVersion).to(beNil());
+ expect(message.appName).to(equal(@"Register App Interface"));
+ expect(message.ttsName).to(beNil());
+ expect(message.ngnMediaScreenAppName).to(equal(@"Register App Interface"));
+ expect(message.vrSynonyms).to(equal(@[@"Register App Interface"]));
+ expect(message.isMediaApplication).to(equal(@NO));
+ expect(message.languageDesired).to(equal([SDLLanguage PT_BR]));
+ expect(message.hmiDisplayLanguageDesired).to(equal([SDLLanguage PT_BR]));
+ expect(message.appHMIType).to(beNil());
+ expect(message.hashID).to(beNil());
+ expect(message.deviceInfo).to(beNil());
+ expect(message.appID).to(equal(@"36g6rsw4"));
+ expect(message.correlationID).to(equal(@1));
+
+ message = [SDLRPCRequestFactory buildRegisterAppInterfaceWithAppName:@"..." languageDesired:[SDLLanguage CS_CZ] appID:@"56ht5j"];
+
+ expect(message.syncMsgVersion).to(beNil());
+ expect(message.appName).to(equal(@"..."));
+ expect(message.ttsName).to(beNil());
+ expect(message.ngnMediaScreenAppName).to(equal(@"..."));
+ expect(message.vrSynonyms).to(equal(@[@"..."]));
+ expect(message.isMediaApplication).to(equal(@NO));
+ expect(message.languageDesired).to(equal([SDLLanguage CS_CZ]));
+ expect(message.hmiDisplayLanguageDesired).to(equal([SDLLanguage CS_CZ]));
+ expect(message.appHMIType).to(beNil());
+ expect(message.hashID).to(beNil());
+ expect(message.deviceInfo).to(beNil());
+ expect(message.appID).to(equal(@"56ht5j"));
+ expect(message.correlationID).to(equal(@1));
+ });
+});
+
+describe(@"BuildResetGlobalProperties Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLResetGlobalProperties* message = [SDLRPCRequestFactory buildResetGlobalPropertiesWithProperties:@[[SDLGlobalProperty MENUNAME], [SDLGlobalProperty TIMEOUTPROMPT]]
+ correlationID:@906842];
+
+ expect(message.properties).to(equal(@[[SDLGlobalProperty MENUNAME], [SDLGlobalProperty TIMEOUTPROMPT]]));
+ expect(message.correlationID).to(equal(@906842));
+ });
+});
+
+describe(@"BuildSendLocation", ^{
+ __block SDLSendLocation *message = nil;
+ __block NSNumber *someLongitude = nil;
+ __block NSNumber *someLatitude = nil;
+ __block NSString *someLocation = nil;
+ __block NSString *someLocationDescription = nil;
+ __block NSArray *someAddressLines = nil;
+ __block NSString *somePhoneNumber = nil;
+ __block SDLImage *someImage = nil;
+
+ describe(@"when built correctly", ^{
+ beforeEach(^{
+ someLongitude = @123.4567;
+ someLatitude = @65.4321;
+ someLocation = @"Livio";
+ someLocationDescription = @"A great place to work";
+ someAddressLines = @[@"3136 Hilton Rd", @"Ferndale, MI", @"48220"];
+ somePhoneNumber = @"248-591-0333";
+ someImage = [[SDLImage alloc] init];
+
+ message = [SDLRPCRequestFactory buildSendLocationWithLongitude:someLongitude latitude:someLatitude locationName:someLocation locationDescription:someLocationDescription address:someAddressLines phoneNumber:somePhoneNumber image:someImage];
+ });
+
+ it(@"should not be nil", ^{
+ expect(message).toNot(beNil());
+ });
+
+ it(@"should properly set longitude", ^{
+ expect(message.longitudeDegrees).to(equal(someLongitude));
+ });
+
+ it(@"should properly set latitude", ^{
+ expect(message.latitudeDegrees).to(equal(someLatitude));
+ });
+
+ it(@"should properly set location", ^{
+ expect(message.locationName).to(equal(someLocation));
+ });
+
+ it(@"should properly set location description", ^{
+ expect(message.locationDescription).to(equal(someLocationDescription));
+ });
+
+ it(@"should properly set address lines", ^{
+ expect(message.addressLines).to(equal(someAddressLines));
+ });
+
+ it(@"should properly set phone number", ^{
+ expect(message.phoneNumber).to(equal(somePhoneNumber));
+ });
+
+ it(@"should properly set image", ^{
+ expect(message.locationImage).to(equal(someImage));
+ });
+ });
+});
+
+describe(@"BuildScrollableMessage Tests", ^ {
+ it(@"Should build correctly", ^ {
+ NSArray* softButtons = @[[[SDLSoftButton alloc] init]];
+ SDLScrollableMessage* message = [SDLRPCRequestFactory buildScrollableMessage:@"Message Box" timeout:@37821 softButtons:softButtons correlationID:@9783356];
+
+ expect(message.scrollableMessageBody).to(equal(@"Message Box"));
+ expect(message.timeout).to(equal(@37821));
+ expect(message.softButtons).to(equal(softButtons));
+ expect(message.correlationID).to(equal(@9783356));
+ });
+});
+
+describe(@"BuildSetAppIcon Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLSetAppIcon* message = [SDLRPCRequestFactory buildSetAppIconWithFileName:@"Iconic" correlationID:@465819];
+
+ expect(message.syncFileName).to(equal(@"Iconic"));
+ expect(message.correlationID).to(equal(@465819));
+ });
+});
+
+describe(@"BuildSetDisplayLayout Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLSetDisplayLayout* message = [SDLRPCRequestFactory buildSetDisplayLayout:@"NONE" correlationID:@467926];
+
+ expect(message.displayLayout).to(equal(@"NONE"));
+ expect(message.correlationID).to(equal(@467926));
+ });
+});
+
+describe(@"BuildSetGlobalProperties Tests", ^ {
+ it(@"Should build correctly", ^ {
+ NSArray* help = @[[[SDLVRHelpItem alloc] init]];
+ SDLSetGlobalProperties* message = [SDLRPCRequestFactory buildSetGlobalPropertiesWithHelpText:@"Beyond Help" timeoutText:@"You took too long" vrHelpTitle:@"Voice"
+ vrHelp:help correlationID:@5666666];
+
+ expect(((SDLTTSChunk*)[message helpPrompt][0]).text).to(equal(@"Beyond Help"));
+ expect(((SDLTTSChunk*)[message timeoutPrompt][0]).text).to(equal(@"You took too long"));
+ expect(message.vrHelpTitle).to(equal(@"Voice"));
+ expect(message.vrHelp).to(equal(help));
+ expect(message.menuTitle).to(beNil());
+ expect(message.menuIcon).to(beNil());
+ expect(message.keyboardProperties).to(beNil());
+ expect(message.correlationID).to(equal(@5666666));
+
+ message = [SDLRPCRequestFactory buildSetGlobalPropertiesWithHelpText:@"Helpful" timeoutText:@"Timed Out" correlationID:@10010100];
+
+ expect(((SDLTTSChunk*)[message helpPrompt][0]).text).to(equal(@"Helpful"));
+ expect(((SDLTTSChunk*)[message timeoutPrompt][0]).text).to(equal(@"Timed Out"));
+ expect(message.vrHelpTitle).to(beNil());
+ expect(message.vrHelp).to(beNil());
+ expect(message.menuTitle).to(beNil());
+ expect(message.menuIcon).to(beNil());
+ expect(message.keyboardProperties).to(beNil());
+ expect(message.correlationID).to(equal(@10010100));
+ });
+});
+
+describe(@"BuildSetMediaClockTimer Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLSetMediaClockTimer* message = [SDLRPCRequestFactory buildSetMediaClockTimerWithHours:@15 minutes:@36 seconds:@11 updateMode:[SDLUpdateMode COUNTDOWN] correlationID:@404];
+
+ expect([message startTime].hours).to(equal(@15));
+ expect([message startTime].minutes).to(equal(@36));
+ expect([message startTime].seconds).to(equal(@11));
+ expect(message.endTime).to(beNil());
+ expect(message.updateMode).to(equal([SDLUpdateMode COUNTDOWN]));
+ expect(message.correlationID).to(equal(@404));
+
+ message = [SDLRPCRequestFactory buildSetMediaClockTimerWithUpdateMode:[SDLUpdateMode RESUME] correlationID:@11213141];
+
+ expect(message.startTime).to(beNil());
+ expect(message.endTime).to(beNil());
+ expect(message.updateMode).to(equal([SDLUpdateMode RESUME]));
+ expect(message.correlationID).to(equal(@11213141));
+ });
+});
+
+describe(@"BuildShow Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLImage* image = [[SDLImage alloc] init];
+ NSArray* softButtons = @[[[SDLSoftButton alloc] init]];
+ SDLShow* message = [SDLRPCRequestFactory buildShowWithMainField1:@"11" mainField2:@"22" mainField3:@"33" mainField4:@"44" statusBar:@"Bar" mediaClock:@"Time" mediaTrack:@"Crucial Line"
+ alignment:[SDLTextAlignment CENTERED] graphic:image softButtons:softButtons customPresets:@[@"w", @"x", @"y", @"z"] correlationID:@3432343];
+
+ expect(message.mainField1).to(equal(@"11"));
+ expect(message.mainField2).to(equal(@"22"));
+ expect(message.mainField3).to(equal(@"33"));
+ expect(message.mainField4).to(equal(@"44"));
+ expect(message.statusBar).to(equal(@"Bar"));
+ expect(message.mediaClock).to(equal(@"Time"));
+ expect(message.mediaTrack).to(equal(@"Crucial Line"));
+ expect(message.alignment).to(equal([SDLTextAlignment CENTERED]));
+ expect(message.graphic).to(equal(image));
+ expect(message.secondaryGraphic).to(beNil());
+ expect(message.softButtons).to(equal(softButtons));
+ expect(message.customPresets).to(equal(@[@"w", @"x", @"y", @"z"]));
+ expect(message.correlationID).to(equal(@3432343));
+
+ message = [SDLRPCRequestFactory buildShowWithMainField1:@"A" mainField2:@"S" statusBar:@"D" mediaClock:@"F" mediaTrack:@"G" alignment:[SDLTextAlignment RIGHT_ALIGNED] correlationID:@999];
+
+ expect(message.mainField1).to(equal(@"A"));
+ expect(message.mainField2).to(equal(@"S"));
+ expect(message.mainField3).to(beNil());
+ expect(message.mainField4).to(beNil());
+ expect(message.statusBar).to(equal(@"D"));
+ expect(message.mediaClock).to(equal(@"F"));
+ expect(message.mediaTrack).to(equal(@"G"));
+ expect(message.alignment).to(equal([SDLTextAlignment RIGHT_ALIGNED]));
+ expect(message.graphic).to(beNil());
+ expect(message.secondaryGraphic).to(beNil());
+ expect(message.softButtons).to(beNil());
+ expect(message.customPresets).to(beNil());
+ expect(message.correlationID).to(equal(@999));
+
+ message = [SDLRPCRequestFactory buildShowWithMainField1:@"Hello" mainField2:@"World" alignment:[SDLTextAlignment LEFT_ALIGNED] correlationID:@38792607];
+
+ expect(message.mainField1).to(equal(@"Hello"));
+ expect(message.mainField2).to(equal(@"World"));
+ expect(message.mainField3).to(beNil());
+ expect(message.mainField4).to(beNil());
+ expect(message.statusBar).to(beNil());
+ expect(message.mediaClock).to(beNil());
+ expect(message.mediaTrack).to(beNil());
+ expect(message.alignment).to(equal([SDLTextAlignment LEFT_ALIGNED]));
+ expect(message.graphic).to(beNil());
+ expect(message.secondaryGraphic).to(beNil());
+ expect(message.softButtons).to(beNil());
+ expect(message.customPresets).to(beNil());
+ expect(message.correlationID).to(equal(@38792607));
+ });
+});
+
+describe(@"BuildSlider Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLSlider* message = [SDLRPCRequestFactory buildSliderDynamicFooterWithNumTicks:@3 position:@2 sliderHeader:@"HEAD" sliderFooter:@[@"FOOT1", @"FOOT2", @"FOOT3"] timeout:@32321
+ correlationID:@200];
+
+ expect(message.numTicks).to(equal(@3));
+ expect(message.position).to(equal(@2));
+ expect(message.sliderHeader).to(equal(@"HEAD"));
+ expect(message.sliderFooter).to(equal(@[@"FOOT1", @"FOOT2", @"FOOT3"]));
+ expect(message.timeout).to(equal(@32321));
+ expect(message.correlationID).to(equal(@200));
+
+ message = [SDLRPCRequestFactory buildSliderStaticFooterWithNumTicks:@4 position:@2 sliderHeader:@"UP" sliderFooter:@"DOWN" timeout:@65535 correlationID:@1024];
+
+ expect(message.numTicks).to(equal(@4));
+ expect(message.position).to(equal(@2));
+ expect(message.sliderHeader).to(equal(@"UP"));
+ expect(message.sliderFooter).to(equal(@[@"DOWN", @"DOWN", @"DOWN", @"DOWN"]));
+ expect(message.timeout).to(equal(@65535));
+ expect(message.correlationID).to(equal(@1024));
+ });
+});
+
+describe(@"BuildSpeak Tests", ^ {
+ it(@"Should build correctly", ^ {
+ NSArray* ttsChunks = @[[[SDLTTSChunk alloc] init]];
+ SDLSpeak* message = [SDLRPCRequestFactory buildSpeakWithTTS:@"GREETINGS HUMAN" correlationID:@65];
+
+ expect(((SDLTTSChunk*)[message ttsChunks][0]).text).to(equal(@"GREETINGS HUMAN"));
+ expect(message.correlationID).to(equal(@65));
+
+ message = [SDLRPCRequestFactory buildSpeakWithTTSChunks:ttsChunks correlationID:@56];
+
+ expect(message.ttsChunks).to(equal(ttsChunks));
+ expect(message.correlationID).to(equal(@56));
+ });
+});
+
+describe(@"BuildSubscribeButton Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLSubscribeButton* message = [SDLRPCRequestFactory buildSubscribeButtonWithName:[SDLButtonName SEARCH] correlationID:@5555555];
+
+ expect(message.buttonName).to(equal([SDLButtonName SEARCH]));
+ expect(message.correlationID).to(equal(@5555555));
+ });
+});
+
+describe(@"BuildSubscribeVehicleData Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLSubscribeVehicleData* message = [SDLRPCRequestFactory buildSubscribeVehicleDataWithGPS:@YES speed:@YES rpm:@YES
+ fuelLevel:@NO fuelLevelState:@NO instantFuelConsumption:@NO
+ externalTemperature:@YES prndl:@YES tirePressure:@YES
+ odometer:@NO beltStatus:@NO bodyInformation:@NO
+ deviceStatus:@YES driverBraking:@YES wiperStatus:@YES
+ headLampStatus:@NO engineTorque:@NO accPedalPosition:@NO
+ steeringWheelAngle:@YES correlationID:@3692581470];
+
+ expect(message.gps).to(equal(@YES));
+ expect(message.speed).to(equal(@YES));
+ expect(message.rpm).to(equal(@YES));
+ expect(message.fuelLevel).to(equal(@NO));
+ expect(message.fuelLevel_State).to(equal(@NO));
+ expect(message.instantFuelConsumption).to(equal(@NO));
+ expect(message.externalTemperature).to(equal(@YES));
+ expect(message.prndl).to(equal(@YES));
+ expect(message.tirePressure).to(equal(@YES));
+ expect(message.odometer).to(equal(@NO));
+ expect(message.beltStatus).to(equal(@NO));
+ expect(message.bodyInformation).to(equal(@NO));
+ expect(message.deviceStatus).to(equal(@YES));
+ expect(message.driverBraking).to(equal(@YES));
+ expect(message.wiperStatus).to(equal(@YES));
+ expect(message.headLampStatus).to(equal(@NO));
+ expect(message.engineTorque).to(equal(@NO));
+ expect(message.accPedalPosition).to(equal(@NO));
+ expect(message.steeringWheelAngle).to(equal(@YES));
+ expect(message.eCallInfo).to(beNil());
+ expect(message.airbagStatus).to(beNil());
+ expect(message.emergencyEvent).to(beNil());
+ expect(message.clusterModeStatus).to(beNil());
+ expect(message.myKey).to(beNil());
+ expect(message.correlationID).to(equal(@3692581470));
+ });
+});
+
+describe(@"BuildUnregisterAppInterface Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLUnregisterAppInterface* message = [SDLRPCRequestFactory buildUnregisterAppInterfaceWithCorrelationID:@4200];
+
+ expect(message.correlationID).to(equal(@4200));
+ });
+});
+
+describe(@"BuildUnsubscribeButton Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLUnsubscribeButton* message = [SDLRPCRequestFactory buildUnsubscribeButtonWithName:[SDLButtonName OK] correlationID:@88];
+
+ expect(message.buttonName).to(equal([SDLButtonName OK]));
+ expect(message.correlationID).to(equal(@88));
+ });
+});
+
+describe(@"BuildSubscribeVehicleData Tests", ^ {
+ it(@"Should build correctly", ^ {
+ SDLSubscribeVehicleData* message = [SDLRPCRequestFactory buildSubscribeVehicleDataWithGPS:@YES speed:@NO rpm:@YES
+ fuelLevel:@YES fuelLevelState:@NO instantFuelConsumption:@NO
+ externalTemperature:@YES prndl:@NO tirePressure:@YES
+ odometer:@YES beltStatus:@NO bodyInformation:@NO
+ deviceStatus:@YES driverBraking:@NO wiperStatus:@YES
+ headLampStatus:@YES engineTorque:@NO accPedalPosition:@NO
+ steeringWheelAngle:@YES correlationID:@1627384950];
+
+ expect(message.gps).to(equal(@YES));
+ expect(message.speed).to(equal(@NO));
+ expect(message.rpm).to(equal(@YES));
+ expect(message.fuelLevel).to(equal(@YES));
+ expect(message.fuelLevel_State).to(equal(@NO));
+ expect(message.instantFuelConsumption).to(equal(@NO));
+ expect(message.externalTemperature).to(equal(@YES));
+ expect(message.prndl).to(equal(@NO));
+ expect(message.tirePressure).to(equal(@YES));
+ expect(message.odometer).to(equal(@YES));
+ expect(message.beltStatus).to(equal(@NO));
+ expect(message.bodyInformation).to(equal(@NO));
+ expect(message.deviceStatus).to(equal(@YES));
+ expect(message.driverBraking).to(equal(@NO));
+ expect(message.wiperStatus).to(equal(@YES));
+ expect(message.headLampStatus).to(equal(@YES));
+ expect(message.engineTorque).to(equal(@NO));
+ expect(message.accPedalPosition).to(equal(@NO));
+ expect(message.steeringWheelAngle).to(equal(@YES));
+ expect(message.eCallInfo).to(beNil());
+ expect(message.airbagStatus).to(beNil());
+ expect(message.emergencyEvent).to(beNil());
+ expect(message.clusterModeStatus).to(beNil());
+ expect(message.myKey).to(beNil());
+ expect(message.correlationID).to(equal(@1627384950));
+ });
+});
+
+QuickSpecEnd
+
+
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m
new file mode 100644
index 000000000..2ec566031
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m
@@ -0,0 +1,43 @@
+//
+// SDLOnAppInterfaceUnregisteredSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAppInterfaceUnregisteredReason.h"
+#import "SDLOnAppInterfaceUnregistered.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnAppInterfaceUnregisteredSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnAppInterfaceUnregistered* testNotification = [[SDLOnAppInterfaceUnregistered alloc] init];
+
+ testNotification.reason = [SDLAppInterfaceUnregisteredReason APP_UNAUTHORIZED];
+
+ expect(testNotification.reason).to(equal([SDLAppInterfaceUnregisteredReason APP_UNAUTHORIZED]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_reason:[SDLAppInterfaceUnregisteredReason APP_UNAUTHORIZED]},
+ NAMES_operation_name:NAMES_OnAppInterfaceUnregistered}} mutableCopy];
+ SDLOnAppInterfaceUnregistered* testNotification = [[SDLOnAppInterfaceUnregistered alloc] initWithDictionary:dict];
+
+ expect(testNotification.reason).to(equal([SDLAppInterfaceUnregisteredReason APP_UNAUTHORIZED]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnAppInterfaceUnregistered* testNotification = [[SDLOnAppInterfaceUnregistered alloc] init];
+
+ expect(testNotification.reason).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAudioPassThruSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAudioPassThruSpec.m
new file mode 100644
index 000000000..213246b1c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAudioPassThruSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLOnAudioPassThruSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLOnAudioPassThru.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnAudioPassThruSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m
new file mode 100644
index 000000000..becc5c251
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m
@@ -0,0 +1,55 @@
+//
+// SDLOnButtonEventSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonEventMode.h"
+#import "SDLButtonName.h"
+#import "SDLNames.h"
+#import "SDLOnButtonEvent.h"
+
+
+QuickSpecBegin(SDLOnButtonEventSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnButtonEvent* testNotification = [[SDLOnButtonEvent alloc] init];
+
+ testNotification.buttonName = [SDLButtonName CUSTOM_BUTTON];
+ testNotification.buttonEventMode = [SDLButtonEventMode BUTTONDOWN];
+ testNotification.customButtonID = @4252;
+
+ expect(testNotification.buttonName).to(equal([SDLButtonName CUSTOM_BUTTON]));
+ expect(testNotification.buttonEventMode).to(equal([SDLButtonEventMode BUTTONDOWN]));
+ expect(testNotification.customButtonID).to(equal(@4252));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_buttonName:[SDLButtonName CUSTOM_BUTTON],
+ NAMES_buttonEventMode:[SDLButtonEventMode BUTTONDOWN],
+ NAMES_customButtonID:@4252},
+ NAMES_operation_name:NAMES_OnButtonEvent}} mutableCopy];
+ SDLOnButtonEvent* testNotification = [[SDLOnButtonEvent alloc] initWithDictionary:dict];
+
+ expect(testNotification.buttonName).to(equal([SDLButtonName CUSTOM_BUTTON]));
+ expect(testNotification.buttonEventMode).to(equal([SDLButtonEventMode BUTTONDOWN]));
+ expect(testNotification.customButtonID).to(equal(@4252));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnButtonEvent* testNotification = [[SDLOnButtonEvent alloc] init];
+
+ expect(testNotification.buttonName).to(beNil());
+ expect(testNotification.buttonEventMode).to(beNil());
+ expect(testNotification.customButtonID).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m
new file mode 100644
index 000000000..4467f72a5
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m
@@ -0,0 +1,55 @@
+//
+// SDLOnButtonPressSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonName.h"
+#import "SDLButtonPressMode.h"
+#import "SDLOnButtonPress.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLOnButtonPressSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnButtonPress* testNotification = [[SDLOnButtonPress alloc] init];
+
+ testNotification.buttonName = [SDLButtonName CUSTOM_BUTTON];
+ testNotification.buttonPressMode = [SDLButtonPressMode LONG];
+ testNotification.customButtonID = @5642;
+
+ expect(testNotification.buttonName).to(equal([SDLButtonName CUSTOM_BUTTON]));
+ expect(testNotification.buttonPressMode).to(equal([SDLButtonPressMode LONG]));
+ expect(testNotification.customButtonID).to(equal(@5642));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_buttonName:[SDLButtonName CUSTOM_BUTTON],
+ NAMES_buttonPressMode:[SDLButtonPressMode LONG],
+ NAMES_customButtonID:@5642},
+ NAMES_operation_name:NAMES_OnButtonPress}} mutableCopy];
+ SDLOnButtonPress* testNotification = [[SDLOnButtonPress alloc] initWithDictionary:dict];
+
+ expect(testNotification.buttonName).to(equal([SDLButtonName CUSTOM_BUTTON]));
+ expect(testNotification.buttonPressMode).to(equal([SDLButtonPressMode LONG]));
+ expect(testNotification.customButtonID).to(equal(@5642));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnButtonPress* testNotification = [[SDLOnButtonPress alloc] init];
+
+ expect(testNotification.buttonName).to(beNil());
+ expect(testNotification.buttonPressMode).to(beNil());
+ expect(testNotification.customButtonID).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m
new file mode 100644
index 000000000..6b8afd10b
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m
@@ -0,0 +1,48 @@
+//
+// SDLOnCommandSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLNames.h"
+#import "SDLOnCommand.h"
+#import "SDLTriggerSource.h"
+
+QuickSpecBegin(SDLOnCommandSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnCommand* testNotification = [[SDLOnCommand alloc] init];
+
+ testNotification.cmdID = @5676544;
+ testNotification.triggerSource = [SDLTriggerSource KEYBOARD];
+
+ expect(testNotification.cmdID).to(equal(@5676544));
+ expect(testNotification.triggerSource).to(equal([SDLTriggerSource KEYBOARD]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_cmdID:@5676544,
+ NAMES_triggerSource:[SDLTriggerSource KEYBOARD]},
+ NAMES_operation_name:NAMES_OnCommand}} mutableCopy];
+ SDLOnCommand* testNotification = [[SDLOnCommand alloc] initWithDictionary:dict];
+
+ expect(testNotification.cmdID).to(equal(@5676544));
+ expect(testNotification.triggerSource).to(equal([SDLTriggerSource KEYBOARD]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnCommand* testNotification = [[SDLOnCommand alloc] init];
+
+ expect(testNotification.cmdID).to(beNil());
+ expect(testNotification.triggerSource).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m
new file mode 100644
index 000000000..79c90bdd7
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m
@@ -0,0 +1,43 @@
+//
+// SDLOnDriverDistractionSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDriverDistractionState.h"
+#import "SDLOnDriverDistraction.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnDriverDistractionSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnDriverDistraction* testNotification = [[SDLOnDriverDistraction alloc] init];
+
+ testNotification.state = [SDLDriverDistractionState DD_ON];
+
+ expect(testNotification.state).to(equal([SDLDriverDistractionState DD_ON]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_state:[SDLDriverDistractionState DD_ON]},
+ NAMES_operation_name:NAMES_OnDriverDistraction}} mutableCopy];
+ SDLOnDriverDistraction* testNotification = [[SDLOnDriverDistraction alloc] initWithDictionary:dict];
+
+ expect(testNotification.state).to(equal([SDLDriverDistractionState DD_ON]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnDriverDistraction* testNotification = [[SDLOnDriverDistraction alloc] init];
+
+ expect(testNotification.state).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnEncodedSyncPDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnEncodedSyncPDataSpec.m
new file mode 100644
index 000000000..a8844e22a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnEncodedSyncPDataSpec.m
@@ -0,0 +1,52 @@
+//
+// SDLOnEncodedSyncPDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLOnEncodedSyncPData.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnEncodedSyncPDataSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnEncodedSyncPData* testNotification = [[SDLOnEncodedSyncPData alloc] init];
+
+ testNotification.data = [@[@0] mutableCopy];
+ testNotification.URL = @"www.zombo.com";
+ testNotification.Timeout = @564;
+
+ expect(testNotification.data).to(equal([@[@0] mutableCopy]));
+ expect(testNotification.URL).to(equal(@"www.zombo.com"));
+ expect(testNotification.Timeout).to(equal(@564));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_data:[@[@0] mutableCopy],
+ NAMES_URL:@"www.zombo.com",
+ NAMES_Timeout:@564},
+ NAMES_operation_name:NAMES_OnEncodedSyncPData}} mutableCopy];
+ SDLOnEncodedSyncPData* testNotification = [[SDLOnEncodedSyncPData alloc] initWithDictionary:dict];
+
+ expect(testNotification.data).to(equal([@[@0] mutableCopy]));
+ expect(testNotification.URL).to(equal(@"www.zombo.com"));
+ expect(testNotification.Timeout).to(equal(@564));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnEncodedSyncPData* testNotification = [[SDLOnEncodedSyncPData alloc] init];
+
+ expect(testNotification.data).to(beNil());
+ expect(testNotification.URL).to(beNil());
+ expect(testNotification.Timeout).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m
new file mode 100644
index 000000000..c2d58a484
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLOnHMIStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAudioStreamingState.h"
+#import "SDLHMILevel.h"
+#import "SDLOnHMIStatus.h"
+#import "SDLNames.h"
+#import "SDLSystemContext.h"
+
+
+QuickSpecBegin(SDLOnHMIStatusSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnHMIStatus* testNotification = [[SDLOnHMIStatus alloc] init];
+
+ testNotification.hmiLevel = [SDLHMILevel LIMITED];
+ testNotification.audioStreamingState = [SDLAudioStreamingState ATTENUATED];
+ testNotification.systemContext = [SDLSystemContext HMI_OBSCURED];
+
+ expect(testNotification.hmiLevel).to(equal([SDLHMILevel LIMITED]));
+ expect(testNotification.audioStreamingState).to(equal([SDLAudioStreamingState ATTENUATED]));
+ expect(testNotification.systemContext).to(equal([SDLSystemContext HMI_OBSCURED]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_hmiLevel:[SDLHMILevel LIMITED],
+ NAMES_audioStreamingState:[SDLAudioStreamingState ATTENUATED],
+ NAMES_systemContext:[SDLSystemContext HMI_OBSCURED]},
+ NAMES_operation_name:NAMES_OnHMIStatus}} mutableCopy];
+ SDLOnHMIStatus* testNotification = [[SDLOnHMIStatus alloc] initWithDictionary:dict];
+
+ expect(testNotification.hmiLevel).to(equal([SDLHMILevel LIMITED]));
+ expect(testNotification.audioStreamingState).to(equal([SDLAudioStreamingState ATTENUATED]));
+ expect(testNotification.systemContext).to(equal([SDLSystemContext HMI_OBSCURED]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnHMIStatus* testNotification = [[SDLOnHMIStatus alloc] init];
+
+ expect(testNotification.hmiLevel).to(beNil());
+ expect(testNotification.audioStreamingState).to(beNil());
+ expect(testNotification.systemContext).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m
new file mode 100644
index 000000000..308347c61
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLOnHashChangeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLOnHashChange.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnHashChangeSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnHashChange* testNotification = [[SDLOnHashChange alloc] init];
+
+ testNotification.hashID = @"hash";
+
+ expect(testNotification.hashID).to(equal(@"hash"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_hashID:@"hash"},
+ NAMES_operation_name:NAMES_OnHashChange}} mutableCopy];
+ SDLOnHashChange* testNotification = [[SDLOnHashChange alloc] initWithDictionary:dict];
+
+ expect(testNotification.hashID).to(equal(@"hash"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnHashChange* testNotification = [[SDLOnHashChange alloc] init];
+
+ expect(testNotification.hashID).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m
new file mode 100644
index 000000000..cf87e853d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m
@@ -0,0 +1,48 @@
+//
+// SDLOnKeyboardInputSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLKeyboardEvent.h"
+#import "SDLOnKeyboardInput.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnKeyboardInputSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnKeyboardInput* testNotification = [[SDLOnKeyboardInput alloc] init];
+
+ testNotification.event = [SDLKeyboardEvent ENTRY_SUBMITTED];
+ testNotification.data = @"qwertyg";
+
+ expect(testNotification.event).to(equal([SDLKeyboardEvent ENTRY_SUBMITTED]));
+ expect(testNotification.data).to(equal(@"qwertyg"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_event:[SDLKeyboardEvent ENTRY_SUBMITTED],
+ NAMES_data:@"qwertyg"},
+ NAMES_operation_name:NAMES_OnKeyboardInput}} mutableCopy];
+ SDLOnKeyboardInput* testNotification = [[SDLOnKeyboardInput alloc] initWithDictionary:dict];
+
+ expect(testNotification.event).to(equal([SDLKeyboardEvent ENTRY_SUBMITTED]));
+ expect(testNotification.data).to(equal(@"qwertyg"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnKeyboardInput* testNotification = [[SDLOnKeyboardInput alloc] init];
+
+ expect(testNotification.event).to(beNil());
+ expect(testNotification.data).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m
new file mode 100644
index 000000000..f9009f69c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m
@@ -0,0 +1,49 @@
+//
+// SDLOnLanguageChangeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLLanguage.h"
+#import "SDLOnLanguageChange.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLOnLanguageChangeSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnLanguageChange* testNotification = [[SDLOnLanguageChange alloc] init];
+
+ testNotification.language = [SDLLanguage ES_ES];
+ testNotification.hmiDisplayLanguage = [SDLLanguage DE_DE];
+
+ expect(testNotification.language).to(equal([SDLLanguage ES_ES]));
+ expect(testNotification.hmiDisplayLanguage).to(equal([SDLLanguage DE_DE]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_language:[SDLLanguage ES_ES],
+ NAMES_hmiDisplayLanguage:[SDLLanguage DE_DE]},
+ NAMES_operation_name:NAMES_OnLanguageChange}} mutableCopy];
+ SDLOnLanguageChange* testNotification = [[SDLOnLanguageChange alloc] initWithDictionary:dict];
+
+ expect(testNotification.language).to(equal([SDLLanguage ES_ES]));
+ expect(testNotification.hmiDisplayLanguage).to(equal([SDLLanguage DE_DE]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnLanguageChange* testNotification = [[SDLOnLanguageChange alloc] init];
+
+ expect(testNotification.language).to(beNil());
+ expect(testNotification.hmiDisplayLanguage).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLockScreenStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLockScreenStatusSpec.m
new file mode 100644
index 000000000..d438ec621
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLockScreenStatusSpec.m
@@ -0,0 +1,59 @@
+//
+// SDLOnLockScreenStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLOnLockScreenStatus.h"
+#import "SDLHMILevel.h"
+#import "SDLLockScreenStatus.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnLockScreenStatusSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnLockScreenStatus* testNotification = [[SDLOnLockScreenStatus alloc] init];
+
+ testNotification.driverDistractionStatus = @NO;
+ testNotification.userSelected = @3;
+ testNotification.lockScreenStatus = [SDLLockScreenStatus REQUIRED];
+ testNotification.hmiLevel = [SDLHMILevel NONE];
+
+ expect(testNotification.driverDistractionStatus).to(equal(@NO));
+ expect(testNotification.userSelected).to(equal(@3));
+ expect(testNotification.lockScreenStatus).to(equal([SDLLockScreenStatus REQUIRED]));
+ expect(testNotification.hmiLevel).to(equal([SDLHMILevel NONE]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{@"driverdistractionstatus":@NO,
+ @"userselected":@3,
+ @"OnLockScreenStatus":[SDLLockScreenStatus REQUIRED],
+ @"hmilevel":[SDLHMILevel NONE]},
+ NAMES_operation_name:@"OnLockScreenStatus"}} mutableCopy];
+ SDLOnLockScreenStatus* testNotification = [[SDLOnLockScreenStatus alloc] initWithDictionary:dict];
+
+ expect(testNotification.driverDistractionStatus).to(equal(@NO));
+ expect(testNotification.userSelected).to(equal(@3));
+ expect(testNotification.lockScreenStatus).to(equal([SDLLockScreenStatus REQUIRED]));
+ expect(testNotification.hmiLevel).to(equal([SDLHMILevel NONE]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnLockScreenStatus* testNotification = [[SDLOnLockScreenStatus alloc] init];
+
+ expect(testNotification.driverDistractionStatus).to(beNil());
+ expect(testNotification.userSelected).to(beNil());
+ expect(testNotification.lockScreenStatus).to(beNil());
+ expect(testNotification.hmiLevel).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m
new file mode 100644
index 000000000..5a5d349cc
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m
@@ -0,0 +1,45 @@
+//
+// SDLOnPermissionsChangeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLOnPermissionsChange.h"
+#import "SDLPermissionItem.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnPermissionsChangeSpec)
+
+SDLPermissionItem* item = [[SDLPermissionItem alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnPermissionsChange* testNotification = [[SDLOnPermissionsChange alloc] init];
+
+ testNotification.permissionItem = [@[item] mutableCopy];
+
+ expect(testNotification.permissionItem).to(equal([@[item] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_permissionItem:[@[item] mutableCopy]},
+ NAMES_operation_name:NAMES_OnPermissionsChange}} mutableCopy];
+ SDLOnPermissionsChange* testNotification = [[SDLOnPermissionsChange alloc] initWithDictionary:dict];
+
+ expect(testNotification.permissionItem).to(equal([@[item] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnPermissionsChange* testNotification = [[SDLOnPermissionsChange alloc] init];
+
+ expect(testNotification.permissionItem).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSyncPDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSyncPDataSpec.m
new file mode 100644
index 000000000..34ac9af9e
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSyncPDataSpec.m
@@ -0,0 +1,47 @@
+//
+// SDLOnSyncPDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLOnSyncPData.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLOnSyncPDataSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnSyncPData* testNotification = [[SDLOnSyncPData alloc] init];
+
+ testNotification.URL = @"https://www.youtube.com/watch?v=ygr5AHufBN4";
+ testNotification.Timeout = @8357;
+
+ expect(testNotification.URL).to(equal(@"https://www.youtube.com/watch?v=ygr5AHufBN4"));
+ expect(testNotification.Timeout).to(equal(@8357));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_URL:@"https://www.youtube.com/watch?v=ygr5AHufBN4",
+ NAMES_Timeout:@8357},
+ NAMES_operation_name:NAMES_OnSyncPData}} mutableCopy];
+ SDLOnSyncPData* testNotification = [[SDLOnSyncPData alloc] initWithDictionary:dict];
+
+ expect(testNotification.URL).to(equal(@"https://www.youtube.com/watch?v=ygr5AHufBN4"));
+ expect(testNotification.Timeout).to(equal(@8357));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnSyncPData* testNotification = [[SDLOnSyncPData alloc] init];
+
+ expect(testNotification.URL).to(beNil());
+ expect(testNotification.Timeout).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m
new file mode 100644
index 000000000..ed235871e
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m
@@ -0,0 +1,70 @@
+//
+// SDLOnSystemRequestSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLFileType.h"
+#import "SDLNames.h"
+#import "SDLOnSystemRequest.h"
+#import "SDLRequestType.h"
+
+
+QuickSpecBegin(SDLOnSystemRequestSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnSystemRequest* testNotification = [[SDLOnSystemRequest alloc] init];
+
+ testNotification.requestType = [SDLRequestType FILE_RESUME];
+ testNotification.url = [@[@"www.google.com"] mutableCopy];
+ testNotification.timeout = @52345;
+ testNotification.fileType = [SDLFileType GRAPHIC_PNG];
+ testNotification.offset = @2532678684;
+ testNotification.length = @50000000000;
+
+ expect(testNotification.requestType).to(equal([SDLRequestType FILE_RESUME]));
+ expect(testNotification.url).to(equal([@[@"www.google.com"] mutableCopy]));
+ expect(testNotification.timeout).to(equal(@52345));
+ expect(testNotification.fileType).to(equal([SDLFileType GRAPHIC_PNG]));
+ expect(testNotification.offset).to(equal(@2532678684));
+ expect(testNotification.length).to(equal(@50000000000));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_requestType:[SDLRequestType FILE_RESUME],
+ NAMES_url:[@[@"www.google.com"] mutableCopy],
+ NAMES_timeout:@52345,
+ NAMES_fileType:[SDLFileType GRAPHIC_PNG],
+ NAMES_offset:@2532678684,
+ NAMES_length:@50000000000},
+ NAMES_operation_name:NAMES_OnSystemRequest}} mutableCopy];
+ SDLOnSystemRequest* testNotification = [[SDLOnSystemRequest alloc] initWithDictionary:dict];
+
+ expect(testNotification.requestType).to(equal([SDLRequestType FILE_RESUME]));
+ expect(testNotification.url).to(equal([@[@"www.google.com"] mutableCopy]));
+ expect(testNotification.timeout).to(equal(@52345));
+ expect(testNotification.fileType).to(equal([SDLFileType GRAPHIC_PNG]));
+ expect(testNotification.offset).to(equal(@2532678684));
+ expect(testNotification.length).to(equal(@50000000000));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnSystemRequest* testNotification = [[SDLOnSystemRequest alloc] init];
+
+ expect(testNotification.requestType).to(beNil());
+ expect(testNotification.url).to(beNil());
+ expect(testNotification.timeout).to(beNil());
+ expect(testNotification.fileType).to(beNil());
+ expect(testNotification.offset).to(beNil());
+ expect(testNotification.length).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m
new file mode 100644
index 000000000..b1391d033
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m
@@ -0,0 +1,44 @@
+//
+// SDLOnTBTClientStateSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLOnTBTClientState.h"
+#import "SDLNames.h"
+#import "SDLTBTState.h"
+
+
+QuickSpecBegin(SDLOnTBTClientStateSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnTBTClientState* testNotification = [[SDLOnTBTClientState alloc] init];
+
+ testNotification.state = [SDLTBTState ETA_REQUEST];
+
+ expect(testNotification.state).to(equal([SDLTBTState ETA_REQUEST]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_state:[SDLTBTState ETA_REQUEST]},
+ NAMES_operation_name:NAMES_OnTBTClientState}} mutableCopy];
+ SDLOnTBTClientState* testNotification = [[SDLOnTBTClientState alloc] initWithDictionary:dict];
+
+ expect(testNotification.state).to(equal([SDLTBTState ETA_REQUEST]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnTBTClientState* testNotification = [[SDLOnTBTClientState alloc] init];
+
+ expect(testNotification.state).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m
new file mode 100644
index 000000000..298ffef9f
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m
@@ -0,0 +1,52 @@
+//
+// SDLOnTouchEventSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLOnTouchEvent.h"
+#import "SDLNames.h"
+#import "SDLTouchEvent.h"
+#import "SDLTouchType.h"
+
+
+QuickSpecBegin(SDLOnTouchEventSpec)
+
+SDLTouchEvent* event = [[SDLTouchEvent alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnTouchEvent* testNotification = [[SDLOnTouchEvent alloc] init];
+
+ testNotification.type = [SDLTouchType BEGIN];
+ testNotification.event = [@[event] mutableCopy];
+
+ expect(testNotification.type).to(equal([SDLTouchType BEGIN]));
+ expect(testNotification.event).to(equal([@[event] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_type:[SDLTouchType BEGIN],
+ NAMES_event:[@[event] mutableCopy]},
+ NAMES_operation_name:NAMES_OnTouchEvent}} mutableCopy];
+ SDLOnTouchEvent* testNotification = [[SDLOnTouchEvent alloc] initWithDictionary:dict];
+
+ expect(testNotification.type).to(equal([SDLTouchType BEGIN]));
+ expect(testNotification.event).to(equal([@[event] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnTouchEvent* testNotification = [[SDLOnTouchEvent alloc] init];
+
+ expect(testNotification.type).to(beNil());
+ expect(testNotification.event).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m
new file mode 100644
index 000000000..17704a304
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m
@@ -0,0 +1,175 @@
+//
+// SDLOnVehicleDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SmartDeviceLink.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLOnVehicleDataSpec)
+
+SDLGPSData* gps = [[SDLGPSData alloc] init];
+SDLTireStatus* tires = [[SDLTireStatus alloc] init];
+SDLBeltStatus* belt = [[SDLBeltStatus alloc] init];
+SDLBodyInformation* body = [[SDLBodyInformation alloc] init];
+SDLDeviceStatus* device = [[SDLDeviceStatus alloc] init];
+SDLHeadLampStatus* headLamp = [[SDLHeadLampStatus alloc] init];
+SDLECallInfo* eCall = [[SDLECallInfo alloc] init];
+SDLAirbagStatus* airbag = [[SDLAirbagStatus alloc] init];
+SDLEmergencyEvent* event = [[SDLEmergencyEvent alloc] init];
+SDLClusterModeStatus* clusterMode = [[SDLClusterModeStatus alloc] init];
+SDLMyKey* myKey = [[SDLMyKey alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLOnVehicleData* testNotification = [[SDLOnVehicleData alloc] init];
+
+ testNotification.gps = gps;
+ testNotification.speed = @70.1;
+ testNotification.rpm = @4242;
+ testNotification.fuelLevel = @10.3;
+ testNotification.fuelLevel_State = [SDLComponentVolumeStatus ALERT];
+ testNotification.instantFuelConsumption = @4000.63;
+ testNotification.externalTemperature = @-10;
+ testNotification.vin = @"222222222722";
+ testNotification.prndl = [SDLPRNDL DRIVE];
+ testNotification.tirePressure = tires;
+ testNotification.odometer = @100050;
+ testNotification.beltStatus = belt;
+ testNotification.bodyInformation = body;
+ testNotification.deviceStatus = device;
+ testNotification.driverBraking = [SDLVehicleDataEventStatus _YES];
+ testNotification.wiperStatus = [SDLWiperStatus STALLED];
+ testNotification.headLampStatus = headLamp;
+ testNotification.engineTorque = @-200.124;
+ testNotification.accPedalPosition = @99.99999999;
+ testNotification.steeringWheelAngle = @0.000000001;
+ testNotification.eCallInfo = eCall;
+ testNotification.airbagStatus = airbag;
+ testNotification.emergencyEvent = event;
+ testNotification.clusterModeStatus = clusterMode;
+ testNotification.myKey = myKey;
+
+ expect(testNotification.gps).to(equal(gps));
+ expect(testNotification.speed).to(equal(@70.1));
+ expect(testNotification.rpm).to(equal(@4242));
+ expect(testNotification.fuelLevel).to(equal(@10.3));
+ expect(testNotification.fuelLevel_State).to(equal([SDLComponentVolumeStatus ALERT]));
+ expect(testNotification.instantFuelConsumption).to(equal(@4000.63));
+ expect(testNotification.externalTemperature).to(equal(@-10));
+ expect(testNotification.vin).to(equal(@"222222222722"));
+ expect(testNotification.prndl).to(equal([SDLPRNDL DRIVE]));
+ expect(testNotification.tirePressure).to(equal(tires));
+ expect(testNotification.odometer).to(equal(@100050));
+ expect(testNotification.beltStatus).to(equal(belt));
+ expect(testNotification.bodyInformation).to(equal(body));
+ expect(testNotification.deviceStatus).to(equal(device));
+ expect(testNotification.driverBraking).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testNotification.wiperStatus).to(equal([SDLWiperStatus STALLED]));
+ expect(testNotification.headLampStatus).to(equal(headLamp));
+ expect(testNotification.engineTorque).to(equal(@-200.124));
+ expect(testNotification.accPedalPosition).to(equal(@99.99999999));
+ expect(testNotification.steeringWheelAngle).to(equal(@0.000000001));
+ expect(testNotification.eCallInfo).to(equal(eCall));
+ expect(testNotification.airbagStatus).to(equal(airbag));
+ expect(testNotification.emergencyEvent).to(equal(event));
+ expect(testNotification.clusterModeStatus).to(equal(clusterMode));
+ expect(testNotification.myKey).to(equal(myKey));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_gps:gps,
+ NAMES_speed:@70.1,
+ NAMES_rpm:@4242,
+ NAMES_fuelLevel:@10.3,
+ NAMES_fuelLevel_State:[SDLComponentVolumeStatus ALERT],
+ NAMES_instantFuelConsumption:@4000.63,
+ NAMES_externalTemperature:@-10,
+ NAMES_vin:@"222222222722",
+ NAMES_prndl:[SDLPRNDL DRIVE],
+ NAMES_tirePressure:tires,
+ NAMES_odometer:@100050,
+ NAMES_beltStatus:belt,
+ NAMES_bodyInformation:body,
+ NAMES_deviceStatus:device,
+ NAMES_driverBraking:[SDLVehicleDataEventStatus _YES],
+ NAMES_wiperStatus:[SDLWiperStatus STALLED],
+ NAMES_headLampStatus:headLamp,
+ NAMES_engineTorque:@-200.124,
+ NAMES_accPedalPosition:@99.99999999,
+ NAMES_steeringWheelAngle:@0.000000001,
+ NAMES_eCallInfo:eCall,
+ NAMES_airbagStatus:airbag,
+ NAMES_emergencyEvent:event,
+ NAMES_clusterModeStatus:clusterMode,
+ NAMES_myKey:myKey},
+ NAMES_operation_name:NAMES_OnVehicleData}} mutableCopy];
+ SDLOnVehicleData* testNotification = [[SDLOnVehicleData alloc] initWithDictionary:dict];
+
+ expect(testNotification.gps).to(equal(gps));
+ expect(testNotification.speed).to(equal(@70.1));
+ expect(testNotification.rpm).to(equal(@4242));
+ expect(testNotification.fuelLevel).to(equal(@10.3));
+ expect(testNotification.fuelLevel_State).to(equal([SDLComponentVolumeStatus ALERT]));
+ expect(testNotification.instantFuelConsumption).to(equal(@4000.63));
+ expect(testNotification.externalTemperature).to(equal(@-10));
+ expect(testNotification.vin).to(equal(@"222222222722"));
+ expect(testNotification.prndl).to(equal([SDLPRNDL DRIVE]));
+ expect(testNotification.tirePressure).to(equal(tires));
+ expect(testNotification.odometer).to(equal(@100050));
+ expect(testNotification.beltStatus).to(equal(belt));
+ expect(testNotification.bodyInformation).to(equal(body));
+ expect(testNotification.deviceStatus).to(equal(device));
+ expect(testNotification.driverBraking).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testNotification.wiperStatus).to(equal([SDLWiperStatus STALLED]));
+ expect(testNotification.headLampStatus).to(equal(headLamp));
+ expect(testNotification.engineTorque).to(equal(@-200.124));
+ expect(testNotification.accPedalPosition).to(equal(@99.99999999));
+ expect(testNotification.steeringWheelAngle).to(equal(@0.000000001));
+ expect(testNotification.eCallInfo).to(equal(eCall));
+ expect(testNotification.airbagStatus).to(equal(airbag));
+ expect(testNotification.emergencyEvent).to(equal(event));
+ expect(testNotification.clusterModeStatus).to(equal(clusterMode));
+ expect(testNotification.myKey).to(equal(myKey));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLOnVehicleData* testNotification = [[SDLOnVehicleData alloc] init];
+
+ expect(testNotification.gps).to(beNil());
+ expect(testNotification.speed).to(beNil());
+ expect(testNotification.rpm).to(beNil());
+ expect(testNotification.fuelLevel).to(beNil());
+ expect(testNotification.fuelLevel_State).to(beNil());
+ expect(testNotification.instantFuelConsumption).to(beNil());
+ expect(testNotification.externalTemperature).to(beNil());
+ expect(testNotification.vin).to(beNil());
+ expect(testNotification.prndl).to(beNil());
+ expect(testNotification.tirePressure).to(beNil());
+ expect(testNotification.odometer).to(beNil());
+ expect(testNotification.beltStatus).to(beNil());
+ expect(testNotification.bodyInformation).to(beNil());
+ expect(testNotification.deviceStatus).to(beNil());
+ expect(testNotification.driverBraking).to(beNil());
+ expect(testNotification.wiperStatus).to(beNil());
+ expect(testNotification.headLampStatus).to(beNil());
+ expect(testNotification.engineTorque).to(beNil());
+ expect(testNotification.accPedalPosition).to(beNil());
+ expect(testNotification.steeringWheelAngle).to(beNil());
+ expect(testNotification.eCallInfo).to(beNil());
+ expect(testNotification.airbagStatus).to(beNil());
+ expect(testNotification.emergencyEvent).to(beNil());
+ expect(testNotification.clusterModeStatus).to(beNil());
+ expect(testNotification.myKey).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/PayloadSpecs/SDLRPCPayloadSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/PayloadSpecs/SDLRPCPayloadSpec.m
new file mode 100644
index 000000000..441eca732
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/PayloadSpecs/SDLRPCPayloadSpec.m
@@ -0,0 +1,75 @@
+//
+// SDLRPCPayloadSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLRPCPayload.h"
+#import "SDLRPCMessageType.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLRPCPayloadSpec)
+
+__block SDLRPCPayload* testPayload;
+__block NSDictionary* dict = @{NAMES_response:
+ @{NAMES_parameters:@{},
+ NAMES_operation_name:NAMES_DeleteCommand}};
+
+NSData* (^testData)() = ^NSData* {
+ NSData* jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:0];
+ NSData* binaryData = [NSData dataWithBytes:"PrimitiveString" length:strlen("PrimitiveString")];
+
+ UInt8 header[12] = {0x10, 0x00, 0x00, 0x06, 0x00, 0x00, 0x14, 0x43, 0x00, 0x00, 0x00, 0x00};
+ *(UInt32 *)&header[8] = CFSwapInt32HostToBig((unsigned int)jsonData.length);
+
+ NSMutableData *data = [NSMutableData dataWithCapacity:12 + jsonData.length];
+ [data appendBytes:&header length:12];
+ [data appendData:jsonData];
+ [data appendData:binaryData];
+
+ return data;
+};
+
+beforeSuite(^ {
+ testPayload = [[SDLRPCPayload alloc] init];
+
+ testPayload.rpcType = 0x01;
+ testPayload.functionID = 0x06;
+ testPayload.correlationID = 0x1443;
+ testPayload.jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:0];
+ testPayload.binaryData = [NSData dataWithBytes:"PrimitiveString" length:strlen("PrimitiveString")];
+});
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ expect(@(testPayload.rpcType)).to(equal(@0x01));
+ expect(@(testPayload.functionID)).to(equal(@0x06));
+ expect(@(testPayload.correlationID)).to(equal(@0x1443));
+ expect([NSJSONSerialization JSONObjectWithData:testPayload.jsonData options:0 error:0]).to(equal(dict));
+ expect([NSString stringWithUTF8String:[testPayload binaryData].bytes]).to(equal(@"PrimitiveString"));
+ });
+});
+
+describe(@"Data Tests", ^ {
+ it (@"Should convert to byte data correctly", ^ {
+ expect(testPayload.data).to(equal(testData()));
+ });
+});
+
+describe(@"RPCPayloadWithData Test", ^ {
+ it (@"Should convert from byte data correctly", ^ {
+ SDLRPCPayload* constructedPayload = [SDLRPCPayload rpcPayloadWithData:testData()];
+
+ expect(@(constructedPayload.rpcType)).to(equal(@0x01));
+ expect(@(constructedPayload.functionID)).to(equal(@0x06));
+ expect(@(constructedPayload.correlationID)).to(equal(@0x1443));
+ expect([NSJSONSerialization JSONObjectWithData:constructedPayload.jsonData options:0 error:0]).to(equal(dict));
+ expect([NSString stringWithUTF8String:[constructedPayload binaryData].bytes]).to(equal(@"PrimitiveString"));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m
new file mode 100644
index 000000000..455552bad
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLAddCommandSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAddCommand.h"
+#import "SDLImage.h"
+#import "SDLMenuParams.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLAddCommandSpec)
+
+SDLMenuParams* menu = [[SDLMenuParams alloc] init];
+SDLImage* image = [[SDLImage alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLAddCommand* testRequest = [[SDLAddCommand alloc] init];
+
+ testRequest.cmdID = @434577;
+ testRequest.menuParams = menu;
+ testRequest.vrCommands = [@[@"name", @"anotherName"] mutableCopy];
+ testRequest.cmdIcon = image;
+
+ expect(testRequest.cmdID).to(equal(@434577));
+ expect(testRequest.menuParams).to(equal(menu));
+ expect(testRequest.vrCommands).to(equal([@[@"name", @"anotherName"] mutableCopy]));
+ expect(testRequest.cmdIcon).to(equal(image));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_cmdID:@434577,
+ NAMES_menuParams:menu,
+ NAMES_vrCommands:[@[@"name", @"anotherName"] mutableCopy],
+ NAMES_cmdIcon:image},
+ NAMES_operation_name:NAMES_AddCommand}} mutableCopy];
+ SDLAddCommand* testRequest = [[SDLAddCommand alloc] initWithDictionary:dict];
+
+ expect(testRequest.cmdID).to(equal(@434577));
+ expect(testRequest.menuParams).to(equal(menu));
+ expect(testRequest.vrCommands).to(equal([@[@"name", @"anotherName"] mutableCopy]));
+ expect(testRequest.cmdIcon).to(equal(image));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLAddCommand* testRequest = [[SDLAddCommand alloc] init];
+
+ expect(testRequest.cmdID).to(beNil());
+ expect(testRequest.menuParams).to(beNil());
+ expect(testRequest.vrCommands).to(beNil());
+ expect(testRequest.cmdIcon).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddSubMenuSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddSubMenuSpec.m
new file mode 100644
index 000000000..04a6526a8
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddSubMenuSpec.m
@@ -0,0 +1,52 @@
+//
+// SDLAddSubMenuSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAddSubMenu.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLAddSubMenuSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLAddSubMenu* testRequest = [[SDLAddSubMenu alloc] init];
+
+ testRequest.menuID = @4345645;
+ testRequest.position = @27;
+ testRequest.menuName = @"Welcome to the menu";
+
+ expect(testRequest.menuID).to(equal(@4345645));
+ expect(testRequest.position).to(equal(@27));
+ expect(testRequest.menuName).to(equal(@"Welcome to the menu"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_menuID:@4345645,
+ NAMES_position:@27,
+ NAMES_menuName:@"Welcome to the menu"},
+ NAMES_operation_name:NAMES_AddSubMenu}} mutableCopy];
+ SDLAddSubMenu* testRequest = [[SDLAddSubMenu alloc] initWithDictionary:dict];
+
+ expect(testRequest.menuID).to(equal(@4345645));
+ expect(testRequest.position).to(equal(@27));
+ expect(testRequest.menuName).to(equal(@"Welcome to the menu"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLAddSubMenu* testRequest = [[SDLAddSubMenu alloc] init];
+
+ expect(testRequest.menuID).to(beNil());
+ expect(testRequest.position).to(beNil());
+ expect(testRequest.menuName).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m
new file mode 100644
index 000000000..16d5aa0e6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m
@@ -0,0 +1,52 @@
+//
+// SDLAlertManeuverSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAlertManeuver.h"
+#import "SDLTTSChunk.h"
+#import "SDLSoftButton.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLAlertManeuverSpec)
+
+SDLTTSChunk* tts = [[SDLTTSChunk alloc] init];
+SDLSoftButton* button = [[SDLSoftButton alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLAlertManeuver* testRequest = [[SDLAlertManeuver alloc] init];
+
+ testRequest.ttsChunks = [@[tts] mutableCopy];
+ testRequest.softButtons = [@[button] mutableCopy];
+
+ expect(testRequest.ttsChunks).to(equal([@[tts] mutableCopy]));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_ttsChunks:[@[tts] mutableCopy],
+ NAMES_softButtons:[@[button] mutableCopy]},
+ NAMES_operation_name:NAMES_AlertManeuver}} mutableCopy];
+ SDLAlertManeuver* testRequest = [[SDLAlertManeuver alloc] initWithDictionary:dict];
+
+ expect(testRequest.ttsChunks).to(equal([@[tts] mutableCopy]));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLAlertManeuver* testRequest = [[SDLAlertManeuver alloc] init];
+
+ expect(testRequest.ttsChunks).to(beNil());
+ expect(testRequest.softButtons).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertSpec.m
new file mode 100644
index 000000000..b5725e168
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertSpec.m
@@ -0,0 +1,82 @@
+//
+// SDLAlertSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAlert.h"
+#import "SDLTTSChunk.h"
+#import "SDLSoftButton.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLAlertSpec)
+
+SDLTTSChunk* tts = [[SDLTTSChunk alloc] init];
+SDLSoftButton* button = [[SDLSoftButton alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLAlert* testRequest = [[SDLAlert alloc] init];
+
+ testRequest.alertText1 = @"alert#1";
+ testRequest.alertText2 = @"alert#2";
+ testRequest.alertText3 = @"alert#3";
+ testRequest.ttsChunks = [@[tts] mutableCopy];
+ testRequest.duration = @4357;
+ testRequest.playTone = @YES;
+ testRequest.progressIndicator = @NO;
+ testRequest.softButtons = [@[button] mutableCopy];
+
+ expect(testRequest.alertText1).to(equal(@"alert#1"));
+ expect(testRequest.alertText2).to(equal(@"alert#2"));
+ expect(testRequest.alertText3).to(equal(@"alert#3"));
+ expect(testRequest.ttsChunks).to(equal([@[tts] mutableCopy]));
+ expect(testRequest.duration).to(equal(@4357));
+ expect(testRequest.playTone).to(equal(@YES));
+ expect(testRequest.progressIndicator).to(equal(@NO));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_alertText1:@"alert#1",
+ NAMES_alertText2:@"alert#2",
+ NAMES_alertText3:@"alert#3",
+ NAMES_ttsChunks:[@[tts] mutableCopy],
+ NAMES_duration:@4357,
+ NAMES_playTone:@YES,
+ NAMES_progressIndicator:@NO,
+ NAMES_softButtons:[@[button] mutableCopy]},
+ NAMES_operation_name:NAMES_Alert}} mutableCopy];
+ SDLAlert* testRequest = [[SDLAlert alloc] initWithDictionary:dict];
+
+ expect(testRequest.alertText1).to(equal(@"alert#1"));
+ expect(testRequest.alertText2).to(equal(@"alert#2"));
+ expect(testRequest.alertText3).to(equal(@"alert#3"));
+ expect(testRequest.ttsChunks).to(equal([@[tts] mutableCopy]));
+ expect(testRequest.duration).to(equal(@4357));
+ expect(testRequest.playTone).to(equal(@YES));
+ expect(testRequest.progressIndicator).to(equal(@NO));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLAlert* testRequest = [[SDLAlert alloc] init];
+
+ expect(testRequest.alertText1).to(beNil());
+ expect(testRequest.alertText2).to(beNil());
+ expect(testRequest.alertText3).to(beNil());
+ expect(testRequest.ttsChunks).to(beNil());
+ expect(testRequest.duration).to(beNil());
+ expect(testRequest.playTone).to(beNil());
+ expect(testRequest.progressIndicator).to(beNil());
+ expect(testRequest.softButtons).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m
new file mode 100644
index 000000000..560bcc64a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m
@@ -0,0 +1,70 @@
+//
+// SDLChangeRegistrationSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLChangeRegistration.h"
+#import "SDLLanguage.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLChangeRegistrationSpec)
+
+//SDLTTSChunk* tts = [[SDLTTSChunk alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLChangeRegistration* testRequest = [[SDLChangeRegistration alloc] init];
+
+ testRequest.language = [SDLLanguage IT_IT];
+ testRequest.hmiDisplayLanguage = [SDLLanguage KO_KR];
+ //testRequest.appName = @"theName";
+ //testRequest.ttsName = [@[tts] mutableCopy];
+ //testRequest.ngnMediaScreenAppName = @"q";
+ //testRequest.vrSynonyms = [@[@"paraphrase", @"thesaurus"] mutableCopy];
+
+ expect(testRequest.language).to(equal([SDLLanguage IT_IT]));
+ expect(testRequest.hmiDisplayLanguage).to(equal([SDLLanguage KO_KR]));
+ //expect(testRequest.appName).to(equal(@"theName"));
+ //expect(testRequest.ttsName).to(equal([@[tts] mutableCopy]));
+ //expect(testRequest.ngnMediaScreenAppName).to(equal(@"q"));
+ //expect(testRequest.vrSynonyms).to(equal([@[@"paraphrase", @"thesaurus"] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_language:[SDLLanguage IT_IT],
+ NAMES_hmiDisplayLanguage:[SDLLanguage KO_KR]},
+ //NAMES_appName:@"theName",
+ //NAMES_ttsName:[@[tts] mutableCopy],
+ //NAMES_ngnMediaScreenAppName:@"q",
+ //NAMES_vrSynonyms:[@[@"paraphrase", @"thesaurus"] mutableCopy]},
+ NAMES_operation_name:NAMES_ChangeRegistration}} mutableCopy];
+ SDLChangeRegistration* testRequest = [[SDLChangeRegistration alloc] initWithDictionary:dict];
+
+ expect(testRequest.language).to(equal([SDLLanguage IT_IT]));
+ expect(testRequest.hmiDisplayLanguage).to(equal([SDLLanguage KO_KR]));
+ //expect(testRequest.appName).to(equal(@"theName"));
+ //expect(testRequest.ttsName).to(equal([@[tts] mutableCopy]));
+ //expect(testRequest.ngnMediaScreenAppName).to(equal(@"q"));
+ //expect(testRequest.vrSynonyms).to(equal([@[@"paraphrase", @"thesaurus"] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLChangeRegistration* testRequest = [[SDLChangeRegistration alloc] init];
+
+ expect(testRequest.language).to(beNil());
+ expect(testRequest.hmiDisplayLanguage).to(beNil());
+ //expect(testRequest.appName).to(beNil());
+ //expect(testRequest.ttsName).to(beNil());
+ //expect(testRequest.ngnMediaScreenAppName).to(beNil());
+ //expect(testRequest.vrSynonyms).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m
new file mode 100644
index 000000000..39cadb2d6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m
@@ -0,0 +1,50 @@
+//
+// SDLCreateInteractionChoiceSetSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLCreateInteractionChoiceSet.h"
+#import "SDLChoice.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLCreateInteractionChoiceSetSpec)
+
+SDLChoice* choice = [[SDLChoice alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLCreateInteractionChoiceSet* testRequest = [[SDLCreateInteractionChoiceSet alloc] init];
+
+ testRequest.interactionChoiceSetID = @141414;
+ testRequest.choiceSet = [@[choice] mutableCopy];
+
+ expect(testRequest.interactionChoiceSetID).to(equal(@141414));
+ expect(testRequest.choiceSet).to(equal([@[choice] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_interactionChoiceSetID:@141414,
+ NAMES_choiceSet:[@[choice] mutableCopy]},
+ NAMES_operation_name:NAMES_CreateInteractionChoiceSet}} mutableCopy];
+ SDLCreateInteractionChoiceSet* testRequest = [[SDLCreateInteractionChoiceSet alloc] initWithDictionary:dict];
+
+ expect(testRequest.interactionChoiceSetID).to(equal(@141414));
+ expect(testRequest.choiceSet).to(equal([@[choice] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLCreateInteractionChoiceSet* testRequest = [[SDLCreateInteractionChoiceSet alloc] init];
+
+ expect(testRequest.interactionChoiceSetID).to(beNil());
+ expect(testRequest.choiceSet).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m
new file mode 100644
index 000000000..2d0be62d8
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLDeleteCommandSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeleteCommand.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeleteCommandSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDeleteCommand* testRequest = [[SDLDeleteCommand alloc] init];
+
+ testRequest.cmdID = @11223344;
+
+ expect(testRequest.cmdID).to(equal(@11223344));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_cmdID:@11223344},
+ NAMES_operation_name:NAMES_DeleteCommand}} mutableCopy];
+ SDLDeleteCommand* testRequest = [[SDLDeleteCommand alloc] initWithDictionary:dict];
+
+ expect(testRequest.cmdID).to(equal(@11223344));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDeleteCommand* testRequest = [[SDLDeleteCommand alloc] init];
+
+ expect(testRequest.cmdID).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m
new file mode 100755
index 000000000..c6e471fc4
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLDeleteFileSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeleteFile.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeleteFileSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDeleteFile* testRequest = [[SDLDeleteFile alloc] init];
+
+ testRequest.syncFileName = @"synchro";
+
+ expect(testRequest.syncFileName).to(equal(@"synchro"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_syncFileName:@"synchro"},
+ NAMES_operation_name:NAMES_DeleteFile}} mutableCopy];
+ SDLDeleteFile* testRequest = [[SDLDeleteFile alloc] initWithDictionary:dict];
+
+ expect(testRequest.syncFileName).to(equal(@"synchro"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDeleteFile* testRequest = [[SDLDeleteFile alloc] init];
+
+ expect(testRequest.syncFileName).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m
new file mode 100755
index 000000000..6d42d114f
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLDeleteInteractionChoiceSetSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeleteInteractionChoiceSet.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeleteInteractionChoiceSetSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDeleteInteractionChoiceSet* testRequest = [[SDLDeleteInteractionChoiceSet alloc] init];
+
+ testRequest.interactionChoiceSetID = @20314;
+
+ expect(testRequest.interactionChoiceSetID).to(equal(@20314));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_interactionChoiceSetID:@20314},
+ NAMES_operation_name:NAMES_DeleteInteractionChoiceSet}} mutableCopy];
+ SDLDeleteInteractionChoiceSet* testRequest = [[SDLDeleteInteractionChoiceSet alloc] initWithDictionary:dict];
+
+ expect(testRequest.interactionChoiceSetID).to(equal(@20314));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDeleteInteractionChoiceSet* testRequest = [[SDLDeleteInteractionChoiceSet alloc] init];
+
+ expect(testRequest.interactionChoiceSetID).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m
new file mode 100755
index 000000000..9b2d6588d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLDeleteSubMenuSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeleteSubMenu.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeleteSubMenuSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDeleteSubMenu* testRequest = [[SDLDeleteSubMenu alloc] init];
+
+ testRequest.menuID = @25614;
+
+ expect(testRequest.menuID).to(equal(@25614));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_menuID:@25614},
+ NAMES_operation_name:NAMES_DeleteSubMenu}} mutableCopy];
+ SDLDeleteSubMenu* testRequest = [[SDLDeleteSubMenu alloc] initWithDictionary:dict];
+
+ expect(testRequest.menuID).to(equal(@25614));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDeleteSubMenu* testRequest = [[SDLDeleteSubMenu alloc] init];
+
+ expect(testRequest.menuID).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m
new file mode 100755
index 000000000..965920f39
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m
@@ -0,0 +1,52 @@
+//
+// SDLDiagnosticMessageSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDiagnosticMessage.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDiagnosticMessageSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDiagnosticMessage* testRequest = [[SDLDiagnosticMessage alloc] init];
+
+ testRequest.targetID = @3562;
+ testRequest.messageLength = @55555;
+ testRequest.messageData = [@[@1, @4, @16, @64] mutableCopy];
+
+ expect(testRequest.targetID).to(equal(@3562));
+ expect(testRequest.messageLength).to(equal(@55555));
+ expect(testRequest.messageData).to(equal([@[@1, @4, @16, @64] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_targetID:@3562,
+ NAMES_messageLength:@55555,
+ NAMES_messageData:[@[@1, @4, @16, @64] mutableCopy]},
+ NAMES_operation_name:NAMES_DiagnosticMessage}} mutableCopy];
+ SDLDiagnosticMessage* testRequest = [[SDLDiagnosticMessage alloc] initWithDictionary:dict];
+
+ expect(testRequest.targetID).to(equal(@3562));
+ expect(testRequest.messageLength).to(equal(@55555));
+ expect(testRequest.messageData).to(equal([@[@1, @4, @16, @64] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDiagnosticMessage* testRequest = [[SDLDiagnosticMessage alloc] init];
+
+ expect(testRequest.targetID).to(beNil());
+ expect(testRequest.messageLength).to(beNil());
+ expect(testRequest.messageData).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m
new file mode 100644
index 000000000..7371fedf3
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m
@@ -0,0 +1,80 @@
+//
+// SDLDialNumberSpec.m
+// SmartDeviceLink-iOS
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDialNumber.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLDialNumberSpec)
+
+describe(@"Dial Number RPC", ^{
+ describe(@"when initialized with 'init'", ^{
+ __block SDLDialNumber *testRequest = nil;
+ beforeEach(^{
+ testRequest = [[SDLDialNumber alloc] init];
+ });
+
+ context(@"when parameters are set correctly", ^{
+ __block NSString *somePhoneNumber = nil;
+ beforeEach(^{
+ somePhoneNumber = @"1234567890";
+ testRequest.number = [somePhoneNumber copy];
+ });
+
+ it(@"should get 'number' correctly", ^{
+ expect(testRequest.number).to(equal(somePhoneNumber));
+ });
+ });
+
+ context(@"when parameters are not set correctly", ^{
+ it(@"should return nil for number", ^{
+ expect(testRequest.number).to(beNil());
+ });
+ });
+ });
+
+ describe(@"when initialized with a dictionary and parameters are set correctly", ^{
+ __block SDLDialNumber *testRequest = nil;
+ __block NSString *somePhoneNumber = nil;
+ beforeEach(^{
+ somePhoneNumber = @"1234567890";
+ NSDictionary *initDict = @{
+ NAMES_request: @{
+ NAMES_parameters: @{
+ NAMES_number: [somePhoneNumber copy]
+ }
+ }
+ };
+
+ testRequest = [[SDLDialNumber alloc] initWithDictionary:[initDict mutableCopy]];
+ });
+
+ it(@"should get 'number' correctly", ^{
+ expect(testRequest.number).to(equal(somePhoneNumber));
+ });
+ });
+
+ describe(@"when initialized with a dictionary and parameters are not set correctly", ^{
+ __block SDLDialNumber *testRequest = nil;
+ beforeEach(^{
+ NSDictionary *initDict = @{
+ NAMES_request: @{
+ NAMES_parameters: @{
+ }
+ }
+ };
+
+ testRequest = [[SDLDialNumber alloc] initWithDictionary:[initDict mutableCopy]];
+ });
+
+ it(@"should return nil for number", ^{
+ expect(testRequest.number).to(beNil());
+ });
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLEncodedSyncPDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLEncodedSyncPDataSpec.m
new file mode 100755
index 000000000..753608940
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLEncodedSyncPDataSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLEncodedSyncPDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLEncodedSyncPData.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLEncodedSyncPDataSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLEncodedSyncPData* testRequest = [[SDLEncodedSyncPData alloc] init];
+
+ testRequest.data = [@[@2, @2, @2] mutableCopy];
+
+ expect(testRequest.data).to(equal([@[@2, @2, @2] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_data:[@[@2, @2, @2] mutableCopy]},
+ NAMES_operation_name:NAMES_EncodedSyncPData}} mutableCopy];
+ SDLEncodedSyncPData* testRequest = [[SDLEncodedSyncPData alloc] initWithDictionary:dict];
+
+ expect(testRequest.data).to(equal([@[@2, @2, @2] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLEncodedSyncPData* testRequest = [[SDLEncodedSyncPData alloc] init];
+
+ expect(testRequest.data).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLEndAudioPassThruSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLEndAudioPassThruSpec.m
new file mode 100644
index 000000000..843d917be
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLEndAudioPassThruSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLEndAudioPassThruSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLEndAudioPassThru.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLEndAudioPassThruSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m
new file mode 100755
index 000000000..87f84fd4d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m
@@ -0,0 +1,47 @@
+//
+// SDLGetDTCsSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLGetDTCs.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLGetDTCsSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLGetDTCs* testRequest = [[SDLGetDTCs alloc] init];
+
+ testRequest.ecuName = @4321;
+ testRequest.dtcMask = @22;
+
+ expect(testRequest.ecuName).to(equal(@4321));
+ expect(testRequest.dtcMask).to(equal(@22));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_ecuName:@4321,
+ NAMES_dtcMask:@22},
+ NAMES_operation_name:NAMES_EndAudioPassThru}} mutableCopy];
+ SDLGetDTCs* testRequest = [[SDLGetDTCs alloc] initWithDictionary:dict];
+
+ expect(testRequest.ecuName).to(equal(@4321));
+ expect(testRequest.dtcMask).to(equal(@22));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLGetDTCs* testRequest = [[SDLGetDTCs alloc] init];
+
+ expect(testRequest.ecuName).to(beNil());
+ expect(testRequest.dtcMask).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m
new file mode 100644
index 000000000..936550ce7
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m
@@ -0,0 +1,162 @@
+//
+// SDLGetVehicleDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLGetVehicleData.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLGetVehicleDataSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLGetVehicleData* testRequest = [[SDLGetVehicleData alloc] init];
+
+ testRequest.gps = @NO;
+ testRequest.speed = @YES;
+ testRequest.rpm = @NO;
+ testRequest.fuelLevel = @YES;
+ testRequest.fuelLevel_State = @NO;
+ testRequest.instantFuelConsumption = @YES;
+ testRequest.externalTemperature = @NO;
+ testRequest.vin = @YES;
+ testRequest.prndl = @NO;
+ testRequest.tirePressure = @YES;
+ testRequest.odometer = @NO;
+ testRequest.beltStatus = @YES;
+ testRequest.bodyInformation = @NO;
+ testRequest.deviceStatus = @YES;
+ testRequest.driverBraking = @NO;
+ testRequest.wiperStatus = @YES;
+ testRequest.headLampStatus = @NO;
+ testRequest.engineTorque = @YES;
+ testRequest.accPedalPosition = @NO;
+ testRequest.steeringWheelAngle = @YES;
+ testRequest.eCallInfo = @NO;
+ testRequest.airbagStatus = @YES;
+ testRequest.emergencyEvent = @NO;
+ testRequest.clusterModeStatus = @YES;
+ testRequest.myKey = @NO;
+
+ expect(testRequest.gps).to(equal(@NO));
+ expect(testRequest.speed).to(equal(@YES));
+ expect(testRequest.rpm).to(equal(@NO));
+ expect(testRequest.fuelLevel).to(equal(@YES));
+ expect(testRequest.fuelLevel_State).to(equal(@NO));
+ expect(testRequest.instantFuelConsumption).to(equal(@YES));
+ expect(testRequest.externalTemperature).to(equal(@NO));
+ expect(testRequest.vin).to(equal(@YES));
+ expect(testRequest.prndl).to(equal(@NO));
+ expect(testRequest.tirePressure).to(equal(@YES));
+ expect(testRequest.odometer).to(equal(@NO));
+ expect(testRequest.beltStatus).to(equal(@YES));
+ expect(testRequest.bodyInformation).to(equal(@NO));
+ expect(testRequest.deviceStatus).to(equal(@YES));
+ expect(testRequest.driverBraking).to(equal(@NO));
+ expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.headLampStatus).to(equal(@NO));
+ expect(testRequest.engineTorque).to(equal(@YES));
+ expect(testRequest.accPedalPosition).to(equal(@NO));
+ expect(testRequest.steeringWheelAngle).to(equal(@YES));
+ expect(testRequest.eCallInfo).to(equal(@NO));
+ expect(testRequest.airbagStatus).to(equal(@YES));
+ expect(testRequest.emergencyEvent).to(equal(@NO));
+ expect(testRequest.clusterModeStatus).to(equal(@YES));
+ expect(testRequest.myKey).to(equal(@NO));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_gps:@NO,
+ NAMES_speed:@YES,
+ NAMES_rpm:@NO,
+ NAMES_fuelLevel:@YES,
+ NAMES_fuelLevel_State:@NO,
+ NAMES_instantFuelConsumption:@YES,
+ NAMES_externalTemperature:@NO,
+ NAMES_vin:@YES,
+ NAMES_prndl:@NO,
+ NAMES_tirePressure:@YES,
+ NAMES_odometer:@NO,
+ NAMES_beltStatus:@YES,
+ NAMES_bodyInformation:@NO,
+ NAMES_deviceStatus:@YES,
+ NAMES_driverBraking:@NO,
+ NAMES_wiperStatus:@YES,
+ NAMES_headLampStatus:@NO,
+ NAMES_engineTorque:@YES,
+ NAMES_accPedalPosition:@NO,
+ NAMES_steeringWheelAngle:@YES,
+ NAMES_eCallInfo:@NO,
+ NAMES_airbagStatus:@YES,
+ NAMES_emergencyEvent:@NO,
+ NAMES_clusterModeStatus:@YES,
+ NAMES_myKey:@NO},
+ NAMES_operation_name:NAMES_GetVehicleData}} mutableCopy];
+ SDLGetVehicleData* testRequest = [[SDLGetVehicleData alloc] initWithDictionary:dict];
+
+ expect(testRequest.gps).to(equal(@NO));
+ expect(testRequest.speed).to(equal(@YES));
+ expect(testRequest.rpm).to(equal(@NO));
+ expect(testRequest.fuelLevel).to(equal(@YES));
+ expect(testRequest.fuelLevel_State).to(equal(@NO));
+ expect(testRequest.instantFuelConsumption).to(equal(@YES));
+ expect(testRequest.externalTemperature).to(equal(@NO));
+ expect(testRequest.vin).to(equal(@YES));
+ expect(testRequest.prndl).to(equal(@NO));
+ expect(testRequest.tirePressure).to(equal(@YES));
+ expect(testRequest.odometer).to(equal(@NO));
+ expect(testRequest.beltStatus).to(equal(@YES));
+ expect(testRequest.bodyInformation).to(equal(@NO));
+ expect(testRequest.deviceStatus).to(equal(@YES));
+ expect(testRequest.driverBraking).to(equal(@NO));
+ expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.headLampStatus).to(equal(@NO));
+ expect(testRequest.engineTorque).to(equal(@YES));
+ expect(testRequest.accPedalPosition).to(equal(@NO));
+ expect(testRequest.steeringWheelAngle).to(equal(@YES));
+ expect(testRequest.eCallInfo).to(equal(@NO));
+ expect(testRequest.airbagStatus).to(equal(@YES));
+ expect(testRequest.emergencyEvent).to(equal(@NO));
+ expect(testRequest.clusterModeStatus).to(equal(@YES));
+ expect(testRequest.myKey).to(equal(@NO));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLGetVehicleData* testRequest = [[SDLGetVehicleData alloc] init];
+
+ expect(testRequest.gps).to(beNil());
+ expect(testRequest.speed).to(beNil());
+ expect(testRequest.rpm).to(beNil());
+ expect(testRequest.fuelLevel).to(beNil());
+ expect(testRequest.fuelLevel_State).to(beNil());
+ expect(testRequest.instantFuelConsumption).to(beNil());
+ expect(testRequest.externalTemperature).to(beNil());
+ expect(testRequest.vin).to(beNil());
+ expect(testRequest.prndl).to(beNil());
+ expect(testRequest.tirePressure).to(beNil());
+ expect(testRequest.odometer).to(beNil());
+ expect(testRequest.beltStatus).to(beNil());
+ expect(testRequest.bodyInformation).to(beNil());
+ expect(testRequest.deviceStatus).to(beNil());
+ expect(testRequest.driverBraking).to(beNil());
+ expect(testRequest.wiperStatus).to(beNil());
+ expect(testRequest.headLampStatus).to(beNil());
+ expect(testRequest.engineTorque).to(beNil());
+ expect(testRequest.accPedalPosition).to(beNil());
+ expect(testRequest.steeringWheelAngle).to(beNil());
+ expect(testRequest.eCallInfo).to(beNil());
+ expect(testRequest.airbagStatus).to(beNil());
+ expect(testRequest.emergencyEvent).to(beNil());
+ expect(testRequest.clusterModeStatus).to(beNil());
+ expect(testRequest.myKey).to(beNil());
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLListFilesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLListFilesSpec.m
new file mode 100644
index 000000000..0f0084f41
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLListFilesSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLListFilesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLListFiles.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLListFilesSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m
new file mode 100644
index 000000000..011a7adf5
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m
@@ -0,0 +1,76 @@
+//
+// SDLPerformAudioPassThruSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAudioType.h"
+#import "SDLBitsPerSample.h"
+#import "SDLNames.h"
+#import "SDLPerformAudioPassThru.h"
+#import "SDLSamplingRate.h"
+
+
+QuickSpecBegin(SDLPerformAudioPassThruSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLPerformAudioPassThru* testRequest = [[SDLPerformAudioPassThru alloc] init];
+
+ testRequest.audioPassThruDisplayText1 = @"passthru#1";
+ testRequest.audioPassThruDisplayText2 = @"passthru#2";
+ testRequest.samplingRate = [SDLSamplingRate _22KHZ];
+ testRequest.maxDuration = @34563;
+ testRequest.bitsPerSample = [SDLBitsPerSample _16_BIT];
+ testRequest.audioType = [SDLAudioType PCM];
+ testRequest.muteAudio = @NO;
+
+ expect(testRequest.audioPassThruDisplayText1).to(equal(@"passthru#1"));
+ expect(testRequest.audioPassThruDisplayText2).to(equal(@"passthru#2"));
+ expect(testRequest.samplingRate).to(equal([SDLSamplingRate _22KHZ]));
+ expect(testRequest.maxDuration).to(equal(@34563));
+ expect(testRequest.bitsPerSample).to(equal([SDLBitsPerSample _16_BIT]));
+ expect(testRequest.audioType).to(equal([SDLAudioType PCM]));
+ expect(testRequest.muteAudio).to(equal(@NO));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_audioPassThruDisplayText1:@"passthru#1",
+ NAMES_audioPassThruDisplayText2:@"passthru#2",
+ NAMES_samplingRate:[SDLSamplingRate _22KHZ],
+ NAMES_maxDuration:@34563,
+ NAMES_bitsPerSample:[SDLBitsPerSample _16_BIT],
+ NAMES_audioType:[SDLAudioType PCM],
+ NAMES_muteAudio:@NO},
+ NAMES_operation_name:NAMES_PerformAudioPassThru}} mutableCopy];
+ SDLPerformAudioPassThru* testRequest = [[SDLPerformAudioPassThru alloc] initWithDictionary:dict];
+
+ expect(testRequest.audioPassThruDisplayText1).to(equal(@"passthru#1"));
+ expect(testRequest.audioPassThruDisplayText2).to(equal(@"passthru#2"));
+ expect(testRequest.samplingRate).to(equal([SDLSamplingRate _22KHZ]));
+ expect(testRequest.maxDuration).to(equal(@34563));
+ expect(testRequest.bitsPerSample).to(equal([SDLBitsPerSample _16_BIT]));
+ expect(testRequest.audioType).to(equal([SDLAudioType PCM]));
+ expect(testRequest.muteAudio).to(equal(@NO));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLPerformAudioPassThru* testRequest = [[SDLPerformAudioPassThru alloc] init];
+
+ expect(testRequest.audioPassThruDisplayText1).to(beNil());
+ expect(testRequest.audioPassThruDisplayText2).to(beNil());
+ expect(testRequest.samplingRate).to(beNil());
+ expect(testRequest.maxDuration).to(beNil());
+ expect(testRequest.bitsPerSample).to(beNil());
+ expect(testRequest.audioType).to(beNil());
+ expect(testRequest.muteAudio).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformInteractionSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformInteractionSpec.m
new file mode 100644
index 000000000..c89c3d5bd
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformInteractionSpec.m
@@ -0,0 +1,91 @@
+//
+// SDLPerformInteractionSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLInteractionMode.h"
+#import "SDLLayoutMode.h"
+#import "SDLPerformInteraction.h"
+#import "SDLTTSChunk.h"
+#import "SDLVrHelpItem.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLPerformInteractionSpec)
+
+SDLTTSChunk* chunk1 = [[SDLTTSChunk alloc] init];
+SDLTTSChunk* chunk2 = [[SDLTTSChunk alloc] init];
+SDLTTSChunk* chunk3 = [[SDLTTSChunk alloc] init];
+SDLVRHelpItem* helpItem = [[SDLVRHelpItem alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLPerformInteraction* testRequest = [[SDLPerformInteraction alloc] init];
+
+ testRequest.initialText = @"a";
+ testRequest.initialPrompt = [@[chunk1] mutableCopy];
+ testRequest.interactionMode = [SDLInteractionMode VR_ONLY];
+ testRequest.interactionChoiceSetIDList = [@[@1, @2, @3] mutableCopy];
+ testRequest.helpPrompt = [@[chunk2] mutableCopy];
+ testRequest.timeoutPrompt = [@[chunk3] mutableCopy];
+ testRequest.timeout = @42000;
+ testRequest.vrHelp = [@[helpItem] mutableCopy];
+ testRequest.interactionLayout = [SDLLayoutMode ICON_WITH_SEARCH];
+
+ expect(testRequest.initialText).to(equal(@"a"));
+ expect(testRequest.initialPrompt).to(equal([@[chunk1] mutableCopy]));
+ expect(testRequest.interactionMode).to(equal([SDLInteractionMode VR_ONLY]));
+ expect(testRequest.interactionChoiceSetIDList).to(equal([@[@1, @2, @3] mutableCopy]));
+ expect(testRequest.helpPrompt).to(equal([@[chunk2] mutableCopy]));
+ expect(testRequest.timeoutPrompt).to(equal([@[chunk3] mutableCopy]));
+ expect(testRequest.timeout).to(equal(@42000));
+ expect(testRequest.vrHelp).to(equal([@[helpItem] mutableCopy]));
+ expect(testRequest.interactionLayout).to(equal([SDLLayoutMode ICON_WITH_SEARCH]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_initialText:@"a",
+ NAMES_initialPrompt:[@[chunk1] mutableCopy],
+ NAMES_interactionMode:[SDLInteractionMode VR_ONLY],
+ NAMES_interactionChoiceSetIDList:[@[@1, @2, @3] mutableCopy],
+ NAMES_helpPrompt:[@[chunk2] mutableCopy],
+ NAMES_timeoutPrompt:[@[chunk3] mutableCopy],
+ NAMES_timeout:@42000,
+ NAMES_vrHelp:[@[helpItem] mutableCopy],
+ NAMES_interactionLayout:[SDLLayoutMode ICON_WITH_SEARCH]},
+ NAMES_operation_name:NAMES_PerformInteraction}} mutableCopy];
+ SDLPerformInteraction* testRequest = [[SDLPerformInteraction alloc] initWithDictionary:dict];
+
+ expect(testRequest.initialText).to(equal(@"a"));
+ expect(testRequest.initialPrompt).to(equal([@[chunk1] mutableCopy]));
+ expect(testRequest.interactionMode).to(equal([SDLInteractionMode VR_ONLY]));
+ expect(testRequest.interactionChoiceSetIDList).to(equal([@[@1, @2, @3] mutableCopy]));
+ expect(testRequest.helpPrompt).to(equal([@[chunk2] mutableCopy]));
+ expect(testRequest.timeoutPrompt).to(equal([@[chunk3] mutableCopy]));
+ expect(testRequest.timeout).to(equal(@42000));
+ expect(testRequest.vrHelp).to(equal([@[helpItem] mutableCopy]));
+ expect(testRequest.interactionLayout).to(equal([SDLLayoutMode ICON_WITH_SEARCH]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLPerformInteraction* testRequest = [[SDLPerformInteraction alloc] init];
+
+ expect(testRequest.initialText).to(beNil());
+ expect(testRequest.initialPrompt).to(beNil());
+ expect(testRequest.interactionMode).to(beNil());
+ expect(testRequest.interactionChoiceSetIDList).to(beNil());
+ expect(testRequest.helpPrompt).to(beNil());
+ expect(testRequest.timeoutPrompt).to(beNil());
+ expect(testRequest.timeout).to(beNil());
+ expect(testRequest.vrHelp).to(beNil());
+ expect(testRequest.interactionLayout).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPutFileSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPutFileSpec.m
new file mode 100644
index 000000000..bfa24dc13
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPutFileSpec.m
@@ -0,0 +1,69 @@
+//
+// SDLPutFileSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLFileType.h"
+#import "SDLNames.h"
+#import "SDLPutFile.h"
+
+
+QuickSpecBegin(SDLPutFileSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLPutFile* testRequest = [[SDLPutFile alloc] init];
+
+ testRequest.syncFileName = @"fileName";
+ testRequest.fileType = [SDLFileType GRAPHIC_JPEG];
+ testRequest.persistentFile = @YES;
+ testRequest.systemFile = @NO;
+ testRequest.offset = @987654321;
+ testRequest.length = @123456789;
+
+ expect(testRequest.syncFileName).to(equal(@"fileName"));
+ expect(testRequest.fileType).to(equal([SDLFileType GRAPHIC_JPEG]));
+ expect(testRequest.persistentFile).to(equal(@YES));
+ expect(testRequest.systemFile).to(equal(@NO));
+ expect(testRequest.offset).to(equal(@987654321));
+ expect(testRequest.length).to(equal(@123456789));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_syncFileName:@"fileName",
+ NAMES_fileType:[SDLFileType GRAPHIC_JPEG],
+ NAMES_persistentFile:@YES,
+ NAMES_systemFile:@NO,
+ NAMES_offset:@987654321,
+ NAMES_length:@123456789},
+ NAMES_operation_name:NAMES_PutFile}} mutableCopy];
+ SDLPutFile* testRequest = [[SDLPutFile alloc] initWithDictionary:dict];
+
+ expect(testRequest.syncFileName).to(equal(@"fileName"));
+ expect(testRequest.fileType).to(equal([SDLFileType GRAPHIC_JPEG]));
+ expect(testRequest.persistentFile).to(equal(@YES));
+ expect(testRequest.systemFile).to(equal(@NO));
+ expect(testRequest.offset).to(equal(@987654321));
+ expect(testRequest.length).to(equal(@123456789));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLPutFile* testRequest = [[SDLPutFile alloc] init];
+
+ expect(testRequest.syncFileName).to(beNil());
+ expect(testRequest.fileType).to(beNil());
+ expect(testRequest.persistentFile).to(beNil());
+ expect(testRequest.systemFile).to(beNil());
+ expect(testRequest.offset).to(beNil());
+ expect(testRequest.length).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m
new file mode 100644
index 000000000..7c5598bbb
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m
@@ -0,0 +1,47 @@
+//
+// SDLReadDIDSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLReadDID.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLReadDIDSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLReadDID* testRequest = [[SDLReadDID alloc] init];
+
+ testRequest.ecuName = @33112;
+ testRequest.didLocation = [@[@200, @201, @205] mutableCopy];
+
+ expect(testRequest.ecuName).to(equal(@33112));
+ expect(testRequest.didLocation).to(equal([@[@200, @201, @205] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_ecuName:@33112,
+ NAMES_didLocation:[@[@200, @201, @205] mutableCopy]},
+ NAMES_operation_name:NAMES_EndAudioPassThru}} mutableCopy];
+ SDLReadDID* testRequest = [[SDLReadDID alloc] initWithDictionary:dict];
+
+ expect(testRequest.ecuName).to(equal(@33112));
+ expect(testRequest.didLocation).to(equal([@[@200, @201, @205] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLReadDID* testRequest = [[SDLReadDID alloc] init];
+
+ expect(testRequest.ecuName).to(beNil());
+ expect(testRequest.didLocation).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m
new file mode 100644
index 000000000..6e8a4cc5d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m
@@ -0,0 +1,107 @@
+//
+// SDLRegisterAppInterfaceSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAppHMIType.h"
+#import "SDLDeviceInfo.h"
+#import "SDLLanguage.h"
+#import "SDLNames.h"
+#import "SDLRegisterAppInterface.h"
+#import "SDLSyncMsgVersion.h"
+#import "SDLTTSChunk.h"
+
+
+QuickSpecBegin(SDLRegisterAppInterfaceSpec)
+
+SDLSyncMsgVersion* version = [[SDLSyncMsgVersion alloc] init];
+SDLTTSChunk* chunk = [[SDLTTSChunk alloc] init];
+SDLDeviceInfo* info = [[SDLDeviceInfo alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLRegisterAppInterface* testRequest = [[SDLRegisterAppInterface alloc] init];
+
+ testRequest.syncMsgVersion = version;
+ testRequest.appName = @"app56";
+ testRequest.ttsName = [@[chunk] mutableCopy];
+ testRequest.ngnMediaScreenAppName = @"whatisanngn";
+ testRequest.vrSynonyms = [@[@"paraphrase of the original name"] mutableCopy];
+ testRequest.isMediaApplication = @NO;
+ testRequest.languageDesired = [SDLLanguage NO_NO];
+ testRequest.hmiDisplayLanguageDesired = [SDLLanguage PT_PT];
+ testRequest.appHMIType = [@[[SDLAppHMIType MESSAGING], [SDLAppHMIType INFORMATION]] copy];
+ testRequest.hashID = @"gercd35grw2";
+ testRequest.deviceInfo = info;
+ testRequest.appID = @"123456789";
+
+ expect(testRequest.syncMsgVersion).to(equal(version));
+ expect(testRequest.appName).to(equal(@"app56"));
+ expect(testRequest.ttsName).to(equal([@[chunk] mutableCopy]));
+ expect(testRequest.ngnMediaScreenAppName).to(equal(@"whatisanngn"));
+ expect(testRequest.vrSynonyms).to(equal([@[@"paraphrase of the original name"] mutableCopy]));
+ expect(testRequest.isMediaApplication).to(equal(@NO));
+ expect(testRequest.languageDesired).to(equal([SDLLanguage NO_NO]));
+ expect(testRequest.hmiDisplayLanguageDesired).to(equal([SDLLanguage PT_PT]));
+ expect(testRequest.appHMIType).to(equal([@[[SDLAppHMIType MESSAGING], [SDLAppHMIType INFORMATION]] copy]));
+ expect(testRequest.hashID).to(equal(@"gercd35grw2"));
+ expect(testRequest.deviceInfo).to(equal(info));
+ expect(testRequest.appID).to(equal(@"123456789"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_syncMsgVersion:version,
+ NAMES_appName:@"app56",
+ NAMES_ttsName:[@[chunk] mutableCopy],
+ NAMES_ngnMediaScreenAppName:@"whatisanngn",
+ NAMES_vrSynonyms:[@[@"paraphrase of the original name"] mutableCopy],
+ NAMES_isMediaApplication:@NO,
+ NAMES_languageDesired:[SDLLanguage NO_NO],
+ NAMES_hmiDisplayLanguageDesired:[SDLLanguage PT_PT],
+ NAMES_appHMIType:[@[[SDLAppHMIType MESSAGING], [SDLAppHMIType INFORMATION]] copy],
+ NAMES_hashID:@"gercd35grw2",
+ NAMES_deviceInfo:info,
+ NAMES_appID:@"123456789"},
+ NAMES_operation_name:NAMES_RegisterAppInterface}} mutableCopy];
+ SDLRegisterAppInterface* testRequest = [[SDLRegisterAppInterface alloc] initWithDictionary:dict];
+
+ expect(testRequest.syncMsgVersion).to(equal(version));
+ expect(testRequest.appName).to(equal(@"app56"));
+ expect(testRequest.ttsName).to(equal([@[chunk] mutableCopy]));
+ expect(testRequest.ngnMediaScreenAppName).to(equal(@"whatisanngn"));
+ expect(testRequest.vrSynonyms).to(equal([@[@"paraphrase of the original name"] mutableCopy]));
+ expect(testRequest.isMediaApplication).to(equal(@NO));
+ expect(testRequest.languageDesired).to(equal([SDLLanguage NO_NO]));
+ expect(testRequest.hmiDisplayLanguageDesired).to(equal([SDLLanguage PT_PT]));
+ expect(testRequest.appHMIType).to(equal([@[[SDLAppHMIType MESSAGING], [SDLAppHMIType INFORMATION]] copy]));
+ expect(testRequest.hashID).to(equal(@"gercd35grw2"));
+ expect(testRequest.deviceInfo).to(equal(info));
+ expect(testRequest.appID).to(equal(@"123456789"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLRegisterAppInterface* testRequest = [[SDLRegisterAppInterface alloc] init];
+
+ expect(testRequest.syncMsgVersion).to(beNil());
+ expect(testRequest.appName).to(beNil());
+ expect(testRequest.ttsName).to(beNil());
+ expect(testRequest.ngnMediaScreenAppName).to(beNil());
+ expect(testRequest.vrSynonyms).to(beNil());
+ expect(testRequest.isMediaApplication).to(beNil());
+ expect(testRequest.languageDesired).to(beNil());
+ expect(testRequest.hmiDisplayLanguageDesired).to(beNil());
+ expect(testRequest.appHMIType).to(beNil());
+ expect(testRequest.hashID).to(beNil());
+ expect(testRequest.deviceInfo).to(beNil());
+ expect(testRequest.appID).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m
new file mode 100644
index 000000000..e99320f18
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m
@@ -0,0 +1,43 @@
+//
+// SDLResetGlobalPropertiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLResetGlobalProperties.h"
+#import "SDLGlobalProperty.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLResetGlobalPropertiesSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLResetGlobalProperties* testRequest = [[SDLResetGlobalProperties alloc] init];
+
+ testRequest.properties = [@[[SDLGlobalProperty MENUNAME], [SDLGlobalProperty VRHELPTITLE]] copy];
+
+ expect(testRequest.properties).to(equal([@[[SDLGlobalProperty MENUNAME], [SDLGlobalProperty VRHELPTITLE]] copy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_properties:[@[[SDLGlobalProperty MENUNAME], [SDLGlobalProperty VRHELPTITLE]] copy]},
+ NAMES_operation_name:NAMES_ResetGlobalProperties}} mutableCopy];
+ SDLResetGlobalProperties* testRequest = [[SDLResetGlobalProperties alloc] initWithDictionary:dict];
+
+ expect(testRequest.properties).to(equal([@[[SDLGlobalProperty MENUNAME], [SDLGlobalProperty VRHELPTITLE]] copy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLResetGlobalProperties* testRequest = [[SDLResetGlobalProperties alloc] init];
+
+ expect(testRequest.properties).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLScrollableMessageSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLScrollableMessageSpec.m
new file mode 100644
index 000000000..6b1142d6b
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLScrollableMessageSpec.m
@@ -0,0 +1,55 @@
+//
+// SDLScrollableMessageSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLScrollableMessage.h"
+#import "SDLSoftButton.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLScrollableMessageSpec)
+
+SDLSoftButton* button = [[SDLSoftButton alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLScrollableMessage* testRequest = [[SDLScrollableMessage alloc] init];
+
+ testRequest.scrollableMessageBody = @"thatmessagebody";
+ testRequest.timeout = @9182;
+ testRequest.softButtons = [@[button] mutableCopy];
+
+ expect(testRequest.scrollableMessageBody).to(equal(@"thatmessagebody"));
+ expect(testRequest.timeout).to(equal(@9182));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_scrollableMessageBody:@"thatmessagebody",
+ NAMES_timeout:@9182,
+ NAMES_softButtons:[@[button] mutableCopy]},
+ NAMES_operation_name:NAMES_ScrollableMessage}} mutableCopy];
+ SDLScrollableMessage* testRequest = [[SDLScrollableMessage alloc] initWithDictionary:dict];
+
+ expect(testRequest.scrollableMessageBody).to(equal(@"thatmessagebody"));
+ expect(testRequest.timeout).to(equal(@9182));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLScrollableMessage* testRequest = [[SDLScrollableMessage alloc] init];
+
+ expect(testRequest.scrollableMessageBody).to(beNil());
+ expect(testRequest.timeout).to(beNil());
+ expect(testRequest.softButtons).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m
new file mode 100644
index 000000000..cfd0a4abf
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m
@@ -0,0 +1,312 @@
+//
+// SDLSendLocationSpec.m
+// SmartDeviceLink-iOS
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLNames.h"
+#import "SDLSendLocation.h"
+
+
+QuickSpecBegin(SDLSendLocationSpec)
+
+describe(@"Send Location RPC", ^{
+ __block SDLSendLocation *testRequest = nil;
+ __block NSNumber *someLongitude = nil;
+ __block NSNumber *someLatitude = nil;
+ __block NSString *someLocation = nil;
+ __block NSString *someLocationDescription = nil;
+ __block NSArray *someAddressLines = nil;
+ __block NSString *somePhoneNumber = nil;
+ __block SDLImage *someImage = nil;
+
+ describe(@"when initialized with init", ^{
+ beforeEach(^{
+ testRequest = [[SDLSendLocation alloc] init];
+ });
+
+ context(@"when parameters are set correctly", ^{
+ context(@"when parameters are set with immutable properties", ^{
+ beforeEach(^{
+ someLongitude = @123.4567;
+ someLatitude = @65.4321;
+ someLocation = @"Livio";
+ someLocationDescription = @"A great place to work";
+ someAddressLines = @[@"3136 Hilton Rd", @"Ferndale, MI", @"48220"];
+ somePhoneNumber = @"248-591-0333";
+ someImage = [[SDLImage alloc] init];
+
+ testRequest.longitudeDegrees = someLongitude;
+ testRequest.latitudeDegrees = someLatitude;
+ testRequest.locationName = someLocation;
+ testRequest.locationDescription = someLocationDescription;
+ testRequest.addressLines = someAddressLines;
+ testRequest.phoneNumber = somePhoneNumber;
+ testRequest.locationImage = someImage;
+ });
+
+ // Since all the properties are immutable, a copy should be executed as a retain, which means they should be identical
+ it(@"should get longitude correctly", ^{
+ expect(testRequest.longitudeDegrees).to(equal(someLongitude));
+ expect(testRequest.longitudeDegrees).to(beIdenticalTo(someLongitude));
+ });
+
+ it(@"should get latitude correctly", ^{
+ expect(testRequest.latitudeDegrees).to(equal(someLatitude));
+ expect(testRequest.latitudeDegrees).to(beIdenticalTo(someLatitude));
+ });
+
+ it(@"should get location correctly", ^{
+ expect(testRequest.locationName).to(equal(someLocation));
+ expect(testRequest.locationName).to(beIdenticalTo(someLocation));
+ });
+
+ it(@"should get location description correctly", ^{
+ expect(testRequest.locationDescription).to(equal(someLocationDescription));
+ expect(testRequest.locationDescription).to(beIdenticalTo(someLocationDescription));
+ });
+
+ it(@"should get address lines correctly", ^{
+ expect(testRequest.addressLines).to(equal(someAddressLines));
+ expect(testRequest.addressLines).to(beIdenticalTo(someAddressLines));
+ });
+
+ it(@"should get phone number correctly", ^{
+ expect(testRequest.phoneNumber).to(equal(somePhoneNumber));
+ expect(testRequest.phoneNumber).to(beIdenticalTo(somePhoneNumber));
+ });
+
+ it(@"should get image correctly", ^{
+ expect(testRequest.locationImage).to(equal(someImage));
+ expect(testRequest.locationImage).to(beIdenticalTo(someImage));
+ });
+ });
+
+ context(@"when strings and arrays are set with mutable properties", ^{
+ beforeEach(^{
+ someLocation = [NSMutableString stringWithString:@"Livio"];
+ someLocationDescription = [NSMutableString stringWithString:@"A great place to work"];
+ someAddressLines = [NSMutableArray arrayWithArray:@[@"3136 Hilton Rd", @"Ferndale, MI", @"48220"]];
+ somePhoneNumber = [NSMutableString stringWithString:@"248-591-0333"];
+
+ testRequest.locationName = someLocation;
+ testRequest.locationDescription = someLocationDescription;
+ testRequest.addressLines = someAddressLines;
+ testRequest.phoneNumber = somePhoneNumber;
+ });
+
+ // Since all the properties tested are mutable, they should be copied, and therefore not identical
+ it(@"should get location correctly", ^{
+ expect(testRequest.locationName).to(equal(someLocation));
+ expect(testRequest.locationName).toNot(beIdenticalTo(someLocation));
+ });
+
+ it(@"should get location description correctly", ^{
+ expect(testRequest.locationDescription).to(equal(someLocationDescription));
+ expect(testRequest.locationDescription).toNot(beIdenticalTo(someLocationDescription));
+ });
+
+ it(@"should get address lines correctly", ^{
+ expect(testRequest.addressLines).to(equal(someAddressLines));
+ expect(testRequest.addressLines).toNot(beIdenticalTo(someAddressLines));
+ });
+
+ it(@"should get phone number correctly", ^{
+ expect(testRequest.phoneNumber).to(equal(somePhoneNumber));
+ expect(testRequest.phoneNumber).toNot(beIdenticalTo(somePhoneNumber));
+ });
+
+ it(@"should get image correctly", ^{
+ expect(testRequest.locationImage).to(equal(someImage));
+ expect(testRequest.locationImage).toNot(beIdenticalTo(someImage));
+ });
+ });
+ });
+
+ context(@"when parameters are not set", ^{
+ it(@"should return nil for longitude", ^{
+ expect(testRequest.longitudeDegrees).to(beNil());
+ });
+
+ it(@"should return nil for latitude", ^{
+ expect(testRequest.latitudeDegrees).to(beNil());
+ });
+
+ it(@"should return nil for location", ^{
+ expect(testRequest.locationName).to(beNil());
+ });
+
+ it(@"should return nil for location description", ^{
+ expect(testRequest.locationDescription).to(beNil());
+ });
+
+ it(@"should return nil for address lines", ^{
+ expect(testRequest.addressLines).to(beNil());
+ });
+
+ it(@"should return nil for phone number", ^{
+ expect(testRequest.phoneNumber).to(beNil());
+ });
+
+ it(@"should return nil for image", ^{
+ expect(testRequest.locationImage).to(beNil());
+ });
+ });
+ });
+
+ describe(@"when initialized with a dictionary", ^{
+ context(@"when parameters are set correctly", ^{
+ beforeEach(^{
+ someLongitude = @123.4567;
+ someLatitude = @65.4321;
+ someLocation = @"Livio";
+ someLocationDescription = @"A great place to work";
+ someAddressLines = @[@"3136 Hilton Rd", @"Ferndale, MI", @"48220"];
+ somePhoneNumber = @"248-591-0333";
+ someImage = [[SDLImage alloc] init];
+ NSDictionary *initDict = @{
+ NAMES_request: @{
+ NAMES_parameters: @{
+ NAMES_longitudeDegrees: someLongitude,
+ NAMES_latitudeDegrees: someLatitude,
+ NAMES_locationName: someLocation,
+ NAMES_locationDescription: someLocationDescription,
+ NAMES_addressLines: someAddressLines,
+ NAMES_phoneNumber: somePhoneNumber,
+ NAMES_image: someImage
+ }
+ }
+ };
+
+ testRequest = [[SDLSendLocation alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
+ });
+
+ // Since all the properties are immutable, a copy should be executed as a retain, which means they should be identical
+ it(@"should get longitude correctly", ^{
+ expect(testRequest.longitudeDegrees).to(equal(someLongitude));
+ expect(testRequest.longitudeDegrees).to(beIdenticalTo(someLongitude));
+ });
+
+ it(@"should get latitude correctly", ^{
+ expect(testRequest.latitudeDegrees).to(equal(someLatitude));
+ expect(testRequest.latitudeDegrees).to(beIdenticalTo(someLatitude));
+ });
+
+ it(@"should get location correctly", ^{
+ expect(testRequest.locationName).to(equal(someLocation));
+ expect(testRequest.locationName).to(beIdenticalTo(someLocation));
+ });
+
+ it(@"should get location description correctly", ^{
+ expect(testRequest.locationDescription).to(equal(someLocationDescription));
+ expect(testRequest.locationDescription).to(beIdenticalTo(someLocationDescription));
+ });
+
+ it(@"should get address lines correctly", ^{
+ expect(testRequest.addressLines).to(equal(someAddressLines));
+ expect(testRequest.addressLines).to(beIdenticalTo(someAddressLines));
+ });
+
+ it(@"should get phone number correctly", ^{
+ expect(testRequest.phoneNumber).to(equal(somePhoneNumber));
+ expect(testRequest.phoneNumber).to(beIdenticalTo(somePhoneNumber));
+ });
+
+ it(@"should get image correctly", ^{
+ expect(testRequest.locationImage).to(equal(someImage));
+ expect(testRequest.locationImage).to(beIdenticalTo(someImage));
+ });
+ });
+
+ context(@"when strings and arrays are set with mutable properties", ^{
+ beforeEach(^{
+ someLocation = [NSMutableString stringWithString:@"Livio"];
+ someLocationDescription = [NSMutableString stringWithString:@"A great place to work"];
+ someAddressLines = [NSMutableArray arrayWithArray:@[@"3136 Hilton Rd", @"Ferndale, MI", @"48220"]];
+ somePhoneNumber = [NSMutableString stringWithString:@"248-591-0333"];
+
+ NSDictionary *initDict = @{
+ NAMES_request: @{
+ NAMES_parameters: @{
+ NAMES_locationName: someLocation,
+ NAMES_locationDescription: someLocationDescription,
+ NAMES_addressLines: someAddressLines,
+ NAMES_phoneNumber: somePhoneNumber
+ }
+ }
+ };
+
+ testRequest = [[SDLSendLocation alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
+ });
+
+ // Since all the properties tested are mutable, they should be copied, and therefore not identical
+ it(@"should get location correctly", ^{
+ expect(testRequest.locationName).to(equal(someLocation));
+ expect(testRequest.locationName).toNot(beIdenticalTo(someLocation));
+ });
+
+ it(@"should get location description correctly", ^{
+ expect(testRequest.locationDescription).to(equal(someLocationDescription));
+ expect(testRequest.locationDescription).toNot(beIdenticalTo(someLocationDescription));
+ });
+
+ it(@"should get address lines correctly", ^{
+ expect(testRequest.addressLines).to(equal(someAddressLines));
+ expect(testRequest.addressLines).toNot(beIdenticalTo(someAddressLines));
+ });
+
+ it(@"should get phone number correctly", ^{
+ expect(testRequest.phoneNumber).to(equal(somePhoneNumber));
+ expect(testRequest.phoneNumber).toNot(beIdenticalTo(somePhoneNumber));
+ });
+
+ it(@"should get image correctly", ^{
+ expect(testRequest.locationImage).to(equal(someImage));
+ expect(testRequest.locationImage).toNot(beIdenticalTo(someImage));
+ });
+ });
+
+ context(@"when parameters are not set", ^{
+ beforeEach(^{
+ NSDictionary *initDict = @{
+ NAMES_request: @{
+ NAMES_parameters: @{}
+ }
+ };
+
+ testRequest = [[SDLSendLocation alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
+ });
+
+ it(@"should return nil for longitude", ^{
+ expect(testRequest.longitudeDegrees).to(beNil());
+ });
+
+ it(@"should return nil for latitude", ^{
+ expect(testRequest.latitudeDegrees).to(beNil());
+ });
+
+ it(@"should return nil for location", ^{
+ expect(testRequest.locationName).to(beNil());
+ });
+
+ it(@"should return nil for location description", ^{
+ expect(testRequest.locationDescription).to(beNil());
+ });
+
+ it(@"should return nil for address lines", ^{
+ expect(testRequest.addressLines).to(beNil());
+ });
+
+ it(@"should return nil for phone number", ^{
+ expect(testRequest.phoneNumber).to(beNil());
+ });
+
+ it(@"should return nil for image", ^{
+ expect(testRequest.locationImage).to(beNil());
+ });
+ });
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m
new file mode 100644
index 000000000..9c24c9e91
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLSetAppIconSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSetAppIcon.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSetAppIconSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSetAppIcon* testRequest = [[SDLSetAppIcon alloc] init];
+
+ testRequest.syncFileName = @"A/File/Name";
+
+ expect(testRequest.syncFileName).to(equal(@"A/File/Name"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_syncFileName:@"A/File/Name"},
+ NAMES_operation_name:NAMES_SetAppIcon}} mutableCopy];
+ SDLSetAppIcon* testRequest = [[SDLSetAppIcon alloc] initWithDictionary:dict];
+
+ expect(testRequest.syncFileName).to(equal(@"A/File/Name"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSetAppIcon* testRequest = [[SDLSetAppIcon alloc] init];
+
+ expect(testRequest.syncFileName).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m
new file mode 100644
index 000000000..41e63323a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLSetDisplayLayoutSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSetDisplayLayout.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSetDisplayLayoutSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSetDisplayLayout* testRequest = [[SDLSetDisplayLayout alloc] init];
+
+ testRequest.displayLayout = @"wat";
+
+ expect(testRequest.displayLayout).to(equal(@"wat"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_displayLayout:@"wat"},
+ NAMES_operation_name:NAMES_SetDisplayLayout}} mutableCopy];
+ SDLSetDisplayLayout* testRequest = [[SDLSetDisplayLayout alloc] initWithDictionary:dict];
+
+ expect(testRequest.displayLayout).to(equal(@"wat"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSetDisplayLayout* testRequest = [[SDLSetDisplayLayout alloc] init];
+
+ expect(testRequest.displayLayout).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetGlobalPropertiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetGlobalPropertiesSpec.m
new file mode 100644
index 000000000..437218896
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetGlobalPropertiesSpec.m
@@ -0,0 +1,83 @@
+//
+// SDLSetGlobalPropertiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImage.h"
+#import "SDLKeyboardProperties.h"
+#import "SDLNames.h"
+#import "SDLSetGlobalProperties.h"
+#import "SDLTTSChunk.h"
+#import "SDLVrHelpItem.h"
+
+
+QuickSpecBegin(SDLSetGlobalPropertiesSpec)
+
+SDLTTSChunk* chunk1 = [[SDLTTSChunk alloc] init];
+SDLTTSChunk* chunk2 = [[SDLTTSChunk alloc] init];
+SDLVRHelpItem* help = [[SDLVRHelpItem alloc] init];
+SDLImage* image = [[SDLImage alloc] init];
+SDLKeyboardProperties* keyboard = [[SDLKeyboardProperties alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSetGlobalProperties* testRequest = [[SDLSetGlobalProperties alloc] init];
+
+ testRequest.helpPrompt = [@[chunk1] mutableCopy];
+ testRequest.timeoutPrompt = [@[chunk2] mutableCopy];
+ testRequest.vrHelpTitle = @"vr";
+ testRequest.vrHelp = [@[help] mutableCopy];
+ testRequest.menuTitle = @"TheNewMenu";
+ testRequest.menuIcon = image;
+ testRequest.keyboardProperties = keyboard;
+
+ expect(testRequest.helpPrompt).to(equal([@[chunk1] mutableCopy]));
+ expect(testRequest.timeoutPrompt).to(equal([@[chunk2] mutableCopy]));
+ expect(testRequest.vrHelpTitle).to(equal(@"vr"));
+ expect(testRequest.vrHelp).to(equal([@[help] mutableCopy]));
+ expect(testRequest.menuTitle).to(equal(@"TheNewMenu"));
+ expect(testRequest.menuIcon).to(equal(image));
+ expect(testRequest.keyboardProperties).to(equal(keyboard));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_helpPrompt:[@[chunk1] mutableCopy],
+ NAMES_timeoutPrompt:[@[chunk2] mutableCopy],
+ NAMES_vrHelpTitle:@"vr",
+ NAMES_vrHelp:[@[help] mutableCopy],
+ NAMES_menuTitle:@"TheNewMenu",
+ NAMES_menuIcon:image,
+ NAMES_keyboardProperties:keyboard},
+ NAMES_operation_name:NAMES_SetGlobalProperties}} mutableCopy];
+ SDLSetGlobalProperties* testRequest = [[SDLSetGlobalProperties alloc] initWithDictionary:dict];
+
+ expect(testRequest.helpPrompt).to(equal([@[chunk1] mutableCopy]));
+ expect(testRequest.timeoutPrompt).to(equal([@[chunk2] mutableCopy]));
+ expect(testRequest.vrHelpTitle).to(equal(@"vr"));
+ expect(testRequest.vrHelp).to(equal([@[help] mutableCopy]));
+ expect(testRequest.menuTitle).to(equal(@"TheNewMenu"));
+ expect(testRequest.menuIcon).to(equal(image));
+ expect(testRequest.keyboardProperties).to(equal(keyboard));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSetGlobalProperties* testRequest = [[SDLSetGlobalProperties alloc] init];
+
+ expect(testRequest.helpPrompt).to(beNil());
+ expect(testRequest.timeoutPrompt).to(beNil());
+ expect(testRequest.vrHelpTitle).to(beNil());
+ expect(testRequest.vrHelp).to(beNil());
+ expect(testRequest.menuTitle).to(beNil());
+ expect(testRequest.menuIcon).to(beNil());
+ expect(testRequest.keyboardProperties).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetMediaClockTimerSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetMediaClockTimerSpec.m
new file mode 100644
index 000000000..8d2a9a36e
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetMediaClockTimerSpec.m
@@ -0,0 +1,58 @@
+//
+// SDLSetMediaClockTimerSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLNames.h"
+#import "SDLSetMediaClockTimer.h"
+#import "SDLStartTime.h"
+#import "SDLUpdateMode.h"
+
+
+QuickSpecBegin(SDLSetMediaClockTimerSpec)
+
+SDLStartTime* time1 = [[SDLStartTime alloc] init];
+SDLStartTime* time2 = [[SDLStartTime alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSetMediaClockTimer* testRequest = [[SDLSetMediaClockTimer alloc] init];
+
+ testRequest.startTime = time1;
+ testRequest.endTime = time2;
+ testRequest.updateMode = [SDLUpdateMode COUNTUP];
+
+ expect(testRequest.startTime).to(equal(time1));
+ expect(testRequest.endTime).to(equal(time2));
+ expect(testRequest.updateMode).to(equal([SDLUpdateMode COUNTUP]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_startTime:time1,
+ NAMES_endTime:time2,
+ NAMES_updateMode:[SDLUpdateMode COUNTUP]},
+ NAMES_operation_name:NAMES_SetMediaClockTimer}} mutableCopy];
+ SDLSetMediaClockTimer* testRequest = [[SDLSetMediaClockTimer alloc] initWithDictionary:dict];
+
+ expect(testRequest.startTime).to(equal(time1));
+ expect(testRequest.endTime).to(equal(time2));
+ expect(testRequest.updateMode).to(equal([SDLUpdateMode COUNTUP]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSetMediaClockTimer* testRequest = [[SDLSetMediaClockTimer alloc] init];
+
+ expect(testRequest.startTime).to(beNil());
+ expect(testRequest.endTime).to(beNil());
+ expect(testRequest.updateMode).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m
new file mode 100644
index 000000000..3af100462
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m
@@ -0,0 +1,99 @@
+//
+// SDLShowConstantTBTSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImage.h"
+#import "SDLNames.h"
+#import "SDLShowConstantTBT.h"
+#import "SDLSoftButton.h"
+
+
+QuickSpecBegin(SDLShowConstantTBTSpec)
+
+SDLImage* image1 = [[SDLImage alloc] init];
+SDLImage* image2 = [[SDLImage alloc] init];
+SDLSoftButton* button = [[SDLSoftButton alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLShowConstantTBT* testRequest = [[SDLShowConstantTBT alloc] init];
+
+ testRequest.navigationText1 = @"nav1";
+ testRequest.navigationText2 = @"nav2";
+ testRequest.eta = @"4/1/7015";
+ testRequest.timeToDestination = @"5000 Years";
+ testRequest.totalDistance = @"1 parsec";
+ testRequest.turnIcon = image1;
+ testRequest.nextTurnIcon = image2;
+ testRequest.distanceToManeuver = @2;
+ testRequest.distanceToManeuverScale = @4;
+ testRequest.maneuverComplete = @NO;
+ testRequest.softButtons = [@[button] mutableCopy];
+
+ expect(testRequest.navigationText1).to(equal(@"nav1"));
+ expect(testRequest.navigationText2).to(equal(@"nav2"));
+ expect(testRequest.eta).to(equal(@"4/1/7015"));
+ expect(testRequest.timeToDestination).to(equal(@"5000 Years"));
+ expect(testRequest.totalDistance).to(equal(@"1 parsec"));
+ expect(testRequest.turnIcon).to(equal(image1));
+ expect(testRequest.nextTurnIcon).to(equal(image2));
+ expect(testRequest.distanceToManeuver).to(equal(@2));
+ expect(testRequest.distanceToManeuverScale).to(equal(@4));
+ expect(testRequest.maneuverComplete).to(equal(@NO));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_navigationText1:@"nav1",
+ NAMES_navigationText2:@"nav2",
+ NAMES_eta:@"4/1/7015",
+ NAMES_timeToDestination:@"5000 Years",
+ NAMES_totalDistance:@"1 parsec",
+ NAMES_turnIcon:image1,
+ NAMES_nextTurnIcon:image2,
+ NAMES_distanceToManeuver:@2,
+ NAMES_distanceToManeuverScale:@4,
+ NAMES_maneuverComplete:@NO,
+ NAMES_softButtons:[@[button] mutableCopy]},
+ NAMES_operation_name:NAMES_ShowConstantTBT}} mutableCopy];
+ SDLShowConstantTBT* testRequest = [[SDLShowConstantTBT alloc] initWithDictionary:dict];
+
+ expect(testRequest.navigationText1).to(equal(@"nav1"));
+ expect(testRequest.navigationText2).to(equal(@"nav2"));
+ expect(testRequest.eta).to(equal(@"4/1/7015"));
+ expect(testRequest.timeToDestination).to(equal(@"5000 Years"));
+ expect(testRequest.totalDistance).to(equal(@"1 parsec"));
+ expect(testRequest.turnIcon).to(equal(image1));
+ expect(testRequest.nextTurnIcon).to(equal(image2));
+ expect(testRequest.distanceToManeuver).to(equal(@2));
+ expect(testRequest.distanceToManeuverScale).to(equal(@4));
+ expect(testRequest.maneuverComplete).to(equal(@NO));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLShowConstantTBT* testRequest = [[SDLShowConstantTBT alloc] init];
+
+ expect(testRequest.navigationText1).to(beNil());
+ expect(testRequest.navigationText2).to(beNil());
+ expect(testRequest.eta).to(beNil());
+ expect(testRequest.timeToDestination).to(beNil());
+ expect(testRequest.totalDistance).to(beNil());
+ expect(testRequest.turnIcon).to(beNil());
+ expect(testRequest.nextTurnIcon).to(beNil());
+ expect(testRequest.distanceToManeuver).to(beNil());
+ expect(testRequest.distanceToManeuverScale).to(beNil());
+ expect(testRequest.maneuverComplete).to(beNil());
+ expect(testRequest.softButtons).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m
new file mode 100644
index 000000000..3058872e6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m
@@ -0,0 +1,105 @@
+//
+// SDLShowSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImage.h"
+#import "SDLNames.h"
+#import "SDLShow.h"
+#import "SDLSoftButton.h"
+#import "SDLTextAlignment.h"
+
+
+QuickSpecBegin(SDLShowSpec)
+
+SDLImage* image1 = [[SDLImage alloc] init];
+SDLImage* image2 = [[SDLImage alloc] init];
+SDLSoftButton* button = [[SDLSoftButton alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLShow* testRequest = [[SDLShow alloc] init];
+
+ testRequest.mainField1 = @"field1";
+ testRequest.mainField2 = @"field2";
+ testRequest.mainField3 = @"field3";
+ testRequest.mainField4 = @"field4";
+ testRequest.alignment = [SDLTextAlignment LEFT_ALIGNED];
+ testRequest.statusBar = @"status";
+ testRequest.mediaClock = @"TheTime";
+ testRequest.mediaTrack = @"In The Clear";
+ testRequest.graphic = image1;
+ testRequest.secondaryGraphic = image2;
+ testRequest.softButtons = [@[button] mutableCopy];
+ testRequest.customPresets = [@[@"preset1", @"preset2"] mutableCopy];
+
+ expect(testRequest.mainField1).to(equal(@"field1"));
+ expect(testRequest.mainField2).to(equal(@"field2"));
+ expect(testRequest.mainField3).to(equal(@"field3"));
+ expect(testRequest.mainField4).to(equal(@"field4"));
+ expect(testRequest.alignment).to(equal([SDLTextAlignment LEFT_ALIGNED]));
+ expect(testRequest.statusBar).to(equal(@"status"));
+ expect(testRequest.mediaClock).to(equal(@"TheTime"));
+ expect(testRequest.mediaTrack).to(equal(@"In The Clear"));
+ expect(testRequest.graphic).to(equal(image1));
+ expect(testRequest.secondaryGraphic).to(equal(image2));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ expect(testRequest.customPresets).to(equal([@[@"preset1", @"preset2"] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_mainField1:@"field1",
+ NAMES_mainField2:@"field2",
+ NAMES_mainField3:@"field3",
+ NAMES_mainField4:@"field4",
+ NAMES_alignment:[SDLTextAlignment LEFT_ALIGNED],
+ NAMES_statusBar:@"status",
+ NAMES_mediaClock:@"TheTime",
+ NAMES_mediaTrack:@"In The Clear",
+ NAMES_graphic:image1,
+ NAMES_secondaryGraphic:image2,
+ NAMES_softButtons:[@[button] mutableCopy],
+ NAMES_customPresets:[@[@"preset1", @"preset2"] mutableCopy]},
+ NAMES_operation_name:NAMES_Show}} mutableCopy];
+ SDLShow* testRequest = [[SDLShow alloc] initWithDictionary:dict];
+
+ expect(testRequest.mainField1).to(equal(@"field1"));
+ expect(testRequest.mainField2).to(equal(@"field2"));
+ expect(testRequest.mainField3).to(equal(@"field3"));
+ expect(testRequest.mainField4).to(equal(@"field4"));
+ expect(testRequest.alignment).to(equal([SDLTextAlignment LEFT_ALIGNED]));
+ expect(testRequest.statusBar).to(equal(@"status"));
+ expect(testRequest.mediaClock).to(equal(@"TheTime"));
+ expect(testRequest.mediaTrack).to(equal(@"In The Clear"));
+ expect(testRequest.graphic).to(equal(image1));
+ expect(testRequest.secondaryGraphic).to(equal(image2));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ expect(testRequest.customPresets).to(equal([@[@"preset1", @"preset2"] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLShow* testRequest = [[SDLShow alloc] init];
+
+ expect(testRequest.mainField1).to(beNil());
+ expect(testRequest.mainField2).to(beNil());
+ expect(testRequest.mainField3).to(beNil());
+ expect(testRequest.mainField4).to(beNil());
+ expect(testRequest.alignment).to(beNil());
+ expect(testRequest.statusBar).to(beNil());
+ expect(testRequest.mediaClock).to(beNil());
+ expect(testRequest.mediaTrack).to(beNil());
+ expect(testRequest.graphic).to(beNil());
+ expect(testRequest.secondaryGraphic).to(beNil());
+ expect(testRequest.softButtons).to(beNil());
+ expect(testRequest.customPresets).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m
new file mode 100644
index 000000000..7455bcf51
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m
@@ -0,0 +1,62 @@
+//
+// SDLSliderSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSlider.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSliderSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSlider* testRequest = [[SDLSlider alloc] init];
+
+ testRequest.numTicks = @2;
+ testRequest.position = @1;
+ testRequest.sliderHeader = @"Head";
+ testRequest.sliderFooter = [@[@"LeftFoot", @"RightFoot"] mutableCopy];
+ testRequest.timeout = @2000;
+
+ expect(testRequest.numTicks).to(equal(@2));
+ expect(testRequest.position).to(equal(@1));
+ expect(testRequest.sliderHeader).to(equal(@"Head"));
+ expect(testRequest.sliderFooter).to(equal([@[@"LeftFoot", @"RightFoot"] mutableCopy]));
+ expect(testRequest.timeout).to(equal(@2000));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_numTicks:@2,
+ NAMES_position:@1,
+ NAMES_sliderHeader:@"Head",
+ NAMES_sliderFooter:[@[@"LeftFoot", @"RightFoot"] mutableCopy],
+ NAMES_timeout:@2000},
+ NAMES_operation_name:NAMES_Slider}} mutableCopy];
+ SDLSlider* testRequest = [[SDLSlider alloc] initWithDictionary:dict];
+
+ expect(testRequest.numTicks).to(equal(@2));
+ expect(testRequest.position).to(equal(@1));
+ expect(testRequest.sliderHeader).to(equal(@"Head"));
+ expect(testRequest.sliderFooter).to(equal([@[@"LeftFoot", @"RightFoot"] mutableCopy]));
+ expect(testRequest.timeout).to(equal(@2000));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSlider* testRequest = [[SDLSlider alloc] init];
+
+ expect(testRequest.numTicks).to(beNil());
+ expect(testRequest.position).to(beNil());
+ expect(testRequest.sliderHeader).to(beNil());
+ expect(testRequest.sliderFooter).to(beNil());
+ expect(testRequest.timeout).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m
new file mode 100644
index 000000000..dd6b6a400
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m
@@ -0,0 +1,45 @@
+//
+// SDLSpeakSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSpeak.h"
+#import "SDLTTSChunk.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSpeakSpec)
+
+SDLTTSChunk* chunk = [[SDLTTSChunk alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSpeak* testRequest = [[SDLSpeak alloc] init];
+
+ testRequest.ttsChunks = [@[chunk] mutableCopy];
+
+ expect(testRequest.ttsChunks).to(equal([@[chunk] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_ttsChunks:[@[chunk] mutableCopy]},
+ NAMES_operation_name:NAMES_Speak}} mutableCopy];
+ SDLSpeak* testRequest = [[SDLSpeak alloc] initWithDictionary:dict];
+
+ expect(testRequest.ttsChunks).to(equal([@[chunk] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSpeak* testRequest = [[SDLSpeak alloc] init];
+
+ expect(testRequest.ttsChunks).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m
new file mode 100644
index 000000000..d51ae33a6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m
@@ -0,0 +1,44 @@
+//
+// SDLSubscribeButtonSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonName.h"
+#import "SDLNames.h"
+#import "SDLSubscribeButton.h"
+
+
+QuickSpecBegin(SDLSubscribeButtonSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSubscribeButton* testRequest = [[SDLSubscribeButton alloc] init];
+
+ testRequest.buttonName = [SDLButtonName PRESET_5];
+
+ expect(testRequest.buttonName).to(equal([SDLButtonName PRESET_5]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_buttonName:[SDLButtonName PRESET_5]},
+ NAMES_operation_name:NAMES_SubscribeButton}} mutableCopy];
+ SDLSubscribeButton* testRequest = [[SDLSubscribeButton alloc] initWithDictionary:dict];
+
+ expect(testRequest.buttonName).to(equal([SDLButtonName PRESET_5]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSubscribeButton* testRequest = [[SDLSubscribeButton alloc] init];
+
+ expect(testRequest.buttonName).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m
new file mode 100644
index 000000000..c35d45db3
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m
@@ -0,0 +1,157 @@
+//
+// SDLSubscribeVehicleDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSubscribeVehicleData.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSubscribeVehicleDataSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSubscribeVehicleData* testRequest = [[SDLSubscribeVehicleData alloc] init];
+
+ testRequest.gps = @YES;
+ testRequest.speed = @NO;
+ testRequest.rpm = @YES;
+ testRequest.fuelLevel = @NO;
+ testRequest.fuelLevel_State = @YES;
+ testRequest.instantFuelConsumption = @NO;
+ testRequest.externalTemperature = @YES;
+ testRequest.prndl = @YES;
+ testRequest.tirePressure = @NO;
+ testRequest.odometer = @YES;
+ testRequest.beltStatus = @NO;
+ testRequest.bodyInformation = @YES;
+ testRequest.deviceStatus = @NO;
+ testRequest.driverBraking = @YES;
+ testRequest.wiperStatus = @NO;
+ testRequest.headLampStatus = @YES;
+ testRequest.engineTorque = @NO;
+ testRequest.accPedalPosition = @YES;
+ testRequest.steeringWheelAngle = @NO;
+ testRequest.eCallInfo = @YES;
+ testRequest.airbagStatus = @NO;
+ testRequest.emergencyEvent = @YES;
+ testRequest.clusterModeStatus = @NO;
+ testRequest.myKey = @YES;
+
+ expect(testRequest.gps).to(equal(@YES));
+ expect(testRequest.speed).to(equal(@NO));
+ expect(testRequest.rpm).to(equal(@YES));
+ expect(testRequest.fuelLevel).to(equal(@NO));
+ expect(testRequest.fuelLevel_State).to(equal(@YES));
+ expect(testRequest.instantFuelConsumption).to(equal(@NO));
+ expect(testRequest.externalTemperature).to(equal(@YES));
+ expect(testRequest.prndl).to(equal(@YES));
+ expect(testRequest.tirePressure).to(equal(@NO));
+ expect(testRequest.odometer).to(equal(@YES));
+ expect(testRequest.beltStatus).to(equal(@NO));
+ expect(testRequest.bodyInformation).to(equal(@YES));
+ expect(testRequest.deviceStatus).to(equal(@NO));
+ expect(testRequest.driverBraking).to(equal(@YES));
+ expect(testRequest.wiperStatus).to(equal(@NO));
+ expect(testRequest.headLampStatus).to(equal(@YES));
+ expect(testRequest.engineTorque).to(equal(@NO));
+ expect(testRequest.accPedalPosition).to(equal(@YES));
+ expect(testRequest.steeringWheelAngle).to(equal(@NO));
+ expect(testRequest.eCallInfo).to(equal(@YES));
+ expect(testRequest.airbagStatus).to(equal(@NO));
+ expect(testRequest.emergencyEvent).to(equal(@YES));
+ expect(testRequest.clusterModeStatus).to(equal(@NO));
+ expect(testRequest.myKey).to(equal(@YES));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_gps:@YES,
+ NAMES_speed:@NO,
+ NAMES_rpm:@YES,
+ NAMES_fuelLevel:@NO,
+ NAMES_fuelLevel_State:@YES,
+ NAMES_instantFuelConsumption:@NO,
+ NAMES_externalTemperature:@YES,
+ NAMES_prndl:@YES,
+ NAMES_tirePressure:@NO,
+ NAMES_odometer:@YES,
+ NAMES_beltStatus:@NO,
+ NAMES_bodyInformation:@YES,
+ NAMES_deviceStatus:@NO,
+ NAMES_driverBraking:@YES,
+ NAMES_wiperStatus:@NO,
+ NAMES_headLampStatus:@YES,
+ NAMES_engineTorque:@NO,
+ NAMES_accPedalPosition:@YES,
+ NAMES_steeringWheelAngle:@NO,
+ NAMES_eCallInfo:@YES,
+ NAMES_airbagStatus:@NO,
+ NAMES_emergencyEvent:@YES,
+ NAMES_clusterModeStatus:@NO,
+ NAMES_myKey:@YES},
+ NAMES_operation_name:NAMES_SubscribeVehicleData}} mutableCopy];
+ SDLSubscribeVehicleData* testRequest = [[SDLSubscribeVehicleData alloc] initWithDictionary:dict];
+
+ expect(testRequest.gps).to(equal(@YES));
+ expect(testRequest.speed).to(equal(@NO));
+ expect(testRequest.rpm).to(equal(@YES));
+ expect(testRequest.fuelLevel).to(equal(@NO));
+ expect(testRequest.fuelLevel_State).to(equal(@YES));
+ expect(testRequest.instantFuelConsumption).to(equal(@NO));
+ expect(testRequest.externalTemperature).to(equal(@YES));
+ expect(testRequest.prndl).to(equal(@YES));
+ expect(testRequest.tirePressure).to(equal(@NO));
+ expect(testRequest.odometer).to(equal(@YES));
+ expect(testRequest.beltStatus).to(equal(@NO));
+ expect(testRequest.bodyInformation).to(equal(@YES));
+ expect(testRequest.deviceStatus).to(equal(@NO));
+ expect(testRequest.driverBraking).to(equal(@YES));
+ expect(testRequest.wiperStatus).to(equal(@NO));
+ expect(testRequest.headLampStatus).to(equal(@YES));
+ expect(testRequest.engineTorque).to(equal(@NO));
+ expect(testRequest.accPedalPosition).to(equal(@YES));
+ expect(testRequest.steeringWheelAngle).to(equal(@NO));
+ expect(testRequest.eCallInfo).to(equal(@YES));
+ expect(testRequest.airbagStatus).to(equal(@NO));
+ expect(testRequest.emergencyEvent).to(equal(@YES));
+ expect(testRequest.clusterModeStatus).to(equal(@NO));
+ expect(testRequest.myKey).to(equal(@YES));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSubscribeVehicleData* testRequest = [[SDLSubscribeVehicleData alloc] init];
+
+ expect(testRequest.gps).to(beNil());
+ expect(testRequest.speed).to(beNil());
+ expect(testRequest.rpm).to(beNil());
+ expect(testRequest.fuelLevel).to(beNil());
+ expect(testRequest.fuelLevel_State).to(beNil());
+ expect(testRequest.instantFuelConsumption).to(beNil());
+ expect(testRequest.externalTemperature).to(beNil());
+ expect(testRequest.prndl).to(beNil());
+ expect(testRequest.tirePressure).to(beNil());
+ expect(testRequest.odometer).to(beNil());
+ expect(testRequest.beltStatus).to(beNil());
+ expect(testRequest.bodyInformation).to(beNil());
+ expect(testRequest.deviceStatus).to(beNil());
+ expect(testRequest.driverBraking).to(beNil());
+ expect(testRequest.wiperStatus).to(beNil());
+ expect(testRequest.headLampStatus).to(beNil());
+ expect(testRequest.engineTorque).to(beNil());
+ expect(testRequest.accPedalPosition).to(beNil());
+ expect(testRequest.steeringWheelAngle).to(beNil());
+ expect(testRequest.eCallInfo).to(beNil());
+ expect(testRequest.airbagStatus).to(beNil());
+ expect(testRequest.emergencyEvent).to(beNil());
+ expect(testRequest.clusterModeStatus).to(beNil());
+ expect(testRequest.myKey).to(beNil());
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSyncPDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSyncPDataSpec.m
new file mode 100644
index 000000000..300583447
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSyncPDataSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLSyncPDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSyncPData.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSyncPDataSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m
new file mode 100644
index 000000000..ade3fb762
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m
@@ -0,0 +1,48 @@
+//
+// SDLSystemRequestSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSystemRequest.h"
+#import "SDLRequestType.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSystemRequestSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSystemRequest* testRequest = [[SDLSystemRequest alloc] init];
+
+ testRequest.requestType = [SDLRequestType AUTH_REQUEST];
+ testRequest.fileName = @"AnotherFile";
+
+ expect(testRequest.requestType).to(equal([SDLRequestType AUTH_REQUEST]));
+ expect(testRequest.fileName).to(equal(@"AnotherFile"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_requestType:[SDLRequestType AUTH_REQUEST],
+ NAMES_fileName:@"AnotherFile"},
+ NAMES_operation_name:NAMES_SystemRequest}} mutableCopy];
+ SDLSystemRequest* testRequest = [[SDLSystemRequest alloc] initWithDictionary:dict];
+
+ expect(testRequest.requestType).to(equal([SDLRequestType AUTH_REQUEST]));
+ expect(testRequest.fileName).to(equal(@"AnotherFile"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSystemRequest* testRequest = [[SDLSystemRequest alloc] init];
+
+ expect(testRequest.requestType).to(beNil());
+ expect(testRequest.fileName).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnregisterAppInterfaceSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnregisterAppInterfaceSpec.m
new file mode 100644
index 000000000..746c07d2b
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnregisterAppInterfaceSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLUnregisterAppInterfaceSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLUnregisterAppInterface.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLUnregisterAppInterfaceSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m
new file mode 100644
index 000000000..4c0bfc3f1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m
@@ -0,0 +1,44 @@
+//
+// SDLUnsubscribeButtonSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonName.h"
+#import "SDLNames.h"
+#import "SDLUnsubscribeButton.h"
+
+
+QuickSpecBegin(SDLUnsubscribeButtonSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLUnsubscribeButton* testRequest = [[SDLUnsubscribeButton alloc] init];
+
+ testRequest.buttonName = [SDLButtonName PRESET_0];
+
+ expect(testRequest.buttonName).to(equal([SDLButtonName PRESET_0]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_buttonName:[SDLButtonName PRESET_0]},
+ NAMES_operation_name:NAMES_UnsubscribeButton}} mutableCopy];
+ SDLUnsubscribeButton* testRequest = [[SDLUnsubscribeButton alloc] initWithDictionary:dict];
+
+ expect(testRequest.buttonName).to(equal([SDLButtonName PRESET_0]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLUnsubscribeButton* testRequest = [[SDLUnsubscribeButton alloc] init];
+
+ expect(testRequest.buttonName).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m
new file mode 100644
index 000000000..1bb2cb125
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m
@@ -0,0 +1,157 @@
+//
+// SDLUnsubscribeVehicleDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLUnsubscribeVehicleData.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLUnsubscribeVehicleDataSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLUnsubscribeVehicleData* testRequest = [[SDLUnsubscribeVehicleData alloc] init];
+
+ testRequest.gps = @YES;
+ testRequest.speed = @YES;
+ testRequest.rpm = @YES;
+ testRequest.fuelLevel = @YES;
+ testRequest.fuelLevel_State = @YES;
+ testRequest.instantFuelConsumption = @YES;
+ testRequest.externalTemperature = @YES;
+ testRequest.prndl = @YES;
+ testRequest.tirePressure = @YES;
+ testRequest.odometer = @YES;
+ testRequest.beltStatus = @YES;
+ testRequest.bodyInformation = @YES;
+ testRequest.deviceStatus = @YES;
+ testRequest.driverBraking = @YES;
+ testRequest.wiperStatus = @YES;
+ testRequest.headLampStatus = @YES;
+ testRequest.engineTorque = @YES;
+ testRequest.accPedalPosition = @YES;
+ testRequest.steeringWheelAngle = @YES;
+ testRequest.eCallInfo = @YES;
+ testRequest.airbagStatus = @YES;
+ testRequest.emergencyEvent = @YES;
+ testRequest.clusterModeStatus = @YES;
+ testRequest.myKey = @YES;
+
+ expect(testRequest.gps).to(equal(@YES));
+ expect(testRequest.speed).to(equal(@YES));
+ expect(testRequest.rpm).to(equal(@YES));
+ expect(testRequest.fuelLevel).to(equal(@YES));
+ expect(testRequest.fuelLevel_State).to(equal(@YES));
+ expect(testRequest.instantFuelConsumption).to(equal(@YES));
+ expect(testRequest.externalTemperature).to(equal(@YES));
+ expect(testRequest.prndl).to(equal(@YES));
+ expect(testRequest.tirePressure).to(equal(@YES));
+ expect(testRequest.odometer).to(equal(@YES));
+ expect(testRequest.beltStatus).to(equal(@YES));
+ expect(testRequest.bodyInformation).to(equal(@YES));
+ expect(testRequest.deviceStatus).to(equal(@YES));
+ expect(testRequest.driverBraking).to(equal(@YES));
+ expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.headLampStatus).to(equal(@YES));
+ expect(testRequest.engineTorque).to(equal(@YES));
+ expect(testRequest.accPedalPosition).to(equal(@YES));
+ expect(testRequest.steeringWheelAngle).to(equal(@YES));
+ expect(testRequest.eCallInfo).to(equal(@YES));
+ expect(testRequest.airbagStatus).to(equal(@YES));
+ expect(testRequest.emergencyEvent).to(equal(@YES));
+ expect(testRequest.clusterModeStatus).to(equal(@YES));
+ expect(testRequest.myKey).to(equal(@YES));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_gps:@YES,
+ NAMES_speed:@YES,
+ NAMES_rpm:@YES,
+ NAMES_fuelLevel:@YES,
+ NAMES_fuelLevel_State:@YES,
+ NAMES_instantFuelConsumption:@YES,
+ NAMES_externalTemperature:@YES,
+ NAMES_prndl:@YES,
+ NAMES_tirePressure:@YES,
+ NAMES_odometer:@YES,
+ NAMES_beltStatus:@YES,
+ NAMES_bodyInformation:@YES,
+ NAMES_deviceStatus:@YES,
+ NAMES_driverBraking:@YES,
+ NAMES_wiperStatus:@YES,
+ NAMES_headLampStatus:@YES,
+ NAMES_engineTorque:@YES,
+ NAMES_accPedalPosition:@YES,
+ NAMES_steeringWheelAngle:@YES,
+ NAMES_eCallInfo:@YES,
+ NAMES_airbagStatus:@YES,
+ NAMES_emergencyEvent:@YES,
+ NAMES_clusterModeStatus:@YES,
+ NAMES_myKey:@YES},
+ NAMES_operation_name:NAMES_UnsubscribeVehicleData}} mutableCopy];
+ SDLUnsubscribeVehicleData* testRequest = [[SDLUnsubscribeVehicleData alloc] initWithDictionary:dict];
+
+ expect(testRequest.gps).to(equal(@YES));
+ expect(testRequest.speed).to(equal(@YES));
+ expect(testRequest.rpm).to(equal(@YES));
+ expect(testRequest.fuelLevel).to(equal(@YES));
+ expect(testRequest.fuelLevel_State).to(equal(@YES));
+ expect(testRequest.instantFuelConsumption).to(equal(@YES));
+ expect(testRequest.externalTemperature).to(equal(@YES));
+ expect(testRequest.prndl).to(equal(@YES));
+ expect(testRequest.tirePressure).to(equal(@YES));
+ expect(testRequest.odometer).to(equal(@YES));
+ expect(testRequest.beltStatus).to(equal(@YES));
+ expect(testRequest.bodyInformation).to(equal(@YES));
+ expect(testRequest.deviceStatus).to(equal(@YES));
+ expect(testRequest.driverBraking).to(equal(@YES));
+ expect(testRequest.wiperStatus).to(equal(@YES));
+ expect(testRequest.headLampStatus).to(equal(@YES));
+ expect(testRequest.engineTorque).to(equal(@YES));
+ expect(testRequest.accPedalPosition).to(equal(@YES));
+ expect(testRequest.steeringWheelAngle).to(equal(@YES));
+ expect(testRequest.eCallInfo).to(equal(@YES));
+ expect(testRequest.airbagStatus).to(equal(@YES));
+ expect(testRequest.emergencyEvent).to(equal(@YES));
+ expect(testRequest.clusterModeStatus).to(equal(@YES));
+ expect(testRequest.myKey).to(equal(@YES));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLUnsubscribeVehicleData* testRequest = [[SDLUnsubscribeVehicleData alloc] init];
+
+ expect(testRequest.gps).to(beNil());
+ expect(testRequest.speed).to(beNil());
+ expect(testRequest.rpm).to(beNil());
+ expect(testRequest.fuelLevel).to(beNil());
+ expect(testRequest.fuelLevel_State).to(beNil());
+ expect(testRequest.instantFuelConsumption).to(beNil());
+ expect(testRequest.externalTemperature).to(beNil());
+ expect(testRequest.prndl).to(beNil());
+ expect(testRequest.tirePressure).to(beNil());
+ expect(testRequest.odometer).to(beNil());
+ expect(testRequest.beltStatus).to(beNil());
+ expect(testRequest.bodyInformation).to(beNil());
+ expect(testRequest.deviceStatus).to(beNil());
+ expect(testRequest.driverBraking).to(beNil());
+ expect(testRequest.wiperStatus).to(beNil());
+ expect(testRequest.headLampStatus).to(beNil());
+ expect(testRequest.engineTorque).to(beNil());
+ expect(testRequest.accPedalPosition).to(beNil());
+ expect(testRequest.steeringWheelAngle).to(beNil());
+ expect(testRequest.eCallInfo).to(beNil());
+ expect(testRequest.airbagStatus).to(beNil());
+ expect(testRequest.emergencyEvent).to(beNil());
+ expect(testRequest.clusterModeStatus).to(beNil());
+ expect(testRequest.myKey).to(beNil());
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m
new file mode 100644
index 000000000..ae1d55823
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m
@@ -0,0 +1,52 @@
+//
+// SDLUpdateTurnListSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLUpdateTurnList.h"
+#import "SDLTurn.h"
+#import "SDLSoftButton.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLUpdateTurnListSpec)
+
+SDLTurn* turn = [[SDLTurn alloc] init];
+SDLSoftButton* button = [[SDLSoftButton alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLUpdateTurnList* testRequest = [[SDLUpdateTurnList alloc] init];
+
+ testRequest.turnList = [@[turn] mutableCopy];
+ testRequest.softButtons = [@[button] mutableCopy];
+
+ expect(testRequest.turnList).to(equal([@[turn] mutableCopy]));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_turnList:[@[turn] mutableCopy],
+ NAMES_softButtons:[@[button] mutableCopy]},
+ NAMES_operation_name:NAMES_UpdateTurnList}} mutableCopy];
+ SDLUpdateTurnList* testRequest = [[SDLUpdateTurnList alloc] initWithDictionary:dict];
+
+ expect(testRequest.turnList).to(equal([@[turn] mutableCopy]));
+ expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLUpdateTurnList* testRequest = [[SDLUpdateTurnList alloc] init];
+
+ expect(testRequest.turnList).to(beNil());
+ expect(testRequest.softButtons).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAddCommandResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAddCommandResponseSpec.m
new file mode 100644
index 000000000..ff1f36682
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAddCommandResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLAddCommandResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAddCommandResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLAddCommandResponseSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAddSubMenuResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAddSubMenuResponseSpec.m
new file mode 100644
index 000000000..a351d0ee2
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAddSubMenuResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLAddSubMenuResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAddSubMenuResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLAddSubMenuResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAlertManeuverResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAlertManeuverResponseSpec.m
new file mode 100644
index 000000000..5b4860134
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAlertManeuverResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLAlertManeuverResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAlertManeuverResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLAlertManeuverResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAlertResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAlertResponseSpec.m
new file mode 100644
index 000000000..e29e23ed3
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLAlertResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLAlertResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAlertResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLAlertResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLChangeRegistrationResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLChangeRegistrationResponseSpec.m
new file mode 100644
index 000000000..c6e0b27d9
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLChangeRegistrationResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLChangeRegistrationResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLChangeRegistrationResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLChangeRegistrationResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCreateInteractionChoiceSetResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCreateInteractionChoiceSetResponseSpec.m
new file mode 100644
index 000000000..3b3d27e90
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCreateInteractionChoiceSetResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLCreateInteractionChoiceSetResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLCreateInteractionChoiceSetResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLCreateInteractionChoiceSetResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteCommandResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteCommandResponseSpec.m
new file mode 100644
index 000000000..013702513
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteCommandResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLDeleteCommandResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeleteCommandResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeleteCommandResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m
new file mode 100644
index 000000000..64e8522c9
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLDeleteFileResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeleteFileResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeleteFileResponseSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDeleteFileResponse* testResponse = [[SDLDeleteFileResponse alloc] init];
+
+ testResponse.spaceAvailable = @0;
+
+ expect(testResponse.spaceAvailable).to(equal(@0));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_spaceAvailable:@0},
+ NAMES_operation_name:NAMES_DeleteFile}} mutableCopy];
+ SDLDeleteFileResponse* testResponse = [[SDLDeleteFileResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.spaceAvailable).to(equal(@0));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDeleteFileResponse* testResponse = [[SDLDeleteFileResponse alloc] init];
+
+ expect(testResponse.spaceAvailable).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteInteractionChoiceSetResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteInteractionChoiceSetResponseSpec.m
new file mode 100644
index 000000000..4f3f0c4c1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteInteractionChoiceSetResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLDeleteInteractionChoiceSetResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeleteInteractionChoiceSetResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeleteInteractionChoiceSetResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteSubMenuResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteSubMenuResponseSpec.m
new file mode 100644
index 000000000..c17b91d1c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteSubMenuResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLDeleteSubMenuResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeleteSubMenuResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeleteSubMenuResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m
new file mode 100644
index 000000000..7507bbe5a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLDiagnosticMessageResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDiagnosticMessageResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDiagnosticMessageResponseSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDiagnosticMessageResponse* testResponse = [[SDLDiagnosticMessageResponse alloc] init];
+
+ testResponse.messageDataResult = [@[@3, @9, @27, @81] mutableCopy];
+
+ expect(testResponse.messageDataResult).to(equal([@[@3, @9, @27, @81] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_messageDataResult:[@[@3, @9, @27, @81] mutableCopy]},
+ NAMES_operation_name:NAMES_DiagnosticMessage}} mutableCopy];
+ SDLDiagnosticMessageResponse* testResponse = [[SDLDiagnosticMessageResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.messageDataResult).to(equal([@[@3, @9, @27, @81] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDiagnosticMessageResponse* testResponse = [[SDLDiagnosticMessageResponse alloc] init];
+
+ expect(testResponse.messageDataResult).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDialNumberResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDialNumberResponseSpec.m
new file mode 100644
index 000000000..2adf33aeb
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDialNumberResponseSpec.m
@@ -0,0 +1,10 @@
+//
+// SDLDialNumberResponseSpec.m
+// SmartDeviceLink-iOS
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+QuickSpecBegin(SDLDialNumberResponseSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLEncodedSyncPDataResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLEncodedSyncPDataResponseSpec.m
new file mode 100644
index 000000000..4324f0bb8
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLEncodedSyncPDataResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLEncodedSyncPDataResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLEncodedSyncPDataResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLEncodedSyncPDataResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLEndAudioPassThruResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLEndAudioPassThruResponseSpec.m
new file mode 100644
index 000000000..5fcc7d6d8
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLEndAudioPassThruResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLEndAudioPassThruResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLEndAudioPassThruResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLEndAudioPassThruResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGenericResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGenericResponseSpec.m
new file mode 100644
index 000000000..227aea92d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGenericResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLGenericResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLGenericResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLGenericResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m
new file mode 100644
index 000000000..150f9bd73
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m
@@ -0,0 +1,47 @@
+//
+// SDLGetDTCsResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLGetDTCsResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLGetDTCsResponseSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLGetDTCsResponse* testResponse = [[SDLGetDTCsResponse alloc] init];
+
+ testResponse.ecuHeader = @404;
+ testResponse.dtc = [@[@"FFFF", @"FFFE", @"FFFD"] mutableCopy];
+
+ expect(testResponse.ecuHeader).to(equal(@404));
+ expect(testResponse.dtc).to(equal([@[@"FFFF", @"FFFE", @"FFFD"] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_ecuHeader:@404,
+ NAMES_dtc:[@[@"FFFF", @"FFFE", @"FFFD"] mutableCopy]},
+ NAMES_operation_name:NAMES_GetDTCs}} mutableCopy];
+ SDLGetDTCsResponse* testResponse = [[SDLGetDTCsResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.ecuHeader).to(equal(@404));
+ expect(testResponse.dtc).to(equal([@[@"FFFF", @"FFFE", @"FFFD"] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLGetDTCsResponse* testResponse = [[SDLGetDTCsResponse alloc] init];
+
+ expect(testResponse.ecuHeader).to(beNil());
+ expect(testResponse.dtc).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m
new file mode 100644
index 000000000..d70e8f12b
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m
@@ -0,0 +1,175 @@
+//
+// SDLGetVehicleDataResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SmartDeviceLink.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLGetVehicleDataResponseSpec)
+
+SDLGPSData* gps = [[SDLGPSData alloc] init];
+SDLTireStatus* tires = [[SDLTireStatus alloc] init];
+SDLBeltStatus* belt = [[SDLBeltStatus alloc] init];
+SDLBodyInformation* body = [[SDLBodyInformation alloc] init];
+SDLDeviceStatus* device = [[SDLDeviceStatus alloc] init];
+SDLHeadLampStatus* headLamp = [[SDLHeadLampStatus alloc] init];
+SDLECallInfo* eCall = [[SDLECallInfo alloc] init];
+SDLAirbagStatus* airbag = [[SDLAirbagStatus alloc] init];
+SDLEmergencyEvent* event = [[SDLEmergencyEvent alloc] init];
+SDLClusterModeStatus* clusterMode = [[SDLClusterModeStatus alloc] init];
+SDLMyKey* myKey = [[SDLMyKey alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLGetVehicleDataResponse* testResponse = [[SDLGetVehicleDataResponse alloc] init];
+
+ testResponse.gps = gps;
+ testResponse.speed = @100;
+ testResponse.rpm = @3;
+ testResponse.fuelLevel = @99.9999;
+ testResponse.fuelLevel_State = [SDLComponentVolumeStatus FAULT];
+ testResponse.instantFuelConsumption = @40.7;
+ testResponse.externalTemperature = @0;
+ testResponse.vin = @"6574839201";
+ testResponse.prndl = [SDLPRNDL PARK];
+ testResponse.tirePressure = tires;
+ testResponse.odometer = @70000;
+ testResponse.beltStatus = belt;
+ testResponse.bodyInformation = body;
+ testResponse.deviceStatus = device;
+ testResponse.driverBraking = [SDLVehicleDataEventStatus NO_EVENT];
+ testResponse.wiperStatus = [SDLWiperStatus AUTO_HIGH];
+ testResponse.headLampStatus = headLamp;
+ testResponse.engineTorque = @630.4;
+ testResponse.accPedalPosition = @0;
+ testResponse.steeringWheelAngle = @-1500;
+ testResponse.eCallInfo = eCall;
+ testResponse.airbagStatus = airbag;
+ testResponse.emergencyEvent = event;
+ testResponse.clusterModeStatus = clusterMode;
+ testResponse.myKey = myKey;
+
+ expect(testResponse.gps).to(equal(gps));
+ expect(testResponse.speed).to(equal(@100));
+ expect(testResponse.rpm).to(equal(@3));
+ expect(testResponse.fuelLevel).to(equal(@99.9999));
+ expect(testResponse.fuelLevel_State).to(equal([SDLComponentVolumeStatus FAULT]));
+ expect(testResponse.instantFuelConsumption).to(equal(@40.7));
+ expect(testResponse.externalTemperature).to(equal(@0));
+ expect(testResponse.vin).to(equal(@"6574839201"));
+ expect(testResponse.prndl).to(equal([SDLPRNDL PARK]));
+ expect(testResponse.tirePressure).to(equal(tires));
+ expect(testResponse.odometer).to(equal(@70000));
+ expect(testResponse.beltStatus).to(equal(belt));
+ expect(testResponse.bodyInformation).to(equal(body));
+ expect(testResponse.deviceStatus).to(equal(device));
+ expect(testResponse.driverBraking).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testResponse.wiperStatus).to(equal([SDLWiperStatus AUTO_HIGH]));
+ expect(testResponse.headLampStatus).to(equal(headLamp));
+ expect(testResponse.engineTorque).to(equal(@630.4));
+ expect(testResponse.accPedalPosition).to(equal(@0));
+ expect(testResponse.steeringWheelAngle).to(equal(@-1500));
+ expect(testResponse.eCallInfo).to(equal(eCall));
+ expect(testResponse.airbagStatus).to(equal(airbag));
+ expect(testResponse.emergencyEvent).to(equal(event));
+ expect(testResponse.clusterModeStatus).to(equal(clusterMode));
+ expect(testResponse.myKey).to(equal(myKey));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_notification:
+ @{NAMES_parameters:
+ @{NAMES_gps:gps,
+ NAMES_speed:@100,
+ NAMES_rpm:@3,
+ NAMES_fuelLevel:@99.9999,
+ NAMES_fuelLevel_State:[SDLComponentVolumeStatus FAULT],
+ NAMES_instantFuelConsumption:@40.7,
+ NAMES_externalTemperature:@0,
+ NAMES_vin:@"6574839201",
+ NAMES_prndl:[SDLPRNDL PARK],
+ NAMES_tirePressure:tires,
+ NAMES_odometer:@70000,
+ NAMES_beltStatus:belt,
+ NAMES_bodyInformation:body,
+ NAMES_deviceStatus:device,
+ NAMES_driverBraking:[SDLVehicleDataEventStatus NO_EVENT],
+ NAMES_wiperStatus:[SDLWiperStatus AUTO_HIGH],
+ NAMES_headLampStatus:headLamp,
+ NAMES_engineTorque:@630.4,
+ NAMES_accPedalPosition:@0,
+ NAMES_steeringWheelAngle:@-1500,
+ NAMES_eCallInfo:eCall,
+ NAMES_airbagStatus:airbag,
+ NAMES_emergencyEvent:event,
+ NAMES_clusterModeStatus:clusterMode,
+ NAMES_myKey:myKey},
+ NAMES_operation_name:NAMES_GetVehicleData}} mutableCopy];
+ SDLGetVehicleDataResponse* testResponse = [[SDLGetVehicleDataResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.gps).to(equal(gps));
+ expect(testResponse.speed).to(equal(@100));
+ expect(testResponse.rpm).to(equal(@3));
+ expect(testResponse.fuelLevel).to(equal(@99.9999));
+ expect(testResponse.fuelLevel_State).to(equal([SDLComponentVolumeStatus FAULT]));
+ expect(testResponse.instantFuelConsumption).to(equal(@40.7));
+ expect(testResponse.externalTemperature).to(equal(@0));
+ expect(testResponse.vin).to(equal(@"6574839201"));
+ expect(testResponse.prndl).to(equal([SDLPRNDL PARK]));
+ expect(testResponse.tirePressure).to(equal(tires));
+ expect(testResponse.odometer).to(equal(@70000));
+ expect(testResponse.beltStatus).to(equal(belt));
+ expect(testResponse.bodyInformation).to(equal(body));
+ expect(testResponse.deviceStatus).to(equal(device));
+ expect(testResponse.driverBraking).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testResponse.wiperStatus).to(equal([SDLWiperStatus AUTO_HIGH]));
+ expect(testResponse.headLampStatus).to(equal(headLamp));
+ expect(testResponse.engineTorque).to(equal(@630.4));
+ expect(testResponse.accPedalPosition).to(equal(@0));
+ expect(testResponse.steeringWheelAngle).to(equal(@-1500));
+ expect(testResponse.eCallInfo).to(equal(eCall));
+ expect(testResponse.airbagStatus).to(equal(airbag));
+ expect(testResponse.emergencyEvent).to(equal(event));
+ expect(testResponse.clusterModeStatus).to(equal(clusterMode));
+ expect(testResponse.myKey).to(equal(myKey));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLGetVehicleDataResponse* testResponse = [[SDLGetVehicleDataResponse alloc] init];
+
+ expect(testResponse.gps).to(beNil());
+ expect(testResponse.speed).to(beNil());
+ expect(testResponse.rpm).to(beNil());
+ expect(testResponse.fuelLevel).to(beNil());
+ expect(testResponse.fuelLevel_State).to(beNil());
+ expect(testResponse.instantFuelConsumption).to(beNil());
+ expect(testResponse.externalTemperature).to(beNil());
+ expect(testResponse.vin).to(beNil());
+ expect(testResponse.prndl).to(beNil());
+ expect(testResponse.tirePressure).to(beNil());
+ expect(testResponse.odometer).to(beNil());
+ expect(testResponse.beltStatus).to(beNil());
+ expect(testResponse.bodyInformation).to(beNil());
+ expect(testResponse.deviceStatus).to(beNil());
+ expect(testResponse.driverBraking).to(beNil());
+ expect(testResponse.wiperStatus).to(beNil());
+ expect(testResponse.headLampStatus).to(beNil());
+ expect(testResponse.engineTorque).to(beNil());
+ expect(testResponse.accPedalPosition).to(beNil());
+ expect(testResponse.steeringWheelAngle).to(beNil());
+ expect(testResponse.eCallInfo).to(beNil());
+ expect(testResponse.airbagStatus).to(beNil());
+ expect(testResponse.emergencyEvent).to(beNil());
+ expect(testResponse.clusterModeStatus).to(beNil());
+ expect(testResponse.myKey).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m
new file mode 100644
index 000000000..824bc7517
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m
@@ -0,0 +1,47 @@
+//
+// SDLListFilesResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLListFilesResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLListFilesResponseSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLListFilesResponse* testResponse = [[SDLListFilesResponse alloc] init];
+
+ testResponse.filenames = [@[@"Music/music.mp3", @"Documents/document.txt", @"Downloads/format.exe"] mutableCopy];
+ testResponse.spaceAvailable = @500000000;
+
+ expect(testResponse.filenames).to(equal([@[@"Music/music.mp3", @"Documents/document.txt", @"Downloads/format.exe"] mutableCopy]));
+ expect(testResponse.spaceAvailable).to(equal(@500000000));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_filenames:[@[@"Music/music.mp3", @"Documents/document.txt", @"Downloads/format.exe"] mutableCopy],
+ NAMES_spaceAvailable:@500000000},
+ NAMES_operation_name:NAMES_ListFiles}} mutableCopy];
+ SDLListFilesResponse* testResponse = [[SDLListFilesResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.filenames).to(equal([@[@"Music/music.mp3", @"Documents/document.txt", @"Downloads/format.exe"] mutableCopy]));
+ expect(testResponse.spaceAvailable).to(equal(@500000000));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLListFilesResponse* testResponse = [[SDLListFilesResponse alloc] init];
+
+ expect(testResponse.filenames).to(beNil());
+ expect(testResponse.spaceAvailable).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAudioPassThruResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAudioPassThruResponseSpec.m
new file mode 100644
index 000000000..eb661c3f2
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAudioPassThruResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLPerformAudioPassThruResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPerformAudioPassThruResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLPerformAudioPassThruResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m
new file mode 100644
index 000000000..b32b44cd6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m
@@ -0,0 +1,54 @@
+//
+// SDLPerformInteractionResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPerformInteractionResponse.h"
+#import "SDLNames.h"
+#import "SDLTriggerSource.h"
+
+
+QuickSpecBegin(SDLPerformInteractionResponseSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLPerformInteractionResponse* testResponse = [[SDLPerformInteractionResponse alloc] init];
+
+ testResponse.choiceID = @25;
+ testResponse.manualTextEntry = @"entry";
+ testResponse.triggerSource = [SDLTriggerSource KEYBOARD];
+
+ expect(testResponse.choiceID).to(equal(@25));
+ expect(testResponse.manualTextEntry).to(equal(@"entry"));
+ expect(testResponse.triggerSource).to(equal([SDLTriggerSource KEYBOARD]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_choiceID:@25,
+ NAMES_manualTextEntry:@"entry",
+ NAMES_triggerSource:[SDLTriggerSource KEYBOARD]},
+ NAMES_operation_name:NAMES_PerformInteraction}} mutableCopy];
+ SDLPerformInteractionResponse* testResponse = [[SDLPerformInteractionResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.choiceID).to(equal(@25));
+ expect(testResponse.manualTextEntry).to(equal(@"entry"));
+ expect(testResponse.triggerSource).to(equal([SDLTriggerSource KEYBOARD]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLPerformInteractionResponse* testResponse = [[SDLPerformInteractionResponse alloc] init];
+
+ expect(testResponse.choiceID).to(beNil());
+ expect(testResponse.manualTextEntry).to(beNil());
+ expect(testResponse.triggerSource).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m
new file mode 100644
index 000000000..565f97a79
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m
@@ -0,0 +1,42 @@
+//
+// SDLPutFileResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPutFileResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLPutFileResponseSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLPutFileResponse* testResponse = [[SDLPutFileResponse alloc] init];
+
+ testResponse.spaceAvailable = @1248;
+
+ expect(testResponse.spaceAvailable).to(equal(@1248));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_spaceAvailable:@1248},
+ NAMES_operation_name:NAMES_PutFile}} mutableCopy];
+ SDLPutFileResponse* testResponse = [[SDLPutFileResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.spaceAvailable).to(equal(@1248));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLPutFileResponse* testResponse = [[SDLPutFileResponse alloc] init];
+
+ expect(testResponse.spaceAvailable).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m
new file mode 100644
index 000000000..0ae2c5b9d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m
@@ -0,0 +1,45 @@
+//
+// SDLReadDIDResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLReadDIDResponse.h"
+#import "SDLDIDResult.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLReadDIDResponseSpec)
+
+SDLDIDResult* result = [[SDLDIDResult alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLReadDIDResponse* testResponse = [[SDLReadDIDResponse alloc] init];
+
+ testResponse.didResult = [@[result] mutableCopy];
+
+ expect(testResponse.didResult).to(equal([@[result] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_didResult:[@[result] mutableCopy]},
+ NAMES_operation_name:NAMES_ReadDID}} mutableCopy];
+ SDLReadDIDResponse* testResponse = [[SDLReadDIDResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.didResult).to(equal([@[result] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLReadDIDResponse* testResponse = [[SDLReadDIDResponse alloc] init];
+
+ expect(testResponse.didResult).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m
new file mode 100644
index 000000000..4b9b2dda3
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m
@@ -0,0 +1,116 @@
+//
+// SDLRegisterAppInterfaceResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SmartDeviceLink.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLRegisterAppInterfaceResponseSpec)
+
+SDLSyncMsgVersion* version = [[SDLSyncMsgVersion alloc] init];
+SDLDisplayCapabilities* info = [[SDLDisplayCapabilities alloc] init];
+SDLButtonCapabilities* button = [[SDLButtonCapabilities alloc] init];
+SDLSoftButtonCapabilities* softButton = [[SDLSoftButtonCapabilities alloc] init];
+SDLPresetBankCapabilities* presetBank = [[SDLPresetBankCapabilities alloc] init];
+SDLAudioPassThruCapabilities* audioPassThru = [[SDLAudioPassThruCapabilities alloc] init];
+SDLVehicleType* vehicle = [[SDLVehicleType alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLRegisterAppInterfaceResponse* testResponse = [[SDLRegisterAppInterfaceResponse alloc] init];
+
+ testResponse.syncMsgVersion = version;
+ testResponse.language = [SDLLanguage ES_MX];
+ testResponse.hmiDisplayLanguage = [SDLLanguage RU_RU];
+ testResponse.displayCapabilities = info;
+ testResponse.buttonCapabilities = [@[button] mutableCopy];
+ testResponse.softButtonCapabilities = [@[softButton] mutableCopy];
+ testResponse.presetBankCapabilities = presetBank;
+ testResponse.hmiZoneCapabilities = [@[[SDLHMIZoneCapabilities BACK], [SDLHMIZoneCapabilities FRONT]] copy];
+ testResponse.speechCapabilities = [@[[SDLSpeechCapabilities SAPI_PHONEMES], [SDLSpeechCapabilities SILENCE]] copy];
+ testResponse.vrCapabilities = [@[[SDLVRCapabilities TEXT]] copy];
+ testResponse.audioPassThruCapabilities = [@[audioPassThru] mutableCopy];
+ testResponse.vehicleType = vehicle;
+ testResponse.prerecordedSpeech = [@[[SDLPrerecordedSpeech LISTEN_JINGLE], [SDLPrerecordedSpeech HELP_JINGLE]] copy];
+ testResponse.supportedDiagModes = [@[@67, @99, @111] mutableCopy];
+
+ expect(testResponse.syncMsgVersion).to(equal(version));
+ expect(testResponse.language).to(equal([SDLLanguage ES_MX]));
+ expect(testResponse.hmiDisplayLanguage).to(equal([SDLLanguage RU_RU]));
+ expect(testResponse.displayCapabilities).to(equal(info));
+ expect(testResponse.buttonCapabilities).to(equal([@[button] mutableCopy]));
+ expect(testResponse.softButtonCapabilities).to(equal([@[softButton] mutableCopy]));
+ expect(testResponse.presetBankCapabilities).to(equal(presetBank));
+ expect(testResponse.hmiZoneCapabilities).to(equal([@[[SDLHMIZoneCapabilities BACK], [SDLHMIZoneCapabilities FRONT]] copy]));
+ expect(testResponse.speechCapabilities).to(equal([@[[SDLSpeechCapabilities SAPI_PHONEMES], [SDLSpeechCapabilities SILENCE]] copy]));
+ expect(testResponse.vrCapabilities).to(equal([@[[SDLVRCapabilities TEXT]] copy]));
+ expect(testResponse.audioPassThruCapabilities).to(equal([@[audioPassThru] mutableCopy]));
+ expect(testResponse.vehicleType).to(equal(vehicle));
+ expect(testResponse.prerecordedSpeech).to(equal([@[[SDLPrerecordedSpeech LISTEN_JINGLE], [SDLPrerecordedSpeech HELP_JINGLE]] copy]));
+ expect(testResponse.supportedDiagModes).to(equal([@[@67, @99, @111] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_syncMsgVersion:version,
+ NAMES_language:[SDLLanguage ES_MX],
+ NAMES_hmiDisplayLanguage:[SDLLanguage RU_RU],
+ NAMES_displayCapabilities:info,
+ NAMES_buttonCapabilities:[@[button] mutableCopy],
+ NAMES_softButtonCapabilities:[@[softButton] mutableCopy],
+ NAMES_presetBankCapabilities:presetBank,
+ NAMES_hmiZoneCapabilities:[@[[SDLHMIZoneCapabilities BACK], [SDLHMIZoneCapabilities FRONT]] copy],
+ NAMES_speechCapabilities:[@[[SDLSpeechCapabilities SAPI_PHONEMES], [SDLSpeechCapabilities SILENCE]] copy],
+ NAMES_vrCapabilities:[@[[SDLVRCapabilities TEXT]] copy],
+ NAMES_audioPassThruCapabilities:[@[audioPassThru] mutableCopy],
+ NAMES_vehicleType:vehicle,
+ NAMES_prerecordedSpeech:[@[[SDLPrerecordedSpeech LISTEN_JINGLE], [SDLPrerecordedSpeech HELP_JINGLE]] copy],
+ NAMES_supportedDiagModes:[@[@67, @99, @111] mutableCopy]},
+ NAMES_operation_name:NAMES_RegisterAppInterface}} mutableCopy];
+ SDLRegisterAppInterfaceResponse* testResponse = [[SDLRegisterAppInterfaceResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.syncMsgVersion).to(equal(version));
+ expect(testResponse.language).to(equal([SDLLanguage ES_MX]));
+ expect(testResponse.hmiDisplayLanguage).to(equal([SDLLanguage RU_RU]));
+ expect(testResponse.displayCapabilities).to(equal(info));
+ expect(testResponse.buttonCapabilities).to(equal([@[button] mutableCopy]));
+ expect(testResponse.softButtonCapabilities).to(equal([@[softButton] mutableCopy]));
+ expect(testResponse.presetBankCapabilities).to(equal(presetBank));
+ expect(testResponse.hmiZoneCapabilities).to(equal([@[[SDLHMIZoneCapabilities BACK], [SDLHMIZoneCapabilities FRONT]] copy]));
+ expect(testResponse.speechCapabilities).to(equal([@[[SDLSpeechCapabilities SAPI_PHONEMES], [SDLSpeechCapabilities SILENCE]] copy]));
+ expect(testResponse.vrCapabilities).to(equal([@[[SDLVRCapabilities TEXT]] copy]));
+ expect(testResponse.audioPassThruCapabilities).to(equal([@[audioPassThru] mutableCopy]));
+ expect(testResponse.vehicleType).to(equal(vehicle));
+ expect(testResponse.prerecordedSpeech).to(equal([@[[SDLPrerecordedSpeech LISTEN_JINGLE], [SDLPrerecordedSpeech HELP_JINGLE]] copy]));
+ expect(testResponse.supportedDiagModes).to(equal([@[@67, @99, @111] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLRegisterAppInterfaceResponse* testResponse = [[SDLRegisterAppInterfaceResponse alloc] init];
+
+ expect(testResponse.syncMsgVersion).to(beNil());
+ expect(testResponse.language).to(beNil());
+ expect(testResponse.hmiDisplayLanguage).to(beNil());
+ expect(testResponse.displayCapabilities).to(beNil());
+ expect(testResponse.buttonCapabilities).to(beNil());
+ expect(testResponse.softButtonCapabilities).to(beNil());
+ expect(testResponse.presetBankCapabilities).to(beNil());
+ expect(testResponse.hmiZoneCapabilities).to(beNil());
+ expect(testResponse.speechCapabilities).to(beNil());
+ expect(testResponse.vrCapabilities).to(beNil());
+ expect(testResponse.audioPassThruCapabilities).to(beNil());
+ expect(testResponse.vehicleType).to(beNil());
+ expect(testResponse.prerecordedSpeech).to(beNil());
+ expect(testResponse.supportedDiagModes).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLResetGlobalPropertiesResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLResetGlobalPropertiesResponseSpec.m
new file mode 100644
index 000000000..fb9b4a2ed
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLResetGlobalPropertiesResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLResetGlobalPropertiesResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLResetGlobalPropertiesResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLResetGlobalPropertiesResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLScrollableMessageResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLScrollableMessageResponseSpec.m
new file mode 100644
index 000000000..5cebb0229
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLScrollableMessageResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLScrollableMessageResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLScrollableMessageResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLScrollableMessageResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSendLocationResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSendLocationResponseSpec.m
new file mode 100644
index 000000000..83d1ee55a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSendLocationResponseSpec.m
@@ -0,0 +1,12 @@
+//
+// SDLSendLocationResponseSpec.m
+// SmartDeviceLink-iOS
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+QuickSpecBegin(SDLSendLocationResponseSpec)
+
+
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetAppIconResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetAppIconResponseSpec.m
new file mode 100644
index 000000000..44593a080
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetAppIconResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLSetAppIconResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSetAppIconResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSetAppIconResponseSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m
new file mode 100644
index 000000000..3eeab76a1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m
@@ -0,0 +1,67 @@
+//
+// SDLSetDisplayLayoutResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonCapabilities.h"
+#import "SDLDisplayCapabilities.h"
+#import "SDLNames.h"
+#import "SDLPresetBankCapabilities.h"
+#import "SDLSetDisplayLayoutResponse.h"
+#import "SDLSoftButtonCapabilities.h"
+
+
+QuickSpecBegin(SDLSetDisplayLayoutResponseSpec)
+
+SDLDisplayCapabilities* info = [[SDLDisplayCapabilities alloc] init];
+SDLButtonCapabilities* button = [[SDLButtonCapabilities alloc] init];
+SDLSoftButtonCapabilities* softButton = [[SDLSoftButtonCapabilities alloc] init];
+SDLPresetBankCapabilities* presetBank = [[SDLPresetBankCapabilities alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSetDisplayLayoutResponse* testResponse = [[SDLSetDisplayLayoutResponse alloc] init];
+
+ testResponse.displayCapabilities = info;
+ testResponse.buttonCapabilities = [@[button] mutableCopy];
+ testResponse.softButtonCapabilities = [@[softButton] mutableCopy];
+ testResponse.presetBankCapabilities = presetBank;
+
+ expect(testResponse.displayCapabilities).to(equal(info));
+ expect(testResponse.buttonCapabilities).to(equal([@[button] mutableCopy]));
+ expect(testResponse.softButtonCapabilities).to(equal([@[softButton] mutableCopy]));
+ expect(testResponse.presetBankCapabilities).to(equal(presetBank));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_request:
+ @{NAMES_parameters:
+ @{NAMES_displayCapabilities:info,
+ NAMES_buttonCapabilities:[@[button] mutableCopy],
+ NAMES_softButtonCapabilities:[@[softButton] mutableCopy],
+ NAMES_presetBankCapabilities:presetBank},
+ NAMES_operation_name:NAMES_SetDisplayLayout}} mutableCopy];
+ SDLSetDisplayLayoutResponse* testResponse = [[SDLSetDisplayLayoutResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.displayCapabilities).to(equal(info));
+ expect(testResponse.buttonCapabilities).to(equal([@[button] mutableCopy]));
+ expect(testResponse.softButtonCapabilities).to(equal([@[softButton] mutableCopy]));
+ expect(testResponse.presetBankCapabilities).to(equal(presetBank));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSetDisplayLayoutResponse* testResponse = [[SDLSetDisplayLayoutResponse alloc] init];
+
+ expect(testResponse.displayCapabilities).to(beNil());
+ expect(testResponse.buttonCapabilities).to(beNil());
+ expect(testResponse.softButtonCapabilities).to(beNil());
+ expect(testResponse.presetBankCapabilities).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetGlobalPropertiesResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetGlobalPropertiesResponseSpec.m
new file mode 100644
index 000000000..80a5f47ec
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetGlobalPropertiesResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLSetGlobalPropertiesResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSetGlobalPropertiesResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSetGlobalPropertiesResponseSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetMediaClockTimerResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetMediaClockTimerResponseSpec.m
new file mode 100644
index 000000000..e840213d6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetMediaClockTimerResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLSetMediaClockTimerResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSetMediaClockTimerResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSetMediaClockTimerResponseSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLShowConstantTBTResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLShowConstantTBTResponseSpec.m
new file mode 100644
index 000000000..1bd2c57cd
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLShowConstantTBTResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLShowConstantTBTResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLShowConstantTBTResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLShowConstantTBTResponseSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLShowResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLShowResponseSpec.m
new file mode 100644
index 000000000..bbfa524c0
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLShowResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLShowResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLShowResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLShowResponseSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m
new file mode 100644
index 000000000..6f92c1e48
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m
@@ -0,0 +1,43 @@
+//
+// SDLSliderResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSliderResponse.h"
+#import "SDLDIDResult.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSliderResponseSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSliderResponse* testResponse = [[SDLSliderResponse alloc] init];
+
+ testResponse.sliderPosition = @13;
+
+ expect(testResponse.sliderPosition).to(equal(@13));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_sliderPosition:@13},
+ NAMES_operation_name:NAMES_Slider}} mutableCopy];
+ SDLSliderResponse* testResponse = [[SDLSliderResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.sliderPosition).to(equal(@13));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSliderResponse* testResponse = [[SDLSliderResponse alloc] init];
+
+ expect(testResponse.sliderPosition).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSpeakResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSpeakResponseSpec.m
new file mode 100644
index 000000000..688e8f34c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSpeakResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLSpeakResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSpeakResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSpeakResponseSpec)
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeButtonResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeButtonResponseSpec.m
new file mode 100644
index 000000000..5e78d95ed
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeButtonResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLSubscribeButtonResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSubscribeButtonResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSubscribeButtonResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m
new file mode 100644
index 000000000..d6c0dc6ac
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m
@@ -0,0 +1,161 @@
+//
+// SDLSubscribeVehicleDataResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLNames.h"
+#import "SDLSubscribeVehicleDataResponse.h"
+#import "SDLVehicleDataResult.h"
+
+
+QuickSpecBegin(SDLSubscribeVehicleDataResponseSpec)
+
+SDLVehicleDataResult* vehicleDataResult = [[SDLVehicleDataResult alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSubscribeVehicleDataResponse* testResponse = [[SDLSubscribeVehicleDataResponse alloc] init];
+
+ testResponse.gps = vehicleDataResult;
+ testResponse.speed = vehicleDataResult;
+ testResponse.rpm = vehicleDataResult;
+ testResponse.fuelLevel = vehicleDataResult;
+ testResponse.fuelLevel_State = vehicleDataResult;
+ testResponse.instantFuelConsumption = vehicleDataResult;
+ testResponse.externalTemperature = vehicleDataResult;
+ testResponse.prndl = vehicleDataResult;
+ testResponse.tirePressure = vehicleDataResult;
+ testResponse.odometer = vehicleDataResult;
+ testResponse.beltStatus = vehicleDataResult;
+ testResponse.bodyInformation = vehicleDataResult;
+ testResponse.deviceStatus = vehicleDataResult;
+ testResponse.driverBraking = vehicleDataResult;
+ testResponse.wiperStatus = vehicleDataResult;
+ testResponse.headLampStatus = vehicleDataResult;
+ testResponse.engineTorque = vehicleDataResult;
+ testResponse.accPedalPosition = vehicleDataResult;
+ testResponse.steeringWheelAngle = vehicleDataResult;
+ testResponse.eCallInfo = vehicleDataResult;
+ testResponse.airbagStatus = vehicleDataResult;
+ testResponse.emergencyEvent = vehicleDataResult;
+ testResponse.clusterModes = vehicleDataResult;
+ testResponse.myKey = vehicleDataResult;
+
+ expect(testResponse.gps).to(equal(vehicleDataResult));
+ expect(testResponse.speed).to(equal(vehicleDataResult));
+ expect(testResponse.rpm).to(equal(vehicleDataResult));
+ expect(testResponse.fuelLevel).to(equal(vehicleDataResult));
+ expect(testResponse.fuelLevel_State).to(equal(vehicleDataResult));
+ expect(testResponse.instantFuelConsumption).to(equal(vehicleDataResult));
+ expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
+ expect(testResponse.prndl).to(equal(vehicleDataResult));
+ expect(testResponse.tirePressure).to(equal(vehicleDataResult));
+ expect(testResponse.odometer).to(equal(vehicleDataResult));
+ expect(testResponse.beltStatus).to(equal(vehicleDataResult));
+ expect(testResponse.bodyInformation).to(equal(vehicleDataResult));
+ expect(testResponse.deviceStatus).to(equal(vehicleDataResult));
+ expect(testResponse.driverBraking).to(equal(vehicleDataResult));
+ expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.headLampStatus).to(equal(vehicleDataResult));
+ expect(testResponse.engineTorque).to(equal(vehicleDataResult));
+ expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
+ expect(testResponse.steeringWheelAngle).to(equal(vehicleDataResult));
+ expect(testResponse.eCallInfo).to(equal(vehicleDataResult));
+ expect(testResponse.airbagStatus).to(equal(vehicleDataResult));
+ expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
+ expect(testResponse.clusterModes).to(equal(vehicleDataResult));
+ expect(testResponse.myKey).to(equal(vehicleDataResult));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_gps:vehicleDataResult,
+ NAMES_speed:vehicleDataResult,
+ NAMES_rpm:vehicleDataResult,
+ NAMES_fuelLevel:vehicleDataResult,
+ NAMES_fuelLevel_State:vehicleDataResult,
+ NAMES_instantFuelConsumption:vehicleDataResult,
+ NAMES_externalTemperature:vehicleDataResult,
+ NAMES_prndl:vehicleDataResult,
+ NAMES_tirePressure:vehicleDataResult,
+ NAMES_odometer:vehicleDataResult,
+ NAMES_beltStatus:vehicleDataResult,
+ NAMES_bodyInformation:vehicleDataResult,
+ NAMES_deviceStatus:vehicleDataResult,
+ NAMES_driverBraking:vehicleDataResult,
+ NAMES_wiperStatus:vehicleDataResult,
+ NAMES_headLampStatus:vehicleDataResult,
+ NAMES_engineTorque:vehicleDataResult,
+ NAMES_accPedalPosition:vehicleDataResult,
+ NAMES_steeringWheelAngle:vehicleDataResult,
+ NAMES_eCallInfo:vehicleDataResult,
+ NAMES_airbagStatus:vehicleDataResult,
+ NAMES_emergencyEvent:vehicleDataResult,
+ NAMES_clusterModes:vehicleDataResult,
+ NAMES_myKey:vehicleDataResult},
+ NAMES_operation_name:NAMES_SubscribeVehicleData}} mutableCopy];
+ SDLSubscribeVehicleDataResponse* testResponse = [[SDLSubscribeVehicleDataResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.gps).to(equal(vehicleDataResult));
+ expect(testResponse.speed).to(equal(vehicleDataResult));
+ expect(testResponse.rpm).to(equal(vehicleDataResult));
+ expect(testResponse.fuelLevel).to(equal(vehicleDataResult));
+ expect(testResponse.fuelLevel_State).to(equal(vehicleDataResult));
+ expect(testResponse.instantFuelConsumption).to(equal(vehicleDataResult));
+ expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
+ expect(testResponse.prndl).to(equal(vehicleDataResult));
+ expect(testResponse.tirePressure).to(equal(vehicleDataResult));
+ expect(testResponse.odometer).to(equal(vehicleDataResult));
+ expect(testResponse.beltStatus).to(equal(vehicleDataResult));
+ expect(testResponse.bodyInformation).to(equal(vehicleDataResult));
+ expect(testResponse.deviceStatus).to(equal(vehicleDataResult));
+ expect(testResponse.driverBraking).to(equal(vehicleDataResult));
+ expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.headLampStatus).to(equal(vehicleDataResult));
+ expect(testResponse.engineTorque).to(equal(vehicleDataResult));
+ expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
+ expect(testResponse.steeringWheelAngle).to(equal(vehicleDataResult));
+ expect(testResponse.eCallInfo).to(equal(vehicleDataResult));
+ expect(testResponse.airbagStatus).to(equal(vehicleDataResult));
+ expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
+ expect(testResponse.clusterModes).to(equal(vehicleDataResult));
+ expect(testResponse.myKey).to(equal(vehicleDataResult));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSubscribeVehicleDataResponse* testResponse = [[SDLSubscribeVehicleDataResponse alloc] init];
+
+ expect(testResponse.gps).to(beNil());
+ expect(testResponse.speed).to(beNil());
+ expect(testResponse.rpm).to(beNil());
+ expect(testResponse.fuelLevel).to(beNil());
+ expect(testResponse.fuelLevel_State).to(beNil());
+ expect(testResponse.instantFuelConsumption).to(beNil());
+ expect(testResponse.externalTemperature).to(beNil());
+ expect(testResponse.prndl).to(beNil());
+ expect(testResponse.tirePressure).to(beNil());
+ expect(testResponse.odometer).to(beNil());
+ expect(testResponse.beltStatus).to(beNil());
+ expect(testResponse.bodyInformation).to(beNil());
+ expect(testResponse.deviceStatus).to(beNil());
+ expect(testResponse.driverBraking).to(beNil());
+ expect(testResponse.wiperStatus).to(beNil());
+ expect(testResponse.headLampStatus).to(beNil());
+ expect(testResponse.engineTorque).to(beNil());
+ expect(testResponse.accPedalPosition).to(beNil());
+ expect(testResponse.steeringWheelAngle).to(beNil());
+ expect(testResponse.eCallInfo).to(beNil());
+ expect(testResponse.airbagStatus).to(beNil());
+ expect(testResponse.emergencyEvent).to(beNil());
+ expect(testResponse.clusterModes).to(beNil());
+ expect(testResponse.myKey).to(beNil());
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSyncPDataResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSyncPDataResponseSpec.m
new file mode 100644
index 000000000..6a287f226
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSyncPDataResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLSyncPDataResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSyncPDataResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSyncPDataResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSystemRequestResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSystemRequestResponseSpec.m
new file mode 100644
index 000000000..2571379c8
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSystemRequestResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLSystemRequestResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSystemRequestResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSystemRequestResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnregisterAppInterfaceResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnregisterAppInterfaceResponseSpec.m
new file mode 100644
index 000000000..f10eb6048
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnregisterAppInterfaceResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLUnregisterAppInterfaceResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLUnregisterAppInterfaceResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLUnregisterAppInterfaceResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeButtonResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeButtonResponseSpec.m
new file mode 100644
index 000000000..ca76ef4e7
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeButtonResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLUnsubscribeButtonResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLUnsubscribeButtonResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLUnsubscribeButtonResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m
new file mode 100644
index 000000000..29cb4e08c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m
@@ -0,0 +1,161 @@
+//
+// SDLUnsubscribeVehicleDataResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLUnsubscribeVehicleDataResponse.h"
+#import "SDLNames.h"
+#import "SDLVehicleDataResult.h"
+
+
+QuickSpecBegin(SDLUnsubscribeVehicleDataResponseSpec)
+
+SDLVehicleDataResult* vehicleDataResult = [[SDLVehicleDataResult alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLUnsubscribeVehicleDataResponse* testResponse = [[SDLUnsubscribeVehicleDataResponse alloc] init];
+
+ testResponse.gps = vehicleDataResult;
+ testResponse.speed = vehicleDataResult;
+ testResponse.rpm = vehicleDataResult;
+ testResponse.fuelLevel = vehicleDataResult;
+ testResponse.fuelLevel_State = vehicleDataResult;
+ testResponse.instantFuelConsumption = vehicleDataResult;
+ testResponse.externalTemperature = vehicleDataResult;
+ testResponse.prndl = vehicleDataResult;
+ testResponse.tirePressure = vehicleDataResult;
+ testResponse.odometer = vehicleDataResult;
+ testResponse.beltStatus = vehicleDataResult;
+ testResponse.bodyInformation = vehicleDataResult;
+ testResponse.deviceStatus = vehicleDataResult;
+ testResponse.driverBraking = vehicleDataResult;
+ testResponse.wiperStatus = vehicleDataResult;
+ testResponse.headLampStatus = vehicleDataResult;
+ testResponse.engineTorque = vehicleDataResult;
+ testResponse.accPedalPosition = vehicleDataResult;
+ testResponse.steeringWheelAngle = vehicleDataResult;
+ testResponse.eCallInfo = vehicleDataResult;
+ testResponse.airbagStatus = vehicleDataResult;
+ testResponse.emergencyEvent = vehicleDataResult;
+ testResponse.clusterModes = vehicleDataResult;
+ testResponse.myKey = vehicleDataResult;
+
+ expect(testResponse.gps).to(equal(vehicleDataResult));
+ expect(testResponse.speed).to(equal(vehicleDataResult));
+ expect(testResponse.rpm).to(equal(vehicleDataResult));
+ expect(testResponse.fuelLevel).to(equal(vehicleDataResult));
+ expect(testResponse.fuelLevel_State).to(equal(vehicleDataResult));
+ expect(testResponse.instantFuelConsumption).to(equal(vehicleDataResult));
+ expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
+ expect(testResponse.prndl).to(equal(vehicleDataResult));
+ expect(testResponse.tirePressure).to(equal(vehicleDataResult));
+ expect(testResponse.odometer).to(equal(vehicleDataResult));
+ expect(testResponse.beltStatus).to(equal(vehicleDataResult));
+ expect(testResponse.bodyInformation).to(equal(vehicleDataResult));
+ expect(testResponse.deviceStatus).to(equal(vehicleDataResult));
+ expect(testResponse.driverBraking).to(equal(vehicleDataResult));
+ expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.headLampStatus).to(equal(vehicleDataResult));
+ expect(testResponse.engineTorque).to(equal(vehicleDataResult));
+ expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
+ expect(testResponse.steeringWheelAngle).to(equal(vehicleDataResult));
+ expect(testResponse.eCallInfo).to(equal(vehicleDataResult));
+ expect(testResponse.airbagStatus).to(equal(vehicleDataResult));
+ expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
+ expect(testResponse.clusterModes).to(equal(vehicleDataResult));
+ expect(testResponse.myKey).to(equal(vehicleDataResult));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_response:
+ @{NAMES_parameters:
+ @{NAMES_gps:vehicleDataResult,
+ NAMES_speed:vehicleDataResult,
+ NAMES_rpm:vehicleDataResult,
+ NAMES_fuelLevel:vehicleDataResult,
+ NAMES_fuelLevel_State:vehicleDataResult,
+ NAMES_instantFuelConsumption:vehicleDataResult,
+ NAMES_externalTemperature:vehicleDataResult,
+ NAMES_prndl:vehicleDataResult,
+ NAMES_tirePressure:vehicleDataResult,
+ NAMES_odometer:vehicleDataResult,
+ NAMES_beltStatus:vehicleDataResult,
+ NAMES_bodyInformation:vehicleDataResult,
+ NAMES_deviceStatus:vehicleDataResult,
+ NAMES_driverBraking:vehicleDataResult,
+ NAMES_wiperStatus:vehicleDataResult,
+ NAMES_headLampStatus:vehicleDataResult,
+ NAMES_engineTorque:vehicleDataResult,
+ NAMES_accPedalPosition:vehicleDataResult,
+ NAMES_steeringWheelAngle:vehicleDataResult,
+ NAMES_eCallInfo:vehicleDataResult,
+ NAMES_airbagStatus:vehicleDataResult,
+ NAMES_emergencyEvent:vehicleDataResult,
+ NAMES_clusterModes:vehicleDataResult,
+ NAMES_myKey:vehicleDataResult},
+ NAMES_operation_name:NAMES_UnsubscribeVehicleData}} mutableCopy];
+ SDLUnsubscribeVehicleDataResponse* testResponse = [[SDLUnsubscribeVehicleDataResponse alloc] initWithDictionary:dict];
+
+ expect(testResponse.gps).to(equal(vehicleDataResult));
+ expect(testResponse.speed).to(equal(vehicleDataResult));
+ expect(testResponse.rpm).to(equal(vehicleDataResult));
+ expect(testResponse.fuelLevel).to(equal(vehicleDataResult));
+ expect(testResponse.fuelLevel_State).to(equal(vehicleDataResult));
+ expect(testResponse.instantFuelConsumption).to(equal(vehicleDataResult));
+ expect(testResponse.externalTemperature).to(equal(vehicleDataResult));
+ expect(testResponse.prndl).to(equal(vehicleDataResult));
+ expect(testResponse.tirePressure).to(equal(vehicleDataResult));
+ expect(testResponse.odometer).to(equal(vehicleDataResult));
+ expect(testResponse.beltStatus).to(equal(vehicleDataResult));
+ expect(testResponse.bodyInformation).to(equal(vehicleDataResult));
+ expect(testResponse.deviceStatus).to(equal(vehicleDataResult));
+ expect(testResponse.driverBraking).to(equal(vehicleDataResult));
+ expect(testResponse.wiperStatus).to(equal(vehicleDataResult));
+ expect(testResponse.headLampStatus).to(equal(vehicleDataResult));
+ expect(testResponse.engineTorque).to(equal(vehicleDataResult));
+ expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
+ expect(testResponse.steeringWheelAngle).to(equal(vehicleDataResult));
+ expect(testResponse.eCallInfo).to(equal(vehicleDataResult));
+ expect(testResponse.airbagStatus).to(equal(vehicleDataResult));
+ expect(testResponse.emergencyEvent).to(equal(vehicleDataResult));
+ expect(testResponse.clusterModes).to(equal(vehicleDataResult));
+ expect(testResponse.myKey).to(equal(vehicleDataResult));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLUnsubscribeVehicleDataResponse* testResponse = [[SDLUnsubscribeVehicleDataResponse alloc] init];
+
+ expect(testResponse.gps).to(beNil());
+ expect(testResponse.speed).to(beNil());
+ expect(testResponse.rpm).to(beNil());
+ expect(testResponse.fuelLevel).to(beNil());
+ expect(testResponse.fuelLevel_State).to(beNil());
+ expect(testResponse.instantFuelConsumption).to(beNil());
+ expect(testResponse.externalTemperature).to(beNil());
+ expect(testResponse.prndl).to(beNil());
+ expect(testResponse.tirePressure).to(beNil());
+ expect(testResponse.odometer).to(beNil());
+ expect(testResponse.beltStatus).to(beNil());
+ expect(testResponse.bodyInformation).to(beNil());
+ expect(testResponse.deviceStatus).to(beNil());
+ expect(testResponse.driverBraking).to(beNil());
+ expect(testResponse.wiperStatus).to(beNil());
+ expect(testResponse.headLampStatus).to(beNil());
+ expect(testResponse.engineTorque).to(beNil());
+ expect(testResponse.accPedalPosition).to(beNil());
+ expect(testResponse.steeringWheelAngle).to(beNil());
+ expect(testResponse.eCallInfo).to(beNil());
+ expect(testResponse.airbagStatus).to(beNil());
+ expect(testResponse.emergencyEvent).to(beNil());
+ expect(testResponse.clusterModes).to(beNil());
+ expect(testResponse.myKey).to(beNil());
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUpdateTurnListResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUpdateTurnListResponseSpec.m
new file mode 100644
index 000000000..d455dea46
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUpdateTurnListResponseSpec.m
@@ -0,0 +1,16 @@
+//
+// SDLUpdateTurnListResponseSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLUpdateTurnListResponse.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLUpdateTurnListResponseSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m
new file mode 100644
index 000000000..ea88855c5
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m
@@ -0,0 +1,76 @@
+//
+// SDLAirbagStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAirbagStatus.h"
+#import "SDLNames.h"
+#import "SDLVehicleDataEventStatus.h"
+
+
+QuickSpecBegin(SDLAirbagStatusSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLAirbagStatus* testStruct = [[SDLAirbagStatus alloc] init];
+
+ testStruct.driverAirbagDeployed = [SDLVehicleDataEventStatus _YES];
+ testStruct.driverSideAirbagDeployed = [SDLVehicleDataEventStatus NO_EVENT];
+ testStruct.driverCurtainAirbagDeployed = [SDLVehicleDataEventStatus _NO];
+ testStruct.passengerAirbagDeployed = [SDLVehicleDataEventStatus NOT_SUPPORTED];
+ testStruct.passengerCurtainAirbagDeployed = [SDLVehicleDataEventStatus FAULT];
+ testStruct.driverKneeAirbagDeployed = [SDLVehicleDataEventStatus _NO];
+ testStruct.passengerSideAirbagDeployed = [SDLVehicleDataEventStatus _YES];
+ testStruct.passengerKneeAirbagDeployed = [SDLVehicleDataEventStatus NO_EVENT];
+
+ expect(testStruct.driverAirbagDeployed).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.driverSideAirbagDeployed).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testStruct.driverCurtainAirbagDeployed).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect(testStruct.passengerAirbagDeployed).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ expect(testStruct.passengerCurtainAirbagDeployed).to(equal([SDLVehicleDataEventStatus FAULT]));
+ expect(testStruct.driverKneeAirbagDeployed).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect(testStruct.passengerSideAirbagDeployed).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.passengerKneeAirbagDeployed).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_driverAirbagDeployed:[SDLVehicleDataEventStatus _YES],
+ NAMES_driverSideAirbagDeployed:[SDLVehicleDataEventStatus NO_EVENT],
+ NAMES_driverCurtainAirbagDeployed:[SDLVehicleDataEventStatus _NO],
+ NAMES_passengerAirbagDeployed:[SDLVehicleDataEventStatus NOT_SUPPORTED],
+ NAMES_passengerCurtainAirbagDeployed:[SDLVehicleDataEventStatus FAULT],
+ NAMES_driverKneeAirbagDeployed:[SDLVehicleDataEventStatus _NO],
+ NAMES_passengerSideAirbagDeployed:[SDLVehicleDataEventStatus _YES],
+ NAMES_passengerKneeAirbagDeployed:[SDLVehicleDataEventStatus NO_EVENT]} mutableCopy];
+ SDLAirbagStatus* testStruct = [[SDLAirbagStatus alloc] initWithDictionary:dict];
+
+ expect(testStruct.driverAirbagDeployed).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.driverSideAirbagDeployed).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testStruct.driverCurtainAirbagDeployed).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect(testStruct.passengerAirbagDeployed).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ expect(testStruct.passengerCurtainAirbagDeployed).to(equal([SDLVehicleDataEventStatus FAULT]));
+ expect(testStruct.driverKneeAirbagDeployed).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect(testStruct.passengerSideAirbagDeployed).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.passengerKneeAirbagDeployed).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLAirbagStatus* testStruct = [[SDLAirbagStatus alloc] init];
+
+ expect(testStruct.driverAirbagDeployed).to(beNil());
+ expect(testStruct.driverSideAirbagDeployed).to(beNil());
+ expect(testStruct.driverCurtainAirbagDeployed).to(beNil());
+ expect(testStruct.passengerAirbagDeployed).to(beNil());
+ expect(testStruct.passengerCurtainAirbagDeployed).to(beNil());
+ expect(testStruct.driverKneeAirbagDeployed).to(beNil());
+ expect(testStruct.passengerSideAirbagDeployed).to(beNil());
+ expect(testStruct.passengerKneeAirbagDeployed).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m
new file mode 100644
index 000000000..8d66fc8af
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m
@@ -0,0 +1,53 @@
+//
+// SDLAudioPassThruCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAudioPassThruCapabilities.h"
+#import "SDLAudioType.h"
+#import "SDLBitsPerSample.h"
+#import "SDLNames.h"
+#import "SDLSamplingRate.h"
+
+
+QuickSpecBegin(SDLAudioPassThruCapabilitiesSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLAudioPassThruCapabilities* testStruct = [[SDLAudioPassThruCapabilities alloc] init];
+
+ testStruct.samplingRate = [SDLSamplingRate _22KHZ];
+ testStruct.bitsPerSample = [SDLBitsPerSample _8_BIT];
+ testStruct.audioType = [SDLAudioType PCM];
+
+ expect(testStruct.samplingRate).to(equal([SDLSamplingRate _22KHZ]));
+ expect(testStruct.bitsPerSample).to(equal([SDLBitsPerSample _8_BIT]));
+ expect(testStruct.audioType).to(equal([SDLAudioType PCM]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_samplingRate:[SDLSamplingRate _22KHZ],
+ NAMES_bitsPerSample:[SDLBitsPerSample _8_BIT],
+ NAMES_audioType:[SDLAudioType PCM]} mutableCopy];
+ SDLAudioPassThruCapabilities* testStruct = [[SDLAudioPassThruCapabilities alloc] initWithDictionary:dict];
+
+ expect(testStruct.samplingRate).to(equal([SDLSamplingRate _22KHZ]));
+ expect(testStruct.bitsPerSample).to(equal([SDLBitsPerSample _8_BIT]));
+ expect(testStruct.audioType).to(equal([SDLAudioType PCM]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLAudioPassThruCapabilities* testStruct = [[SDLAudioPassThruCapabilities alloc] init];
+
+ expect(testStruct.samplingRate).to(beNil());
+ expect(testStruct.bitsPerSample).to(beNil());
+ expect(testStruct.audioType).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m
new file mode 100644
index 000000000..e0d8c4883
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m
@@ -0,0 +1,111 @@
+//
+// SDLBeltStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLBeltStatus.h"
+#import "SDLNames.h"
+#import "SDLVehicleDataEventStatus.h"
+
+
+QuickSpecBegin(SDLBeltStatusSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLBeltStatus* testStruct = [[SDLBeltStatus alloc] init];
+
+ testStruct.driverBeltDeployed = [SDLVehicleDataEventStatus _YES];
+ testStruct.passengerBeltDeployed = [SDLVehicleDataEventStatus NO_EVENT];
+ testStruct.passengerBuckleBelted = [SDLVehicleDataEventStatus FAULT];
+ testStruct.driverBuckleBelted = [SDLVehicleDataEventStatus _YES];
+ testStruct.leftRow2BuckleBelted = [SDLVehicleDataEventStatus FAULT];
+ testStruct.passengerChildDetected = [SDLVehicleDataEventStatus NOT_SUPPORTED];
+ testStruct.rightRow2BuckleBelted = [SDLVehicleDataEventStatus _YES];
+ testStruct.middleRow2BuckleBelted = [SDLVehicleDataEventStatus NO_EVENT];
+ testStruct.middleRow3BuckleBelted = [SDLVehicleDataEventStatus NOT_SUPPORTED];
+ testStruct.leftRow3BuckleBelted = [SDLVehicleDataEventStatus _YES];
+ testStruct.rightRow3BuckleBelted = [SDLVehicleDataEventStatus _NO];
+ testStruct.leftRearInflatableBelted = [SDLVehicleDataEventStatus NOT_SUPPORTED];
+ testStruct.rightRearInflatableBelted = [SDLVehicleDataEventStatus FAULT];
+ testStruct.middleRow1BeltDeployed = [SDLVehicleDataEventStatus _YES];
+ testStruct.middleRow1BuckleBelted = [SDLVehicleDataEventStatus _NO];
+
+ expect(testStruct.driverBeltDeployed).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.passengerBeltDeployed).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testStruct.passengerBuckleBelted).to(equal([SDLVehicleDataEventStatus FAULT]));
+ expect(testStruct.driverBuckleBelted).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.leftRow2BuckleBelted).to(equal([SDLVehicleDataEventStatus FAULT]));
+ expect(testStruct.passengerChildDetected).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ expect(testStruct.rightRow2BuckleBelted).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.middleRow2BuckleBelted).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testStruct.middleRow3BuckleBelted).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ expect(testStruct.leftRow3BuckleBelted).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.rightRow3BuckleBelted).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect(testStruct.leftRearInflatableBelted).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ expect(testStruct.rightRearInflatableBelted).to(equal([SDLVehicleDataEventStatus FAULT]));
+ expect(testStruct.middleRow1BeltDeployed).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.middleRow1BuckleBelted).to(equal([SDLVehicleDataEventStatus _NO]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_driverBeltDeployed:[SDLVehicleDataEventStatus NO_EVENT],
+ NAMES_passengerBeltDeployed:[SDLVehicleDataEventStatus _YES],
+ NAMES_passengerBuckleBelted:[SDLVehicleDataEventStatus _NO],
+ NAMES_driverBuckleBelted:[SDLVehicleDataEventStatus FAULT],
+ NAMES_leftRow2BuckleBelted:[SDLVehicleDataEventStatus _YES],
+ NAMES_passengerChildDetected:[SDLVehicleDataEventStatus _NO],
+ NAMES_rightRow2BuckleBelted:[SDLVehicleDataEventStatus NOT_SUPPORTED],
+ NAMES_middleRow2BuckleBelted:[SDLVehicleDataEventStatus NO_EVENT],
+ NAMES_middleRow3BuckleBelted:[SDLVehicleDataEventStatus _YES],
+ NAMES_leftRow3BuckleBelted:[SDLVehicleDataEventStatus FAULT],
+ NAMES_rightRow3BuckleBelted:[SDLVehicleDataEventStatus _NO],
+ NAMES_leftRearInflatableBelted:[SDLVehicleDataEventStatus NOT_SUPPORTED],
+ NAMES_rightRearInflatableBelted:[SDLVehicleDataEventStatus FAULT],
+ NAMES_middleRow1BeltDeployed:[SDLVehicleDataEventStatus NO_EVENT],
+ NAMES_middleRow1BuckleBelted:[SDLVehicleDataEventStatus NOT_SUPPORTED]} mutableCopy];
+ SDLBeltStatus* testStruct = [[SDLBeltStatus alloc] initWithDictionary:dict];
+
+ expect(testStruct.driverBeltDeployed).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testStruct.passengerBeltDeployed).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.passengerBuckleBelted).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect(testStruct.driverBuckleBelted).to(equal([SDLVehicleDataEventStatus FAULT]));
+ expect(testStruct.leftRow2BuckleBelted).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.passengerChildDetected).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect(testStruct.rightRow2BuckleBelted).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ expect(testStruct.middleRow2BuckleBelted).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testStruct.middleRow3BuckleBelted).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.leftRow3BuckleBelted).to(equal([SDLVehicleDataEventStatus FAULT]));
+ expect(testStruct.rightRow3BuckleBelted).to(equal([SDLVehicleDataEventStatus _NO]));
+ expect(testStruct.leftRearInflatableBelted).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ expect(testStruct.rightRearInflatableBelted).to(equal([SDLVehicleDataEventStatus FAULT]));
+ expect(testStruct.middleRow1BeltDeployed).to(equal([SDLVehicleDataEventStatus NO_EVENT]));
+ expect(testStruct.middleRow1BuckleBelted).to(equal([SDLVehicleDataEventStatus NOT_SUPPORTED]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLBeltStatus* testStruct = [[SDLBeltStatus alloc] init];
+
+ expect(testStruct.driverBeltDeployed).to(beNil());
+ expect(testStruct.passengerBeltDeployed).to(beNil());
+ expect(testStruct.passengerBuckleBelted).to(beNil());
+ expect(testStruct.driverBuckleBelted).to(beNil());
+ expect(testStruct.leftRow2BuckleBelted).to(beNil());
+ expect(testStruct.passengerChildDetected).to(beNil());
+ expect(testStruct.rightRow2BuckleBelted).to(beNil());
+ expect(testStruct.middleRow2BuckleBelted).to(beNil());
+ expect(testStruct.middleRow3BuckleBelted).to(beNil());
+ expect(testStruct.leftRow3BuckleBelted).to(beNil());
+ expect(testStruct.rightRow3BuckleBelted).to(beNil());
+ expect(testStruct.leftRearInflatableBelted).to(beNil());
+ expect(testStruct.rightRearInflatableBelted).to(beNil());
+ expect(testStruct.middleRow1BeltDeployed).to(beNil());
+ expect(testStruct.middleRow1BuckleBelted).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m
new file mode 100644
index 000000000..a13a7cc9c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m
@@ -0,0 +1,71 @@
+//
+// SDLBodyInformationSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLBodyInformation.h"
+#import "SDLIgnitionStableStatus.h"
+#import "SDLIgnitionStatus.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLBodyInformationSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLBodyInformation* testStruct = [[SDLBodyInformation alloc] init];
+
+ testStruct.parkBrakeActive = @YES;
+ testStruct.ignitionStableStatus = [SDLIgnitionStableStatus IGNITION_SWITCH_STABLE];
+ testStruct.ignitionStatus = [SDLIgnitionStatus START];
+ testStruct.driverDoorAjar = @NO;
+ testStruct.passengerDoorAjar = @NO;
+ testStruct.rearLeftDoorAjar = @NO;
+ testStruct.rearRightDoorAjar = @YES;
+
+ expect(testStruct.parkBrakeActive).to(equal(@YES));
+ expect(testStruct.ignitionStableStatus).to(equal([SDLIgnitionStableStatus IGNITION_SWITCH_STABLE]));
+ expect(testStruct.ignitionStatus).to(equal([SDLIgnitionStatus START]));
+ expect(testStruct.driverDoorAjar).to(equal(@NO));
+ expect(testStruct.passengerDoorAjar).to(equal(@NO));
+ expect(testStruct.rearLeftDoorAjar).to(equal(@NO));
+ expect(testStruct.rearRightDoorAjar).to(equal(@YES));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_parkBrakeActive:@YES,
+ NAMES_ignitionStableStatus:[SDLIgnitionStableStatus IGNITION_SWITCH_NOT_STABLE],
+ NAMES_ignitionStatus:[SDLIgnitionStatus START],
+ NAMES_driverDoorAjar:@NO,
+ NAMES_passengerDoorAjar:@NO,
+ NAMES_rearLeftDoorAjar:@NO,
+ NAMES_rearRightDoorAjar:@YES} mutableCopy];
+ SDLBodyInformation* testStruct = [[SDLBodyInformation alloc] initWithDictionary:dict];
+
+ expect(testStruct.parkBrakeActive).to(equal(@YES));
+ expect(testStruct.ignitionStableStatus).to(equal([SDLIgnitionStableStatus IGNITION_SWITCH_NOT_STABLE]));
+ expect(testStruct.ignitionStatus).to(equal([SDLIgnitionStatus START]));
+ expect(testStruct.driverDoorAjar).to(equal(@NO));
+ expect(testStruct.passengerDoorAjar).to(equal(@NO));
+ expect(testStruct.rearLeftDoorAjar).to(equal(@NO));
+ expect(testStruct.rearRightDoorAjar).to(equal(@YES));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLBodyInformation* testStruct = [[SDLBodyInformation alloc] init];
+
+ expect(testStruct.parkBrakeActive).to(beNil());
+ expect(testStruct.ignitionStableStatus).to(beNil());
+ expect(testStruct.ignitionStatus).to(beNil());
+ expect(testStruct.driverDoorAjar).to(beNil());
+ expect(testStruct.passengerDoorAjar).to(beNil());
+ expect(testStruct.rearLeftDoorAjar).to(beNil());
+ expect(testStruct.rearRightDoorAjar).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m
new file mode 100644
index 000000000..a5f753629
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m
@@ -0,0 +1,56 @@
+//
+// SDLButtonCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLButtonCapabilities.h"
+#import "SDLButtonName.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLButtonCapabilitiesSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLButtonCapabilities* testStruct = [[SDLButtonCapabilities alloc] init];
+
+ testStruct.name = [SDLButtonName TUNEUP];
+ testStruct.shortPressAvailable = @YES;
+ testStruct.longPressAvailable = @YES;
+ testStruct.upDownAvailable = @NO;
+
+ expect(testStruct.name).to(equal([SDLButtonName TUNEUP]));
+ expect(testStruct.shortPressAvailable).to(equal(@YES));
+ expect(testStruct.longPressAvailable).to(equal(@YES));
+ expect(testStruct.upDownAvailable).to(equal(@NO));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_name:[SDLButtonName CUSTOM_BUTTON],
+ NAMES_shortPressAvailable:@YES,
+ NAMES_longPressAvailable:@YES,
+ NAMES_upDownAvailable:@NO} mutableCopy];
+ SDLButtonCapabilities* testStruct = [[SDLButtonCapabilities alloc] initWithDictionary:dict];
+
+ expect(testStruct.name).to(equal([SDLButtonName CUSTOM_BUTTON]));
+ expect(testStruct.shortPressAvailable).to(equal(@YES));
+ expect(testStruct.longPressAvailable).to(equal(@YES));
+ expect(testStruct.upDownAvailable).to(equal(@NO));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLButtonCapabilities* testStruct = [[SDLButtonCapabilities alloc] init];
+
+ expect(testStruct.name).to(beNil());
+ expect(testStruct.shortPressAvailable).to(beNil());
+ expect(testStruct.longPressAvailable).to(beNil());
+ expect(testStruct.upDownAvailable).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m
new file mode 100644
index 000000000..63116976a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m
@@ -0,0 +1,74 @@
+//
+// SDLChoiceSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLChoice.h"
+#import "SDLImage.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLChoiceSpec)
+
+__block SDLImage* image = [[SDLImage alloc] init];
+__block SDLImage* secondaryImage = [[SDLImage alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLChoice* testStruct = [[SDLChoice alloc] init];
+
+ testStruct.choiceID = @3;
+ testStruct.menuName = @"Hello";
+ testStruct.vrCommands = [@[@"1", @"2"] mutableCopy];
+ testStruct.image = image;
+ testStruct.secondaryText = @"Arbitrary";
+ testStruct.tertiaryText = @"qwerty";
+ testStruct.secondaryImage = secondaryImage;
+
+ expect(testStruct.choiceID).to(equal(@3));
+ expect(testStruct.menuName).to(equal(@"Hello"));
+ expect(testStruct.vrCommands).to(equal([@[@"1", @"2"] mutableCopy]));
+ expect(testStruct.image).to(equal(image));
+ expect(testStruct.secondaryText).to(equal(@"Arbitrary"));
+ expect(testStruct.tertiaryText).to(equal(@"qwerty"));
+ expect(testStruct.secondaryImage).to(equal(secondaryImage));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_choiceID:@3,
+ NAMES_menuName:@"Hello",
+ NAMES_vrCommands:[@[@"1", @"2"] mutableCopy],
+ NAMES_image:image,
+ NAMES_secondaryText:@"Arbitrary",
+ NAMES_tertiaryText:@"qwerty",
+ NAMES_secondaryImage:secondaryImage} mutableCopy];
+ SDLChoice* testStruct = [[SDLChoice alloc] initWithDictionary:dict];
+
+ expect(testStruct.choiceID).to(equal(@3));
+ expect(testStruct.menuName).to(equal(@"Hello"));
+ expect(testStruct.vrCommands).to(equal([@[@"1", @"2"] mutableCopy]));
+ expect(testStruct.image).to(equal(image));
+ expect(testStruct.secondaryText).to(equal(@"Arbitrary"));
+ expect(testStruct.tertiaryText).to(equal(@"qwerty"));
+ expect(testStruct.secondaryImage).to(equal(secondaryImage));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLChoice* testStruct = [[SDLChoice alloc] init];
+
+ expect(testStruct.choiceID).to(beNil());
+ expect(testStruct.menuName).to(beNil());
+ expect(testStruct.vrCommands).to(beNil());
+ expect(testStruct.image).to(beNil());
+ expect(testStruct.secondaryText).to(beNil());
+ expect(testStruct.tertiaryText).to(beNil());
+ expect(testStruct.secondaryImage).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m
new file mode 100644
index 000000000..8e74324cf
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m
@@ -0,0 +1,57 @@
+//
+// SDLClusterModeStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLCarModeStatus.h"
+#import "SDLClusterModeStatus.h"
+#import "SDLPowerModeQualificationStatus.h"
+#import "SDLPowerModeStatus.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLClusterModeStatusSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLClusterModeStatus* testStruct = [[SDLClusterModeStatus alloc] init];
+
+ testStruct.powerModeActive = @YES;
+ testStruct.powerModeQualificationStatus = [SDLPowerModeQualificationStatus POWER_MODE_EVALUATION_IN_PROGRESS];
+ testStruct.carModeStatus = [SDLCarModeStatus CRASH];
+ testStruct.powerModeStatus = [SDLPowerModeStatus IGNITION_ON_2];
+
+ expect(testStruct.powerModeActive).to(equal(@YES));
+ expect(testStruct.powerModeQualificationStatus).to(equal([SDLPowerModeQualificationStatus POWER_MODE_EVALUATION_IN_PROGRESS]));
+ expect(testStruct.carModeStatus).to(equal([SDLCarModeStatus CRASH]));
+ expect(testStruct.powerModeStatus).to(equal([SDLPowerModeStatus IGNITION_ON_2]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_powerModeActive:@NO,
+ NAMES_powerModeQualificationStatus:[SDLPowerModeQualificationStatus POWER_MODE_OK],
+ NAMES_carModeStatus:[SDLCarModeStatus CRASH],
+ NAMES_powerModeStatus:[SDLPowerModeStatus KEY_OUT]} mutableCopy];
+ SDLClusterModeStatus* testStruct = [[SDLClusterModeStatus alloc] initWithDictionary:dict];
+
+ expect(testStruct.powerModeActive).to(equal(@NO));
+ expect(testStruct.powerModeQualificationStatus).to(equal([SDLPowerModeQualificationStatus POWER_MODE_OK]));
+ expect(testStruct.carModeStatus).to(equal([SDLCarModeStatus CRASH]));
+ expect(testStruct.powerModeStatus).to(equal([SDLPowerModeStatus KEY_OUT]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLClusterModeStatus* testStruct = [[SDLClusterModeStatus alloc] init];
+
+ expect(testStruct.powerModeActive).to(beNil());
+ expect(testStruct.powerModeQualificationStatus).to(beNil());
+ expect(testStruct.carModeStatus).to(beNil());
+ expect(testStruct.powerModeStatus).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m
new file mode 100644
index 000000000..db626f959
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m
@@ -0,0 +1,51 @@
+//
+// SDLDIDResultSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDIDResult.h"
+#import "SDLNames.h"
+#import "SDLVehicleDataResultCode.h"
+
+
+QuickSpecBegin(SDLDIDResultSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDIDResult* testStruct = [[SDLDIDResult alloc] init];
+
+ testStruct.resultCode = [SDLVehicleDataResultCode DATA_NOT_SUBSCRIBED];
+ testStruct.didLocation = @300;
+ testStruct.data = @"gertwydhty4235tdhedt4tue";
+
+ expect(testStruct.resultCode).to(equal([SDLVehicleDataResultCode DATA_NOT_SUBSCRIBED]));
+ expect(testStruct.didLocation).to(equal(@300));
+ expect(testStruct.data).to(equal(@"gertwydhty4235tdhedt4tue"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_resultCode:[SDLVehicleDataResultCode DATA_NOT_SUBSCRIBED],
+ NAMES_didLocation:@300,
+ NAMES_data:@"gertwydhty4235tdhedt4tue"} mutableCopy];
+ SDLDIDResult* testStruct = [[SDLDIDResult alloc] initWithDictionary:dict];
+
+ expect(testStruct.resultCode).to(equal([SDLVehicleDataResultCode DATA_NOT_SUBSCRIBED]));
+ expect(testStruct.didLocation).to(equal(@300));
+ expect(testStruct.data).to(equal(@"gertwydhty4235tdhedt4tue"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDIDResult* testStruct = [[SDLDIDResult alloc] init];
+
+ expect(testStruct.resultCode).to(beNil());
+ expect(testStruct.didLocation).to(beNil());
+ expect(testStruct.data).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m
new file mode 100644
index 000000000..beb3b2d80
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m
@@ -0,0 +1,64 @@
+//
+// SDLDeviceInfoSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeviceInfo.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLDeviceInfoSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDeviceInfo* testStruct = [[SDLDeviceInfo alloc] init];
+
+ testStruct.hardware = @"GDFR34F";
+ testStruct.firmwareRev = @"4.2a";
+ testStruct.os = @"Robot";
+ testStruct.osVersion = @"9.9";
+ testStruct.carrier = @"ThatOneWirelessCompany";
+ testStruct.maxNumberRFCOMMPorts = @20;
+
+ expect(testStruct.hardware).to(equal(@"GDFR34F"));
+ expect(testStruct.firmwareRev).to(equal(@"4.2a"));
+ expect(testStruct.os).to(equal(@"Robot"));
+ expect(testStruct.osVersion).to(equal(@"9.9"));
+ expect(testStruct.carrier).to(equal(@"ThatOneWirelessCompany"));
+ expect(testStruct.maxNumberRFCOMMPorts).to(equal(@20));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_hardware:@"GDFR34F",
+ NAMES_firmwareRev:@"4.2a",
+ NAMES_os:@"Robot",
+ NAMES_osVersion:@"9.9",
+ NAMES_carrier:@"ThatOneWirelessCompany",
+ NAMES_maxNumberRFCOMMPorts:@20} mutableCopy];
+ SDLDeviceInfo* testStruct = [[SDLDeviceInfo alloc] initWithDictionary:dict];
+
+ expect(testStruct.hardware).to(equal(@"GDFR34F"));
+ expect(testStruct.firmwareRev).to(equal(@"4.2a"));
+ expect(testStruct.os).to(equal(@"Robot"));
+ expect(testStruct.osVersion).to(equal(@"9.9"));
+ expect(testStruct.carrier).to(equal(@"ThatOneWirelessCompany"));
+ expect(testStruct.maxNumberRFCOMMPorts).to(equal(@20));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDeviceInfo* testStruct = [[SDLDeviceInfo alloc] init];
+
+ expect(testStruct.hardware).to(beNil());
+ expect(testStruct.firmwareRev).to(beNil());
+ expect(testStruct.os).to(beNil());
+ expect(testStruct.osVersion).to(beNil());
+ expect(testStruct.carrier).to(beNil());
+ expect(testStruct.maxNumberRFCOMMPorts).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m
new file mode 100644
index 000000000..1996e45a8
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m
@@ -0,0 +1,92 @@
+//
+// SDLDeviceStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDeviceLevelStatus.h"
+#import "SDLDeviceStatus.h"
+#import "SDLNames.h"
+#import "SDLPrimaryAudioSource.h"
+
+
+QuickSpecBegin(SDLDeviceStatusSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDeviceStatus* testStruct = [[SDLDeviceStatus alloc] init];
+
+ testStruct.voiceRecOn = @NO;
+ testStruct.btIconOn = @NO;
+ testStruct.callActive = @YES;
+ testStruct.phoneRoaming = @NO;
+ testStruct.textMsgAvailable = @YES;
+ testStruct.battLevelStatus = [SDLDeviceLevelStatus FOUR_LEVEL_BARS];
+ testStruct.stereoAudioOutputMuted = @YES;
+ testStruct.monoAudioOutputMuted = @YES;
+ testStruct.signalLevelStatus = [SDLDeviceLevelStatus TWO_LEVEL_BARS];
+ testStruct.primaryAudioSource = [SDLPrimaryAudioSource BLUETOOTH_STEREO_BTST];
+ testStruct.eCallEventActive = @NO;
+
+ expect(testStruct.voiceRecOn).to(equal(@NO));
+ expect(testStruct.btIconOn).to(equal(@NO));
+ expect(testStruct.callActive).to(equal(@YES));
+ expect(testStruct.phoneRoaming).to(equal(@NO));
+ expect(testStruct.textMsgAvailable).to(equal(@YES));
+ expect(testStruct.battLevelStatus).to(equal([SDLDeviceLevelStatus FOUR_LEVEL_BARS]));
+ expect(testStruct.stereoAudioOutputMuted).to(equal(@YES));
+ expect(testStruct.monoAudioOutputMuted).to(equal(@YES));
+ expect(testStruct.signalLevelStatus).to(equal([SDLDeviceLevelStatus TWO_LEVEL_BARS]));
+ expect(testStruct.primaryAudioSource).to(equal([SDLPrimaryAudioSource BLUETOOTH_STEREO_BTST]));
+ expect(testStruct.eCallEventActive).to(equal(@NO));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_voiceRecOn:@NO,
+ NAMES_btIconOn:@NO,
+ NAMES_callActive:@YES,
+ NAMES_phoneRoaming:@NO,
+ NAMES_textMsgAvailable:@YES,
+ NAMES_battLevelStatus:[SDLDeviceLevelStatus FOUR_LEVEL_BARS],
+ NAMES_stereoAudioOutputMuted:@YES,
+ NAMES_monoAudioOutputMuted:@YES,
+ NAMES_signalLevelStatus:[SDLDeviceLevelStatus TWO_LEVEL_BARS],
+ NAMES_primaryAudioSource:[SDLPrimaryAudioSource BLUETOOTH_STEREO_BTST],
+ NAMES_eCallEventActive:@NO} mutableCopy];
+ SDLDeviceStatus* testStruct = [[SDLDeviceStatus alloc] initWithDictionary:dict];
+
+ expect(testStruct.voiceRecOn).to(equal(@NO));
+ expect(testStruct.btIconOn).to(equal(@NO));
+ expect(testStruct.callActive).to(equal(@YES));
+ expect(testStruct.phoneRoaming).to(equal(@NO));
+ expect(testStruct.textMsgAvailable).to(equal(@YES));
+ expect(testStruct.battLevelStatus).to(equal([SDLDeviceLevelStatus FOUR_LEVEL_BARS]));
+ expect(testStruct.stereoAudioOutputMuted).to(equal(@YES));
+ expect(testStruct.monoAudioOutputMuted).to(equal(@YES));
+ expect(testStruct.signalLevelStatus).to(equal([SDLDeviceLevelStatus TWO_LEVEL_BARS]));
+ expect(testStruct.primaryAudioSource).to(equal([SDLPrimaryAudioSource BLUETOOTH_STEREO_BTST]));
+ expect(testStruct.eCallEventActive).to(equal(@NO));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDeviceStatus* testStruct = [[SDLDeviceStatus alloc] init];
+
+ expect(testStruct.voiceRecOn).to(beNil());
+ expect(testStruct.btIconOn).to(beNil());
+ expect(testStruct.callActive).to(beNil());
+ expect(testStruct.phoneRoaming).to(beNil());
+ expect(testStruct.textMsgAvailable).to(beNil());
+ expect(testStruct.battLevelStatus).to(beNil());
+ expect(testStruct.stereoAudioOutputMuted).to(beNil());
+ expect(testStruct.monoAudioOutputMuted).to(beNil());
+ expect(testStruct.signalLevelStatus).to(beNil());
+ expect(testStruct.primaryAudioSource).to(beNil());
+ expect(testStruct.eCallEventActive).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDisplayCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDisplayCapabilitiesSpec.m
new file mode 100644
index 000000000..02cac7f54
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDisplayCapabilitiesSpec.m
@@ -0,0 +1,84 @@
+//
+// SDLDisplayCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLDisplayCapabilities.h"
+#import "SDLDisplayType.h"
+#import "SDLImageField.h"
+#import "SDLMediaClockFormat.h"
+#import "SDLNames.h"
+#import "SDLScreenParams.h"
+#import "SDLTextField.h"
+
+
+QuickSpecBegin(SDLDisplayCapabilitiesSpec)
+
+SDLScreenParams* screenParams = [[SDLScreenParams alloc] init];
+SDLTextField* textField = [[SDLTextField alloc] init];
+SDLImageField* imageField = [[SDLImageField alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLDisplayCapabilities* testStruct = [[SDLDisplayCapabilities alloc] init];
+
+ testStruct.displayType = [SDLDisplayType GEN2_6_DMA];
+ testStruct.textFields = [@[textField] mutableCopy];
+ testStruct.imageFields = [@[imageField] mutableCopy];
+ testStruct.mediaClockFormats = [@[[SDLMediaClockFormat CLOCKTEXT1], [SDLMediaClockFormat CLOCK3], [SDLMediaClockFormat CLOCKTEXT3]] copy];
+ testStruct.graphicSupported = @YES;
+ testStruct.templatesAvailable = [@[@"String", @"String", @"String"] mutableCopy];
+ testStruct.screenParams = screenParams;
+ testStruct.numCustomPresetsAvailable = @43;
+
+ expect(testStruct.displayType).to(equal([SDLDisplayType GEN2_6_DMA]));
+ expect(testStruct.textFields).to(equal([@[textField] mutableCopy]));
+ expect(testStruct.imageFields).to(equal([@[imageField] mutableCopy]));
+ expect(testStruct.mediaClockFormats).to(equal([@[[SDLMediaClockFormat CLOCKTEXT1], [SDLMediaClockFormat CLOCK3], [SDLMediaClockFormat CLOCKTEXT3]] copy]));
+ expect(testStruct.graphicSupported).to(equal(@YES));
+ expect(testStruct.templatesAvailable).to(equal([@[@"String", @"String", @"String"] mutableCopy]));
+ expect(testStruct.screenParams).to(equal(screenParams));
+ expect(testStruct.numCustomPresetsAvailable).to(equal(@43));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_displayType:[SDLDisplayType GEN2_6_DMA],
+ NAMES_textFields:[@[textField] mutableCopy],
+ NAMES_imageFields:[@[imageField] mutableCopy],
+ NAMES_mediaClockFormats:[@[[SDLMediaClockFormat CLOCKTEXT1], [SDLMediaClockFormat CLOCK3], [SDLMediaClockFormat CLOCKTEXT3]] copy],
+ NAMES_graphicSupported:@YES,
+ NAMES_templatesAvailable:[@[@"String", @"String", @"String"] mutableCopy],
+ NAMES_screenParams:screenParams,
+ NAMES_numCustomPresetsAvailable:@43} mutableCopy];
+ SDLDisplayCapabilities* testStruct = [[SDLDisplayCapabilities alloc] initWithDictionary:dict];
+
+ expect(testStruct.displayType).to(equal([SDLDisplayType GEN2_6_DMA]));
+ expect(testStruct.textFields).to(equal([@[textField] mutableCopy]));
+ expect(testStruct.imageFields).to(equal([@[imageField] mutableCopy]));
+ expect(testStruct.mediaClockFormats).to(equal([@[[SDLMediaClockFormat CLOCKTEXT1], [SDLMediaClockFormat CLOCK3], [SDLMediaClockFormat CLOCKTEXT3]] copy]));
+ expect(testStruct.graphicSupported).to(equal(@YES));
+ expect(testStruct.templatesAvailable).to(equal([@[@"String", @"String", @"String"] mutableCopy]));
+ expect(testStruct.screenParams).to(equal(screenParams));
+ expect(testStruct.numCustomPresetsAvailable).to(equal(@43));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLDisplayCapabilities* testStruct = [[SDLDisplayCapabilities alloc] init];
+
+ expect(testStruct.displayType).to(beNil());
+ expect(testStruct.textFields).to(beNil());
+ expect(testStruct.imageFields).to(beNil());
+ expect(testStruct.mediaClockFormats).to(beNil());
+ expect(testStruct.graphicSupported).to(beNil());
+ expect(testStruct.templatesAvailable).to(beNil());
+ expect(testStruct.screenParams).to(beNil());
+ expect(testStruct.numCustomPresetsAvailable).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m
new file mode 100644
index 000000000..28e226187
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m
@@ -0,0 +1,52 @@
+//
+// SDLECallInfoSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleDataNotificationStatus.h"
+#import "SDLECallConfirmationStatus.h"
+#import "SDLECallInfo.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLECallInfoSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLECallInfo* testStruct = [[SDLECallInfo alloc] init];
+
+ testStruct.eCallNotificationStatus = [SDLVehicleDataNotificationStatus NORMAL];
+ testStruct.auxECallNotificationStatus = [SDLVehicleDataNotificationStatus ACTIVE];
+ testStruct.eCallConfirmationStatus = [SDLECallConfirmationStatus CALL_IN_PROGRESS];
+
+ expect(testStruct.eCallNotificationStatus).to(equal([SDLVehicleDataNotificationStatus NORMAL]));
+ expect(testStruct.auxECallNotificationStatus).to(equal([SDLVehicleDataNotificationStatus ACTIVE]));
+ expect(testStruct.eCallConfirmationStatus).to(equal([SDLECallConfirmationStatus CALL_IN_PROGRESS]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_eCallNotificationStatus:[SDLVehicleDataNotificationStatus NORMAL],
+ NAMES_auxECallNotificationStatus:[SDLVehicleDataNotificationStatus ACTIVE],
+ NAMES_eCallConfirmationStatus:[SDLECallConfirmationStatus CALL_IN_PROGRESS]} mutableCopy];
+ SDLECallInfo* testStruct = [[SDLECallInfo alloc] initWithDictionary:dict];
+
+ expect(testStruct.eCallNotificationStatus).to(equal([SDLVehicleDataNotificationStatus NORMAL]));
+ expect(testStruct.auxECallNotificationStatus).to(equal([SDLVehicleDataNotificationStatus ACTIVE]));
+ expect(testStruct.eCallConfirmationStatus).to(equal([SDLECallConfirmationStatus CALL_IN_PROGRESS]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLECallInfo* testStruct = [[SDLECallInfo alloc] init];
+
+ expect(testStruct.eCallNotificationStatus).to(beNil());
+ expect(testStruct.auxECallNotificationStatus).to(beNil());
+ expect(testStruct.eCallConfirmationStatus).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m
new file mode 100644
index 000000000..c67f45d45
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m
@@ -0,0 +1,63 @@
+//
+// SDLEmergencyEventSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLEmergencyEvent.h"
+#import "SDLEmergencyEventType.h"
+#import "SDLFuelCutoffStatus.h"
+#import "SDLNames.h"
+#import "SDLVehicleDataEventStatus.h"
+
+
+QuickSpecBegin(SDLEmergencyEventSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLEmergencyEvent* testStruct = [[SDLEmergencyEvent alloc] init];
+
+ testStruct.emergencyEventType = [SDLEmergencyEventType FRONTAL];
+ testStruct.fuelCutoffStatus = [SDLFuelCutoffStatus NORMAL_OPERATION];
+ testStruct.rolloverEvent = [SDLVehicleDataEventStatus _YES];
+ testStruct.maximumChangeVelocity = @33;
+ testStruct.multipleEvents = [SDLVehicleDataEventStatus _NO];
+
+ expect(testStruct.emergencyEventType).to(equal([SDLEmergencyEventType FRONTAL]));
+ expect(testStruct.fuelCutoffStatus).to(equal([SDLFuelCutoffStatus NORMAL_OPERATION]));
+ expect(testStruct.rolloverEvent).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.maximumChangeVelocity).to(equal(@33));
+ expect(testStruct.multipleEvents).to(equal([SDLVehicleDataEventStatus _NO]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_emergencyEventType:[SDLEmergencyEventType FRONTAL],
+ NAMES_fuelCutoffStatus:[SDLFuelCutoffStatus NORMAL_OPERATION],
+ NAMES_rolloverEvent:[SDLVehicleDataEventStatus _YES],
+ NAMES_maximumChangeVelocity:@33,
+ NAMES_multipleEvents:[SDLVehicleDataEventStatus _NO]} mutableCopy];
+ SDLEmergencyEvent* testStruct = [[SDLEmergencyEvent alloc] initWithDictionary:dict];
+
+ expect(testStruct.emergencyEventType).to(equal([SDLEmergencyEventType FRONTAL]));
+ expect(testStruct.fuelCutoffStatus).to(equal([SDLFuelCutoffStatus NORMAL_OPERATION]));
+ expect(testStruct.rolloverEvent).to(equal([SDLVehicleDataEventStatus _YES]));
+ expect(testStruct.maximumChangeVelocity).to(equal(@33));
+ expect(testStruct.multipleEvents).to(equal([SDLVehicleDataEventStatus _NO]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLEmergencyEvent* testStruct = [[SDLEmergencyEvent alloc] init];
+
+ expect(testStruct.emergencyEventType).to(beNil());
+ expect(testStruct.fuelCutoffStatus).to(beNil());
+ expect(testStruct.rolloverEvent).to(beNil());
+ expect(testStruct.maximumChangeVelocity).to(beNil());
+ expect(testStruct.multipleEvents).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m
new file mode 100644
index 000000000..6d19dbf77
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m
@@ -0,0 +1,127 @@
+//
+// SDLGPSDataSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLCompassDirection.h"
+#import "SDLDimension.h"
+#import "SDLGPSData.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLGPSDataSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLGPSData* testStruct = [[SDLGPSData alloc] init];
+
+ testStruct.longitudeDegrees = @31.41592653589793;
+ testStruct.latitudeDegrees = @45;
+ testStruct.utcYear = @2015;
+ testStruct.utcMonth = @1;
+ testStruct.utcDay = @26;
+ testStruct.utcHours = @23;
+ testStruct.utcMinutes = @59;
+ testStruct.utcSeconds = @59;
+ testStruct.compassDirection = [SDLCompassDirection SOUTHEAST];
+ testStruct.pdop = @3.4;
+ testStruct.hdop = @9.9;
+ testStruct.vdop = @0;
+ testStruct.actual = @NO;
+ testStruct.satellites = @12;
+ testStruct.dimension = [SDLDimension _3D];
+ testStruct.altitude = @3000;
+ testStruct.heading = @96;
+ testStruct.speed = @64;
+
+ expect(testStruct.longitudeDegrees).to(equal(@31.41592653589793));
+ expect(testStruct.latitudeDegrees).to(equal(@45));
+ expect(testStruct.utcYear).to(equal(@2015));
+ expect(testStruct.utcMonth).to(equal(@1));
+ expect(testStruct.utcDay).to(equal(@26));
+ expect(testStruct.utcHours).to(equal(@23));
+ expect(testStruct.utcMinutes).to(equal(@59));
+ expect(testStruct.utcSeconds).to(equal(@59));
+ expect(testStruct.compassDirection).to(equal([SDLCompassDirection SOUTHEAST]));
+ expect(testStruct.pdop).to(equal(@3.4));
+ expect(testStruct.hdop).to(equal(@9.9));
+ expect(testStruct.vdop).to(equal(@0));
+ expect(testStruct.actual).to(equal(@NO));
+ expect(testStruct.satellites).to(equal(@12));
+ expect(testStruct.dimension).to(equal([SDLDimension _3D]));
+ expect(testStruct.altitude).to(equal(@3000));
+ expect(testStruct.heading).to(equal(@96));
+ expect(testStruct.speed).to(equal(@64));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_longitudeDegrees:@31.41592653589793,
+ NAMES_latitudeDegrees:@45,
+ NAMES_utcYear:@2015,
+ NAMES_utcMonth:@1,
+ NAMES_utcDay:@26,
+ NAMES_utcHours:@23,
+ NAMES_utcMinutes:@59,
+ NAMES_utcSeconds:@59,
+ NAMES_compassDirection:[SDLCompassDirection SOUTHEAST],
+ NAMES_pdop:@3.4,
+ NAMES_hdop:@9.9,
+ NAMES_vdop:@0,
+ NAMES_actual:@NO,
+ NAMES_satellites:@12,
+ NAMES_dimension:[SDLDimension _3D],
+ NAMES_altitude:@3000,
+ NAMES_heading:@96,
+ NAMES_speed:@64} mutableCopy];
+ SDLGPSData* testStruct = [[SDLGPSData alloc] initWithDictionary:dict];
+
+ expect(testStruct.longitudeDegrees).to(equal(@31.41592653589793));
+ expect(testStruct.latitudeDegrees).to(equal(@45));
+ expect(testStruct.utcYear).to(equal(@2015));
+ expect(testStruct.utcMonth).to(equal(@1));
+ expect(testStruct.utcDay).to(equal(@26));
+ expect(testStruct.utcHours).to(equal(@23));
+ expect(testStruct.utcMinutes).to(equal(@59));
+ expect(testStruct.utcSeconds).to(equal(@59));
+ expect(testStruct.compassDirection).to(equal([SDLCompassDirection SOUTHEAST]));
+ expect(testStruct.pdop).to(equal(@3.4));
+ expect(testStruct.hdop).to(equal(@9.9));
+ expect(testStruct.vdop).to(equal(@0));
+ expect(testStruct.actual).to(equal(@NO));
+ expect(testStruct.satellites).to(equal(@12));
+ expect(testStruct.dimension).to(equal([SDLDimension _3D]));
+ expect(testStruct.altitude).to(equal(@3000));
+ expect(testStruct.heading).to(equal(@96));
+ expect(testStruct.speed).to(equal(@64));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLGPSData* testStruct = [[SDLGPSData alloc] init];
+
+ expect(testStruct.longitudeDegrees).to(beNil());
+ expect(testStruct.latitudeDegrees).to(beNil());
+ expect(testStruct.utcYear).to(beNil());
+ expect(testStruct.utcMonth).to(beNil());
+ expect(testStruct.utcDay).to(beNil());
+ expect(testStruct.utcHours).to(beNil());
+ expect(testStruct.utcMinutes).to(beNil());
+ expect(testStruct.utcSeconds).to(beNil());
+ expect(testStruct.compassDirection).to(beNil());
+ expect(testStruct.pdop).to(beNil());
+ expect(testStruct.hdop).to(beNil());
+ expect(testStruct.vdop).to(beNil());
+ expect(testStruct.actual).to(beNil());
+ expect(testStruct.satellites).to(beNil());
+ expect(testStruct.dimension).to(beNil());
+ expect(testStruct.altitude).to(beNil());
+ expect(testStruct.heading).to(beNil());
+ expect(testStruct.speed).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMICapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMICapabilitiesSpec.m
new file mode 100644
index 000000000..e9935bedf
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMICapabilitiesSpec.m
@@ -0,0 +1,69 @@
+//
+// SDLHMICapabilitiesSpec.m
+// SmartDeviceLink-iOS
+//
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLHMICapabilities.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLHMICapabilitiesSpec)
+
+describe(@"SDLHMICapabilities struct", ^{
+ __block SDLHMICapabilities *testStruct = nil;
+ __block NSNumber *somePhoneCallState = @NO;
+ __block NSNumber *someNavigationState = @YES;
+
+ context(@"When initialized with properties", ^{
+ beforeEach(^{
+ testStruct = [[SDLHMICapabilities alloc] init];
+ testStruct.phoneCall = somePhoneCallState;
+ testStruct.navigation = someNavigationState;
+ });
+
+ it(@"should properly set phone call", ^{
+ expect(testStruct.phoneCall).to(equal(somePhoneCallState));
+ });
+
+ it(@"should properly set navigation", ^{
+ expect(testStruct.navigation).to(equal(someNavigationState));
+ });
+ });
+
+ context(@"When initialized with a dictionary", ^{
+ beforeEach(^{
+ NSDictionary *structInitDict = @{
+ NAMES_navigation: someNavigationState,
+ NAMES_phoneCall: somePhoneCallState
+ };
+ testStruct = [[SDLHMICapabilities alloc] initWithDictionary:[structInitDict mutableCopy]];
+ });
+
+ it(@"should properly set phone call", ^{
+ expect(testStruct.phoneCall).to(equal(somePhoneCallState));
+ });
+
+ it(@"should properly set navigation", ^{
+ expect(testStruct.navigation).to(equal(someNavigationState));
+ });
+ });
+
+ context(@"When not initialized", ^{
+ beforeEach(^{
+ testStruct = nil;
+ });
+
+ it(@"phoneCall should be nil", ^{
+ expect(testStruct.phoneCall).to(beNil());
+ });
+
+ it(@"navigation should be nil", ^{
+ expect(testStruct.navigation).to(beNil());
+ });
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m
new file mode 100644
index 000000000..63df146cb
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m
@@ -0,0 +1,45 @@
+//
+// SDLHMIPermissionsSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLHMIPermissions.h"
+#import "SDLHMILevel.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLHMIPermissionsSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLHMIPermissions* testStruct = [[SDLHMIPermissions alloc] init];
+
+ testStruct.allowed = [@[[SDLHMILevel BACKGROUND], [SDLHMILevel FULL]] copy];
+ testStruct.userDisallowed = [@[[SDLHMILevel NONE], [SDLHMILevel LIMITED]] copy];
+
+ expect(testStruct.allowed).to(equal([@[[SDLHMILevel BACKGROUND], [SDLHMILevel FULL]] copy]));
+ expect(testStruct.userDisallowed).to(equal([@[[SDLHMILevel NONE], [SDLHMILevel LIMITED]] copy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_allowed:[@[[SDLHMILevel BACKGROUND], [SDLHMILevel FULL]] copy],
+ NAMES_userDisallowed:[@[[SDLHMILevel NONE], [SDLHMILevel LIMITED]] copy]} mutableCopy];
+ SDLHMIPermissions* testStruct = [[SDLHMIPermissions alloc] initWithDictionary:dict];
+
+ expect(testStruct.allowed).to(equal([@[[SDLHMILevel BACKGROUND], [SDLHMILevel FULL]] copy]));
+ expect(testStruct.userDisallowed).to(equal([@[[SDLHMILevel NONE], [SDLHMILevel LIMITED]] copy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLHMIPermissions* testStruct = [[SDLHMIPermissions alloc] init];
+
+ expect(testStruct.allowed).to(beNil());
+ expect(testStruct.userDisallowed).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m
new file mode 100644
index 000000000..b418b962b
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m
@@ -0,0 +1,51 @@
+//
+// SDLHeadLampStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAmbientLightStatus.h"
+#import "SDLHeadLampStatus.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLHeadLampStatusSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLHeadLampStatus* testStruct = [[SDLHeadLampStatus alloc] init];
+
+ testStruct.lowBeamsOn = @YES;
+ testStruct.highBeamsOn = @NO;
+ testStruct.ambientLightSensorStatus = [SDLAmbientLightStatus TWILIGHT_3];
+
+ expect(testStruct.lowBeamsOn).to(equal(@YES));
+ expect(testStruct.highBeamsOn).to(equal(@NO));
+ expect(testStruct.ambientLightSensorStatus).to(equal([SDLAmbientLightStatus TWILIGHT_3]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_lowBeamsOn:@YES,
+ NAMES_highBeamsOn:@NO,
+ NAMES_ambientLightSensorStatus:[SDLAmbientLightStatus TWILIGHT_3]} mutableCopy];
+ SDLHeadLampStatus* testStruct = [[SDLHeadLampStatus alloc] initWithDictionary:dict];
+
+ expect(testStruct.lowBeamsOn).to(equal(@YES));
+ expect(testStruct.highBeamsOn).to(equal(@NO));
+ expect(testStruct.ambientLightSensorStatus).to(equal([SDLAmbientLightStatus TWILIGHT_3]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLHeadLampStatus* testStruct = [[SDLHeadLampStatus alloc] init];
+
+ expect(testStruct.lowBeamsOn).to(beNil());
+ expect(testStruct.highBeamsOn).to(beNil());
+ expect(testStruct.ambientLightSensorStatus).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m
new file mode 100644
index 000000000..2bcef11f1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m
@@ -0,0 +1,55 @@
+//
+// SDLImageFieldSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLFileType.h"
+#import "SDLImageField.h"
+#import "SDLImageFieldName.h"
+#import "SDLImageResolution.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLImageFieldSpec)
+
+SDLImageResolution* resolution = [[SDLImageResolution alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLImageField* testStruct = [[SDLImageField alloc] init];
+
+ testStruct.name = [SDLImageFieldName turnIcon];
+ testStruct.imageTypeSupported = [@[[SDLFileType GRAPHIC_PNG], [SDLFileType GRAPHIC_JPEG]] copy];
+ testStruct.imageResolution = resolution;
+
+ expect(testStruct.name).to(equal([SDLImageFieldName turnIcon]));
+ expect(testStruct.imageTypeSupported).to(equal([@[[SDLFileType GRAPHIC_PNG], [SDLFileType GRAPHIC_JPEG]] copy]));
+ expect(testStruct.imageResolution).to(equal(resolution));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_name:[SDLImageFieldName turnIcon],
+ NAMES_imageTypeSupported:[@[[SDLFileType GRAPHIC_PNG], [SDLFileType GRAPHIC_JPEG]] copy],
+ NAMES_imageResolution:resolution} mutableCopy];
+ SDLImageField* testStruct = [[SDLImageField alloc] initWithDictionary:dict];
+
+ expect(testStruct.name).to(equal([SDLImageFieldName turnIcon]));
+ expect(testStruct.imageTypeSupported).to(equal([@[[SDLFileType GRAPHIC_PNG], [SDLFileType GRAPHIC_JPEG]] copy]));
+ expect(testStruct.imageResolution).to(equal(resolution));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLImageField* testStruct = [[SDLImageField alloc] init];
+
+ expect(testStruct.name).to(beNil());
+ expect(testStruct.imageTypeSupported).to(beNil());
+ expect(testStruct.imageResolution).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageSpec.m
new file mode 100644
index 000000000..dba2d630e
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageSpec.m
@@ -0,0 +1,46 @@
+//
+// SDLImageSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImage.h"
+#import "SDLImageType.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLImageSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLImage* testStruct = [[SDLImage alloc] init];
+
+ testStruct.value = @"value";
+ testStruct.imageType = [SDLImageType STATIC];
+
+ expect(testStruct.value).to(equal(@"value"));
+ expect(testStruct.imageType).to(equal([SDLImageType STATIC]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_value:@"value",
+ NAMES_imageType:[SDLImageType STATIC]} mutableCopy];
+ SDLImage* testStruct = [[SDLImage alloc] initWithDictionary:dict];
+
+ expect(testStruct.value).to(equal(@"value"));
+ expect(testStruct.imageType).to(equal([SDLImageType STATIC]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLImage* testStruct = [[SDLImage alloc] init];
+
+ expect(testStruct.value).to(beNil());
+ expect(testStruct.imageType).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m
new file mode 100644
index 000000000..3e6793b62
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m
@@ -0,0 +1,63 @@
+//
+// SDLKeyboardPropertiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLKeyboardLayout.h"
+#import "SDLKeypressMode.h"
+#import "SDLKeyboardProperties.h"
+#import "SDLLanguage.h"
+#import "SDLNames.h"
+
+
+QuickSpecBegin(SDLKeyboardPropertiesSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLKeyboardProperties* testStruct = [[SDLKeyboardProperties alloc] init];
+
+ testStruct.language = [SDLLanguage DA_DK];
+ testStruct.keyboardLayout = [SDLKeyboardLayout QWERTZ];
+ testStruct.keypressMode = [SDLKeypressMode RESEND_CURRENT_ENTRY];
+ testStruct.limitedCharacterList = [@[@"s", @"r", @"f", @"q"] mutableCopy];
+ testStruct.autoCompleteText = @"Auto Carrot";
+
+ expect(testStruct.language).to(equal([SDLLanguage DA_DK]));
+ expect(testStruct.keyboardLayout).to(equal([SDLKeyboardLayout QWERTZ]));
+ expect(testStruct.keypressMode).to(equal([SDLKeypressMode RESEND_CURRENT_ENTRY]));
+ expect(testStruct.limitedCharacterList).to(equal([@[@"s", @"r", @"f", @"q"] mutableCopy]));
+ expect(testStruct.autoCompleteText).to(equal(@"Auto Carrot"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_language:[SDLLanguage DA_DK],
+ NAMES_keyboardLayout:[SDLKeyboardLayout QWERTZ],
+ NAMES_keypressMode:[SDLKeypressMode RESEND_CURRENT_ENTRY],
+ NAMES_limitedCharacterList:[@[@"s", @"r", @"f", @"q"] mutableCopy],
+ NAMES_autoCompleteText:@"Auto Carrot"} mutableCopy];
+ SDLKeyboardProperties* testStruct = [[SDLKeyboardProperties alloc] initWithDictionary:dict];
+
+ expect(testStruct.language).to(equal([SDLLanguage DA_DK]));
+ expect(testStruct.keyboardLayout).to(equal([SDLKeyboardLayout QWERTZ]));
+ expect(testStruct.keypressMode).to(equal([SDLKeypressMode RESEND_CURRENT_ENTRY]));
+ expect(testStruct.limitedCharacterList).to(equal([@[@"s", @"r", @"f", @"q"] mutableCopy]));
+ expect(testStruct.autoCompleteText).to(equal(@"Auto Carrot"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLKeyboardProperties* testStruct = [[SDLKeyboardProperties alloc] init];
+
+ expect(testStruct.language).to(beNil());
+ expect(testStruct.keyboardLayout).to(beNil());
+ expect(testStruct.keypressMode).to(beNil());
+ expect(testStruct.limitedCharacterList).to(beNil());
+ expect(testStruct.autoCompleteText).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m
new file mode 100644
index 000000000..3d6bc6462
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m
@@ -0,0 +1,49 @@
+//
+// SDLMenuParamsSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLMenuParams.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLMenuParamsSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLMenuParams* testStruct = [[SDLMenuParams alloc] init];
+
+ testStruct.parentID = @504320489;
+ testStruct.position = @256;
+ testStruct.menuName = @"Menu";
+
+ expect(testStruct.parentID).to(equal(@504320489));
+ expect(testStruct.position).to(equal(@256));
+ expect(testStruct.menuName).to(equal(@"Menu"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_parentID:@504320489,
+ NAMES_position:@256,
+ NAMES_menuName:@"Menu"} mutableCopy];
+ SDLMenuParams* testStruct = [[SDLMenuParams alloc] initWithDictionary:dict];
+
+ expect(testStruct.parentID).to(equal(@504320489));
+ expect(testStruct.position).to(equal(@256));
+ expect(testStruct.menuName).to(equal(@"Menu"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLMenuParams* testStruct = [[SDLMenuParams alloc] init];
+
+ expect(testStruct.parentID).to(beNil());
+ expect(testStruct.position).to(beNil());
+ expect(testStruct.menuName).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m
new file mode 100644
index 000000000..c442e2cfc
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m
@@ -0,0 +1,41 @@
+//
+// SDLMyKeySpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLMyKey.h"
+#import "SDLNames.h"
+#import "SDLVehicleDataStatus.h"
+
+
+QuickSpecBegin(SDLMyKeySpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLMyKey* testStruct = [[SDLMyKey alloc] init];
+
+ testStruct.e911Override = [SDLVehicleDataStatus OFF];
+
+ expect(testStruct.e911Override).to(equal([SDLVehicleDataStatus OFF]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_e911Override:[SDLVehicleDataStatus ON]} mutableCopy];
+ SDLMyKey* testStruct = [[SDLMyKey alloc] initWithDictionary:dict];
+
+ expect(testStruct.e911Override).to(equal([SDLVehicleDataStatus ON]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLMyKey* testStruct = [[SDLMyKey alloc] init];
+
+ expect(testStruct.e911Override).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m
new file mode 100644
index 000000000..08e375e9f
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m
@@ -0,0 +1,45 @@
+//
+// SDLParameterPermissionsSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLParameterPermissions.h"
+#import "SDLHMILevel.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLParameterPermissionsSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLParameterPermissions* testStruct = [[SDLParameterPermissions alloc] init];
+
+ testStruct.allowed = [@[[SDLHMILevel BACKGROUND], [SDLHMILevel FULL]] copy];
+ testStruct.userDisallowed = [@[[SDLHMILevel NONE], [SDLHMILevel LIMITED]] copy];
+
+ expect(testStruct.allowed).to(equal([@[[SDLHMILevel BACKGROUND], [SDLHMILevel FULL]] copy]));
+ expect(testStruct.userDisallowed).to(equal([@[[SDLHMILevel NONE], [SDLHMILevel LIMITED]] copy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_allowed:[@[[SDLHMILevel BACKGROUND], [SDLHMILevel FULL]] copy],
+ NAMES_userDisallowed:[@[[SDLHMILevel NONE], [SDLHMILevel LIMITED]] copy]} mutableCopy];
+ SDLParameterPermissions* testStruct = [[SDLParameterPermissions alloc] initWithDictionary:dict];
+
+ expect(testStruct.allowed).to(equal([@[[SDLHMILevel BACKGROUND], [SDLHMILevel FULL]] copy]));
+ expect(testStruct.userDisallowed).to(equal([@[[SDLHMILevel NONE], [SDLHMILevel LIMITED]] copy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLParameterPermissions* testStruct = [[SDLParameterPermissions alloc] init];
+
+ expect(testStruct.allowed).to(beNil());
+ expect(testStruct.userDisallowed).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m
new file mode 100644
index 000000000..0e5b367d1
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m
@@ -0,0 +1,54 @@
+//
+// SDLPermissionItemSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLHMIPermissions.h"
+#import "SDLParameterPermissions.h"
+#import "SDLPermissionItem.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLPermissionItemSpec)
+
+SDLHMIPermissions* hmiPermissions = [[SDLHMIPermissions alloc] init];
+SDLParameterPermissions* parameterPermissions = [[SDLParameterPermissions alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLPermissionItem* testStruct = [[SDLPermissionItem alloc] init];
+
+ testStruct.rpcName = @"RPCNameThing";
+ testStruct.hmiPermissions = hmiPermissions;
+ testStruct.parameterPermissions = parameterPermissions;
+
+ expect(testStruct.rpcName).to(equal(@"RPCNameThing"));
+ expect(testStruct.hmiPermissions).to(equal(hmiPermissions));
+ expect(testStruct.parameterPermissions).to(equal(parameterPermissions));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_rpcName:@"RPCNameThing",
+ NAMES_hmiPermissions:hmiPermissions,
+ NAMES_parameterPermissions:parameterPermissions} mutableCopy];
+ SDLPermissionItem* testStruct = [[SDLPermissionItem alloc] initWithDictionary:dict];
+
+ expect(testStruct.rpcName).to(equal(@"RPCNameThing"));
+ expect(testStruct.hmiPermissions).to(equal(hmiPermissions));
+ expect(testStruct.parameterPermissions).to(equal(parameterPermissions));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLPermissionItem* testStruct = [[SDLPermissionItem alloc] init];
+
+ expect(testStruct.rpcName).to(beNil());
+ expect(testStruct.hmiPermissions).to(beNil());
+ expect(testStruct.parameterPermissions).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m
new file mode 100644
index 000000000..f473c60b6
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m
@@ -0,0 +1,39 @@
+//
+// SDLPresetBankCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPresetBankCapabilities.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLPresetBankCapabilitiesSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLPresetBankCapabilities* testStruct = [[SDLPresetBankCapabilities alloc] init];
+
+ testStruct.onScreenPresetsAvailable = @NO;
+
+ expect(testStruct.onScreenPresetsAvailable).to(equal(@NO));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_onScreenPresetsAvailable:@YES} mutableCopy];
+ SDLPresetBankCapabilities* testStruct = [[SDLPresetBankCapabilities alloc] initWithDictionary:dict];
+
+ expect(testStruct.onScreenPresetsAvailable).to(equal(@YES));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLPresetBankCapabilities* testStruct = [[SDLPresetBankCapabilities alloc] init];
+
+ expect(testStruct.onScreenPresetsAvailable).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m
new file mode 100644
index 000000000..0438b8a21
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m
@@ -0,0 +1,50 @@
+//
+// SDLScreenParamsSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImageResolution.h"
+#import "SDLNames.h"
+#import "SDLScreenParams.h"
+#import "SDLTouchEventCapabilities.h"
+
+
+QuickSpecBegin(SDLScreenParamsSpec)
+
+SDLImageResolution* resolution = [[SDLImageResolution alloc] init];
+SDLTouchEventCapabilities* capabilities = [[SDLTouchEventCapabilities alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLScreenParams* testStruct = [[SDLScreenParams alloc] init];
+
+ testStruct.resolution = resolution;
+ testStruct.touchEventAvailable = capabilities;
+
+ expect(testStruct.resolution).to(equal(resolution));
+ expect(testStruct.touchEventAvailable).to(equal(capabilities));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_resolution:resolution,
+ NAMES_touchEventAvailable:capabilities} mutableCopy];
+ SDLScreenParams* testStruct = [[SDLScreenParams alloc] initWithDictionary:dict];
+
+ expect(testStruct.resolution).to(equal(resolution));
+ expect(testStruct.touchEventAvailable).to(equal(capabilities));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLScreenParams* testStruct = [[SDLScreenParams alloc] init];
+
+ expect(testStruct.resolution).to(beNil());
+ expect(testStruct.touchEventAvailable).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m
new file mode 100644
index 000000000..6482a4f75
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m
@@ -0,0 +1,40 @@
+//
+// SDLSingleTireStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSingleTireStatus.h"
+#import "SDLComponentVolumeStatus.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSingleTireStatusSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSingleTireStatus* testStruct = [[SDLSingleTireStatus alloc] init];
+
+ testStruct.status = [SDLComponentVolumeStatus NORMAL];
+
+ expect(testStruct.status).to(equal([SDLComponentVolumeStatus NORMAL]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_status:[SDLComponentVolumeStatus LOW]} mutableCopy];
+ SDLSingleTireStatus* testStruct = [[SDLSingleTireStatus alloc] initWithDictionary:dict];
+
+ expect(testStruct.status).to(equal([SDLComponentVolumeStatus LOW]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSingleTireStatus* testStruct = [[SDLSingleTireStatus alloc] init];
+
+ expect(testStruct.status).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m
new file mode 100644
index 000000000..0cb200414
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m
@@ -0,0 +1,54 @@
+//
+// SDLSoftButtonCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSoftButtonCapabilities.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSoftButtonCapabilitiesSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSoftButtonCapabilities* testStruct = [[SDLSoftButtonCapabilities alloc] init];
+
+ testStruct.shortPressAvailable = @NO;
+ testStruct.longPressAvailable = @YES;
+ testStruct.upDownAvailable = @NO;
+ testStruct.imageSupported = @NO;
+
+ expect(testStruct.shortPressAvailable).to(equal(@NO));
+ expect(testStruct.longPressAvailable).to(equal(@YES));
+ expect(testStruct.upDownAvailable).to(equal(@NO));
+ expect(testStruct.imageSupported).to(equal(@NO));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_shortPressAvailable:@NO,
+ NAMES_longPressAvailable:@YES,
+ NAMES_upDownAvailable:@NO,
+ NAMES_imageSupported:@NO} mutableCopy];
+ SDLSoftButtonCapabilities* testStruct = [[SDLSoftButtonCapabilities alloc] initWithDictionary:dict];
+
+ expect(testStruct.shortPressAvailable).to(equal(@NO));
+ expect(testStruct.longPressAvailable).to(equal(@YES));
+ expect(testStruct.upDownAvailable).to(equal(@NO));
+ expect(testStruct.imageSupported).to(equal(@NO));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSoftButtonCapabilities* testStruct = [[SDLSoftButtonCapabilities alloc] init];
+
+ expect(testStruct.shortPressAvailable).to(beNil());
+ expect(testStruct.longPressAvailable).to(beNil());
+ expect(testStruct.upDownAvailable).to(beNil());
+ expect(testStruct.imageSupported).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m
new file mode 100644
index 000000000..c9e766a65
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m
@@ -0,0 +1,70 @@
+//
+// SDLSoftButtonSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImage.h"
+#import "SDLNames.h"
+#import "SDLSoftButton.h"
+#import "SDLSoftButtonType.h"
+#import "SDLSystemAction.h"
+
+
+QuickSpecBegin(SDLSoftButtonSpec)
+
+SDLImage* image = [[SDLImage alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSoftButton* testStruct = [[SDLSoftButton alloc] init];
+
+ testStruct.type = [SDLSoftButtonType IMAGE];
+ testStruct.text = @"Button";
+ testStruct.image = image;
+ testStruct.isHighlighted = @YES;
+ testStruct.softButtonID = @5423;
+ testStruct.systemAction = [SDLSystemAction KEEP_CONTEXT];
+
+ expect(testStruct.type).to(equal([SDLSoftButtonType IMAGE]));
+ expect(testStruct.text).to(equal(@"Button"));
+ expect(testStruct.image).to(equal(image));
+ expect(testStruct.isHighlighted).to(equal(@YES));
+ expect(testStruct.softButtonID).to(equal(@5423));
+ expect(testStruct.systemAction).to(equal([SDLSystemAction KEEP_CONTEXT]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_type:[SDLSoftButtonType IMAGE],
+ NAMES_text:@"Button",
+ NAMES_image:image,
+ NAMES_isHighlighted:@YES,
+ NAMES_softButtonID:@5423,
+ NAMES_systemAction:[SDLSystemAction KEEP_CONTEXT]} mutableCopy];
+ SDLSoftButton* testStruct = [[SDLSoftButton alloc] initWithDictionary:dict];
+
+ expect(testStruct.type).to(equal([SDLSoftButtonType IMAGE]));
+ expect(testStruct.text).to(equal(@"Button"));
+ expect(testStruct.image).to(equal(image));
+ expect(testStruct.isHighlighted).to(equal(@YES));
+ expect(testStruct.softButtonID).to(equal(@5423));
+ expect(testStruct.systemAction).to(equal([SDLSystemAction KEEP_CONTEXT]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSoftButton* testStruct = [[SDLSoftButton alloc] init];
+
+ expect(testStruct.type).to(beNil());
+ expect(testStruct.text).to(beNil());
+ expect(testStruct.image).to(beNil());
+ expect(testStruct.isHighlighted).to(beNil());
+ expect(testStruct.softButtonID).to(beNil());
+ expect(testStruct.systemAction).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m
new file mode 100644
index 000000000..476fc6500
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m
@@ -0,0 +1,49 @@
+//
+// SDLStartTimeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLStartTime.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLStartTimeSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLStartTime* testStruct = [[SDLStartTime alloc] init];
+
+ testStruct.hours = @22;
+ testStruct.minutes = @39;
+ testStruct.seconds = @11;
+
+ expect(testStruct.hours).to(equal(@22));
+ expect(testStruct.minutes).to(equal(@39));
+ expect(testStruct.seconds).to(equal(@11));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_hours:@22,
+ NAMES_minutes:@39,
+ NAMES_seconds:@11} mutableCopy];
+ SDLStartTime* testStruct = [[SDLStartTime alloc] initWithDictionary:dict];
+
+ expect(testStruct.hours).to(equal(@22));
+ expect(testStruct.minutes).to(equal(@39));
+ expect(testStruct.seconds).to(equal(@11));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLStartTime* testStruct = [[SDLStartTime alloc] init];
+
+ expect(testStruct.hours).to(beNil());
+ expect(testStruct.minutes).to(beNil());
+ expect(testStruct.seconds).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSyncMsgVersionSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSyncMsgVersionSpec.m
new file mode 100644
index 000000000..56c74cd18
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSyncMsgVersionSpec.m
@@ -0,0 +1,44 @@
+//
+// SDLSyncMsgVersionSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLSyncMsgVersion.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLSyncMsgVersionSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLSyncMsgVersion* testStruct = [[SDLSyncMsgVersion alloc] init];
+
+ testStruct.majorVersion = @4;
+ testStruct.minorVersion = @532;
+
+ expect(testStruct.majorVersion).to(equal(@4));
+ expect(testStruct.minorVersion).to(equal(@532));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_majorVersion:@4,
+ NAMES_minorVersion:@532} mutableCopy];
+ SDLSyncMsgVersion* testStruct = [[SDLSyncMsgVersion alloc] initWithDictionary:dict];
+
+ expect(testStruct.majorVersion).to(equal(@4));
+ expect(testStruct.minorVersion).to(equal(@532));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLSyncMsgVersion* testStruct = [[SDLSyncMsgVersion alloc] init];
+
+ expect(testStruct.majorVersion).to(beNil());
+ expect(testStruct.minorVersion).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m
new file mode 100644
index 000000000..78ca915c9
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m
@@ -0,0 +1,46 @@
+//
+// SDLTTSChunkSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLNames.h"
+#import "SDLSpeechCapabilities.h"
+#import "SDLTTSChunk.h"
+
+
+QuickSpecBegin(SDLTTSChunkSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLTTSChunk* testStruct = [[SDLTTSChunk alloc] init];
+
+ testStruct.text = @"TEXT";
+ testStruct.type = [SDLSpeechCapabilities PRE_RECORDED];
+
+ expect(testStruct.text).to(equal(@"TEXT"));
+ expect(testStruct.type).to(equal([SDLSpeechCapabilities PRE_RECORDED]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_text:@"TEXT",
+ NAMES_type:[SDLSpeechCapabilities PRE_RECORDED]} mutableCopy];
+ SDLTTSChunk* testStruct = [[SDLTTSChunk alloc] initWithDictionary:dict];
+
+ expect(testStruct.text).to(equal(@"TEXT"));
+ expect(testStruct.type).to(equal([SDLSpeechCapabilities PRE_RECORDED]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLTTSChunk* testStruct = [[SDLTTSChunk alloc] init];
+
+ expect(testStruct.text).to(beNil());
+ expect(testStruct.type).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m
new file mode 100644
index 000000000..a07331a59
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m
@@ -0,0 +1,57 @@
+//
+// SDLTextFieldSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLCharacterSet.h"
+#import "SDLNames.h"
+#import "SDLTextField.h"
+#import "SDLTextFieldName.h"
+
+
+QuickSpecBegin(SDLTextFieldSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLTextField* testStruct = [[SDLTextField alloc] init];
+
+ testStruct.name = [SDLTextFieldName tertiaryText];
+ testStruct.characterSet = [SDLCharacterSet TYPE5SET];
+ testStruct.width = @111;
+ testStruct.rows = @4;
+
+ expect(testStruct.name).to(equal([SDLTextFieldName tertiaryText]));
+ expect(testStruct.characterSet).to(equal([SDLCharacterSet TYPE5SET]));
+ expect(testStruct.width).to(equal(@111));
+ expect(testStruct.rows).to(equal(@4));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_name:[SDLTextFieldName tertiaryText],
+ NAMES_characterSet:[SDLCharacterSet TYPE5SET],
+ NAMES_width:@111,
+ NAMES_rows:@4} mutableCopy];
+ SDLTextField* testStruct = [[SDLTextField alloc] initWithDictionary:dict];
+
+ expect(testStruct.name).to(equal([SDLTextFieldName tertiaryText]));
+ expect(testStruct.characterSet).to(equal([SDLCharacterSet TYPE5SET]));
+ expect(testStruct.width).to(equal(@111));
+ expect(testStruct.rows).to(equal(@4));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLTextField* testStruct = [[SDLTextField alloc] init];
+
+ expect(testStruct.name).to(beNil());
+ expect(testStruct.characterSet).to(beNil());
+ expect(testStruct.width).to(beNil());
+ expect(testStruct.rows).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m
new file mode 100644
index 000000000..dcad4943d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m
@@ -0,0 +1,78 @@
+//
+// SDLTireStatusSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTireStatus.h"
+#import "SDLSingleTireStatus.h"
+#import "SDLWarningLightStatus.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLTireStatusSpec)
+
+SDLSingleTireStatus* tire1 = [[SDLSingleTireStatus alloc] init];
+SDLSingleTireStatus* tire2 = [[SDLSingleTireStatus alloc] init];
+SDLSingleTireStatus* tire3 = [[SDLSingleTireStatus alloc] init];
+SDLSingleTireStatus* tire4 = [[SDLSingleTireStatus alloc] init];
+SDLSingleTireStatus* tire5 = [[SDLSingleTireStatus alloc] init];
+SDLSingleTireStatus* tire6 = [[SDLSingleTireStatus alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLTireStatus* testStruct = [[SDLTireStatus alloc] init];
+
+ testStruct.pressureTelltale = [SDLWarningLightStatus OFF];
+ testStruct.leftFront = tire1;
+ testStruct.rightFront = tire2;
+ testStruct.leftRear = tire3;
+ testStruct.rightRear = tire4;
+ testStruct.innerLeftRear = tire5;
+ testStruct.innerRightRear = tire6;
+
+ expect(testStruct.pressureTelltale).to(equal([SDLWarningLightStatus OFF]));
+ expect(testStruct.leftFront).to(equal(tire1));
+ expect(testStruct.rightFront).to(equal(tire2));
+ expect(testStruct.leftRear).to(equal(tire3));
+ expect(testStruct.rightRear).to(equal(tire4));
+ expect(testStruct.innerLeftRear).to(equal(tire5));
+ expect(testStruct.innerRightRear).to(equal(tire6));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_pressureTelltale:[SDLWarningLightStatus OFF],
+ NAMES_leftFront:tire1,
+ NAMES_rightFront:tire2,
+ NAMES_leftRear:tire3,
+ NAMES_rightRear:tire4,
+ NAMES_innerLeftRear:tire5,
+ NAMES_innerRightRear:tire6} mutableCopy];
+ SDLTireStatus* testStruct = [[SDLTireStatus alloc] initWithDictionary:dict];
+
+ expect(testStruct.pressureTelltale).to(equal([SDLWarningLightStatus OFF]));
+ expect(testStruct.leftFront).to(equal(tire1));
+ expect(testStruct.rightFront).to(equal(tire2));
+ expect(testStruct.leftRear).to(equal(tire3));
+ expect(testStruct.rightRear).to(equal(tire4));
+ expect(testStruct.innerLeftRear).to(equal(tire5));
+ expect(testStruct.innerRightRear).to(equal(tire6));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLTireStatus* testStruct = [[SDLTireStatus alloc] init];
+
+ expect(testStruct.pressureTelltale).to(beNil());
+ expect(testStruct.leftFront).to(beNil());
+ expect(testStruct.rightFront).to(beNil());
+ expect(testStruct.leftRear).to(beNil());
+ expect(testStruct.rightRear).to(beNil());
+ expect(testStruct.innerLeftRear).to(beNil());
+ expect(testStruct.innerRightRear).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m
new file mode 100644
index 000000000..eedca3a9b
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m
@@ -0,0 +1,44 @@
+//
+// SDLTouchCoordSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTouchCoord.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLTouchCoordSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLTouchCoord* testStruct = [[SDLTouchCoord alloc] init];
+
+ testStruct.x = @67;
+ testStruct.y = @362;
+
+ expect(testStruct.x).to(equal(@67));
+ expect(testStruct.y).to(equal(@362));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_x:@67,
+ NAMES_y:@362} mutableCopy];
+ SDLTouchCoord* testStruct = [[SDLTouchCoord alloc] initWithDictionary:dict];
+
+ expect(testStruct.x).to(equal(@67));
+ expect(testStruct.y).to(equal(@362));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLTouchCoord* testStruct = [[SDLTouchCoord alloc] init];
+
+ expect(testStruct.x).to(beNil());
+ expect(testStruct.y).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m
new file mode 100644
index 000000000..a8b8c73e0
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m
@@ -0,0 +1,49 @@
+//
+// SDLTouchEventCapabilitiesSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTouchEventCapabilities.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLTouchEventCapabilitiesSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLTouchEventCapabilities* testStruct = [[SDLTouchEventCapabilities alloc] init];
+
+ testStruct.pressAvailable = @YES;
+ testStruct.multiTouchAvailable = @NO;
+ testStruct.doublePressAvailable = @YES;
+
+ expect(testStruct.pressAvailable).to(equal(@YES));
+ expect(testStruct.multiTouchAvailable).to(equal(@NO));
+ expect(testStruct.doublePressAvailable).to(equal(@YES));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_pressAvailable:@YES,
+ NAMES_multiTouchAvailable:@NO,
+ NAMES_doublePressAvailable:@NO} mutableCopy];
+ SDLTouchEventCapabilities* testStruct = [[SDLTouchEventCapabilities alloc] initWithDictionary:dict];
+
+ expect(testStruct.pressAvailable).to(equal(@YES));
+ expect(testStruct.multiTouchAvailable).to(equal(@NO));
+ expect(testStruct.doublePressAvailable).to(equal(@NO));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLTouchEventCapabilities* testStruct = [[SDLTouchEventCapabilities alloc] init];
+
+ expect(testStruct.pressAvailable).to(beNil());
+ expect(testStruct.multiTouchAvailable).to(beNil());
+ expect(testStruct.doublePressAvailable).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m
new file mode 100644
index 000000000..c95cfb525
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m
@@ -0,0 +1,52 @@
+//
+// SDLTouchEventSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTouchEvent.h"
+#import "SDLTouchCoord.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLTouchEventSpec)
+
+SDLTouchCoord* coord = [[SDLTouchCoord alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLTouchEvent* testStruct = [[SDLTouchEvent alloc] init];
+
+ testStruct.touchEventId = @3;
+ testStruct.timeStamp = [@[@23, @52, @41345234] mutableCopy];
+ testStruct.coord = [@[coord] mutableCopy];
+
+ expect(testStruct.touchEventId).to(equal(@3));
+ expect(testStruct.timeStamp).to(equal([@[@23, @52, @41345234] mutableCopy]));
+ expect(testStruct.coord).to(equal([@[coord] mutableCopy]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_id:@3,
+ NAMES_ts:[@[@23, @52, @41345234] mutableCopy],
+ NAMES_c:[@[coord] mutableCopy]} mutableCopy];
+ SDLTouchEvent* testStruct = [[SDLTouchEvent alloc] initWithDictionary:dict];
+
+ expect(testStruct.touchEventId).to(equal(@3));
+ expect(testStruct.timeStamp).to(equal([@[@23, @52, @41345234] mutableCopy]));
+ expect(testStruct.coord).to(equal([@[coord] mutableCopy]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLTouchEvent* testStruct = [[SDLTouchEvent alloc] init];
+
+ expect(testStruct.touchEventId).to(beNil());
+ expect(testStruct.timeStamp).to(beNil());
+ expect(testStruct.coord).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m
new file mode 100644
index 000000000..07152ad92
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m
@@ -0,0 +1,47 @@
+//
+// SDLTurnSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLTurn.h"
+#import "SDLNames.h"
+#import "SDLImage.h"
+
+QuickSpecBegin(SDLTurnSpec)
+
+SDLImage* image = [[SDLImage alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLTurn* testStruct = [[SDLTurn alloc] init];
+
+ testStruct.navigationText = @"NAVTEXT";
+ testStruct.turnIcon = image;
+
+ expect(testStruct.navigationText).to(equal(@"NAVTEXT"));
+ expect(testStruct.turnIcon).to(equal(image));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_navigationText:@"NAVTEXT",
+ NAMES_turnIcon:image} mutableCopy];
+ SDLTurn* testStruct = [[SDLTurn alloc] initWithDictionary:dict];
+
+ expect(testStruct.navigationText).to(equal(@"NAVTEXT"));
+ expect(testStruct.turnIcon).to(equal(image));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLTurn* testStruct = [[SDLTurn alloc] init];
+
+ expect(testStruct.navigationText).to(beNil());
+ expect(testStruct.turnIcon).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m
new file mode 100644
index 000000000..ee3c4774a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m
@@ -0,0 +1,46 @@
+//
+// SDLVehicleDataResultSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleDataResult.h"
+#import "SDLVehicleDataResultCode.h"
+#import "SDLVehicleDataType.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLVehicleDataResultSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLVehicleDataResult* testStruct = [[SDLVehicleDataResult alloc] init];
+
+ testStruct.dataType = [SDLVehicleDataType VEHICLEDATA_AIRBAGSTATUS];
+ testStruct.resultCode = [SDLVehicleDataResultCode DISALLOWED];
+
+ expect(testStruct.dataType).to(equal([SDLVehicleDataType VEHICLEDATA_AIRBAGSTATUS]));
+ expect(testStruct.resultCode).to(equal([SDLVehicleDataResultCode DISALLOWED]));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_dataType:[SDLVehicleDataType VEHICLEDATA_AIRBAGSTATUS],
+ NAMES_resultCode:[SDLVehicleDataResultCode DISALLOWED]} mutableCopy];
+ SDLVehicleDataResult* testStruct = [[SDLVehicleDataResult alloc] initWithDictionary:dict];
+
+ expect(testStruct.dataType).to(equal([SDLVehicleDataType VEHICLEDATA_AIRBAGSTATUS]));
+ expect(testStruct.resultCode).to(equal([SDLVehicleDataResultCode DISALLOWED]));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLVehicleDataResult* testStruct = [[SDLVehicleDataResult alloc] init];
+
+ expect(testStruct.dataType).to(beNil());
+ expect(testStruct.resultCode).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m
new file mode 100644
index 000000000..9a282b72e
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m
@@ -0,0 +1,54 @@
+//
+// SDLVehicleTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLVehicleType.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLVehicleTypeSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLVehicleType* testStruct = [[SDLVehicleType alloc] init];
+
+ testStruct.make = @"Make";
+ testStruct.model = @"Model";
+ testStruct.modelYear = @"3.141*10^36";
+ testStruct.trim = @"AE";
+
+ expect(testStruct.make).to(equal(@"Make"));
+ expect(testStruct.model).to(equal(@"Model"));
+ expect(testStruct.modelYear).to(equal(@"3.141*10^36"));
+ expect(testStruct.trim).to(equal(@"AE"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_make:@"Make",
+ NAMES_model:@"Model",
+ NAMES_modelYear:@"3.141*10^36",
+ NAMES_trim:@"AE"} mutableCopy];
+ SDLVehicleType* testStruct = [[SDLVehicleType alloc] initWithDictionary:dict];
+
+ expect(testStruct.make).to(equal(@"Make"));
+ expect(testStruct.model).to(equal(@"Model"));
+ expect(testStruct.modelYear).to(equal(@"3.141*10^36"));
+ expect(testStruct.trim).to(equal(@"AE"));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLVehicleType* testStruct = [[SDLVehicleType alloc] init];
+
+ expect(testStruct.make).to(beNil());
+ expect(testStruct.model).to(beNil());
+ expect(testStruct.modelYear).to(beNil());
+ expect(testStruct.trim).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m
new file mode 100644
index 000000000..e76be2558
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m
@@ -0,0 +1,53 @@
+//
+// SDLVrHelpItemSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLImage.h"
+#import "SDLNames.h"
+#import "SDLVrHelpItem.h"
+
+
+QuickSpecBegin(SDLVrHelpItemSpec)
+
+SDLImage* image = [[SDLImage alloc] init];
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLVRHelpItem* testStruct = [[SDLVRHelpItem alloc] init];
+
+ testStruct.text = @"DON'T PANIC";
+ testStruct.image = image;
+ testStruct.position = @42;
+
+ expect(testStruct.text).to(equal(@"DON'T PANIC"));
+ expect(testStruct.image).to(equal(image));
+ expect(testStruct.position).to(equal(@42));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ NSMutableDictionary* dict = [@{NAMES_text:@"DON'T PANIC",
+ NAMES_image:image,
+ NAMES_position:@42} mutableCopy];
+ SDLVRHelpItem* testStruct = [[SDLVRHelpItem alloc] initWithDictionary:dict];
+
+ expect(testStruct.text).to(equal(@"DON'T PANIC"));
+ expect(testStruct.image).to(equal(image));
+ expect(testStruct.position).to(equal(@42));
+ });
+
+ it(@"Should return nil if not set", ^ {
+ SDLVRHelpItem* testStruct = [[SDLVRHelpItem alloc] init];
+
+ expect(testStruct.text).to(beNil());
+ expect(testStruct.image).to(beNil());
+ expect(testStruct.position).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLEnumSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLEnumSpec.m
new file mode 100644
index 000000000..e4d330a3c
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLEnumSpec.m
@@ -0,0 +1,25 @@
+//
+// SDLEnumSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLEnum.h"
+
+QuickSpecBegin(SDLEnumSpec)
+
+describe(@"Value Tests", ^ {
+ it(@"Should get value correctly when initialized", ^ {
+ SDLEnum* enumValue = [[SDLEnum alloc] initWithValue:@"Enum"];
+
+ expect(enumValue).toNot(beNil());
+
+ expect(enumValue.value).to(equal(@"Enum"));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCMessageSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCMessageSpec.m
new file mode 100644
index 000000000..39a9ebc74
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCMessageSpec.m
@@ -0,0 +1,115 @@
+//
+// SDLRPCMessage.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLRPCMessage.h"
+#import "SDLNames.h"
+
+QuickSpecBegin(SDLRPCMessageSpec)
+
+describe(@"Readonly Property Tests", ^ {
+ it(@"Should get name correctly when initialized with name", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithName:@"Poorly Named"];
+
+ expect(testMessage.name).to(equal(@"Poorly Named"));
+ });
+
+ it(@"Should get correctly when initialized with dictionary", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithDictionary:[@{NAMES_notification:
+ @{NAMES_parameters:
+ @{@"name":@"George"},
+ NAMES_operation_name:@"Poorly Named"}} mutableCopy]];
+
+ expect(testMessage.name).to(equal(@"Poorly Named"));
+ expect(testMessage.messageType).to(equal(NAMES_notification));
+ });
+});
+
+describe(@"Parameter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithName:@""];
+
+ [testMessage setParameters:@"ADogAPanicInAPagoda" value:@"adogaPAnIcinaPAgoDA"];
+
+ expect([testMessage getParameters:@"ADogAPanicInAPagoda"]).to(equal(@"adogaPAnIcinaPAgoDA"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithDictionary:[@{NAMES_response:
+ @{NAMES_parameters:
+ @{@"age":@25},
+ NAMES_operation_name:@"Nameless"}} mutableCopy]];
+
+ expect([testMessage getParameters:@"age"]).to(equal(@25));
+ });
+
+ it(@"Should be nil if not set", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithName:@""];
+
+ expect([testMessage getParameters:@"ADogAPanicInAPagoda"]).to(beNil());
+ });
+});
+
+describe(@"FunctionName Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithName:@""];
+
+ [testMessage setFunctionName:@"Functioning"];
+
+ expect([testMessage getFunctionName]).to(equal(@"Functioning"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithDictionary:[@{NAMES_request:
+ @{NAMES_parameters:
+ @{@"age":@25},
+ NAMES_operation_name:@"DoNothing"}} mutableCopy]];
+
+ expect([testMessage getFunctionName]).to(equal(@"DoNothing"));
+
+ testMessage = [[SDLRPCMessage alloc] initWithName:@"DoSomething"];
+
+ expect([testMessage getFunctionName]).to(equal(@"DoSomething"));
+ });
+
+ it(@"Should be nil if not set", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithDictionary:[@{NAMES_notification:
+ @{NAMES_parameters:
+ @{}}} mutableCopy]];
+ expect([testMessage getFunctionName]).to(beNil());
+ });
+});
+
+describe(@"BulkDataTests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithName:@""];
+
+ const char* testString = "ImportantData";
+ testMessage.bulkData = [NSData dataWithBytes:testString length:strlen(testString)];
+
+ expect([NSString stringWithUTF8String:testMessage.bulkData.bytes]).to(equal(@"ImportantData"));
+ });
+
+ it(@"Should get correctly when initialized", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithDictionary:[@{NAMES_notification:
+ @{NAMES_parameters:
+ @{}},
+ NAMES_bulkData:[NSData dataWithBytes:"ImageData" length:strlen("ImageData")]} mutableCopy]];
+
+ expect(testMessage.bulkData).to(equal([NSData dataWithBytes:"ImageData" length:strlen("ImageData")]));
+ });
+
+ it(@"Should be nil if not set", ^ {
+ SDLRPCMessage* testMessage = [[SDLRPCMessage alloc] initWithName:@""];
+
+ expect(testMessage.bulkData).to(beNil());
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCNotificationSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCNotificationSpec.m
new file mode 100644
index 000000000..d6dab74d5
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCNotificationSpec.m
@@ -0,0 +1,15 @@
+//
+// SDLRPCNotificationSpec.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLRPCNotification.h"
+
+QuickSpecBegin(SDLRPCNotificationSpec)
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCRequestSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCRequestSpec.m
new file mode 100644
index 000000000..1846e0700
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCRequestSpec.m
@@ -0,0 +1,25 @@
+//
+// SDLRPCRequest.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLRPCRequest.h"
+
+QuickSpecBegin(SDLRPCRequestSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLRPCRequest* testRequest = [[SDLRPCRequest alloc] initWithName:@"A Legitimate Request"];
+
+ testRequest.correlationID = @14641;
+
+ expect(testRequest.correlationID).to(equal(@14641));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m
new file mode 100644
index 000000000..0619dd3dc
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m
@@ -0,0 +1,33 @@
+//
+// SDLRPCResponse.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLResult.h"
+#import "SDLRPCResponse.h"
+
+
+QuickSpecBegin(SDLRPCResponseSpec)
+
+describe(@"Getter/Setter Tests", ^ {
+ it(@"Should set and get correctly", ^ {
+ SDLRPCResponse* response = [[SDLRPCResponse alloc] initWithName:@"A Legitimate Response"];
+
+ response.correlationID = @14641;
+ response.success = @YES;
+ response.resultCode = [SDLResult IGNORED];
+ response.info = @"It has been done";
+
+ expect(response.correlationID).to(equal(@14641));
+ expect(response.success).to(equal(@YES));
+ expect(response.resultCode).to(equal([SDLResult IGNORED]));
+ expect(response.info).to(equal(@"It has been done"));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCStructSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCStructSpec.m
new file mode 100644
index 000000000..9352569ed
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCStructSpec.m
@@ -0,0 +1,24 @@
+//
+// SDLRPCStruct.m
+// SmartDeviceLink-iOS
+
+
+#import <Foundation/Foundation.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLRPCStruct.h"
+
+QuickSpecBegin(SDLRPCStructSpec)
+
+describe(@"SerializeAsDictionary Tests", ^ {
+ it(@"Should serialize correctly", ^ {
+ NSMutableDictionary* dict = [@{@"Key":@"Value", @"Answer":@42, @"Struct":[[SDLRPCStruct alloc] initWithDictionary:[@{@"Array":@[@1, @1, @1, @1]} mutableCopy]]} mutableCopy];
+ SDLRPCStruct* testStruct = [[SDLRPCStruct alloc] initWithDictionary:dict];
+
+ expect([testStruct serializeAsDictionary:2]).to(equal([@{@"Key":@"Value", @"Answer":@42, @"Struct":@{@"Array":@[@1, @1, @1, @1]}} mutableCopy]));
+ });
+});
+
+QuickSpecEnd \ No newline at end of file
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/SmartDeviceLinkTests.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/SmartDeviceLinkTests.m
deleted file mode 100644
index d4d2b2a5a..000000000
--- a/SmartDeviceLink-iOS/SmartDeviceLinkTests/SmartDeviceLinkTests.m
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// SmartDeviceLinkTests.m
-// SmartDeviceLinkTests
-//
-// Created by Joel Fischer on 2/5/15.
-// Copyright (c) 2015 smartdevicelink. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-#import <XCTest/XCTest.h>
-
-@interface SmartDeviceLinkTests : XCTestCase
-
-@end
-
-@implementation SmartDeviceLinkTests
-
-- (void)setUp {
- [super setUp];
- // Put setup code here. This method is called before the invocation of each test method in the class.
-}
-
-- (void)tearDown {
- // Put teardown code here. This method is called after the invocation of each test method in the class.
- [super tearDown];
-}
-
-- (void)testExample {
- // This is an example of a functional test case.
- XCTAssert(YES, @"Pass");
-}
-
-- (void)testPerformanceExample {
- // This is an example of a performance test case.
- [self measureBlock:^{
- // Put the code you want to measure the time of here.
- }];
-}
-
-@end
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/SwiftSpec.swift b/SmartDeviceLink-iOS/SmartDeviceLinkTests/SwiftSpec.swift
new file mode 100644
index 000000000..274da684d
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/SwiftSpec.swift
@@ -0,0 +1,5 @@
+//
+// SwiftSpec.swift
+// SmartDeviceLink-iOS
+
+import Quick;
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/Prioritized Objects/SDLObjectWithPrioritySpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/Prioritized Objects/SDLObjectWithPrioritySpec.m
new file mode 100644
index 000000000..16cb7773a
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/Prioritized Objects/SDLObjectWithPrioritySpec.m
@@ -0,0 +1,39 @@
+//
+// SDLObjectWithPrioritySpec.m
+// SmartDeviceLink-iOS
+//
+// Created by Joel Fischer on 3/27/15.
+// Copyright (c) 2015 smartdevicelink. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLObjectWithPriority.h"
+
+
+QuickSpecBegin(SDLObjectWithPrioritySpec)
+
+describe(@"a prioritized object", ^{
+ it(@"should initialize properly", ^{
+ SDLObjectWithPriority *object = [[SDLObjectWithPriority alloc] init];
+
+ expect(object).toNot(beNil());
+ expect(object.object).to(beNil());
+ expect(@(object.priority)).to(equal(@0));
+ });
+
+ it(@"should store an object properly", ^{
+ NSString *testString = @"TestString";
+ SDLObjectWithPriority *object = [[SDLObjectWithPriority alloc] init];
+
+ object.object = testString;
+ object.priority = 100;
+
+ expect(object.object).to(equal(testString));
+ expect(@(object.priority)).to(equal(@100));
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/Prioritized Objects/SDLPrioritizedObjectCollectionSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/Prioritized Objects/SDLPrioritizedObjectCollectionSpec.m
new file mode 100644
index 000000000..709f748cc
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/Prioritized Objects/SDLPrioritizedObjectCollectionSpec.m
@@ -0,0 +1,83 @@
+//
+// SDLPrioritizedObjectCollectionSpec.m
+// SmartDeviceLink-iOS
+//
+// Created by Joel Fischer on 3/26/15.
+// Copyright (c) 2015 smartdevicelink. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLPrioritizedObjectCollection.h"
+
+
+QuickSpecBegin(SDLPrioritizedObjectCollectionSpec)
+
+describe(@"a prioritized object collection", ^{
+ __block SDLPrioritizedObjectCollection *collection = nil;
+ beforeEach(^{
+ collection = [[SDLPrioritizedObjectCollection alloc] init];
+ });
+
+ it(@"should be empty when first created", ^{
+ id returnObj = [collection nextObject];
+
+ expect(returnObj).to(beNil());
+ });
+
+ it(@"should ignore adding nil objects", ^{
+ id obj = nil;
+ [collection addObject:obj withPriority:0];
+
+ id returnObj = [collection nextObject];
+ expect(returnObj).to(beNil());
+ });
+
+ it(@"should ignore adding NSNull objects", ^{
+ [collection addObject:[NSNull null] withPriority:0];
+
+ id returnObj = [collection nextObject];
+ expect(returnObj).to(beNil());
+ });
+
+ it(@"should be able to add and retrieve a single item", ^{
+ NSString *string = @"testString";
+ [collection addObject:string withPriority:0];
+
+ id returnObj = [collection nextObject];
+
+ expect(returnObj).to(equal(string));
+ });
+
+ describe(@"should retrieve higher priority objects first", ^{
+ NSString *highPriorityString = @"highPriority";
+ NSString *mediumPriorityString = @"mediumPriority";
+ NSString *lowPriorityString = @"lowPriority";
+
+ // Add them in "incorrect" order to make sure sorting works correctly.
+ // Lower numbers indicate higher priority
+ [collection addObject:mediumPriorityString withPriority:100];
+ [collection addObject:lowPriorityString withPriority:200];
+ [collection addObject:highPriorityString withPriority:0];
+
+ id firstObjectOut = [collection nextObject];
+ id secondObjectOut = [collection nextObject];
+ id thirdObjectOut = [collection nextObject];
+
+ it(@"should retrieve the highest priority first", ^{
+ expect(firstObjectOut).to(equal(highPriorityString));
+ });
+
+ it(@"should retrieve the medium priority second", ^{
+ expect(secondObjectOut).to(equal(mediumPriorityString));
+ });
+
+ it(@"should retrieve the lowest priority last", ^{
+ expect(thirdObjectOut).to(equal(lowPriorityString));
+ });
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/SDLHexUtilitySpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/SDLHexUtilitySpec.m
new file mode 100644
index 000000000..f9a539103
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/SDLHexUtilitySpec.m
@@ -0,0 +1,36 @@
+//
+// SDLHexUtilitySpec.m
+// SmartDeviceLink-iOS
+
+#import <UIKit/UIKit.h>
+
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLHexUtility.h"
+
+
+QuickSpecBegin(SDLHexUtilitySpec)
+
+describe(@"getting a hex string", ^{
+ context(@"from a byte array", ^{
+ it(@"correctly returns a hex string", ^{
+ UInt8 byteArray[] = {0x00, 0x0F, 0xFF, 0x13};
+ NSString *hexString = [SDLHexUtility getHexString:byteArray length:4];
+
+ expect(hexString).to(equal(@"000FFF13"));
+ });
+ });
+
+ context(@"From a data object", ^{
+ it(@"correctly returns a hex string", ^{
+ UInt8 byteArray[] = {0x00, 0x0F, 0xFF, 0x13};
+ NSData *byteData = [NSData dataWithBytes:byteArray length:4];
+ NSString *hexString = [SDLHexUtility getHexString:byteData];
+
+ expect(hexString).to(equal(@"000FFF13"));
+ });
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/SDLJingleSpec.m b/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/SDLJingleSpec.m
new file mode 100644
index 000000000..5b4659dcf
--- /dev/null
+++ b/SmartDeviceLink-iOS/SmartDeviceLinkTests/UtilitiesSpecs/SDLJingleSpec.m
@@ -0,0 +1,28 @@
+//
+// SDLJingleSpec.m
+// SmartDeviceLink-iOS
+//
+// Created by Joel Fischer on 3/26/15.
+// Copyright (c) 2015 smartdevicelink. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLJingle.h"
+
+
+QuickSpecBegin(SDLJingleSpec)
+
+describe(@"retrieving jingle strings", ^{
+ it(@"returns each jingle correctly", ^{
+ expect([SDLJingle NEGATIVE_JINGLE]).to(equal(@"NEGATIVE_JINGLE"));
+ expect([SDLJingle POSITIVE_JINGLE]).to(equal(@"POSITIVE_JINGLE"));
+ expect([SDLJingle LISTEN_JINGLE]).to(equal(@"LISTEN_JINGLE"));
+ expect([SDLJingle INITIAL_JINGLE]).to(equal(@"INITIAL_JINGLE"));
+ expect([SDLJingle HELP_JINGLE]).to(equal(@"HELP_JINGLE"));
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink_Example/Classes/ProxyManager.m b/SmartDeviceLink-iOS/SmartDeviceLink_Example/Classes/ProxyManager.m
index 811aef5db..e197f7e0c 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink_Example/Classes/ProxyManager.m
+++ b/SmartDeviceLink-iOS/SmartDeviceLink_Example/Classes/ProxyManager.m
@@ -130,7 +130,7 @@ NSString *const SDLAppId = @"9999";
}
- (void)onOnHMIStatus:(SDLOnHMIStatus *)notification {
- if ((notification.hmiLevel == [SDLHMILevel HMI_FULL]) && self.isFirstHMIFull) {
+ if ((notification.hmiLevel == [SDLHMILevel FULL]) && self.isFirstHMIFull) {
[self showInitialData];
self.isFirstHMIFull = NO;
}