diff --git a/MobileWeather.xcodeproj/project.pbxproj b/MobileWeather.xcodeproj/project.pbxproj old mode 100755 new mode 100644 index cfeb41b..ca02fd8 --- a/MobileWeather.xcodeproj/project.pbxproj +++ b/MobileWeather.xcodeproj/project.pbxproj @@ -202,7 +202,7 @@ E491A70219F7C60500F82A4D /* UI */, E48C4DAC19FE918F00A90448 /* Location */, E48C4D8E19FE706F00A90448 /* Weather */, - E441104E19F555B800CF3A8F /* Supporting Files */, + 5DC0B72B2182466A00E1B317 /* Supporting Files */, ); path = MobileWeather; sourceTree = ""; @@ -220,6 +220,17 @@ name = Utilities; sourceTree = ""; }; + 5DC0B72B2182466A00E1B317 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 5DB7EDCA1D89CC3800B62BB7 /* Images.xcassets */, + 5DB7EDC81D89CC2C00B62BB7 /* Settings.bundle */, + E427582D1A0B75C000AA42B1 /* main.m */, + E427582E1A0B75C000AA42B1 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; ACA98BA4794368CA002C5DC3 /* Pods */ = { isa = PBXGroup; children = ( @@ -270,17 +281,6 @@ name = Unit; sourceTree = ""; }; - E441104E19F555B800CF3A8F /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 5DB7EDCA1D89CC3800B62BB7 /* Images.xcassets */, - 5DB7EDC81D89CC2C00B62BB7 /* Settings.bundle */, - E427582D1A0B75C000AA42B1 /* main.m */, - E427582E1A0B75C000AA42B1 /* Info.plist */, - ); - path = "Supporting Files"; - sourceTree = ""; - }; E45EADF41AE92D9B0046D883 /* Localization */ = { isa = PBXGroup; children = ( @@ -373,7 +373,6 @@ 1E555E2F18466B6500B143B4 /* Resources */, E410DDBF1B441709008F1F0E /* Embed Frameworks */, F5F9E58BB96BD000574644DE /* [CP] Embed Pods Frameworks */, - A98C8C615BCAA52AEE18061C /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -463,21 +462,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - A98C8C615BCAA52AEE18061C /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; F5F9E58BB96BD000574644DE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/MobileWeather.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/MobileWeather.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/MobileWeather.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/MobileWeather.xcworkspace/xcuserdata/joel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/MobileWeather.xcworkspace/xcuserdata/joel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index ed9a9b4..e2573a5 100644 --- a/MobileWeather.xcworkspace/xcuserdata/joel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/MobileWeather.xcworkspace/xcuserdata/joel.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -2,4 +2,16 @@ + + + + + + diff --git a/MobileWeather/Settings.h b/MobileWeather/Settings.h index 9cd3aea..55b0434 100644 --- a/MobileWeather/Settings.h +++ b/MobileWeather/Settings.h @@ -12,6 +12,6 @@ #define PREFS_UNITS_KEY @"unit" #define PREFS_UNITS_METRIC_KEY @"unitmetric" #define PREFS_UNITS_IMPERIAL_KEY @"unitimperial" -#define PREFS_WEATHER_API_KEY @"892732f2c814107f556d2ab426a10cbf" +#define PREFS_WEATHER_API_KEY @"713e2acc766caaf015c1a879a18ef1a6" #endif diff --git a/Podfile b/Podfile index 81f2275..9be1b29 100644 --- a/Podfile +++ b/Podfile @@ -2,5 +2,5 @@ platform :ios, '8.0' use_frameworks! target 'MobileWeather' do - pod 'SmartDeviceLink', '~> 5.2' + pod 'SmartDeviceLink', '~> 6.1' end diff --git a/Podfile.lock b/Podfile.lock index 45431cd..e4b36e9 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,18 +1,23 @@ PODS: - BiSON (1.1.1) - - SmartDeviceLink (5.2.0): + - SmartDeviceLink (6.1.0): - BiSON (~> 1.1.1) - - SmartDeviceLink/Default (= 5.2.0) - - SmartDeviceLink/Default (5.2.0): + - SmartDeviceLink/Default (= 6.1.0) + - SmartDeviceLink/Default (6.1.0): - BiSON (~> 1.1.1) DEPENDENCIES: - - SmartDeviceLink (~> 5.2) + - SmartDeviceLink (~> 6.1) + +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - BiSON + - SmartDeviceLink SPEC CHECKSUMS: BiSON: 2663348e6c64bfbf9cc82e4b0b3f7eed2cb3eb6b - SmartDeviceLink: 3e6d6f68cb7a20929e3db0f61a3009f626117fe8 + SmartDeviceLink: 3d9f40953ade1d49e4bd5a8c0df9e6beae47e561 -PODFILE CHECKSUM: 08dca85205f71df0fa2fad739e493c9f6b8f48ab +PODFILE CHECKSUM: 7331e3b77616651e6b674a09cf10167005ce3d11 -COCOAPODS: 1.4.0 +COCOAPODS: 1.5.3 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 45431cd..e4b36e9 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -1,18 +1,23 @@ PODS: - BiSON (1.1.1) - - SmartDeviceLink (5.2.0): + - SmartDeviceLink (6.1.0): - BiSON (~> 1.1.1) - - SmartDeviceLink/Default (= 5.2.0) - - SmartDeviceLink/Default (5.2.0): + - SmartDeviceLink/Default (= 6.1.0) + - SmartDeviceLink/Default (6.1.0): - BiSON (~> 1.1.1) DEPENDENCIES: - - SmartDeviceLink (~> 5.2) + - SmartDeviceLink (~> 6.1) + +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - BiSON + - SmartDeviceLink SPEC CHECKSUMS: BiSON: 2663348e6c64bfbf9cc82e4b0b3f7eed2cb3eb6b - SmartDeviceLink: 3e6d6f68cb7a20929e3db0f61a3009f626117fe8 + SmartDeviceLink: 3d9f40953ade1d49e4bd5a8c0df9e6beae47e561 -PODFILE CHECKSUM: 08dca85205f71df0fa2fad739e493c9f6b8f48ab +PODFILE CHECKSUM: 7331e3b77616651e6b674a09cf10167005ce3d11 -COCOAPODS: 1.4.0 +COCOAPODS: 1.5.3 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index 5eaa543..178c48e 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,804 +7,916 @@ objects = { /* Begin PBXBuildFile section */ - 00A598BBF746C4773BFCCC14F6D8FEA5 /* SDLSequentialRPCRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F8DA37774A5006BAD0D5AA7A97B5C24 /* SDLSequentialRPCRequestOperation.m */; }; - 00C4E23C5670A1D74E10E22DC0C75F5F /* SDLVehicleDataResultCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F703B524EC4B0173BC78D375802B00B /* SDLVehicleDataResultCode.m */; }; - 0133385AE80305F4E9FEA4D11E1D5C2D /* SDLPowerModeQualificationStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A0CC14FB45F45981EF983940F1C98B3 /* SDLPowerModeQualificationStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 01350737DB4F43A394A513DA3757E8C7 /* SDLDeleteSubMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 81E1F5998DED2A2A4CDFBAED37FF1DEF /* SDLDeleteSubMenu.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0202697B9A7E8758374E414535080308 /* SDLImageResolution.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E95BDBAC803D2276C0BF065D6CAA05A /* SDLImageResolution.m */; }; - 0209514EA41C047E2F2CB2AB7808B8AA /* SDLGetSystemCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = 89B03CC1E5E139CEE4857701F8C625FA /* SDLGetSystemCapability.m */; }; - 02AF8257D348A82D0B1E1C272DE219CD /* SDLLayoutMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ED1E95CF6535BE0B3E5A326722608C7 /* SDLLayoutMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 02BEBCD072B4D96A02D3CD60F1C2AA87 /* SDLDeliveryMode.m in Sources */ = {isa = PBXBuildFile; fileRef = D5E5C135C6E7AFC6A2D8402CF76B99F8 /* SDLDeliveryMode.m */; }; - 02F7AC067F0AF7D397ABDF71298A4EC5 /* SDLMyKey.m in Sources */ = {isa = PBXBuildFile; fileRef = A457E26679E0F2BCEE231A82D4A64B04 /* SDLMyKey.m */; }; - 0305B4677B783E8C78EE1017A01B576E /* SDLV2ProtocolHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = CD3801D28E0629BD8105583AC439BA4C /* SDLV2ProtocolHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 038C5894D5DC5C4ACD573447D9D156B1 /* SDLSubscribeVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C682BA2812DB6612AE9BEC98C0401703 /* SDLSubscribeVehicleDataResponse.m */; }; - 0413F52C266DBEB68FF1CB78AD8060CD /* SDLUnsubscribeVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = FCE6F88967A059AB74E7E53804BDEF14 /* SDLUnsubscribeVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 041B755264ED580F9DEF59FF7F08070C /* SDLSendLocationResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 006C05CC6B4915C5ED331D41213DFB12 /* SDLSendLocationResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 045FE0DC11807C2573878D8D942C92CA /* SDLDeleteFile.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E5367EC8EDE9316F259706478E60CA /* SDLDeleteFile.m */; }; - 053276E0D0A6A4A4C66461D4AC2BF56C /* SDLSpeakResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B6853EF80F967574984DFDA98E7CB061 /* SDLSpeakResponse.m */; }; - 05A18B7F186637B68EE9DAC6789E790E /* SDLStartTime.h in Headers */ = {isa = PBXBuildFile; fileRef = D95913CB5C85C9049C787AD5850595B8 /* SDLStartTime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0617B42E988F12E00401F925EBA85D27 /* SDLAlert.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A2D0DE52C7626DDDFF8EDBD3B93D353 /* SDLAlert.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0621567F5949438A6AEA07E592B6961B /* SDLAbstractProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = FA3B4D17D90185C4083745BEAA537CE0 /* SDLAbstractProtocol.m */; }; - 0647CF89B0E47B79C04D7500FAC9B6F9 /* SDLGetVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 93DE1CE19A3F7D566904D73B551BCFA8 /* SDLGetVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 06633D6E5B6D43E41A8216EFAE25DA3D /* SDLRTPH264Packetizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6866E5366A03BA1B7EB2A7B3EB5D9135 /* SDLRTPH264Packetizer.m */; }; - 0671BC34AE3A26ACE0211E34EBCB16B8 /* SDLRPCRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 42D72144991E8CE2B9605D1EDCA7DEA2 /* SDLRPCRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 06D6E6D2CE18F4398EC4456BA4EFE0C7 /* SDLConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C23FE604F09B27C716B681337528E74 /* SDLConfiguration.m */; }; - 0708919C2A33464CBB98729A6C269C8B /* CGPoint_Util.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B6540A3F6F37B284413AB5F815EB18 /* CGPoint_Util.m */; }; - 07091C918C122068456335D788CF0A24 /* SDLShow.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D149320B1D86587FD3837BA833DD8FC /* SDLShow.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 08E04619764B7A27F054896A69853ACD /* SDLPresetBankCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D2E3D08D9CA58278CE62B03B11AFA9 /* SDLPresetBankCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0975C6B1BE296D49774C2AD91E9E899A /* SDLAppInterfaceUnregisteredReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 3767A5E252D84087D82485E1D28B909F /* SDLAppInterfaceUnregisteredReason.m */; }; - 0A00C761303F6E7C1570DE265A0E3E66 /* SDLGenericResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FB1521438817A78B2B79C382165C1AB /* SDLGenericResponse.m */; }; - 0A2232187B88BC132D20097A8EE8C4C4 /* SDLVehicleDataResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D5760C4C393C4B7924BB2343E1E3D56 /* SDLVehicleDataResult.m */; }; - 0AEA5561DA6D2B49FB0D9EB9F9052F95 /* SDLCharacterSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A4DF21F131489E86670561EA1BECB5D /* SDLCharacterSet.m */; }; - 0B452DF18205C48B0F787946124E83D2 /* SDLShowConstantTBT.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C7DF757EA1D29458455B63DEAAB9A56 /* SDLShowConstantTBT.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B46478E35DD19A4FF48C05E5C140723 /* SDLOnPermissionsChange.m in Sources */ = {isa = PBXBuildFile; fileRef = FEE3334E1A12317DA00E07DEB3D0EAAD /* SDLOnPermissionsChange.m */; }; - 0B55F85358F3A4DA096EA813D6F550A1 /* SDLTTSChunk.h in Headers */ = {isa = PBXBuildFile; fileRef = B0AF2462CD28C618DD9B2DC2FF0B7B3D /* SDLTTSChunk.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B5CC500FB28384EDD3FA198AA300DE8 /* SDLWayPointType.h in Headers */ = {isa = PBXBuildFile; fileRef = 515FFA62C9078865722EA9F4B948356C /* SDLWayPointType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B9FC958AFD08B9D7E6C4B2EC0F1C243 /* SDLEmergencyEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB3F6CAF01D028140320F6C3476F7CE /* SDLEmergencyEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0C3689C3617A961773F2EFB205DEFB45 /* SDLCarModeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = D4631D29C5F63679E274878FFF47777B /* SDLCarModeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0C733337D130039DA08467C3AB5CF8FF /* SDLScrollableMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E0FD5F0F78C5189BA018EA5D2C2FFE5 /* SDLScrollableMessage.m */; }; - 0CA3FDC6FCDADADB2526B0FE630AB76A /* SDLDefrostZone.m in Sources */ = {isa = PBXBuildFile; fileRef = 6908E433DCF478B246475719EE75BE15 /* SDLDefrostZone.m */; }; - 0CCD9E62E3AE3858CFB8571743C20360 /* SDLHMIPermissions.h in Headers */ = {isa = PBXBuildFile; fileRef = EDEB82467E0A44526D8BD7AC21CEEDD2 /* SDLHMIPermissions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0D08FBB8C30E0035652027FB96A974B8 /* SDLEndAudioPassThruResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E4229DCA3ED077CCCACB02298BC12A53 /* SDLEndAudioPassThruResponse.m */; }; - 0D23DDFAB9A4B7C0F322184349F49BAD /* SDLCarModeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = E5D80FA75D57BECE3D1ECC0362643C7E /* SDLCarModeStatus.m */; }; - 0D288D0D61BBD313ADC1E06F17E5EDB3 /* SDLPerformAudioPassThruResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D73CFA4E9D9C2210E9BEA68AB80BCA /* SDLPerformAudioPassThruResponse.m */; }; - 0D640F68F6C75E8F99BEEE65AD688515 /* SDLFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E11970A27E84E0CD1D38BA2E305479D1 /* SDLFileManager.m */; }; - 0DD965FA8836FAB805CFF8DC6F11E60B /* SDLSetInteriorVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = F620EF73A4F840F78B05320DEEEFF710 /* SDLSetInteriorVehicleDataResponse.m */; }; - 0EB4F6310E040F509525C6F0C862986A /* SDLScreenManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8360C5C5677178F2F99E37FAC2E7AEA5 /* SDLScreenManager.m */; }; - 0ED5DEE3866DBE7755C8D9316FFAB7AB /* SDLShow.m in Sources */ = {isa = PBXBuildFile; fileRef = 12E7D6EDCFDB73234934FC0AA0279586 /* SDLShow.m */; }; - 0F02560E9A40F855AF69CAA00D869A77 /* SDLSetDisplayLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = C66BACBDF38B4A8039EB9D6C72DB5BDB /* SDLSetDisplayLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0F76BB6F462DEFA4672DD4E0F68BF4F2 /* SDLRTPH264Packetizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3274B6BFE5AEF22C859A02ABE06E0023 /* SDLRTPH264Packetizer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0FB259885413C74CA8E39AC516F036A7 /* SDLLogModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 2793A9A2C1B3BECE22CC7E695AE42B90 /* SDLLogModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0FCA141FE3D03699E6D4348A918ED34F /* SDLRadioBand.m in Sources */ = {isa = PBXBuildFile; fileRef = A4AF80DDE32E015AFA731F53CE4291EE /* SDLRadioBand.m */; }; - 0FF524C1DDA37E5044472C5D0372DA1C /* SDLFileType.h in Headers */ = {isa = PBXBuildFile; fileRef = 021B22A06002C920E355D98F3644EECC /* SDLFileType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0FF7B0B579D4D8AF54BCC1E176306577 /* SDLStreamingMediaConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = D83F2EBDA6C965224F8D269B7B21C7DE /* SDLStreamingMediaConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0FF7E90C8F3877A3433AAABD01FEA4C9 /* SDLGetVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9D90BAA9DD698A5DABBA0DC9B4935A /* SDLGetVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 106877C1B17BFDCC831EAB277CEA8C8C /* SDLRPCStruct.m in Sources */ = {isa = PBXBuildFile; fileRef = 870F0F3D0779941C924CEC48481E5D6E /* SDLRPCStruct.m */; }; - 10B5845DF3BA968489E6B73F00C1DB3C /* SDLH264VideoEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FE168F4DE2C817BEC3A8940F4DBB3F5 /* SDLH264VideoEncoder.m */; }; - 10E25A0F182EBE9DA9AEEED3209FB112 /* SDLSystemRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 82EDE7CD9BEA5097DA804AC81A2F6636 /* SDLSystemRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 003F2A9389ABE0BBA874152D87D81FE9 /* SDLAppHMIType.h in Headers */ = {isa = PBXBuildFile; fileRef = D035F9030267FD1C5A40D1D1D91D8B01 /* SDLAppHMIType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 012B3ABCF4946FE9589E5FC943EF26CD /* SDLSliderResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 758828EDB3A486DAC7555C09C9C7A075 /* SDLSliderResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 015A9931D5C5DAD3DE552D44D27BB5AA /* SDLTextAlignment.h in Headers */ = {isa = PBXBuildFile; fileRef = 87AE3D09CF88341F47674088B1C54CA1 /* SDLTextAlignment.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 01AF4CA766F62C8C5C54073C21E0FD7A /* SDLControlFramePayloadRPCStartService.m in Sources */ = {isa = PBXBuildFile; fileRef = C80DF22B5D28FCE41F973EA350DED295 /* SDLControlFramePayloadRPCStartService.m */; }; + 01E264376DA7D789A6C586CC33D3C4C6 /* SDLAmbientLightStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = CF3E1C96AFEC7BF390F28147CA4DD532 /* SDLAmbientLightStatus.m */; }; + 01F70F292D4F11D03C358ACC1E2DAC8D /* SDLMenuCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 03AA9FAC1C42C80A5F0956A6B96548A9 /* SDLMenuCell.m */; }; + 021AB76D29434458BB6B0DCE77D21101 /* SDLTemplateColorScheme.m in Sources */ = {isa = PBXBuildFile; fileRef = 55E755AC3C038CDDF96EE7AF1ED8DD5F /* SDLTemplateColorScheme.m */; }; + 026E2E7BA3A540EBA8D0832D920C2B18 /* SDLUpdateTurnList.h in Headers */ = {isa = PBXBuildFile; fileRef = 7369D4C540A1A6DCB0914BE60C051602 /* SDLUpdateTurnList.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 031CAC2ADCDA99AB8EE5132902ABC87E /* SDLGPSData.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B04648E1797EF5AE9C7A3A0EA1503FC /* SDLGPSData.m */; }; + 036C103636557CFD8B87DB584E23529C /* SDLListFilesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D684A0F936240CFF376CBBA6E49A8F0 /* SDLListFilesOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03AFC841308A9314BFE45A87E7D12155 /* SDLLocationDetails.m in Sources */ = {isa = PBXBuildFile; fileRef = D67F7910E014171EF4A571F96DEED110 /* SDLLocationDetails.m */; }; + 04A31A6BC5E931600DCC014081A75187 /* SDLUnsubscribeButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DF56FE670C445485FAD9CE424BBD979 /* SDLUnsubscribeButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 04CCC763BF97B9B5CD4E91D041427E7A /* SDLSystemAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 94DAE9A99EFED4688FE48863309B3153 /* SDLSystemAction.m */; }; + 0571E0DE81FA95CEFED6F44A914BD482 /* NSMapTable+Subscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = 58B239BE8E1A3830C8DF443CC8EA4305 /* NSMapTable+Subscripting.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 057F789BB0FF5E0665773379E05E7196 /* SDLDisplayMode.m in Sources */ = {isa = PBXBuildFile; fileRef = E5731FC6EAD9635A7EDD2F725FC4966C /* SDLDisplayMode.m */; }; + 058E093A87092E9F8CFDD67549A024E8 /* SDLButtonPress.h in Headers */ = {isa = PBXBuildFile; fileRef = D189D97BE1019749C8B66808AB77A27B /* SDLButtonPress.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 05DE0CE31E8EF0D73230A47C79E5DED1 /* SDLResponseDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 300ED618507FFF56590E18E5EF202190 /* SDLResponseDispatcher.m */; }; + 05FB1FD36DAE4750C26E6F3EE1AE94EA /* SDLVoiceCommandManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 95CBE58570B12C86B075BF40F1D826A5 /* SDLVoiceCommandManager.m */; }; + 0621820D4B49EAC554475DCBB4960D32 /* SDLTemperatureUnit.m in Sources */ = {isa = PBXBuildFile; fileRef = 489D8CDA867A051C8CB4598886BC2C04 /* SDLTemperatureUnit.m */; }; + 0656439CE3C4359D7352910005E8BB73 /* SDLOnLanguageChange.h in Headers */ = {isa = PBXBuildFile; fileRef = 869B8F548364045C3602F3A99BAB876A /* SDLOnLanguageChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0702B0DF5EBA25FE409412BD730CDE6D /* SDLOnEncodedSyncPData.h in Headers */ = {isa = PBXBuildFile; fileRef = 736669CDE9458CABAE6AC40FF3A7C523 /* SDLOnEncodedSyncPData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 071358FCEBD7244CFC1C47E3B728FD3F /* SDLVrCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 74C1219630B98AA4BC12B5245AA5CFB1 /* SDLVrCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0717BF49DDC3867CD2FDBCD81323A243 /* SDLDialNumberResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = CAE15697C2B379B5AD4250AD454DCC9F /* SDLDialNumberResponse.m */; }; + 073092D66C7A45B78F01D6F5BAD82BA1 /* SDLOnPermissionsChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E6BD9A54F3B696772751E561C7CA26F /* SDLOnPermissionsChange.m */; }; + 076A7957F5EDB9C2D34F2DEDF72E2913 /* SDLControlFramePayloadVideoStartServiceAck.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B5B149DB553CC25C1ECE0141F2CAB44 /* SDLControlFramePayloadVideoStartServiceAck.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07992A606FAD1F7083358DCA54121B87 /* SDLChangeRegistrationResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BEA6AFC834E233B564947D27D26EFA1 /* SDLChangeRegistrationResponse.m */; }; + 07D3F1E805ECDD0CCAB66FB862AB8EA9 /* SDLDIDResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B798F817D25B6AC4EB2558AD624BFAC /* SDLDIDResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 083BB0E418F625B54EBFFF9758F7AF1D /* SDLTireStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 294E4A7904CB881EF7321E92C367DCC5 /* SDLTireStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09AFF0F1484FE0DDAE1141C6DAF770B2 /* SDLPhoneCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = 3ED24853CBACABF3D277A172CDD9E2F6 /* SDLPhoneCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0A7DD843FDC6B6AC4D05C4F6DEF98F1B /* SDLResetGlobalPropertiesResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D9C79FCE97A529AF5665757AE522244 /* SDLResetGlobalPropertiesResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0A840116FACAC91080F2AAA3B46FA324 /* SDLSupportedSeat.h in Headers */ = {isa = PBXBuildFile; fileRef = ED9C3F415373C1FEC38B39E0C3E6A57B /* SDLSupportedSeat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0AFCF277B445FBBDD394315DCF739CDA /* SDLVoiceCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 97E65B30099BCC7FCE9EE35C4557EFB7 /* SDLVoiceCommand.m */; }; + 0B2BA4773B46F54A3FAFF496DBB0C22B /* SDLCharacterSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 30A1C0974FFE84B3A299752EEA455C1B /* SDLCharacterSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0B6AF6FF70CEFC947736C354315B0BED /* SDLSecondaryTransportManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85FB37CFF9AA36FAC92BFD1A5209922B /* SDLSecondaryTransportManager.m */; }; + 0B6EB8772E0D15EAF628AD3F5C4C6B2F /* SDLTextAlignment.m in Sources */ = {isa = PBXBuildFile; fileRef = 1591790007AA3BAC73DAF98A1189DB79 /* SDLTextAlignment.m */; }; + 0B7F66B4664A408860F0AF0E101A7227 /* SDLSyncPData.m in Sources */ = {isa = PBXBuildFile; fileRef = 544E15AB2D6A32CDC138E9D68B84226E /* SDLSyncPData.m */; }; + 0C1066FA2F180C4335C3C6E7E0E512D6 /* SDLControlFramePayloadRPCStartService.h in Headers */ = {isa = PBXBuildFile; fileRef = 96F0A1F8DFCA64ED227E5510C6C3B7E6 /* SDLControlFramePayloadRPCStartService.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0C17C9D742C4AB41CAD90B0A5CDC8A6A /* SDLDisplayCapabilities+ShowManagerExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = F455B422DAF86C1424C82B369C3A8B08 /* SDLDisplayCapabilities+ShowManagerExtensions.m */; }; + 0C85798D69FDDC43CB144B2249D68973 /* SDLSingleTireStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 44F6704B5CD4628340637ED433FA5BD9 /* SDLSingleTireStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0CF2E4CE8AC7CAEE2AE1EB464B39B27C /* SDLSetInteriorVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = D8DEE8193F871BAF8FB10C6766E58037 /* SDLSetInteriorVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0D8709506F394E503E05C5FAF3ABBFA9 /* SDLButtonCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F97703AD5D975F96461DFEF2BD9BE22 /* SDLButtonCapabilities.m */; }; + 0DAD037A68C669CFE3EBEBC37D801AC9 /* SDLSetAppIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 60AC85822D7B2986864CEF6F1951ED33 /* SDLSetAppIcon.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0E2509ED429DFEEBE4D2B4291C1A5647 /* SDLVehicleType.m in Sources */ = {isa = PBXBuildFile; fileRef = D682EE4635A0FD228944E10BD3DBD2D3 /* SDLVehicleType.m */; }; + 0E6F99FA384B285DFBA13427F6695DCF /* SDLLockScreenViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E9F83398A1E87F1CD45B5596A5D81AE4 /* SDLLockScreenViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0ED96B8030E489BC011881CBD27DCE0B /* SDLDisplayMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9520607250C0D896688E594437D291D7 /* SDLDisplayMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F2C3722EE24EF668D5E91BF9F6168F1 /* SDLStreamingVideoLifecycleManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F06149E7100A56D1FA84248303C1817 /* SDLStreamingVideoLifecycleManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F3C44731E9340CDB1C6E7DEB7C1FC4F /* SDLSeatControlData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D4041302A5894E0CAEA69FF5FB1AFD2 /* SDLSeatControlData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F85058037E726C869FAB2BFB6CBC93D /* SDLHMILevel.h in Headers */ = {isa = PBXBuildFile; fileRef = B000BF1A6DCDCB42234749078E5855ED /* SDLHMILevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 10070EB551593AE8DE8856DA6C40A8B1 /* SDLH264VideoEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 88351DE654FF03D2560ABFC4142E23E3 /* SDLH264VideoEncoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1026CB34F032E55D9178DF90D78A7891 /* SDLTouchEventCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 294FE66477B32CB65903CAB08A4D0901 /* SDLTouchEventCapabilities.m */; }; + 108679E1326013DA6810D4FCCF8D199A /* SDLTBTState.m in Sources */ = {isa = PBXBuildFile; fileRef = CBDCBD2A2EFEDA02586A671D16C8A613 /* SDLTBTState.m */; }; + 10C8FD6897674ADEC7AA22D4778243FC /* SDLChoiceSet.h in Headers */ = {isa = PBXBuildFile; fileRef = BD5E9F1868C5EA8FF16DD817FCC2983B /* SDLChoiceSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 10E1C185CE7C51FA5DE4FD583AE99495 /* SDLPrerecordedSpeech.m in Sources */ = {isa = PBXBuildFile; fileRef = 94ED036BFFFEB6CED0F8ABC49FB84C64 /* SDLPrerecordedSpeech.m */; }; + 10E9D8F067B9536C43ECFB83D7A73E3C /* SDLShowConstantTBT.m in Sources */ = {isa = PBXBuildFile; fileRef = 570466811B7708FD306FECA152F11CB9 /* SDLShowConstantTBT.m */; }; + 1144A41A128E7245639EF7EEAAFFB49C /* SDLVehicleDataResultCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 849B1DE4F355AEFA9C976B360A798DDD /* SDLVehicleDataResultCode.m */; }; 11584E9D1A7D53016441935AA70254FF /* BiSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2443CB63E3BC1583C506BBC04BE50078 /* BiSON.framework */; }; - 11A7DD63B6D82DBA37E5B65E3B3AC339 /* SDLDeleteCommandResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 825BB692C8F9C3A5F46C28FCDC6E77A6 /* SDLDeleteCommandResponse.m */; }; - 11AC5BF7E215B828048EC81441C1E39D /* SDLReadDID.h in Headers */ = {isa = PBXBuildFile; fileRef = 20E5A5166CA26D937B2581F5A42109BD /* SDLReadDID.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 130CB8F58E38948429ED7FF1458DBBCC /* SDLParameterPermissions.m in Sources */ = {isa = PBXBuildFile; fileRef = B3534BABA6F48FD0582FE4F8DD64D2D5 /* SDLParameterPermissions.m */; }; - 133A7AA9C0BD498D7AAF7C8F9DB80034 /* SDLOnInteriorVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = F17536C61FD715A0D7CB30EC8F782F04 /* SDLOnInteriorVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 13DE089C81B54221D1C27F2D076F747C /* SDLTextFieldName.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A6D5FE27A8E49A038797571E1935836 /* SDLTextFieldName.m */; }; - 14048B99A80B382E7BA75FB694C8E6B0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F47CC482639AA5208054B8F2AB0772E2 /* Foundation.framework */; }; - 140DDC4D8992381D7E3396EF6D78D4D0 /* SDLButtonPressResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = B89924B3F2813B714A820FDB6827C8B4 /* SDLButtonPressResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1459A6C2FD8DE4FCF1D7D474F864CA61 /* SDLVehicleType.m in Sources */ = {isa = PBXBuildFile; fileRef = F8B20A99B2E9CA9242C92E436F9F52B7 /* SDLVehicleType.m */; }; - 148D1C1A193A33A8B1BF3343E50021A2 /* SDLSetGlobalProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = BDCD2F21AD03F887C89F5CAEEFBB2CAA /* SDLSetGlobalProperties.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 14A30C4729FF357EF0CF42198B09BF9E /* SDLStreamingMediaManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 48EDE38293C213AA0BF081BB05BAA735 /* SDLStreamingMediaManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 14B35E7E34D80136D586E5BD543967B6 /* SDLCarWindowViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 44F22EBB1FA7AB6F3B2FE7F9179FE5CD /* SDLCarWindowViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1505A5832FF9A3A8F285F03FF87D77EF /* bson_util.h in Copy . Public Headers */ = {isa = PBXBuildFile; fileRef = CA573929A03D0C71FC701844E556744E /* bson_util.h */; }; - 152F8FDF7F2AA35CF1FBA6CDB903CC57 /* SDLNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 85FF7D7562ED37453FEA41F13EBDD908 /* SDLNames.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 15C4DAC5A9BDC9AA8A6340075F79FD42 /* SmartDeviceLink-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6770FB09422CBE2772890B5A1547DF11 /* SmartDeviceLink-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1642935C8CEEC855C24D9FF041DDAF47 /* SDLProtocolHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = E07E319998669B2011C996E8D3ED0FCE /* SDLProtocolHeader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 164A4CA4ABA134FD215F6A3DB5C7ED96 /* SDLPermissionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 091B518F8FC0128A035D0E2FD0252C06 /* SDLPermissionManager.m */; }; - 166E302F302DF4A6906F7CE5CBB859CF /* SDLPermissionFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 623AE04DE2F11CA3A458E73BB5BDFB7E /* SDLPermissionFilter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 16EB4321B417708E42C51A06452F9AC4 /* SDLSetMediaClockTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B569FB0232D7A343022B88C5D60D356 /* SDLSetMediaClockTimer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 173A65311019663622CC26C99029C75B /* SDLAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BB9FE92AED9C4FBE0C71990C15CFFFD1 /* SDLAssets.xcassets */; }; - 17CE5B811D6A5E8AE2DE06021D89D7E0 /* SDLHexUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = B16451B05F7B7998916902BDC272DA7B /* SDLHexUtility.m */; }; - 18D0A1EED3CE0FAB395A7FC7792D2627 /* SDLImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DA512F98EBA8138EC6E64D1C8AC8C05 /* SDLImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 19F84CA17A95A8CFBCACE977C0638B02 /* SDLSubscribeVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AD43319B2D2DBD53956F9678C8A7259 /* SDLSubscribeVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1A2134E901DDFF80456A25B481438F8B /* SDLAudioType.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D307C9E502B0FAE99D74D1B6C5C7C20 /* SDLAudioType.m */; }; - 1A7479C1A0F0470B8BCF4D473ED88521 /* NSBundle+SDLBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = 32801D04602CCB5F6F59980E9D550249 /* NSBundle+SDLBundle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1AF1326289FD8C6418D534F008FB55B6 /* SDLResult.h in Headers */ = {isa = PBXBuildFile; fileRef = DA4AC64876191720BEEEDCA096CF536B /* SDLResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1B40A8E971B6BD891DD3719E2511769C /* SDLSoftButtonManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BFD0BEEC7500B4ABB684365B91EE31DA /* SDLSoftButtonManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B4476BE0D84958374ABED6B090B3C10 /* SDLCreateInteractionChoiceSetResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 263F02748D9A40EBF6B24065DAFF32DE /* SDLCreateInteractionChoiceSetResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BAAFCA7448E091BB7E49AF487297E77 /* SDLLogFileModule.m in Sources */ = {isa = PBXBuildFile; fileRef = ACA514171308C7B5A9DC25211634C84A /* SDLLogFileModule.m */; }; - 1BDB0B8EC87EEC90FC1C61292733E5B0 /* SDLTouchEventCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 5224C0ABEFD969B9C2E6488CCD187F5C /* SDLTouchEventCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BE5642DFE1ED91BB670AAEDC4EE6EFE /* SDLLifecycleConfigurationUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = 122FA2E1242EDA6CEF12B0DD588A28A7 /* SDLLifecycleConfigurationUpdate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BF0E6EB0BBE5E6C0C0B9AE436709835 /* SDLDriverDistractionState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C8E133009D9D4A30FDD034E77B15E32 /* SDLDriverDistractionState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C740B801065308CF10C425B5DC3F720 /* dispatch_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = D8D4135A71A6EF924A76E956876C6B27 /* dispatch_timer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D0A79A0A59306BB9D9E20EBE973F09A /* SDLSetMediaClockTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F7C067F33A15207188002D9B4198A94 /* SDLSetMediaClockTimer.m */; }; - 1D9B95A77ADA67E3C2196F4C2FA4ED68 /* SDLSendHapticData.h in Headers */ = {isa = PBXBuildFile; fileRef = 377D4118B82B4F0C3A536BA00E30B742 /* SDLSendHapticData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1DEA4B8CF4A0789DB6231BDB61B979CA /* SDLDeleteSubMenuResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CE49890301CD21C114B8FF26BE7453C /* SDLDeleteSubMenuResponse.m */; }; - 1DEB7DD703E2A4637104A72045AD3F42 /* SDLControlFramePayloadType.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C0DB0A95C98092AD86029EA15484EA7 /* SDLControlFramePayloadType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1E3E8468950E6475A8D2D221F73BA8B6 /* SDLLifecycleConfigurationUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = 721905C4AA7BAAA0EB11B158FB89719C /* SDLLifecycleConfigurationUpdate.m */; }; - 1EE57FF6F6AAD17B76EA9AC3DF1F8578 /* SDLDeviceStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B4EDB7744C2C539129CE3FCADAD3D442 /* SDLDeviceStatus.m */; }; - 1F4CDF769A5C81F6B0D1CDB156FEE0CF /* SDLClimateControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = ECFC2A9D93FA3B254263D5223C63C6F6 /* SDLClimateControlCapabilities.m */; }; - 201467C341DCD40DD9DB9E85AA000B4B /* SDLOasisAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 6459AC428E77B3CBBFE60EDA2E670AF8 /* SDLOasisAddress.m */; }; - 20397DC6DC53979944EF3EAC4E9087E3 /* SDLSpeak.h in Headers */ = {isa = PBXBuildFile; fileRef = FBE487CB04EE57303AE97CFC2390748C /* SDLSpeak.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 20CD25E24C0E210099EB933B7934BAC6 /* SDLAsynchronousRPCRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A5AEFACCEC86A1ABB9AE88EF4CBACC0A /* SDLAsynchronousRPCRequestOperation.m */; }; - 210C1BB2ECFB0A7D570993C2CE5A6B5A /* SDLSetDisplayLayoutResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = FCD7DC1F06D11049294FC2605BAC78A8 /* SDLSetDisplayLayoutResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 211C14CEC89A04E56EB11F61015640C3 /* SDLGPSData.m in Sources */ = {isa = PBXBuildFile; fileRef = DF08DBCC86B21FD3CD8850A1B0209110 /* SDLGPSData.m */; }; - 213D376BE308C7B251F2314D578A8971 /* SDLIAPTransport.h in Headers */ = {isa = PBXBuildFile; fileRef = EBB7EFEAF1916EEF5741C23A8FC69661 /* SDLIAPTransport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 219BCF881E99A7E059314F73EF5B3FF1 /* SDLIgnitionStableStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DC57EBBDAA249CA024D694DA528AAEF /* SDLIgnitionStableStatus.m */; }; - 21C24E332FD920728ED20660F8522DF2 /* SDLAlertManeuverResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 1422525C33B821FE4C721FFD37D56089 /* SDLAlertManeuverResponse.m */; }; - 22137DA20B8A605A75E977C465C38C46 /* SDLCharacterSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 1856A5FAE80576C15E62725712E621F8 /* SDLCharacterSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2253A2C440479160DEB39B1C18342D0C /* SDLPredefinedLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 481DE93B2809029FA1A0B8708000DE48 /* SDLPredefinedLayout.m */; }; - 226B883E40925DABEEB8DB8398A85CF2 /* SDLNames.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F68D769BB70D027A0DE080A79F2727B /* SDLNames.m */; }; - 230D71308BFB8946C319CE2602D8F730 /* SDLDeleteFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 78B64884FE6C2D7EC953D3B848ADB553 /* SDLDeleteFileResponse.m */; }; - 23191658D152A24DB217304D7CD64A87 /* SDLTemperature.m in Sources */ = {isa = PBXBuildFile; fileRef = 5564E4FDE467DE0A4A0E105273390875 /* SDLTemperature.m */; }; - 23577DECCB38F7AA652804359BC034BC /* SDLAddSubMenuResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 3738A2804D3A8B9154757AE81F0C606B /* SDLAddSubMenuResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 23692D75F4FD9061E2D72674BAB4D1E2 /* SDLEncodedSyncPDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E0830080B8AB02DAF096B377EAC594CF /* SDLEncodedSyncPDataResponse.m */; }; - 238EE86F098C0701D5AE6A589FCF5735 /* SDLUnsubscribeButtonResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A2399E25A379CAD17A23E91A13A08C7 /* SDLUnsubscribeButtonResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 239DE00BFE2890BBA5514DA129DE2C19 /* SDLSoftButtonManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E45022426AE6814DAB498D64A32F4630 /* SDLSoftButtonManager.m */; }; - 23AB34630E6C51922826A857212EB341 /* SDLLogTargetFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 4250D9B739A051CD2F62DEFAFDA6039E /* SDLLogTargetFile.m */; }; - 2401DC7926440E8A7F2BCD4EB9A1C085 /* SDLSubscribeWayPoints.h in Headers */ = {isa = PBXBuildFile; fileRef = BA240FAA05BF054AA4CF777A11C7D856 /* SDLSubscribeWayPoints.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2475D56E982292673F1A00A7FEBC6EB7 /* SDLListFilesOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A1B19A4829DF9ACC1AF7DE1CCBC81E2 /* SDLListFilesOperation.m */; }; - 24E48DFBB1C4B4AA81A4639689F86DAD /* Pods-MobileWeather-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7608A9F87342EADFCA0201D252B08DDE /* Pods-MobileWeather-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 24F89E570279A8E298ADE0E960556438 /* emhashmap.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A174DBB8B92E9FB927996A14B224098 /* emhashmap.c */; }; - 253D46ED68B2C8FB464C2FA7457AA2F1 /* SDLSetInteriorVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BFD4BA4B5A3547295A6679AC6BFC49A /* SDLSetInteriorVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 254609C28305CFECE654281DCE9F2C77 /* SDLDialNumberResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 926F1D75D3995E6766EE0C2CF88EE57A /* SDLDialNumberResponse.m */; }; - 25B31C052CD82DA98CC876A4D15FAA40 /* NSMutableDictionary+Store.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ED2E0EDC4946A294F64629AA8FD1745 /* NSMutableDictionary+Store.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 25F2488384F3639918448C0535197E10 /* SDLV2ProtocolHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 5564C2DEE5697D775507DE3002B88D69 /* SDLV2ProtocolHeader.m */; }; - 26D327B0F4A9F4C73E23576C0530875B /* SDLDisplayCapabilities+ShowManagerExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = ADEE2DEF2B9BF06852C5F45AE3495DAF /* SDLDisplayCapabilities+ShowManagerExtensions.m */; }; - 27295F99CBAC45F60E37E651F6A7619B /* SDLKeyboardLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = FC14DDD41DB0521B0EFE9B685BA9F245 /* SDLKeyboardLayout.m */; }; - 2782136ECE39534DA8D188D5F3113A05 /* SDLStreamingMediaManagerConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = A347CD9106094C5D8180880BF8741AE8 /* SDLStreamingMediaManagerConstants.m */; }; - 279F77A60878F82B101E30827D387C0D /* SDLSubscribeWayPointsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AC0A4900A55E926B835F1608FC63C15 /* SDLSubscribeWayPointsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 27FE293C556E1B4C4772F6D503B04143 /* SDLLockScreenManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 54A5550C879D839FE7C3307B9E7C5075 /* SDLLockScreenManager.m */; }; - 2886C69498313A0A7DE7681EE99D4929 /* SDLOnCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D464F7AE9A045EDD8E966095CBC8781 /* SDLOnCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 292938C5EB7ABDEC2E715A153AB2C158 /* emhashmap.h in Copy emhashmap Public Headers */ = {isa = PBXBuildFile; fileRef = D4C6F6B4C3FEC0D2F83C8EC8E6C85166 /* emhashmap.h */; }; - 294C2CDD91F16814E7079E29842749B7 /* SDLVrCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = BA3D26CA12CB381851BC73C4E910F659 /* SDLVrCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A01527D763F345A66ADD0BFBC9AEB12 /* SDLScreenshotViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F1C749ECDD4F3BE2F5BBA1B9C067108 /* SDLScreenshotViewController.m */; }; - 2A57B4712ECEC2CD097C75FFE10C5FCC /* SDLRadioControlData.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E50C8D8E6BB62B84A6DBA40D96BC543 /* SDLRadioControlData.m */; }; - 2AC72583553AE7BD4F29DFCE1A65BB7A /* SDLRPCResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E645BA11668DE3714E30EB93DC19FB8 /* SDLRPCResponse.m */; }; - 2B630676D1809FA3BA1513103DA5C017 /* SDLSetMediaClockTimerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 94B57E269072038295F6FCBAF5FAC340 /* SDLSetMediaClockTimerResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2B6E59877D102668836476ED7D438740 /* SDLTTSChunk.m in Sources */ = {isa = PBXBuildFile; fileRef = C9FDF7AC2263906B2FB5D1F8B6A91E3F /* SDLTTSChunk.m */; }; - 2B727FEE8569F5FEBB919D478D9676CE /* SDLSystemRequestResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 93E2E77FF6F6FE0781A4D6ED073F7FF2 /* SDLSystemRequestResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2BCC5FA1CD2B5A998D04559ABB1CD2C7 /* SDLControlFramePayloadEndService.m in Sources */ = {isa = PBXBuildFile; fileRef = 0623C8C19365F9F804F238B8A4DDED14 /* SDLControlFramePayloadEndService.m */; }; - 2C00826991FC81F4268A7FA1B8BE3A72 /* bson_util.h in Headers */ = {isa = PBXBuildFile; fileRef = CA573929A03D0C71FC701844E556744E /* bson_util.h */; }; - 2C55DC3FA3795E707E6215E823DE27FE /* SDLLogFileModule.h in Headers */ = {isa = PBXBuildFile; fileRef = F31E174CB1792219125E54F8B9533A4F /* SDLLogFileModule.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2CA80A86C5A03D3E67CEAF1486AC8F23 /* SDLSoftButtonCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 628AA2599688200D5C1E3ED21A79A5CE /* SDLSoftButtonCapabilities.m */; }; - 2DB6BE6902FDB1C00701E9FE9BD4DCDE /* SDLAlertResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 320D147296439C0D83D292D71A06F489 /* SDLAlertResponse.m */; }; - 2E7F74A32200047F26477C344A7D721E /* SDLLogFileModuleMap.h in Headers */ = {isa = PBXBuildFile; fileRef = D7E083B3F536B4D33B24F251CA318C95 /* SDLLogFileModuleMap.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2EB799E96EE21191FD3D0B5F77931B25 /* SDLPredefinedLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C1E445BE534CBEB1F13336970BB53E /* SDLPredefinedLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2F082789FED36031021C9C68A0C014A6 /* SDLSyncMsgVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 586A686DA1A0BEAE475D2620B91B55A4 /* SDLSyncMsgVersion.m */; }; - 2F5F8F7F23E7533A0A8EA50A060BFC1E /* SDLResetGlobalProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = C05C4DD1B32899E128BDB4ED248AED5D /* SDLResetGlobalProperties.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2F7D43F5BFC6BDE91B478D517013233F /* SDLTouchManagerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C121CA0F730BD79472441C6EA3E0B549 /* SDLTouchManagerDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2FDEFFE7E496A51224ED984BC02EBDD6 /* SDLIAPSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = F4403D536EF76F56B835F372397325F4 /* SDLIAPSessionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2FED9B6B10BE95785796A6BAAA71D350 /* SDLHeadLampStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 3254DB97291B02CE15A70E6FAEF9C482 /* SDLHeadLampStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3046148E36631FDC7E7685019F0817BB /* SDLUnsubscribeWayPoints.h in Headers */ = {isa = PBXBuildFile; fileRef = C9910FB7674BF7129ED27A3440D0953A /* SDLUnsubscribeWayPoints.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3085CE7E68223DF81755C911A35DDAA9 /* SDLSetInteriorVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A9AB9984C23EC7D8ACA17C6CD6C1CB84 /* SDLSetInteriorVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30A8A9E32E3C5D32E0CBB7A4BC2C6E49 /* SDLTouchType.h in Headers */ = {isa = PBXBuildFile; fileRef = 53BF6821A43E1553A5E35EF0B229D078 /* SDLTouchType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3159ED1B4BB0F3B47AD0CD708E74A336 /* SDLPermissionFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FB7CA45F85699A2B1CB7601F33343E7 /* SDLPermissionFilter.m */; }; - 31B8D922588FA3895C7FDE90F71DF12B /* SDLDeleteSubMenuResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 128B75FD451F1275DD1DEF7A354BDC3D /* SDLDeleteSubMenuResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 31EAC6E9DDF3C302672FB9DEC51088B3 /* SDLOnButtonEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B5CB2F5353A5A13565E6C1685F64CE4 /* SDLOnButtonEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 324CD7F63C366197D04BED33345C9F58 /* SDLVehicleDataResultCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B5D7EBF571029558FABC34C5DBD25ED /* SDLVehicleDataResultCode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 329C6A75FED1B56D90F0C82669439A93 /* SDLLogConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = ADD9923D38809C26A3B17517578AB241 /* SDLLogConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 33609D48B79121050B5681641265BDBC /* SDLRPCPayload.m in Sources */ = {isa = PBXBuildFile; fileRef = 0328C730A733A35F4F0214D0E45D8A58 /* SDLRPCPayload.m */; }; - 338BBB4C6299952C93D1079D94DA26C4 /* SDLOnTouchEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B6FA0DB87861268F686401B4C1BDAC0 /* SDLOnTouchEvent.m */; }; - 33ECE3E48C56D9C5C91D75D85B34F2E0 /* SDLDeleteCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 21C99B2A2F3A670EA5D348869D52AC06 /* SDLDeleteCommand.m */; }; - 3420FAA75E401BC1C069232520B89EC4 /* SDLSendLocationResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BAD04424E8D1524A1D0BF7CFC2D5021 /* SDLSendLocationResponse.m */; }; - 3432B6F7A412E7AA36117894525DB63A /* SDLLifecycleManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A29AE11104A010EA4B281884552D2CB /* SDLLifecycleManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 34EA02CC5A56D9030C804F98E634F4EC /* SDLFileManagerConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C31112B130268BB7FDC3A81620FA72A /* SDLFileManagerConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3554C599CDE8BEC29821FEF0F316D336 /* SDLGetWayPointsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 041D6A17A65DA079AE9F732CA17D15D8 /* SDLGetWayPointsResponse.m */; }; - 358394394529A4A3F7F9B9044D493E89 /* SDLDisplayCapabilities+ShowManagerExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = BC9A0419AF6A13470FEFF81E07359674 /* SDLDisplayCapabilities+ShowManagerExtensions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 360E66C4BBEA10643DC5DF6D9C3642FD /* SDLOnDriverDistraction.m in Sources */ = {isa = PBXBuildFile; fileRef = B4D3863E8932C7EC9D89A9389E64CD4A /* SDLOnDriverDistraction.m */; }; - 3659B7938FF025B2D9C46B4E3C1EFDDB /* SDLVehicleDataEventStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E2A0ABA4B6162355A84179A7B90F047 /* SDLVehicleDataEventStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 367053201468492BD9C2A9946EEC0FFD /* SDLBeltStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 99101A7333E117C1AF240A74FD999A9B /* SDLBeltStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 367608BDFA777B35DA7E5CD6701BDCA0 /* SDLVideoStreamingCodec.h in Headers */ = {isa = PBXBuildFile; fileRef = B8666DAC888ABC474561545E05A2FD3F /* SDLVideoStreamingCodec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 37BBCBC4CB0D86B0D9719839E62D8967 /* SDLGetSystemCapabilityResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = B324258DBED76B41D481FEC0C8E7E4E4 /* SDLGetSystemCapabilityResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 37C9A1412A530B0A7AD01E69CCA1AF09 /* SDLCompassDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 657ECE28E408DC105862494BD97E8F95 /* SDLCompassDirection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 385D4D90B9528CB30FE35C17B9D68EAE /* SDLRPCNotificationNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 67A2CFE1DC321800D0508F00D4B5E187 /* SDLRPCNotificationNotification.m */; }; - 3880A71B55F84E08C45CE6B60CE038D6 /* SDLRPCNotificationNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 40E8850E21D0D146F181FE362827E30D /* SDLRPCNotificationNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 38A0170683F904BD157BDFD3185C500A /* SDLProtocolHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = D26FEAEAD7F61B8841FD580C0620892A /* SDLProtocolHeader.m */; }; - 38EDD4664BA3C9057A705ECF37DE98E5 /* SDLOnAppInterfaceUnregistered.m in Sources */ = {isa = PBXBuildFile; fileRef = D09AEAD27C89EC1ECB874643AE386E85 /* SDLOnAppInterfaceUnregistered.m */; }; - 38F4BF4D2EEF698A2C4F0B801B80A503 /* SDLAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 71A7E7055C841CA2EF414F96E33DE2E7 /* SDLAudioFile.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38FE8058A8ACE4CEABEF049A44575FFF /* bson_array.h in Copy . Public Headers */ = {isa = PBXBuildFile; fileRef = 41DCA419DC4D4AAED1CDE67A6C2DE475 /* bson_array.h */; }; - 3902C952579CD5B005E7D594D0C6A0DF /* SDLV2ProtocolMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 59B08CEAA2422BEA9DCA8F2B816B7D07 /* SDLV2ProtocolMessage.m */; }; - 39E867628415FDE2FD82A2EE83F8F4BC /* SDLLockScreenPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F71CC3B0D2175EB5D84032F55CB5CF8 /* SDLLockScreenPresenter.m */; }; - 3A08A252114A9FD1123A310D95683940 /* SDLECallInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0956694522D0CEEDB373F3A6CF3F9336 /* SDLECallInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3A9DD3DBF23A0C30301606A4B9F16045 /* SDLMenuParams.h in Headers */ = {isa = PBXBuildFile; fileRef = D9D764A3DA418A19838AC0E9F1D9A0D8 /* SDLMenuParams.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3B1956621824EFBCCBE3E60382CA254D /* SDLGetDTCs.m in Sources */ = {isa = PBXBuildFile; fileRef = 6020EE2B2DBCCAE4CC462D508ABA25C4 /* SDLGetDTCs.m */; }; - 3BB260EA8886562DA3A489423E5074B5 /* SDLLogTargetAppleSystemLog.m in Sources */ = {isa = PBXBuildFile; fileRef = AF325063268AFD8725D5A21CA73E18BC /* SDLLogTargetAppleSystemLog.m */; }; - 3BD9C3771F9E6E21E85396CF9D4CDC93 /* SDLAppInterfaceUnregisteredReason.h in Headers */ = {isa = PBXBuildFile; fileRef = 32DDE8FA8E3A56A84E9E4A6D6814BE94 /* SDLAppInterfaceUnregisteredReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3CAB5B443453DA374CF18555CFC4481B /* SDLSpeechCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 0583FB6C0C579BEC34FC989C5166C090 /* SDLSpeechCapabilities.m */; }; - 3CB329AF8A0DA22602510986BBAF3A74 /* SDLDeviceLevelStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F78CF4FAF87A3887AD5BFB9EB5F05A7 /* SDLDeviceLevelStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D13217648280BFCFA0981A4037BA3B2 /* SDLEmergencyEventType.h in Headers */ = {isa = PBXBuildFile; fileRef = 9860654745A9FC8A6C2CAC397104E080 /* SDLEmergencyEventType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D3943BEDA79876F952F153E55E1A0A9 /* SDLButtonCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D10A5B41528B4BE3F02408E7CBEFA01 /* SDLButtonCapabilities.m */; }; - 3DDB67374416164F067A2D42BF623EBF /* SDLSamplingRate.h in Headers */ = {isa = PBXBuildFile; fileRef = F46B1EF990F7A15519C629B25124037A /* SDLSamplingRate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3E0B85E84C8F31AC2454224A7EA0419A /* SDLUnsubscribeWayPointsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 522D277B913EE68F8B80BE6B98DE1D23 /* SDLUnsubscribeWayPointsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3E8A16588416AF1C9ECC4DB3B53DCA20 /* SDLDeleteFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 14874E494E0A1FD5802306F2DDC83161 /* SDLDeleteFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3EC312EF6A97CD129EB41C29FCC2FEA3 /* SDLConnectionManagerType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F57760D011E456CF25E494C71BC5964 /* SDLConnectionManagerType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3ECCD709CD71374F7ED765716CEB0E0F /* SDLSubscribeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = FF24B838DE656EE89AB73031C9DF19AC /* SDLSubscribeButton.m */; }; - 3F4A531C8E049372A8911C7822C52308 /* SDLProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A9FFC25158FB2512C35BF11800F159C /* SDLProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F541C796619681488F3F0CA0BD7D97E /* SDLRDSData.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FE79B9FD118B7EDF28727AFD5303DA1 /* SDLRDSData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F5D78AE9B205574DC2223E18CB93EB3 /* SDLMetadataTags.m in Sources */ = {isa = PBXBuildFile; fileRef = 03BEEBA9298F356E391994DB3FD2C565 /* SDLMetadataTags.m */; }; - 3F6DA6A6F5C65ADFF630DAA7B25DF2EC /* SDLOnHashChange.h in Headers */ = {isa = PBXBuildFile; fileRef = 955E0095E99E594118A69C9EF7D4D2E0 /* SDLOnHashChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3F8883399F1EACC96135B72139CC3369 /* SDLParameterPermissions.h in Headers */ = {isa = PBXBuildFile; fileRef = 88703DA25DCD3EE9D5646E2A4899A078 /* SDLParameterPermissions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4028D23F7B421DF11782D854EBDB0850 /* SDLInteractionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = C12DBB316844772F9BB6A9A0FF128EA1 /* SDLInteractionMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 404EA1EC2D128A00DE36D0974E0090F3 /* SDLResetGlobalProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 68CBCF5413211D68AF00EA245B7F40EB /* SDLResetGlobalProperties.m */; }; - 407B04E98813FC52008431501825EEFE /* SDLDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = F01AFA438715DD6B89E6C8DB654661EC /* SDLDeviceInfo.m */; }; - 40DF0C61C03109BEC3D08FBF4435956F /* SDLImageResolution.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F27FA1B32E1E42AF978FABEB3B52E20 /* SDLImageResolution.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 41065CADE0B48AEB61847784C54AF957 /* SDLSoftButtonObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 540E02D58D9F851937559904A88D0812 /* SDLSoftButtonObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 41197455FBF9735D1128F89CA364F61A /* SDLFocusableItemHitTester.h in Headers */ = {isa = PBXBuildFile; fileRef = EFD239FBB2DD93E728C2780153BF7DD7 /* SDLFocusableItemHitTester.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 41673F89A522BADEE4FE2C334CD1CB69 /* SDLLockScreenStatusManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2074E4AA05A56C6E4161C111A5B954F7 /* SDLLockScreenStatusManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 417DECCE7A9E3642C497656464E1148C /* SDLPRNDL.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BC50CACFE9FF728CBB59464DF41D466 /* SDLPRNDL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 417FB8E1970759BA1FB902AB8EE3FC9C /* SDLControlFramePayloadConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D45385A212865742CD7117F3B64CA363 /* SDLControlFramePayloadConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4191AE8DCCBC064F7E8D67EAA82EB81C /* SDLHMIZoneCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 438FA9580E56B9F6B2D7DF09E6CF2BEC /* SDLHMIZoneCapabilities.m */; }; - 41ED02C0E98D2C42FA49AAFA52BBABDC /* SDLVideoStreamingCodec.m in Sources */ = {isa = PBXBuildFile; fileRef = 8429655CF967710DA2743C1D9871C263 /* SDLVideoStreamingCodec.m */; }; - 426061975FB8C771F209CB8537E7BB14 /* SDLPerformInteraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A211ED46173AF0C21BBE4BE6255E54 /* SDLPerformInteraction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 42C0C084678D163BECAFEABC25A7C943 /* SDLButtonPress.m in Sources */ = {isa = PBXBuildFile; fileRef = 757A356A939D205F7244B72F4014ED43 /* SDLButtonPress.m */; }; - 42CB44C542A9C53E6738550996B1EE1B /* SDLVrHelpItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 642C2603CF786CF8E7D8429890FE10E0 /* SDLVrHelpItem.m */; }; - 43188DB34CFC40A9C8F2CBF5B31CF784 /* SDLUpdateMode.m in Sources */ = {isa = PBXBuildFile; fileRef = C0676BDA6CC974863E4443FDB73D5DE5 /* SDLUpdateMode.m */; }; - 43373206E7134F0806C3ADA3416DC28C /* SDLV1ProtocolHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = A01D165DED48E32592550F162FAC68B1 /* SDLV1ProtocolHeader.m */; }; - 44340F29D06B3C0F0AC57BEF9217EDD9 /* CGPoint_Util.h in Headers */ = {isa = PBXBuildFile; fileRef = 93E20B99F7060DC53CB1F48DD8880267 /* CGPoint_Util.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 445F8ECB92291C5F78BE024D3339B9A8 /* SDLLockScreenManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 66685FFEB2AE38A377520BFC390DA345 /* SDLLockScreenManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 446CCA48DF4439F4B5EBE4DA15A1922B /* SDLRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B277389C88C3E7EC3322330A015A693 /* SDLRectangle.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4496A0DEA90A2289399BDC03147347C6 /* SDLChangeRegistrationResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 04CCD3219F9D51821608D9840ADD0E4A /* SDLChangeRegistrationResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 44F5A530875A3F14006480A0045B9BFA /* SDLImageFieldName.h in Headers */ = {isa = PBXBuildFile; fileRef = E2858263BCBC76ADF5C461E5D1C6787B /* SDLImageFieldName.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 45D6147EF7F20BDED82BBFE00D5D4F07 /* SDLOnTBTClientState.h in Headers */ = {isa = PBXBuildFile; fileRef = 47156A40521D8AF779FB8DA9C0DC1F3A /* SDLOnTBTClientState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4652DDB28B4ECF73B21B834EE9A617E1 /* SDLOnEncodedSyncPData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2122E05853611926EE573B16F4C85965 /* SDLOnEncodedSyncPData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4673AADAF0B41E81CA55DBEBD23C284C /* SDLGetInteriorVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = F1C3A65D590BC50EEDBCBAB6EFD30E02 /* SDLGetInteriorVehicleData.m */; }; - 46A5042D86A297FBCA236763B8ED30D8 /* SDLModuleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E12DD162E23EADFFF83A7E121458E4C /* SDLModuleData.m */; }; - 46D95A2E0F6F188E66D82172D4E698B5 /* SDLStartTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 6562DFD15F2C6DA6F141741164BF70D2 /* SDLStartTime.m */; }; - 46FF9EDF5F686AB712BF09AF57F19E09 /* SDLOasisAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = D6EFB5528DE72236C27072B85AFB6F80 /* SDLOasisAddress.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 472A1C085B3E664939DD7BEE814CF0DA /* SDLSoftButtonCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 65BD2D743FD682AE4B665F9D09B5C750 /* SDLSoftButtonCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 473833AA192D606BA7943C3CF406B1F0 /* SDLIAPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 612350B1D0B456D43243685AACC124E6 /* SDLIAPSession.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 47464C12591C5651C8B6AD66373FA68B /* SDLTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = D548C01622D4F9D989CB5720F85E07F9 /* SDLTouch.m */; }; - 4770CC4CB3A1336528FFE644763979FF /* SDLMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C1CECB04172FFBF1FC5669373B9B2B9 /* SDLMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 477E51435487337FBCF9F86B2E6EAF25 /* SDLLogConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 18C1EB917BA2290A7EC61020A67416A9 /* SDLLogConfiguration.m */; }; - 47C5D7E528172AF36A4AC18E132CE4C0 /* SDLResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 901534CE8834827622E46380204E0ACA /* SDLResult.m */; }; - 47E854093E3ED91D7F34D6BCD7D66E16 /* SDLSingleTireStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DB187C6D1692C4D3121D9B07DE79D4D /* SDLSingleTireStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 47F877C93AB5F61E31B1AEBC83115E28 /* SDLTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 0170A49B56B45A07E2DC94BA90D819C6 /* SDLTextField.m */; }; - 48BB7D20D0D6A29F67A5A554241A990D /* EAAccessoryManager+SDLProtocols.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A7B5EC7697544F37BA45B3CE3AABD14 /* EAAccessoryManager+SDLProtocols.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 490224B284026C84FB48595B5107A2EA /* SDLDialNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 76E6658100C9B7685A573604AEA11C04 /* SDLDialNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 494182EB25FAD78A68E3B5753FE5B625 /* SDLUnsubscribeVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B441C5D6EABA02329D09C5C6D73E06 /* SDLUnsubscribeVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 494D7535EE249F1377C4CC92CC555614 /* SDLRPCResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 6231B5ACC080FC3EB41BD917FC9AC0C7 /* SDLRPCResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4A1CB1029DF8EBDB5881E8613EB284F6 /* SDLRPCStruct.h in Headers */ = {isa = PBXBuildFile; fileRef = D359D887B941F6BB00CE5771471DA034 /* SDLRPCStruct.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4B0AF1B7D0E12DBFFBA7E5CAFB1F68A4 /* SDLControlFramePayloadRPCStartServiceAck.h in Headers */ = {isa = PBXBuildFile; fileRef = 9414AFF8303E274A46A24B63AB8298B7 /* SDLControlFramePayloadRPCStartServiceAck.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4B38286A7F151B0A1AA9D058A2420046 /* SDLModuleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D3A62F2C8A3B95E9B38974F438F073B /* SDLModuleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4B8F17466833B92BB2203A66902751B1 /* SDLOnButtonEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = CABDD61F55B0AC760C9908587E0641C6 /* SDLOnButtonEvent.m */; }; - 4B9076E7B8455E59BD483FD8AD10DA59 /* SDLLockScreenStatusManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8119A87FD83CFA7875A610055C5D34D6 /* SDLLockScreenStatusManager.m */; }; - 4BAD5E3968C61C7C5A106D3A25162343 /* SDLControlFramePayloadVideoStartService.h in Headers */ = {isa = PBXBuildFile; fileRef = E904D5D0EE87026CDB3DF00C58F20233 /* SDLControlFramePayloadVideoStartService.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4BDB4717BCCA0653AE1E94BD3E733E0E /* SDLTouchEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 5676114C6B20C1545CF852CD5E3160DF /* SDLTouchEvent.m */; }; - 4C2FCCACCD309D17674AF32B89F9947F /* SDLScrollableMessageResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CE56642FAA60BDE23C9933BCB0898E0 /* SDLScrollableMessageResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4C53E2C50F4CEDF9ED92209067CD8A7A /* SDLPrerecordedSpeech.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AF1ABF5DBBE71CC24F88E7A47A8CDCE /* SDLPrerecordedSpeech.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4C685E223657DE7889D9845D35179E2C /* SDLDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F78D38F34622FBF944AC37B61C4A225 /* SDLDeviceInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4CE189CD43A598847C33CE5EEAFCAC91 /* SDLRPCNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 5848940F6A4C4E702641CD86F959E647 /* SDLRPCNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4D945336A3F7EEC7F75075C4BEE2746F /* SDLUnsubscribeButtonResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C23D6E78087AA27BB28DA4D24CC3C753 /* SDLUnsubscribeButtonResponse.m */; }; - 4DA49924D0616403DA531F1E81835A3A /* SDLPutFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E8789D261A87AD40D3182D962BC93E6 /* SDLPutFile.m */; }; - 4E0DFA3A0D38FE9C15DABEDEB0CEFB31 /* SDLAppHMIType.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CE5E2AF891CF3912C78F93A29BD1653 /* SDLAppHMIType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4E2DA9E1D7484BCEB90A0C748A49D58F /* SDLGetSystemCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = F17E04D9CC6C667358EFD35214337C18 /* SDLGetSystemCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4EE2F7A77AF64D6F8D30624A1226E44E /* SDLNotificationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 699CEF05B27D9572F223D3FDEBE301F3 /* SDLNotificationConstants.m */; }; - 4EF54C0BF9E88A3AD46A4BE4267E5369 /* SDLSyncPDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 644CD2A3F7FC290359667A81233989C0 /* SDLSyncPDataResponse.m */; }; - 4F977B11D0B0A5FED7412ED11FCDB6AC /* SDLSystemAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 31D9671A436A179444EDAFA16345974D /* SDLSystemAction.m */; }; - 501E447E3065F22B1DE5482D0217A724 /* SDLPermissionConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = DBD1B1A5F4B1E67C318E65C7FF735947 /* SDLPermissionConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 50288B0B84BD31052F724EB4FFB3DA60 /* SDLLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 64FD2EA7DAD5070878138C106365C964 /* SDLLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 502BFF324A5467DB875E4733F0DBE9DA /* SDLLogTargetOSLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 43DB8886C4EAD37621417D8648C80EF3 /* SDLLogTargetOSLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 50620AB6029CF2C8AA7E59C85F3B1EBB /* CVPixelBufferRef+SDLUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 9335987C284CB4E6952986BC5F3BEFE9 /* CVPixelBufferRef+SDLUtil.m */; }; - 50A816CB6488DC0DB1649364AAB4DC9C /* SDLStateMachine.h in Headers */ = {isa = PBXBuildFile; fileRef = 0033542534C9FDC99BAF3BEB8F689298 /* SDLStateMachine.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 50B200B7C84FB96B2AA225E6BAF4ADC1 /* SDLOnSystemRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A8949EA4C1BEA71957B3EF7E122B3B3D /* SDLOnSystemRequest.m */; }; - 50B38A62B683CFC83A125726388508EF /* SDLModuleType.m in Sources */ = {isa = PBXBuildFile; fileRef = 316BC50E936E7E22193D5D04918CC6AB /* SDLModuleType.m */; }; - 50CC26300954437E5E5885BA76A00A8F /* SDLH264Packetizer.h in Headers */ = {isa = PBXBuildFile; fileRef = DEEAB6F4072864C53ADA2A34D4140A42 /* SDLH264Packetizer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5115CAC9DCBF2C6A9EE434420A40F108 /* SDLMaintenanceModeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 610628E53E0DFA4080A416ACD11AC5AD /* SDLMaintenanceModeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 511EF03DAC31F995113C384E0083BB86 /* SDLVehicleDataStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = DE5F0D30FFC8046A07B125AC97BC761A /* SDLVehicleDataStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 514111CAFD8F45B694C8CCB9D905ED09 /* SDLSyncPDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 64E441D76A1D438E4A4E905B1096823B /* SDLSyncPDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 51B7C46D514099F77C3EF5101257EB18 /* SDLPermissionStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 05C9C3989EB345AE7B1F9A739346AB71 /* SDLPermissionStatus.m */; }; - 51D03AA3A0C44ED38A5B0CDE671CBEB3 /* SDLListFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4C2EC633FBACB53FFF9C13F8FFE4EB /* SDLListFiles.m */; }; - 51EEEBAE315451CBCC9F657E52156C1B /* SDLLanguage.m in Sources */ = {isa = PBXBuildFile; fileRef = 20745CEA7EAB65015442DD438C902D01 /* SDLLanguage.m */; }; - 5201E244486C11699CBB0371985D6F05 /* SDLSpeechCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 929BA67D1C6AA6DEFF87C3A668E2F71A /* SDLSpeechCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 524B494320F8DAE57100174EBC312BEC /* SDLControlFramePayloadRPCStartService.m in Sources */ = {isa = PBXBuildFile; fileRef = 77258206B5F52AA06A9B47FD426E37BA /* SDLControlFramePayloadRPCStartService.m */; }; - 527175801ADFF9138EF1B8BE3EBCADAA /* SDLTCPTransport.m in Sources */ = {isa = PBXBuildFile; fileRef = B611FCD95D4D84AA4315C44CAA67EAD9 /* SDLTCPTransport.m */; }; - 52A7AB64B8C0EF5E32DC7739AC04E18E /* SDLPrerecordedSpeech.m in Sources */ = {isa = PBXBuildFile; fileRef = AAF593130C4DA7709ACFE286A88E8A8E /* SDLPrerecordedSpeech.m */; }; - 536EE32080183793822977412ABE1C33 /* SDLRegisterAppInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = B38535F6E34B4E2E1B4ADD93F958208F /* SDLRegisterAppInterface.m */; }; - 5370B848B8AD97F2097B69C41290D0E6 /* SDLRadioState.m in Sources */ = {isa = PBXBuildFile; fileRef = EC25BE118C33FD809971F633AB8FB6BD /* SDLRadioState.m */; }; - 5377FD84E730982E7106F4B0192B2355 /* SDLAbstractTransport.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B4429230570DFE3695C8F6204F4229 /* SDLAbstractTransport.m */; }; - 53E5EEB781A5455A017A3A547F941F08 /* SDLBeltStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = DE06856700144AF77009C3499398CFCA /* SDLBeltStatus.m */; }; - 5421530BCFDCAE96B69C2A62C6762C30 /* SDLDiagnosticMessageResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 012D7B455BE27465AAD435ECD1F0BE3D /* SDLDiagnosticMessageResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 543C2071075683CEF73BB777E0BE66B8 /* SDLPhoneCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D41058C17032EFA51A6263C4C2C3BEE /* SDLPhoneCapability.m */; }; - 5453F76BEAEA556D243B7A0E7E675410 /* SDLGetInteriorVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 90EAF75372588B006E99BC124524CE47 /* SDLGetInteriorVehicleDataResponse.m */; }; - 54DF49C1B8DF8F432C7C98EA457DA853 /* SDLLanguage.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DDBC0E3BEB85781A07B993B386AF2CF /* SDLLanguage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 553C5C8730A9F045613F7F13E96A4DCA /* SDLListFilesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 40BC300AE8BAFBBB4ADB37A1A02636DC /* SDLListFilesOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 55614B6F92EADF032F5B570474EB2425 /* SDLSetGlobalPropertiesResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 542E9DF95196E2458740C1569084F388 /* SDLSetGlobalPropertiesResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5614B14142C8FB671187F47DCEEDA99F /* SDLFocusableItemLocator.m in Sources */ = {isa = PBXBuildFile; fileRef = 79873851D9B225C9CC58E1B2CDAEC884 /* SDLFocusableItemLocator.m */; }; - 563A62827A34E803265D3FEC4CA5FCBA /* SDLButtonName.m in Sources */ = {isa = PBXBuildFile; fileRef = F423A4D41C403A561BBABC910E54EB64 /* SDLButtonName.m */; }; - 564DD8BFF3AFFA021788610876F7DD61 /* SDLImageFieldName.m in Sources */ = {isa = PBXBuildFile; fileRef = 19B47F836EC866B522C7E0B4C3439089 /* SDLImageFieldName.m */; }; - 569AD8FFD8AE529C95009B630FF86291 /* SDLDeleteFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B5E4AA20353C6793E2FB84758E22D31 /* SDLDeleteFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 56A0A4B39A6DBF5B3A48113D0F72326A /* SDLOnPermissionsChange.h in Headers */ = {isa = PBXBuildFile; fileRef = E9C19C2297506216A78B8FD19E13B88F /* SDLOnPermissionsChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 56E2C7C771DD69397A452F517EB06355 /* bson_object.h in Copy . Public Headers */ = {isa = PBXBuildFile; fileRef = 28C429A6BDDC66CA37C80CF94B151E8D /* bson_object.h */; }; - 573BD9F8A4FC4C207BCA15F2184D342E /* SDLFileWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = ED94EE7F7AE5652075F97AC5DA30FBE4 /* SDLFileWrapper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 575300A7913E685B421AB1A843C59321 /* SDLLogManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AF548F447D6C7999906C27FB0A7558D7 /* SDLLogManager.m */; }; - 581E9674FFD18592417AD7207766C3FA /* SDLListFiles.h in Headers */ = {isa = PBXBuildFile; fileRef = 28E196B50F3676805BEF66B3CF13640F /* SDLListFiles.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 582D0C7A997749509366F2651C604B91 /* SDLIAPTransport.m in Sources */ = {isa = PBXBuildFile; fileRef = 06D042A26D2DBACC0CFF0460DE91E12A /* SDLIAPTransport.m */; }; - 58407FD5D6EDE7E5A6B2A2DB28AFCD84 /* SDLWarningLightStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = C7F1946CC08F687495AC8952148FDAB3 /* SDLWarningLightStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 585A39CE1B2FBAB134F33E5C62BF0269 /* SDLSamplingRate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B5E41247F6CF7B7661B1F482241607F /* SDLSamplingRate.m */; }; - 58BF3FD243BEA54E45F34F6CFF92C1E2 /* SDLGetInteriorVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = C6B7F2821DA9560C9EDF9BD16A9925DB /* SDLGetInteriorVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 58E285F0E01BC736AA8D10EBFC5ACD92 /* SDLFileType.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B027CD6EAB04E5C00EF15FB4C18285C /* SDLFileType.m */; }; - 591E96F2B576D67522B0E4D2D015F582 /* SDLArtwork.m in Sources */ = {isa = PBXBuildFile; fileRef = A0D14FD26D32413C3C8734789689D479 /* SDLArtwork.m */; }; - 59466410E55D765790AB62DD042C2933 /* SDLResetGlobalPropertiesResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = C5E58DD76C9F90F187A1E6D485998021 /* SDLResetGlobalPropertiesResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 59652A9C48FC634348A356AB0D535D10 /* SDLLogManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A862B2341F13D19D9AD5CB93B3F07FB /* SDLLogManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 59A7D98616865E544BB4F5C630297CF6 /* SDLOnHMIStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F513E2AAED88A7F766ADD09025F26B /* SDLOnHMIStatus.m */; }; - 5A7710F79F180A05AF6FE7AB3E5A0924 /* SDLAbstractTransport.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B44A41EB7017D80D5A3002C9A946902 /* SDLAbstractTransport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5AF1EBA29AB4A8847180272F72D31646 /* bson_array.c in Sources */ = {isa = PBXBuildFile; fileRef = AEC45C1E8348204E849603619D2A7E79 /* bson_array.c */; }; - 5B32820C6D5D9747EF1CBE6BBA0851DD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F47CC482639AA5208054B8F2AB0772E2 /* Foundation.framework */; }; - 5C56E7C7E7D6D4ED8DCD3A8D80AEDC70 /* SDLUnregisterAppInterfaceResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 00DE5B28DFC520B8665602996EA86F54 /* SDLUnregisterAppInterfaceResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5CEFC8F2CC20F682DA08AB0081591E29 /* SDLEndAudioPassThruResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 3ECFB961752A6419C9D2AD686454460F /* SDLEndAudioPassThruResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D1BBAF1EEBF97E6D1AB6E5B6C923D20 /* SDLPinchGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EB6C591C906A9C7BC171C9ABFD0A98E /* SDLPinchGesture.m */; }; - 5D75CBE2EF49BA96796A2B13F913B2DB /* SDLNavigationCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = 0407E0DC358DB63B2D2DFDA77732DED6 /* SDLNavigationCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5DF6FE7F5C4EDAD61E81EEA1833D380B /* SDLIgnitionStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 75EE0CDBAFAD51454909052F55FAE9A3 /* SDLIgnitionStatus.m */; }; - 5EB91327C8EE09B2B740FAF8583B2273 /* SDLOnButtonPress.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A1AECCFFD9DB71BA20FF05A4808A0DB /* SDLOnButtonPress.m */; }; - 5EF182623D065946449DB2515ED5556A /* SDLVehicleDataActiveStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 781E3DF3B6A64AACA907945D899C02AC /* SDLVehicleDataActiveStatus.m */; }; - 5F5CA6FC34C6E09BDE7558C176C18A03 /* SDLDeleteFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = E7087CBBF1010C5820AB7D9677BCF73E /* SDLDeleteFileOperation.m */; }; - 6024D472E370E08DA788F1F6BE081513 /* SDLModuleType.h in Headers */ = {isa = PBXBuildFile; fileRef = B6D737CCCB23752D7FBC3C4EECA8A1D3 /* SDLModuleType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 60FD935A7B476F92A6999A3093EEECA1 /* SDLPerformInteractionResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = C29294C933EB3A648D60018E0E24BCA1 /* SDLPerformInteractionResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 616CE188343C6495350857A975FB33CD /* SDLAddSubMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 5775EC56B2A7D567BA0FE1B2C03AE07F /* SDLAddSubMenu.m */; }; - 618557BA3585B306C41287EE7980AFEF /* SDLProtocolMessageAssembler.m in Sources */ = {isa = PBXBuildFile; fileRef = 6352021A7D4EA4E7077D5215856450B4 /* SDLProtocolMessageAssembler.m */; }; - 62CF8427F7C5C666F2593514CB557469 /* SDLReadDIDResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 1828227FBDC6E22503DE1B17E48C0689 /* SDLReadDIDResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63053CDF2834737FE7003B26F10941AD /* SDLDialNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CAB0E27C0D88B69B7F70493BB09E814 /* SDLDialNumber.m */; }; - 6374C5C0B060DE6796E763A43828D321 /* SDLChangeRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C22C1F91769C32F4DCB37816D2AD6C /* SDLChangeRegistration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63EC533B4FD1BF6A3D2759830BE04B66 /* NSMapTable+Subscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = 84703A40ACC0DCD5B02AF51907E237D3 /* NSMapTable+Subscripting.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63EDF78A1C5F2331F66CF104D0E88DD3 /* SDLSetDisplayLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = F9E6D3351DB267564E299AB62BDD4574 /* SDLSetDisplayLayout.m */; }; - 648E7C51348217B726A13171532FF769 /* SDLAirbagStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C0C1896E7E7714C0AA2732EFC990920 /* SDLAirbagStatus.m */; }; - 652AA341FA73DDA721143FF5E87DDD95 /* SDLCarWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = B5C726955CCE1B8987C0D6F46BE4A64A /* SDLCarWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 653E2C4882A9011729B7F689B507AB66 /* SDLButtonPressResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 59E19313C500E3261DAB6D9D3B2B87DF /* SDLButtonPressResponse.m */; }; - 65AB2BD6BC3ECF941286EB8A5236B2AB /* SDLWayPointType.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E7498F486D224EDB17E6631E4E70D7A /* SDLWayPointType.m */; }; - 65E3C64D1FF6444F0B39593FFAD671F8 /* SDLTouchCoord.m in Sources */ = {isa = PBXBuildFile; fileRef = 662BC842200AC1704F2D6D84FD4985BF /* SDLTouchCoord.m */; }; - 6600746AE65233EA5D0A1CF90FBB9629 /* SDLAppInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = BC9BC15FCDA4874E5C1042CCDA58C4CE /* SDLAppInfo.m */; }; - 665DBADF732343985D2B773F628E1AB7 /* SDLTouchEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 5437084BAFF24480C4F48740D45E04F0 /* SDLTouchEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 66E47E7342C7E9A7B6C13521B493FF43 /* SDLOnTouchEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = BE096BC4D2F4B2C3E43BF6C1818A908A /* SDLOnTouchEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 66F6EE9909166C9BA7A2EF9D41DC9609 /* SDLOnAudioPassThru.h in Headers */ = {isa = PBXBuildFile; fileRef = DF146794DD78E6512EC09AD69226C32D /* SDLOnAudioPassThru.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69354F0FE852E1962FC970C60E87D55C /* SDLLocationCoordinate.m in Sources */ = {isa = PBXBuildFile; fileRef = ACFBDD370CA1015DA519E30A614A8982 /* SDLLocationCoordinate.m */; }; - 6945F828403CE48E2CC5D63086C25965 /* SDLLocationDetails.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F834A5E3CBCA128C0FD94297297FDC2 /* SDLLocationDetails.m */; }; - 695AF122D75CB2B3CDCA6509A0142B3A /* SDLButtonName.h in Headers */ = {isa = PBXBuildFile; fileRef = 16DCA08A62D069024CF7031BFB3F7A6F /* SDLButtonName.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 69B976656A16679695401E22F5195956 /* SDLDiagnosticMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BA4B71BD09D466AF2B8A70D4268AA95 /* SDLDiagnosticMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A294A8DF375E80A48E210F90EC76E35 /* SDLTemperatureUnit.m in Sources */ = {isa = PBXBuildFile; fileRef = 02F396E0F7B3A756DB213595E84C7A9C /* SDLTemperatureUnit.m */; }; - 6A4E1F6DC14E73AE017660C74255E0A2 /* SDLGlobalProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC96EDD5C6791AEBA2A7E6295EED71D /* SDLGlobalProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6AB5529F241B7A869137F4E1A5D61BC2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F47CC482639AA5208054B8F2AB0772E2 /* Foundation.framework */; }; - 6B1D4C82AEBA83EBCC2BA42571E66B42 /* EAAccessory+SDLProtocols.m in Sources */ = {isa = PBXBuildFile; fileRef = B90331919932878DA2DD83F05A689E44 /* EAAccessory+SDLProtocols.m */; }; - 6B2D6AE2D6CF500CB7960E251731D063 /* SDLDisplayCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 794E4F5AAF3142A666624BA2B7916F5B /* SDLDisplayCapabilities.m */; }; - 6B36A2BEF03914DDA165B7438355770D /* SDLTriggerSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 91EF37E5584AC78908E392B78DD87216 /* SDLTriggerSource.m */; }; - 6B4D36674AD6375033457B3BEDE15C41 /* SDLEncodedSyncPData.m in Sources */ = {isa = PBXBuildFile; fileRef = D6E3EA6F65F2791258470F3F42459CEF /* SDLEncodedSyncPData.m */; }; - 6B71CAA21166C2406C91330ACD8C944B /* SDLControlFramePayloadEndService.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EC2742BC9AA7945E9F76EBF1D7FF1BB /* SDLControlFramePayloadEndService.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6C4C4671AA586228587482C47E2DBFDB /* SDLShowConstantTBTResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 75D4E0C3BFA03FD2BC5CDAEA77232151 /* SDLShowConstantTBTResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6C554E9A8EFB58DFD53C20DEC7B0A872 /* SDLScrollableMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = E99C28739DF8C2C841D5EA035A4F38F9 /* SDLScrollableMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6D44349FCCBADA4B40204E393B82BB57 /* SmartDeviceLink-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8114BD6937541C9148F31E29F5FDDD04 /* SmartDeviceLink-dummy.m */; }; - 6D97E236D41DE0193E3BBB2422E97DEA /* SDLOnSyncPData.m in Sources */ = {isa = PBXBuildFile; fileRef = 1470E6CE62CFB71BE224D33DF94C68E4 /* SDLOnSyncPData.m */; }; - 6E21847B87C603D9BEF31F937733B1FE /* SDLLocationDetails.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7F20C853BEFCC211DE2A8ED86F0884 /* SDLLocationDetails.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E515702D42DFC6A39636C6947114969 /* SDLSystemCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = 991973F2944238DDD77E719F08652178 /* SDLSystemCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6EF9AAD33C0E5C7183E8A3BF8696909A /* SDLGlobals.m in Sources */ = {isa = PBXBuildFile; fileRef = 40F6334E1786D525B0B7D6D8EE521BC0 /* SDLGlobals.m */; }; - 700CE6BC5F90529F6E5597846FBF4953 /* SDLLogModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E8C048906632D0D18B484223C0C44AB /* SDLLogModel.m */; }; - 701C6C92E38C134E1529583413535838 /* SDLGetDTCs.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D79FCF0941E1A9E98538BFF10734EDA /* SDLGetDTCs.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 703B176CE0CB3143BD78116497E074C0 /* SDLPutFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BFCFDF871DD1848859558893ADB3AA5 /* SDLPutFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 714C8FF3862BCCF80FC4701BAEE2990F /* SDLControlFramePayloadConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 199FB6CACB846ABDDD254A9AFB281FC0 /* SDLControlFramePayloadConstants.m */; }; - 71EB35541307BFE06B02172FEEB78649 /* SDLGetDTCsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F979E60B2948AEE9A7B7A0459FFF705 /* SDLGetDTCsResponse.m */; }; - 72497AFFE5D6CBB7E4D154BF27FEB091 /* SDLSubscribeButtonResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = BC35FFF7507D7A2A32ED161DAC7661EC /* SDLSubscribeButtonResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7265A97E189E59941F1F6B4FA0B0E8BD /* SDLVehicleDataActiveStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 37C5C28CDA66B605D9ECB736DCB57FE8 /* SDLVehicleDataActiveStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 73C18D6113C48735172674483725BAFE /* NSMapTable+Subscripting.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F0BA322D3A336B555F7FAC39ED0CD5B /* NSMapTable+Subscripting.m */; }; - 74845BEE9E12DCC837BC2405D7DCF635 /* SDLDeviceStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 18FE0793A0F65CAF41F3FB4F19ABC6E1 /* SDLDeviceStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 75151ACC3EA78DDDFE1AC4C1F037D281 /* SDLNotificationDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 81AD775CC6BA838A9FD501352580255F /* SDLNotificationDispatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 75967F21F1AA9E3199328E5925B360C8 /* SDLTemperature.h in Headers */ = {isa = PBXBuildFile; fileRef = B084E1560C1B6D2BEC87505924BEC657 /* SDLTemperature.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 760D4C40EA5B283B4BF7544E4D85667E /* SDLDisplayType.h in Headers */ = {isa = PBXBuildFile; fileRef = 24578FC4229D8CE8AB075AB832CD9B3C /* SDLDisplayType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76483DB3860B1B6253ADE6DBCD24C65F /* SDLImageType.m in Sources */ = {isa = PBXBuildFile; fileRef = 478C9CB222C2DAC99B812B3CFC336632 /* SDLImageType.m */; }; - 76722489C4905B0F1F5434AD5608CDAB /* SDLPerformAudioPassThruResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = F934CDF3FFFA2EC765F741CCB8367D1C /* SDLPerformAudioPassThruResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 776208676EB80085371DAAD738CDEDD6 /* SDLTireStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 64572442385935BDCA6F03659D2590DC /* SDLTireStatus.m */; }; - 7855328EB8BCD96186C185EE4CAEC46D /* SDLVehicleDataType.h in Headers */ = {isa = PBXBuildFile; fileRef = 63670F1605DAE47E16806EDCC4AB7E76 /* SDLVehicleDataType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 792DA3E630AE9FBFAE93E58281177022 /* SDLPresetBankCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DEE6BAA6BC0FBBD3F1A54C63A2C1404 /* SDLPresetBankCapabilities.m */; }; - 79DB9C3CC60F1BB8BBD29570674C7D77 /* SDLSubscribeButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B1F6509071D308F37CD572148954D6D /* SDLSubscribeButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A528DA2A5EFD9F1AB514AF34CB8B599 /* SDLRPCMessageType.h in Headers */ = {isa = PBXBuildFile; fileRef = 05360368988BFDBD216B6B16051D63E1 /* SDLRPCMessageType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7AA4D8FB152BCCDA068A71D31AEA71A9 /* SDLVehicleDataEventStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E6BE5540D10D4F014CF916E7E45DDBC /* SDLVehicleDataEventStatus.m */; }; - 7AB034AED1EBE0A551AF02DDA11B236C /* SDLMediaClockFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = EE1C3562DA4E895817279B70AA6EA929 /* SDLMediaClockFormat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7AD2E9E34EDFA0CF7D99D3D4B0D2E608 /* EAAccessoryManager+SDLProtocols.m in Sources */ = {isa = PBXBuildFile; fileRef = B756AA6AAB1C2516F2DD92EF41114E74 /* EAAccessoryManager+SDLProtocols.m */; }; - 7AD4AC01FF1824F40058565BF52DFEA1 /* SDLOnWayPointChange.h in Headers */ = {isa = PBXBuildFile; fileRef = 95E6FC577EA7B751D069C1CFA18B2FB8 /* SDLOnWayPointChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7B05016AD3E87A58F8BF015399367EE3 /* SDLAlertManeuverResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A58B5C37FB37F8DCE1159C33D90DE877 /* SDLAlertManeuverResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7B25F22901CAE43DB1C6A34AB3A88F98 /* SDLRDSData.m in Sources */ = {isa = PBXBuildFile; fileRef = 32A20CC5F367B57EFD20C8BC42AEA7EA /* SDLRDSData.m */; }; - 7B5750A4E0D20410C6B4458FB9FD39DE /* SDLStreamDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B6FDC042AE88B0E930FE8B83C8BCB868 /* SDLStreamDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7C1850832A00D070B9AA9B2E0057F7D1 /* SDLUnsubscribeButton.h in Headers */ = {isa = PBXBuildFile; fileRef = CD733DDDE3AEBCC6D64888B2CB1032B7 /* SDLUnsubscribeButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7C30452E12AA3CA31DE94942D9A753DB /* SDLVideoStreamingCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = E40E5842AACE0BA983D4F40295C9908A /* SDLVideoStreamingCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7C9D7C6C5489B2A3D51A8A4415F65BE8 /* SDLUploadFileOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = E1F60A71792BB10F029D7A5BFB66E483 /* SDLUploadFileOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7CAE7568850D1AA81715A2EF9F9815AB /* SDLLockScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8FAA5413FBCD651DB99D90FBF781F5EE /* SDLLockScreen.storyboard */; }; - 7CB7092B3CA04444BCC5BC65C5CF42E2 /* SDLDIDResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 25D633CC7C011C334D02692E44596FAC /* SDLDIDResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7D0F53729B80BA2F3DB3CE67B31FDC04 /* BiSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 899C97FE0766AFB0F05E53C99055AD0A /* BiSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7D2132459BA16C415FD43C0819EF89C7 /* SDLVideoStreamingProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 22172148DDE5BBB3638404A01DCDD680 /* SDLVideoStreamingProtocol.m */; }; - 7D863A99E5BAC44F139D0224797B35F6 /* SDLGPSData.h in Headers */ = {isa = PBXBuildFile; fileRef = A4A557FE3FB37D862975E8D19941381A /* SDLGPSData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7DDE1A2AAC576A15A4BEC118B61E59A3 /* SDLRemoteControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 79E567D2898847107A68857E93D5588C /* SDLRemoteControlCapabilities.m */; }; - 7E0FB7262E2C8C6E7A506677E7C62B25 /* SDLImageField.m in Sources */ = {isa = PBXBuildFile; fileRef = C1FAB7BFA2474926AA957A26CFFB7565 /* SDLImageField.m */; }; - 7E505F18EAA18F24F6618D05EC56A5FC /* NSBundle+SDLBundle.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D48FD99ED11E20B1757DEA6BE5F209B /* NSBundle+SDLBundle.m */; }; - 7ED18BFD1E021D3607699DA73B49D01D /* SDLAudioStreamManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F496E80D1A66BDAD2176946E26FFDD3 /* SDLAudioStreamManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7ED8C0599CF6C72E7421B8D9FB338337 /* SDLVrHelpItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 109D771F345CEBE486D6E439E7AC483F /* SDLVrHelpItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7EEBCB2D40FE9A263B4EFB3AB6425716 /* SDLCreateInteractionChoiceSetResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = F5A63EF44669AB129E6753145E31FAA0 /* SDLCreateInteractionChoiceSetResponse.m */; }; - 7F08D8B76010248C0DAF80DAE2E3E445 /* SDLOnVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B994AA64B1C6C738969BD16A29C4005 /* SDLOnVehicleData.m */; }; - 7F1480F2CE087DECDE1D79B979478B28 /* SDLTireStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F523DB5C983E20570DDBA8097B5438E /* SDLTireStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 803D239A788961A8B754DE89104191B3 /* SDLTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C37F5BDBDF23293CB75D2002D8E83E8 /* SDLTextField.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 80A4EBD6490754CE899E09ECF5650B2C /* SDLPrioritizedObjectCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = ACEB99E17EF9D3A775AD69F75EC8358A /* SDLPrioritizedObjectCollection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 811DFC190B3ACDD42A1F4A601BE2DEB7 /* SDLShowResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = CE2F18651AECC35D38B1BEB283A90C87 /* SDLShowResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 81D7831BA994B0BA7FE3C5320A1DB419 /* SDLNotificationConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 902E9B90FFA2C83513BDDCE8F591987B /* SDLNotificationConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8217BA29BFCAC494423D1B238011DF23 /* SDLDimension.h in Headers */ = {isa = PBXBuildFile; fileRef = D497E4ED33214A68802A49A1E64764A9 /* SDLDimension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8255EB4658F3F0D103CA41C9D93F5672 /* SDLTBTState.h in Headers */ = {isa = PBXBuildFile; fileRef = B56A48597FE6AA8D82EE6EA20AEADC15 /* SDLTBTState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 82C83C702C0EECAF4017163557F3FA8F /* bson_util.c in Sources */ = {isa = PBXBuildFile; fileRef = E25C567D1352E957417B7E2C2209A6E7 /* bson_util.c */; }; - 83D65DA9A699C43D307A33174FB40EC6 /* SDLSetInteriorVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 062D2E560A780C54A0435216ABA1F08D /* SDLSetInteriorVehicleData.m */; }; - 83D90A5A33B1F2EBE63EAB65C7443202 /* SDLGetWayPointsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = EB8E1206C47BA6119BD6B0B5ECDA589E /* SDLGetWayPointsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 841A684D6FCB5335454A2C6635C6FB6E /* SDLSetGlobalProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B5004A9C982B085E208BC6E8555A22D /* SDLSetGlobalProperties.m */; }; - 8473861CB3E9013CAE648DF721904D3A /* SDLSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = C3FD085710B693C105834DE2FB9B0277 /* SDLSlider.m */; }; - 85068B7D60B01A320A24B5EFAF904057 /* SDLSyncMsgVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B24B8DABBE4A4F41C89A4B776747721 /* SDLSyncMsgVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 853308B26286774A70B8345CB4EA17BE /* SDLCompassDirection.m in Sources */ = {isa = PBXBuildFile; fileRef = AE76335C84DD0DC12B5C81724CC07D76 /* SDLCompassDirection.m */; }; - 857D1EC7E1F610C4EE068DF2D58561FD /* SDLDiagnosticMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 61F816736C706CF9605A674F26A289C1 /* SDLDiagnosticMessage.m */; }; - 86762678031320168AF922A9273ED682 /* SDLDiagnosticMessageResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 7498404FE3F238A8759B47A2368865DD /* SDLDiagnosticMessageResponse.m */; }; - 8698C0133A7E212FDFDBFA19B3C033F7 /* SDLTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = DEF6263B1A353E77CC4628F73D3E8BFE /* SDLTouch.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 86B872BB8571D2AE3CBBE44155E70B49 /* SDLDriverDistractionState.m in Sources */ = {isa = PBXBuildFile; fileRef = EBD04D7DBFAD84BB9A1395D7F768DFD4 /* SDLDriverDistractionState.m */; }; - 871EE873C280B981C5F4CE4075456C6B /* SDLECallConfirmationStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = E380AB39FA8D4B923ECF1024C9FE9C99 /* SDLECallConfirmationStatus.m */; }; - 886232AF91220CE8FFEFB13A9514390F /* SDLAudioStreamManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DFA23CD1DAFC1C6BC1955758781331BB /* SDLAudioStreamManager.m */; }; - 887FF4A00DC05B68431E156987C76DDC /* SDLFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FA68184BE9704D0BD63C8301877258E /* SDLFileManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 88A25EF61522869299028D8EBD36A6D2 /* SDLProtocolListener.h in Headers */ = {isa = PBXBuildFile; fileRef = FA083B3AC5B2D93E21970F3A2625F5DC /* SDLProtocolListener.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 893A5EAEC39B1E8EE9F323D34961E256 /* SDLWiperStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = FFBFF33E31E602CC9F59871BE29D61A5 /* SDLWiperStatus.m */; }; - 8994BDF559FAA02EF208CF2C03925363 /* SDLFile.h in Headers */ = {isa = PBXBuildFile; fileRef = F9CE396C547D0051364D5D99706D3650 /* SDLFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 89983023508938232B5D0D8812A0D63A /* SDLObjectWithPriority.m in Sources */ = {isa = PBXBuildFile; fileRef = 13FCA33B2F9BF733AD5049A9A0780D2D /* SDLObjectWithPriority.m */; }; - 89E5B9C445AA1720CA89835609051F5E /* SDLRPCRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = BB5777D4A90D4F3AC252B9E1ED6AC0AB /* SDLRPCRequest.m */; }; - 89E5F27F92331D4035C0AA82CCE7F280 /* SDLOnKeyboardInput.m in Sources */ = {isa = PBXBuildFile; fileRef = 5ACE94E74A82248ED6444A3D33709558 /* SDLOnKeyboardInput.m */; }; - 89E857EBE1EC5C5BE8CCDCA410EFEA87 /* SDLControlFramePayloadAudioStartServiceAck.m in Sources */ = {isa = PBXBuildFile; fileRef = A4853106AC4173444F1553EE82745CAB /* SDLControlFramePayloadAudioStartServiceAck.m */; }; - 8AFAF86106905A1A1E24149C28D4A9C5 /* SDLOnButtonPress.h in Headers */ = {isa = PBXBuildFile; fileRef = 69EBD116A26FC17AD429400D0A618704 /* SDLOnButtonPress.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8B4584BEB6B76D4A75427EAF55F7AE3B /* SDLViewControllerPresentable.h in Headers */ = {isa = PBXBuildFile; fileRef = 56883D1F6F9C3C9A655CB9AFA7C1010D /* SDLViewControllerPresentable.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8B9B51509103AA3B8014C04BAF0AAD0F /* SDLPCMAudioConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 12806899D2732239201909244060B773 /* SDLPCMAudioConverter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8BD712E5E95D2F560FA237E4458C8337 /* SDLAlertManeuver.m in Sources */ = {isa = PBXBuildFile; fileRef = 5946BE7191AEE6E391DD782253C78A30 /* SDLAlertManeuver.m */; }; - 8C0405B8A2F2BCEAED4DB043ED673625 /* SDLAudioStreamingState.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B0E10D3001CE935F56EAB791EFC462C /* SDLAudioStreamingState.m */; }; - 8C6D09960AD4258C1FBEAD9661CEE7B2 /* Pods-MobileWeather-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F54C04F38D1176A1FAF7CBD92E0BA173 /* Pods-MobileWeather-dummy.m */; }; - 8C80B0FB9337CA2FA449CB4C632E4B7B /* SDLHexUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B1825059712D681281C17D17533E154 /* SDLHexUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8CDC9C059EC9FC7FB32D58D173B0AEEC /* SDLVehicleDataNotificationStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = C3F09F373BFB192C2F1E3AAE8AC1F912 /* SDLVehicleDataNotificationStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D65C3F52C131695E2029E6CE4FEA9D7 /* SDLHMIZoneCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FA174FC6844D237017DFCC6F7588BB5 /* SDLHMIZoneCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D73A3A741FAA990ED1A176FE7BB1F4D /* SDLV1ProtocolHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 50FC7E3E6AEFE13CAB2BAE51F0133D79 /* SDLV1ProtocolHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8D906B90FA650A544E2901AEA114B068 /* SDLStreamingMediaConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DAC13B2BE5F1E106E45714D16ED761F /* SDLStreamingMediaConfiguration.m */; }; - 8DA880DCDE62B93A8B72040B2F3D6DE7 /* bson_object.c in Sources */ = {isa = PBXBuildFile; fileRef = 8BA9389ABFFD44D4D2E07B5B8A355E9C /* bson_object.c */; }; - 8E087E661AA213DC0F0643C1D46A3719 /* SDLMediaClockFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 14A39892ECE8CDE25EE5E66FF11A8268 /* SDLMediaClockFormat.m */; }; - 8E1E2500CCB03FC3BF1A065B1A3E212D /* SDLDeleteSubMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = A8F98020D4C0292E2DCFF8ADC29E2E6A /* SDLDeleteSubMenu.m */; }; - 8E2185BC7723A476EDBC120E69E49E23 /* SDLSetGlobalPropertiesResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 21B95BFFA1D2FC2CA4FA1CA8C99D1674 /* SDLSetGlobalPropertiesResponse.m */; }; - 8E4D310C8C9D9E783133BD7BDB4E55F5 /* SDLOnAppInterfaceUnregistered.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DA7402942894690DDC3563211F92896 /* SDLOnAppInterfaceUnregistered.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8E5D2D77F72E9B7CF984CBC1DAF78232 /* SDLTouchEventCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 580439BF85B982267E0BCE9CC03E763B /* SDLTouchEventCapabilities.m */; }; - 8F57CB691E04D14E7B5F97E647997273 /* SDLH264VideoEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 526C0D5B1B91B812A0896D5395EC2CCF /* SDLH264VideoEncoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8FA13C2FFB71A1A803D4927FC354407A /* SDLOnInteriorVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E75CC33FE2DE3715B200C05899C0910 /* SDLOnInteriorVehicleData.m */; }; - 8FB91F60F79A4600426A494E27C138F1 /* SDLTextAndGraphicManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 58E8D2BA0D081CC8AE13BF8F68CAF873 /* SDLTextAndGraphicManager.m */; }; - 901E09F6B92B67ED7E15CD9F6C50D8A2 /* SDLReadDID.m in Sources */ = {isa = PBXBuildFile; fileRef = 2830EC5AFC0ED57C2180218CE41E6859 /* SDLReadDID.m */; }; - 9044EC7BBBDA03C28494B9714040676A /* SDLOnLockScreenStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = BF2BEF821FF149BBA87439E8FA2B0C6F /* SDLOnLockScreenStatus.m */; }; - 9073A199D92DCCAC108DE35CC49AD7A7 /* SDLGetInteriorVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = F6CDD763187AAED19EBBA793446B6710 /* SDLGetInteriorVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 908D6B968BBD0BF76BA9AA3BEB702FE2 /* SDLHMICapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = F3BD2463732FE6741B7C7C37D48A6EFF /* SDLHMICapabilities.m */; }; - 90D5A5F05A1ABD20D00B0A8292EF2B8B /* SDLControlFramePayloadNak.m in Sources */ = {isa = PBXBuildFile; fileRef = 0586F93ECA123154ED03417956F211C5 /* SDLControlFramePayloadNak.m */; }; - 91262740E6BD57E3B569279B62969104 /* SDLControlFramePayloadRPCStartService.h in Headers */ = {isa = PBXBuildFile; fileRef = DB9EEE3EB3BE1145C1607125D2BE55E5 /* SDLControlFramePayloadRPCStartService.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9180E1E2116376D8FCAB961519CF02C6 /* NSMutableDictionary+Store.m in Sources */ = {isa = PBXBuildFile; fileRef = F1971DBC4CAD14FBA85B5D7067A66E58 /* NSMutableDictionary+Store.m */; }; - 91A79F75D98440765EF2F8D914005139 /* SDLKeyboardEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = E82CF9B602124E1C294DC38FEE30779D /* SDLKeyboardEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91B3CDF90FE5087D4342103FA53EBF39 /* SDLManagerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 98DAD9FE95481ADED5434776912E1BAF /* SDLManagerDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91EA354721AAF369FA528ABD475BEBD1 /* SmartDeviceLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BF6EFC40BCE934E9D9654B590153BA5 /* SmartDeviceLink.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91EAB06AF9D88D71D9A3DC75AABAD5BA /* SDLAudioPassThruCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B8523BC9B75465B482626AEC33618F /* SDLAudioPassThruCapabilities.m */; }; - 922F02064AB9F18065C384974E98E213 /* SDLScreenManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FA166A0A249F11380A2937001B1E54C /* SDLScreenManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 928AFD354C94A803394A53271A6A766A /* SDLClusterModeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 745FAB4FC4B2A411CF338A511FB92139 /* SDLClusterModeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 929695C9D4973F3FD295EC241186B2D3 /* SDLRegisterAppInterfaceResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C23A20ACE6CC1EF7A6BAECD0E52500EB /* SDLRegisterAppInterfaceResponse.m */; }; - 92C4766B3382DBA0FB973821427D0A3B /* SDLTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 79404B005DE1EE2E2B4561041CC2A325 /* SDLTimer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 934F898CC2890876C426C1A6E9CA9633 /* SDLOnLanguageChange.h in Headers */ = {isa = PBXBuildFile; fileRef = A86748AE714AC4575DE6AE50E7D3A117 /* SDLOnLanguageChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 938C3264372A35DAC5C3A58EB962B29B /* SDLRegisterAppInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F8D935F0C6DEB72315E8D89BEE5AE17 /* SDLRegisterAppInterface.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 93992A0D2F65B922B3E5A7E6EAEDBB17 /* SDLRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = 12CB886AB9A59A71F742BCA0ABDF564A /* SDLRectangle.m */; }; - 93CC765B1A261F66571522BC05EA94EA /* SDLPrimaryAudioSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5E61F442E303770E636EE3B5EADC05 /* SDLPrimaryAudioSource.m */; }; - 958BBA03A66F4544E5D0B2FACE55AFF5 /* SDLTextAlignment.h in Headers */ = {isa = PBXBuildFile; fileRef = D92D71F62186AE67632BFEFBB0C65203 /* SDLTextAlignment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9638A2B8DCC8F94FCB32EEDB97FB5E3A /* bson_object.h in Headers */ = {isa = PBXBuildFile; fileRef = 28C429A6BDDC66CA37C80CF94B151E8D /* bson_object.h */; }; - 96864A06FD9584B0A4F897DB50C52558 /* SDLOnVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 37BF1136198FB6011B50AE0C73495869 /* SDLOnVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 97478A3DCECC84DACD5E8DEC0E35EBE6 /* SDLLockScreenViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3703B9758F7AB59DAC77986B0651007E /* SDLLockScreenViewController.m */; }; - 9804F2E736D07A2BD2B6267DF14BB2CC /* SDLKeyboardEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = C8F997D3DCE393AA4F534F35A291E89A /* SDLKeyboardEvent.m */; }; - 9849FB6B402CD9CD8C1812BB2922D555 /* SDLRAWH264Packetizer.m in Sources */ = {isa = PBXBuildFile; fileRef = CB65C81089EF0BFE31D28C1078027F86 /* SDLRAWH264Packetizer.m */; }; - 9862D812A5A8C867067F88FBDF0A2703 /* EAAccessory+SDLProtocols.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E7273A0AA13BD481371B75380365962 /* EAAccessory+SDLProtocols.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9882F18A764CE5B25B4B8AF0D98BE599 /* SDLPerformAudioPassThru.h in Headers */ = {isa = PBXBuildFile; fileRef = 23FA0B714C5E990E52E5745B13EA8671 /* SDLPerformAudioPassThru.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9889FDEAE49DAA1ABA72F2F3A3BE977B /* SDLPrioritizedObjectCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = 82C4580589E882BFE10A61AC225871F8 /* SDLPrioritizedObjectCollection.m */; }; - 98F25DDA1285871BD9D516AFDE47F4EF /* SDLResetGlobalPropertiesResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 1813FDE135A2B9042E988756C1C42246 /* SDLResetGlobalPropertiesResponse.m */; }; - 990DA901ACFDA1C941F45F12321D15D5 /* SDLLogTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EFFA91E2CA66F631E5E2E51346C57D0 /* SDLLogTarget.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9938C84837C21E0A1C3A9E6BBCB3DCB8 /* SDLComponentVolumeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = D015AD0243666FD47AD1932EB871E69C /* SDLComponentVolumeStatus.m */; }; - 994515EDF221CA4ECBB700CC1605EEE8 /* SDLErrorConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 445DC39371A22A05186CFEFD919EF6A6 /* SDLErrorConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 998F583BB6EE7D441B9FAD737888BBB0 /* SDLLayoutMode.m in Sources */ = {isa = PBXBuildFile; fileRef = B3B9217762C0EBA9B4DB8E1EB2B837DC /* SDLLayoutMode.m */; }; - 9A1918CD3DE3EFAEA062C874138A8700 /* SDLBitsPerSample.h in Headers */ = {isa = PBXBuildFile; fileRef = CB4BB9D646CA8516EA4E7AF4997635D8 /* SDLBitsPerSample.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9A3F6C8C67BC957B89680A8DB8D7E27E /* SDLProtocolMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2718EF42789C67C821B44ACFCF3964C0 /* SDLProtocolMessage.m */; }; - 9A60AEA85DFD7A2838FE534673AE02AC /* SDLScreenParams.m in Sources */ = {isa = PBXBuildFile; fileRef = 2253AE024F5A3C69428D500E71913DA7 /* SDLScreenParams.m */; }; - 9A7FD1BFD3FDA5F4E9DCBE4BB73799AF /* SDLDeleteCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = EFB9F9609C22E4B7BF9D0005B62721A7 /* SDLDeleteCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9AC54BAE0A5AC25D406314DFC8965A43 /* SDLControlFramePayloadVideoStartServiceAck.m in Sources */ = {isa = PBXBuildFile; fileRef = F6566A6CDA8E27E6B4477B1EEA6051FA /* SDLControlFramePayloadVideoStartServiceAck.m */; }; - 9ACD9477742461D08D29A397D6A67947 /* SDLDeviceLevelStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B206FE937C25674755F2EA4E3C49E6CF /* SDLDeviceLevelStatus.m */; }; - 9C595563C8F980919C83BA275444FE16 /* SDLDeleteInteractionChoiceSet.m in Sources */ = {isa = PBXBuildFile; fileRef = EA6281E5316B7000463004960C9B1502 /* SDLDeleteInteractionChoiceSet.m */; }; - 9D2B5BC81F36332FAA2C687D2C6D8191 /* bson_array.h in Headers */ = {isa = PBXBuildFile; fileRef = 41DCA419DC4D4AAED1CDE67A6C2DE475 /* bson_array.h */; }; - 9D334A08B6011418489956A4AC0D0054 /* SDLLogTargetAppleSystemLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 210741B106D84E890EFB95BBE1D639A2 /* SDLLogTargetAppleSystemLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9D6A27E7CAA3E1F94B994EAB8044C6F8 /* SDLKeyboardProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 1027A56B25B8389BA04979A6183D874A /* SDLKeyboardProperties.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9EA3E158007BEA9CBE78FB20E8C254E2 /* SDLStreamingMediaLifecycleManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F42BBD650C7CC3DEBE8CD308BB39AE5E /* SDLStreamingMediaLifecycleManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9F437C808E783E559B43FDB7BA7F99F6 /* SDLMaintenanceModeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CE93CBBC2E8FB92B9FA025A704C6FE4 /* SDLMaintenanceModeStatus.m */; }; - 9F58C7965F83DA1D79AE16D7B65181E3 /* SDLHMICapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 252DC8F7CF4330A783C77B937384C378 /* SDLHMICapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9FD366D86FBBDD64D633A1D8328B2B3E /* NSMutableDictionary+SafeRemove.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F75658478FF3D8638EF94C9CC553F49 /* NSMutableDictionary+SafeRemove.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9FDC76E7A752C00FFCF5A73C2EEE92B1 /* SDLTextAlignment.m in Sources */ = {isa = PBXBuildFile; fileRef = A839052D9BB7035556194D563F964883 /* SDLTextAlignment.m */; }; - A0937F5D30D0F301A1DA1E10F2E7BBAB /* SDLKeyboardLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B3E0EA8EE62C7B1FF9C5F15AFB0BB62 /* SDLKeyboardLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A12D24FBE0BE5032A956B247B70F1AEF /* SDLAudioStreamManagerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 079F4356A3B792B0143EFE19DBE61DE5 /* SDLAudioStreamManagerDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A1AD49ACF31F6F3727CB8F624306B890 /* SDLGetWayPoints.m in Sources */ = {isa = PBXBuildFile; fileRef = 044C100D99D19EB6AF7709EA9D102779 /* SDLGetWayPoints.m */; }; - A1CFAB8F8C97AC658E9A135FCD702D0F /* SDLSoftButtonType.m in Sources */ = {isa = PBXBuildFile; fileRef = 82777BC1BB66CBF16EAE9FFB7FC63A64 /* SDLSoftButtonType.m */; }; - A1D19A2C1D37877C39767B7082D57B83 /* SDLOnSyncPData.h in Headers */ = {isa = PBXBuildFile; fileRef = 636CDEFCCAD080870E926C7B94C1E1D5 /* SDLOnSyncPData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A1D6604CAE29023FB0EC0907592ABD63 /* SDLTurn.m in Sources */ = {isa = PBXBuildFile; fileRef = AB82DAFB98C6D2AF057855FA35A47B95 /* SDLTurn.m */; }; - A202D237F3A42AC1FC56B55AD027FC92 /* SDLButtonPressMode.h in Headers */ = {isa = PBXBuildFile; fileRef = E310AF9328DB666DC0467DC4EB8721B2 /* SDLButtonPressMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A22C5D48CF4C964A497C53261DC379B2 /* SDLSetAppIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 340024BC94E6DDDF4E4B93748671B3DB /* SDLSetAppIcon.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A23DFB6072BAF60BBBA83587BAD0EE01 /* SDLDeleteInteractionChoiceSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 9570FE2694F7DD9F9D9551BCAF47A0FD /* SDLDeleteInteractionChoiceSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A2D6B9CC30DAEEB15CB20FEBE09245BF /* SDLStreamingAudioManagerType.h in Headers */ = {isa = PBXBuildFile; fileRef = A4EAC891434B1BC8BAE4F1E0D571E5A6 /* SDLStreamingAudioManagerType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A2DFDB17EBDADC3EBE24C342A8191E7B /* SDLChangeRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA7A8B50FE903F4DB6A1A8F4DD0A2C6 /* SDLChangeRegistration.m */; }; - A32D1FEF7E085D99A2E2C4919AF947B0 /* SDLAppHMIType.m in Sources */ = {isa = PBXBuildFile; fileRef = 94ACACD6E20B6C74C4E98F979C206B2C /* SDLAppHMIType.m */; }; - A37AF6950F418DDB02CA0752652D479F /* SDLWarningLightStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = C6FD7D83674513A07AB93F849ACFBABF /* SDLWarningLightStatus.m */; }; - A41C6CABA9BC402B67069F923FB5E8EB /* SDLMyKey.h in Headers */ = {isa = PBXBuildFile; fileRef = E7098329CBB9710CE2061A45D4505B5F /* SDLMyKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A4A89672DD9B34FD77CCF091D837D1D8 /* SDLManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 82BD68DA995747A7C868ACF2EF7BC39F /* SDLManager.m */; }; - A4BFADCC37A71A54959FC867DD4F46D0 /* NSNumber+NumberType.h in Headers */ = {isa = PBXBuildFile; fileRef = DF7F7B73BB766A6B1B0AC928F34DBEED /* NSNumber+NumberType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A55E01F0281407AD73155C9135F95AE1 /* SDLSystemRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = B0E8EB800FB1E72CD634BB9588F71B6E /* SDLSystemRequest.m */; }; - A5AAA9A4F255470476BBDF2D3EF361B2 /* SDLHapticRect.h in Headers */ = {isa = PBXBuildFile; fileRef = 737BA4740552F3A781A7496F8FEFC96F /* SDLHapticRect.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A5D8F53C31CEA251D6177ACEE5C0E3A6 /* SDLLogConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = B284811B4E67CC3BCA6ABEDE9DF81B38 /* SDLLogConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A62F11A0555BF1FB238D983575EE2275 /* SDLLockScreenStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 774101501AB8DD1203D4CCEEBC4C83CD /* SDLLockScreenStatus.m */; }; - A6B07EC2A552D4C3CE7E38B7B52F0AA0 /* BiSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BF2DD2F14E29C5B4BD8772F8D8D0D5E7 /* BiSON-dummy.m */; }; - A6C8139D98FA7E91B490EAF796D40680 /* SDLAddCommandResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = EEFD2066E52DD602AAA575BDF9055F16 /* SDLAddCommandResponse.m */; }; - A70E728EC980C5C77210BB1AE1118A42 /* SDLButtonEventMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 88587DAE691BD3C101E6EE08D16CCAB0 /* SDLButtonEventMode.m */; }; - A769EC6DBCA2608C784FD897D23EFC63 /* SDLEmergencyEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 63A5D5482CF827BD4EC3B36E27CA5C58 /* SDLEmergencyEvent.m */; }; - A7D5EB69E0188B1E559E5A58B41F67AA /* SDLSetAppIconResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = F4D5A5FA278FF82624055660881C5214 /* SDLSetAppIconResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A81A3B889FD5505989F2633B5660261E /* SDLVideoStreamingFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 7325C3A452121A95EFC7C4395A1954F8 /* SDLVideoStreamingFormat.m */; }; - A8351D732EE39A2E6A4BF0961CD4DCBB /* SDLSingleTireStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C77552CA19358DD239D278D8FFF110 /* SDLSingleTireStatus.m */; }; - A852CEB6D68DC0D471A4B568CCFEFC02 /* SDLSliderResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 20C9E4BBF403F5CCF04DA342EEF19F68 /* SDLSliderResponse.m */; }; - A85CB12D7201817A8F9D2AAD9B2BB4C5 /* SDLTextFieldName.h in Headers */ = {isa = PBXBuildFile; fileRef = ADE618DDCD64E432369A8D2AA9580F8D /* SDLTextFieldName.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A88006A19E9F50074F010077009F1F4E /* SDLV2ProtocolMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E0247AB97FEDAFAEC256031CE6C6ADF /* SDLV2ProtocolMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A89EF60A7226B7A011CC4EFD4E88BD86 /* SDLDisplayCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 9910445C0F0CD716DA827FF79816078A /* SDLDisplayCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A90B4AA7B4152645AA23941BF98FEF17 /* SDLKeypressMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 257329262136BA147919B83BCF64C4B1 /* SDLKeypressMode.m */; }; - A98AD56EC493E33E453542542F9CD849 /* SDLProtocolReceivedMessageRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B3E9CD9ED425DD412AD42B3F6F881AB /* SDLProtocolReceivedMessageRouter.m */; }; - A9911199231248E939930E9C8549DE39 /* SDLStreamingMediaManagerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = F0120A7DCE5397980E026857907343F3 /* SDLStreamingMediaManagerDataSource.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AA422A2B67730CACA662512B0C068A8C /* SDLTouchManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A260C4C55BA2CE11D5F3E34F5957876E /* SDLTouchManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AA5C7D2F738E6366D4CB2DC700C6F85B /* SDLBodyInformation.m in Sources */ = {isa = PBXBuildFile; fileRef = FBA39F7D420B73EFD2A1990103298EA5 /* SDLBodyInformation.m */; }; - AB5A09233C892C63067F08EF878A6151 /* SDLLockScreenStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 22B6CB0C4D0117D47A6314066A263AFC /* SDLLockScreenStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AB5D5BDA5950120A78ABEF023543D1FB /* SDLLifecycleManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A678843C347F401D27E67837B61C71 /* SDLLifecycleManager.m */; }; - AB6138F2174354904A9AA154E2DF687A /* SDLClimateControlData.h in Headers */ = {isa = PBXBuildFile; fileRef = B25A1E9589F23622CFC291E01E8D765A /* SDLClimateControlData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AB6AB27FDBCA1146286B9BF77E56955E /* SDLUnsubscribeVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = F9E2F63C4738B8962C061C08D6CDE3D4 /* SDLUnsubscribeVehicleData.m */; }; - ABE2E3B3F9BD2CB435F0AF23F82BBD76 /* SDLOnKeyboardInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FBDB88EC00A2EFA64BD4043AF78CEE6 /* SDLOnKeyboardInput.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ABFA1BA57931C7B65A495698CA38B8EA /* SDLProtocolMessageDisassembler.m in Sources */ = {isa = PBXBuildFile; fileRef = F1CE8E38CC0A35EB034CA9B426FABE32 /* SDLProtocolMessageDisassembler.m */; }; - AC49489F6A43B31A1D899D1196EF244D /* SDLRPCResponseNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = B39C7236DE04FBFFC3EFCAB3EB27530C /* SDLRPCResponseNotification.m */; }; - AC66A89721309F92976C4AEA5887A3E5 /* SDLFocusableItemLocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 71395EB3E9F6449AD408F7588CCB200A /* SDLFocusableItemLocator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ACD6B45E34CAD88921556E5E89ACA922 /* SDLNotificationDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = BC6C2D8AF68DD7068995D48B62C12765 /* SDLNotificationDispatcher.m */; }; - AD263F11E536F3446FFE7FE67983793F /* SDLSetMediaClockTimerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = CD228584A7AA79264BA0DE0498BE34B5 /* SDLSetMediaClockTimerResponse.m */; }; - AD92A73C89F0BF3DED8FAC6804FC5DA6 /* SDLOnSystemRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EAA9AEED38B458DE1C2290D95AAD70E /* SDLOnSystemRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ADAF9699ADB8665AE7966BDF1DC5C64C /* SDLEndAudioPassThru.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0BB33A24A0B55AE569C740921E898E /* SDLEndAudioPassThru.m */; }; - ADBEE90BFDA35948CF4BB1DA90AAAADD /* SDLDateTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B81D78EA8AD03A18D016D55E2B58E33 /* SDLDateTime.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ADC65E1F9435FB518E9D4307EC8BD9E6 /* SDLControlFramePayloadAudioStartServiceAck.h in Headers */ = {isa = PBXBuildFile; fileRef = CFF0A25F0ECD4748F74D123757210B63 /* SDLControlFramePayloadAudioStartServiceAck.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AE2C5A4BD3506D741A36F2FE37E8AAF1 /* SDLSystemRequestResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B8D35ACAE0FE44EF863673668596E12 /* SDLSystemRequestResponse.m */; }; - AE3931318E806F620BDD72E4555122C4 /* SDLBodyInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 547874616D7508E1585E0B25E418ED52 /* SDLBodyInformation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AE4DCF18021052FA8A304478C3198958 /* SDLAsynchronousOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = B314827C05C6F05646F8C1EA76E1C0FE /* SDLAsynchronousOperation.m */; }; - AEE0AACF38D2B7447A5008ED33FD97A7 /* SDLControlFramePayloadVideoStartServiceAck.h in Headers */ = {isa = PBXBuildFile; fileRef = 80303963962D50249F37233AFBBA124F /* SDLControlFramePayloadVideoStartServiceAck.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AF033E7FBA166889C57E947A2D0FEEDB /* SDLSystemContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EB56D7361610FAED89F71A2AD0097FB /* SDLSystemContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF33BB1004F89A461B2917EB6BF7F9F1 /* SDLLockScreenViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B2363D20AFD58BFCA8E12F530E35FCE /* SDLLockScreenViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF5D6DF73A994A56D9A2FE506A961344 /* SDLSystemCapabilityType.m in Sources */ = {isa = PBXBuildFile; fileRef = 875C540740F5214AF0FB7898ECF10CB4 /* SDLSystemCapabilityType.m */; }; - AF756134D98536382CC8E023A550BF7A /* SDLPhoneCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = 259E96890EF81893DE3265CB54F3E052 /* SDLPhoneCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF82B4A2324D4AF6CDBCB9E7FB84BD0E /* SDLVideoStreamingCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = AF83E2E0F441E0D07FDE9F36E0E32671 /* SDLVideoStreamingCapability.m */; }; - AF9AA3EDD4471FF420FE44DF4BA82A0D /* emhashmap.h in Headers */ = {isa = PBXBuildFile; fileRef = D4C6F6B4C3FEC0D2F83C8EC8E6C85166 /* emhashmap.h */; }; - AFA9FEC7F37D1DEA16BF6D107C6A55D6 /* SDLProtocolMessageAssembler.h in Headers */ = {isa = PBXBuildFile; fileRef = C1D36A8B72729B926D8F8FB48064F7AB /* SDLProtocolMessageAssembler.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AFB236082A773CE225003C02C87275B7 /* SDLDeleteInteractionChoiceSetResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A4DE8F4F926F1544B1408A6C17006500 /* SDLDeleteInteractionChoiceSetResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AFE0C04D661A804486392338AB27F2C7 /* SDLUnregisterAppInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = C22E151CAF06116259FCA8684ECE61C1 /* SDLUnregisterAppInterface.m */; }; - B080321BD2C525B07946369DBB3C3C8B /* SDLPermissionStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B09B33BFFA0755D53BE8B3BA612BD0F7 /* SDLPermissionStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B0920201129A3247A502EE5A4C9F5BB9 /* SDLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EFF23A37AD7FA9F2937E9E4EA1C4EA1 /* SDLProtocol.m */; }; - B12BC796E425B1DB657A364E2E7AA398 /* SDLPermissionItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD7854ADAADFA7EAD4ED7DBFC5337E4 /* SDLPermissionItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B12FB9A5EAE272FA13B53B5F6B25C16A /* SDLRPCMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = B878213129C7888C31E8882BE4F18A5D /* SDLRPCMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1F874816E646C7E83BC0788C3E5ACD5 /* SDLVrCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 469F5C20EDBCB421DE25EB4DB9876540 /* SDLVrCapabilities.m */; }; - B23257CB067B4F782757E13E28E26AD7 /* SDLHeadLampStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 128001C01EDA9F7D890918A0A4FCDB12 /* SDLHeadLampStatus.m */; }; - B26C0CFAFE5222432AA4F277753E0C72 /* SDLUpdateTurnList.h in Headers */ = {isa = PBXBuildFile; fileRef = E475879998C5235EBFEA675E6988BF79 /* SDLUpdateTurnList.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B26F82EA1568AE3ABC6B2E14570B9F03 /* NSMutableDictionary+SafeRemove.m in Sources */ = {isa = PBXBuildFile; fileRef = B792AFA7FFAD02CA7DB4753C054FEFE0 /* NSMutableDictionary+SafeRemove.m */; }; - B27D5FD57E5727B5AF4B62ED413926E2 /* SDLSendHapticDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B2A5889FA02871B1B243AB7408A3995 /* SDLSendHapticDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B2AC0A27C4D77F062AE0A37B305CDE2D /* SDLGlobalProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 23AD8AAF519200235AA3D890642B861B /* SDLGlobalProperty.m */; }; - B2B665ED1BE79A632BD101AA59AFCD0E /* CVPixelBufferRef+SDLUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = DC3D5A1C9A675BC2E3145E0FA8547B67 /* CVPixelBufferRef+SDLUtil.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B458169A7331D8AF756F61BE9BEACFF4 /* SDLSliderResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 16DA2580FF2548CD4B33BE4B2539F462 /* SDLSliderResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B460EE6DD6F746E659B036949D433DBE /* SDLAddCommandResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DAC1721453D27CE326FE59F8878FEE1 /* SDLAddCommandResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B4A7CC625BAF5CDA0CAF262F6E3D6FB6 /* SDLUpdateTurnListResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = F8613F49B10EA7B465D8D49A9DA3B557 /* SDLUpdateTurnListResponse.m */; }; - B51EEEDD2FDDA653A9BA816DB2A1E6EA /* SDLRadioControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = B636CB6D6237A428F15EBA157016DFFF /* SDLRadioControlCapabilities.m */; }; - B57A0907CE76F1D832744DC907DAFCFE /* SDLHMILevel.h in Headers */ = {isa = PBXBuildFile; fileRef = D6B576AD44FD1BFA75E6B936B1D8567B /* SDLHMILevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B58742B511C7999F21673451CF3B16E1 /* SDLTouchManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A965CE0A816AFDD3BD8D2E6D703F7990 /* SDLTouchManager.m */; }; - B5BC9A4C63ABD1FFA7E072C553A65552 /* SDLAmbientLightStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = A9BBF9B6E369397E61060BC0B878C8C8 /* SDLAmbientLightStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B75EA68A0E58DA33E2A9D7BE96549D1F /* SDLVideoEncoderDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E7016F7FE3A9B6081341694937DF158 /* SDLVideoEncoderDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B79B45C3A252A9357DB77A2B12ABEE79 /* SDLAlertManeuver.h in Headers */ = {isa = PBXBuildFile; fileRef = 25741A09C3513698722EBF06F0E26ADA /* SDLAlertManeuver.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B7C22FCFFC4217E68CFD03F6247D897B /* SDLPRNDL.m in Sources */ = {isa = PBXBuildFile; fileRef = A610B25D99CB197E115FCCDF5EAD36F6 /* SDLPRNDL.m */; }; - B8077C9EC92BFA0A5EBA25364442E310 /* SDLTBTState.m in Sources */ = {isa = PBXBuildFile; fileRef = B6AE4D868EB4C86BDB7631434D122BD4 /* SDLTBTState.m */; }; - B80E51E73D3E925A79C15CD183DA4EF6 /* SDLRadioControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 78C391ECF5B04985FE2694E9E705EB0D /* SDLRadioControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B8864C3573E5A20652672FB499292C94 /* SDLFileWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A6979C897AE60F07F2C41CF4F776B50 /* SDLFileWrapper.m */; }; - B8C0FB228F68CBBBEBD9A42D3BDC2ED0 /* SDLPermissionItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E13F86572A5BE9B01361212CCAB6229C /* SDLPermissionItem.m */; }; - B8D9658DC65C6DC891F8AF6F045C5FD1 /* SDLSoftButtonType.h in Headers */ = {isa = PBXBuildFile; fileRef = 23E0A9FD3D82D4A5C58944B744974063 /* SDLSoftButtonType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B90F532639D1508A3D7EC82ADA97756B /* SDLUpdateMode.h in Headers */ = {isa = PBXBuildFile; fileRef = E374E7528E73DAAF629C6DB660B52FD8 /* SDLUpdateMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B921EB8CC963FAF378744B9DD3E0793C /* SDLAudioType.h in Headers */ = {isa = PBXBuildFile; fileRef = D6EA8ED7910972274124392807D6699A /* SDLAudioType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B94903E77F7FB5A9E467D079D970A82E /* SDLEndAudioPassThru.h in Headers */ = {isa = PBXBuildFile; fileRef = BC328745528D6947708B34BCDC4B25E9 /* SDLEndAudioPassThru.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BA54DB7090CC77BC27AA6D4A412A2F40 /* SDLOnCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B6B596718E48835DC7485622E9E6536 /* SDLOnCommand.m */; }; - BA81EC285E30CE452FAC16201173A8AE /* SDLRPCResponseNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F22DECBE9B7CA0C32363768410D3635 /* SDLRPCResponseNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BA89B8B31A2D745873A66A68B0E9A489 /* SDLHMIPermissions.m in Sources */ = {isa = PBXBuildFile; fileRef = BB7799F1427058BA351A0944D9735170 /* SDLHMIPermissions.m */; }; - BAA7244F886EEE228F6149174F359137 /* SDLGetWayPoints.h in Headers */ = {isa = PBXBuildFile; fileRef = 94053D106AE9B7BA6CE7678BBBD0E282 /* SDLGetWayPoints.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BC63447E73F158D89802B9F82DD97B07 /* SDLOnDriverDistraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 8ACDD497B27A6C8A00EC8DC87BFC9DE2 /* SDLOnDriverDistraction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BC734852C46625C920B2173E30700AE7 /* SDLFuelCutoffStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 3199E68AFFFCE3F4F52DED5B530F231B /* SDLFuelCutoffStatus.m */; }; - BCD431EC0EC25606AC5214248221FAC2 /* SDLSetAppIconResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 0603A01815FE626CE53E9AACAB91D848 /* SDLSetAppIconResponse.m */; }; - BD0D879F39F94A32F7C8B78AFD2B02E5 /* SDLChangeRegistrationResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = CB94694550D361EA13FBCE3A1216ED85 /* SDLChangeRegistrationResponse.m */; }; - BD4A9A955B57529EB63C6DDB85C46CB2 /* SDLShowResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D6D1E05C73FC5CA88E3045E85BFC76E /* SDLShowResponse.m */; }; - BD6B9E82216CD15117A4F481B4690E2A /* SDLLockScreenPresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = C43CB0DDAB5A3AAD09CBE4EAC6F337A8 /* SDLLockScreenPresenter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BDBD97323ABBA062255FFA258C3E8ACB /* SDLFunctionID.m in Sources */ = {isa = PBXBuildFile; fileRef = EE35E9F428033D9EC428FEB668D4F46E /* SDLFunctionID.m */; }; - BED5A02DDEB894FE449E3019C371EC84 /* SDLLifecycleConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = B8D720496413112E52B1E461D8F59198 /* SDLLifecycleConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BEF36649C9089542940B5CFE52B432EB /* SDLPolicyDataParser.h in Headers */ = {isa = PBXBuildFile; fileRef = CCF3A4332A96FF6360B081925786E934 /* SDLPolicyDataParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BF71D81D425BBD2663F60FE3ABCD8A3C /* SDLRAWH264Packetizer.h in Headers */ = {isa = PBXBuildFile; fileRef = C26C7F2CF247BEB0F70B55CBF2550147 /* SDLRAWH264Packetizer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C007ED920E79FE91CDD3C19237A1E872 /* SDLEncodedSyncPData.h in Headers */ = {isa = PBXBuildFile; fileRef = 164EB7D01FB9305F99542C650BEE139E /* SDLEncodedSyncPData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C0316AABE6855883CC01B68B3E051D37 /* SDLFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 64E58E3113DA5BCB8C799ED409C889BE /* SDLFile.m */; }; - C0D9CD87EFF8D92674493EC27F247DA3 /* SDLChoice.h in Headers */ = {isa = PBXBuildFile; fileRef = 0750D6680A65FE3E62BF3C126189AD5B /* SDLChoice.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C0F1943EAE59EC250C3DF9425BD98E8A /* SDLV1ProtocolMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F6CB61BB1176BCB17D323ED2E477830 /* SDLV1ProtocolMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C172AD810BBCCD8652A0FE4FC456A683 /* SDLOnTBTClientState.m in Sources */ = {isa = PBXBuildFile; fileRef = 913AC32DB86F68B49617C6E0797B4574 /* SDLOnTBTClientState.m */; }; - C1E7F89CF53EC5F27619ED730D6D1D43 /* SDLTouchType.m in Sources */ = {isa = PBXBuildFile; fileRef = E1C266A4271D00B9FCAA045F125CA6A5 /* SDLTouchType.m */; }; - C263C5A042748A10EDA25C63084D6CC5 /* SDLResponseDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8325BC24F0DFBE74A7EE510A66ACF618 /* SDLResponseDispatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C291FD59E9E83406345CE471C41039FF /* SDLStreamingMediaLifecycleManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 81E7ED8E7E34570DEDFE3711C9B6D95D /* SDLStreamingMediaLifecycleManager.m */; }; - C2AEA5D203D7B134C332A5A17C8A267D /* SDLDialNumberResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EDA51BA7B4A4E7CB83E6363E2AE32D9 /* SDLDialNumberResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C2BB93FD4DD6DE3478E8D2D95E2449DE /* SDLOnLockScreenStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF56A4EF5462188EE22B37E2CAEC31B /* SDLOnLockScreenStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C30397FB0B8898E2439BB2EE8F6D7475 /* SDLGenericResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 58A357808626910438EE341511854465 /* SDLGenericResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C3858AF89255B7880076ADBBA2CEE534 /* SDLChoice.m in Sources */ = {isa = PBXBuildFile; fileRef = 31681CBEF278AA4C17E19B6561909E3A /* SDLChoice.m */; }; - C404D5D89875503570981730D9EB04C2 /* SDLPrimaryAudioSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A0BCC95298C5EBCCF1AA4F82ED2282E /* SDLPrimaryAudioSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C48C4D54C67A039E7D43568D37C18FA3 /* SDLDisplayType.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EC13DE4AEC9C1A0E5F0F9AF5FBA188F /* SDLDisplayType.m */; }; - C48D06C282C82E11E87042B59621E519 /* SDLError.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E95E63CBCE0B2E0A9B17FF3C32046A0 /* SDLError.m */; }; - C4C97FA9A6E6969C1D10B6E5E0C5C09C /* SDLAudioStreamingState.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5F88A7E3297E958D34AA141ABD5FDA /* SDLAudioStreamingState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C4F8AB9084137D64DCA49883C2425D31 /* SDLSystemCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = DDA8A000811FC9A84FC521DFB363778D /* SDLSystemCapability.m */; }; - C4FCBA6C16B8F87D6B3795B5DCC6FBE3 /* SDLVentilationMode.h in Headers */ = {isa = PBXBuildFile; fileRef = DD362C201733D6DA92B1C991A1D848E1 /* SDLVentilationMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C5643C0B4419048E8B77AA994DF29362 /* SDLMetadataType.m in Sources */ = {isa = PBXBuildFile; fileRef = 56433433DFF7134C257EF551FC5E0C70 /* SDLMetadataType.m */; }; - C5DABDEF137825111D67BEBAA51DBCD0 /* SDLListFilesResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B8D80778C6B6AE24DCBEF558C4D7BC2 /* SDLListFilesResponse.m */; }; - C5E8C3823BB65754AD467AEC69B13CEA /* SDLPutFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BFEB463421003A7866EC0533805E584 /* SDLPutFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C5EB1C8EA06D0CFF90763AE328B0E7E5 /* SDLStreamingMediaManagerConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 8305A2E46B9C1FA882A6D23DB5EC799E /* SDLStreamingMediaManagerConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C641A01F62386B81FF2FE8EB7EB70521 /* SDLImageType.h in Headers */ = {isa = PBXBuildFile; fileRef = 066C960A10A907973591EDC40DCACE2A /* SDLImageType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C67D634377AA89BD8B2867A859FDCE77 /* SDLSpeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BFA19A1ADA0CA1FA012578A133DEFA7 /* SDLSpeak.m */; }; - C6BEC7FD7DE0E765F09E2C553E6BE047 /* SDLScreenshotViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 471EEA7BB9C2834FF46FEB046A0C1F97 /* SDLScreenshotViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C73AFDF4B16732E027AD41C618738B0E /* SDLProxyListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0F3EB3AEADCCD357E2F93D4D90E2CC /* SDLProxyListener.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C755D9B0FDF3FC8C44FBC50B5DBB4C71 /* SDLSystemCapabilityType.h in Headers */ = {isa = PBXBuildFile; fileRef = BE0C72F3CD666F0287992BA234B8B0E6 /* SDLSystemCapabilityType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C780D53A442F4D5680F3EDEAE8B1B58B /* SDLHMILevel.m in Sources */ = {isa = PBXBuildFile; fileRef = 96DD211DEABF19A038C08B72AC86E640 /* SDLHMILevel.m */; }; - C78796472D7E45DCF111D1DD3DD2962E /* SDLRequestType.h in Headers */ = {isa = PBXBuildFile; fileRef = F9C0A28D52FA2E9051FAE79F58103AF6 /* SDLRequestType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C7A9B620C26FCAAD1971871752EC186E /* SDLOnWayPointChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 07BF1E5A6E0E3D5064430FB2D91999E4 /* SDLOnWayPointChange.m */; }; - C848C0096D85BF9CB2A8064090DF842D /* SDLVehicleDataStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FC446872F3A920C14C3B907FF18270C /* SDLVehicleDataStatus.m */; }; - C8AC5BB5B184B8D4421C615CEC800BB6 /* SDLProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D23A34F3B48AC046B4386FDA2EF5CD4 /* SDLProxy.m */; }; - C92F20756AE7EAF20CA0A359A4217348 /* SDLDeleteInteractionChoiceSetResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 60EC7C292921202A49FC9F4689D8F146 /* SDLDeleteInteractionChoiceSetResponse.m */; }; - C95D7605ACE2F87FDA199792760526BF /* SDLTurn.h in Headers */ = {isa = PBXBuildFile; fileRef = B573433ABE6237E351F4E41B5B3E32C5 /* SDLTurn.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CA06F7A12325F32D022E5590428A56A5 /* SDLEncodedSyncPDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 65A0E874441A41302823DDB1A027EA15 /* SDLEncodedSyncPDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CA6C977A25104A1D29CD42FDC30FDCB1 /* SDLLogFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = FFBF2C7B854D7178A84DEE326D0F717A /* SDLLogFilter.m */; }; - CAD0E5F5D6A3B190C540D117326DBDA7 /* SDLVehicleType.h in Headers */ = {isa = PBXBuildFile; fileRef = 788D6503B2B3C954DA7014B24D8AAB99 /* SDLVehicleType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CB119345A9EC8C5DDCE3840C758F5A77 /* SDLLifecycleConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 58CBDC8D8287ECA6DECA03091E37FDAD /* SDLLifecycleConfiguration.m */; }; - CB273A1197B9C2929E6F39D77422EF38 /* SDLV1ProtocolMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EDDEE260D714214C190275C1272D9E01 /* SDLV1ProtocolMessage.m */; }; - CB492D70670DE66CD8CEEF23FC5AE5AA /* SDLOnHashChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C662B4A58EFC7B11868E3D529CF2656 /* SDLOnHashChange.m */; }; - CBEE1328BA8197B39A2AEC2DA2BE7883 /* SDLStreamDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 61D80725A2FC69370280407ADB7104B7 /* SDLStreamDelegate.m */; }; - CC162A58667F26F97294B6B37B887B6C /* SDLProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D7757C1F07BF70077244BC15A4C676C /* SDLProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC2A4B955CAFFCDC1C6158FF52A9F102 /* SDLOnEncodedSyncPData.m in Sources */ = {isa = PBXBuildFile; fileRef = 64B40EF47566E5F760D6B9A92AAC8241 /* SDLOnEncodedSyncPData.m */; }; - CC4E149854C903592BDB50EDDC79BD03 /* SDLClimateControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F542112E3EA5E9B1175E444CDD0A5DC /* SDLClimateControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CCA57AE219DA78E3A22CEF279B4F82C8 /* SDLSyncPData.h in Headers */ = {isa = PBXBuildFile; fileRef = 67741FBCE77F33B4496BE0980F0809B0 /* SDLSyncPData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CCC77077EE37EAC6551E90D308AEA97D /* SDLObjectWithPriority.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C0BC98255DCF5131698071DD8528CFF /* SDLObjectWithPriority.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CCC776231EF28D8313A01C24F8EA2EDC /* SDLScrollableMessageResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CB45B359F4FB8D4509816B67EAA2BB3 /* SDLScrollableMessageResponse.m */; }; - CCE847878A34A6C74BD723EEEC1BE723 /* SDLUnregisterAppInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 25DCD0C39A2A9496298075AB05CC8C47 /* SDLUnregisterAppInterface.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CCF4640C6D2CBF41B8ACE9A6936ECFAB /* SDLSequentialRPCRequestOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = ED6FF8839A14B00010BC6288B9624634 /* SDLSequentialRPCRequestOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CD4A69C4FE4890675333CCA5BEA942C4 /* SDLSoftButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B4B0B243D02EC6D6BDEDB0DDAA37244 /* SDLSoftButton.m */; }; - CDCAA6D5C26D7C121C30E8A117D9131D /* SDLAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BF3C582473FCB8D62BB29CFB8783E4F /* SDLAudioFile.m */; }; - CE639362800DEE076F0B760D36BD4754 /* SDLPinchGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EA220C563C0E6357FFA9BD38D8E0774 /* SDLPinchGesture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE99FF04D095DB8C5783029415B6AE43 /* dispatch_timer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DAB9E7F93B0BB64566B9F49CE43CA3B /* dispatch_timer.m */; }; - CE9A2EC0528160EFA38E5244EBEB96E3 /* SDLStreamingMediaManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A89D561725DF99AEDE6ABEE7CB77AB42 /* SDLStreamingMediaManager.m */; }; - CF3010CEE695C529E5ABA47A4137756F /* SDLTransportDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 54559F9C4CF7FB07B0D38920FF20C3BB /* SDLTransportDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CF89A9E2745C8047DD714BB0D8167C60 /* SDLUploadFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 65EC7246A8643ED6EE2BB71ACD42E640 /* SDLUploadFileOperation.m */; }; - CFB0FCA2FFD0F546733F8B8B02153E36 /* SDLPolicyDataParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E2FAE58CA235BDDEEFC45D51BD72A01 /* SDLPolicyDataParser.m */; }; - CFD4DB88A478EF8B3F80156170467FE4 /* SDLCreateInteractionChoiceSet.m in Sources */ = {isa = PBXBuildFile; fileRef = C27629A0F7B15FFFA84130453D5ECF38 /* SDLCreateInteractionChoiceSet.m */; }; - D0B95BBF2C944CBE1EA7D5DDCCFBA15D /* SDLECallInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 57C1723C2BDE9F75A620D3C22CD31BB3 /* SDLECallInfo.m */; }; - D1B00BF591AB3DD3A5D9F1141A13EEB3 /* SDLImageField.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B002D9AFD977FD30D4C4CEB25F38ED5 /* SDLImageField.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D1B661F807BDD8A809111B4EAC571CA0 /* SDLControlFramePayloadRPCStartServiceAck.m in Sources */ = {isa = PBXBuildFile; fileRef = C1A3C30A75CB3EF8356671BA3CAD399C /* SDLControlFramePayloadRPCStartServiceAck.m */; }; - D201A167D8B1FC2C7ABB507FC42AACBD /* SDLDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EE4CE347627992A84B9DB99FFF4C8C4 /* SDLDateTime.m */; }; - D206366AAED9BEE952713652C05A212D /* SDLAddCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 86BCB6348A43C55F7080BE30ACE53A2A /* SDLAddCommand.m */; }; - D266A0DDB317BA97AE13383D9D0F1F2E /* SDLSecurityType.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D696D19CF041592FF82EC8315593E10 /* SDLSecurityType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D26E35DC9EEFE7929A2F6EC9DBB41F9D /* SDLPerformAudioPassThru.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C73121AED8BF2CAFB1A698F2BEE317B /* SDLPerformAudioPassThru.m */; }; - D297FF67F2C08F85D059B121AEDBE5BD /* SDLDeleteCommandResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = E04A89C225FB5A38794A9F01530DD90B /* SDLDeleteCommandResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D310E52E515804DB25C406636B59742C /* SDLCreateInteractionChoiceSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B94D52010A14477BD83D616DE62548D /* SDLCreateInteractionChoiceSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D3207C78058F8DCE427E9E7B646D7881 /* SDLGetVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 52E2B8E10DD83EA172E11AD5200F3F69 /* SDLGetVehicleData.m */; }; - D3A72986FCC83A63C544D07823A758FC /* SDLAirbagStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 97D6E0536FABDF145C9BD951D9769BF0 /* SDLAirbagStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D3BA3DCD848A6BF7A4F720EEE7378723 /* SDLProxyFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = C0CA684B5F9C9A9D3C88EB23944848A6 /* SDLProxyFactory.m */; }; - D3E228C42F636237EF01DBBC4435909E /* SDLInteractionMode.m in Sources */ = {isa = PBXBuildFile; fileRef = F752AE6B2427A143BE8CAED17655ECE7 /* SDLInteractionMode.m */; }; - D404866FA5228F8E52306081DC7B7FA3 /* SDLRadioState.h in Headers */ = {isa = PBXBuildFile; fileRef = A2DDAF38EC2FCD81F8E507B75A91CC97 /* SDLRadioState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D42579BD9A325843651DA0E1DEE18E48 /* SDLMenuParams.m in Sources */ = {isa = PBXBuildFile; fileRef = B9E2048B155209ADCECB279831BE9BBC /* SDLMenuParams.m */; }; - D440E4A841C97852202F8909B0DBE834 /* SDLDimension.m in Sources */ = {isa = PBXBuildFile; fileRef = E1EA9D4A4C105DC423931275686586DB /* SDLDimension.m */; }; - D450045C138084308D702C7873B95EB8 /* SDLTemperatureUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = BA65A291644A1104777DD18B3A9F6AB6 /* SDLTemperatureUnit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D48EF01B6573B30D6458AEA2F6D1D599 /* SDLSendHapticData.m in Sources */ = {isa = PBXBuildFile; fileRef = 622B9E22692B7C1D4B3D9AC47614D284 /* SDLSendHapticData.m */; }; - D4B3E00A43CE4EDAF7CF11A91559F23D /* SDLPowerModeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C3F499F88E2E4EC42E840EF9B687CA5 /* SDLPowerModeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D4D95167EE908D4752A6E2C43A6E059B /* SDLUnsubscribeWayPoints.m in Sources */ = {isa = PBXBuildFile; fileRef = 53D09A48339E144A365C41D9E2600991 /* SDLUnsubscribeWayPoints.m */; }; - D54E5501BEF347339A2AC472CBFDC464 /* SDLRPCPayload.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EA71E753DA8EEA910381C19D7E56632 /* SDLRPCPayload.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D56BBBAE38F507FAFFDAB2CA19A4C19E /* SDLIgnitionStableStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EAD0447E8D0506AACC8C88E1D7FD847 /* SDLIgnitionStableStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D645A7D7CA5027759D223CACAEAF604B /* SDLVehicleDataType.m in Sources */ = {isa = PBXBuildFile; fileRef = 679AF72E0BA5EEB07D1C3692B5F41895 /* SDLVehicleDataType.m */; }; - D6DCF85F37098FB511BA654352235305 /* SDLLockScreenConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D987C210C6A80C771D0197DC0C82E83 /* SDLLockScreenConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D73B7F274A962003C9D150F398CD2E9C /* SDLVentilationMode.m in Sources */ = {isa = PBXBuildFile; fileRef = E00E82B2FDDE5450373A6B68DFF83D05 /* SDLVentilationMode.m */; }; - D7C98872D2ACBF0473D72F309D651819 /* SDLManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8201BF478358844F34CB4BE9A1CB0052 /* SDLManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D7FBF1118911D0C006F09D8E8F8527A1 /* SDLGetSystemCapabilityResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D2D226C274F0F93A7F64BC3B842FE6E /* SDLGetSystemCapabilityResponse.m */; }; - D868B53DD9CDBB8EEEF146ECA1EE2213 /* SDLReadDIDResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = D7618DCDCE9669AEBDCB6EDCD44DEE79 /* SDLReadDIDResponse.m */; }; - D8DAC55BC6CE5A3B4C6867901AFBEBA2 /* SDLRequestType.m in Sources */ = {isa = PBXBuildFile; fileRef = D9AD0F744D87982AC573205ECAAABC19 /* SDLRequestType.m */; }; - D976685482D77AB8815FA25B50C928B0 /* SDLECallConfirmationStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A0C4117F0D9E52CDF1DFE5B17C9814E /* SDLECallConfirmationStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DA2A9509B8C1AAD60888449B5419CED4 /* SDLSoftButtonState.h in Headers */ = {isa = PBXBuildFile; fileRef = FEB41C227628695CB9C16ED5AD3B58BC /* SDLSoftButtonState.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DA509604ECCD4457A56343D027F014F3 /* SDLBitsPerSample.m in Sources */ = {isa = PBXBuildFile; fileRef = 453EDA95886439462258EABE9FF5AE22 /* SDLBitsPerSample.m */; }; - DAAD8D748EB511F35494140166689755 /* SDLError.h in Headers */ = {isa = PBXBuildFile; fileRef = B7F0A41B14FD3B58752CE842EC5F304F /* SDLError.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DB3D6D872A43E7477812CDBE4251BE17 /* SDLArtwork.h in Headers */ = {isa = PBXBuildFile; fileRef = E24B888B2F5F389742972494518471C7 /* SDLArtwork.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DB67BDC17109AFF49A64C4AE94D0C8AA /* SDLLogFileModuleMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DFA63D12AC8B0E4402E96713683C411 /* SDLLogFileModuleMap.m */; }; - DBAB6857F9B76426FFAB5C9865238D5D /* SDLStateMachine.m in Sources */ = {isa = PBXBuildFile; fileRef = 932C28B9EC3B5F9B8B618BAE1DAB3A72 /* SDLStateMachine.m */; }; - DBC036E44880E83F810DFB0DF41F7F31 /* SDLTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = FAF46DA9FCAAF86A58354EAF0CD6EFDA /* SDLTimer.m */; }; - DBD771A6C0B8B1BCE3175B0070DCA49A /* SDLProtocolMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = A0B4C0A15F9E76369B93311A573FE219 /* SDLProtocolMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DC5D56307560CD8FE30420A5C290B145 /* SDLAmbientLightStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 02DD25EAFBE7B7459F3CD132A4D00F63 /* SDLAmbientLightStatus.m */; }; - DD00214311581958ABC63B4CE87BFBE0 /* SDLDefrostZone.h in Headers */ = {isa = PBXBuildFile; fileRef = 325A789D494FDDC8E61353DFB5AA99E5 /* SDLDefrostZone.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DD1A5133CCE6584B640307CC36E06189 /* SDLScreenParams.h in Headers */ = {isa = PBXBuildFile; fileRef = B33D088C40BF522D53461F078589C3C9 /* SDLScreenParams.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DD50F5338B43D442F2097BFFD33608C7 /* SDLSystemContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 103B741749BB527A8A77A0A21254E804 /* SDLSystemContext.m */; }; - DD8958D901274B4BFE72F686DAFFE915 /* SDLSendHapticDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F00680FD74F06788866C23806150899 /* SDLSendHapticDataResponse.m */; }; - DD9FAE3CBD3897AAC95D463A2942F2C3 /* SDLProtocolReceivedMessageRouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 65B651056A6592BAF6E1CC04E3B5D108 /* SDLProtocolReceivedMessageRouter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE39930017EC344F315C4ED2267ED43A /* SDLRPCMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = D4842ABBC747B304585E03A4D6ACDCC5 /* SDLRPCMessage.m */; }; - DE41A48B61DB578EABA5A740ECEBAB8B /* SDLSystemAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FEBADF00067431AEC5CBFAE666F3CC /* SDLSystemAction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DE915551714C0E79407BD165028CC3C4 /* SDLProxyFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = F2584D4117248CC8603C9A4C307D216D /* SDLProxyFactory.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DEB911999E54AE65F761B45E92B63866 /* SDLConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 5268DD82A1B1F005044353615124613A /* SDLConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DEDA0A3B0176C4CD27AB2DCE2FBB47E2 /* SDLAsynchronousRPCRequestOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = ED918E99F9CDDA35A51ACE73C86332AD /* SDLAsynchronousRPCRequestOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DEDE9595682FE9F3A857B711F4C56DE3 /* SDLRadioControlData.h in Headers */ = {isa = PBXBuildFile; fileRef = E014E378A71CF2F7467E7C0D91B50676 /* SDLRadioControlData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DEE714BB1F487851CAE3A390408477D2 /* SDLAudioPassThruCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = D071EA8B510835B8A49F0EED09FE0D5A /* SDLAudioPassThruCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DEEAB077C2FB819A2B87620F85263AA1 /* SDLFunctionID.h in Headers */ = {isa = PBXBuildFile; fileRef = CED472F38093861C68B9C313E5038CF9 /* SDLFunctionID.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF0874E33796A059703070A7CD2E6D84 /* SDLAbstractProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 823871AE99E427A04BE082ACD251595B /* SDLAbstractProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DFAE3203DE9D27B1BF43CAEE84E4862F /* SDLControlFramePayloadNak.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F6CE004CA05C008DADF5E7E11FCC452 /* SDLControlFramePayloadNak.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DFD761F8DDCD954DF80C6BD51E5181AD /* SDLKeyboardProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = EDA762D0A95A168C4AE1F43F013D2207 /* SDLKeyboardProperties.m */; }; - E04615F760F9044F0198383E343FBA54 /* SDLSetDisplayLayoutResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A7C152A904A8E564FD3F90B994AC24E6 /* SDLSetDisplayLayoutResponse.m */; }; - E0A645304E5FBEE4559481AB37EDE758 /* SDLListFilesResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A9F30C35B04B558A7C6079A283B1A7 /* SDLListFilesResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0FBD77552B70E7A0F46362DAEE8C66A /* SDLTriggerSource.h in Headers */ = {isa = PBXBuildFile; fileRef = EC3F08EE2CD565D720904FEAEC0D64A9 /* SDLTriggerSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E17089BEA36BAC05DFFDC30DECFA1B1E /* SDLOnHMIStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 14CFF317767EF0189DDDC36C1FDF2234 /* SDLOnHMIStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E1A184EE62D78CBB34084B0D15BDFE98 /* SDLOnLanguageChange.m in Sources */ = {isa = PBXBuildFile; fileRef = EF22D71D450DE89713FB00BFE26A4D16 /* SDLOnLanguageChange.m */; }; - E22B9B61E167C9739638DE80AAEA5E8A /* SDLUnregisterAppInterfaceResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D8065C6538828F4BA05EAD5E3D362DA /* SDLUnregisterAppInterfaceResponse.m */; }; - E2F15227E9089323C8B35C2340967E66 /* SDLLogTargetFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 586FC5CCDC205BF4164AD370E5820B83 /* SDLLogTargetFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E3461D1F02C9514CED8B89664B26DB2B /* SDLAddSubMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 322A1E09E81C3510D187651C30F045DD /* SDLAddSubMenu.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E3737841257A6DB692CCED0D40B76BDB /* SDLNavigationCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = 30436ABE962D88BA8122BF49B1AC9C2E /* SDLNavigationCapability.m */; }; - E3769D62B3DA7AA46365BC8DDFF78D79 /* SDLAddSubMenuResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = F32BCFC28BCA916D5751770CA5898681 /* SDLAddSubMenuResponse.m */; }; - E4E4EC69E1E49CC5E0201A1983A5B526 /* SDLAppInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 82A2DBED26074FE969A252E07792CB6D /* SDLAppInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E5399155FDD45F2BC551B1C09A4939E6 /* SDLPermissionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E38793CCCDF4D529D3577E1CF76E62A3 /* SDLPermissionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E59A66915F785AF6BBF1552D050FC0E9 /* SDLPowerModeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 81247C40C69C7ADD1631ED532A3C52E4 /* SDLPowerModeStatus.m */; }; - E5E35507E78308F19691E5697DC0E6F7 /* SDLAddCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = B34A2D03E309D9EEFB2821183B494BC6 /* SDLAddCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E648DA3FDDF610D0DDB2BEC2CB18D870 /* SDLSoftButtonState.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A4CFA36B32161239C07887FF9996503 /* SDLSoftButtonState.m */; }; - E688605FA558B0B288AC04958D5CA0D6 /* SDLDeleteFileOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 341AF01F9B542680DD7CCF67619354F9 /* SDLDeleteFileOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6D128BFA10AA1340711DB35B28EF0BF /* SDLComponentVolumeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A4BEFDAE32730F452271F3CFF9EAD46 /* SDLComponentVolumeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E79D77CC6E81E78C30A20F5FD5E735D5 /* SDLPerformInteractionResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 789E8C8CF80C940581E7CB05D0E37192 /* SDLPerformInteractionResponse.m */; }; - E84613F8C9733E4C59432E541472D09A /* SDLTCPTransport.h in Headers */ = {isa = PBXBuildFile; fileRef = A4FAED4DBE2719524F4D2B04531D90CF /* SDLTCPTransport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E90AE961270748322AE4E1DBF1EC19BD /* SDLRegisterAppInterfaceResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 599D3C425966BAC09F4FB05ECA372AD7 /* SDLRegisterAppInterfaceResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E932CF32EBAC5A38421D4647AD6FD43A /* SDLShowConstantTBTResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A8AE10BF9E253F19596076BE9FCDA922 /* SDLShowConstantTBTResponse.m */; }; - E990437DD0A766C571D63D4C17EE0953 /* SDLDeliveryMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 91D16A339EAD3A7CE2A3EF0AC3F60A6E /* SDLDeliveryMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E9F0E6231149DA5A981C9EA504230588 /* SDLVehicleDataResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 47C870FACFB9ABAF196051C264E73662 /* SDLVehicleDataResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA502F248C95F196B19F1682324441FA /* SDLGetDTCsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 5014A2CC8DC44BC1AFC70F11AB2B3242 /* SDLGetDTCsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA5231B249209024E17A863766851523 /* SDLDIDResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F7447882471CE8BBF3F04CD253E1F0A /* SDLDIDResult.m */; }; - EA5A4BA67115F7525726C07B0D16AB1A /* SDLUnsubscribeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 871B2DC4311373C11255E4579430C632 /* SDLUnsubscribeButton.m */; }; - EABC920508AC1A8C354E32289FA7DDAB /* SDLSubscribeWayPoints.m in Sources */ = {isa = PBXBuildFile; fileRef = B8331F2851CEB0CC5716DEA0184C67E2 /* SDLSubscribeWayPoints.m */; }; - EBB99733C87288DC79031F69CC523DB7 /* SDLTouchCoord.h in Headers */ = {isa = PBXBuildFile; fileRef = 16BF5823BEACE1D3C81F55173E26EA73 /* SDLTouchCoord.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EBE5EA276DF544283E64442CD1EEBBB8 /* SDLSpeakResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = ACC2B7226D055B70E78018F8B7C6135E /* SDLSpeakResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EBF8186080BB5F9249933305CCBACCB8 /* SDLCarWindowViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 04D573E594B3BA7E816B13C50B987CE9 /* SDLCarWindowViewController.m */; }; - ECDB77EAB51550CD48CA78A070B53250 /* SDLClimateControlData.m in Sources */ = {isa = PBXBuildFile; fileRef = 97789EF8DCE1257FDE4BAD40A417DF0E /* SDLClimateControlData.m */; }; - ECDD8B015B538988E5ACC71E949C7910 /* SDLKeypressMode.h in Headers */ = {isa = PBXBuildFile; fileRef = D652C290A748FF731864BD729A0A81BB /* SDLKeypressMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ECF72C20D5D82E006B35CC3E037F0548 /* SDLMetadataTags.h in Headers */ = {isa = PBXBuildFile; fileRef = C2A77688A1DDECA795226E8C57626D90 /* SDLMetadataTags.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ED207E1418E9257F6CA8C78D6AC35C76 /* SDLFocusableItemLocatorType.h in Headers */ = {isa = PBXBuildFile; fileRef = EF84E5E0417123EA9547B3D2EF005228 /* SDLFocusableItemLocatorType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ED7AD613FF1EFA44A9EBDFFFD580DC6D /* SDLVideoStreamingProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = DF1D0C6489D93580B1213CA343FEED5A /* SDLVideoStreamingProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EDCC72BD12756C5CD4021C90461D0A29 /* SDLButtonCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 518AF6144EABB55A43919530E2FBEC7A /* SDLButtonCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EDD1668F0240141F14FC48AD12691327 /* SDLIgnitionStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B8B817AC2DB21FDF0548EDFB28EF20EE /* SDLIgnitionStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EE134831BE116618D7CB56339C1517C2 /* SDLTextAndGraphicManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 70E927D03A3AA0C9933EE3142CEDA8EB /* SDLTextAndGraphicManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EE2E4B5B8382F3949864AE0759FA3530 /* SDLVehicleDataNotificationStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 99ECC736664F835FA6612418ADF79C77 /* SDLVehicleDataNotificationStatus.m */; }; - EE47F66354A48055E632DE7A6E2C79DB /* SDLUpdateTurnListResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 80EC7A49133FBD8E3C5D9C5E36A296C6 /* SDLUpdateTurnListResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EEEB75B1D7A71FF294AFAB40E56CDFF6 /* SDLClusterModeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = E39D364BE104E5017C708F7AC72F2C16 /* SDLClusterModeStatus.m */; }; - EF8DA7C48944EF3EAB7682ACEE2D4AFF /* SDLLogFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E1B0F1ED6F9C4649F892920CD775E79 /* SDLLogFilter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F0117F5041FBD7F73996CEFDCA06AFB7 /* SDLProtocolMessageDisassembler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2EAE70D87F7DA1B9D9C7A7CE791D72 /* SDLProtocolMessageDisassembler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 123A59D297B9772831BB7A508CC41777 /* SDLKeyboardEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 3884964D6FEB0D08398432C7EEDB2FAD /* SDLKeyboardEvent.m */; }; + 123E4A14DF16CBD8A5546FDD02907F56 /* SDLError.h in Headers */ = {isa = PBXBuildFile; fileRef = 711AC2364C89D3D17514B14D663A1AF6 /* SDLError.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1271206750820665E80A01A8537575FA /* SDLVehicleDataEventStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 02E4BC4185F347014878E1B59F325DB7 /* SDLVehicleDataEventStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 129E5BCEF6FBF9E5E9F0679CF261F5C4 /* SDLPrioritizedObjectCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 37F60ABA9812A222448532EC0551BAAA /* SDLPrioritizedObjectCollection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 13046E7D195824105B265892E8F29A75 /* SDLTriggerSource.h in Headers */ = {isa = PBXBuildFile; fileRef = CFCC4C078A82BC69C78877B984B1F7DE /* SDLTriggerSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 13ADD1BF8C10734FB2EBAA866AD33717 /* SDLHMIZoneCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 843DDF1E82067D3BE72F657D2974D11F /* SDLHMIZoneCapabilities.m */; }; + 13AFC08B1A38979CD13E5F43B4038A00 /* SDLSubscribeVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CB47175BD521EA36770290CCE23BAE6 /* SDLSubscribeVehicleData.m */; }; + 13E1E1C1E31D813C4E5AF16D5017862C /* SDLGetDTCs.h in Headers */ = {isa = PBXBuildFile; fileRef = CB01AD4F05816453518D94D580DA26A2 /* SDLGetDTCs.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1421CC9DED21AA027010DDAE45669ADB /* SDLHexUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = FB963F962A2C0E4A36716A49E1417B18 /* SDLHexUtility.m */; }; + 149559E04D003DD95B330F083C6EFEF6 /* SDLSetGlobalPropertiesResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 918A4228C48EB0067BA2FD3AE232F617 /* SDLSetGlobalPropertiesResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 14DA1D729A8C3713459C867141BD057E /* SDLTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = F26FA6D4CFDB68F6D5708D3320506CBD /* SDLTextField.m */; }; + 15055A719FF7684389EABCCB36FB1EF4 /* SDLStartTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 3000DA61AEE11E76574446153EA6A9D0 /* SDLStartTime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1505A5832FF9A3A8F285F03FF87D77EF /* bson_util.h in Copy . Public Headers */ = {isa = PBXBuildFile; fileRef = 882E26AAED7919D8F46DB538C09492C7 /* bson_util.h */; }; + 152CAC480630AF81E594747FE28E1C52 /* SDLDateTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B528FBE5DCB2E0BA367288234BCF214 /* SDLDateTime.m */; }; + 1546CE1E88D907835BF0B788B395892E /* SDLStaticIconName.m in Sources */ = {isa = PBXBuildFile; fileRef = 6005348BEB563D39CB3F58D14980AAC3 /* SDLStaticIconName.m */; }; + 1549440C97D34FA71CACDA059B859453 /* SDLNavigationCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = 93003458C263C345C99E345CD6601231 /* SDLNavigationCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1586782A8AD64A27B92BAC3F7617BE73 /* SDLShow.h in Headers */ = {isa = PBXBuildFile; fileRef = CCB1B296EDBE648A896D60F8CEE6EF27 /* SDLShow.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 15C348C6C1D4657D5CCCB39DA48F874D /* SDLProtocolConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = E28E6185D21901A4C8918AA636A147E2 /* SDLProtocolConstants.m */; }; + 15D110DCFB081B2926AB45DD7D8138AE /* NSBundle+SDLBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D7FA6FD82FCAA3F5859800C0D06812 /* NSBundle+SDLBundle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 15EAD5D89DF9B5BF90660D3DBE20DD22 /* SDLSystemRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C3596A8E5AA2AB66C296A109794B893E /* SDLSystemRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 15FEA41F68065902292818187AA0489D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 92EC16D73BAA299A6234966E38DF6113 /* Foundation.framework */; }; + 166A12220CD441B64A1807EF59255F59 /* SDLProtocolListener.h in Headers */ = {isa = PBXBuildFile; fileRef = AB48679EACAE70BB29A1B43C2AA11F08 /* SDLProtocolListener.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 167504994CBF7AD0EF8085D7BCC5AA56 /* SDLIAPSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C1913C9CAEBA0D15EEC15F086C59CC84 /* SDLIAPSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 16D72417871BC6886A16169FAC0BF43D /* SDLSyncMsgVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = B9171F06491C70DE50D2DDEFFA1DCA85 /* SDLSyncMsgVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1739F7A2929471F3CFED544E1DB590B3 /* SDLControlFramePayloadTransportEventUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = CD72B7A1B82714D01D99FC2D5DCAD1CE /* SDLControlFramePayloadTransportEventUpdate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 173A65311019663622CC26C99029C75B /* SDLAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FE8503F612720EBE84C85E9D319C3366 /* SDLAssets.xcassets */; }; + 18BBDEAE907C6E3913765F188D1F22A7 /* SDLWiperStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = E71309A18D09217CAF532B036D0FA97A /* SDLWiperStatus.m */; }; + 1906B555E30994355B5939D36DBB9B7D /* SDLUploadFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 85FEDF2A2BBB46F56EDE42B6A54156AA /* SDLUploadFileOperation.m */; }; + 193649645204AE4D57E75DAE6C1478B8 /* SDLControlFramePayloadAudioStartServiceAck.m in Sources */ = {isa = PBXBuildFile; fileRef = BA9299EB84229285AD544DBE93805F19 /* SDLControlFramePayloadAudioStartServiceAck.m */; }; + 1958620E37609F5E8C593B01464E3016 /* SDLControlFramePayloadEndService.m in Sources */ = {isa = PBXBuildFile; fileRef = 3469A6571DC2C323C8576335770482C5 /* SDLControlFramePayloadEndService.m */; }; + 19A64D1B86FF6BBF8E5BCEE6D72FAF03 /* SDLDiagnosticMessageResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A30B036CAB80CB3556CC6DCC329BAF82 /* SDLDiagnosticMessageResponse.m */; }; + 19BD0353B0B855035E94DD0620B146A9 /* SDLSpeakResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3D9FA9E20EADE3D814527B11431DD7 /* SDLSpeakResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1A659FD8B2997C6F955A402B154AF758 /* SDLRPCResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 369B5BF8AEC7813E438E7A758338068A /* SDLRPCResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1A7A149DB1FA14F639B11F2A069A3D3B /* SDLV2ProtocolHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 33232BB5262BA6F1226DA202E9671995 /* SDLV2ProtocolHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A97C3CB44D389A20089C76508C7FD3F /* SDLPermissionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FD4201DF52143CC2A919A9470F285F4 /* SDLPermissionManager.m */; }; + 1AC1E5C6107C9FDEC28FEAF2722D5871 /* SDLChoiceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = FA7520D29ADDEAE0706E4E297C9EC00B /* SDLChoiceCell.m */; }; + 1B1CF15B78F656247732F33363542D95 /* SDLControlFramePayloadConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 4361BDEC05496F0B266C45DAC0E5FC5E /* SDLControlFramePayloadConstants.m */; }; + 1B7830EADD088604F2AF02DCC234E999 /* SDLProtocolHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A839994F9626443B093DB392F9B5E77 /* SDLProtocolHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1B9A6C694B31434F1A613A3A6726370C /* SDLPCMAudioConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 55F7F5D6907BDC05663E93F45A150CBF /* SDLPCMAudioConverter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1BA017560FC8B74AF9D489992FBA4405 /* SDLHMISettingsControlData.m in Sources */ = {isa = PBXBuildFile; fileRef = 87013DF5230B21B6D6983AE6FFCB0A36 /* SDLHMISettingsControlData.m */; }; + 1C479CD7E70CE6D721A82B6F56781D9A /* SDLButtonPressResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 18278F1A7CF8A435D0169F4AF9BC7E07 /* SDLButtonPressResponse.m */; }; + 1CA2B5A4769F94EE01AAF587330FB376 /* SDLControlFramePayloadVideoStartService.m in Sources */ = {isa = PBXBuildFile; fileRef = BBD5269E6005271A97672076F3C57620 /* SDLControlFramePayloadVideoStartService.m */; }; + 1DA2C3B957587D4E0BD6631AA0280261 /* SDLSoftButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B47C27C1C51D3C0496F6DC20D6173B7 /* SDLSoftButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1DDF3601757242CCCF58BC6FDAEBD1CA /* SDLFuelRange.m in Sources */ = {isa = PBXBuildFile; fileRef = 9573AD1DA7DB44D2BDFDA84EF4F972F5 /* SDLFuelRange.m */; }; + 1E08FC40843DC74847587D066152384B /* SDLAsynchronousRPCRequestOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 527A7F8C142E616553D35AF4098262F1 /* SDLAsynchronousRPCRequestOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1E328C92B78121A10A37CCF65B7BFDC2 /* SDLOnButtonPress.h in Headers */ = {isa = PBXBuildFile; fileRef = E49367CD2C96F4FB7B71A901D7B36355 /* SDLOnButtonPress.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1EC36ED907B978EC0A6740DDF3A82BE6 /* SDLControlFramePayloadRegisterSecondaryTransportNak.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E13C460CB2039AE064C767DD711F563 /* SDLControlFramePayloadRegisterSecondaryTransportNak.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1F06A449FFC01FF0CA8553A0BEB0F700 /* SDLHMISettingsControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = FB630387201D5C255AAC684842BE5C05 /* SDLHMISettingsControlCapabilities.m */; }; + 1F2C08924DAF09EAEDDF8E4A9B8F50C5 /* SDLRAWH264Packetizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F829F2659AFF96D13AD1D9EE4B5EFA7 /* SDLRAWH264Packetizer.m */; }; + 1F53A32AF3B60B1B9C6E4E902DF6E88C /* SDLTCPTransport.h in Headers */ = {isa = PBXBuildFile; fileRef = 561E7859983DC63B87B4C26B0FE33EA8 /* SDLTCPTransport.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1F89230366EB77189F7AB10C48498682 /* SDLOnPermissionsChange.h in Headers */ = {isa = PBXBuildFile; fileRef = 72782025CCF03AC32ADC435C468D3CC6 /* SDLOnPermissionsChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1FDDEF6CE2FEE041A91814E14163CD1D /* SDLSyncPDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F09A75F248CCF94E447F986B25B46A5 /* SDLSyncPDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 201B959BDABF5FECAA5F31E36BD684FF /* SDLOnButtonEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B3E3A1BA828AED08DF168DFCDBD517 /* SDLOnButtonEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 201BC1035FC21891C355380570851086 /* SDLRadioBand.h in Headers */ = {isa = PBXBuildFile; fileRef = 905FFC669528A903981179734581E823 /* SDLRadioBand.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 20259D21A0257386BD4E5F40489851AE /* SDLChoiceSetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 701F9FEB0B747B0243ACC80B6C9300A1 /* SDLChoiceSetManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 202E9DEB4FC551880653BF4C6A734E33 /* SDLDeleteSubMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = E3B8D796AD9F59926B271B6B8BC81CD3 /* SDLDeleteSubMenu.m */; }; + 20E317ACB2A7231E7F68ADC230EBA7A3 /* SDLDisplayCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = F388207656E1E2BB02B35F9E54E554A1 /* SDLDisplayCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 20FC1896A18BA80D09A29EC6381D135A /* SDLEmergencyEventType.m in Sources */ = {isa = PBXBuildFile; fileRef = A6FFAA2E640CE5022DD2D19F7DCD3DE6 /* SDLEmergencyEventType.m */; }; + 2148B98C41264719B44F19627F9FBD31 /* SDLTPMS.h in Headers */ = {isa = PBXBuildFile; fileRef = A56B12620457866F3F66271757C255A6 /* SDLTPMS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 21944956FCF8A98A64B49943C532E71C /* SDLAppInterfaceUnregisteredReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 00B26898CBB957B7498A0668CCF94CAE /* SDLAppInterfaceUnregisteredReason.m */; }; + 21E4ECE5FAEC39D18ED9A5AA744BFB1F /* SDLPermissionFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CD60AA200C1EA24343193DA9F81F600 /* SDLPermissionFilter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22A378951B6903C864AB262623FFC244 /* SDLSubscribeWayPoints.h in Headers */ = {isa = PBXBuildFile; fileRef = C9E6389F7EB9A2D0D5DFA03917B8774A /* SDLSubscribeWayPoints.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 22B4F2B08E7E10F17896F6020E3E7FC5 /* SDLWayPointType.h in Headers */ = {isa = PBXBuildFile; fileRef = 47E4A52D2392FB209D8115764D1AB1D9 /* SDLWayPointType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 22EFD15D95BC17236824C5F2F14D6FFC /* SDLSoftButtonManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BAFD24C619E18105CB98355ADC1DA09 /* SDLSoftButtonManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 231E01EC4A0471AC2C5B7D80E1EF4E09 /* SDLProtocolMessageAssembler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EAD2D9917040C1DC2F23D0C4DCA7FA7 /* SDLProtocolMessageAssembler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2424E72E3E34EC0D796FF72BA0253B6A /* SDLSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 853D4FF5772833364CFE76D24578AC9A /* SDLSlider.m */; }; + 2493AB5474953E83E8BEF5B7CD0FCE78 /* SDLDeleteSubMenuResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = EDF6F8E8BD9AB6D28CFCC4A88AC00A5A /* SDLDeleteSubMenuResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 249A608D638CC97C67FF52638A8BC1E8 /* SDLTouchEventCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 46A22E1778DAA87AC1078DE0B1FB4A24 /* SDLTouchEventCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 24E48DFBB1C4B4AA81A4639689F86DAD /* Pods-MobileWeather-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 97A2BB0456C152B5DCFAA29084C974C2 /* Pods-MobileWeather-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 24F2853B85F0CD908042C0887DD98DA6 /* SDLUpdateTurnList.m in Sources */ = {isa = PBXBuildFile; fileRef = EA582BB114E38C65B6A91E4EE7B8F1F2 /* SDLUpdateTurnList.m */; }; + 24F89E570279A8E298ADE0E960556438 /* emhashmap.c in Sources */ = {isa = PBXBuildFile; fileRef = 75F59B2A5FE3C87A65DDC7E417796E8F /* emhashmap.c */; }; + 2517D425680862344E8C97608651C465 /* SDLDeleteChoicesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DA9D3D0835E0ECE0927CA88687021D3 /* SDLDeleteChoicesOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 258C95788E0E8D970F0EE4DF62E4CB2A /* SDLFuelCutoffStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 27B167F71BD19841F6007D7C9CBF2BB1 /* SDLFuelCutoffStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 25BD608CDC74BDA8361298894AAC1BF6 /* SDLVrCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 11E2F665E33EE37B613491E89FC223ED /* SDLVrCapabilities.m */; }; + 25FC95E53399E920C720FE3402D2F4FC /* EAAccessoryManager+SDLProtocols.h in Headers */ = {isa = PBXBuildFile; fileRef = 25E2288919FDE557C4ECB6A34711AA4D /* EAAccessoryManager+SDLProtocols.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 25FC9867BFEF6F22B87571B2026C382D /* SDLVideoStreamingProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 2783B441BC8A958210375C2CB1FFF38C /* SDLVideoStreamingProtocol.m */; }; + 2608EAE325BED25A8AE2266BE7306894 /* SDLSyncPDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = BD63D162A710F26E0171321EA5F2591C /* SDLSyncPDataResponse.m */; }; + 2665B47AE0D9E489A35A4B5583C7A574 /* SDLHMILevel.m in Sources */ = {isa = PBXBuildFile; fileRef = A8713C1D0690D8AB53FDAB90435E668F /* SDLHMILevel.m */; }; + 273FFE3A5B1FE211BE08322FF75F43B5 /* SDLGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = BCECF54BBC67A7DBB0AC2A441E7A7E88 /* SDLGlobals.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 274BB6D13057A65EF40FBA8E855C8B08 /* SDLPermissionItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F05AA929B1AB82280E5802A1D843594 /* SDLPermissionItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 274DA5F32BF29A3E4AC88D8C1D475054 /* SDLV2ProtocolMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = B64DC108EFD38FF6AD0FFFF15424C17C /* SDLV2ProtocolMessage.m */; }; + 2796B141DB2CB8FF9D5D4331365FBF7C /* SDLSoftButtonState.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C5D5F27602E0540AA5B35AF19980468 /* SDLSoftButtonState.m */; }; + 27B47B95DCD6EFEE0AE4B2447B6E9D50 /* SDLVideoStreamingCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = B82BD5CA32CF72B71EEE56763F38464A /* SDLVideoStreamingCapability.m */; }; + 27C60458AA9E71EB3C734B5CAFCE3B65 /* SDLCarWindowViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D849908EC39EB73251A609C247278C7 /* SDLCarWindowViewController.m */; }; + 2882AFECA228F8969A51130E89673181 /* SDLRegisterAppInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EC8C09312FB4922A1226B9708C6A43C /* SDLRegisterAppInterface.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 28F0252D9017ED26A005BEF79E464662 /* SDLMyKey.m in Sources */ = {isa = PBXBuildFile; fileRef = CD7F72B767014839B0530963C82FE3DF /* SDLMyKey.m */; }; + 29074EE6C7F221B0EA5003F0EC9E43FA /* SDLEncodedSyncPData.m in Sources */ = {isa = PBXBuildFile; fileRef = 66350E5DE80B51CCE2C62602727CED1B /* SDLEncodedSyncPData.m */; }; + 291D6E7A9B53BC97B4266E5E733A9D9A /* SDLAirbagStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = A5621B5B05BA15084E7A134229CADA90 /* SDLAirbagStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 292938C5EB7ABDEC2E715A153AB2C158 /* emhashmap.h in Copy emhashmap Public Headers */ = {isa = PBXBuildFile; fileRef = 3F06E01500491105B758E90A6D3828F0 /* emhashmap.h */; }; + 29881505409B144B88BEBD744924B014 /* SDLSetDisplayLayoutResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = C5EA591376DD52B8329D8B6224101BE5 /* SDLSetDisplayLayoutResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 29DA019909278383AF531314E1F4750D /* SDLProtocolHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DDA77991D5939F69DB2C0095DDD520A /* SDLProtocolHeader.m */; }; + 2A23BC577603227C59F175A756C07E75 /* SDLSoftButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 88CD2BDF6FF3ED3F6B18D71D1A446DD8 /* SDLSoftButton.m */; }; + 2A5F0B29E4EBD8734741D831CA6A7E6A /* SDLMediaClockFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 471FCD3698B75159B2B7FE7C7034350A /* SDLMediaClockFormat.m */; }; + 2A736C0C17FD26D7F036E75358F1C35B /* SDLSoftButtonCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 1452029094F815D4A37CB7AF1F8F68B1 /* SDLSoftButtonCapabilities.m */; }; + 2AB5518F631822ED03580B2E57398F64 /* SDLWarningLightStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = ABA99CE85C327FFAD4C981FC5CF3D003 /* SDLWarningLightStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2B1FB46E0F181116C988EBDF4D4DB810 /* SDLRAWH264Packetizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A1AC42C1CE7CEE7544BFD3843B028D5 /* SDLRAWH264Packetizer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2B65E6D0CA1FCFDA5C4E8CDDD530576C /* SDLV1ProtocolHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 1529E778CB489616CEC128365ED5CFA6 /* SDLV1ProtocolHeader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2B70751465E898CA237B574CFDE37BB6 /* SDLPerformAudioPassThru.m in Sources */ = {isa = PBXBuildFile; fileRef = 5608E1B518D7DC608F90543748504EDE /* SDLPerformAudioPassThru.m */; }; + 2C00826991FC81F4268A7FA1B8BE3A72 /* bson_util.h in Headers */ = {isa = PBXBuildFile; fileRef = 882E26AAED7919D8F46DB538C09492C7 /* bson_util.h */; }; + 2D2C73A94C3702E247D80930EDD01C6E /* SDLScreenParams.m in Sources */ = {isa = PBXBuildFile; fileRef = C30DC4A516525BCBECD781C4551F5D5A /* SDLScreenParams.m */; }; + 2E36360E596C81768C64F8254B0BCF9E /* SDLDeleteCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 48E79B4506F1594D6325574D14CD0E9F /* SDLDeleteCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2E5A270CA153C9237A20FBA1325DC854 /* SDLSyncMsgVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = AB71670E1D39EA195F20599D06B93C3C /* SDLSyncMsgVersion.m */; }; + 2E899075BD1FB0B43B0336F04BFFE82C /* SDLCarWindowViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F7FA38B067052115C9348DF8CDA8246 /* SDLCarWindowViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2EB3DD389E800C6F48E46F70274CBFD3 /* SDLWiperStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B86CE88D851B73EF7B846EEFECEB105 /* SDLWiperStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2ED2A5AEEA3F8EB3EA96F61E307B8AB1 /* SDLECallConfirmationStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = A7F77770D5D28F7FF7EEFD4A3C75F542 /* SDLECallConfirmationStatus.m */; }; + 2F049A5ED5B21F687DD4F9D16A0F9156 /* SDLSecurityType.h in Headers */ = {isa = PBXBuildFile; fileRef = 90B140356718D6990742118A0DE2E86F /* SDLSecurityType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2F4833E75460BBDCA6974CF6A25393D3 /* SDLSubscribeWayPoints.m in Sources */ = {isa = PBXBuildFile; fileRef = C64D7A63C4552BCCDBF2279977AA076F /* SDLSubscribeWayPoints.m */; }; + 2F62D67C96619CF8418DDE8660AA87FF /* SDLOnEncodedSyncPData.m in Sources */ = {isa = PBXBuildFile; fileRef = 77562F15814B203CF3A3408E7CC77E90 /* SDLOnEncodedSyncPData.m */; }; + 2F92A39FA7844E294BA89D4504DE5B40 /* SDLSamplingRate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7270226214680022216FC52367E6F29D /* SDLSamplingRate.m */; }; + 30A929E1C35E2D215DD8EE99B82074D4 /* SDLIgnitionStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = F3DF41A5534678C031C7762017C9D5B8 /* SDLIgnitionStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 30CDC22F7251B357A4C3CFAA72C47DE7 /* SDLRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = EC39FC6F2170900B078272A1F0D1AFA2 /* SDLRectangle.m */; }; + 30FFC9E6B1C8D0793671168174052553 /* SDLSpeechCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = B30D5145EB60AD2060C601A064F64A2C /* SDLSpeechCapabilities.m */; }; + 31DFC3583830E0D966124FC8F5C27762 /* SDLPCMAudioConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A52D72644B89F231422DFAA23D9A94 /* SDLPCMAudioConverter.m */; }; + 32384E122DC41DB6FC369BA1B8E44975 /* SDLControlFramePayloadVideoStartService.h in Headers */ = {isa = PBXBuildFile; fileRef = 80560B5F4049C93EAE4148868C4BA8E2 /* SDLControlFramePayloadVideoStartService.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 32E4FFA8285A6E57F005EAC005EB2A0F /* SDLRPCNotificationNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = FDE4AE55BBF8F01C929485F3093C57D4 /* SDLRPCNotificationNotification.m */; }; + 32EF617251A6BDB80B1116AA30B88887 /* SDLSISData.m in Sources */ = {isa = PBXBuildFile; fileRef = 022836C73FFD3B13313C60652032D850 /* SDLSISData.m */; }; + 334A1C8E8A34F736E4D8AD86F78DCDA2 /* SDLLogModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AFC13CD3915A647DA5736D2C6DDB276 /* SDLLogModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 335977B731AE1FB611913B0EA91AEA9D /* SDLBodyInformation.m in Sources */ = {isa = PBXBuildFile; fileRef = 80BEAB2A97883B43F91D11C970DBFFE7 /* SDLBodyInformation.m */; }; + 3383C263F5066BB955902D08E0E0BA76 /* SDLLogManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AA7BA22D55AB85BB5FCC2ADEC30BD838 /* SDLLogManager.m */; }; + 338656B244397A1FE7AEAB4924A0637D /* SDLTextAndGraphicManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F5507ACACB0EE1CDC5827DB3CB5C3921 /* SDLTextAndGraphicManager.m */; }; + 3393CBA33B034A44C8403C7D34C5DA5E /* SDLPerformInteractionResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 2046809A5315CAEC170D3C5D87341E36 /* SDLPerformInteractionResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 33F5B083FEAEF4A293D5DDCC66055D3E /* SDLStreamingVideoLifecycleManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 259D45E1AFB4F1787FC8E3DE5C59CEAC /* SDLStreamingVideoLifecycleManager.m */; }; + 3467C8330CDCF0CC7649922ED7F36898 /* SDLMenuParams.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D56D1383005F86119EEEC23396E20E2 /* SDLMenuParams.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 347171ED94BCFE1BEF4C751C357A2A61 /* SDLCreateInteractionChoiceSet.h in Headers */ = {isa = PBXBuildFile; fileRef = EE5457E7487266451141B2F023DFB19C /* SDLCreateInteractionChoiceSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3487D5F34B6779F25E0C691435723CEB /* SDLLanguage.m in Sources */ = {isa = PBXBuildFile; fileRef = 09B8E32CA0A3C22134FF5943402A19C2 /* SDLLanguage.m */; }; + 349DCC63C4006E9925925A22528F76DA /* SDLPowerModeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B2743E673B8A8B1412F3ACA1B22E27C9 /* SDLPowerModeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 372A4DD37D49C94C3723DEBE22096647 /* SDLUnregisterAppInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = BB5F7AF6EB7A651AA9025D03B433AF00 /* SDLUnregisterAppInterface.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3772577D7A7B0E0B0F79BE6861768803 /* SDLEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E8FE4312C8C948EBE6F6C07DBC1F9CA /* SDLEnum.m */; }; + 37A4441323BF715ECDFDFA44AA52E595 /* SDLAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = A6E4EB5AC1D8300869EFD910BC546776 /* SDLAudioFile.m */; }; + 383A60466C0BB252F9AABE852853A442 /* SDLComponentVolumeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = D50321F21AFDE58F08A3BF69CD0D45B6 /* SDLComponentVolumeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 38B289D35FE88B0513826F20E2E49C47 /* SDLLightControlData.h in Headers */ = {isa = PBXBuildFile; fileRef = C7DDA9F4F55CABEE280A8EFB020D3C65 /* SDLLightControlData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 38FE8058A8ACE4CEABEF049A44575FFF /* bson_array.h in Copy . Public Headers */ = {isa = PBXBuildFile; fileRef = 094669C6706179A5AC880CA3B34CBE24 /* bson_array.h */; }; + 393038430FFE5671B2073A6A30C9BC0B /* SDLCreateInteractionChoiceSetResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AF1C559A0C4A201639345F720AFD5BB /* SDLCreateInteractionChoiceSetResponse.m */; }; + 39601039B7D4C9F81E0435945B4C0A72 /* SDLImageResolution.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D616CFA82FBB4F1BEE449B4EA3CF4C7 /* SDLImageResolution.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 39E89EB33BF91A8DD6826358A94C18A8 /* SDLPreloadChoicesOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = BC44F67089678BF264AE9F4517976CE3 /* SDLPreloadChoicesOperation.m */; }; + 3A3C1A36F9538E34D2AF0C0F83D4966C /* SDLMenuCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 816405DEA579818D69E7209885E6B5FC /* SDLMenuCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A8524D9DB82B710CFA048A740AEDA10 /* SDLButtonEventMode.h in Headers */ = {isa = PBXBuildFile; fileRef = C6B82BEAAE6A7BEC7C2C08C051A6FF6F /* SDLButtonEventMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A86DEA68BC55354523B90DFB98DFC85 /* SDLImageFieldName.m in Sources */ = {isa = PBXBuildFile; fileRef = 5413252548EB4A0449D30D5673A28F0B /* SDLImageFieldName.m */; }; + 3A979A73791B243B088224560C08E152 /* SDLOnTouchEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 9736F1C92404CB74F50FE38E6AEDCCA9 /* SDLOnTouchEvent.m */; }; + 3AF64F5B141F2725382B1699A20FFEAB /* SDLOnCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = EF4EBDB80CEF89242D57537CB1A9D465 /* SDLOnCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3AFAF31C231616DA37D8CD47E04CC41E /* SDLScrollableMessageResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F60A682B29BD523A1C95D44BF818678 /* SDLScrollableMessageResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3AFFD7E781E276C04B0910990FB2A7F1 /* SDLCharacterSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 3931112BA99F69A22491E261DD430300 /* SDLCharacterSet.m */; }; + 3B060D93370643ABBC11440CA95137C5 /* SDLPolicyDataParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 624FFEDC969D0C72CDBCEF24B6F1FF30 /* SDLPolicyDataParser.m */; }; + 3B6564F00DD0815E2507EEF5C57377DB /* SDLSendHapticData.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CD4E20EA357AF78C5B0D31F5F31E3E /* SDLSendHapticData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3B9FD9C8C2D64BE1E7B4A60D8F1CF79C /* SDLReadDID.m in Sources */ = {isa = PBXBuildFile; fileRef = 85C64DA96B7AFBF4B86A506D16F6B044 /* SDLReadDID.m */; }; + 3BAF653EF94A79F057AF28E92D08B01F /* SDLDeleteFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = CB43E3D640B1FB16CFCA612D7D97A8F1 /* SDLDeleteFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3BBCFF9EEB7DD0EFAD2C19FB38782EBE /* SDLVehicleDataNotificationStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = DE28653246A6B19B5D9C82A38F1267A9 /* SDLVehicleDataNotificationStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3C408E7824C741EB34570DF86CC34B97 /* SDLLogTargetFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 37762E39468016593D2D4AD6F5570CCC /* SDLLogTargetFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3CF801D23C44F6D1B84C15AA973D5911 /* SDLVideoStreamingState.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A6B4FAF65147D01EAB724CF22D4AE0D /* SDLVideoStreamingState.m */; }; + 3CFF28EB8DF6F6B428CA1801E5F3B25F /* SDLUnsubscribeButtonResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 28116C10F8E6839229E73642FA1E4D49 /* SDLUnsubscribeButtonResponse.m */; }; + 3D49B9BD85156CA47C272AFCA46CD969 /* SDLLogFileModuleMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 29B0DF7E121F9744DDEF8461BEE11346 /* SDLLogFileModuleMap.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3DC9DBBED5AF3AED802AEB1ACE6EC16C /* SDLAudioType.m in Sources */ = {isa = PBXBuildFile; fileRef = ADACFA394C1A41666990BA02285C1D35 /* SDLAudioType.m */; }; + 3DFAA6CD24C655BF8371A79A2EC83586 /* SDLTurnSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = 46E9F30F07D90FE0DD803922742B11F4 /* SDLTurnSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3E26B72E94D4E8F720765C08644B1835 /* SDLDeviceStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = EE9A3B75D5F68AA0D26EAAC23626F571 /* SDLDeviceStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3E79D874393A3D7EBE0DA7412D7A6662 /* SDLUpdateMode.m in Sources */ = {isa = PBXBuildFile; fileRef = D48E12FC519B7176B5ABCBAFF3F4A7CA /* SDLUpdateMode.m */; }; + 3E976B7DAF7D086E310C9DFEB791F70E /* SDLGetWayPointsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C6F102A06A6693E2DF34B61E773CCDB /* SDLGetWayPointsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3FA8BF893B4ABCE89302AF12D3FDD36B /* SDLButtonPressMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 5403F40FB18F1132FAFDAD339E3514B9 /* SDLButtonPressMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3FD99D42147F557EFE878C489E853A98 /* SDLMetadataTags.m in Sources */ = {isa = PBXBuildFile; fileRef = D88D739C4F65E3A7EE9F3CCB7CF49C35 /* SDLMetadataTags.m */; }; + 3FF9BDBD8CF6A2C502BAB51531850403 /* SDLSetGlobalProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D566AE50B191DBFB833D69C8108A202 /* SDLSetGlobalProperties.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 400A84C63C1928674225B0C3DEB1808E /* SDLDisplayType.h in Headers */ = {isa = PBXBuildFile; fileRef = B42D746070F0FB7F229FC805F63C7474 /* SDLDisplayType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 404C3CDFE0A33CF1EA1F85DDDCAC7724 /* SDLSpeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EECA380F767D515D06515EB2526BCE8 /* SDLSpeak.m */; }; + 405952B0F156E80362027E2FB42E7359 /* SDLAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 50B8BBC9E1B415E5920A1FBA5133F375 /* SDLAlert.m */; }; + 408E1481ED7E584C084651E3762D4E39 /* SDLSecondaryTransportManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D66FF1E097F6C6ADBB8C030D347AE718 /* SDLSecondaryTransportManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 411926320DE8319BF26921FFA2D23DC6 /* SDLVrHelpItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 8080BD85150924CD82CF697853AB49DD /* SDLVrHelpItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 411F1579BA150460D876451769A164B8 /* SDLPolicyDataParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 53AF765EA8E95848A51E4EF568E373E4 /* SDLPolicyDataParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4242BC8D2B19A8AECDD82CEC36EAD1D3 /* SDLSeatMemoryAction.m in Sources */ = {isa = PBXBuildFile; fileRef = B39C5ADFF010CF8A14C3BEA134F54E7A /* SDLSeatMemoryAction.m */; }; + 4262A88F6772DAFA6EB0986E93A7F7D1 /* SDLTouchType.m in Sources */ = {isa = PBXBuildFile; fileRef = 21FBCD7A2D38BA6674F5B0E20331F1B2 /* SDLTouchType.m */; }; + 42789451B228CE1B731E2E475BE328FA /* SDLPerformAudioPassThru.h in Headers */ = {isa = PBXBuildFile; fileRef = 987EA3558DD5290384A844B45E024E3F /* SDLPerformAudioPassThru.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 429EA9BAF3633D69D00E9A993542B0F3 /* SDLCheckChoiceVROptionalOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E80F2AAA864A0E9A66967638620AE60 /* SDLCheckChoiceVROptionalOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4312EB672436060772606A0E4925DA81 /* SDLLockScreenStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 8080F4FF2A48736FED1DA77E6D50B24C /* SDLLockScreenStatus.m */; }; + 434FECDCEFCE761DC9E53E8421A0E199 /* SDLControlFramePayloadConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D2F9491E9A021E2EABA56A03253B0372 /* SDLControlFramePayloadConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 43774A9EC2370F6C642EDF653F0BB834 /* SDLStreamingProtocolDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BD2DB088EAE22C7DD20B753FE0006F9 /* SDLStreamingProtocolDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 437E6D94102B6E5418512171E8D213C4 /* SDLV1ProtocolMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = FE7D0124F88DC1F3149FCBC1CC631444 /* SDLV1ProtocolMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 437F9E9979EBC890F4E7986AF8E9F555 /* SDLBitsPerSample.h in Headers */ = {isa = PBXBuildFile; fileRef = D1C593EF742A7DEA18F01646BC598132 /* SDLBitsPerSample.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 43DCE09FC284FDD30495C63109F3805D /* SDLLayoutMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7464353B95BD2991945285ACC552CABA /* SDLLayoutMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 44398A25FFF8E8E3BA94AA4B16401BD1 /* SDLSetInteriorVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B836FFAC43577369039BC81E89BD1E84 /* SDLSetInteriorVehicleDataResponse.m */; }; + 446DBDD10A24217E2C75E80F8AE8F3AC /* SDLPowerModeQualificationStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 61F82FF5A93D0558A5851A023E3C7B66 /* SDLPowerModeQualificationStatus.m */; }; + 45AB8E12BABFBA44F627D44826815A3C /* SDLHMICapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 18641A1747ED648E73C047ED9F2800CD /* SDLHMICapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 45ECBD14B4B63213CB8EAE14A26F47E0 /* SDLWarningLightStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 63466A9AB415882C06F7AE80584F210C /* SDLWarningLightStatus.m */; }; + 466120C8F06FAB14E27D8C4AB40CBC4A /* SDLPrerecordedSpeech.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E464EACE963D6F07103805F407CD25F /* SDLPrerecordedSpeech.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 471FFFF32E90503833F9ED85A037ADB7 /* SDLSystemContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 1843B9CA2192C5B3AFC14A50D86F80D2 /* SDLSystemContext.m */; }; + 47636D3515ED3884E8B188742491FC2E /* SmartDeviceLink-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B2C4A5A90D11A445D20A514AA2B6C69 /* SmartDeviceLink-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 48117AC5842CE566308EBCC6BAD70A38 /* SDLPhoneCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = F35822090B42F3897B8520B75DFCD4BB /* SDLPhoneCapability.m */; }; + 4831DC00268ABDC3B71DF092EC92C6A1 /* SDLLogManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C14ECD4BF951829C7D97305625CF23F7 /* SDLLogManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 495B9BFB4528B543B85D33626944F27C /* SDLChangeRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = 47CE23F2A53DB7E089222EE09F29BB9D /* SDLChangeRegistration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49982C103746564D3C54F20348D77469 /* NSBundle+SDLBundle.m in Sources */ = {isa = PBXBuildFile; fileRef = 0890FF58FA08063F6B8494B01ED4A3B4 /* NSBundle+SDLBundle.m */; }; + 49AE1FF6E889BF5CFD8C7F6FC61A1990 /* SDLImageFieldName.h in Headers */ = {isa = PBXBuildFile; fileRef = 0440B26CB65E28F9B693133980FEDB2B /* SDLImageFieldName.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4A2E9931CEB4FBE60C639025C745949F /* SDLDeleteCommandResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = AFBBA4412E591D0464CD86B12758A2D7 /* SDLDeleteCommandResponse.m */; }; + 4A44E1A476DF6AC77050CA0BB5741996 /* SDLVentilationMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 72DA23D6B1B8CEE91F55CF693FD690B2 /* SDLVentilationMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4A4C8D8B27D9B504C8B90FBA2E532D26 /* SDLProtocolConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = BA2F928FB28C5D2FA571B57A0D084BAA /* SDLProtocolConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4AB73C7BEAA65EE7156FB5C3CC87DF2D /* SDLNotificationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = B460414DB680F6055A83A1A74CFC1737 /* SDLNotificationConstants.m */; }; + 4B9C79D4D0C403D33ECCD91413C71EFD /* SDLEndAudioPassThruResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8C67EB84DA3FA114CA61C5D36FEC54 /* SDLEndAudioPassThruResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4BF834C82F82A4F455757C75795D7614 /* SDLCompassDirection.m in Sources */ = {isa = PBXBuildFile; fileRef = 47CAE090B7FBD44E13C4D60C7AD48B5A /* SDLCompassDirection.m */; }; + 4C14B6D0764534FC82D19C8C2869824B /* SDLPowerModeQualificationStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E2E609CCF3FF8FA84D2EA7E5E75B6FF /* SDLPowerModeQualificationStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4C8CCBF1734D58A4E654681E85C56324 /* SDLListFilesResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = B7498C244FC10C66AF473A338A62111B /* SDLListFilesResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4CC172DE9DE64D8C7CEB557E19EA3C06 /* SDLImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC3F0AF45DC8C9CA5D3AC7CA8176789 /* SDLImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4D22C3E35127657A059FAAC74E84CA9F /* SDLLogModel.m in Sources */ = {isa = PBXBuildFile; fileRef = DBC88C050ABECE21892DC6034CC3F8B4 /* SDLLogModel.m */; }; + 4DE4F6C69D2B336533D5AB7CFB92805B /* SDLUnregisterAppInterfaceResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = F8F030BFD1C8C53533F5FE9C47B23B0B /* SDLUnregisterAppInterfaceResponse.m */; }; + 4DE6D3DB00935100770B101E4FD4DD74 /* SDLOnKeyboardInput.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B11875C27CE5BA6B79B0F5FAEB42813 /* SDLOnKeyboardInput.m */; }; + 4DF00792D0599F38F8C53D1D9524E0CF /* SDLMetadataTags.h in Headers */ = {isa = PBXBuildFile; fileRef = BF184F14F7F8CAE1B2D74EEA9C58A028 /* SDLMetadataTags.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4DF4CC747977B62A390CD466CB6BB7CA /* SDLTBTState.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FA874BD88EA74B7BB768D1914F61EEE /* SDLTBTState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4E1D974330808D7F6DE4687340BF78CB /* SDLGetInteriorVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B148286C9121F9CEAAF3BB7A9B9E1EB /* SDLGetInteriorVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4EA7202E9058AF4E5B55B73766E402BF /* SDLChoiceSetDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = A97DB73B7402B15C06515BCEE78C9981 /* SDLChoiceSetDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4EAD8DB9B8C89502F5E80EB8905DECFB /* SDLSoftButtonCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 40C3DCCA2797BCCB1A582257FAD07C67 /* SDLSoftButtonCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4EADDCED77CBC447F15EEE6612C32794 /* SDLPerformAudioPassThruResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DF9E74F8390AAEB3D483417C6939A39E /* SDLPerformAudioPassThruResponse.m */; }; + 4EDB1D54059A62B1E89AC859B6AFFC98 /* SDLSetDisplayLayoutResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 11FDF61E15EA556F1CEF592604857CFA /* SDLSetDisplayLayoutResponse.m */; }; + 4F00F1BC25190AD1A39A832E385D6092 /* SDLKeyboardDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 425112040C5A32D7A5A360DFF736A31A /* SDLKeyboardDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50197887724DB2B0F9BBBEDFD115EB01 /* SDLWayPointType.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DB23C1F5BDF1F27A2D1917F3EAAC433 /* SDLWayPointType.m */; }; + 503E1255E56FFE55DCA95B9431D029AC /* SDLSoftButtonType.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EC269B1966033DB01819D2781AC4309 /* SDLSoftButtonType.m */; }; + 508710487E6E5D73B47302E30A095473 /* SDLVehicleDataActiveStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = E8355E321C8CD5412294AEDC2B85517E /* SDLVehicleDataActiveStatus.m */; }; + 50E94328E77465FC58A98C08B155AA3E /* SDLOnCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = A0A1B2614785041917BE4112674DC25B /* SDLOnCommand.m */; }; + 513047C3242BF4788D7F04DA59A65D4F /* SDLRPCMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EDCFB982E7DC04A76ED3DA3978F5DCA7 /* SDLRPCMessage.m */; }; + 515B7E5A2A5B4CA5C242F2B9A1A86114 /* SDLAudioStreamingState.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BEA19A69DC688C8CC9315D69EB8BEB5 /* SDLAudioStreamingState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 51919410D0B2A35D6F25634DF3F64F46 /* SDLVideoStreamingFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = EC448CD8B6A7EC7C9542B754FDF978F2 /* SDLVideoStreamingFormat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 51B9760ED13D36DA0194F8F065F87132 /* SDLStreamingMediaManagerConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = ED61ABE324F03833E5DD4900423E6100 /* SDLStreamingMediaManagerConstants.m */; }; + 51D83C643384BAFE2BFFD0E8068521B4 /* SDLAudioPassThruCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = C395176F9C59B6418BA47A1577018FAA /* SDLAudioPassThruCapabilities.m */; }; + 51E74B85BF49CE5F58DF9AEEB54490EC /* SDLSetInteriorVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = AADF6CC67DB541A26C867733BFB837C3 /* SDLSetInteriorVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5296B7BC7A799A4645A24AA665985F9C /* SDLRPCNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 78ABF68E893E072C56F7BA31130F1A5E /* SDLRPCNotification.m */; }; + 5296E7FC0E92E8CEA624DDB20E0F1C4F /* SDLSystemContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A2FA6D88BF0D8BE275F4AF2C7C117908 /* SDLSystemContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 52BDA4C17AD653F1FF67D7B5546AEA20 /* SDLMassageModeData.h in Headers */ = {isa = PBXBuildFile; fileRef = E9C5C58A3724605FC6E5584A0977F7CF /* SDLMassageModeData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 52D43CD53B5DA5E1569F96CB92DFFB0E /* SDLSoftButtonState.h in Headers */ = {isa = PBXBuildFile; fileRef = 0837D198E63D15DBF4D735082E0C46FE /* SDLSoftButtonState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 52F293B8D8F2DBC5884789F9F340441A /* SDLNames.m in Sources */ = {isa = PBXBuildFile; fileRef = EBE2BDB35B173D11506009E03770CC5A /* SDLNames.m */; }; + 53246289694B5FAFAF6A3539272C199F /* SDLSetAppIconResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5026B768F427D41AD264854700D76084 /* SDLSetAppIconResponse.m */; }; + 53A860936F0006E7C14D7EC0756B3126 /* SDLLockScreenManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 90821605B6964E77F2FF24118D6EDB06 /* SDLLockScreenManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 53C76685D4035A70E7F85A6A141A374D /* SDLGetWayPoints.m in Sources */ = {isa = PBXBuildFile; fileRef = EB782268F9B89A65FEEB9D8D3E0867E4 /* SDLGetWayPoints.m */; }; + 54B362CBD1794B25EEE2DAB2312458B0 /* SDLGetInteriorVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = BE7366FB2C13FB0E264DF97EB1455D14 /* SDLGetInteriorVehicleData.m */; }; + 54D790EEC81BAD764B8EEE49AD2A4158 /* SDLLayoutMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 874714916D7F9E906404F014ADF12629 /* SDLLayoutMode.m */; }; + 54FB1AD8D55EE13D2BDE103CE981F096 /* SDLVehicleDataStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 54AD9BB2ED9351E39DEE63C0E9B9ED5F /* SDLVehicleDataStatus.m */; }; + 55062BA3F586C30FA46844D3567CA266 /* SDLECallInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 30350A37D735C91E7CF974A4830CA33B /* SDLECallInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 55CB4738C7BE3FF112CB1344ACAB02AC /* SDLPinchGesture.h in Headers */ = {isa = PBXBuildFile; fileRef = B1F9BC84E7389BF23179BED225E2CA39 /* SDLPinchGesture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 55F4E9D9A49AACE252669F2F3DABF237 /* SDLStationIDNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F5FD2872F26AF396350B7190E6DE3E9 /* SDLStationIDNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56413091A8C554F6CB22273E720F72B9 /* SDLSetGlobalPropertiesResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 492D4F2D51A313D0902E178DD1AEF5B8 /* SDLSetGlobalPropertiesResponse.m */; }; + 56E2C7C771DD69397A452F517EB06355 /* bson_object.h in Copy . Public Headers */ = {isa = PBXBuildFile; fileRef = 4AE0C41A32832B291234AD2D5DDA906A /* bson_object.h */; }; + 572B49D1EB5811BFC8A1AE03DED056AC /* SDLChoiceSetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0946E5C29231E794F5BE1235DBC535B1 /* SDLChoiceSetManager.m */; }; + 575532F352FD30C241A4F8A08E86A802 /* SDLMassageMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 785F69A758CC6573E45FE7A6598F61B5 /* SDLMassageMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 57823C7275F6F68B5C74AF6905FC904B /* SDLLogFileModuleMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 3347A8E18A7BA7E697F4FAC02971C531 /* SDLLogFileModuleMap.m */; }; + 579B11FBED84C912A3799334269EED04 /* SDLAudioStreamingIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 42EBF47E8F2913EC1CE334E935EB5CCB /* SDLAudioStreamingIndicator.m */; }; + 57A7AF43D521F0DB9874292AF1805173 /* SDLShowResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EE7896D35763F8CAF64B08BA64C53DD /* SDLShowResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 57B5A0D95AD17758F024FF65C4FC827A /* SDLLifecycleConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 76BD07CB451B98D050AD1A03BC6F8AB1 /* SDLLifecycleConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5819D315BD81F71750C6BAD914F7C5BE /* SDLMetadataType.m in Sources */ = {isa = PBXBuildFile; fileRef = C339E93BAAFE8EF680B5FF2F641586D1 /* SDLMetadataType.m */; }; + 584C7EB8C8A0BA9BE2912964F610EB11 /* SDLRDSData.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B950AA451BBC249F3334DAC75609D89 /* SDLRDSData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 58720313B5ED4BD082DEDE72CB6F9137 /* SDLKeyboardProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = 0188C9625886A2778A6F31AEA7518719 /* SDLKeyboardProperties.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 58E5CC6C7FDD68D29452343D6BCDC80E /* SDLLogFileModule.m in Sources */ = {isa = PBXBuildFile; fileRef = FEA3CF62D8E20C66A2127F8FE3D3DFB5 /* SDLLogFileModule.m */; }; + 59009DFAF888264F9A6837699BECC40C /* SDLDateTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FA3AFD5648ADEAE62EFD80E14460DE /* SDLDateTime.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 59495B95A002F05146D2D3968AF824C2 /* SDLGenericResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A2307C9E899AF5180AD1093475004295 /* SDLGenericResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 599848E2E7D1412C801D088F449542F9 /* SDLGetDTCsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0A7A3D3F4D617D0E71AF1093961409 /* SDLGetDTCsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 59C827211A0E601F88C73D961DB3DAAB /* SDLTouchCoord.h in Headers */ = {isa = PBXBuildFile; fileRef = 897C955F52B3CC643F621B391FE0E0CD /* SDLTouchCoord.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 59CAECCC79309B3484BAAB9997144D13 /* SDLSystemCapabilityType.m in Sources */ = {isa = PBXBuildFile; fileRef = E7271585FE01A8942488AA222DE3AB43 /* SDLSystemCapabilityType.m */; }; + 59E429B41FBD1AF0DC31AAFE203A786C /* SDLDiagnosticMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = A37889971568605D482199E64332631D /* SDLDiagnosticMessage.m */; }; + 59F1D49EF414749ADFD938A46FFE2E72 /* SDLGetInteriorVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = FBA716CC59FBC7633B82964878203C10 /* SDLGetInteriorVehicleDataResponse.m */; }; + 5AF1EBA29AB4A8847180272F72D31646 /* bson_array.c in Sources */ = {isa = PBXBuildFile; fileRef = 156154601077FD951E5C9AEEB63228A2 /* bson_array.c */; }; + 5B07AB7D077651E513AA9A2ED1CF44B4 /* SDLDeliveryMode.h in Headers */ = {isa = PBXBuildFile; fileRef = B3CAD82552831383429D5BFA74D39E8F /* SDLDeliveryMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5B1792B416C069B7D262E07E84F29E84 /* SDLIgnitionStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = DC22D9FCA0E86BCF2EB200AC5CB8E1AF /* SDLIgnitionStatus.m */; }; + 5B8D3395CC4E7B16F282021534A1B89F /* SDLKeyboardProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 496F8FA240630F82A3F2A1D13DF8A11B /* SDLKeyboardProperties.m */; }; + 5C437A40847C6E19312701C758CF4D27 /* SDLRTPH264Packetizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A5D8127E561291818D7A21C758371D3 /* SDLRTPH264Packetizer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5C521E0E378A0669EC6687EABC73348B /* CVPixelBufferRef+SDLUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = D73D5CCFC3959A9781B253DDEBD3804A /* CVPixelBufferRef+SDLUtil.m */; }; + 5C5BDD02AE87289FABF6D1E1D55E8620 /* SDLOnSystemRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 41B5153EEE7EBA7454C7569C8E96F5BB /* SDLOnSystemRequest.m */; }; + 5C6EC3B4AAB8284B0D2C2D673F8A6317 /* SDLUnregisterAppInterfaceResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 075A05913BC6F33B82BB059FE069BD5B /* SDLUnregisterAppInterfaceResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5D12F2534B91CD52D0F0C56CF0CB6D27 /* SDLDiagnosticMessageResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DBA36F74030B4F0E6662F5C79F37411 /* SDLDiagnosticMessageResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5D58DF92FE6CE32BE79D5D559E6CFFED /* SDLDeviceStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = FB7A1B092EFFA569A0209062DB70F20C /* SDLDeviceStatus.m */; }; + 5D8DF32389AB46560922E067FE0AC6C4 /* SDLLockScreenStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = C7C905D0B465F2AEBC7292AFD9059B7B /* SDLLockScreenStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E1950E995CFEBB2895EF04F61D72770 /* SDLModuleType.h in Headers */ = {isa = PBXBuildFile; fileRef = B8054C0141274D800ABEAD4C1769C950 /* SDLModuleType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E1FDFF0DF4769CCCCF4900C09B233E1 /* SDLEndAudioPassThru.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D3D807D79D5970559544493C272AA4D /* SDLEndAudioPassThru.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E2A4D95173D3879F8B9DECA7665C7DB /* SDLTouchEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 07593F3189E4191BA5055F4E3E6AAAF7 /* SDLTouchEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E316BDBF7BA14D7869ECF1990470200 /* SDLDeleteInteractionChoiceSetResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C9316AA5BC0CAEF9D3E3B44A05F3E72 /* SDLDeleteInteractionChoiceSetResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E4443EFA38A0E9D9356E31E93CD6194 /* SDLSoftButtonManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E0909068F2B40476D8DD18012ACEE182 /* SDLSoftButtonManager.m */; }; + 5ED42ED122955A56A12165FEAA266553 /* SDLSendHapticData.m in Sources */ = {isa = PBXBuildFile; fileRef = 71AD2A07C9CFE4A12C4EF8EDD7F55F03 /* SDLSendHapticData.m */; }; + 5EF2AE196488BFA83CD8CA7756F48187 /* NSMutableDictionary+SafeRemove.m in Sources */ = {isa = PBXBuildFile; fileRef = 98B6D6A6F9EE01A14C26E8C787AEE11B /* NSMutableDictionary+SafeRemove.m */; }; + 5F7C7801F2715031EC0DC8C0BF322C24 /* SDLPutFile.h in Headers */ = {isa = PBXBuildFile; fileRef = C6DF2C94DD0BF22417AAE9FD81EBA970 /* SDLPutFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5FE8EC1EBFBAC58BD6EF78358BCD2BA4 /* SDLLightName.m in Sources */ = {isa = PBXBuildFile; fileRef = FDD0F81844113F875E5530B74E5059C3 /* SDLLightName.m */; }; + 60125BE2D194F959E8B41E59AE5902A5 /* SDLResetGlobalProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 449521F0B43B71DD5E353197D1D06E3C /* SDLResetGlobalProperties.m */; }; + 6015D768048B1FF2C7D93F5AD3E9B89C /* SDLAudioControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = AE4BF1C901C2B8B8492E917831A635EE /* SDLAudioControlCapabilities.m */; }; + 60F18842E21833886C8FB23CB53BD584 /* SDLTurnSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FECF75926265826FDEA4124F3C90EF /* SDLTurnSignal.m */; }; + 619CC002A2516F79E03D6CF554719934 /* NSNumber+NumberType.h in Headers */ = {isa = PBXBuildFile; fileRef = 468C5536AC1C0F7231083ECCF5A80D53 /* NSNumber+NumberType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 61A5483B85509933A8FD8A9C0DD79570 /* SDLLockScreenConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = BCDC250868911E64709B0E0D0CBD42E4 /* SDLLockScreenConfiguration.m */; }; + 61FE567235554FC51922417BD35DD62A /* SDLGetInteriorVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E1A67020D9B2731251C24228133ACB1 /* SDLGetInteriorVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6201D5C7EB24ED976AAD8B7474A46AC0 /* SDLOnHMIStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = E93E46F79CD1636328C3E622271F2F2C /* SDLOnHMIStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62402E9F6585EA4BFFB41AD1688ED42D /* dispatch_timer.m in Sources */ = {isa = PBXBuildFile; fileRef = D155EBD2551C3459E8B41CA19D856235 /* dispatch_timer.m */; }; + 62849765FA318D1EE6F25BE2142CFD47 /* SDLVehicleDataNotificationStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 6803B20ED362AB70967B0C7055309A61 /* SDLVehicleDataNotificationStatus.m */; }; + 62BF3EE28FBFBA5CB49DAD3459171B92 /* SDLControlFramePayloadEndService.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4DA3080A6AFF4573043FADA7FCB772 /* SDLControlFramePayloadEndService.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6377C7E09DD017030CAD64860B15B8F0 /* SDLVideoStreamingFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = EF263A3DB489F2DFABE45E6A7B5EF757 /* SDLVideoStreamingFormat.m */; }; + 6385324515C13E42D57D36075A0FC12E /* dispatch_timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A865F676AEF73BD55A0E77571040471F /* dispatch_timer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 638569796129B05B2960F6135497396F /* SDLV1ProtocolMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = EDA3EFDEAD056017AB9C5A82679E99B2 /* SDLV1ProtocolMessage.m */; }; + 63D5C70769C0A8BBE254DA0612185BF1 /* SDLSequentialRPCRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 9254EF45C5191A8B292F657750380D1F /* SDLSequentialRPCRequestOperation.m */; }; + 640872600613401330E11A7B81EC41B8 /* SDLProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FA55B3AD506D7300199B1A88A4C1922D /* SDLProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 64359BE45C63371C5239DD515C7643E8 /* SDLMetadataType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DDA353CC3E6C2F475B1D16AC7477D4B /* SDLMetadataType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6436A7A4CBA712CAB6877C560BEC7842 /* SDLDeleteFileOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 19D811F2001EAF0E3140A317A15C2D2E /* SDLDeleteFileOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6453343C771486277D24FDAE17FA8C17 /* SDLSetGlobalProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = FB4C01D533FFC24E248651CE7EA674CF /* SDLSetGlobalProperties.m */; }; + 6471C1EA39AB6BDD493349BB0F3F5052 /* SDLDeliveryMode.m in Sources */ = {isa = PBXBuildFile; fileRef = F6D88BD30A20B4D257B7CF47581E9CAF /* SDLDeliveryMode.m */; }; + 64A03FA26A7101B6BCC79CE756523718 /* SDLSeatControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 157A50F80F2AE11FF47679C6EB949AE8 /* SDLSeatControlCapabilities.m */; }; + 64A1FA70011DC1E2C21168C60FF3D41B /* SDLGlobalProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 45965A5B18DF1E47D2154BD8A8FAC30F /* SDLGlobalProperty.m */; }; + 64E3700E866F1EF4E958A30E218BADC4 /* SDLUnsubscribeWayPoints.h in Headers */ = {isa = PBXBuildFile; fileRef = C9C4E34BF96558991703677F909C69A4 /* SDLUnsubscribeWayPoints.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 65A0562B9FD082EBCE7EE6BD8CD03CA1 /* SDLPRNDL.h in Headers */ = {isa = PBXBuildFile; fileRef = A50DEDE3CBA973F53236F30FA2FAB778 /* SDLPRNDL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66D0EE1DE1C35AE704F2EABD55682B64 /* SDLStreamingMediaManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D2FA97C41ABC4E9B58E7AD67F60EC9E2 /* SDLStreamingMediaManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66F0A4248266DE30C5660FC3E0C7D829 /* SDLGPSData.h in Headers */ = {isa = PBXBuildFile; fileRef = 396E2A6E63106E326669E7D49B49DEF8 /* SDLGPSData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 675267DB44A9C5A3A49616891C41FD59 /* SDLPresentChoiceSetOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = A327553C1C9C5ABD7E4229FEC523EB59 /* SDLPresentChoiceSetOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 678F5B3A655D04036EB44DD84E0060FC /* SDLTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B17A24A0D4554865BD3A2D6600A70C0 /* SDLTimer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 67E4D3D07E7C652B79B0DC9D37FC0B84 /* SDLPermissionStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = C3AD77243F4F153EACAAED070520ED92 /* SDLPermissionStatus.m */; }; + 67F2B71B297BD5B7A61826F8EE8D3EB3 /* SDLDeleteInteractionChoiceSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 294B2803493B4F22870B023507F06FC5 /* SDLDeleteInteractionChoiceSet.m */; }; + 684AE1E013C508054D4BB8A5264F4914 /* SDLAudioStreamManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 230B9E5E007D13813F3B04ACEEF59470 /* SDLAudioStreamManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 687F0FC1C9C0461816CAF03E60188497 /* SDLOnAudioPassThru.h in Headers */ = {isa = PBXBuildFile; fileRef = F69848BBB851E73A961ABD509A96FA9B /* SDLOnAudioPassThru.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 689DCEDD61B14AA9EB35BB6011B0FF9D /* SDLUnsubscribeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 9929B63756D6EFC654DDAE86E9C357D8 /* SDLUnsubscribeButton.m */; }; + 691B6D70692287E94DC8130566976727 /* SDLSubscribeButtonResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CD9E0DF1EFE3DE7FF4D549A53E52886 /* SDLSubscribeButtonResponse.m */; }; + 6923C05E7716FDBCF161524774C2F927 /* SDLEndAudioPassThru.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE6606F6C0D71B52E9372BC5167AEDB /* SDLEndAudioPassThru.m */; }; + 6993E23A089FA7816120DFB82DAC3578 /* SDLElectronicParkBrakeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 57E931AA5B67D1C316B05D9969D72FA3 /* SDLElectronicParkBrakeStatus.m */; }; + 69FB93D0116138B7E07F844C8EAB85EF /* SDLDefrostZone.m in Sources */ = {isa = PBXBuildFile; fileRef = BD56DFEDFD0199DD5616B314968F8800 /* SDLDefrostZone.m */; }; + 6A87455EC4D7876D3DA2E5BE5F5AF0E9 /* SDLModuleType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A53D998E7BE6ABB127ADBCB5D4437AE /* SDLModuleType.m */; }; + 6A948ECACEF216EBE9DDB24C6478D643 /* SDLLockScreenStatusManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 25C4802F58BEA5CB3120F017CF4F345C /* SDLLockScreenStatusManager.m */; }; + 6B1BFB30E6C8E61D070CF22A0D60EF5C /* SDLRadioState.h in Headers */ = {isa = PBXBuildFile; fileRef = A57F6B056F41644C1EB503B9714738C9 /* SDLRadioState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6B32F18C846F4543DE1158232607CB4A /* SDLSubscribeButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 35CCA10DFC8096AC5E016E46765C017C /* SDLSubscribeButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6B35838B0C178C20C8F9AA7B39AD2436 /* SDLRemoteControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E2EBD053D79C772222DE2E10B18D8FE /* SDLRemoteControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6CD9FA00A43F43A0895239773EFECE3F /* SDLScreenManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 242E4D08F5FC5F8C12AC9DA213999E95 /* SDLScreenManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6CE817B375D223147971E231C0C75D4C /* SDLSendHapticDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A13F7104F602D8CCF55BE328CCAF9BAC /* SDLSendHapticDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6D3EC75329E42B60C09DB45B4FE8F1A5 /* SDLDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 77E606788D8EBEE9E7E4BC5FE8E237A0 /* SDLDeviceInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6DA110ED4E5F99E15B2978088CCE0F95 /* SDLMutableDataQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = DD5EBB52421A1DB35F7FC66083B6A92C /* SDLMutableDataQueue.m */; }; + 6DDEBD45DBC204F6707EEE60817DF84C /* SDLUnsubscribeWayPoints.m in Sources */ = {isa = PBXBuildFile; fileRef = F0877301378FB5E31DC1FF839B052571 /* SDLUnsubscribeWayPoints.m */; }; + 6DF459A12E445476B870AFBD22EEDC6E /* SDLStreamingAudioManagerType.h in Headers */ = {isa = PBXBuildFile; fileRef = 60D99BD0A38FFE51A06990C44060C1B5 /* SDLStreamingAudioManagerType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E50FF0AFB0BD5AA002DA12EEB5DE34C /* SDLDistanceUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E9AE8F88AA007A3E77461413B3DB811 /* SDLDistanceUnit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E9DFC2CB83FEE9A4AFEA9AD7EE227C6 /* SDLOnAppInterfaceUnregistered.m in Sources */ = {isa = PBXBuildFile; fileRef = 54DC3D413110C5F46BA1C71A76E934EE /* SDLOnAppInterfaceUnregistered.m */; }; + 6EA08212E297F9E760FDB281CCE92EFD /* SDLFunctionID.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B5958E143197424F748276D3BB21607 /* SDLFunctionID.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6EE15D9FAFC9ADFE4A9A0AA14DBEFCCF /* SDLHMIZoneCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = DA0377EB4FCDD2096F6E8366E5B16C09 /* SDLHMIZoneCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F15506076F3F351F97967128708885B /* SDLPresetBankCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 272E5831D3FF424605127427E7A90BC3 /* SDLPresetBankCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F380499045F205FAE7E1D8BF98179B7 /* SDLMassageModeData.m in Sources */ = {isa = PBXBuildFile; fileRef = B4B24D0A8CF05DE6367A50C62E6BB4D3 /* SDLMassageModeData.m */; }; + 6F3A11071AAAAB089CAFF163A89E33C6 /* SDLRadioControlData.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F6D75EF40F4FAB836D0BB49BD187336 /* SDLRadioControlData.m */; }; + 6F43639A1BCFD9F961DFD27B0FF5ADD2 /* SDLRPCResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FD44B3ACC314A595F73DDE8C41B4345 /* SDLRPCResponse.m */; }; + 6F489960F374B7AD6F326CEE9496523C /* SDLGetVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 824EBA2B2FB87B435FB19A9D74F6FE70 /* SDLGetVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F6B40B2CC73CC75F8F089F7F460035C /* SDLPrimaryAudioSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FF369F4106991D828A148129F2E8B0A /* SDLPrimaryAudioSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6FABBA50253B6A9D25C9285817C97E31 /* SDLFuelType.h in Headers */ = {isa = PBXBuildFile; fileRef = 18E76DED3EBCF8F68EAC43044C919DBE /* SDLFuelType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7068C62C81BC53E62B4E56697908FBB8 /* SDLTextAndGraphicManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EC69CB6F6EE1A9CE6603EC0C528E22F /* SDLTextAndGraphicManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 70A3EF519C0F612927B5E8D0E787FD6C /* SDLOnButtonPress.m in Sources */ = {isa = PBXBuildFile; fileRef = F75470D9588DBC08DC94E74BB7E678F4 /* SDLOnButtonPress.m */; }; + 70A85F0E16284719A8CCB392E2F37115 /* SDLStreamDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E88F2B657B46A7ECC846CDFFF5390F31 /* SDLStreamDelegate.m */; }; + 70C704BD6E1E11AED47E7DD908749648 /* SDLDistanceUnit.m in Sources */ = {isa = PBXBuildFile; fileRef = 140FFEF6BCEE5E988BE93C6C07C53F70 /* SDLDistanceUnit.m */; }; + 70C8FA5936878326DCDFCB8B2D8D8CF6 /* SDLOnRCStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 31CDA2AD721D16F7CB22C8FEB7BF1900 /* SDLOnRCStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7164A7E8BA2EBEE0EDD857AB70B1C470 /* SDLScreenParams.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C6E41A82E5A6888918B0B8014D20735 /* SDLScreenParams.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 724A1144F6F9981F9D5BA1F6B7CAD6B5 /* SDLTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = 67B626A3DF2C3F1EFB63B489EDD72508 /* SDLTouch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7277022B57CFC404A1EB8857A1CDF021 /* SDLGetDTCsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E2ADED48EF297BC164761232F2B6215F /* SDLGetDTCsResponse.m */; }; + 72D0F8CE4CAFAF66BCCD89088FFA6164 /* SDLOnAudioPassThru.m in Sources */ = {isa = PBXBuildFile; fileRef = 05CFD8AB043CBDA71EE6189923FD98CE /* SDLOnAudioPassThru.m */; }; + 73080D254467A5B7B0544ABAFF474274 /* SDLButtonEventMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BEB89763BD1E176E41C5EBB3826F50C /* SDLButtonEventMode.m */; }; + 7358421F622FE594A4276021A5C124E2 /* SDLChangeRegistrationResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 627289BC87F3B0D346ED8F78C3279330 /* SDLChangeRegistrationResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7397FD913BC034E932B3090DE6B570D6 /* SDLControlFramePayloadRegisterSecondaryTransportNak.m in Sources */ = {isa = PBXBuildFile; fileRef = D1EC5DED346FD7BB7895AEBE3DFECB5F /* SDLControlFramePayloadRegisterSecondaryTransportNak.m */; }; + 7462E7EB73EE5F66A111FDBC628E92EB /* SDLHMISettingsControlData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D3777E8781C62321F0499DD71507012 /* SDLHMISettingsControlData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 746FF0E71473A927DAF049430D5F2054 /* SDLDimension.h in Headers */ = {isa = PBXBuildFile; fileRef = 7276A699E37C828398FD98759C45D7B5 /* SDLDimension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 74F68BB605550B1170CA892F522DBEE2 /* SDLSamplingRate.h in Headers */ = {isa = PBXBuildFile; fileRef = AE2A8A0E7CAEFE4B324B71C286DAE1CC /* SDLSamplingRate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 757AC3096594B571097AB04B242DA216 /* SDLReadDID.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA642FC8AF9F46DC3E8AE79DDE2E472 /* SDLReadDID.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 759E2DFEBA77AB77AC3841384A4642F8 /* SDLListFilesResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 23D2C8F579F60C519B6CD10AAB64E9D0 /* SDLListFilesResponse.m */; }; + 75D5B0EBD0FD6C50F0689C4989661209 /* SDLMediaClockFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E5B936160771899CBA8BD8776D883F5 /* SDLMediaClockFormat.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 75D810843E2A0E4FA90FACFFE42AB56F /* SDLKeyboardLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = FB7882BBC66764C5C31631C3E44872D9 /* SDLKeyboardLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7663F4D01A32404CB6A0B75C791FCE66 /* SDLMutableDataQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 2920908C8251D21559604E07DAE9CC4F /* SDLMutableDataQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 769FA72939C4B110B101EE74EB4F5360 /* SDLAlertResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 209D2EF1609225256F98BE7E93F0E3D8 /* SDLAlertResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 76AE451EE727182D27416E47091AB4F3 /* SDLH264VideoEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FEC2CD895899EA829A11AB6F3A45BB8 /* SDLH264VideoEncoder.m */; }; + 76CCB2091B2141F0DE187DEDF9CEB84C /* SDLShowResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AF600A0C57267F1F8E415344E6BAFFC /* SDLShowResponse.m */; }; + 76DD5F04C9D0EFF928EFE824F480388E /* SDLOnTBTClientState.m in Sources */ = {isa = PBXBuildFile; fileRef = 8920D3ACDD019CFE7D7EC52C8C57C6AA /* SDLOnTBTClientState.m */; }; + 7716C0BB0E2A2EA9A0EFD9505E71D45D /* SDLClimateControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 599BA3E45332CFB483D279AAB352F58E /* SDLClimateControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7746DA8115BFA3F56B0E3CECF27104B7 /* SDLTextFieldName.m in Sources */ = {isa = PBXBuildFile; fileRef = 613CB777291FE463B847AB0CE424E3E2 /* SDLTextFieldName.m */; }; + 776242583F47FE5061962145742DFD9D /* SDLTurn.m in Sources */ = {isa = PBXBuildFile; fileRef = 567704385F3D6A56D7306254057ABE58 /* SDLTurn.m */; }; + 777B60664323D91B12134EE0BF4121B2 /* SDLFileManagerConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 72A178D46F20374B4187B44480590E7B /* SDLFileManagerConfiguration.m */; }; + 77982001C189F612C9F6EBD7141F0845 /* SDLSubscribeWayPointsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 37D8092920B8E5E088E7054B0E3942B8 /* SDLSubscribeWayPointsResponse.m */; }; + 77A71EAA82BAB13693880A019AD0B2F7 /* SDLAudioStreamManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E3BF372C29FFEDC636D34D2F7BADCAAA /* SDLAudioStreamManager.m */; }; + 781AEA16368564E74F2D0E43DC20D7E9 /* SDLFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EE41E56DC2D82CBE3A4B6F45276F73C /* SDLFile.m */; }; + 783B704F7AE68B152C43E52B371B7BDE /* SDLRDSData.m in Sources */ = {isa = PBXBuildFile; fileRef = FB5934EB6BF2DD837A0DDD267F040DC8 /* SDLRDSData.m */; }; + 784C343D84C571A9BEB4CE3475052D4F /* SDLClimateControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = BF5E57DB0AA0B5AA154EA5AEA8AA3469 /* SDLClimateControlCapabilities.m */; }; + 785603287327EDE2E8CB19C650E46E35 /* SDLSetMediaClockTimerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = EBC44269990CF3B877BB2720CEC9CB74 /* SDLSetMediaClockTimerResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 786DE4402DE0397F432C0614F6F5D1C9 /* SDLClusterModeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8E57A241FA68D63DC62680BD9828FB /* SDLClusterModeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 78714ABA9091EDC61A1532C19CEF622C /* SDLSetAppIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 11932588F33A92E88B06122013AB8F35 /* SDLSetAppIcon.m */; }; + 787972CCEDF25360956170291DC29744 /* SDLStreamingMediaManagerConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D2C578E5041CA51DAED52E0CA76D5B99 /* SDLStreamingMediaManagerConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 78B32A463421A20D742629D3899757EE /* SDLAddSubMenuResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 22FA33898196119A09E11F83C8B822C4 /* SDLAddSubMenuResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 78B6E75E6E07E1C52EC9D077C61170D8 /* SDLSetDisplayLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 318E7D64E2E03688E5466308C0C8EAD0 /* SDLSetDisplayLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 78C1738424A8DA7F057E3394302AF48A /* SDLSoftButtonType.h in Headers */ = {isa = PBXBuildFile; fileRef = D9D727BA4020333B94CAAB14C5548B42 /* SDLSoftButtonType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 78FD1DAD8440B443E2EC83997DF47F1A /* SDLNotificationDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = D7DD122ECD04717DF72D111757B25D26 /* SDLNotificationDispatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 79A8011035A5ED9C33769968D9F02C0C /* SDLLightState.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E7D99673CE2765D739C37675F9E6800 /* SDLLightState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 79C6CE11C7DF25024C6679A5DB1F4FAE /* SDLProtocolReceivedMessageRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F116A936C935377D447B23EA176F852 /* SDLProtocolReceivedMessageRouter.m */; }; + 79E37A64DEFA4B2F78CD1D7285440A4C /* SDLGetWayPointsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 69EA01C2187093B7478259DDCAA70FFF /* SDLGetWayPointsResponse.m */; }; + 7A3E7ABDBE6A87ACD034680F232F6ED4 /* SDLCarWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = AFF7A262EAE52FF8DBB294F33EA13B91 /* SDLCarWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7AA91B2E529CBF170D94D7517000D8C9 /* SDLProxyListener.h in Headers */ = {isa = PBXBuildFile; fileRef = A2A0B72BF01B26F54F317403448BC95C /* SDLProxyListener.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7ACB3CE55A4AC735DA8662EC6501EEFA /* SDLMassageCushionFirmness.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D6C98D5009149E1EBB3CB41C86D68B8 /* SDLMassageCushionFirmness.m */; }; + 7B7F4C3B894E9E410F1719500F12F018 /* SDLModuleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4399C0A212B0ADF6F7FC0F8BE41255 /* SDLModuleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C24C1FF5B42A7B232F6D3863D956603 /* SDLPermissionStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B67E7C32818DC46A3AEFD981A52B59B4 /* SDLPermissionStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C976E665344372DA60F4309CD8553A7 /* SDLRGBColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F6ED7ED1A5D6F4B1FF1AE4ABAAE5CC9 /* SDLRGBColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CAE7568850D1AA81715A2EF9F9815AB /* SDLLockScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B13E714E9CFF859E95191063BF63F15A /* SDLLockScreen.storyboard */; }; + 7CBFDD61D75E8B7A0F25E3FA795820C2 /* SDLOnVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A8536C9E1E43EAA321587775D6769CE /* SDLOnVehicleData.m */; }; + 7CCEC1E66E94041D1F74F9CF22E21F50 /* SDLInteractionMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E3A2064E0524131FC651270B2D6B5BD /* SDLInteractionMode.m */; }; + 7CE26F1A66FB46B9FE889042A76408FD /* SDLDialNumberResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = D20EED6DBEE6CA1DD9E9548FAC44753B /* SDLDialNumberResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CFBA7D2F01E5D1593312B5CB73ABF13 /* SDLGetWayPoints.h in Headers */ = {isa = PBXBuildFile; fileRef = 04546B8E310BE2EF2A7229A62D91C44E /* SDLGetWayPoints.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7D0F53729B80BA2F3DB3CE67B31FDC04 /* BiSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CDD3D2D0CF385680EB87073079FCBB8 /* BiSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7D22E37A70C6734FB513539B67D8D57C /* SDLTextFieldName.h in Headers */ = {isa = PBXBuildFile; fileRef = 6263819ACF21688B5F135FFFFADBDDFF /* SDLTextFieldName.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7D6FF10BD398DDB43B07B51E5B2BDD86 /* SDLClimateControlData.m in Sources */ = {isa = PBXBuildFile; fileRef = 46852D0AC965ABFD040C0CBC94BA7ED3 /* SDLClimateControlData.m */; }; + 7DA0AC10F035DC7E6330F5738A07F804 /* SDLEmergencyEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = ED1462950A60906FEC2552CD8926221F /* SDLEmergencyEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7E0C562145A87C039B0760E3E95A3EFC /* SDLLogConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = DE91B9B41F921F65A15BB1A61C45F3A1 /* SDLLogConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7F1FC25EA0852CF016F1DE044E3AF9BA /* SDLTransportDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C75F3D86ED3595011FD0EF82DEE4B281 /* SDLTransportDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F2F0C20D109DD27352C422FF2D10BF2 /* SDLIgnitionStableStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 8511C1F0379CE4B64BA23E97F063E0F8 /* SDLIgnitionStableStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7F2FA0BF4A1EA840E50CBC116B9E06BF /* SDLECallConfirmationStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 477073728CED1665888DAB004B490CE1 /* SDLECallConfirmationStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7F41F9E5C935DE00F69F9446B0C02FB0 /* SDLSystemCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C2874B5B64A663350964F44E1ECA561 /* SDLSystemCapability.m */; }; + 7F6436B3FF706FA2681113944117A4F4 /* SDLOnKeyboardInput.h in Headers */ = {isa = PBXBuildFile; fileRef = B4154878A32585ABCD9B57764494D6F8 /* SDLOnKeyboardInput.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7F83B8D30D412264CB064FBCA65280F7 /* SDLRPCPayload.m in Sources */ = {isa = PBXBuildFile; fileRef = 906B43B3B42C2419F13B44D7649B956D /* SDLRPCPayload.m */; }; + 7F95596B16851C7F2C54180FC0777A21 /* SDLMaintenanceModeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = D71FED2BCC771A573C90BD4F83AEFDFF /* SDLMaintenanceModeStatus.m */; }; + 7FA0297BD2724D838BD70099450698EB /* SDLLightControlData.m in Sources */ = {isa = PBXBuildFile; fileRef = F3F9A0650155304168FA15D074849F22 /* SDLLightControlData.m */; }; + 7FE813856BB80DB6CEFF1C7E5882006C /* SDLTPMS.m in Sources */ = {isa = PBXBuildFile; fileRef = 8592C8905CFA25913170F954352CB90D /* SDLTPMS.m */; }; + 800B5BDB6D355F95E41BDE9E48CDF6D2 /* SDLReadDIDResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 775FFE7FBE19948FC9401B4F0776F397 /* SDLReadDIDResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 804B8220D4707682A8FA3F55A42A8B7F /* SDLRemoteControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 9045B17D93E29F5654B083F0E3B91871 /* SDLRemoteControlCapabilities.m */; }; + 816F4CFFE91C7D74124ED71DBAB0C286 /* SDLEncodedSyncPDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 04992831D25E1188652283952664EC71 /* SDLEncodedSyncPDataResponse.m */; }; + 81B60E21B42BEAE2B1067348CC1151D8 /* SDLStateMachine.h in Headers */ = {isa = PBXBuildFile; fileRef = FAAFF0562BE405586BCF1FDDF36AE5ED /* SDLStateMachine.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 81B622E5CB6CB2D43A77962869486595 /* SDLAppInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 23EE9A21D80BC70F8C3386F5544D3716 /* SDLAppInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8265AF842FC74F52B21E42CB7BBA5F46 /* SDLDeleteChoicesOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 72D57C660CB1CFDB78815F561CA5B9C1 /* SDLDeleteChoicesOperation.m */; }; + 82C83C702C0EECAF4017163557F3FA8F /* bson_util.c in Sources */ = {isa = PBXBuildFile; fileRef = B5B713A7888C5CA5C3D01DB96C67E877 /* bson_util.c */; }; + 82CBBE4620700F92B289B34597B60B59 /* SDLLogTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = F24E7F5DD21FD40A9EA898618D233EC9 /* SDLLogTarget.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 835C88CAD5F6D267574720BED6A0CD97 /* SDLVideoStreamingCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DBFF64D9B2AD1BA9EE49B1585A50913 /* SDLVideoStreamingCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83753EBED7DB7EFE978690DC635F9C91 /* SDLOnTBTClientState.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C44944669F93F4CD5B2A347BC128591 /* SDLOnTBTClientState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83D66C311A68AC9FE1602F18A540186C /* SDLAudioStreamingIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 19C8E45308B74793CF2A9B319797F667 /* SDLAudioStreamingIndicator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83DB672B245743109384B786A824D9D5 /* SDLControlFramePayloadNak.m in Sources */ = {isa = PBXBuildFile; fileRef = D48BBF34727DF6DE38DED9EC43E5E939 /* SDLControlFramePayloadNak.m */; }; + 849D05FD8CC51033404A1F6BA659FFF0 /* SDLEmergencyEventType.h in Headers */ = {isa = PBXBuildFile; fileRef = D16AA0C2FE332401CE7F57F13834F32A /* SDLEmergencyEventType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 84BC28431CE62A0DC048B62F0355C56C /* SDLVoiceCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A475293FD2E00B06407A29CE402B3CE /* SDLVoiceCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 84BCD25F112313EF4F15675D3A650A3A /* SDLProtocolMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B152F340FD0B7F3F3070CC16D3CA123 /* SDLProtocolMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8522A1A57853E7CF7C31DA0A7A4AB0E3 /* SDLMenuManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0111E8E88553B97161A2721E1AE43A1E /* SDLMenuManager.m */; }; + 8537418E304BA431B24196D5DF17D90D /* SDLControlFramePayloadNak.h in Headers */ = {isa = PBXBuildFile; fileRef = 73BF15804B3C2E102BB06B6A1FB46829 /* SDLControlFramePayloadNak.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8543F60F5BA6080AC723E1AC53854113 /* EAAccessory+SDLProtocols.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D9C9895A536BD8FB295228F8BF0398 /* EAAccessory+SDLProtocols.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 858549FFA24533E78E3F4CECF92F262B /* SDLFocusableItemLocatorType.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FA676189DA006AC1F36A4F3A550F0D8 /* SDLFocusableItemLocatorType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 858C3DF22080180C08F0980AD34A89FF /* SDLTireStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 91BDA2325DA14618CF06ECCE83BAA12C /* SDLTireStatus.m */; }; + 859097EF70C7B5BBFD63FDB2EA23C662 /* SDLProtocolReceivedMessageRouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD2936B444045437D2B8385225ABCD1 /* SDLProtocolReceivedMessageRouter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 859B69F68E9CDA169469B014F93CFF09 /* SDLButtonPressResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 50B52EA74D5660706430668E12DC6C34 /* SDLButtonPressResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 861219BAC33161FABE35382945E05D5D /* SDLCreateInteractionChoiceSet.m in Sources */ = {isa = PBXBuildFile; fileRef = C343EC627C793FA593EED8C0AD723864 /* SDLCreateInteractionChoiceSet.m */; }; + 869F21A1E29089A877752C424560023A /* SDLRadioControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 62825F78AC67E047CDD779B82434FFFB /* SDLRadioControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 86CC298B59D86368CE05871D9544B024 /* SDLParameterPermissions.m in Sources */ = {isa = PBXBuildFile; fileRef = F0FE7D045A05C40642E1D494C142ADE2 /* SDLParameterPermissions.m */; }; + 8768410D76920D09B094F699B31235F4 /* SDLSubscribeWayPointsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = D4F1CB611287E0564A46366E467F2B99 /* SDLSubscribeWayPointsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8813BE16A05532E0C390B98240FC4C92 /* SDLTemperatureUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A44B618A753930AEB7AB149D4B8216A /* SDLTemperatureUnit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88D8A69F374852EE90264942E3534F74 /* SDLImageType.h in Headers */ = {isa = PBXBuildFile; fileRef = CC2CF1557DA0FDB593F5A186F18275B1 /* SDLImageType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88DA25C0BE006FCB2279BB1A6C976F4C /* SDLCompassDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FE9C23070AA78567710035A0CBD5AAD /* SDLCompassDirection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88DEDA2DC0F96EFB29F541C4D70AC91F /* SDLVideoStreamingCodec.h in Headers */ = {isa = PBXBuildFile; fileRef = E8C4C7AA6A5BC02EF4D43A491686D9EA /* SDLVideoStreamingCodec.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 891252AB8734EC4A6D2787E7C37C981A /* SDLLockScreenConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AFFD1A7B3E62B4C607E8E8C4787F6D /* SDLLockScreenConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 89AAE75E084941AB4DC95BC6170B0423 /* SDLComponentVolumeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C1D3256D905B03474679371A70F0D78 /* SDLComponentVolumeStatus.m */; }; + 89F9CC51698C7CE001EB2AA56B413072 /* SDLSetMediaClockTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 82983133771C2647E3DB3C7CFCCC1923 /* SDLSetMediaClockTimer.m */; }; + 8A13A50A3BCFE1E95F5D0294DF0729C9 /* SDLRegisterAppInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B25AD2C3F432E69C3F7C65A1FD3AF35 /* SDLRegisterAppInterface.m */; }; + 8A993F6473BDF02FF0BE27F6D0090945 /* SDLSoftButtonObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D7A37098585D1F6516F67BC762B9572 /* SDLSoftButtonObject.m */; }; + 8B8F050BB059033CE82056F8B3AA1422 /* SDLTouchManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EBBAF147C064ED2D11A1F98C0FDD1B2 /* SDLTouchManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8BC6E562601625464A53BC742A91365C /* SDLAsynchronousOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = E8D76C1021781ED7448582B85A5F97EA /* SDLAsynchronousOperation.m */; }; + 8BCAE1C114A5E67B3A5ACE4C6AAF7A74 /* SDLOnLanguageChange.m in Sources */ = {isa = PBXBuildFile; fileRef = CFB25071577FDEADE8D9DA79FCE735B8 /* SDLOnLanguageChange.m */; }; + 8BD7401C23DB6C1771107EB9E6C5E198 /* SDLControlFramePayloadAudioStartServiceAck.h in Headers */ = {isa = PBXBuildFile; fileRef = F3C46E32597E5AC52E2AF0079E7550A6 /* SDLControlFramePayloadAudioStartServiceAck.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8BDBA188EE37C24C29B742DFE65D3220 /* SDLLogTargetFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FF46BF4BEB8FEB342F1AD40824347D9 /* SDLLogTargetFile.m */; }; + 8C6D09960AD4258C1FBEAD9661CEE7B2 /* Pods-MobileWeather-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F63F1BC5EED51E8F4A0CC89A563E14B /* Pods-MobileWeather-dummy.m */; }; + 8C8F935BE65EB35F0E8AE6726390EE7B /* SDLVideoStreamingProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B7878ADF0F0D6A17DAE063071E6CA8D /* SDLVideoStreamingProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D3B4AF8D23A9F7DB6AB859C69156FA6 /* SDLOasisAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D2CD286B7D32EA822FA311A2885651B /* SDLOasisAddress.m */; }; + 8DA1C57ADF79BF80EE4695C6CF9FEE4D /* SDLVoiceCommandManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F2B21041C8038135FEF53BB001EF0F91 /* SDLVoiceCommandManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8DA880DCDE62B93A8B72040B2F3D6DE7 /* bson_object.c in Sources */ = {isa = PBXBuildFile; fileRef = E435A1D99AE03AAB0AF44855E77E5EA0 /* bson_object.c */; }; + 8DEBA1421C4DD7D3A9595087D4FA4E2E /* SDLDialNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = F07B93A82B076C766CF6D8E8DD56F230 /* SDLDialNumber.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8E352B731B8D43C9B57913C974585A10 /* SDLUnsubscribeWayPointsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ED1206D735E32E869AE7B5BDA210D19 /* SDLUnsubscribeWayPointsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8E8ACC9765AE19DC38F34CC924DCFE9B /* SDLUnregisterAppInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = B96911424DB8E68C3F7A172EE62500E1 /* SDLUnregisterAppInterface.m */; }; + 8E9B107A40C3460FB540F154FFB49BC0 /* SDLListFilesOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 2032173FB118D500BFD0E7DA8D151574 /* SDLListFilesOperation.m */; }; + 8EA3AB26A43188089B88B94C7DE08F0B /* SDLBeltStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B024EAAE8FE8613F0B95316436C6A9C6 /* SDLBeltStatus.m */; }; + 8EA68FBFA7BBDC1E219596A73B121187 /* SDLMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = DA84D035271BEC110F9662786D43FBD4 /* SDLMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8EF3ABA3CA3403D40675B8DF873BE0B5 /* SDLRegisterAppInterfaceResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CB4AB147F798B079321105636F4622F /* SDLRegisterAppInterfaceResponse.m */; }; + 8F296101D47FC1947CA562C2FE18F52F /* SDLSeatControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 03E8ABDBE6E613232D8983F9512CB9A5 /* SDLSeatControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8F652C9DFD39903EB774478F3919DF53 /* EAAccessoryManager+SDLProtocols.m in Sources */ = {isa = PBXBuildFile; fileRef = D322261099FDC3DD07B50C9CC5B1D750 /* EAAccessoryManager+SDLProtocols.m */; }; + 8F67745B0596A71442906332D380019B /* SDLLocationCoordinate.m in Sources */ = {isa = PBXBuildFile; fileRef = 465CA59A8B0DC98C5EF708EAA534686B /* SDLLocationCoordinate.m */; }; + 8FA6FDBF6D81BD1B23490E769F293984 /* SDLVehicleDataEventStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = AD448DE63DDE2D4588D5BCFF9FF3CED6 /* SDLVehicleDataEventStatus.m */; }; + 90A1A5F00F12FEA450305FDB8DA22633 /* SDLOasisAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = CF7790CE899A39C998556055A1E7D05E /* SDLOasisAddress.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 90F9085E102C7CDDE4CCB42C81782F8A /* SDLOnLockScreenStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = D27E5CC47CABA4801370B09E862441BE /* SDLOnLockScreenStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 90FB25EE09CDEE341453FFA847FBCAF7 /* SDLDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 12B0F792AFBD733E34339ED1088AD36E /* SDLDeviceInfo.m */; }; + 913F900A3AC826216BB2009A6733D1D3 /* SDLGlobalProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 82541979FF412D8D3EBDE11F3B67A44F /* SDLGlobalProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 91AD5EF96211EFE7FBF554AAE63C5E71 /* SDLHeadLampStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 40A128D8E15179FEFF5E6E00D350F202 /* SDLHeadLampStatus.m */; }; + 92A53AB6471AAB551EA6F4D2AA5D5970 /* SDLPreloadChoicesOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D715B7E1E49032AE4CB109BB45DBBE4 /* SDLPreloadChoicesOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 92F3D65CBC805FF006AB22F0C8641965 /* SDLRPCResponseNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 806DF22E4F83CEC997C374E69488DD96 /* SDLRPCResponseNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 930D36D2C2CFB72D4B2C3A01D36D8278 /* SDLOnHashChange.m in Sources */ = {isa = PBXBuildFile; fileRef = BB6E2F8ABEE4FC81BB4C0673B65E197F /* SDLOnHashChange.m */; }; + 932CE5DA675E60B3C981DB384E9DF021 /* SDLVehicleType.h in Headers */ = {isa = PBXBuildFile; fileRef = A89A9EFD2D36F49E08C182ABDCE2991F /* SDLVehicleType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9354EC7D6C645D3D684A0420AE46C73F /* SDLSystemRequestResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 01927F53ACFE6C35599C291FAECAE508 /* SDLSystemRequestResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 93E7DF6ABAB0B63BCF3A43F04806CA92 /* SDLTouchCoord.m in Sources */ = {isa = PBXBuildFile; fileRef = B13627FB4B377D445F3A6608F656BE31 /* SDLTouchCoord.m */; }; + 944EAE83486EADA35F0A0957440A30FC /* SDLSendLocationResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = EA6D4C3D5EF2FDAE040D325A759CB6BB /* SDLSendLocationResponse.m */; }; + 94AA8314B82E73293B721B3103718D68 /* SDLUnsubscribeWayPointsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = BD7E70381BF9886C592D42AAACE7D474 /* SDLUnsubscribeWayPointsResponse.m */; }; + 94B42CFC4C940C7C72952993D42D7909 /* SDLVentilationMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B3C337257E971AE52091FADEA1E69BD /* SDLVentilationMode.m */; }; + 94C192D6CD9EEB91C139154B12E3FE97 /* SDLTouchType.h in Headers */ = {isa = PBXBuildFile; fileRef = DAE97070D2DD7177A7C271893521CA74 /* SDLTouchType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 94E4A781FA4063E85C9A4FD45660EBB7 /* SDLKeypressMode.h in Headers */ = {isa = PBXBuildFile; fileRef = C7B0E1C7EE33B7EB279CD11839EE6739 /* SDLKeypressMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9535545C5CCEB1727A7FDD58F4472585 /* SDLEqualizerSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = A874BEFEF52CB9BA5367A462CDEEADAF /* SDLEqualizerSettings.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 95C30385C00538D6AD46FF3B45B58543 /* SDLRPCStruct.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C1ACD7149C1EA7C8D901437F63FF9B4 /* SDLRPCStruct.m */; }; + 96303796E0911FC98A50B810061DC683 /* SDLFileType.m in Sources */ = {isa = PBXBuildFile; fileRef = 0ACF94031C97BEE9B67254A7A1FD9DCD /* SDLFileType.m */; }; + 9638A2B8DCC8F94FCB32EEDB97FB5E3A /* bson_object.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AE0C41A32832B291234AD2D5DDA906A /* bson_object.h */; }; + 964C64B372CE0D95A9D5E598846FE2F8 /* SDLUpdateMode.h in Headers */ = {isa = PBXBuildFile; fileRef = AD6E04FFE3A2EB19E5F08CB202D45045 /* SDLUpdateMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 969FB5BDFE1E1390A4B59B44B78194BC /* SDLVehicleDataResultCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 962BB9FDAFCD322B51AFEAA3F30F88C5 /* SDLVehicleDataResultCode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 96E47B55DC6DB8E5B2764DB1F2DD99F3 /* SDLButtonName.m in Sources */ = {isa = PBXBuildFile; fileRef = F783AA681B65EB189DCDDBF0D479C97C /* SDLButtonName.m */; }; + 973BBB450E46C22063DD9BAEF384D18D /* SDLDeleteFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 55FBF2206E466027D718DFFDCE35B916 /* SDLDeleteFileOperation.m */; }; + 97996A8675B8EFDB46D6108CDCA8764C /* SDLLogTargetOSLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E68E92B02B4CA38AF0E73923EE34217 /* SDLLogTargetOSLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 988933F47345563E06CD83A33A2497B6 /* SDLAlert.h in Headers */ = {isa = PBXBuildFile; fileRef = F8422108EBCA981187191FB5C1C6143F /* SDLAlert.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 994313BB8B5E490016DD97E6DAFA38C2 /* SDLScreenshotViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D75553FBF05C6083BCE6F156DE8AFB6D /* SDLScreenshotViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 994808B23DAB46CCA68B9AFEE5AA1810 /* SDLLogFileModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B40E200FFCC2C033F655E0762F736EC /* SDLLogFileModule.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9963ED0F7988732750C0516556DBAD4B /* SDLFuelType.m in Sources */ = {isa = PBXBuildFile; fileRef = 16CB44DA8808ACB9442032A9896329A8 /* SDLFuelType.m */; }; + 99655449FA6C22312D322E788018DA07 /* SDLAlertManeuver.m in Sources */ = {isa = PBXBuildFile; fileRef = E521173FA983C64B20D3C21020B9DAA0 /* SDLAlertManeuver.m */; }; + 998696CF7E4C4635B7866B440F36390C /* SDLDeleteInteractionChoiceSet.h in Headers */ = {isa = PBXBuildFile; fileRef = B03B3A058C9D0BF765F99E1614A30742 /* SDLDeleteInteractionChoiceSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9A07DA3DAA36B7AB9A76ABDB3EF0C614 /* SDLGetSystemCapabilityResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A6B8D51F0041FD1CAA462F5ACAF4C92 /* SDLGetSystemCapabilityResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9A1D30D7941623B78C80B13034F85CAA /* SDLSetMediaClockTimerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 55A7A1220C06CCE1A9A4550B36EA8D03 /* SDLSetMediaClockTimerResponse.m */; }; + 9AD204320DEEEFCC935A51AC0E8AD022 /* SDLControlFramePayloadRPCStartServiceAck.m in Sources */ = {isa = PBXBuildFile; fileRef = C534A8E7EB957888755A23CAD66D7EA1 /* SDLControlFramePayloadRPCStartServiceAck.m */; }; + 9B1553AD58BCAD6C76ADC2FBF49B965D /* SDLFileType.h in Headers */ = {isa = PBXBuildFile; fileRef = A67726019D1949E4970552C764865F6C /* SDLFileType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9C032EBF1A2F7D118592980A8F2B5972 /* SDLDiagnosticMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 72EC467B07A1E6122174621820BE095D /* SDLDiagnosticMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9C79AE73E65C63E06E551EA421B90DA0 /* SDLButtonCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 2336A40D34E885F254A79371F2D5B37E /* SDLButtonCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9CE741D0B5CFA7C1782FA1CDAEE6EA87 /* SDLObjectWithPriority.m in Sources */ = {isa = PBXBuildFile; fileRef = 24B9F83191862C3DAB127D040D7E84C4 /* SDLObjectWithPriority.m */; }; + 9D2B5BC81F36332FAA2C687D2C6D8191 /* bson_array.h in Headers */ = {isa = PBXBuildFile; fileRef = 094669C6706179A5AC880CA3B34CBE24 /* bson_array.h */; }; + 9D2ED0822374AFBFA643EB06818A8E53 /* SDLArtwork.m in Sources */ = {isa = PBXBuildFile; fileRef = F0EB0D36D05552D95A93CA685238686E /* SDLArtwork.m */; }; + 9D973B2FD8134B223C95C435F2ACF9DE /* SDLChoiceCell.h in Headers */ = {isa = PBXBuildFile; fileRef = DD018BD08DF216E04E994B4422402959 /* SDLChoiceCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9DC9EB76C1350A19BB7B96D0F33195ED /* SDLAddSubMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 8656F2DCBCA042060742160FFB6A86F8 /* SDLAddSubMenu.m */; }; + 9E6917D8CD6BD3DB0895114934894D7A /* SDLDeviceLevelStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = E631F9263CC1D82E8E2ED0FF4AFC488B /* SDLDeviceLevelStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9E98FCEE1AE1AABD075AF6F88E5A11F9 /* SDLDriverDistractionState.h in Headers */ = {isa = PBXBuildFile; fileRef = E5EC9ECC5F4F6ACD12B895CEC09422D0 /* SDLDriverDistractionState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9EBCE76DE98833613834363DB468BB91 /* CGPoint_Util.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B67A0A948EFB9B13F0BD857E76ABAF1 /* CGPoint_Util.m */; }; + 9F370913738F86970698DAFB0A38971E /* SDLPresentChoiceSetOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A46CDE4067982A9BB8B1C7265FA9B12 /* SDLPresentChoiceSetOperation.m */; }; + 9F4FDA9BDFC9DD7866A89040EB346078 /* SDLSyncPData.h in Headers */ = {isa = PBXBuildFile; fileRef = 278DFF1A727BCE036997E56393C855FA /* SDLSyncPData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9FDADA82B9C13E7CC61B02E43B7A59AF /* SDLProtocolMessageAssembler.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CE06A8C55FD9A4D7FA3F0CAF9744D42 /* SDLProtocolMessageAssembler.m */; }; + A039FEEC54EC4A0BE526247BDAB60B67 /* SDLLogTargetAppleSystemLog.m in Sources */ = {isa = PBXBuildFile; fileRef = CDB08B4633B0694249B93A051D44062B /* SDLLogTargetAppleSystemLog.m */; }; + A03A74F2BDDFCA7947186B392BE459D0 /* SDLAppInterfaceUnregisteredReason.h in Headers */ = {isa = PBXBuildFile; fileRef = CA11528DBA2B358F2D49F69157EDCADB /* SDLAppInterfaceUnregisteredReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A045FA88AAD56D9955A82693961E4503 /* SDLDriverDistractionState.m in Sources */ = {isa = PBXBuildFile; fileRef = 60FA77C4D30CEF11FC44F1FD78B7B62D /* SDLDriverDistractionState.m */; }; + A05249EC89A880332ECA1EEE71D1E23E /* SDLVehicleDataStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = C906B3598B3CFACF07B0ECE64FA3266D /* SDLVehicleDataStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A0E50A30072966DDBC89DC2292B1BF21 /* SDLOnInteriorVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = F0B0BD0A152C2E6D1C988C44BD243F7A /* SDLOnInteriorVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A130399749A0500EDE7C2E9B679E2E02 /* SDLChoiceSet.m in Sources */ = {isa = PBXBuildFile; fileRef = D82948567FD9B2929C169F79FA1C7E9A /* SDLChoiceSet.m */; }; + A18AA79836D24CA82F1ABED3711E0402 /* SDLImageType.m in Sources */ = {isa = PBXBuildFile; fileRef = BBAD9286CA8D2CD34A4301E140079EFA /* SDLImageType.m */; }; + A19CF41CC6B501ADD92F104E198068E3 /* SDLStreamingMediaManagerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = EB818F5E2DD87AB284266FC69B4D5A12 /* SDLStreamingMediaManagerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A2357C4F782211B242032600460F8BD6 /* SDLSpeak.h in Headers */ = {isa = PBXBuildFile; fileRef = D4BA8AEBC53D58106E0568ACFD4F7513 /* SDLSpeak.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A260AEDA4AEC867A486C90AC7177F8BB /* SDLButtonName.h in Headers */ = {isa = PBXBuildFile; fileRef = 19FDF6F587885D1F611772CA7772CAD2 /* SDLButtonName.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A31E11C8073E52862D92D5D91953829F /* SDLUnsubscribeVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B04DEDF8E1EC38E7797CB6ADC6AF974 /* SDLUnsubscribeVehicleDataResponse.m */; }; + A346431BFB5EAF37478A562E9F32AED7 /* SDLSecondaryTransportPrimaryProtocolHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 44506CC099F475752271FA11D05D3C75 /* SDLSecondaryTransportPrimaryProtocolHandler.m */; }; + A35B3F5D7B41F136D3A5852434706449 /* SDLRPCRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = B302FF2683670AE1F2DDF27585C514DA /* SDLRPCRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A3E5A07FFF83575D7828AC61BCE80F96 /* SDLSystemCapabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 371C3337694484EFB099491CD7CBA561 /* SDLSystemCapabilityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A3EFD42D9E0CE488A058DF4A1B6E5710 /* SDLDefrostZone.h in Headers */ = {isa = PBXBuildFile; fileRef = B40BF1C57B79394267C903C5D78EBDC9 /* SDLDefrostZone.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A3F4FDBC260B68148500950ACC9E38ED /* SDLStreamDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C05DA9D93548A248694FE1C3597A20C1 /* SDLStreamDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A48AFD46D7B705927709DA96B9E8D3B1 /* SDLResponseDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = DDB5D173E33BC323A525338588E689F5 /* SDLResponseDispatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A49ECD1FA4B35BFE783DCB2D31D81762 /* SDLEqualizerSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D8496D47F19D77551ECDEF2FA539E41 /* SDLEqualizerSettings.m */; }; + A4BA38CDDAB4106E601B200EB5265772 /* SDLPresentKeyboardOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 41E3A061FF1984AD8701A270A3DEF731 /* SDLPresentKeyboardOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4DDCF8F4E1736C6B915831927CD6C43 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 92EC16D73BAA299A6234966E38DF6113 /* Foundation.framework */; }; + A5813FA00B9D0DDB00A2F9B0B354D18F /* SDLCarModeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 92476ADB048D5680C09DCA2FEE51BA94 /* SDLCarModeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A5C97B66E1C6546C695D44B4F300302B /* SDLGlobals.m in Sources */ = {isa = PBXBuildFile; fileRef = D4AED0DCCD8F81481E37F6BFE21BAB4C /* SDLGlobals.m */; }; + A5E9728E958AED1757923FDF86CBD7DA /* NSMutableArray+Safe.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A48D38CDD0CE56654C1E9EE2F457669 /* NSMutableArray+Safe.m */; }; + A617B91AA4286B0A000C26DFFAE1EB03 /* NSMapTable+Subscripting.m in Sources */ = {isa = PBXBuildFile; fileRef = 746FCB82877FFB49197939B552D51B4F /* NSMapTable+Subscripting.m */; }; + A64A381029902ECF5EA9881C2D3757F1 /* SDLTouchManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B5726B9900948F08E1B7069AA2DBD54 /* SDLTouchManager.m */; }; + A6B07EC2A552D4C3CE7E38B7B52F0AA0 /* BiSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D34D8B52315EA5525E7F73360845AFD /* BiSON-dummy.m */; }; + A6D1DBBA7DFF61CCAC20DE99B9C18480 /* SDLDeleteCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC8912E98FFAFABA1F37F237009B570 /* SDLDeleteCommand.m */; }; + A72129C33CCE32DE7ADB0005986FEC46 /* SDLAudioControlData.h in Headers */ = {isa = PBXBuildFile; fileRef = CDE5462216ECC40BC5E269381EBEA719 /* SDLAudioControlData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A749C4A7A68E79A0F0C8F6B331D546EF /* SDLTemperature.h in Headers */ = {isa = PBXBuildFile; fileRef = 750876967AB3BEF7925DBF19F38CFA89 /* SDLTemperature.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A76BE724EA8A0BC5D7BD18F12331771D /* SDLTouchEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 53B6392C0544376075AE0688976F4995 /* SDLTouchEvent.m */; }; + A83965F5D3DA1873875BD519055B6EB8 /* SDLOnRCStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DB6E62464C24A09F0CCEDABD345B9B1 /* SDLOnRCStatus.m */; }; + A86093E9F1596CD649184DEAB4B50EAA /* SDLSystemCapabilityType.h in Headers */ = {isa = PBXBuildFile; fileRef = F04DD54016688A8FBD677798DD52F1C5 /* SDLSystemCapabilityType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A89FDFB482A1D220E3FE11CE3EC92F6A /* SDLDeleteCommandResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FC43F423FA3244DD43D35DB11AE4DCC /* SDLDeleteCommandResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A8B8B6A9CCD830A1D066620FA41AEA8B /* SDLOnVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1227D122A83DA58887D9CC98662EC031 /* SDLOnVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A8C6468067C324C2E794EA6C7DAF885F /* SDLError.m in Sources */ = {isa = PBXBuildFile; fileRef = A68DAFDC8E8417E2C745B8ADDB5AF994 /* SDLError.m */; }; + A9104F71B52E4C481C35F160AEC293DF /* SDLImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B70EF9DB97245E1B7E90AB87E5B1191 /* SDLImage.m */; }; + A99019E5BF5AAFA16DAF00E30D45848C /* SDLOnAppInterfaceUnregistered.h in Headers */ = {isa = PBXBuildFile; fileRef = A98FE233CFB9499820D654F8CB8D34A1 /* SDLOnAppInterfaceUnregistered.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A991D517EC28BDF3C6FCD730F75057EA /* SDLCarModeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FCB10648C75AA3261FFEBA504FA91D1 /* SDLCarModeStatus.m */; }; + AA06B0C9844FF70FB97853669C2F214F /* SDLLifecycleManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 34FB346A248BDC3502948C80F744F6B7 /* SDLLifecycleManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AA43891B9817657D5D57BD1D1B688482 /* SDLFocusableItemLocator.m in Sources */ = {isa = PBXBuildFile; fileRef = B6358C7513C0DFC92C417EFC736F3DAF /* SDLFocusableItemLocator.m */; }; + AA4B736B9E1FD5C7E26F8A60D16B2A6D /* SDLV2ProtocolHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = F3717E63FA48A5C50AAAE57A9318054D /* SDLV2ProtocolHeader.m */; }; + AA678D7881C85FB884D4CE2B4CAEE7D4 /* SDLLocationCoordinate.h in Headers */ = {isa = PBXBuildFile; fileRef = E7A313894B47D32C4EA5F371B0691870 /* SDLLocationCoordinate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AA97A6D784675068A531B73FF5FD0376 /* SDLNotificationDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = C0BD9783968411AD2C1ADF55A444B04E /* SDLNotificationDispatcher.m */; }; + AAA0FFF042B3B99C9D92A269A62CFF5B /* SDLAddSubMenuResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = ADD61F9CDD3CE6E6EC48EDEFE524E4CD /* SDLAddSubMenuResponse.m */; }; + AAB333DBF720AF65DAF65F8C8B14C3D5 /* SDLLightStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = BF41AF176C8CF91C7F0626C991C3CC3D /* SDLLightStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AB07E9AD2BC645CB49B998D2EE9ECD97 /* SDLSpeakResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BA470C9B9EB26D3D32BA81CC044675F /* SDLSpeakResponse.m */; }; + AB36E87567F8F026FA7C691FC523EADB /* SDLIAPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 652C07114772A9C6F9290111810BDD9B /* SDLIAPSession.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ABBD345B8597491398E3FC8823936405 /* SDLProtocolMessageDisassembler.m in Sources */ = {isa = PBXBuildFile; fileRef = 21CDAECFA811151A9856EAC58258EBDB /* SDLProtocolMessageDisassembler.m */; }; + ABDA96A8547F3A930F93224BA116D218 /* SDLAlertManeuverResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 7809E403E7F8FC0692079B5A7A0D8D33 /* SDLAlertManeuverResponse.m */; }; + ABEDA30EF4F593654B283DA8F058E3CD /* SDLSequentialRPCRequestOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 30A208F2A2627ACEFA41F51C36E546F6 /* SDLSequentialRPCRequestOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC3116F5CDE0A01ACBE881AD2932FA50 /* SDLPerformInteraction.m in Sources */ = {isa = PBXBuildFile; fileRef = C09E630D5F83DF772B1E22DF41CE5473 /* SDLPerformInteraction.m */; }; + AC6FDFCC094C6CFAF1D0E57D75386505 /* SDLChangeRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = 395E1A376C97C99D0683BCB39656C9FE /* SDLChangeRegistration.m */; }; + ACB952D7CB8FF538A78A86B53F4DE0E6 /* SDLLifecycleConfigurationUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = A7FD95DAB1B56B5CF9E3A6EE3B3987B2 /* SDLLifecycleConfigurationUpdate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ACBE2276330CA5BFAEB45D60559E0EE3 /* SDLPerformInteractionResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 100684D476010285D6DBE1D29DE9156F /* SDLPerformInteractionResponse.m */; }; + AD1C347575BADD6069B7C8A3FCB78769 /* SDLIgnitionStableStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 35367A3B6B5D2710B91745AE6AD4682D /* SDLIgnitionStableStatus.m */; }; + ADAE4EE6135058511597D79281C11C8D /* SDLLockScreenManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8161E304DB3F786AAC3A62CA6B154DD8 /* SDLLockScreenManager.m */; }; + ADF922C1D9AEF15ECA8978C946C6624B /* SDLRPCStruct.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD0EC0A506E96A234F58256C7B4B0E9 /* SDLRPCStruct.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AE5E9504FB6C14FA328062715259EC5F /* SDLStationIDNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BDB404AF77A5DEA1B3DB84DA45A6AC8 /* SDLStationIDNumber.m */; }; + AE6AA7E705E0E8737639988A68796CB4 /* SDLAppHMIType.m in Sources */ = {isa = PBXBuildFile; fileRef = EF6EF59CA601C0D108179F0F6F5C5085 /* SDLAppHMIType.m */; }; + AE94A5275773442E585794CE54A68795 /* SDLLifecycleConfigurationUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D6C9643ED47D177A573F14BE3364185 /* SDLLifecycleConfigurationUpdate.m */; }; + AEB730B02D81F89C55665B4144B9E402 /* SDLAsynchronousRPCRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 273F3F9D10D2856912B911242697AB75 /* SDLAsynchronousRPCRequestOperation.m */; }; + AEFD7DEF7644ED0633E76E4EB8592B9E /* SDLVehicleDataResult.h in Headers */ = {isa = PBXBuildFile; fileRef = D7B5B4BA4F26E2194066AB7EBEB93A57 /* SDLVehicleDataResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF6A66360D7812FD96B343939D9E2B12 /* SDLVehicleDataType.m in Sources */ = {isa = PBXBuildFile; fileRef = 98C4256ECA504E1CC027AB912D1F64E6 /* SDLVehicleDataType.m */; }; + AF891D3AC32CD2E250A193DBEB75E8F8 /* SDLMenuManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 954E4D3766D011A3C490F60A4060E2DD /* SDLMenuManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF9AA3EDD4471FF420FE44DF4BA82A0D /* emhashmap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F06E01500491105B758E90A6D3828F0 /* emhashmap.h */; }; + AFAEB2A40167436131D8BDDE78C054B4 /* SDLLightControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = FD86549ACDDE44723749A963C8649466 /* SDLLightControlCapabilities.m */; }; + B02142E65DBCEB7BBCC9D454B91563E1 /* SDLLocationDetails.h in Headers */ = {isa = PBXBuildFile; fileRef = CB405DA5F788994C39DF7E19968B3417 /* SDLLocationDetails.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B039BBFA1D64E0C27D884E975E689356 /* SDLSeatControlData.m in Sources */ = {isa = PBXBuildFile; fileRef = 187CBCC47B981AD74A6F93EC13205BFB /* SDLSeatControlData.m */; }; + B116992E85C07AD8037A93C763446C72 /* SDLImageField.m in Sources */ = {isa = PBXBuildFile; fileRef = 510BD182D2555F3EC0384B30036E0ED9 /* SDLImageField.m */; }; + B1520998FBEAB581CCB90729DA9FBF79 /* SDLEmergencyEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = F082C3105D51857B5A6D603751C8D9BB /* SDLEmergencyEvent.m */; }; + B152AAFE3E671150EA261D245C9FFDAA /* SDLUploadFileOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2F285408D6796CC68B3E5C8A67994 /* SDLUploadFileOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B16E136F1D126EFDC395DBC4EB838678 /* SDLRadioState.m in Sources */ = {isa = PBXBuildFile; fileRef = 12854D0AA526844E80820F9E8E5BEB1B /* SDLRadioState.m */; }; + B1A82109D4F75BBAED4C9B9740AECAAD /* SDLDeleteFile.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF708FFC87490713BE7492E71C6CFC6 /* SDLDeleteFile.m */; }; + B1BDCEA6C3090C2A73DC0C4F9F609696 /* SDLAddCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EFC421DB5D3D2E385A73B206770639E /* SDLAddCommand.m */; }; + B1E5DC6AFCD91956685EBECEDD18A5AC /* SDLErrorConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = EDB42F987CA9D0C4BD5A37CB60D3AC3D /* SDLErrorConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B22652C5CF5A39F6A3AAA5493903F728 /* SDLTTSChunk.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D8320A911DB2A100461128D32DA4DA9 /* SDLTTSChunk.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B23EE41C00A3F0043DAE18BF6B9B07FD /* SDLFileWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CE607A99E39243283702C5108A74120 /* SDLFileWrapper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B2843C8B6DCE85C9099DDD51289FA8F3 /* SDLAddCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = BE57DE8735A70DC258F0E7D61021E93F /* SDLAddCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B2976840313AD10C6A1E93F7DE61F2DA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 92EC16D73BAA299A6234966E38DF6113 /* Foundation.framework */; }; + B3340A79998FB27A4A960E6FF8DE1AEE /* NSMutableDictionary+Store.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BB32C87E0F8872B526E252CB1DD75D3 /* NSMutableDictionary+Store.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B34592C75BAACACAD4D062D7D56524FD /* SDLAudioType.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CB88BEF9293FF56B12501BD13427203 /* SDLAudioType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B3563BE6893B433851161F1A5F44E7CF /* SDLFunctionID.m in Sources */ = {isa = PBXBuildFile; fileRef = D73A33145CFECBCAEE6723C53C833F84 /* SDLFunctionID.m */; }; + B3678FE725134C7745A585E3AD169630 /* SDLHMIPermissions.h in Headers */ = {isa = PBXBuildFile; fileRef = 28D6F148960DD83935B37C3D826B7260 /* SDLHMIPermissions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B39F57C03DCE7EA738793B7AA9AEFE0C /* SDLModuleData.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0952F5884198F46D3797FB852A950B /* SDLModuleData.m */; }; + B3D81BDC992C8624295DE288FB51BFDE /* SDLDimension.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FDAFB2B0FEFC8F3A7D9D65B1426C548 /* SDLDimension.m */; }; + B431062954149A07B585826BA03ED313 /* SDLFuelCutoffStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 815EB3516762963F44C6C1862030AD02 /* SDLFuelCutoffStatus.m */; }; + B4A2AC4C44023971E080A8F53EBD059A /* SDLVehicleDataActiveStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 5077BEA250C7539EE60A931402EE49B9 /* SDLVehicleDataActiveStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B4C5252945C315C0E6E69D8440590D6D /* SDLGetSystemCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = 73BFFE658487D4F07A220194D46B6657 /* SDLGetSystemCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B4E0400D3FE8F9C74EB1B9E8B52B454B /* SDLPerformAudioPassThruResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = F99552D589ED900BF989DBEC687D6487 /* SDLPerformAudioPassThruResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B4FEDD245E82D4842767CF205FDCF3B2 /* SDLAsynchronousOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E0F179B62A3D0B60D754AE594FDCD90 /* SDLAsynchronousOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B53A06CB47243ACC775687934F194823 /* SDLFocusableItemHitTester.h in Headers */ = {isa = PBXBuildFile; fileRef = 70578C80B038B8AA2C6EF0AEAC8B9A13 /* SDLFocusableItemHitTester.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B5F9C1FA9FDC4E44F7C22996F836FB03 /* SDLOnSystemRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C212942D2CC6534B8AF013D2AD51FDBB /* SDLOnSystemRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B6B3F8A6266891E8B5B206290B54C75B /* SDLProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = ED2F31EF80C218AF069FF59E223A181C /* SDLProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B6DB66B9F7DFF4D68204FA9456D899E6 /* SDLFileManagerConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = A28C591186F83E65852201939A6CE8E2 /* SDLFileManagerConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B71902D2F4098F712EF8B0B91C4BA816 /* SDLTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E63FCE296EEC7CC4266B624CB94D0E3 /* SDLTouch.m */; }; + B728DE284F9AEB0D6439FA532EBD40EF /* SDLAudioControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CEC5466A9425A1BCFF272CB96BB09CF /* SDLAudioControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B78F6243D01B5B588754F9C82619A450 /* SDLMassageCushion.m in Sources */ = {isa = PBXBuildFile; fileRef = 1037F8AF88F0F9193A9B244617C64731 /* SDLMassageCushion.m */; }; + B92E9CD2034D4AB8A8C34D5C4FE2F688 /* SDLGetDTCs.m in Sources */ = {isa = PBXBuildFile; fileRef = 65E812DEA551B30816A17B71B1C41FBA /* SDLGetDTCs.m */; }; + B95DA5F4BA9F33C17EDB495B42E2E5F8 /* SDLShowConstantTBT.h in Headers */ = {isa = PBXBuildFile; fileRef = 552B58C8C471E41210FCFEC0FB79E946 /* SDLShowConstantTBT.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B9741C990F20745A35DA6D4EC72DF4EB /* SDLRPCPayload.h in Headers */ = {isa = PBXBuildFile; fileRef = 26596C07D4C1E171071A437EB43CF250 /* SDLRPCPayload.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BA42E573B3566AF55B459CF0ACD07832 /* SDLMyKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 0837936F0C4FA3F85A7083B6C1445823 /* SDLMyKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA644B2242904BB213F13216743786E5 /* SDLNavigationCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DD055CF52ABC534D176AB5FE90081B1 /* SDLNavigationCapability.m */; }; + BAC2A22D53D529749AE9E63363597669 /* SDLArtwork.h in Headers */ = {isa = PBXBuildFile; fileRef = DA0D770C6A62BBA6A4927E049FD5FC38 /* SDLArtwork.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BAF3F93166B7EE5043FFDFA7B86DF85B /* SDLPermissionItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 28A78FC1E596344107CD9C39F3E1AE20 /* SDLPermissionItem.m */; }; + BB1C9CDA7915D4AFB05EB4CFAE8BD7DC /* SDLSupportedSeat.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C915C4AA9086574E49D8331642E4948 /* SDLSupportedSeat.m */; }; + BB6BF4F84E821FAC00199C2BAF9AF74A /* SDLOnInteriorVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 119DF2CF5E29025380EAB643C5C9356A /* SDLOnInteriorVehicleData.m */; }; + BB7153824E5C733FC1351739C572EF43 /* SDLResetGlobalPropertiesResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AC5CC5E55197D747732B811BBCDDE2F /* SDLResetGlobalPropertiesResponse.m */; }; + BB82C9646A001AB965203DD7C4ABF3E3 /* EAAccessory+SDLProtocols.m in Sources */ = {isa = PBXBuildFile; fileRef = CC8FA7074043AD0EFEB34FD5CEE11BD1 /* EAAccessory+SDLProtocols.m */; }; + BBAF43468910C178ED4F66EF361737AB /* SDLLogFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 88A45748BCA864462CE96C229A58CF84 /* SDLLogFilter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BBBD5ED4D03D7C262186F7E2C45AE4FB /* SDLTimerMode.m in Sources */ = {isa = PBXBuildFile; fileRef = C98CE191527F3EEA9EB0D52A7E8C01E4 /* SDLTimerMode.m */; }; + BBEBB3879498EFCDA6A77C5026EAD41F /* SDLSendHapticDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B6888E9AC86CB09F600E2D4D38162348 /* SDLSendHapticDataResponse.m */; }; + BBF8951D6AFCB3E302E4CB39FE4344F9 /* SDLUnsubscribeVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = AA16F714E4ACF048C908C32836C32AAD /* SDLUnsubscribeVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BBFCDC011B28D53B121AFA90E312A472 /* SDLLightCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CA586E7AC09FB55D500BAEB4C79347 /* SDLLightCapabilities.m */; }; + BC92CAA3D4E2A84EF568CF1F6A8D4EA6 /* SDLChoice.h in Headers */ = {isa = PBXBuildFile; fileRef = F61313C1886B332D2F0390FEBEE186BE /* SDLChoice.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BCEEAB66BF7313700D582FC1B90F169A /* SDLPrioritizedObjectCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A0C6D3EDF3331CF707E1D745709165C /* SDLPrioritizedObjectCollection.m */; }; + BD482921E979DAC6FB18B587970D1D84 /* SDLFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E7B4A0CE56A4C0A4142F88AD471CB508 /* SDLFileManager.m */; }; + BDA78B840E859D4BA56C7361728B06CD /* SDLSetInteriorVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = F7111C40A1B8D985183C000106A4045B /* SDLSetInteriorVehicleData.m */; }; + BDB5E2E5DFA96C828137342BB8D6085B /* SDLPutFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A796FF7557DEDC03B40E84FCABF5003C /* SDLPutFileResponse.m */; }; + BE12FBB6C580D3CE614365E50F41BAD1 /* SDLDialNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = B80235ABD0E305BBF739141DD04FBCB5 /* SDLDialNumber.m */; }; + BE28266EAACE9D36007982EC36642F3A /* SDLDeviceLevelStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = C23D3E81A57DED8E5C1CB5C6740271CD /* SDLDeviceLevelStatus.m */; }; + BE4A1689602B2C09FD8FA8DE3F3B73A4 /* SDLNotificationConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 363CE2A5FD5AF0FB3D59F4182F6820BA /* SDLNotificationConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BE9319F3CAB5BEBB2D2B9C3693A61652 /* SDLDeleteInteractionChoiceSetResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD65E97C36BF1818AFA38283A9A5F4 /* SDLDeleteInteractionChoiceSetResponse.m */; }; + BED9682A2C62CD033C513A4F91F34BB4 /* SDLPRNDL.m in Sources */ = {isa = PBXBuildFile; fileRef = 439E51BAD933C8050127EB5370DDA5E3 /* SDLPRNDL.m */; }; + BF7FABFA7BBD38EEE5648DE2B39DBE12 /* SDLResult.h in Headers */ = {isa = PBXBuildFile; fileRef = C7908C42336E3E8EF7BF8A5ED5F36DE9 /* SDLResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BF9F0306CDDA8B33F143C2926A72802F /* NSMutableArray+Safe.h in Headers */ = {isa = PBXBuildFile; fileRef = C3005BFD588C3A07F340E4B0B61F3DCF /* NSMutableArray+Safe.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BF9FC9118C99B6AE3D6240A775901119 /* SDLRadioBand.m in Sources */ = {isa = PBXBuildFile; fileRef = B92B564AB97FF0351E59B770E4461D59 /* SDLRadioBand.m */; }; + BFE07457F18B4DBAA72F681CDD33F26B /* SDLManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B01F7BB17F17473A280E74211727645 /* SDLManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C073B1D727561E1DE8F62DF675A41174 /* SDLTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B4CA939A6A2196F72751084D8883EC5 /* SDLTimer.m */; }; + C11C7C6D95CF1B64A27A3C1CBE57B28A /* SDLUnsubscribeButtonResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A7D5318694339EFF9B87A0CAAB26449 /* SDLUnsubscribeButtonResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C1418E30FC1D6F83D57DD0716512D3A6 /* SDLPermissionConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = FF41DB53E65BA7A9D44CF06053B930A2 /* SDLPermissionConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C1736382406AD2485186181877F6AE82 /* SDLV1ProtocolHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 1072E708C0802544B54DCFAE27D4E692 /* SDLV1ProtocolHeader.m */; }; + C2003D216D43E1ADED716B86E0A11239 /* SDLGetVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 76F2EEF0C3FA77B20C8F1C40D7E3F410 /* SDLGetVehicleData.m */; }; + C2175B1A68E5F1D5F6D9FDA658245F99 /* SDLDisplayCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 2847C8BA2910893A2A6F1739775ED9F5 /* SDLDisplayCapabilities.m */; }; + C240737DBB222CA96204E77426DE226F /* SDLFileManagerConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = EC92A5CF1AF12B3C53B52D48314AB3A8 /* SDLFileManagerConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C29244BB43FA90C077ED24B501BF576E /* SDLInteractionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 53342DFDFA72B33415BAE7AB03F96F02 /* SDLInteractionMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C45864A59439501BACD3B69022FEE2CB /* SDLMassageCushionFirmness.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B5A067FCC93D9B48C203E6F2CCD07ED /* SDLMassageCushionFirmness.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C49CED2148870F4A7DE15B452D748284 /* SDLSetMediaClockTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF096B9ED60494498C54BF016616F93 /* SDLSetMediaClockTimer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C4B784E497838C5791CD068CC9FD5797 /* SDLOnSyncPData.h in Headers */ = {isa = PBXBuildFile; fileRef = 876AB0F589E4C276C7433FAFE36B3E8A /* SDLOnSyncPData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C62823793A24D46599DB784AB0180FDE /* SDLOnTouchEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 70616FFD3793CF95AC174A49C2C43D06 /* SDLOnTouchEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C67F697EAA10CBA54090E5D5FE109D8E /* SDLLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = D5B81F6F3103AD08D5BA5F4A084E857E /* SDLLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C6E3BB800E0219BB7BD53B85E7DDAB76 /* SDLResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EDDC83C524683164037103A5F5B3B03 /* SDLResult.m */; }; + C70F44985B6FB4D2AC93E965F94E15F2 /* SDLResetGlobalProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = CFF52CDAD169EA0BE305F4FEA18AF00C /* SDLResetGlobalProperties.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C7282A5FE73E0A5AC905B82AFC0D080B /* SDLVehicleDataType.h in Headers */ = {isa = PBXBuildFile; fileRef = 07AFE3CA1A94AE8F3B50436DAD7A651F /* SDLVehicleDataType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C7CAA9586C7CBFC1BF7283B5E0D3538F /* SDLLogConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = B455A6928538C43FF4BD1C7049CC4968 /* SDLLogConfiguration.m */; }; + C7F51464E201A11CC86EB0D583DD34E5 /* SmartDeviceLink.h in Headers */ = {isa = PBXBuildFile; fileRef = E36102EF1851D3F66F89FB3A06D17F37 /* SmartDeviceLink.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C7F572CD8595C0784BB96DC83093E5B1 /* SDLIAPTransport.h in Headers */ = {isa = PBXBuildFile; fileRef = E91E91E66C2D537CD449295C86997019 /* SDLIAPTransport.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C7FC6D013EDDB9E6F8380666F3A722D5 /* SDLLogTargetOSLog.m in Sources */ = {isa = PBXBuildFile; fileRef = C43267362AC3279A3F73CFD64244B09E /* SDLLogTargetOSLog.m */; }; + C829128D3348C34402574DA56198E32A /* SDLHMICapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E7A3321143B3292C9376581ADDA901 /* SDLHMICapabilities.m */; }; + C87E48E98E897FBB1A8CDD5C8D32A295 /* SDLAddSubMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E7D416F7CD293790F14F8B197775B43 /* SDLAddSubMenu.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8C63F6FD4AB7D018238973433CD8038 /* SDLEncodedSyncPDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 90A2A6EB9EA9F0B38F2AC500E179C267 /* SDLEncodedSyncPDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C90EF98864BD75342A61F68A623CB8A8 /* CGPoint_Util.h in Headers */ = {isa = PBXBuildFile; fileRef = 77939ECABAEB5EA4A870437D89954DCF /* CGPoint_Util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CA24651E9FF81F72B30850927978390F /* SDLMaintenanceModeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 49B5DC50A25037F3B47CD43A3A38A293 /* SDLMaintenanceModeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CA2B853982B0413B0F1ACA2C5D5EB02E /* SDLMassageCushion.h in Headers */ = {isa = PBXBuildFile; fileRef = E15436608D62D13D53903727589401FD /* SDLMassageCushion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CAA156021879DF0FB3AB2D5C5E90B614 /* SDLStreamingMediaConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = FECAD3D772AE3D92F982F8D37CF84190 /* SDLStreamingMediaConfiguration.m */; }; + CBB7C3BD819864F8F7C49032EFA00D4C /* SDLClimateControlData.h in Headers */ = {isa = PBXBuildFile; fileRef = 0808036535D5C2927F44E2C70BC253A8 /* SDLClimateControlData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CBE2CBC7919B5B61C7F975964A267330 /* SDLSubscribeVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = DA6DECFDEF3FAF260C7869F41CAB3C77 /* SDLSubscribeVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC06A5DB08416090311AA26C5F53BBB9 /* SDLAudioStreamingState.m in Sources */ = {isa = PBXBuildFile; fileRef = 05044B5C8892129FF1D36B124D5DC0C9 /* SDLAudioStreamingState.m */; }; + CC5A27F6A8046BF6A0D45A9E9AFF83EB /* SDLControlFramePayloadTransportEventUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = AB8C3882B2F5BCE64AF823BEAC3DBE49 /* SDLControlFramePayloadTransportEventUpdate.m */; }; + CC7745805D84963CD8F0AF6400C02D08 /* SDLLifecycleConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = E280714FFF45ABB1CB9DC8A142136546 /* SDLLifecycleConfiguration.m */; }; + CD099D30E79DA7E13360CD0B9596F9C0 /* SDLReadDIDResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5115280AA762C6A3FD3BAB916224BB7D /* SDLReadDIDResponse.m */; }; + CD2072082E2208D2809019E27BEC0280 /* SDLDeleteSubMenuResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A9DB741242CF4886179C79D2927C6839 /* SDLDeleteSubMenuResponse.m */; }; + CD4F211339E854BC70C82A9ED1F01CBA /* SDLKeypressMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 679EDF19C388A9D5231B8F50D3AB5E33 /* SDLKeypressMode.m */; }; + CD60F83D031F7CC693D74CBD3D03564C /* SDLOnLockScreenStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = F79AE8E9ADE72D6DE44E2276CEAD0C3A /* SDLOnLockScreenStatus.m */; }; + CD6C20F6FDEAE8571ED2AD1712BD818E /* SDLShowConstantTBTResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 60F3D61C1A9777D5DC05B26C11612C34 /* SDLShowConstantTBTResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CD8957C7832748CCE7AF519D51A65D48 /* SDLViewControllerPresentable.h in Headers */ = {isa = PBXBuildFile; fileRef = 365FC18DA34697E05E3D5EDB05B377B7 /* SDLViewControllerPresentable.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CDDC9E0F469E0BE091E773E3F0110385 /* SDLLanguage.h in Headers */ = {isa = PBXBuildFile; fileRef = 37245382BD437F67F1FF0EEB59160BD9 /* SDLLanguage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CE6CC0FEC610B058C1ABF457E41231B0 /* SDLPredefinedLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = D4D9CE10E16F6AE73297FC5DF7EA2F0C /* SDLPredefinedLayout.m */; }; + CE7AFCEE65570E4C568F22CB173C5909 /* SDLAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B6856DBF98E284150E71B1C1DA80384 /* SDLAudioFile.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE8C65228A5636BE8221B77B66919C40 /* SDLListFiles.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D9DA21ABF7CDDBFB56BE7D70C6E7644 /* SDLListFiles.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CEAB90B0ECF3BE31B9E22C076BC46BD8 /* SDLSetDisplayLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 167B88D798FEEDC592CA68F9B81C3C53 /* SDLSetDisplayLayout.m */; }; + CEB154360D775A21CD191027DDB95C44 /* SDLSubscribeVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = D93CCB1CAE537717BC9BCD4B03436DE4 /* SDLSubscribeVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CEDC3780A021B4690015BF1407BE9A10 /* SDLConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = BE3532020D03C0A5384CB77F8686B832 /* SDLConfiguration.m */; }; + CEF940DCF2F81856401D9F1A362614EB /* SDLSubscribeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E81332C7D788E672B67F2C6B78E9E27 /* SDLSubscribeButton.m */; }; + CF23B80D9FCD04DE4B06E5497F4077C3 /* SDLGenericResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = EFDA01CCA143D1BF1A4477C8DE07B128 /* SDLGenericResponse.m */; }; + CF55A8209FBE274FC5E3A28FE189BEF3 /* SDLAmbientLightStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = AE3FF30889101C49187282BA51A8910E /* SDLAmbientLightStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CF87235765D43F50AAD12EEF32C7E285 /* SDLStreamingAudioLifecycleManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B824FEA6352112490D78F7DC1FBA9B1 /* SDLStreamingAudioLifecycleManager.m */; }; + CFA1FE007ECB8784BE22168AAFE932F4 /* SDLLockScreenPresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 832FDE407750A0EEE8830B7E938FC6C4 /* SDLLockScreenPresenter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D0B0475A1C019E7EF1553ADBF05EACA3 /* SDLSISData.h in Headers */ = {isa = PBXBuildFile; fileRef = DDBCD95E6AEEBA36D045DE905604EE77 /* SDLSISData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D10C16DCE3858A52927E0C50F5410909 /* SDLStreamingMediaConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = D8D039EA7810F354905A7B7DEC39AD3D /* SDLStreamingMediaConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D1DB885408A583118BF5C5D3CEEF2101 /* SDLSoftButtonObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E03634E6C3AFED73B96488B3E52D16A /* SDLSoftButtonObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D2267FFAE91F8D0A79C37572C55890CE /* SDLSeatMemoryAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EB0F5FE524CD2A868E27206CA4D9276 /* SDLSeatMemoryAction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D252C26EF52D5A65AD8618B89CD0E71B /* SDLNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E089953D020C5C39366AAB493954078 /* SDLNames.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D253590B398009E277462AA9F81E182B /* SDLRPCNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = BC6C48BDF26AFE82AA25DF3EC54ECACA /* SDLRPCNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D298B6C507EA5D92E14F3EE72084B685 /* SDLDeleteFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 02810AB1489C5C87EFC41C36A50AF1C6 /* SDLDeleteFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D29BAC5BC371347F34C2FAC8BD100551 /* SDLSetAppIconResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = CA4C4A31F252A3AA8D1F093D8AA1C2EE /* SDLSetAppIconResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D2AA6A0847C1540C26611AFD1A458831 /* SDLControlFramePayloadType.h in Headers */ = {isa = PBXBuildFile; fileRef = 98BB477077ECCB5F159C026896A7ED82 /* SDLControlFramePayloadType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D2AC82A60C50DF5B3AB264477E371A24 /* SDLObjectWithPriority.h in Headers */ = {isa = PBXBuildFile; fileRef = EE1CFF1CC4DE8423C7542494529D17EA /* SDLObjectWithPriority.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D3292C49FB3876E7E43FD0008983749D /* SDLIAPSession.m in Sources */ = {isa = PBXBuildFile; fileRef = C588EEFCF45E3FAF0C2800BE518387F8 /* SDLIAPSession.m */; }; + D39D3D539295DA37870D3C521DF13AE3 /* SDLProtocolMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = B1FDA204D0296A51FBA17788E5FA5502 /* SDLProtocolMessage.m */; }; + D3AEE02B2C18420EEA41862651CD4B99 /* SDLOnHashChange.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C5CF9F2FDF3B546DE71D830925E9009 /* SDLOnHashChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D4684E7B5630AC0841E5F97E0E7410DC /* SDLScreenManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B588660C306C440BCD16E23BC80F8D14 /* SDLScreenManager.m */; }; + D4B21BBBE0438AD091A68184121C3687 /* SDLSystemCapabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 73EE85CE5BDD312FCEE5664BB16E7CBC /* SDLSystemCapabilityManager.m */; }; + D4FA68CB7EBA468F4313C8ECAA2FF128 /* SDLV2ProtocolMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B40A91D25C52B221AA22FCE5737BFC4 /* SDLV2ProtocolMessage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D5F42ACD5C21B49D9C40D94249422D03 /* SDLAddCommandResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 089D381F3674AEC193EFE48A7114A602 /* SDLAddCommandResponse.m */; }; + D5F4416658C287713DE58A8B42779AD6 /* SDLScreenshotViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C2D61349EFC5D6989D885B003CAA2CB7 /* SDLScreenshotViewController.m */; }; + D60E50F38B718A2C85F0D682D384A5CF /* SDLPowerModeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 539D18C1C073C34EF0AC35AC764611FC /* SDLPowerModeStatus.m */; }; + D6F70552F77E46D51BDF1F117BD35E88 /* SDLRPCResponseNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D6DF75BEFE354E7355FDB8A0CF69DC8 /* SDLRPCResponseNotification.m */; }; + D6FDB9CF88C1C24908F7D34AE8EBFC5A /* SDLSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B49E94C86A8F29FC04ECE227ED8900A /* SDLSlider.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D794844555DFBAF7F8B9F9BD93380E66 /* SDLRTPH264Packetizer.m in Sources */ = {isa = PBXBuildFile; fileRef = E5EBE7E9894846207F571CA5AAB4D817 /* SDLRTPH264Packetizer.m */; }; + D7B19CAC07C0BB3FBC0A0FBFA40EE4E7 /* SDLEncodedSyncPData.h in Headers */ = {isa = PBXBuildFile; fileRef = CCC2E4CCCC588380F82E83F43587F252 /* SDLEncodedSyncPData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D7B7374DBEDD5A3F684E01BA9AAFB3B3 /* SDLBodyInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 5817B772125FFF900077E9623DCD7E0F /* SDLBodyInformation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D866508C9A7CA2A7E6CF7766FAA58F33 /* SDLAlertResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D866FDF5A5451BCEB413407002EE42B /* SDLAlertResponse.m */; }; + D89C1FA54A43B215AFCFD3D02A9FE859 /* SDLSubscribeButtonResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E198C907E3D8D13A562100426F21D81 /* SDLSubscribeButtonResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8A80A1C68EC4F43025883478D8CB9D0 /* SDLOnWayPointChange.m in Sources */ = {isa = PBXBuildFile; fileRef = C796D07492208120D730817A83899617 /* SDLOnWayPointChange.m */; }; + D8C7F0FC37A24FE15023B9CDF862E669 /* SDLHMIPermissions.m in Sources */ = {isa = PBXBuildFile; fileRef = 94AD2AEEC4EEEC528DD817E891BE3839 /* SDLHMIPermissions.m */; }; + D8CDF9E279165504252719FCB033CA38 /* SDLVideoStreamingState.h in Headers */ = {isa = PBXBuildFile; fileRef = 701B5609A93C858CAFCCEED925DA688E /* SDLVideoStreamingState.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8ED71A2B9F5E9D98C447D485332A99F /* SDLOnSyncPData.m in Sources */ = {isa = PBXBuildFile; fileRef = A9F36B56817FFB9EC0DC7EB9A60CABAC /* SDLOnSyncPData.m */; }; + D8F7988ACC1BECA9C734EB18818833CF /* SDLPinchGesture.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A4D13E0009268C3B0AF4EE348B8F3E0 /* SDLPinchGesture.m */; }; + D8F8B76ED83E7B308A73BAB23CFAB95F /* SDLAppInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D15B10D35949DEF7E116F8929404525 /* SDLAppInfo.m */; }; + D90C6ED75895BEF7908635D1106B319C /* SDLImageResolution.m in Sources */ = {isa = PBXBuildFile; fileRef = F8BCA7DDAC02AAC3F3B4BD14435C2606 /* SDLImageResolution.m */; }; + D925212DD2A0D89BD7B257984208A356 /* SDLCarWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = A798CD52B9A6DE6399FEEDE186FB0D3C /* SDLCarWindow.m */; }; + D960D612D98D46D5AA86EBB3A7291634 /* SDLSendLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = D5819EE20D82F143CE1F0633E4D07C59 /* SDLSendLocation.m */; }; + D9662B2D0FFFFC7D6F7AE41C3EA3BAD2 /* SDLEnum.h in Headers */ = {isa = PBXBuildFile; fileRef = FCF86FF1762C0B9D3ADC7D0AC60200BD /* SDLEnum.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D9D4D5CB73090194E27617D1C080282F /* SDLConnectionManagerType.h in Headers */ = {isa = PBXBuildFile; fileRef = DB150042567FF8B4BA316079BE414F3C /* SDLConnectionManagerType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DA6CEDEB9BC4B14B984E13BBCD2BACEF /* SDLPerformInteraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A7CF2F17162C0947A4E9AF853EFDF84 /* SDLPerformInteraction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DB8F4DDAFBDBC69A91E870F8CA086337 /* SDLSystemCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = DECDC982A9EC09E0580A89EA45345121 /* SDLSystemCapability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DBC8778A5AEDF1F7B552088CB11AA577 /* SDLParameterPermissions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AE500F1F2C18FA80AF0901CBBAF168A /* SDLParameterPermissions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DBE8765BED5677C418D627EE206306C3 /* SDLOnButtonEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 0353FFB6B9F1743EB1D5CE992BD111F6 /* SDLOnButtonEvent.m */; }; + DBF544509E5935118606279DCBE73CBA /* NSMutableDictionary+SafeRemove.h in Headers */ = {isa = PBXBuildFile; fileRef = B5429C05F82922A34D6A265163EECD6B /* NSMutableDictionary+SafeRemove.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DBFA41154367EDB649205FAB3A0AB1D8 /* SDLStreamingMediaManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 290173F04289B99176783B66E57534AB /* SDLStreamingMediaManager.m */; }; + DC0D059B471EFFAE3AF0F0D27E0841B3 /* SDLControlFramePayloadRPCStartServiceAck.h in Headers */ = {isa = PBXBuildFile; fileRef = A99C0C1B0419FF7C520596517AACCC34 /* SDLControlFramePayloadRPCStartServiceAck.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DC145C39228AF96CABD48303A921B8B2 /* SDLH264Packetizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A44AD1324030A352FB7310E3D9272D9 /* SDLH264Packetizer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DC19EC9C46AE5676346DA606DAF9AC92 /* SDLLogFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FCA8FB78161DD00FAD7CF36B71D6E64 /* SDLLogFilter.m */; }; + DC313AF20AB465AD1B65873649B218CE /* SDLAlertManeuverResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = B4199F609394E04D0432D522B8AC2E3C /* SDLAlertManeuverResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DCA6C0C2052238C2A0119B020C87F0E8 /* SDLPutFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 61D900C5783B4A7CCFDED7AB11155F20 /* SDLPutFile.m */; }; + DCB23496E88481D6F8C0122ACB9F58CA /* SmartDeviceLink-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C41D652EF9BBF85E62105FDA5237EAA /* SmartDeviceLink-dummy.m */; }; + DDA293D9DD24D4B90840CB223F377E91 /* SDLScrollableMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = C796B5BE48E8ED08367A0096265A5C98 /* SDLScrollableMessage.m */; }; + DDFD1462487F0102630F4A0082C2257F /* SDLStateMachine.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F18A46B205DECC8DF42A3B8D86D81C7 /* SDLStateMachine.m */; }; + DEF46BCD95E1763B276ADAF2871CC8B4 /* SDLFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BCEE3F9721D24A5D1B1C3F3B4AEFAB3 /* SDLFileManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DF21D101EABAB6E00CF7E707E3943AD1 /* NSMutableDictionary+Store.m in Sources */ = {isa = PBXBuildFile; fileRef = 016CB9356FC0EC057F66DB2E23F3B304 /* NSMutableDictionary+Store.m */; }; + DF2622D04F645AB7DB9F9580800B6CC9 /* SDLEndAudioPassThruResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 488731B70B7B275F56E7D61460E53EDB /* SDLEndAudioPassThruResponse.m */; }; + DF506D6F22A6093E23C6CE899FCBF525 /* SDLHMISettingsControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CB25C3CE5024B113E5C23EC30356631 /* SDLHMISettingsControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DF74594B1C61223786D0D9B8D050E83F /* SDLLightState.m in Sources */ = {isa = PBXBuildFile; fileRef = 905483586B21F30E32A6B74A710A1568 /* SDLLightState.m */; }; + DF7FA4C2B136CEAEE342364C6442AFEF /* SDLKeyboardEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 73EC5A5C8B44BA83334F832BC77A7E87 /* SDLKeyboardEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DFC0D308D215E6C2FD5552BB594D606B /* SDLCreateInteractionChoiceSetResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = AC02E9CDA5B401505FF227E9903BE9FE /* SDLCreateInteractionChoiceSetResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DFE9FB3071C537972E5F890964F3FD89 /* SDLPredefinedLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D5CF6B19D89EA1D458F113E19CDBFA /* SDLPredefinedLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E04A342E4724E073B5A460D2C5AE91BC /* SDLUpdateTurnListResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = BBC3AEA3C7164BC2E9913A9CFF16E8F8 /* SDLUpdateTurnListResponse.m */; }; + E0BEFED8F43D0F005D5A05202F986C32 /* SDLPresentKeyboardOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = E979C453EEBA7D264D8AED785CF17294 /* SDLPresentKeyboardOperation.m */; }; + E0C0F1716131F4FE8CBD8D1CC0A41FD0 /* SDLTriggerSource.m in Sources */ = {isa = PBXBuildFile; fileRef = F22C081156C963137E13B64F8EEDDBE7 /* SDLTriggerSource.m */; }; + E0D2935FD815FD8E1B90AE2117FF6E6A /* SDLChoice.m in Sources */ = {isa = PBXBuildFile; fileRef = E553C3FC056DF2AE3262E3A00B4DF074 /* SDLChoice.m */; }; + E13279B99727C389AFD55E86CEC6BA58 /* SDLSystemRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 3333FE8BAEDEBFE42D614FE436BD845A /* SDLSystemRequest.m */; }; + E1F35758D07A31CFFA6E16184DD11EC4 /* SDLCheckChoiceVROptionalOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 584A0744AB8704605C04A7819AA5939D /* SDLCheckChoiceVROptionalOperation.m */; }; + E229FDBBECD87A87201C7BEB4DC29D97 /* SDLMassageZone.m in Sources */ = {isa = PBXBuildFile; fileRef = C750AA9E3A4B741F05012DAB3CF5DCB8 /* SDLMassageZone.m */; }; + E27B64C34264C556BAE7E03E240D214E /* SDLImageField.h in Headers */ = {isa = PBXBuildFile; fileRef = 22D36F8BAF8DA247629274EEAD8B24E7 /* SDLImageField.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2BA5C9098A6A510F2A19C5CA6F82AB2 /* SDLKeyboardLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3F10D75A29E72E114BC186C312F2C7 /* SDLKeyboardLayout.m */; }; + E2C1DF7393AC7180F65F923203F85987 /* SDLProtocolMessageDisassembler.h in Headers */ = {isa = PBXBuildFile; fileRef = C8CF322794D18B8D62BBDB8E3C98ACC9 /* SDLProtocolMessageDisassembler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E2CA6F1E1BA296B8C0844441245CF6B3 /* SDLButtonPress.m in Sources */ = {isa = PBXBuildFile; fileRef = E814731FA7DC9943F7B808D89A9B9F91 /* SDLButtonPress.m */; }; + E3263DFA6CB2DA52B1251FBBC9267E9B /* SDLControlFramePayloadVideoStartServiceAck.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BCFAAA6F0A0783DBF1AE72813201ADF /* SDLControlFramePayloadVideoStartServiceAck.m */; }; + E382C92F1EE9D721478B6783BEF088C6 /* SDLPutFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = C49C746FEF983198F94F124899429825 /* SDLPutFileResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E3A6309B863DBD37F355F41D4F97D179 /* SDLTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E365ECDA4C5949303D4269A4E6C1025 /* SDLTextField.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E4D497DFC67512E4D1F4009C9E89F0FD /* SDLSystemRequestResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E0D02E23B750D15B087CF6991C7DD1E5 /* SDLSystemRequestResponse.m */; }; + E4D9EA180566751F71491F35AF1EEAAD /* SDLTransportType.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F9E7450CE3C9AEF7780149EF7C0651C /* SDLTransportType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E4FD7A3BFF7D90B2E3C8D039F3A55FA6 /* SDLRequestType.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AA1F076AA965641F75BD01CEF11B284 /* SDLRequestType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E52889D43E0FB7B64BB000FC9047EF4F /* SDLDeleteFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = CBACDEE19366DD9A08DD42FC984CACED /* SDLDeleteFileResponse.m */; }; + E6384B8090DE58E1C6D8EBB98CD828FA /* SDLProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = D77223E88DCDD7BB63B0B6D7D09CBFE7 /* SDLProxy.m */; }; + E667646278FC1293CFD847649D8655CC /* SDLLifecycleManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 06D99FBDB86BF07446B44FB4FFCEE7F0 /* SDLLifecycleManager.m */; }; + E6C36EB3D959CB47DC2F7526CBDF05B5 /* SDLConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = B0278E68A80F390A91516CE230C9B3CC /* SDLConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E6D564C8EDE8CAE7FCA5512DB2DADA6E /* SDLTemplateColorScheme.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B77D58B46BB335AF89C58EAF72BD997 /* SDLTemplateColorScheme.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E6E9A49EFA611517F7EF0EDCD9E35960 /* SDLTurn.h in Headers */ = {isa = PBXBuildFile; fileRef = 58A9BC0BD679E91F8A1E67C32BAB9F47 /* SDLTurn.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E6F7715C5A376997A40D10429AE3A0B7 /* SDLSystemAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F4DBA778C889E7AE9BD815E523C2F54 /* SDLSystemAction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E6FE356D60F2E1FE3B9CF6D0F2D86B4E /* SDLStreamingAudioLifecycleManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A35F792486DE7AFBB2EC2911AE103F /* SDLStreamingAudioLifecycleManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E6FFA1AD1EE5AA93DAE10797F2C8AA28 /* SDLFileWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 36EFA6746210C481724913EA6E678298 /* SDLFileWrapper.m */; }; + E71F05B18DC830EF0AB7959F28D68BE2 /* SDLLockScreenStatusManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FBB40AFB9493DDC169BE7015E9119C1C /* SDLLockScreenStatusManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E7744B78F3F530A78D8502D28037C347 /* SDLLightCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = BB6B9ADD337536D62D71C55DC701BE17 /* SDLLightCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E781F22072DFC3F3132D5BB0D708E0D0 /* SDLDIDResult.m in Sources */ = {isa = PBXBuildFile; fileRef = B6FB23E870874A2EEBD8388FECD14E7E /* SDLDIDResult.m */; }; + E792CF1027E6F625EA94598E49B6E5E5 /* SDLSecondaryTransportPrimaryProtocolHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = D2F29B3571AEDC6EF2A05C2FD2428B8C /* SDLSecondaryTransportPrimaryProtocolHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E7C6FBA916500B31D6BAD5FD6A7FC253 /* SDLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 71162CCC8CA6338D5ECE5EFE435E95AA /* SDLProtocol.m */; }; + E7F2901D28061C231237AB39E5917BCB /* SDLOnDriverDistraction.m in Sources */ = {isa = PBXBuildFile; fileRef = A8A0243D063C6F7BCF41557EE5E3C603 /* SDLOnDriverDistraction.m */; }; + E86251450D4D5A10419413C51E5980F9 /* SDLMenuParams.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D5F6CEF1D510CDBB8CE4707724F6BCB /* SDLMenuParams.m */; }; + E8BCD1132B57860BAB25B93D6D5A5B88 /* SDLStaticIconName.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D77537101F4D37E9DC5CF089F2678B1 /* SDLStaticIconName.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E8D37B50A117D422D45107661FD8E4F7 /* CVPixelBufferRef+SDLUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = B2B07452EB490C836759502C767F6B41 /* CVPixelBufferRef+SDLUtil.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E8DC65D3D7BC1104A34ABA80362BEA50 /* SDLVideoStreamingCodec.m in Sources */ = {isa = PBXBuildFile; fileRef = B328DA9E16288A04E1F8DF443AC85626 /* SDLVideoStreamingCodec.m */; }; + E953FBD34825D2C156A1CA52077AF11F /* SDLOnWayPointChange.h in Headers */ = {isa = PBXBuildFile; fileRef = 32ED80D5DAF69F34604CA7B85C0B657F /* SDLOnWayPointChange.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E9CB1203295B52F61A258390A808BE1F /* SDLRPCMessageType.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BB88EEF32E4A188F028653388F389D5 /* SDLRPCMessageType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EA61BA97EB572FF25C639B4F9E68C659 /* SDLTCPTransport.m in Sources */ = {isa = PBXBuildFile; fileRef = CA449C346ED9EF7784D603168D130BF9 /* SDLTCPTransport.m */; }; + EA652BBCE2C1ECEAE6D0B46DB88C749C /* SDLSendLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 780B1A1308BC973F769EB7125367DE11 /* SDLSendLocation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EA6F912B14512ED4F79A1D2E6FC711CC /* SDLLightStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = BD9F491F208EEC3102D4031C7F6CB6B0 /* SDLLightStatus.m */; }; + EAE41EFE7BBEF6574E83490434678CA0 /* SDLLogTargetAppleSystemLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 549F7580C94EB69D5BE9C5F4B08F5083 /* SDLLogTargetAppleSystemLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EB8DDB9AD4603D10647FC08ABE42610D /* SDLGetSystemCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F82466C45406490A64E03020D7695E5 /* SDLGetSystemCapability.m */; }; + EB931FD87B77F6DB93801D24D19E70A4 /* SDLPrimaryAudioSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 8599A0D8C169D439326F1693136570F0 /* SDLPrimaryAudioSource.m */; }; + EBDF38FA85CF97881115CB93F448E837 /* SDLOnHMIStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A2714C0F9D631E857181A264EF1EC31 /* SDLOnHMIStatus.m */; }; + EC518DA48EE5DF5912CD141D90D73648 /* SDLDisplayType.m in Sources */ = {isa = PBXBuildFile; fileRef = D7E909DC64B7F89CB6C1A37B30E38768 /* SDLDisplayType.m */; }; + EC6A50FA7B1C3692FA221AF509564BA6 /* SDLOnDriverDistraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AB26B885F72FFE7CEF0E215898985A /* SDLOnDriverDistraction.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ECF6A7007CAD7FB05D06CA5DE6BDEA5D /* SDLRectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = 50D7B874B9AE6B227AA8F4F50CAA1FCF /* SDLRectangle.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ED043AF96986740F0C2B21FD16A546BD /* SDLLightName.h in Headers */ = {isa = PBXBuildFile; fileRef = E01A788B715A9CBF3F7896EF220491A9 /* SDLLightName.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ED155EF629DE9E96CF03905433FF317D /* SDLLockScreenPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B51FFE36220330A3CACA531C013CFCD /* SDLLockScreenPresenter.m */; }; + ED247219AD435BE12533D301314B1760 /* SDLSeatMemoryActionType.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E2AF364F85ABFC8AA5227B0DA913557 /* SDLSeatMemoryActionType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EDB68C70A29C8AE09C277286983EC845 /* SDLUnsubscribeVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = FBC88689D957B55C0048D1CEDB2EBBC2 /* SDLUnsubscribeVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EDD76FFA6CC558AC6D28F89D749A34AC /* SDLClusterModeStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 891473743E394C175627756BB86F52F0 /* SDLClusterModeStatus.m */; }; + EE17450F281E5551AAAD2D4122552E83 /* SDLRGBColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 77FDF4FE519E3C33CA096626BFB7B6D1 /* SDLRGBColor.m */; }; + EE668C077436E23D23D3D8143234DBFF /* SDLVehicleDataResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 3265C5001A2B5C7FDD75B87FB09F0A9E /* SDLVehicleDataResult.m */; }; + EE83DA4A9631A6BF74579B86A67E1804 /* SDLSendLocationResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = BAE73359DCF96D79A92A9621B8D305A0 /* SDLSendLocationResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EF0ACB6858CA006466F6694250CF9080 /* SDLAlertManeuver.h in Headers */ = {isa = PBXBuildFile; fileRef = E2089987A5A19A000806B07EDD110D60 /* SDLAlertManeuver.h */; settings = {ATTRIBUTES = (Public, ); }; }; F031E5966EF2B48A72EDB2BAB660396B /* SmartDeviceLink.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2C02C584E9C325081E3002F99447C832 /* SmartDeviceLink.bundle */; }; - F04CF1CB08B994D81C7E1C22B9E43B71 /* SDLTimerMode.m in Sources */ = {isa = PBXBuildFile; fileRef = B969E76CD13D756D47729D8262A5B26C /* SDLTimerMode.m */; }; - F0D195676970AF2BDA9ABECE26B42966 /* SDLRPCNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 069C5FF9FB40444C356A20C7013B5A54 /* SDLRPCNotification.m */; }; - F0DC4FEF7032904A374BBDB1C32FE75D /* SDLUnsubscribeWayPointsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FB5264A579FFC7D6AFDD1CCA591CDEC /* SDLUnsubscribeWayPointsResponse.m */; }; - F0F19A5E136C4389943C9C941CDCFF87 /* SDLResponseDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = DAAA1452E90A5D906B11EB073A8D3D1F /* SDLResponseDispatcher.m */; }; - F1C3BD82A82CF87F7375EFFC8E5C2196 /* SDLGetVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A66B5A42FFF967D0DA2537D9F6975A4 /* SDLGetVehicleDataResponse.m */; }; - F200B98D55C96C6FEE49C6E6BF51E350 /* SDLSubscribeVehicleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 6190F5EDAE3DBB8768D605C4368FF129 /* SDLSubscribeVehicleData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F22DAF64A940F37E87A677CEF0856EF2 /* SDLEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = 88D40B45BFAE22C6DA3863354B59D2B3 /* SDLEnum.m */; }; - F23DCE2EEB67CCF5C3A2A640FA3ACF7B /* SDLSubscribeWayPointsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A96249B24293B78C265D3BF9E7AFDBD /* SDLSubscribeWayPointsResponse.m */; }; - F248A994915F69957C17CA8CD03B9350 /* SDLVideoStreamingFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = F17D28D70B54F81E375B0A42DAEAD159 /* SDLVideoStreamingFormat.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F24DE55FA1F32550C62D55B837D8ABF7 /* SDLShowConstantTBT.m in Sources */ = {isa = PBXBuildFile; fileRef = BFDEE02EB64F92CB0BB27329E39F1F36 /* SDLShowConstantTBT.m */; }; - F255DF3B5D6B423DAE7B908AB50235CE /* SDLSoftButtonObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E23F09FDE3C15E441660D600136C65A4 /* SDLSoftButtonObject.m */; }; - F27B2B884DE4FAE21D7B53FA4DA6393E /* SDLAsynchronousOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C8806219498E04528D149259E2B9AA /* SDLAsynchronousOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F27F6F40DFB265892BE832C93D910999 /* SDLSubscribeVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = A3C83CA99B4AC69C080A918D70740563 /* SDLSubscribeVehicleData.m */; }; - F2A4C28DBB864A10E77563BE874E4B9F /* SDLLogTargetOSLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 831DE64D7E12DECE705227E7D204DCAD /* SDLLogTargetOSLog.m */; }; - F2C6BDC9F9E20B361502A5B6A56C4BFF /* SDLPutFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = D9F538CC534F3EE061279BF0BCCDE762 /* SDLPutFileResponse.m */; }; - F2D8CD4F2773CB6208DDA16363019AA2 /* SDLPowerModeQualificationStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D9CDF8CE7F826BEE501E1F24853D330 /* SDLPowerModeQualificationStatus.m */; }; - F30D65521B1E836BA440AEC703CB0BEE /* SDLGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F5AA5F7CD298F98781CDDFD3EF5C93F /* SDLGlobals.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F369D735AFAF6B277ED3F74C40BDD482 /* SDLSendLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = D180A6C152D36BA0ECAD6A46B9B57642 /* SDLSendLocation.m */; }; - F3E2DF8C3917224CFE01D13EECE40013 /* SDLAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 53C167FD7BCA4829DFD2214A46686E82 /* SDLAlert.m */; }; - F40C7AA523E17D29E7A487CD3C1F71F4 /* SDLPerformInteraction.m in Sources */ = {isa = PBXBuildFile; fileRef = CA02739C455B7AEB572CB2DA7F5D5493 /* SDLPerformInteraction.m */; }; - F468C7CC8A8616C62DC2E2C585E7466B /* SDLSoftButton.h in Headers */ = {isa = PBXBuildFile; fileRef = B555374B7D8363F9E6F4FBC02AAAF176 /* SDLSoftButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F4A7C7B634AC0F12DBD1942051D80F45 /* SDLMetadataType.h in Headers */ = {isa = PBXBuildFile; fileRef = 383912258B14D2DC93509188212D3117 /* SDLMetadataType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F51368C87773AC30222CCB67E0392B64 /* SDLRemoteControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1244AA9BE91CB9B20C6327F271CDA673 /* SDLRemoteControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F56075E34AE7BB974E3D719BB8C33641 /* SDLSendLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 149A4E207CE7F6512DE75225C9BC4C7E /* SDLSendLocation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F561ABC12F0805ECD60C2E6E9E044367 /* SDLRadioBand.h in Headers */ = {isa = PBXBuildFile; fileRef = F17B4208C42DBF959BB95E9AC02FC9B0 /* SDLRadioBand.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F5A58FDDFF8405977035D8DFAB5318C9 /* SDLSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C418378086D5C5A50F49CED6F531488 /* SDLSlider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F60B475663C0F6645550CD9228FACCB4 /* SDLIAPSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 2448A3348E0BD2495D81511AADF8C784 /* SDLIAPSession.m */; }; - F6442D39C2308EBF6CB5F820B0A04E1F /* SDLWiperStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = C4F661E0780233CE7688E6F4D4B4E29C /* SDLWiperStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F64BC4305C987CD85F146B143F320556 /* SDLOnAudioPassThru.m in Sources */ = {isa = PBXBuildFile; fileRef = D8B6553A649FAA4A3113D7494EF4AF9A /* SDLOnAudioPassThru.m */; }; - F6549CCDFF0C499D7E124288CC9BCB1F /* SDLLocationCoordinate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C236FCE582649B160F1BDBCA9FBD7B2 /* SDLLocationCoordinate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F6655C00B49EF2D6307384FC925FF6F4 /* SDLTimerMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8230834B23DD4FFEBD26EBCA65D6AE5F /* SDLTimerMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F7CEC50ADF2ED45CC557D94431734A71 /* SDLButtonPress.h in Headers */ = {isa = PBXBuildFile; fileRef = 94A08919AAB83DDDC2D2E6E5CB4B2517 /* SDLButtonPress.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F7FE76FD6B1D8665853ED436F1A4E90F /* SDLMutableDataQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 63F73DF4D7D119C609211BC087905A9E /* SDLMutableDataQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F89287DEE6452D4A87EFB7A108731E90 /* SDLEnum.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A363F98A7FC95A3B402BEB625C0E79B /* SDLEnum.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F8F5E2B95CFC82D8183F0FE78F5B04C2 /* SDLEmergencyEventType.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D1AC32766F83BEB3FB2B41F520429D0 /* SDLEmergencyEventType.m */; }; - F9782E104D88147DA02F52324D00F020 /* SDLUnsubscribeVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = F1693BEB3C83A863E8B1ABA7AB6851E0 /* SDLUnsubscribeVehicleDataResponse.m */; }; - F9AC8667A7988536AB3DE4A101277030 /* SDLButtonPressMode.m in Sources */ = {isa = PBXBuildFile; fileRef = D7ACA7340665DE4E70A8787C6FEADDAC /* SDLButtonPressMode.m */; }; - F9BEDB98A733024A184B13725A01AE6F /* SDLImage.m in Sources */ = {isa = PBXBuildFile; fileRef = C5537A303518773C34506FD59BB66F24 /* SDLImage.m */; }; - F9FEE2A86FDA4DDB98C57C0E06989730 /* SDLHapticRect.m in Sources */ = {isa = PBXBuildFile; fileRef = DE3E9DCB5C3B44E5DDCCA5AE939CC761 /* SDLHapticRect.m */; }; - FA38321C0B762B8C763A46629A71C3DA /* SDLButtonEventMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B959251FECD9D8275504381EE6E194D /* SDLButtonEventMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FA923096C3DD274B4472D8B5221782A2 /* SDLCarWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 63DB2A05135DBBAFA54C006B5757B7A8 /* SDLCarWindow.m */; }; - FA9DAE65495443A71F892E3730C1AE1A /* SDLPCMAudioConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = D46B2146387B220F0E684C0B301B5D39 /* SDLPCMAudioConverter.m */; }; - FB2C1BCD2AC5CE90678B4EA8FA35C141 /* SDLFuelCutoffStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 0572F70A081EC9B172EBC62E17BE2471 /* SDLFuelCutoffStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FC5BBCB698E6642D559BDEBA178CA585 /* SDLAlertResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BEEE371A0186B2D50B4BCA13AF42C1 /* SDLAlertResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FC7367220FCD2B1BE0E04886457626D5 /* SDLSubscribeButtonResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A1C3EA7FF9B5346E0A60C3315A7BD7A6 /* SDLSubscribeButtonResponse.m */; }; - FC9E79E53CD13DB656AE2DBCBB9D6609 /* SDLMutableDataQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 1124B8E4354D56A8708267EB181EA7E0 /* SDLMutableDataQueue.m */; }; - FD41A17058B199211FEA0B4CE0E549A3 /* SDLSetAppIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 91DDE221D28C1DDBE2FDCABB43F591C4 /* SDLSetAppIcon.m */; }; - FD9656F5C3923F7C591130C565251031 /* SDLControlFramePayloadVideoStartService.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B01E6DDD8FB15B24146B78EE6BDB69C /* SDLControlFramePayloadVideoStartService.m */; }; - FEE77206A676730C07470979B618EBB0 /* SDLSyncPData.m in Sources */ = {isa = PBXBuildFile; fileRef = FD499E5BA50CADA334777C2D6A4C4662 /* SDLSyncPData.m */; }; - FF966C50FCF71B4AC9ABA129233CFA93 /* SDLLockScreenConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 07D1FD5901B3D3F6D8F1E521F0B6FAE7 /* SDLLockScreenConfiguration.m */; }; - FFD9D665FDD91877F75AE807D1045FFF /* SDLUpdateTurnList.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F3108061A33172C9FEC93BC2CF60C87 /* SDLUpdateTurnList.m */; }; + F05E6947D5F62C46FFEFE2F7AA748FC8 /* SDLRPCRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C40B5ABF69E45AE08FA378534E3FD62 /* SDLRPCRequest.m */; }; + F075039C9251E96378A56699649789EF /* SDLPermissionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A19C848AB1E8F2E05CFD76981E2F0E4 /* SDLPermissionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F0D07E28EC0315EE585092ED33E1E9E3 /* SDLAudioPassThruCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C5259708F8AF4982C24C1ED677BA04 /* SDLAudioPassThruCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F18CBAD8CC913B833F300406A391E822 /* SDLTouchManagerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 56D0196F865D56B6B7B5A1E790ABB1CD /* SDLTouchManagerDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F18D99D31992908DCAAD16351D1225E7 /* SDLHapticRect.h in Headers */ = {isa = PBXBuildFile; fileRef = D355CD2546086C41A89F4B7AAAE4C8E5 /* SDLHapticRect.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F1DFF6D17DFF429191689AFE9893BF89 /* SDLMassageZone.h in Headers */ = {isa = PBXBuildFile; fileRef = B783979D82B11AE5D445D43DAC75137B /* SDLMassageZone.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F23657E3ED082FFD12BCEBB03B8E4754 /* SDLGetVehicleDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 60E7BF58504667B6C399DDBD6B080290 /* SDLGetVehicleDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F25F7B5F861203B7E554F493EFD1CD01 /* SDLHexUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 5761EF60549E9FE40D6E1CB212E18183 /* SDLHexUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F2CCEB4B6CC84795E8F6EC28CC2031CD /* SDLFuelRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E9121D1F31F40400B66520537D850C6 /* SDLFuelRange.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F2DE3C75015CD483965F2CBDFB21C57C /* SDLShowConstantTBTResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B10C0BDDE44A8F647B3972B9E54F2BC1 /* SDLShowConstantTBTResponse.m */; }; + F38321F6E1B732F7CEDB3AE3023BF33E /* SDLGetSystemCapabilityResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = ABE9C5E4BE504C29DCF7CF015D462C41 /* SDLGetSystemCapabilityResponse.m */; }; + F392E30534A543EE54B570597B2B6ED5 /* SDLRegisterAppInterfaceResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DAD01D3B62C827AC23B4522D86C191C /* SDLRegisterAppInterfaceResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F3B256DF9728486349ACBAC2FF17275C /* SDLSeatMemoryActionType.m in Sources */ = {isa = PBXBuildFile; fileRef = 878F4A0B3877E844E198E0B2E21CDFC0 /* SDLSeatMemoryActionType.m */; }; + F3DADEE968371419C83BA1305E0D0D23 /* SDLRPCMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = A589684F65F9FCA9FE1606A5A4DA449B /* SDLRPCMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F41E22F7099FD22A75464C95A275593F /* SDLScrollableMessageResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 46EE98845646D112104D2F453723124B /* SDLScrollableMessageResponse.m */; }; + F42830430D0A02D43C2BE85C2AD22238 /* SDLManagerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 50FEDDD1C36DDED7C4070C8E3AFE4306 /* SDLManagerDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F484B27FF61CF3F02647B9CF32FB3749 /* SDLRPCNotificationNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 95A201BA4F4CA5F7F7471FC21C318016 /* SDLRPCNotificationNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F4B664B8731CFEE056D3DC6EE1979783 /* SDLSubscribeVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = BA3A24BAD4F7C9627E27A09F459982DE /* SDLSubscribeVehicleDataResponse.m */; }; + F4D7E3DB98D985518CBA00A931EE7A89 /* SDLManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E87A8975185D153094D861550E2DE5 /* SDLManager.m */; }; + F52461B0208D07BDA1B362B49B8FBD5C /* SDLAudioStreamManagerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 74A196E00B38B0AA6CE7F5CFC4361BB1 /* SDLAudioStreamManagerDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F547698FEF2F7006BB277000FECE7C27 /* SDLSliderResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AD8A6F8A59C6A3CCC42BF3FFBDCE6F5 /* SDLSliderResponse.m */; }; + F567248A2CBDD5AC8CF6BCC431DE09F3 /* SDLAudioControlData.m in Sources */ = {isa = PBXBuildFile; fileRef = D8B425573155D00965E31D784C070BB2 /* SDLAudioControlData.m */; }; + F57A663D28734BF9EE81B1C59E30E436 /* SDLGetVehicleDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 002DD635E351A128D9079F0337E8B71E /* SDLGetVehicleDataResponse.m */; }; + F5965C8BECB2C649963997914210A539 /* SDLTemperature.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A4F2EA6C3CBD72615526EFA883EDCEF /* SDLTemperature.m */; }; + F5DCCFB916C50F9482F9C37FE84C14CB /* SDLMassageMode.m in Sources */ = {isa = PBXBuildFile; fileRef = C924DE2BB45B9FC311749106243E9660 /* SDLMassageMode.m */; }; + F5EEF1197BE6FC5D8F9224FA2F6F636B /* SDLECallInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A4092219A6781B72119BACC1AF43FD9 /* SDLECallInfo.m */; }; + F64AA1D446842CBC012273E3553DECAD /* SDLRadioControlData.h in Headers */ = {isa = PBXBuildFile; fileRef = AA20B3EE1581C1E1FB217AFBA2AC5289 /* SDLRadioControlData.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F6C2994179CF8C6D8997F66B10D39091 /* SDLDisplayCapabilities+ShowManagerExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9919BFC927D3E2CF081C66079A4CF0CE /* SDLDisplayCapabilities+ShowManagerExtensions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F75264C66077CC891F71C3A5611EE09F /* SDLElectronicParkBrakeStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B30EC6A6FFDC546EAEF3EC9419433DB1 /* SDLElectronicParkBrakeStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F7D31D19BB642433366C20F57E886B16 /* SDLVideoEncoderDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD3F3FCB6D7F8375707A5ADE2B0B9D7 /* SDLVideoEncoderDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F7E486C3F2B050B7186372B26F184BB8 /* SDLSpeechCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 623492413C9581E1C2A71421E771D34D /* SDLSpeechCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F7F7B60B5DDE0E8C3148AFDCF3FEBF48 /* SDLPermissionFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B02040B6B2927923E23CE8142AD72B8 /* SDLPermissionFilter.m */; }; + F8106552810652AB6D988BA704E3AC60 /* SDLLockScreenViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C38CF58405932FA0DE21389A5726742 /* SDLLockScreenViewController.m */; }; + F8A3D17447CD1BBD2A178E1E9E42DB70 /* SDLListFiles.m in Sources */ = {isa = PBXBuildFile; fileRef = 12E2885863DDF0D17C96EFAAEF45AC56 /* SDLListFiles.m */; }; + F8D81C0A73C636F00FBBCC4073DAE257 /* SDLButtonPressMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A879FE5BDC2962D651DE4F586D85C2 /* SDLButtonPressMode.m */; }; + F8DCABDD288571F66402C114F3899498 /* SDLHapticRect.m in Sources */ = {isa = PBXBuildFile; fileRef = 2661D6B4F1E4A0C87E7B79EB35BB7A17 /* SDLHapticRect.m */; }; + F8E512A9CAF6B80125DBCE5093A48B6B /* SDLVrHelpItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 377445D67676F1D832550CE95B78BB4F /* SDLVrHelpItem.m */; }; + F94CBB0E94F35122982422C9033CA290 /* SDLFile.h in Headers */ = {isa = PBXBuildFile; fileRef = E1C51C46435F3ED7FF9BB06FFC5A4F24 /* SDLFile.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F9D28D386FF090E6BCA7E2A0A547A3E2 /* SDLFocusableItemLocator.h in Headers */ = {isa = PBXBuildFile; fileRef = EB02227CF664EEADE944C75221C640FC /* SDLFocusableItemLocator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9E963605CD967D489802FD36C976317 /* SDLTimerMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B32686218B33B63CF5B9A0030051449 /* SDLTimerMode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F9EF9685DAD362ED40662958F0775431 /* SDLSingleTireStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = CCAC618CC0C3328787BC012A68387719 /* SDLSingleTireStatus.m */; }; + FA068D27E688257BCD7280CADC7D92B2 /* SDLAddCommandResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = D207F9B285022DA6A6CFAFCF14839E58 /* SDLAddCommandResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FA0983BF15E5145CFF7EC67FCDA6D1C5 /* SDLBeltStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 2088BFCC8505D1E1234DF6E077FBF1ED /* SDLBeltStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FA5C8678979CE1CE6335D0580B458AE7 /* SDLTTSChunk.m in Sources */ = {isa = PBXBuildFile; fileRef = C72CB8FE47E78B2195E1D260F2BCBE55 /* SDLTTSChunk.m */; }; + FAE6DA6BB36C59AFE54B415046D950BB /* SDLBitsPerSample.m in Sources */ = {isa = PBXBuildFile; fileRef = B0CF7AD880B807C0CCA2FC1036A68225 /* SDLBitsPerSample.m */; }; + FB71EC687E318FDBEEAD61E01DDEDB0D /* SDLPresetBankCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 220469AA15E3466DA4D330C338703784 /* SDLPresetBankCapabilities.m */; }; + FBC44B18BAE4EF95422584B6C2EF0367 /* SDLUnsubscribeVehicleData.m in Sources */ = {isa = PBXBuildFile; fileRef = 515E6C76E4E40643313548862912653D /* SDLUnsubscribeVehicleData.m */; }; + FC21A4EA24E55CA18CF2CAC980D68C76 /* SDLLightControlCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 36627794E114102CDCC27CFF984888EB /* SDLLightControlCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FD57C4F9A26CBE0B39E9D9925DD048B3 /* SDLScrollableMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 113CC595E16045B043EF5DD17719EC29 /* SDLScrollableMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FDA99C72FCCC08F9958850EDAC37789B /* SDLDeleteSubMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 4622BBAB6C0909487F8E5B2C90DED6CF /* SDLDeleteSubMenu.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FDED759629FA131DEDB2F00DDCC3D57C /* SDLStartTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 0606C8406E5F0896454C2482843C1837 /* SDLStartTime.m */; }; + FDF34E6C9E3E756D281B22CE59F9C228 /* SDLLogConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 00DC145453C6AE5E4252C91AEC9E4D10 /* SDLLogConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FE2A39B8680A279AEEAA731E3C160C35 /* SDLHeadLampStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A5E8DF4DFE51C93135F6D5D75D9EC8C /* SDLHeadLampStatus.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FEAD2B1271EDD3169B3D76024AD5092E /* SDLUpdateTurnListResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = E439FC4CCB22233A41FA34B33784F938 /* SDLUpdateTurnListResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FF59DFEE18469A77E54029DB64085770 /* SDLRadioControlCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F770F0B48C84089402B55A1C16E0BCE /* SDLRadioControlCapabilities.m */; }; + FFC02EFE8F4650236EE18746F3C99B26 /* SDLRequestType.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C1FD7A0723D168384A7197B14A2529E /* SDLRequestType.m */; }; + FFC8023A64FCF411F0C9499967FB8289 /* SDLIAPTransport.m in Sources */ = {isa = PBXBuildFile; fileRef = 41EACD9F247C6BE29368926681946F79 /* SDLIAPTransport.m */; }; + FFD2DE79E153D602C64F7CC2C58EE395 /* SDLShow.m in Sources */ = {isa = PBXBuildFile; fileRef = 58FEBFDAA6ED51BFCA92BDE0533F474B /* SDLShow.m */; }; + FFE5C4FAF2039AF094D03BDEDBF3C70A /* SDLAirbagStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = BEDC2BDA5B8E9DAF263D585755CB6C1A /* SDLAirbagStatus.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -866,825 +978,937 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0033542534C9FDC99BAF3BEB8F689298 /* SDLStateMachine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStateMachine.h; path = SmartDeviceLink/SDLStateMachine.h; sourceTree = ""; }; - 006C05CC6B4915C5ED331D41213DFB12 /* SDLSendLocationResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSendLocationResponse.h; path = SmartDeviceLink/SDLSendLocationResponse.h; sourceTree = ""; }; - 00DE5B28DFC520B8665602996EA86F54 /* SDLUnregisterAppInterfaceResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnregisterAppInterfaceResponse.h; path = SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h; sourceTree = ""; }; - 012D7B455BE27465AAD435ECD1F0BE3D /* SDLDiagnosticMessageResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDiagnosticMessageResponse.h; path = SmartDeviceLink/SDLDiagnosticMessageResponse.h; sourceTree = ""; }; - 0170A49B56B45A07E2DC94BA90D819C6 /* SDLTextField.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTextField.m; path = SmartDeviceLink/SDLTextField.m; sourceTree = ""; }; - 021B22A06002C920E355D98F3644EECC /* SDLFileType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileType.h; path = SmartDeviceLink/SDLFileType.h; sourceTree = ""; }; - 02DD25EAFBE7B7459F3CD132A4D00F63 /* SDLAmbientLightStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAmbientLightStatus.m; path = SmartDeviceLink/SDLAmbientLightStatus.m; sourceTree = ""; }; - 02F396E0F7B3A756DB213595E84C7A9C /* SDLTemperatureUnit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTemperatureUnit.m; path = SmartDeviceLink/SDLTemperatureUnit.m; sourceTree = ""; }; - 0328C730A733A35F4F0214D0E45D8A58 /* SDLRPCPayload.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCPayload.m; path = SmartDeviceLink/SDLRPCPayload.m; sourceTree = ""; }; - 03BEEBA9298F356E391994DB3FD2C565 /* SDLMetadataTags.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMetadataTags.m; path = SmartDeviceLink/SDLMetadataTags.m; sourceTree = ""; }; - 0407E0DC358DB63B2D2DFDA77732DED6 /* SDLNavigationCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLNavigationCapability.h; path = SmartDeviceLink/SDLNavigationCapability.h; sourceTree = ""; }; - 041D6A17A65DA079AE9F732CA17D15D8 /* SDLGetWayPointsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetWayPointsResponse.m; path = SmartDeviceLink/SDLGetWayPointsResponse.m; sourceTree = ""; }; - 044C100D99D19EB6AF7709EA9D102779 /* SDLGetWayPoints.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetWayPoints.m; path = SmartDeviceLink/SDLGetWayPoints.m; sourceTree = ""; }; - 04CCD3219F9D51821608D9840ADD0E4A /* SDLChangeRegistrationResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChangeRegistrationResponse.h; path = SmartDeviceLink/SDLChangeRegistrationResponse.h; sourceTree = ""; }; - 04D573E594B3BA7E816B13C50B987CE9 /* SDLCarWindowViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCarWindowViewController.m; path = SmartDeviceLink/SDLCarWindowViewController.m; sourceTree = ""; }; - 05360368988BFDBD216B6B16051D63E1 /* SDLRPCMessageType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCMessageType.h; path = SmartDeviceLink/SDLRPCMessageType.h; sourceTree = ""; }; - 0572F70A081EC9B172EBC62E17BE2471 /* SDLFuelCutoffStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFuelCutoffStatus.h; path = SmartDeviceLink/SDLFuelCutoffStatus.h; sourceTree = ""; }; - 0583FB6C0C579BEC34FC989C5166C090 /* SDLSpeechCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSpeechCapabilities.m; path = SmartDeviceLink/SDLSpeechCapabilities.m; sourceTree = ""; }; - 0586F93ECA123154ED03417956F211C5 /* SDLControlFramePayloadNak.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadNak.m; path = SmartDeviceLink/SDLControlFramePayloadNak.m; sourceTree = ""; }; - 05C9C3989EB345AE7B1F9A739346AB71 /* SDLPermissionStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPermissionStatus.m; path = SmartDeviceLink/SDLPermissionStatus.m; sourceTree = ""; }; - 0603A01815FE626CE53E9AACAB91D848 /* SDLSetAppIconResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetAppIconResponse.m; path = SmartDeviceLink/SDLSetAppIconResponse.m; sourceTree = ""; }; - 0623C8C19365F9F804F238B8A4DDED14 /* SDLControlFramePayloadEndService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadEndService.m; path = SmartDeviceLink/SDLControlFramePayloadEndService.m; sourceTree = ""; }; - 062D2E560A780C54A0435216ABA1F08D /* SDLSetInteriorVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetInteriorVehicleData.m; path = SmartDeviceLink/SDLSetInteriorVehicleData.m; sourceTree = ""; }; - 066C960A10A907973591EDC40DCACE2A /* SDLImageType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImageType.h; path = SmartDeviceLink/SDLImageType.h; sourceTree = ""; }; - 069C5FF9FB40444C356A20C7013B5A54 /* SDLRPCNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCNotification.m; path = SmartDeviceLink/SDLRPCNotification.m; sourceTree = ""; }; - 06D042A26D2DBACC0CFF0460DE91E12A /* SDLIAPTransport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLIAPTransport.m; path = SmartDeviceLink/SDLIAPTransport.m; sourceTree = ""; }; - 0750D6680A65FE3E62BF3C126189AD5B /* SDLChoice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChoice.h; path = SmartDeviceLink/SDLChoice.h; sourceTree = ""; }; - 079F4356A3B792B0143EFE19DBE61DE5 /* SDLAudioStreamManagerDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioStreamManagerDelegate.h; path = SmartDeviceLink/SDLAudioStreamManagerDelegate.h; sourceTree = ""; }; - 07BF1E5A6E0E3D5064430FB2D91999E4 /* SDLOnWayPointChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnWayPointChange.m; path = SmartDeviceLink/SDLOnWayPointChange.m; sourceTree = ""; }; - 07D1FD5901B3D3F6D8F1E521F0B6FAE7 /* SDLLockScreenConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenConfiguration.m; path = SmartDeviceLink/SDLLockScreenConfiguration.m; sourceTree = ""; }; - 080F651E5D895305C93E7FE95E88BA78 /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = "zh-Hans.lproj/SDLLockScreen.strings"; sourceTree = ""; }; - 091B518F8FC0128A035D0E2FD0252C06 /* SDLPermissionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPermissionManager.m; path = SmartDeviceLink/SDLPermissionManager.m; sourceTree = ""; }; - 0956694522D0CEEDB373F3A6CF3F9336 /* SDLECallInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLECallInfo.h; path = SmartDeviceLink/SDLECallInfo.h; sourceTree = ""; }; - 0B027CD6EAB04E5C00EF15FB4C18285C /* SDLFileType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFileType.m; path = SmartDeviceLink/SDLFileType.m; sourceTree = ""; }; - 0B4B0B243D02EC6D6BDEDB0DDAA37244 /* SDLSoftButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButton.m; path = SmartDeviceLink/SDLSoftButton.m; sourceTree = ""; }; - 0B6FA0DB87861268F686401B4C1BDAC0 /* SDLOnTouchEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnTouchEvent.m; path = SmartDeviceLink/SDLOnTouchEvent.m; sourceTree = ""; }; - 0B81D78EA8AD03A18D016D55E2B58E33 /* SDLDateTime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDateTime.h; path = SmartDeviceLink/SDLDateTime.h; sourceTree = ""; }; - 0B959251FECD9D8275504381EE6E194D /* SDLButtonEventMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonEventMode.h; path = SmartDeviceLink/SDLButtonEventMode.h; sourceTree = ""; }; - 0C236FCE582649B160F1BDBCA9FBD7B2 /* SDLLocationCoordinate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLocationCoordinate.h; path = SmartDeviceLink/SDLLocationCoordinate.h; sourceTree = ""; }; - 0D48FD99ED11E20B1757DEA6BE5F209B /* NSBundle+SDLBundle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+SDLBundle.m"; path = "SmartDeviceLink/NSBundle+SDLBundle.m"; sourceTree = ""; }; - 0D696D19CF041592FF82EC8315593E10 /* SDLSecurityType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSecurityType.h; path = SmartDeviceLink/SDLSecurityType.h; sourceTree = ""; }; - 0D7757C1F07BF70077244BC15A4C676C /* SDLProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocol.h; path = SmartDeviceLink/SDLProtocol.h; sourceTree = ""; }; - 0D987C210C6A80C771D0197DC0C82E83 /* SDLLockScreenConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenConfiguration.h; path = SmartDeviceLink/SDLLockScreenConfiguration.h; sourceTree = ""; }; - 0E0FD5F0F78C5189BA018EA5D2C2FFE5 /* SDLScrollableMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScrollableMessage.m; path = SmartDeviceLink/SDLScrollableMessage.m; sourceTree = ""; }; - 0E5E61F442E303770E636EE3B5EADC05 /* SDLPrimaryAudioSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPrimaryAudioSource.m; path = SmartDeviceLink/SDLPrimaryAudioSource.m; sourceTree = ""; }; - 0EE4CE347627992A84B9DB99FFF4C8C4 /* SDLDateTime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDateTime.m; path = SmartDeviceLink/SDLDateTime.m; sourceTree = ""; }; - 0EFFA91E2CA66F631E5E2E51346C57D0 /* SDLLogTarget.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogTarget.h; path = SmartDeviceLink/SDLLogTarget.h; sourceTree = ""; }; - 0F1C749ECDD4F3BE2F5BBA1B9C067108 /* SDLScreenshotViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScreenshotViewController.m; path = SmartDeviceLink/SDLScreenshotViewController.m; sourceTree = ""; }; - 0F2EAE70D87F7DA1B9D9C7A7CE791D72 /* SDLProtocolMessageDisassembler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolMessageDisassembler.h; path = SmartDeviceLink/SDLProtocolMessageDisassembler.h; sourceTree = ""; }; - 0F78CF4FAF87A3887AD5BFB9EB5F05A7 /* SDLDeviceLevelStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeviceLevelStatus.h; path = SmartDeviceLink/SDLDeviceLevelStatus.h; sourceTree = ""; }; - 0FA174FC6844D237017DFCC6F7588BB5 /* SDLHMIZoneCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMIZoneCapabilities.h; path = SmartDeviceLink/SDLHMIZoneCapabilities.h; sourceTree = ""; }; - 0FB5264A579FFC7D6AFDD1CCA591CDEC /* SDLUnsubscribeWayPointsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeWayPointsResponse.m; path = SmartDeviceLink/SDLUnsubscribeWayPointsResponse.m; sourceTree = ""; }; - 1027A56B25B8389BA04979A6183D874A /* SDLKeyboardProperties.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeyboardProperties.h; path = SmartDeviceLink/SDLKeyboardProperties.h; sourceTree = ""; }; - 103B741749BB527A8A77A0A21254E804 /* SDLSystemContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemContext.m; path = SmartDeviceLink/SDLSystemContext.m; sourceTree = ""; }; - 109D771F345CEBE486D6E439E7AC483F /* SDLVrHelpItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVrHelpItem.h; path = SmartDeviceLink/SDLVrHelpItem.h; sourceTree = ""; }; + 002DD635E351A128D9079F0337E8B71E /* SDLGetVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetVehicleDataResponse.m; path = SmartDeviceLink/SDLGetVehicleDataResponse.m; sourceTree = ""; }; + 00B26898CBB957B7498A0668CCF94CAE /* SDLAppInterfaceUnregisteredReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAppInterfaceUnregisteredReason.m; path = SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m; sourceTree = ""; }; + 00DC145453C6AE5E4252C91AEC9E4D10 /* SDLLogConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogConstants.h; path = SmartDeviceLink/SDLLogConstants.h; sourceTree = ""; }; + 0111E8E88553B97161A2721E1AE43A1E /* SDLMenuManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMenuManager.m; path = SmartDeviceLink/SDLMenuManager.m; sourceTree = ""; }; + 01232C2185173CEDDE2F0AE4061AC646 /* ResourceBundle-SmartDeviceLink-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SmartDeviceLink-Info.plist"; sourceTree = ""; }; + 016CB9356FC0EC057F66DB2E23F3B304 /* NSMutableDictionary+Store.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableDictionary+Store.m"; path = "SmartDeviceLink/NSMutableDictionary+Store.m"; sourceTree = ""; }; + 0188C9625886A2778A6F31AEA7518719 /* SDLKeyboardProperties.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeyboardProperties.h; path = SmartDeviceLink/SDLKeyboardProperties.h; sourceTree = ""; }; + 01927F53ACFE6C35599C291FAECAE508 /* SDLSystemRequestResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemRequestResponse.h; path = SmartDeviceLink/SDLSystemRequestResponse.h; sourceTree = ""; }; + 01E87A8975185D153094D861550E2DE5 /* SDLManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLManager.m; path = SmartDeviceLink/SDLManager.m; sourceTree = ""; }; + 022836C73FFD3B13313C60652032D850 /* SDLSISData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSISData.m; path = SmartDeviceLink/SDLSISData.m; sourceTree = ""; }; + 02810AB1489C5C87EFC41C36A50AF1C6 /* SDLDeleteFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteFile.h; path = SmartDeviceLink/SDLDeleteFile.h; sourceTree = ""; }; + 02E4BC4185F347014878E1B59F325DB7 /* SDLVehicleDataEventStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataEventStatus.h; path = SmartDeviceLink/SDLVehicleDataEventStatus.h; sourceTree = ""; }; + 0353FFB6B9F1743EB1D5CE992BD111F6 /* SDLOnButtonEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnButtonEvent.m; path = SmartDeviceLink/SDLOnButtonEvent.m; sourceTree = ""; }; + 03AA9FAC1C42C80A5F0956A6B96548A9 /* SDLMenuCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMenuCell.m; path = SmartDeviceLink/SDLMenuCell.m; sourceTree = ""; }; + 03E8ABDBE6E613232D8983F9512CB9A5 /* SDLSeatControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSeatControlCapabilities.h; path = SmartDeviceLink/SDLSeatControlCapabilities.h; sourceTree = ""; }; + 0440B26CB65E28F9B693133980FEDB2B /* SDLImageFieldName.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImageFieldName.h; path = SmartDeviceLink/SDLImageFieldName.h; sourceTree = ""; }; + 04546B8E310BE2EF2A7229A62D91C44E /* SDLGetWayPoints.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetWayPoints.h; path = SmartDeviceLink/SDLGetWayPoints.h; sourceTree = ""; }; + 04992831D25E1188652283952664EC71 /* SDLEncodedSyncPDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEncodedSyncPDataResponse.m; path = SmartDeviceLink/SDLEncodedSyncPDataResponse.m; sourceTree = ""; }; + 05044B5C8892129FF1D36B124D5DC0C9 /* SDLAudioStreamingState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioStreamingState.m; path = SmartDeviceLink/SDLAudioStreamingState.m; sourceTree = ""; }; + 05CFD8AB043CBDA71EE6189923FD98CE /* SDLOnAudioPassThru.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnAudioPassThru.m; path = SmartDeviceLink/SDLOnAudioPassThru.m; sourceTree = ""; }; + 0606C8406E5F0896454C2482843C1837 /* SDLStartTime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStartTime.m; path = SmartDeviceLink/SDLStartTime.m; sourceTree = ""; }; + 06D99FBDB86BF07446B44FB4FFCEE7F0 /* SDLLifecycleManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleManager.m; path = SmartDeviceLink/SDLLifecycleManager.m; sourceTree = ""; }; + 07593F3189E4191BA5055F4E3E6AAAF7 /* SDLTouchEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchEvent.h; path = SmartDeviceLink/SDLTouchEvent.h; sourceTree = ""; }; + 075A05913BC6F33B82BB059FE069BD5B /* SDLUnregisterAppInterfaceResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnregisterAppInterfaceResponse.h; path = SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h; sourceTree = ""; }; + 07AFE3CA1A94AE8F3B50436DAD7A651F /* SDLVehicleDataType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataType.h; path = SmartDeviceLink/SDLVehicleDataType.h; sourceTree = ""; }; + 07D5CF6B19D89EA1D458F113E19CDBFA /* SDLPredefinedLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPredefinedLayout.h; path = SmartDeviceLink/SDLPredefinedLayout.h; sourceTree = ""; }; + 0808036535D5C2927F44E2C70BC253A8 /* SDLClimateControlData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLClimateControlData.h; path = SmartDeviceLink/SDLClimateControlData.h; sourceTree = ""; }; + 0837936F0C4FA3F85A7083B6C1445823 /* SDLMyKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMyKey.h; path = SmartDeviceLink/SDLMyKey.h; sourceTree = ""; }; + 0837D198E63D15DBF4D735082E0C46FE /* SDLSoftButtonState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonState.h; path = SmartDeviceLink/SDLSoftButtonState.h; sourceTree = ""; }; + 0890FF58FA08063F6B8494B01ED4A3B4 /* NSBundle+SDLBundle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+SDLBundle.m"; path = "SmartDeviceLink/NSBundle+SDLBundle.m"; sourceTree = ""; }; + 089D381F3674AEC193EFE48A7114A602 /* SDLAddCommandResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAddCommandResponse.m; path = SmartDeviceLink/SDLAddCommandResponse.m; sourceTree = ""; }; + 094669C6706179A5AC880CA3B34CBE24 /* bson_array.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = bson_array.h; path = src/bson_array.h; sourceTree = ""; }; + 0946E5C29231E794F5BE1235DBC535B1 /* SDLChoiceSetManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChoiceSetManager.m; path = SmartDeviceLink/SDLChoiceSetManager.m; sourceTree = ""; }; + 09B8E32CA0A3C22134FF5943402A19C2 /* SDLLanguage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLanguage.m; path = SmartDeviceLink/SDLLanguage.m; sourceTree = ""; }; + 0A4092219A6781B72119BACC1AF43FD9 /* SDLECallInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLECallInfo.m; path = SmartDeviceLink/SDLECallInfo.m; sourceTree = ""; }; + 0A4F2EA6C3CBD72615526EFA883EDCEF /* SDLTemperature.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTemperature.m; path = SmartDeviceLink/SDLTemperature.m; sourceTree = ""; }; + 0ACF94031C97BEE9B67254A7A1FD9DCD /* SDLFileType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFileType.m; path = SmartDeviceLink/SDLFileType.m; sourceTree = ""; }; + 0AFC13CD3915A647DA5736D2C6DDB276 /* SDLLogModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogModel.h; path = SmartDeviceLink/SDLLogModel.h; sourceTree = ""; }; + 0B86CE88D851B73EF7B846EEFECEB105 /* SDLWiperStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLWiperStatus.h; path = SmartDeviceLink/SDLWiperStatus.h; sourceTree = ""; }; + 0C9316AA5BC0CAEF9D3E3B44A05F3E72 /* SDLDeleteInteractionChoiceSetResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteInteractionChoiceSetResponse.h; path = SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h; sourceTree = ""; }; + 0CB25C3CE5024B113E5C23EC30356631 /* SDLHMISettingsControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMISettingsControlCapabilities.h; path = SmartDeviceLink/SDLHMISettingsControlCapabilities.h; sourceTree = ""; }; + 0D715B7E1E49032AE4CB109BB45DBBE4 /* SDLPreloadChoicesOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPreloadChoicesOperation.h; path = SmartDeviceLink/SDLPreloadChoicesOperation.h; sourceTree = ""; }; + 0D9C79FCE97A529AF5665757AE522244 /* SDLResetGlobalPropertiesResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLResetGlobalPropertiesResponse.h; path = SmartDeviceLink/SDLResetGlobalPropertiesResponse.h; sourceTree = ""; }; + 0DBA36F74030B4F0E6662F5C79F37411 /* SDLDiagnosticMessageResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDiagnosticMessageResponse.h; path = SmartDeviceLink/SDLDiagnosticMessageResponse.h; sourceTree = ""; }; + 0E03634E6C3AFED73B96488B3E52D16A /* SDLSoftButtonObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonObject.h; path = SmartDeviceLink/SDLSoftButtonObject.h; sourceTree = ""; }; + 0E6BD9A54F3B696772751E561C7CA26F /* SDLOnPermissionsChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnPermissionsChange.m; path = SmartDeviceLink/SDLOnPermissionsChange.m; sourceTree = ""; }; + 0E9121D1F31F40400B66520537D850C6 /* SDLFuelRange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFuelRange.h; path = SmartDeviceLink/SDLFuelRange.h; sourceTree = ""; }; + 0EC69CB6F6EE1A9CE6603EC0C528E22F /* SDLTextAndGraphicManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTextAndGraphicManager.h; path = SmartDeviceLink/SDLTextAndGraphicManager.h; sourceTree = ""; }; + 0F18A46B205DECC8DF42A3B8D86D81C7 /* SDLStateMachine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStateMachine.m; path = SmartDeviceLink/SDLStateMachine.m; sourceTree = ""; }; + 0F6ED7ED1A5D6F4B1FF1AE4ABAAE5CC9 /* SDLRGBColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRGBColor.h; path = SmartDeviceLink/SDLRGBColor.h; sourceTree = ""; }; + 0FD3F3FCB6D7F8375707A5ADE2B0B9D7 /* SDLVideoEncoderDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoEncoderDelegate.h; path = SmartDeviceLink/SDLVideoEncoderDelegate.h; sourceTree = ""; }; + 100684D476010285D6DBE1D29DE9156F /* SDLPerformInteractionResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPerformInteractionResponse.m; path = SmartDeviceLink/SDLPerformInteractionResponse.m; sourceTree = ""; }; + 1037F8AF88F0F9193A9B244617C64731 /* SDLMassageCushion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMassageCushion.m; path = SmartDeviceLink/SDLMassageCushion.m; sourceTree = ""; }; + 1072E708C0802544B54DCFAE27D4E692 /* SDLV1ProtocolHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLV1ProtocolHeader.m; path = SmartDeviceLink/SDLV1ProtocolHeader.m; sourceTree = ""; }; 10A3387C1452124DC53D5493FAF3D437 /* BiSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = BiSON.framework; path = BiSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1124B8E4354D56A8708267EB181EA7E0 /* SDLMutableDataQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMutableDataQueue.m; path = SmartDeviceLink/SDLMutableDataQueue.m; sourceTree = ""; }; - 122FA2E1242EDA6CEF12B0DD588A28A7 /* SDLLifecycleConfigurationUpdate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLifecycleConfigurationUpdate.h; path = SmartDeviceLink/SDLLifecycleConfigurationUpdate.h; sourceTree = ""; }; - 1244AA9BE91CB9B20C6327F271CDA673 /* SDLRemoteControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRemoteControlCapabilities.h; path = SmartDeviceLink/SDLRemoteControlCapabilities.h; sourceTree = ""; }; - 128001C01EDA9F7D890918A0A4FCDB12 /* SDLHeadLampStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHeadLampStatus.m; path = SmartDeviceLink/SDLHeadLampStatus.m; sourceTree = ""; }; - 12806899D2732239201909244060B773 /* SDLPCMAudioConverter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPCMAudioConverter.h; path = SmartDeviceLink/SDLPCMAudioConverter.h; sourceTree = ""; }; - 128B75FD451F1275DD1DEF7A354BDC3D /* SDLDeleteSubMenuResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteSubMenuResponse.h; path = SmartDeviceLink/SDLDeleteSubMenuResponse.h; sourceTree = ""; }; - 12CB886AB9A59A71F742BCA0ABDF564A /* SDLRectangle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRectangle.m; path = SmartDeviceLink/SDLRectangle.m; sourceTree = ""; }; - 12E7D6EDCFDB73234934FC0AA0279586 /* SDLShow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLShow.m; path = SmartDeviceLink/SDLShow.m; sourceTree = ""; }; - 13FCA33B2F9BF733AD5049A9A0780D2D /* SDLObjectWithPriority.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLObjectWithPriority.m; path = SmartDeviceLink/SDLObjectWithPriority.m; sourceTree = ""; }; - 140A6513A51A58CB830A169705FC5D2D /* Pods-MobileWeather.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MobileWeather.debug.xcconfig"; sourceTree = ""; }; - 1422525C33B821FE4C721FFD37D56089 /* SDLAlertManeuverResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAlertManeuverResponse.m; path = SmartDeviceLink/SDLAlertManeuverResponse.m; sourceTree = ""; }; - 143D547302C356B2C6821EDA8FBE34E2 /* Pods-MobileWeather.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MobileWeather.release.xcconfig"; sourceTree = ""; }; - 1470E6CE62CFB71BE224D33DF94C68E4 /* SDLOnSyncPData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnSyncPData.m; path = SmartDeviceLink/SDLOnSyncPData.m; sourceTree = ""; }; - 14874E494E0A1FD5802306F2DDC83161 /* SDLDeleteFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteFileResponse.h; path = SmartDeviceLink/SDLDeleteFileResponse.h; sourceTree = ""; }; - 149A4E207CE7F6512DE75225C9BC4C7E /* SDLSendLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSendLocation.h; path = SmartDeviceLink/SDLSendLocation.h; sourceTree = ""; }; - 14A39892ECE8CDE25EE5E66FF11A8268 /* SDLMediaClockFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMediaClockFormat.m; path = SmartDeviceLink/SDLMediaClockFormat.m; sourceTree = ""; }; - 14CFF317767EF0189DDDC36C1FDF2234 /* SDLOnHMIStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnHMIStatus.h; path = SmartDeviceLink/SDLOnHMIStatus.h; sourceTree = ""; }; - 15C8806219498E04528D149259E2B9AA /* SDLAsynchronousOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAsynchronousOperation.h; path = SmartDeviceLink/SDLAsynchronousOperation.h; sourceTree = ""; }; - 164EB7D01FB9305F99542C650BEE139E /* SDLEncodedSyncPData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEncodedSyncPData.h; path = SmartDeviceLink/SDLEncodedSyncPData.h; sourceTree = ""; }; - 16BF5823BEACE1D3C81F55173E26EA73 /* SDLTouchCoord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchCoord.h; path = SmartDeviceLink/SDLTouchCoord.h; sourceTree = ""; }; - 16DA2580FF2548CD4B33BE4B2539F462 /* SDLSliderResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSliderResponse.h; path = SmartDeviceLink/SDLSliderResponse.h; sourceTree = ""; }; - 16DCA08A62D069024CF7031BFB3F7A6F /* SDLButtonName.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonName.h; path = SmartDeviceLink/SDLButtonName.h; sourceTree = ""; }; - 1813FDE135A2B9042E988756C1C42246 /* SDLResetGlobalPropertiesResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLResetGlobalPropertiesResponse.m; path = SmartDeviceLink/SDLResetGlobalPropertiesResponse.m; sourceTree = ""; }; - 1828227FBDC6E22503DE1B17E48C0689 /* SDLReadDIDResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLReadDIDResponse.h; path = SmartDeviceLink/SDLReadDIDResponse.h; sourceTree = ""; }; - 1856A5FAE80576C15E62725712E621F8 /* SDLCharacterSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCharacterSet.h; path = SmartDeviceLink/SDLCharacterSet.h; sourceTree = ""; }; - 188892980BDA40FC31E7BA1307209BE8 /* BiSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BiSON-prefix.pch"; sourceTree = ""; }; - 18C1EB917BA2290A7EC61020A67416A9 /* SDLLogConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogConfiguration.m; path = SmartDeviceLink/SDLLogConfiguration.m; sourceTree = ""; }; - 18FE0793A0F65CAF41F3FB4F19ABC6E1 /* SDLDeviceStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeviceStatus.h; path = SmartDeviceLink/SDLDeviceStatus.h; sourceTree = ""; }; - 199FB6CACB846ABDDD254A9AFB281FC0 /* SDLControlFramePayloadConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadConstants.m; path = SmartDeviceLink/SDLControlFramePayloadConstants.m; sourceTree = ""; }; - 19B47F836EC866B522C7E0B4C3439089 /* SDLImageFieldName.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImageFieldName.m; path = SmartDeviceLink/SDLImageFieldName.m; sourceTree = ""; }; - 1A1AECCFFD9DB71BA20FF05A4808A0DB /* SDLOnButtonPress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnButtonPress.m; path = SmartDeviceLink/SDLOnButtonPress.m; sourceTree = ""; }; - 1A6979C897AE60F07F2C41CF4F776B50 /* SDLFileWrapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFileWrapper.m; path = SmartDeviceLink/SDLFileWrapper.m; sourceTree = ""; }; - 1AD43319B2D2DBD53956F9678C8A7259 /* SDLSubscribeVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeVehicleDataResponse.h; path = SmartDeviceLink/SDLSubscribeVehicleDataResponse.h; sourceTree = ""; }; - 1B24B8DABBE4A4F41C89A4B776747721 /* SDLSyncMsgVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSyncMsgVersion.h; path = SmartDeviceLink/SDLSyncMsgVersion.h; sourceTree = ""; }; - 1B277389C88C3E7EC3322330A015A693 /* SDLRectangle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRectangle.h; path = SmartDeviceLink/SDLRectangle.h; sourceTree = ""; }; - 1B2A5889FA02871B1B243AB7408A3995 /* SDLSendHapticDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSendHapticDataResponse.h; path = SmartDeviceLink/SDLSendHapticDataResponse.h; sourceTree = ""; }; - 1B639CEA1B8D7E5E771AD8A260D27B43 /* BiSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = BiSON.modulemap; sourceTree = ""; }; - 1C0DB0A95C98092AD86029EA15484EA7 /* SDLControlFramePayloadType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadType.h; path = SmartDeviceLink/SDLControlFramePayloadType.h; sourceTree = ""; }; - 1C23FE604F09B27C716B681337528E74 /* SDLConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLConfiguration.m; path = SmartDeviceLink/SDLConfiguration.m; sourceTree = ""; }; - 1C31112B130268BB7FDC3A81620FA72A /* SDLFileManagerConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileManagerConstants.h; path = SmartDeviceLink/SDLFileManagerConstants.h; sourceTree = ""; }; - 1C8E133009D9D4A30FDD034E77B15E32 /* SDLDriverDistractionState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDriverDistractionState.h; path = SmartDeviceLink/SDLDriverDistractionState.h; sourceTree = ""; }; - 1D1AC32766F83BEB3FB2B41F520429D0 /* SDLEmergencyEventType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEmergencyEventType.m; path = SmartDeviceLink/SDLEmergencyEventType.m; sourceTree = ""; }; - 1D3A62F2C8A3B95E9B38974F438F073B /* SDLModuleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLModuleData.h; path = SmartDeviceLink/SDLModuleData.h; sourceTree = ""; }; - 1D464F7AE9A045EDD8E966095CBC8781 /* SDLOnCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnCommand.h; path = SmartDeviceLink/SDLOnCommand.h; sourceTree = ""; }; - 1DA512F98EBA8138EC6E64D1C8AC8C05 /* SDLImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImage.h; path = SmartDeviceLink/SDLImage.h; sourceTree = ""; }; - 1E50C8D8E6BB62B84A6DBA40D96BC543 /* SDLRadioControlData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRadioControlData.m; path = SmartDeviceLink/SDLRadioControlData.m; sourceTree = ""; }; - 1E6BE5540D10D4F014CF916E7E45DDBC /* SDLVehicleDataEventStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataEventStatus.m; path = SmartDeviceLink/SDLVehicleDataEventStatus.m; sourceTree = ""; }; - 1E8C048906632D0D18B484223C0C44AB /* SDLLogModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogModel.m; path = SmartDeviceLink/SDLLogModel.m; sourceTree = ""; }; - 1EC13DE4AEC9C1A0E5F0F9AF5FBA188F /* SDLDisplayType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDisplayType.m; path = SmartDeviceLink/SDLDisplayType.m; sourceTree = ""; }; - 20745CEA7EAB65015442DD438C902D01 /* SDLLanguage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLanguage.m; path = SmartDeviceLink/SDLLanguage.m; sourceTree = ""; }; - 2074E4AA05A56C6E4161C111A5B954F7 /* SDLLockScreenStatusManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenStatusManager.h; path = SmartDeviceLink/SDLLockScreenStatusManager.h; sourceTree = ""; }; - 20C9E4BBF403F5CCF04DA342EEF19F68 /* SDLSliderResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSliderResponse.m; path = SmartDeviceLink/SDLSliderResponse.m; sourceTree = ""; }; - 20E5A5166CA26D937B2581F5A42109BD /* SDLReadDID.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLReadDID.h; path = SmartDeviceLink/SDLReadDID.h; sourceTree = ""; }; - 210741B106D84E890EFB95BBE1D639A2 /* SDLLogTargetAppleSystemLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogTargetAppleSystemLog.h; path = SmartDeviceLink/SDLLogTargetAppleSystemLog.h; sourceTree = ""; }; - 2122E05853611926EE573B16F4C85965 /* SDLOnEncodedSyncPData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnEncodedSyncPData.h; path = SmartDeviceLink/SDLOnEncodedSyncPData.h; sourceTree = ""; }; - 21B95BFFA1D2FC2CA4FA1CA8C99D1674 /* SDLSetGlobalPropertiesResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetGlobalPropertiesResponse.m; path = SmartDeviceLink/SDLSetGlobalPropertiesResponse.m; sourceTree = ""; }; - 21C99B2A2F3A670EA5D348869D52AC06 /* SDLDeleteCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteCommand.m; path = SmartDeviceLink/SDLDeleteCommand.m; sourceTree = ""; }; - 22172148DDE5BBB3638404A01DCDD680 /* SDLVideoStreamingProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingProtocol.m; path = SmartDeviceLink/SDLVideoStreamingProtocol.m; sourceTree = ""; }; - 2253AE024F5A3C69428D500E71913DA7 /* SDLScreenParams.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScreenParams.m; path = SmartDeviceLink/SDLScreenParams.m; sourceTree = ""; }; - 22B6CB0C4D0117D47A6314066A263AFC /* SDLLockScreenStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenStatus.h; path = SmartDeviceLink/SDLLockScreenStatus.h; sourceTree = ""; }; + 113CC595E16045B043EF5DD17719EC29 /* SDLScrollableMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScrollableMessage.h; path = SmartDeviceLink/SDLScrollableMessage.h; sourceTree = ""; }; + 11932588F33A92E88B06122013AB8F35 /* SDLSetAppIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetAppIcon.m; path = SmartDeviceLink/SDLSetAppIcon.m; sourceTree = ""; }; + 119DF2CF5E29025380EAB643C5C9356A /* SDLOnInteriorVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnInteriorVehicleData.m; path = SmartDeviceLink/SDLOnInteriorVehicleData.m; sourceTree = ""; }; + 11A3AA37825F0E52099013FBF6A97454 /* SmartDeviceLink-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SmartDeviceLink-prefix.pch"; sourceTree = ""; }; + 11E2F665E33EE37B613491E89FC223ED /* SDLVrCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVrCapabilities.m; path = SmartDeviceLink/SDLVrCapabilities.m; sourceTree = ""; }; + 11FDF61E15EA556F1CEF592604857CFA /* SDLSetDisplayLayoutResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetDisplayLayoutResponse.m; path = SmartDeviceLink/SDLSetDisplayLayoutResponse.m; sourceTree = ""; }; + 1227D122A83DA58887D9CC98662EC031 /* SDLOnVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnVehicleData.h; path = SmartDeviceLink/SDLOnVehicleData.h; sourceTree = ""; }; + 12854D0AA526844E80820F9E8E5BEB1B /* SDLRadioState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRadioState.m; path = SmartDeviceLink/SDLRadioState.m; sourceTree = ""; }; + 12B0F792AFBD733E34339ED1088AD36E /* SDLDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeviceInfo.m; path = SmartDeviceLink/SDLDeviceInfo.m; sourceTree = ""; }; + 12E2885863DDF0D17C96EFAAEF45AC56 /* SDLListFiles.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLListFiles.m; path = SmartDeviceLink/SDLListFiles.m; sourceTree = ""; }; + 140FFEF6BCEE5E988BE93C6C07C53F70 /* SDLDistanceUnit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDistanceUnit.m; path = SmartDeviceLink/SDLDistanceUnit.m; sourceTree = ""; }; + 1452029094F815D4A37CB7AF1F8F68B1 /* SDLSoftButtonCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonCapabilities.m; path = SmartDeviceLink/SDLSoftButtonCapabilities.m; sourceTree = ""; }; + 1529E778CB489616CEC128365ED5CFA6 /* SDLV1ProtocolHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLV1ProtocolHeader.h; path = SmartDeviceLink/SDLV1ProtocolHeader.h; sourceTree = ""; }; + 156154601077FD951E5C9AEEB63228A2 /* bson_array.c */ = {isa = PBXFileReference; includeInIndex = 1; name = bson_array.c; path = src/bson_array.c; sourceTree = ""; }; + 157A50F80F2AE11FF47679C6EB949AE8 /* SDLSeatControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSeatControlCapabilities.m; path = SmartDeviceLink/SDLSeatControlCapabilities.m; sourceTree = ""; }; + 1591790007AA3BAC73DAF98A1189DB79 /* SDLTextAlignment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTextAlignment.m; path = SmartDeviceLink/SDLTextAlignment.m; sourceTree = ""; }; + 167B88D798FEEDC592CA68F9B81C3C53 /* SDLSetDisplayLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetDisplayLayout.m; path = SmartDeviceLink/SDLSetDisplayLayout.m; sourceTree = ""; }; + 16CB44DA8808ACB9442032A9896329A8 /* SDLFuelType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFuelType.m; path = SmartDeviceLink/SDLFuelType.m; sourceTree = ""; }; + 172391E2C767592E37556E01537A8ABF /* SmartDeviceLink.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SmartDeviceLink.modulemap; sourceTree = ""; }; + 17B3E3A1BA828AED08DF168DFCDBD517 /* SDLOnButtonEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnButtonEvent.h; path = SmartDeviceLink/SDLOnButtonEvent.h; sourceTree = ""; }; + 18278F1A7CF8A435D0169F4AF9BC7E07 /* SDLButtonPressResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonPressResponse.m; path = SmartDeviceLink/SDLButtonPressResponse.m; sourceTree = ""; }; + 1843B9CA2192C5B3AFC14A50D86F80D2 /* SDLSystemContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemContext.m; path = SmartDeviceLink/SDLSystemContext.m; sourceTree = ""; }; + 18641A1747ED648E73C047ED9F2800CD /* SDLHMICapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMICapabilities.h; path = SmartDeviceLink/SDLHMICapabilities.h; sourceTree = ""; }; + 187CBCC47B981AD74A6F93EC13205BFB /* SDLSeatControlData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSeatControlData.m; path = SmartDeviceLink/SDLSeatControlData.m; sourceTree = ""; }; + 18E76DED3EBCF8F68EAC43044C919DBE /* SDLFuelType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFuelType.h; path = SmartDeviceLink/SDLFuelType.h; sourceTree = ""; }; + 19C8E45308B74793CF2A9B319797F667 /* SDLAudioStreamingIndicator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioStreamingIndicator.h; path = SmartDeviceLink/SDLAudioStreamingIndicator.h; sourceTree = ""; }; + 19D811F2001EAF0E3140A317A15C2D2E /* SDLDeleteFileOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteFileOperation.h; path = SmartDeviceLink/SDLDeleteFileOperation.h; sourceTree = ""; }; + 19FDF6F587885D1F611772CA7772CAD2 /* SDLButtonName.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonName.h; path = SmartDeviceLink/SDLButtonName.h; sourceTree = ""; }; + 1A44AD1324030A352FB7310E3D9272D9 /* SDLH264Packetizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLH264Packetizer.h; path = SmartDeviceLink/SDLH264Packetizer.h; sourceTree = ""; }; + 1A475293FD2E00B06407A29CE402B3CE /* SDLVoiceCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVoiceCommand.h; path = SmartDeviceLink/SDLVoiceCommand.h; sourceTree = ""; }; + 1A48D38CDD0CE56654C1E9EE2F457669 /* NSMutableArray+Safe.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableArray+Safe.m"; path = "SmartDeviceLink/NSMutableArray+Safe.m"; sourceTree = ""; }; + 1A8C67EB84DA3FA114CA61C5D36FEC54 /* SDLEndAudioPassThruResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEndAudioPassThruResponse.h; path = SmartDeviceLink/SDLEndAudioPassThruResponse.h; sourceTree = ""; }; + 1AF600A0C57267F1F8E415344E6BAFFC /* SDLShowResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLShowResponse.m; path = SmartDeviceLink/SDLShowResponse.m; sourceTree = ""; }; + 1B25AD2C3F432E69C3F7C65A1FD3AF35 /* SDLRegisterAppInterface.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRegisterAppInterface.m; path = SmartDeviceLink/SDLRegisterAppInterface.m; sourceTree = ""; }; + 1B49E94C86A8F29FC04ECE227ED8900A /* SDLSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSlider.h; path = SmartDeviceLink/SDLSlider.h; sourceTree = ""; }; + 1B5726B9900948F08E1B7069AA2DBD54 /* SDLTouchManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchManager.m; path = SmartDeviceLink/SDLTouchManager.m; sourceTree = ""; }; + 1B70EF9DB97245E1B7E90AB87E5B1191 /* SDLImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImage.m; path = SmartDeviceLink/SDLImage.m; sourceTree = ""; }; + 1BB32C87E0F8872B526E252CB1DD75D3 /* NSMutableDictionary+Store.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableDictionary+Store.h"; path = "SmartDeviceLink/NSMutableDictionary+Store.h"; sourceTree = ""; }; + 1BCFAAA6F0A0783DBF1AE72813201ADF /* SDLControlFramePayloadVideoStartServiceAck.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadVideoStartServiceAck.m; path = SmartDeviceLink/SDLControlFramePayloadVideoStartServiceAck.m; sourceTree = ""; }; + 1BEA6AFC834E233B564947D27D26EFA1 /* SDLChangeRegistrationResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChangeRegistrationResponse.m; path = SmartDeviceLink/SDLChangeRegistrationResponse.m; sourceTree = ""; }; + 1C1D3256D905B03474679371A70F0D78 /* SDLComponentVolumeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLComponentVolumeStatus.m; path = SmartDeviceLink/SDLComponentVolumeStatus.m; sourceTree = ""; }; + 1C1FD7A0723D168384A7197B14A2529E /* SDLRequestType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRequestType.m; path = SmartDeviceLink/SDLRequestType.m; sourceTree = ""; }; + 1CB47175BD521EA36770290CCE23BAE6 /* SDLSubscribeVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeVehicleData.m; path = SmartDeviceLink/SDLSubscribeVehicleData.m; sourceTree = ""; }; + 1CE06A8C55FD9A4D7FA3F0CAF9744D42 /* SDLProtocolMessageAssembler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolMessageAssembler.m; path = SmartDeviceLink/SDLProtocolMessageAssembler.m; sourceTree = ""; }; + 1D5F6CEF1D510CDBB8CE4707724F6BCB /* SDLMenuParams.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMenuParams.m; path = SmartDeviceLink/SDLMenuParams.m; sourceTree = ""; }; + 1D65D5A42B23A3D0DFDB2A586619FD16 /* SDLLockScreen.storyboard */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.storyboard; name = SDLLockScreen.storyboard; path = Base.lproj/SDLLockScreen.storyboard; sourceTree = ""; }; + 1DA9D3D0835E0ECE0927CA88687021D3 /* SDLDeleteChoicesOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteChoicesOperation.h; path = SmartDeviceLink/SDLDeleteChoicesOperation.h; sourceTree = ""; }; + 1DD055CF52ABC534D176AB5FE90081B1 /* SDLNavigationCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLNavigationCapability.m; path = SmartDeviceLink/SDLNavigationCapability.m; sourceTree = ""; }; + 1E13C460CB2039AE064C767DD711F563 /* SDLControlFramePayloadRegisterSecondaryTransportNak.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadRegisterSecondaryTransportNak.h; path = SmartDeviceLink/SDLControlFramePayloadRegisterSecondaryTransportNak.h; sourceTree = ""; }; + 1E464EACE963D6F07103805F407CD25F /* SDLPrerecordedSpeech.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPrerecordedSpeech.h; path = SmartDeviceLink/SDLPrerecordedSpeech.h; sourceTree = ""; }; + 1E9AE8F88AA007A3E77461413B3DB811 /* SDLDistanceUnit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDistanceUnit.h; path = SmartDeviceLink/SDLDistanceUnit.h; sourceTree = ""; }; + 1EFC421DB5D3D2E385A73B206770639E /* SDLAddCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAddCommand.m; path = SmartDeviceLink/SDLAddCommand.m; sourceTree = ""; }; + 1F4DBA778C889E7AE9BD815E523C2F54 /* SDLSystemAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemAction.h; path = SmartDeviceLink/SDLSystemAction.h; sourceTree = ""; }; + 1FF369F4106991D828A148129F2E8B0A /* SDLPrimaryAudioSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPrimaryAudioSource.h; path = SmartDeviceLink/SDLPrimaryAudioSource.h; sourceTree = ""; }; + 2001EE7A12C7EDAE3783A1365BC342A3 /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = en.lproj/SDLLockScreen.strings; sourceTree = ""; }; + 2032173FB118D500BFD0E7DA8D151574 /* SDLListFilesOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLListFilesOperation.m; path = SmartDeviceLink/SDLListFilesOperation.m; sourceTree = ""; }; + 2046809A5315CAEC170D3C5D87341E36 /* SDLPerformInteractionResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPerformInteractionResponse.h; path = SmartDeviceLink/SDLPerformInteractionResponse.h; sourceTree = ""; }; + 2088BFCC8505D1E1234DF6E077FBF1ED /* SDLBeltStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLBeltStatus.h; path = SmartDeviceLink/SDLBeltStatus.h; sourceTree = ""; }; + 209D2EF1609225256F98BE7E93F0E3D8 /* SDLAlertResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAlertResponse.h; path = SmartDeviceLink/SDLAlertResponse.h; sourceTree = ""; }; + 21CDAECFA811151A9856EAC58258EBDB /* SDLProtocolMessageDisassembler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolMessageDisassembler.m; path = SmartDeviceLink/SDLProtocolMessageDisassembler.m; sourceTree = ""; }; + 21FBCD7A2D38BA6674F5B0E20331F1B2 /* SDLTouchType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchType.m; path = SmartDeviceLink/SDLTouchType.m; sourceTree = ""; }; + 220469AA15E3466DA4D330C338703784 /* SDLPresetBankCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPresetBankCapabilities.m; path = SmartDeviceLink/SDLPresetBankCapabilities.m; sourceTree = ""; }; + 22D36F8BAF8DA247629274EEAD8B24E7 /* SDLImageField.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImageField.h; path = SmartDeviceLink/SDLImageField.h; sourceTree = ""; }; 22DAC079C1CE51D75F9F7BEFD7B1A840 /* SmartDeviceLink.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SmartDeviceLink.framework; path = SmartDeviceLink.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 23AD8AAF519200235AA3D890642B861B /* SDLGlobalProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGlobalProperty.m; path = SmartDeviceLink/SDLGlobalProperty.m; sourceTree = ""; }; - 23E0A9FD3D82D4A5C58944B744974063 /* SDLSoftButtonType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonType.h; path = SmartDeviceLink/SDLSoftButtonType.h; sourceTree = ""; }; - 23FA0B714C5E990E52E5745B13EA8671 /* SDLPerformAudioPassThru.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPerformAudioPassThru.h; path = SmartDeviceLink/SDLPerformAudioPassThru.h; sourceTree = ""; }; + 22FA33898196119A09E11F83C8B822C4 /* SDLAddSubMenuResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAddSubMenuResponse.h; path = SmartDeviceLink/SDLAddSubMenuResponse.h; sourceTree = ""; }; + 230B9E5E007D13813F3B04ACEEF59470 /* SDLAudioStreamManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioStreamManager.h; path = SmartDeviceLink/SDLAudioStreamManager.h; sourceTree = ""; }; + 2336A40D34E885F254A79371F2D5B37E /* SDLButtonCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonCapabilities.h; path = SmartDeviceLink/SDLButtonCapabilities.h; sourceTree = ""; }; + 23D2C8F579F60C519B6CD10AAB64E9D0 /* SDLListFilesResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLListFilesResponse.m; path = SmartDeviceLink/SDLListFilesResponse.m; sourceTree = ""; }; + 23E7A3321143B3292C9376581ADDA901 /* SDLHMICapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMICapabilities.m; path = SmartDeviceLink/SDLHMICapabilities.m; sourceTree = ""; }; + 23EE9A21D80BC70F8C3386F5544D3716 /* SDLAppInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAppInfo.h; path = SmartDeviceLink/SDLAppInfo.h; sourceTree = ""; }; + 242E4D08F5FC5F8C12AC9DA213999E95 /* SDLScreenManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScreenManager.h; path = SmartDeviceLink/SDLScreenManager.h; sourceTree = ""; }; 2443CB63E3BC1583C506BBC04BE50078 /* BiSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BiSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2448A3348E0BD2495D81511AADF8C784 /* SDLIAPSession.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLIAPSession.m; path = SmartDeviceLink/SDLIAPSession.m; sourceTree = ""; }; - 24578FC4229D8CE8AB075AB832CD9B3C /* SDLDisplayType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDisplayType.h; path = SmartDeviceLink/SDLDisplayType.h; sourceTree = ""; }; - 252DC8F7CF4330A783C77B937384C378 /* SDLHMICapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMICapabilities.h; path = SmartDeviceLink/SDLHMICapabilities.h; sourceTree = ""; }; - 257329262136BA147919B83BCF64C4B1 /* SDLKeypressMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLKeypressMode.m; path = SmartDeviceLink/SDLKeypressMode.m; sourceTree = ""; }; - 25741A09C3513698722EBF06F0E26ADA /* SDLAlertManeuver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAlertManeuver.h; path = SmartDeviceLink/SDLAlertManeuver.h; sourceTree = ""; }; - 259E96890EF81893DE3265CB54F3E052 /* SDLPhoneCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPhoneCapability.h; path = SmartDeviceLink/SDLPhoneCapability.h; sourceTree = ""; }; - 25D633CC7C011C334D02692E44596FAC /* SDLDIDResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDIDResult.h; path = SmartDeviceLink/SDLDIDResult.h; sourceTree = ""; }; - 25DCD0C39A2A9496298075AB05CC8C47 /* SDLUnregisterAppInterface.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnregisterAppInterface.h; path = SmartDeviceLink/SDLUnregisterAppInterface.h; sourceTree = ""; }; - 263F02748D9A40EBF6B24065DAFF32DE /* SDLCreateInteractionChoiceSetResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCreateInteractionChoiceSetResponse.h; path = SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h; sourceTree = ""; }; - 2718EF42789C67C821B44ACFCF3964C0 /* SDLProtocolMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolMessage.m; path = SmartDeviceLink/SDLProtocolMessage.m; sourceTree = ""; }; - 276148F759D2019B5B71F3F944DBCD6E /* ResourceBundle-SmartDeviceLink-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SmartDeviceLink-Info.plist"; sourceTree = ""; }; - 2793A9A2C1B3BECE22CC7E695AE42B90 /* SDLLogModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogModel.h; path = SmartDeviceLink/SDLLogModel.h; sourceTree = ""; }; - 2830EC5AFC0ED57C2180218CE41E6859 /* SDLReadDID.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLReadDID.m; path = SmartDeviceLink/SDLReadDID.m; sourceTree = ""; }; - 28C429A6BDDC66CA37C80CF94B151E8D /* bson_object.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = bson_object.h; path = src/bson_object.h; sourceTree = ""; }; - 28E196B50F3676805BEF66B3CF13640F /* SDLListFiles.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLListFiles.h; path = SmartDeviceLink/SDLListFiles.h; sourceTree = ""; }; - 2A0BCC95298C5EBCCF1AA4F82ED2282E /* SDLPrimaryAudioSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPrimaryAudioSource.h; path = SmartDeviceLink/SDLPrimaryAudioSource.h; sourceTree = ""; }; - 2A66B5A42FFF967D0DA2537D9F6975A4 /* SDLGetVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetVehicleDataResponse.m; path = SmartDeviceLink/SDLGetVehicleDataResponse.m; sourceTree = ""; }; - 2AC0A4900A55E926B835F1608FC63C15 /* SDLSubscribeWayPointsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeWayPointsResponse.h; path = SmartDeviceLink/SDLSubscribeWayPointsResponse.h; sourceTree = ""; }; - 2B002D9AFD977FD30D4C4CEB25F38ED5 /* SDLImageField.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImageField.h; path = SmartDeviceLink/SDLImageField.h; sourceTree = ""; }; - 2B3E0EA8EE62C7B1FF9C5F15AFB0BB62 /* SDLKeyboardLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeyboardLayout.h; path = SmartDeviceLink/SDLKeyboardLayout.h; sourceTree = ""; }; - 2B8D35ACAE0FE44EF863673668596E12 /* SDLSystemRequestResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemRequestResponse.m; path = SmartDeviceLink/SDLSystemRequestResponse.m; sourceTree = ""; }; - 2B994AA64B1C6C738969BD16A29C4005 /* SDLOnVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnVehicleData.m; path = SmartDeviceLink/SDLOnVehicleData.m; sourceTree = ""; }; + 24B9F83191862C3DAB127D040D7E84C4 /* SDLObjectWithPriority.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLObjectWithPriority.m; path = SmartDeviceLink/SDLObjectWithPriority.m; sourceTree = ""; }; + 259D45E1AFB4F1787FC8E3DE5C59CEAC /* SDLStreamingVideoLifecycleManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingVideoLifecycleManager.m; path = SmartDeviceLink/SDLStreamingVideoLifecycleManager.m; sourceTree = ""; }; + 25C4802F58BEA5CB3120F017CF4F345C /* SDLLockScreenStatusManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenStatusManager.m; path = SmartDeviceLink/SDLLockScreenStatusManager.m; sourceTree = ""; }; + 25E2288919FDE557C4ECB6A34711AA4D /* EAAccessoryManager+SDLProtocols.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EAAccessoryManager+SDLProtocols.h"; path = "SmartDeviceLink/EAAccessoryManager+SDLProtocols.h"; sourceTree = ""; }; + 26596C07D4C1E171071A437EB43CF250 /* SDLRPCPayload.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCPayload.h; path = SmartDeviceLink/SDLRPCPayload.h; sourceTree = ""; }; + 2661D6B4F1E4A0C87E7B79EB35BB7A17 /* SDLHapticRect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHapticRect.m; path = SmartDeviceLink/SDLHapticRect.m; sourceTree = ""; }; + 272E5831D3FF424605127427E7A90BC3 /* SDLPresetBankCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPresetBankCapabilities.h; path = SmartDeviceLink/SDLPresetBankCapabilities.h; sourceTree = ""; }; + 273F3F9D10D2856912B911242697AB75 /* SDLAsynchronousRPCRequestOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAsynchronousRPCRequestOperation.m; path = SmartDeviceLink/SDLAsynchronousRPCRequestOperation.m; sourceTree = ""; }; + 2783B441BC8A958210375C2CB1FFF38C /* SDLVideoStreamingProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingProtocol.m; path = SmartDeviceLink/SDLVideoStreamingProtocol.m; sourceTree = ""; }; + 278DFF1A727BCE036997E56393C855FA /* SDLSyncPData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSyncPData.h; path = SmartDeviceLink/SDLSyncPData.h; sourceTree = ""; }; + 27B167F71BD19841F6007D7C9CBF2BB1 /* SDLFuelCutoffStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFuelCutoffStatus.h; path = SmartDeviceLink/SDLFuelCutoffStatus.h; sourceTree = ""; }; + 28116C10F8E6839229E73642FA1E4D49 /* SDLUnsubscribeButtonResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeButtonResponse.m; path = SmartDeviceLink/SDLUnsubscribeButtonResponse.m; sourceTree = ""; }; + 2847C8BA2910893A2A6F1739775ED9F5 /* SDLDisplayCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDisplayCapabilities.m; path = SmartDeviceLink/SDLDisplayCapabilities.m; sourceTree = ""; }; + 28A78FC1E596344107CD9C39F3E1AE20 /* SDLPermissionItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPermissionItem.m; path = SmartDeviceLink/SDLPermissionItem.m; sourceTree = ""; }; + 28D6F148960DD83935B37C3D826B7260 /* SDLHMIPermissions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMIPermissions.h; path = SmartDeviceLink/SDLHMIPermissions.h; sourceTree = ""; }; + 290173F04289B99176783B66E57534AB /* SDLStreamingMediaManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingMediaManager.m; path = SmartDeviceLink/SDLStreamingMediaManager.m; sourceTree = ""; }; + 2920908C8251D21559604E07DAE9CC4F /* SDLMutableDataQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMutableDataQueue.h; path = SmartDeviceLink/SDLMutableDataQueue.h; sourceTree = ""; }; + 294B2803493B4F22870B023507F06FC5 /* SDLDeleteInteractionChoiceSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteInteractionChoiceSet.m; path = SmartDeviceLink/SDLDeleteInteractionChoiceSet.m; sourceTree = ""; }; + 294E4A7904CB881EF7321E92C367DCC5 /* SDLTireStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTireStatus.h; path = SmartDeviceLink/SDLTireStatus.h; sourceTree = ""; }; + 294FE66477B32CB65903CAB08A4D0901 /* SDLTouchEventCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchEventCapabilities.m; path = SmartDeviceLink/SDLTouchEventCapabilities.m; sourceTree = ""; }; + 295ADFDF55945E4B0EBE8E376D911934 /* Pods-MobileWeather.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-MobileWeather.modulemap"; sourceTree = ""; }; + 29B0DF7E121F9744DDEF8461BEE11346 /* SDLLogFileModuleMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogFileModuleMap.h; path = SmartDeviceLink/SDLLogFileModuleMap.h; sourceTree = ""; }; + 2AAFA2C903287C5055C4409F73717F08 /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = de.lproj/SDLLockScreen.strings; sourceTree = ""; }; + 2B2C4A5A90D11A445D20A514AA2B6C69 /* SmartDeviceLink-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SmartDeviceLink-umbrella.h"; sourceTree = ""; }; + 2B7878ADF0F0D6A17DAE063071E6CA8D /* SDLVideoStreamingProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingProtocol.h; path = SmartDeviceLink/SDLVideoStreamingProtocol.h; sourceTree = ""; }; + 2BAFD24C619E18105CB98355ADC1DA09 /* SDLSoftButtonManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonManager.h; path = SmartDeviceLink/SDLSoftButtonManager.h; sourceTree = ""; }; 2C02C584E9C325081E3002F99447C832 /* SmartDeviceLink.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = SmartDeviceLink.bundle; path = "SmartDeviceLink-SmartDeviceLink.bundle"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2CE5E2AF891CF3912C78F93A29BD1653 /* SDLAppHMIType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAppHMIType.h; path = SmartDeviceLink/SDLAppHMIType.h; sourceTree = ""; }; - 2CE93CBBC2E8FB92B9FA025A704C6FE4 /* SDLMaintenanceModeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMaintenanceModeStatus.m; path = SmartDeviceLink/SDLMaintenanceModeStatus.m; sourceTree = ""; }; - 2D10A5B41528B4BE3F02408E7CBEFA01 /* SDLButtonCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonCapabilities.m; path = SmartDeviceLink/SDLButtonCapabilities.m; sourceTree = ""; }; - 2E2A0ABA4B6162355A84179A7B90F047 /* SDLVehicleDataEventStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataEventStatus.h; path = SmartDeviceLink/SDLVehicleDataEventStatus.h; sourceTree = ""; }; - 2E7273A0AA13BD481371B75380365962 /* EAAccessory+SDLProtocols.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EAAccessory+SDLProtocols.h"; path = "SmartDeviceLink/EAAccessory+SDLProtocols.h"; sourceTree = ""; }; - 2E8789D261A87AD40D3182D962BC93E6 /* SDLPutFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPutFile.m; path = SmartDeviceLink/SDLPutFile.m; sourceTree = ""; }; - 2F496E80D1A66BDAD2176946E26FFDD3 /* SDLAudioStreamManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioStreamManager.h; path = SmartDeviceLink/SDLAudioStreamManager.h; sourceTree = ""; }; - 2F523DB5C983E20570DDBA8097B5438E /* SDLTireStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTireStatus.h; path = SmartDeviceLink/SDLTireStatus.h; sourceTree = ""; }; - 2F75658478FF3D8638EF94C9CC553F49 /* NSMutableDictionary+SafeRemove.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableDictionary+SafeRemove.h"; path = "SmartDeviceLink/NSMutableDictionary+SafeRemove.h"; sourceTree = ""; }; - 30436ABE962D88BA8122BF49B1AC9C2E /* SDLNavigationCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLNavigationCapability.m; path = SmartDeviceLink/SDLNavigationCapability.m; sourceTree = ""; }; - 31681CBEF278AA4C17E19B6561909E3A /* SDLChoice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChoice.m; path = SmartDeviceLink/SDLChoice.m; sourceTree = ""; }; - 316BC50E936E7E22193D5D04918CC6AB /* SDLModuleType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLModuleType.m; path = SmartDeviceLink/SDLModuleType.m; sourceTree = ""; }; - 3199E68AFFFCE3F4F52DED5B530F231B /* SDLFuelCutoffStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFuelCutoffStatus.m; path = SmartDeviceLink/SDLFuelCutoffStatus.m; sourceTree = ""; }; - 31A678843C347F401D27E67837B61C71 /* SDLLifecycleManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleManager.m; path = SmartDeviceLink/SDLLifecycleManager.m; sourceTree = ""; }; - 31D9671A436A179444EDAFA16345974D /* SDLSystemAction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemAction.m; path = SmartDeviceLink/SDLSystemAction.m; sourceTree = ""; }; - 320D147296439C0D83D292D71A06F489 /* SDLAlertResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAlertResponse.m; path = SmartDeviceLink/SDLAlertResponse.m; sourceTree = ""; }; - 322A1E09E81C3510D187651C30F045DD /* SDLAddSubMenu.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAddSubMenu.h; path = SmartDeviceLink/SDLAddSubMenu.h; sourceTree = ""; }; - 3254DB97291B02CE15A70E6FAEF9C482 /* SDLHeadLampStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHeadLampStatus.h; path = SmartDeviceLink/SDLHeadLampStatus.h; sourceTree = ""; }; - 325A789D494FDDC8E61353DFB5AA99E5 /* SDLDefrostZone.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDefrostZone.h; path = SmartDeviceLink/SDLDefrostZone.h; sourceTree = ""; }; - 3274B6BFE5AEF22C859A02ABE06E0023 /* SDLRTPH264Packetizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRTPH264Packetizer.h; path = SmartDeviceLink/SDLRTPH264Packetizer.h; sourceTree = ""; }; - 32801D04602CCB5F6F59980E9D550249 /* NSBundle+SDLBundle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+SDLBundle.h"; path = "SmartDeviceLink/NSBundle+SDLBundle.h"; sourceTree = ""; }; - 32A20CC5F367B57EFD20C8BC42AEA7EA /* SDLRDSData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRDSData.m; path = SmartDeviceLink/SDLRDSData.m; sourceTree = ""; }; - 32B441C5D6EABA02329D09C5C6D73E06 /* SDLUnsubscribeVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeVehicleData.h; path = SmartDeviceLink/SDLUnsubscribeVehicleData.h; sourceTree = ""; }; - 32DDE8FA8E3A56A84E9E4A6D6814BE94 /* SDLAppInterfaceUnregisteredReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAppInterfaceUnregisteredReason.h; path = SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h; sourceTree = ""; }; - 33478CEC0585EF2A5080B9FB7276A2CF /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = es.lproj/SDLLockScreen.strings; sourceTree = ""; }; - 340024BC94E6DDDF4E4B93748671B3DB /* SDLSetAppIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetAppIcon.h; path = SmartDeviceLink/SDLSetAppIcon.h; sourceTree = ""; }; - 341AF01F9B542680DD7CCF67619354F9 /* SDLDeleteFileOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteFileOperation.h; path = SmartDeviceLink/SDLDeleteFileOperation.h; sourceTree = ""; }; - 3703B9758F7AB59DAC77986B0651007E /* SDLLockScreenViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenViewController.m; path = SmartDeviceLink/SDLLockScreenViewController.m; sourceTree = ""; }; - 3738A2804D3A8B9154757AE81F0C606B /* SDLAddSubMenuResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAddSubMenuResponse.h; path = SmartDeviceLink/SDLAddSubMenuResponse.h; sourceTree = ""; }; - 3767A5E252D84087D82485E1D28B909F /* SDLAppInterfaceUnregisteredReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAppInterfaceUnregisteredReason.m; path = SmartDeviceLink/SDLAppInterfaceUnregisteredReason.m; sourceTree = ""; }; - 377D4118B82B4F0C3A536BA00E30B742 /* SDLSendHapticData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSendHapticData.h; path = SmartDeviceLink/SDLSendHapticData.h; sourceTree = ""; }; - 37BF1136198FB6011B50AE0C73495869 /* SDLOnVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnVehicleData.h; path = SmartDeviceLink/SDLOnVehicleData.h; sourceTree = ""; }; - 37C5C28CDA66B605D9ECB736DCB57FE8 /* SDLVehicleDataActiveStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataActiveStatus.h; path = SmartDeviceLink/SDLVehicleDataActiveStatus.h; sourceTree = ""; }; - 383912258B14D2DC93509188212D3117 /* SDLMetadataType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMetadataType.h; path = SmartDeviceLink/SDLMetadataType.h; sourceTree = ""; }; - 3A174DBB8B92E9FB927996A14B224098 /* emhashmap.c */ = {isa = PBXFileReference; includeInIndex = 1; name = emhashmap.c; path = src/emhashmap/emhashmap.c; sourceTree = ""; }; - 3A2D0DE52C7626DDDFF8EDBD3B93D353 /* SDLAlert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAlert.h; path = SmartDeviceLink/SDLAlert.h; sourceTree = ""; }; - 3A4BEFDAE32730F452271F3CFF9EAD46 /* SDLComponentVolumeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLComponentVolumeStatus.h; path = SmartDeviceLink/SDLComponentVolumeStatus.h; sourceTree = ""; }; - 3A4CFA36B32161239C07887FF9996503 /* SDLSoftButtonState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonState.m; path = SmartDeviceLink/SDLSoftButtonState.m; sourceTree = ""; }; - 3A4DF21F131489E86670561EA1BECB5D /* SDLCharacterSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCharacterSet.m; path = SmartDeviceLink/SDLCharacterSet.m; sourceTree = ""; }; - 3B1F6509071D308F37CD572148954D6D /* SDLSubscribeButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeButton.h; path = SmartDeviceLink/SDLSubscribeButton.h; sourceTree = ""; }; - 3BF6EFC40BCE934E9D9654B590153BA5 /* SmartDeviceLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SmartDeviceLink.h; path = SmartDeviceLink/SmartDeviceLink.h; sourceTree = ""; }; - 3BFD4BA4B5A3547295A6679AC6BFC49A /* SDLSetInteriorVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetInteriorVehicleData.h; path = SmartDeviceLink/SDLSetInteriorVehicleData.h; sourceTree = ""; }; - 3C37F5BDBDF23293CB75D2002D8E83E8 /* SDLTextField.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTextField.h; path = SmartDeviceLink/SDLTextField.h; sourceTree = ""; }; - 3C3F499F88E2E4EC42E840EF9B687CA5 /* SDLPowerModeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPowerModeStatus.h; path = SmartDeviceLink/SDLPowerModeStatus.h; sourceTree = ""; }; - 3C73121AED8BF2CAFB1A698F2BEE317B /* SDLPerformAudioPassThru.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPerformAudioPassThru.m; path = SmartDeviceLink/SDLPerformAudioPassThru.m; sourceTree = ""; }; - 3CE56642FAA60BDE23C9933BCB0898E0 /* SDLScrollableMessageResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScrollableMessageResponse.h; path = SmartDeviceLink/SDLScrollableMessageResponse.h; sourceTree = ""; }; - 3D0F3EB3AEADCCD357E2F93D4D90E2CC /* SDLProxyListener.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProxyListener.h; path = SmartDeviceLink/SDLProxyListener.h; sourceTree = ""; }; - 3D5760C4C393C4B7924BB2343E1E3D56 /* SDLVehicleDataResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataResult.m; path = SmartDeviceLink/SDLVehicleDataResult.m; sourceTree = ""; }; - 3DAB9E7F93B0BB64566B9F49CE43CA3B /* dispatch_timer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_timer.m; path = SmartDeviceLink/dispatch_timer.m; sourceTree = ""; }; - 3DC57EBBDAA249CA024D694DA528AAEF /* SDLIgnitionStableStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLIgnitionStableStatus.m; path = SmartDeviceLink/SDLIgnitionStableStatus.m; sourceTree = ""; }; - 3DFA63D12AC8B0E4402E96713683C411 /* SDLLogFileModuleMap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogFileModuleMap.m; path = SmartDeviceLink/SDLLogFileModuleMap.m; sourceTree = ""; }; - 3E95BDBAC803D2276C0BF065D6CAA05A /* SDLImageResolution.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImageResolution.m; path = SmartDeviceLink/SDLImageResolution.m; sourceTree = ""; }; - 3E95E63CBCE0B2E0A9B17FF3C32046A0 /* SDLError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLError.m; path = SmartDeviceLink/SDLError.m; sourceTree = ""; }; - 3EC2742BC9AA7945E9F76EBF1D7FF1BB /* SDLControlFramePayloadEndService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadEndService.h; path = SmartDeviceLink/SDLControlFramePayloadEndService.h; sourceTree = ""; }; - 3ECFB961752A6419C9D2AD686454460F /* SDLEndAudioPassThruResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEndAudioPassThruResponse.h; path = SmartDeviceLink/SDLEndAudioPassThruResponse.h; sourceTree = ""; }; - 3F5AA5F7CD298F98781CDDFD3EF5C93F /* SDLGlobals.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGlobals.h; path = SmartDeviceLink/SDLGlobals.h; sourceTree = ""; }; - 3F834A5E3CBCA128C0FD94297297FDC2 /* SDLLocationDetails.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLocationDetails.m; path = SmartDeviceLink/SDLLocationDetails.m; sourceTree = ""; }; - 3F8DA37774A5006BAD0D5AA7A97B5C24 /* SDLSequentialRPCRequestOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSequentialRPCRequestOperation.m; path = SmartDeviceLink/SDLSequentialRPCRequestOperation.m; sourceTree = ""; }; - 3FB1521438817A78B2B79C382165C1AB /* SDLGenericResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGenericResponse.m; path = SmartDeviceLink/SDLGenericResponse.m; sourceTree = ""; }; - 40BC300AE8BAFBBB4ADB37A1A02636DC /* SDLListFilesOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLListFilesOperation.h; path = SmartDeviceLink/SDLListFilesOperation.h; sourceTree = ""; }; - 40E8850E21D0D146F181FE362827E30D /* SDLRPCNotificationNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCNotificationNotification.h; path = SmartDeviceLink/SDLRPCNotificationNotification.h; sourceTree = ""; }; - 40F6334E1786D525B0B7D6D8EE521BC0 /* SDLGlobals.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGlobals.m; path = SmartDeviceLink/SDLGlobals.m; sourceTree = ""; }; - 41DCA419DC4D4AAED1CDE67A6C2DE475 /* bson_array.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = bson_array.h; path = src/bson_array.h; sourceTree = ""; }; - 4250D9B739A051CD2F62DEFAFDA6039E /* SDLLogTargetFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogTargetFile.m; path = SmartDeviceLink/SDLLogTargetFile.m; sourceTree = ""; }; - 42D72144991E8CE2B9605D1EDCA7DEA2 /* SDLRPCRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCRequest.h; path = SmartDeviceLink/SDLRPCRequest.h; sourceTree = ""; }; - 438FA9580E56B9F6B2D7DF09E6CF2BEC /* SDLHMIZoneCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMIZoneCapabilities.m; path = SmartDeviceLink/SDLHMIZoneCapabilities.m; sourceTree = ""; }; - 43DB8886C4EAD37621417D8648C80EF3 /* SDLLogTargetOSLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogTargetOSLog.h; path = SmartDeviceLink/SDLLogTargetOSLog.h; sourceTree = ""; }; - 43F513E2AAED88A7F766ADD09025F26B /* SDLOnHMIStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnHMIStatus.m; path = SmartDeviceLink/SDLOnHMIStatus.m; sourceTree = ""; }; - 445DC39371A22A05186CFEFD919EF6A6 /* SDLErrorConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLErrorConstants.h; path = SmartDeviceLink/SDLErrorConstants.h; sourceTree = ""; }; - 44F22EBB1FA7AB6F3B2FE7F9179FE5CD /* SDLCarWindowViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCarWindowViewController.h; path = SmartDeviceLink/SDLCarWindowViewController.h; sourceTree = ""; }; - 453EDA95886439462258EABE9FF5AE22 /* SDLBitsPerSample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLBitsPerSample.m; path = SmartDeviceLink/SDLBitsPerSample.m; sourceTree = ""; }; - 469F5C20EDBCB421DE25EB4DB9876540 /* SDLVrCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVrCapabilities.m; path = SmartDeviceLink/SDLVrCapabilities.m; sourceTree = ""; }; - 47156A40521D8AF779FB8DA9C0DC1F3A /* SDLOnTBTClientState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnTBTClientState.h; path = SmartDeviceLink/SDLOnTBTClientState.h; sourceTree = ""; }; - 471EEA7BB9C2834FF46FEB046A0C1F97 /* SDLScreenshotViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScreenshotViewController.h; path = SmartDeviceLink/SDLScreenshotViewController.h; sourceTree = ""; }; - 478C9CB222C2DAC99B812B3CFC336632 /* SDLImageType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImageType.m; path = SmartDeviceLink/SDLImageType.m; sourceTree = ""; }; - 47C870FACFB9ABAF196051C264E73662 /* SDLVehicleDataResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataResult.h; path = SmartDeviceLink/SDLVehicleDataResult.h; sourceTree = ""; }; - 481DE93B2809029FA1A0B8708000DE48 /* SDLPredefinedLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPredefinedLayout.m; path = SmartDeviceLink/SDLPredefinedLayout.m; sourceTree = ""; }; - 48EDE38293C213AA0BF081BB05BAA735 /* SDLStreamingMediaManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaManager.h; path = SmartDeviceLink/SDLStreamingMediaManager.h; sourceTree = ""; }; - 4911573D40289829985B64F704187B89 /* Pods-MobileWeather.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-MobileWeather.modulemap"; sourceTree = ""; }; - 4A75DD6195AC1BF4951B50B5FCE19758 /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = fr.lproj/SDLLockScreen.strings; sourceTree = ""; }; - 4A7B5EC7697544F37BA45B3CE3AABD14 /* EAAccessoryManager+SDLProtocols.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EAAccessoryManager+SDLProtocols.h"; path = "SmartDeviceLink/EAAccessoryManager+SDLProtocols.h"; sourceTree = ""; }; - 4B1825059712D681281C17D17533E154 /* SDLHexUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHexUtility.h; path = SmartDeviceLink/SDLHexUtility.h; sourceTree = ""; }; - 4B5004A9C982B085E208BC6E8555A22D /* SDLSetGlobalProperties.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetGlobalProperties.m; path = SmartDeviceLink/SDLSetGlobalProperties.m; sourceTree = ""; }; - 4B5CB2F5353A5A13565E6C1685F64CE4 /* SDLOnButtonEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnButtonEvent.h; path = SmartDeviceLink/SDLOnButtonEvent.h; sourceTree = ""; }; - 4B5E4AA20353C6793E2FB84758E22D31 /* SDLDeleteFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteFile.h; path = SmartDeviceLink/SDLDeleteFile.h; sourceTree = ""; }; - 4BAD04424E8D1524A1D0BF7CFC2D5021 /* SDLSendLocationResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSendLocationResponse.m; path = SmartDeviceLink/SDLSendLocationResponse.m; sourceTree = ""; }; - 4C418378086D5C5A50F49CED6F531488 /* SDLSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSlider.h; path = SmartDeviceLink/SDLSlider.h; sourceTree = ""; }; - 4D9CDF8CE7F826BEE501E1F24853D330 /* SDLPowerModeQualificationStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPowerModeQualificationStatus.m; path = SmartDeviceLink/SDLPowerModeQualificationStatus.m; sourceTree = ""; }; - 4E0247AB97FEDAFAEC256031CE6C6ADF /* SDLV2ProtocolMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLV2ProtocolMessage.h; path = SmartDeviceLink/SDLV2ProtocolMessage.h; sourceTree = ""; }; - 4E7016F7FE3A9B6081341694937DF158 /* SDLVideoEncoderDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoEncoderDelegate.h; path = SmartDeviceLink/SDLVideoEncoderDelegate.h; sourceTree = ""; }; - 4EAA9AEED38B458DE1C2290D95AAD70E /* SDLOnSystemRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnSystemRequest.h; path = SmartDeviceLink/SDLOnSystemRequest.h; sourceTree = ""; }; - 4EFF23A37AD7FA9F2937E9E4EA1C4EA1 /* SDLProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocol.m; path = SmartDeviceLink/SDLProtocol.m; sourceTree = ""; }; - 4F22DECBE9B7CA0C32363768410D3635 /* SDLRPCResponseNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCResponseNotification.h; path = SmartDeviceLink/SDLRPCResponseNotification.h; sourceTree = ""; }; - 4F6CB61BB1176BCB17D323ED2E477830 /* SDLV1ProtocolMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLV1ProtocolMessage.h; path = SmartDeviceLink/SDLV1ProtocolMessage.h; sourceTree = ""; }; - 4F71CC3B0D2175EB5D84032F55CB5CF8 /* SDLLockScreenPresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenPresenter.m; path = SmartDeviceLink/SDLLockScreenPresenter.m; sourceTree = ""; }; - 4F7447882471CE8BBF3F04CD253E1F0A /* SDLDIDResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDIDResult.m; path = SmartDeviceLink/SDLDIDResult.m; sourceTree = ""; }; - 4F7C067F33A15207188002D9B4198A94 /* SDLSetMediaClockTimer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetMediaClockTimer.m; path = SmartDeviceLink/SDLSetMediaClockTimer.m; sourceTree = ""; }; - 5014A2CC8DC44BC1AFC70F11AB2B3242 /* SDLGetDTCsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetDTCsResponse.h; path = SmartDeviceLink/SDLGetDTCsResponse.h; sourceTree = ""; }; - 50FC7E3E6AEFE13CAB2BAE51F0133D79 /* SDLV1ProtocolHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLV1ProtocolHeader.h; path = SmartDeviceLink/SDLV1ProtocolHeader.h; sourceTree = ""; }; - 515FFA62C9078865722EA9F4B948356C /* SDLWayPointType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLWayPointType.h; path = SmartDeviceLink/SDLWayPointType.h; sourceTree = ""; }; - 518AF6144EABB55A43919530E2FBEC7A /* SDLButtonCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonCapabilities.h; path = SmartDeviceLink/SDLButtonCapabilities.h; sourceTree = ""; }; - 51A211ED46173AF0C21BBE4BE6255E54 /* SDLPerformInteraction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPerformInteraction.h; path = SmartDeviceLink/SDLPerformInteraction.h; sourceTree = ""; }; - 51A9F30C35B04B558A7C6079A283B1A7 /* SDLListFilesResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLListFilesResponse.h; path = SmartDeviceLink/SDLListFilesResponse.h; sourceTree = ""; }; - 51B8555FCE25366FD28B361CF5B95A4C /* Pods-MobileWeather-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MobileWeather-acknowledgements.markdown"; sourceTree = ""; }; - 5224C0ABEFD969B9C2E6488CCD187F5C /* SDLTouchEventCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchEventCapabilities.h; path = SmartDeviceLink/SDLTouchEventCapabilities.h; sourceTree = ""; }; - 522D277B913EE68F8B80BE6B98DE1D23 /* SDLUnsubscribeWayPointsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeWayPointsResponse.h; path = SmartDeviceLink/SDLUnsubscribeWayPointsResponse.h; sourceTree = ""; }; - 5268DD82A1B1F005044353615124613A /* SDLConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLConfiguration.h; path = SmartDeviceLink/SDLConfiguration.h; sourceTree = ""; }; - 526C0D5B1B91B812A0896D5395EC2CCF /* SDLH264VideoEncoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLH264VideoEncoder.h; path = SmartDeviceLink/SDLH264VideoEncoder.h; sourceTree = ""; }; - 52E2B8E10DD83EA172E11AD5200F3F69 /* SDLGetVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetVehicleData.m; path = SmartDeviceLink/SDLGetVehicleData.m; sourceTree = ""; }; - 53BF6821A43E1553A5E35EF0B229D078 /* SDLTouchType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchType.h; path = SmartDeviceLink/SDLTouchType.h; sourceTree = ""; }; - 53C167FD7BCA4829DFD2214A46686E82 /* SDLAlert.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAlert.m; path = SmartDeviceLink/SDLAlert.m; sourceTree = ""; }; - 53D09A48339E144A365C41D9E2600991 /* SDLUnsubscribeWayPoints.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeWayPoints.m; path = SmartDeviceLink/SDLUnsubscribeWayPoints.m; sourceTree = ""; }; - 540E02D58D9F851937559904A88D0812 /* SDLSoftButtonObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonObject.h; path = SmartDeviceLink/SDLSoftButtonObject.h; sourceTree = ""; }; - 542E9DF95196E2458740C1569084F388 /* SDLSetGlobalPropertiesResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetGlobalPropertiesResponse.h; path = SmartDeviceLink/SDLSetGlobalPropertiesResponse.h; sourceTree = ""; }; - 5437084BAFF24480C4F48740D45E04F0 /* SDLTouchEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchEvent.h; path = SmartDeviceLink/SDLTouchEvent.h; sourceTree = ""; }; - 54559F9C4CF7FB07B0D38920FF20C3BB /* SDLTransportDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTransportDelegate.h; path = SmartDeviceLink/SDLTransportDelegate.h; sourceTree = ""; }; - 547874616D7508E1585E0B25E418ED52 /* SDLBodyInformation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLBodyInformation.h; path = SmartDeviceLink/SDLBodyInformation.h; sourceTree = ""; }; - 54A5550C879D839FE7C3307B9E7C5075 /* SDLLockScreenManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenManager.m; path = SmartDeviceLink/SDLLockScreenManager.m; sourceTree = ""; }; - 5564C2DEE5697D775507DE3002B88D69 /* SDLV2ProtocolHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLV2ProtocolHeader.m; path = SmartDeviceLink/SDLV2ProtocolHeader.m; sourceTree = ""; }; - 5564E4FDE467DE0A4A0E105273390875 /* SDLTemperature.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTemperature.m; path = SmartDeviceLink/SDLTemperature.m; sourceTree = ""; }; - 56433433DFF7134C257EF551FC5E0C70 /* SDLMetadataType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMetadataType.m; path = SmartDeviceLink/SDLMetadataType.m; sourceTree = ""; }; - 5676114C6B20C1545CF852CD5E3160DF /* SDLTouchEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchEvent.m; path = SmartDeviceLink/SDLTouchEvent.m; sourceTree = ""; }; - 56883D1F6F9C3C9A655CB9AFA7C1010D /* SDLViewControllerPresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLViewControllerPresentable.h; path = SmartDeviceLink/SDLViewControllerPresentable.h; sourceTree = ""; }; - 5775EC56B2A7D567BA0FE1B2C03AE07F /* SDLAddSubMenu.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAddSubMenu.m; path = SmartDeviceLink/SDLAddSubMenu.m; sourceTree = ""; }; - 57C1723C2BDE9F75A620D3C22CD31BB3 /* SDLECallInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLECallInfo.m; path = SmartDeviceLink/SDLECallInfo.m; sourceTree = ""; }; - 580439BF85B982267E0BCE9CC03E763B /* SDLTouchEventCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchEventCapabilities.m; path = SmartDeviceLink/SDLTouchEventCapabilities.m; sourceTree = ""; }; - 5848940F6A4C4E702641CD86F959E647 /* SDLRPCNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCNotification.h; path = SmartDeviceLink/SDLRPCNotification.h; sourceTree = ""; }; - 586A686DA1A0BEAE475D2620B91B55A4 /* SDLSyncMsgVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSyncMsgVersion.m; path = SmartDeviceLink/SDLSyncMsgVersion.m; sourceTree = ""; }; - 586FC5CCDC205BF4164AD370E5820B83 /* SDLLogTargetFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogTargetFile.h; path = SmartDeviceLink/SDLLogTargetFile.h; sourceTree = ""; }; - 58A357808626910438EE341511854465 /* SDLGenericResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGenericResponse.h; path = SmartDeviceLink/SDLGenericResponse.h; sourceTree = ""; }; - 58CBDC8D8287ECA6DECA03091E37FDAD /* SDLLifecycleConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleConfiguration.m; path = SmartDeviceLink/SDLLifecycleConfiguration.m; sourceTree = ""; }; - 58E8D2BA0D081CC8AE13BF8F68CAF873 /* SDLTextAndGraphicManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTextAndGraphicManager.m; path = SmartDeviceLink/SDLTextAndGraphicManager.m; sourceTree = ""; }; - 59295C908B34B4A837F61BA99486BCCF /* Pods-MobileWeather-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MobileWeather-acknowledgements.plist"; sourceTree = ""; }; - 5946BE7191AEE6E391DD782253C78A30 /* SDLAlertManeuver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAlertManeuver.m; path = SmartDeviceLink/SDLAlertManeuver.m; sourceTree = ""; }; - 599D3C425966BAC09F4FB05ECA372AD7 /* SDLRegisterAppInterfaceResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRegisterAppInterfaceResponse.h; path = SmartDeviceLink/SDLRegisterAppInterfaceResponse.h; sourceTree = ""; }; - 59B08CEAA2422BEA9DCA8F2B816B7D07 /* SDLV2ProtocolMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLV2ProtocolMessage.m; path = SmartDeviceLink/SDLV2ProtocolMessage.m; sourceTree = ""; }; - 59C17FC3AB0EDF2ECE5D3948830BA9EE /* SmartDeviceLink.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SmartDeviceLink.xcconfig; sourceTree = ""; }; - 59E19313C500E3261DAB6D9D3B2B87DF /* SDLButtonPressResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonPressResponse.m; path = SmartDeviceLink/SDLButtonPressResponse.m; sourceTree = ""; }; - 5ACE94E74A82248ED6444A3D33709558 /* SDLOnKeyboardInput.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnKeyboardInput.m; path = SmartDeviceLink/SDLOnKeyboardInput.m; sourceTree = ""; }; - 5B0E10D3001CE935F56EAB791EFC462C /* SDLAudioStreamingState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioStreamingState.m; path = SmartDeviceLink/SDLAudioStreamingState.m; sourceTree = ""; }; - 5B44A41EB7017D80D5A3002C9A946902 /* SDLAbstractTransport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAbstractTransport.h; path = SmartDeviceLink/SDLAbstractTransport.h; sourceTree = ""; }; - 5B5E41247F6CF7B7661B1F482241607F /* SDLSamplingRate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSamplingRate.m; path = SmartDeviceLink/SDLSamplingRate.m; sourceTree = ""; }; - 5B94D52010A14477BD83D616DE62548D /* SDLCreateInteractionChoiceSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCreateInteractionChoiceSet.h; path = SmartDeviceLink/SDLCreateInteractionChoiceSet.h; sourceTree = ""; }; - 5BC96EDD5C6791AEBA2A7E6295EED71D /* SDLGlobalProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGlobalProperty.h; path = SmartDeviceLink/SDLGlobalProperty.h; sourceTree = ""; }; - 5BFA19A1ADA0CA1FA012578A133DEFA7 /* SDLSpeak.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSpeak.m; path = SmartDeviceLink/SDLSpeak.m; sourceTree = ""; }; - 5BFCFDF871DD1848859558893ADB3AA5 /* SDLPutFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPutFileResponse.h; path = SmartDeviceLink/SDLPutFileResponse.h; sourceTree = ""; }; - 5BFEB463421003A7866EC0533805E584 /* SDLPutFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPutFile.h; path = SmartDeviceLink/SDLPutFile.h; sourceTree = ""; }; - 5C1CECB04172FFBF1FC5669373B9B2B9 /* SDLMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMacros.h; path = SmartDeviceLink/SDLMacros.h; sourceTree = ""; }; - 5C7DF757EA1D29458455B63DEAAB9A56 /* SDLShowConstantTBT.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLShowConstantTBT.h; path = SmartDeviceLink/SDLShowConstantTBT.h; sourceTree = ""; }; - 5D6D1E05C73FC5CA88E3045E85BFC76E /* SDLShowResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLShowResponse.m; path = SmartDeviceLink/SDLShowResponse.m; sourceTree = ""; }; - 5E645BA11668DE3714E30EB93DC19FB8 /* SDLRPCResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCResponse.m; path = SmartDeviceLink/SDLRPCResponse.m; sourceTree = ""; }; - 5EB56D7361610FAED89F71A2AD0097FB /* SDLSystemContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemContext.h; path = SmartDeviceLink/SDLSystemContext.h; sourceTree = ""; }; - 5F27FA1B32E1E42AF978FABEB3B52E20 /* SDLImageResolution.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImageResolution.h; path = SmartDeviceLink/SDLImageResolution.h; sourceTree = ""; }; - 5F3108061A33172C9FEC93BC2CF60C87 /* SDLUpdateTurnList.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUpdateTurnList.m; path = SmartDeviceLink/SDLUpdateTurnList.m; sourceTree = ""; }; - 5F57760D011E456CF25E494C71BC5964 /* SDLConnectionManagerType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLConnectionManagerType.h; path = SmartDeviceLink/SDLConnectionManagerType.h; sourceTree = ""; }; - 5F703B524EC4B0173BC78D375802B00B /* SDLVehicleDataResultCode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataResultCode.m; path = SmartDeviceLink/SDLVehicleDataResultCode.m; sourceTree = ""; }; - 6020EE2B2DBCCAE4CC462D508ABA25C4 /* SDLGetDTCs.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetDTCs.m; path = SmartDeviceLink/SDLGetDTCs.m; sourceTree = ""; }; - 60EC7C292921202A49FC9F4689D8F146 /* SDLDeleteInteractionChoiceSetResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteInteractionChoiceSetResponse.m; path = SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m; sourceTree = ""; }; - 610628E53E0DFA4080A416ACD11AC5AD /* SDLMaintenanceModeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMaintenanceModeStatus.h; path = SmartDeviceLink/SDLMaintenanceModeStatus.h; sourceTree = ""; }; - 612350B1D0B456D43243685AACC124E6 /* SDLIAPSession.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIAPSession.h; path = SmartDeviceLink/SDLIAPSession.h; sourceTree = ""; }; - 6190F5EDAE3DBB8768D605C4368FF129 /* SDLSubscribeVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeVehicleData.h; path = SmartDeviceLink/SDLSubscribeVehicleData.h; sourceTree = ""; }; - 61B4429230570DFE3695C8F6204F4229 /* SDLAbstractTransport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAbstractTransport.m; path = SmartDeviceLink/SDLAbstractTransport.m; sourceTree = ""; }; - 61D80725A2FC69370280407ADB7104B7 /* SDLStreamDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamDelegate.m; path = SmartDeviceLink/SDLStreamDelegate.m; sourceTree = ""; }; - 61F816736C706CF9605A674F26A289C1 /* SDLDiagnosticMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDiagnosticMessage.m; path = SmartDeviceLink/SDLDiagnosticMessage.m; sourceTree = ""; }; - 622B9E22692B7C1D4B3D9AC47614D284 /* SDLSendHapticData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSendHapticData.m; path = SmartDeviceLink/SDLSendHapticData.m; sourceTree = ""; }; - 6231B5ACC080FC3EB41BD917FC9AC0C7 /* SDLRPCResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCResponse.h; path = SmartDeviceLink/SDLRPCResponse.h; sourceTree = ""; }; - 623AE04DE2F11CA3A458E73BB5BDFB7E /* SDLPermissionFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionFilter.h; path = SmartDeviceLink/SDLPermissionFilter.h; sourceTree = ""; }; - 628AA2599688200D5C1E3ED21A79A5CE /* SDLSoftButtonCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonCapabilities.m; path = SmartDeviceLink/SDLSoftButtonCapabilities.m; sourceTree = ""; }; - 6352021A7D4EA4E7077D5215856450B4 /* SDLProtocolMessageAssembler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolMessageAssembler.m; path = SmartDeviceLink/SDLProtocolMessageAssembler.m; sourceTree = ""; }; - 63670F1605DAE47E16806EDCC4AB7E76 /* SDLVehicleDataType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataType.h; path = SmartDeviceLink/SDLVehicleDataType.h; sourceTree = ""; }; - 636CDEFCCAD080870E926C7B94C1E1D5 /* SDLOnSyncPData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnSyncPData.h; path = SmartDeviceLink/SDLOnSyncPData.h; sourceTree = ""; }; - 63A5D5482CF827BD4EC3B36E27CA5C58 /* SDLEmergencyEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEmergencyEvent.m; path = SmartDeviceLink/SDLEmergencyEvent.m; sourceTree = ""; }; - 63D73CFA4E9D9C2210E9BEA68AB80BCA /* SDLPerformAudioPassThruResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPerformAudioPassThruResponse.m; path = SmartDeviceLink/SDLPerformAudioPassThruResponse.m; sourceTree = ""; }; - 63DB2A05135DBBAFA54C006B5757B7A8 /* SDLCarWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCarWindow.m; path = SmartDeviceLink/SDLCarWindow.m; sourceTree = ""; }; - 63F73DF4D7D119C609211BC087905A9E /* SDLMutableDataQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMutableDataQueue.h; path = SmartDeviceLink/SDLMutableDataQueue.h; sourceTree = ""; }; - 63FEBADF00067431AEC5CBFAE666F3CC /* SDLSystemAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemAction.h; path = SmartDeviceLink/SDLSystemAction.h; sourceTree = ""; }; - 642C2603CF786CF8E7D8429890FE10E0 /* SDLVrHelpItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVrHelpItem.m; path = SmartDeviceLink/SDLVrHelpItem.m; sourceTree = ""; }; - 644CD2A3F7FC290359667A81233989C0 /* SDLSyncPDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSyncPDataResponse.m; path = SmartDeviceLink/SDLSyncPDataResponse.m; sourceTree = ""; }; - 64572442385935BDCA6F03659D2590DC /* SDLTireStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTireStatus.m; path = SmartDeviceLink/SDLTireStatus.m; sourceTree = ""; }; - 6459AC428E77B3CBBFE60EDA2E670AF8 /* SDLOasisAddress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOasisAddress.m; path = SmartDeviceLink/SDLOasisAddress.m; sourceTree = ""; }; - 64B40EF47566E5F760D6B9A92AAC8241 /* SDLOnEncodedSyncPData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnEncodedSyncPData.m; path = SmartDeviceLink/SDLOnEncodedSyncPData.m; sourceTree = ""; }; - 64E441D76A1D438E4A4E905B1096823B /* SDLSyncPDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSyncPDataResponse.h; path = SmartDeviceLink/SDLSyncPDataResponse.h; sourceTree = ""; }; - 64E58E3113DA5BCB8C799ED409C889BE /* SDLFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFile.m; path = SmartDeviceLink/SDLFile.m; sourceTree = ""; }; - 64FD2EA7DAD5070878138C106365C964 /* SDLLogMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogMacros.h; path = SmartDeviceLink/SDLLogMacros.h; sourceTree = ""; }; - 6562DFD15F2C6DA6F141741164BF70D2 /* SDLStartTime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStartTime.m; path = SmartDeviceLink/SDLStartTime.m; sourceTree = ""; }; - 657ECE28E408DC105862494BD97E8F95 /* SDLCompassDirection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCompassDirection.h; path = SmartDeviceLink/SDLCompassDirection.h; sourceTree = ""; }; - 65A0E874441A41302823DDB1A027EA15 /* SDLEncodedSyncPDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEncodedSyncPDataResponse.h; path = SmartDeviceLink/SDLEncodedSyncPDataResponse.h; sourceTree = ""; }; - 65B651056A6592BAF6E1CC04E3B5D108 /* SDLProtocolReceivedMessageRouter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolReceivedMessageRouter.h; path = SmartDeviceLink/SDLProtocolReceivedMessageRouter.h; sourceTree = ""; }; - 65BD2D743FD682AE4B665F9D09B5C750 /* SDLSoftButtonCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonCapabilities.h; path = SmartDeviceLink/SDLSoftButtonCapabilities.h; sourceTree = ""; }; - 65EC7246A8643ED6EE2BB71ACD42E640 /* SDLUploadFileOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUploadFileOperation.m; path = SmartDeviceLink/SDLUploadFileOperation.m; sourceTree = ""; }; - 662BC842200AC1704F2D6D84FD4985BF /* SDLTouchCoord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchCoord.m; path = SmartDeviceLink/SDLTouchCoord.m; sourceTree = ""; }; - 66685FFEB2AE38A377520BFC390DA345 /* SDLLockScreenManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenManager.h; path = SmartDeviceLink/SDLLockScreenManager.h; sourceTree = ""; }; - 6770FB09422CBE2772890B5A1547DF11 /* SmartDeviceLink-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SmartDeviceLink-umbrella.h"; sourceTree = ""; }; - 67741FBCE77F33B4496BE0980F0809B0 /* SDLSyncPData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSyncPData.h; path = SmartDeviceLink/SDLSyncPData.h; sourceTree = ""; }; - 679AF72E0BA5EEB07D1C3692B5F41895 /* SDLVehicleDataType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataType.m; path = SmartDeviceLink/SDLVehicleDataType.m; sourceTree = ""; }; - 67A2CFE1DC321800D0508F00D4B5E187 /* SDLRPCNotificationNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCNotificationNotification.m; path = SmartDeviceLink/SDLRPCNotificationNotification.m; sourceTree = ""; }; - 6866E5366A03BA1B7EB2A7B3EB5D9135 /* SDLRTPH264Packetizer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRTPH264Packetizer.m; path = SmartDeviceLink/SDLRTPH264Packetizer.m; sourceTree = ""; }; - 68A3E9A40805BFAAB9A401FF081EC9D1 /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = ja.lproj/SDLLockScreen.strings; sourceTree = ""; }; - 68CBCF5413211D68AF00EA245B7F40EB /* SDLResetGlobalProperties.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLResetGlobalProperties.m; path = SmartDeviceLink/SDLResetGlobalProperties.m; sourceTree = ""; }; - 6908E433DCF478B246475719EE75BE15 /* SDLDefrostZone.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDefrostZone.m; path = SmartDeviceLink/SDLDefrostZone.m; sourceTree = ""; }; - 699CEF05B27D9572F223D3FDEBE301F3 /* SDLNotificationConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLNotificationConstants.m; path = SmartDeviceLink/SDLNotificationConstants.m; sourceTree = ""; }; - 69EBD116A26FC17AD429400D0A618704 /* SDLOnButtonPress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnButtonPress.h; path = SmartDeviceLink/SDLOnButtonPress.h; sourceTree = ""; }; - 6A0CC14FB45F45981EF983940F1C98B3 /* SDLPowerModeQualificationStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPowerModeQualificationStatus.h; path = SmartDeviceLink/SDLPowerModeQualificationStatus.h; sourceTree = ""; }; - 6A9FFC25158FB2512C35BF11800F159C /* SDLProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProxy.h; path = SmartDeviceLink/SDLProxy.h; sourceTree = ""; }; - 6B2363D20AFD58BFCA8E12F530E35FCE /* SDLLockScreenViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenViewController.h; path = SmartDeviceLink/SDLLockScreenViewController.h; sourceTree = ""; }; - 6B7F20C853BEFCC211DE2A8ED86F0884 /* SDLLocationDetails.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLocationDetails.h; path = SmartDeviceLink/SDLLocationDetails.h; sourceTree = ""; }; - 6CB45B359F4FB8D4509816B67EAA2BB3 /* SDLScrollableMessageResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScrollableMessageResponse.m; path = SmartDeviceLink/SDLScrollableMessageResponse.m; sourceTree = ""; }; - 6CD7854ADAADFA7EAD4ED7DBFC5337E4 /* SDLPermissionItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionItem.h; path = SmartDeviceLink/SDLPermissionItem.h; sourceTree = ""; }; - 6CE49890301CD21C114B8FF26BE7453C /* SDLDeleteSubMenuResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteSubMenuResponse.m; path = SmartDeviceLink/SDLDeleteSubMenuResponse.m; sourceTree = ""; }; - 6D149320B1D86587FD3837BA833DD8FC /* SDLShow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLShow.h; path = SmartDeviceLink/SDLShow.h; sourceTree = ""; }; - 6D23A34F3B48AC046B4386FDA2EF5CD4 /* SDLProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProxy.m; path = SmartDeviceLink/SDLProxy.m; sourceTree = ""; }; - 6D8065C6538828F4BA05EAD5E3D362DA /* SDLUnregisterAppInterfaceResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnregisterAppInterfaceResponse.m; path = SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m; sourceTree = ""; }; - 6DB187C6D1692C4D3121D9B07DE79D4D /* SDLSingleTireStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSingleTireStatus.h; path = SmartDeviceLink/SDLSingleTireStatus.h; sourceTree = ""; }; - 6DDBC0E3BEB85781A07B993B386AF2CF /* SDLLanguage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLanguage.h; path = SmartDeviceLink/SDLLanguage.h; sourceTree = ""; }; - 6DEE6BAA6BC0FBBD3F1A54C63A2C1404 /* SDLPresetBankCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPresetBankCapabilities.m; path = SmartDeviceLink/SDLPresetBankCapabilities.m; sourceTree = ""; }; - 6EA220C563C0E6357FFA9BD38D8E0774 /* SDLPinchGesture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPinchGesture.h; path = SmartDeviceLink/SDLPinchGesture.h; sourceTree = ""; }; - 6ED1E95CF6535BE0B3E5A326722608C7 /* SDLLayoutMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLayoutMode.h; path = SmartDeviceLink/SDLLayoutMode.h; sourceTree = ""; }; - 6EDA51BA7B4A4E7CB83E6363E2AE32D9 /* SDLDialNumberResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDialNumberResponse.h; path = SmartDeviceLink/SDLDialNumberResponse.h; sourceTree = ""; }; - 6EF56A4EF5462188EE22B37E2CAEC31B /* SDLOnLockScreenStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnLockScreenStatus.h; path = SmartDeviceLink/SDLOnLockScreenStatus.h; sourceTree = ""; }; - 6F78D38F34622FBF944AC37B61C4A225 /* SDLDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeviceInfo.h; path = SmartDeviceLink/SDLDeviceInfo.h; sourceTree = ""; }; - 6F7A6A4DD7853537ADB25DB3F06B6D46 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6FE79B9FD118B7EDF28727AFD5303DA1 /* SDLRDSData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRDSData.h; path = SmartDeviceLink/SDLRDSData.h; sourceTree = ""; }; - 70E927D03A3AA0C9933EE3142CEDA8EB /* SDLTextAndGraphicManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTextAndGraphicManager.h; path = SmartDeviceLink/SDLTextAndGraphicManager.h; sourceTree = ""; }; - 71395EB3E9F6449AD408F7588CCB200A /* SDLFocusableItemLocator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFocusableItemLocator.h; path = SmartDeviceLink/SDLFocusableItemLocator.h; sourceTree = ""; }; - 71A7E7055C841CA2EF414F96E33DE2E7 /* SDLAudioFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioFile.h; path = SmartDeviceLink/SDLAudioFile.h; sourceTree = ""; }; - 721905C4AA7BAAA0EB11B158FB89719C /* SDLLifecycleConfigurationUpdate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleConfigurationUpdate.m; path = SmartDeviceLink/SDLLifecycleConfigurationUpdate.m; sourceTree = ""; }; - 7325C3A452121A95EFC7C4395A1954F8 /* SDLVideoStreamingFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingFormat.m; path = SmartDeviceLink/SDLVideoStreamingFormat.m; sourceTree = ""; }; - 737BA4740552F3A781A7496F8FEFC96F /* SDLHapticRect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHapticRect.h; path = SmartDeviceLink/SDLHapticRect.h; sourceTree = ""; }; - 745FAB4FC4B2A411CF338A511FB92139 /* SDLClusterModeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLClusterModeStatus.h; path = SmartDeviceLink/SDLClusterModeStatus.h; sourceTree = ""; }; - 7498404FE3F238A8759B47A2368865DD /* SDLDiagnosticMessageResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDiagnosticMessageResponse.m; path = SmartDeviceLink/SDLDiagnosticMessageResponse.m; sourceTree = ""; }; - 757A356A939D205F7244B72F4014ED43 /* SDLButtonPress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonPress.m; path = SmartDeviceLink/SDLButtonPress.m; sourceTree = ""; }; - 75D4E0C3BFA03FD2BC5CDAEA77232151 /* SDLShowConstantTBTResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLShowConstantTBTResponse.h; path = SmartDeviceLink/SDLShowConstantTBTResponse.h; sourceTree = ""; }; - 75EE0CDBAFAD51454909052F55FAE9A3 /* SDLIgnitionStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLIgnitionStatus.m; path = SmartDeviceLink/SDLIgnitionStatus.m; sourceTree = ""; }; - 7608A9F87342EADFCA0201D252B08DDE /* Pods-MobileWeather-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-MobileWeather-umbrella.h"; sourceTree = ""; }; - 76E6658100C9B7685A573604AEA11C04 /* SDLDialNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDialNumber.h; path = SmartDeviceLink/SDLDialNumber.h; sourceTree = ""; }; - 77258206B5F52AA06A9B47FD426E37BA /* SDLControlFramePayloadRPCStartService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadRPCStartService.m; path = SmartDeviceLink/SDLControlFramePayloadRPCStartService.m; sourceTree = ""; }; - 774101501AB8DD1203D4CCEEBC4C83CD /* SDLLockScreenStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenStatus.m; path = SmartDeviceLink/SDLLockScreenStatus.m; sourceTree = ""; }; - 781E3DF3B6A64AACA907945D899C02AC /* SDLVehicleDataActiveStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataActiveStatus.m; path = SmartDeviceLink/SDLVehicleDataActiveStatus.m; sourceTree = ""; }; - 788D6503B2B3C954DA7014B24D8AAB99 /* SDLVehicleType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleType.h; path = SmartDeviceLink/SDLVehicleType.h; sourceTree = ""; }; - 789E8C8CF80C940581E7CB05D0E37192 /* SDLPerformInteractionResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPerformInteractionResponse.m; path = SmartDeviceLink/SDLPerformInteractionResponse.m; sourceTree = ""; }; - 78B64884FE6C2D7EC953D3B848ADB553 /* SDLDeleteFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteFileResponse.m; path = SmartDeviceLink/SDLDeleteFileResponse.m; sourceTree = ""; }; - 78C391ECF5B04985FE2694E9E705EB0D /* SDLRadioControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRadioControlCapabilities.h; path = SmartDeviceLink/SDLRadioControlCapabilities.h; sourceTree = ""; }; - 79404B005DE1EE2E2B4561041CC2A325 /* SDLTimer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTimer.h; path = SmartDeviceLink/SDLTimer.h; sourceTree = ""; }; - 794E4F5AAF3142A666624BA2B7916F5B /* SDLDisplayCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDisplayCapabilities.m; path = SmartDeviceLink/SDLDisplayCapabilities.m; sourceTree = ""; }; - 79873851D9B225C9CC58E1B2CDAEC884 /* SDLFocusableItemLocator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFocusableItemLocator.m; path = SmartDeviceLink/SDLFocusableItemLocator.m; sourceTree = ""; }; - 79E567D2898847107A68857E93D5588C /* SDLRemoteControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRemoteControlCapabilities.m; path = SmartDeviceLink/SDLRemoteControlCapabilities.m; sourceTree = ""; }; - 7A1B19A4829DF9ACC1AF7DE1CCBC81E2 /* SDLListFilesOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLListFilesOperation.m; path = SmartDeviceLink/SDLListFilesOperation.m; sourceTree = ""; }; - 7A29AE11104A010EA4B281884552D2CB /* SDLLifecycleManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLifecycleManager.h; path = SmartDeviceLink/SDLLifecycleManager.h; sourceTree = ""; }; - 7A363F98A7FC95A3B402BEB625C0E79B /* SDLEnum.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEnum.h; path = SmartDeviceLink/SDLEnum.h; sourceTree = ""; }; - 7A862B2341F13D19D9AD5CB93B3F07FB /* SDLLogManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogManager.h; path = SmartDeviceLink/SDLLogManager.h; sourceTree = ""; }; - 7B01E6DDD8FB15B24146B78EE6BDB69C /* SDLControlFramePayloadVideoStartService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadVideoStartService.m; path = SmartDeviceLink/SDLControlFramePayloadVideoStartService.m; sourceTree = ""; }; - 7B569FB0232D7A343022B88C5D60D356 /* SDLSetMediaClockTimer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetMediaClockTimer.h; path = SmartDeviceLink/SDLSetMediaClockTimer.h; sourceTree = ""; }; - 7BA4B71BD09D466AF2B8A70D4268AA95 /* SDLDiagnosticMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDiagnosticMessage.h; path = SmartDeviceLink/SDLDiagnosticMessage.h; sourceTree = ""; }; - 7D307C9E502B0FAE99D74D1B6C5C7C20 /* SDLAudioType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioType.m; path = SmartDeviceLink/SDLAudioType.m; sourceTree = ""; }; - 7DAC13B2BE5F1E106E45714D16ED761F /* SDLStreamingMediaConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingMediaConfiguration.m; path = SmartDeviceLink/SDLStreamingMediaConfiguration.m; sourceTree = ""; }; - 7E12DD162E23EADFFF83A7E121458E4C /* SDLModuleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLModuleData.m; path = SmartDeviceLink/SDLModuleData.m; sourceTree = ""; }; - 7E2FAE58CA235BDDEEFC45D51BD72A01 /* SDLPolicyDataParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPolicyDataParser.m; path = SmartDeviceLink/SDLPolicyDataParser.m; sourceTree = ""; }; - 7EB6C591C906A9C7BC171C9ABFD0A98E /* SDLPinchGesture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPinchGesture.m; path = SmartDeviceLink/SDLPinchGesture.m; sourceTree = ""; }; - 7ED2E0EDC4946A294F64629AA8FD1745 /* NSMutableDictionary+Store.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableDictionary+Store.h"; path = "SmartDeviceLink/NSMutableDictionary+Store.h"; sourceTree = ""; }; - 7F0BA322D3A336B555F7FAC39ED0CD5B /* NSMapTable+Subscripting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMapTable+Subscripting.m"; path = "SmartDeviceLink/NSMapTable+Subscripting.m"; sourceTree = ""; }; - 7F6CE004CA05C008DADF5E7E11FCC452 /* SDLControlFramePayloadNak.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadNak.h; path = SmartDeviceLink/SDLControlFramePayloadNak.h; sourceTree = ""; }; - 7F8D935F0C6DEB72315E8D89BEE5AE17 /* SDLRegisterAppInterface.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRegisterAppInterface.h; path = SmartDeviceLink/SDLRegisterAppInterface.h; sourceTree = ""; }; - 80303963962D50249F37233AFBBA124F /* SDLControlFramePayloadVideoStartServiceAck.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadVideoStartServiceAck.h; path = SmartDeviceLink/SDLControlFramePayloadVideoStartServiceAck.h; sourceTree = ""; }; - 80EC7A49133FBD8E3C5D9C5E36A296C6 /* SDLUpdateTurnListResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUpdateTurnListResponse.h; path = SmartDeviceLink/SDLUpdateTurnListResponse.h; sourceTree = ""; }; - 8114BD6937541C9148F31E29F5FDDD04 /* SmartDeviceLink-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SmartDeviceLink-dummy.m"; sourceTree = ""; }; - 8119A87FD83CFA7875A610055C5D34D6 /* SDLLockScreenStatusManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenStatusManager.m; path = SmartDeviceLink/SDLLockScreenStatusManager.m; sourceTree = ""; }; - 81247C40C69C7ADD1631ED532A3C52E4 /* SDLPowerModeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPowerModeStatus.m; path = SmartDeviceLink/SDLPowerModeStatus.m; sourceTree = ""; }; - 81AD775CC6BA838A9FD501352580255F /* SDLNotificationDispatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLNotificationDispatcher.h; path = SmartDeviceLink/SDLNotificationDispatcher.h; sourceTree = ""; }; - 81E1F5998DED2A2A4CDFBAED37FF1DEF /* SDLDeleteSubMenu.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteSubMenu.h; path = SmartDeviceLink/SDLDeleteSubMenu.h; sourceTree = ""; }; - 81E7ED8E7E34570DEDFE3711C9B6D95D /* SDLStreamingMediaLifecycleManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingMediaLifecycleManager.m; path = SmartDeviceLink/SDLStreamingMediaLifecycleManager.m; sourceTree = ""; }; - 8201BF478358844F34CB4BE9A1CB0052 /* SDLManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLManager.h; path = SmartDeviceLink/SDLManager.h; sourceTree = ""; }; - 8230834B23DD4FFEBD26EBCA65D6AE5F /* SDLTimerMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTimerMode.h; path = SmartDeviceLink/SDLTimerMode.h; sourceTree = ""; }; - 823871AE99E427A04BE082ACD251595B /* SDLAbstractProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAbstractProtocol.h; path = SmartDeviceLink/SDLAbstractProtocol.h; sourceTree = ""; }; - 825BB692C8F9C3A5F46C28FCDC6E77A6 /* SDLDeleteCommandResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteCommandResponse.m; path = SmartDeviceLink/SDLDeleteCommandResponse.m; sourceTree = ""; }; - 82777BC1BB66CBF16EAE9FFB7FC63A64 /* SDLSoftButtonType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonType.m; path = SmartDeviceLink/SDLSoftButtonType.m; sourceTree = ""; }; - 82A2DBED26074FE969A252E07792CB6D /* SDLAppInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAppInfo.h; path = SmartDeviceLink/SDLAppInfo.h; sourceTree = ""; }; - 82BD68DA995747A7C868ACF2EF7BC39F /* SDLManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLManager.m; path = SmartDeviceLink/SDLManager.m; sourceTree = ""; }; - 82C4580589E882BFE10A61AC225871F8 /* SDLPrioritizedObjectCollection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPrioritizedObjectCollection.m; path = SmartDeviceLink/SDLPrioritizedObjectCollection.m; sourceTree = ""; }; - 82EDE7CD9BEA5097DA804AC81A2F6636 /* SDLSystemRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemRequest.h; path = SmartDeviceLink/SDLSystemRequest.h; sourceTree = ""; }; - 8305A2E46B9C1FA882A6D23DB5EC799E /* SDLStreamingMediaManagerConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaManagerConstants.h; path = SmartDeviceLink/SDLStreamingMediaManagerConstants.h; sourceTree = ""; }; - 831DE64D7E12DECE705227E7D204DCAD /* SDLLogTargetOSLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogTargetOSLog.m; path = SmartDeviceLink/SDLLogTargetOSLog.m; sourceTree = ""; }; - 8325BC24F0DFBE74A7EE510A66ACF618 /* SDLResponseDispatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLResponseDispatcher.h; path = SmartDeviceLink/SDLResponseDispatcher.h; sourceTree = ""; }; - 8360C5C5677178F2F99E37FAC2E7AEA5 /* SDLScreenManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScreenManager.m; path = SmartDeviceLink/SDLScreenManager.m; sourceTree = ""; }; - 83C22C1F91769C32F4DCB37816D2AD6C /* SDLChangeRegistration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChangeRegistration.h; path = SmartDeviceLink/SDLChangeRegistration.h; sourceTree = ""; }; - 83D2E3D08D9CA58278CE62B03B11AFA9 /* SDLPresetBankCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPresetBankCapabilities.h; path = SmartDeviceLink/SDLPresetBankCapabilities.h; sourceTree = ""; }; - 8429655CF967710DA2743C1D9871C263 /* SDLVideoStreamingCodec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingCodec.m; path = SmartDeviceLink/SDLVideoStreamingCodec.m; sourceTree = ""; }; - 84703A40ACC0DCD5B02AF51907E237D3 /* NSMapTable+Subscripting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMapTable+Subscripting.h"; path = "SmartDeviceLink/NSMapTable+Subscripting.h"; sourceTree = ""; }; - 85FF7D7562ED37453FEA41F13EBDD908 /* SDLNames.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLNames.h; path = SmartDeviceLink/SDLNames.h; sourceTree = ""; }; - 86BCB6348A43C55F7080BE30ACE53A2A /* SDLAddCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAddCommand.m; path = SmartDeviceLink/SDLAddCommand.m; sourceTree = ""; }; - 870F0F3D0779941C924CEC48481E5D6E /* SDLRPCStruct.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCStruct.m; path = SmartDeviceLink/SDLRPCStruct.m; sourceTree = ""; }; - 871B2DC4311373C11255E4579430C632 /* SDLUnsubscribeButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeButton.m; path = SmartDeviceLink/SDLUnsubscribeButton.m; sourceTree = ""; }; - 875C540740F5214AF0FB7898ECF10CB4 /* SDLSystemCapabilityType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemCapabilityType.m; path = SmartDeviceLink/SDLSystemCapabilityType.m; sourceTree = ""; }; - 88587DAE691BD3C101E6EE08D16CCAB0 /* SDLButtonEventMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonEventMode.m; path = SmartDeviceLink/SDLButtonEventMode.m; sourceTree = ""; }; - 88703DA25DCD3EE9D5646E2A4899A078 /* SDLParameterPermissions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLParameterPermissions.h; path = SmartDeviceLink/SDLParameterPermissions.h; sourceTree = ""; }; - 88D40B45BFAE22C6DA3863354B59D2B3 /* SDLEnum.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEnum.m; path = SmartDeviceLink/SDLEnum.m; sourceTree = ""; }; - 899C97FE0766AFB0F05E53C99055AD0A /* BiSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BiSON-umbrella.h"; sourceTree = ""; }; - 89B03CC1E5E139CEE4857701F8C625FA /* SDLGetSystemCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetSystemCapability.m; path = SmartDeviceLink/SDLGetSystemCapability.m; sourceTree = ""; }; - 8A0C4117F0D9E52CDF1DFE5B17C9814E /* SDLECallConfirmationStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLECallConfirmationStatus.h; path = SmartDeviceLink/SDLECallConfirmationStatus.h; sourceTree = ""; }; - 8A2399E25A379CAD17A23E91A13A08C7 /* SDLUnsubscribeButtonResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeButtonResponse.h; path = SmartDeviceLink/SDLUnsubscribeButtonResponse.h; sourceTree = ""; }; - 8A96249B24293B78C265D3BF9E7AFDBD /* SDLSubscribeWayPointsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeWayPointsResponse.m; path = SmartDeviceLink/SDLSubscribeWayPointsResponse.m; sourceTree = ""; }; - 8ACDD497B27A6C8A00EC8DC87BFC9DE2 /* SDLOnDriverDistraction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnDriverDistraction.h; path = SmartDeviceLink/SDLOnDriverDistraction.h; sourceTree = ""; }; - 8AF1ABF5DBBE71CC24F88E7A47A8CDCE /* SDLPrerecordedSpeech.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPrerecordedSpeech.h; path = SmartDeviceLink/SDLPrerecordedSpeech.h; sourceTree = ""; }; - 8B5D7EBF571029558FABC34C5DBD25ED /* SDLVehicleDataResultCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataResultCode.h; path = SmartDeviceLink/SDLVehicleDataResultCode.h; sourceTree = ""; }; - 8B8D80778C6B6AE24DCBEF558C4D7BC2 /* SDLListFilesResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLListFilesResponse.m; path = SmartDeviceLink/SDLListFilesResponse.m; sourceTree = ""; }; - 8BA9389ABFFD44D4D2E07B5B8A355E9C /* bson_object.c */ = {isa = PBXFileReference; includeInIndex = 1; name = bson_object.c; path = src/bson_object.c; sourceTree = ""; }; - 8BF3C582473FCB8D62BB29CFB8783E4F /* SDLAudioFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioFile.m; path = SmartDeviceLink/SDLAudioFile.m; sourceTree = ""; }; - 8D2D226C274F0F93A7F64BC3B842FE6E /* SDLGetSystemCapabilityResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetSystemCapabilityResponse.m; path = SmartDeviceLink/SDLGetSystemCapabilityResponse.m; sourceTree = ""; }; - 8DA7402942894690DDC3563211F92896 /* SDLOnAppInterfaceUnregistered.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnAppInterfaceUnregistered.h; path = SmartDeviceLink/SDLOnAppInterfaceUnregistered.h; sourceTree = ""; }; - 8E7498F486D224EDB17E6631E4E70D7A /* SDLWayPointType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLWayPointType.m; path = SmartDeviceLink/SDLWayPointType.m; sourceTree = ""; }; - 8E75CC33FE2DE3715B200C05899C0910 /* SDLOnInteriorVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnInteriorVehicleData.m; path = SmartDeviceLink/SDLOnInteriorVehicleData.m; sourceTree = ""; }; - 8EA71E753DA8EEA910381C19D7E56632 /* SDLRPCPayload.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCPayload.h; path = SmartDeviceLink/SDLRPCPayload.h; sourceTree = ""; }; - 8EAD0447E8D0506AACC8C88E1D7FD847 /* SDLIgnitionStableStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIgnitionStableStatus.h; path = SmartDeviceLink/SDLIgnitionStableStatus.h; sourceTree = ""; }; - 8F00680FD74F06788866C23806150899 /* SDLSendHapticDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSendHapticDataResponse.m; path = SmartDeviceLink/SDLSendHapticDataResponse.m; sourceTree = ""; }; - 8F542112E3EA5E9B1175E444CDD0A5DC /* SDLClimateControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLClimateControlCapabilities.h; path = SmartDeviceLink/SDLClimateControlCapabilities.h; sourceTree = ""; }; - 8F979E60B2948AEE9A7B7A0459FFF705 /* SDLGetDTCsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetDTCsResponse.m; path = SmartDeviceLink/SDLGetDTCsResponse.m; sourceTree = ""; }; - 8FA166A0A249F11380A2937001B1E54C /* SDLScreenManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScreenManager.h; path = SmartDeviceLink/SDLScreenManager.h; sourceTree = ""; }; - 8FA68184BE9704D0BD63C8301877258E /* SDLFileManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileManager.h; path = SmartDeviceLink/SDLFileManager.h; sourceTree = ""; }; - 901534CE8834827622E46380204E0ACA /* SDLResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLResult.m; path = SmartDeviceLink/SDLResult.m; sourceTree = ""; }; - 902E9B90FFA2C83513BDDCE8F591987B /* SDLNotificationConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLNotificationConstants.h; path = SmartDeviceLink/SDLNotificationConstants.h; sourceTree = ""; }; - 90EAF75372588B006E99BC124524CE47 /* SDLGetInteriorVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetInteriorVehicleDataResponse.m; path = SmartDeviceLink/SDLGetInteriorVehicleDataResponse.m; sourceTree = ""; }; - 913AC32DB86F68B49617C6E0797B4574 /* SDLOnTBTClientState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnTBTClientState.m; path = SmartDeviceLink/SDLOnTBTClientState.m; sourceTree = ""; }; - 91D16A339EAD3A7CE2A3EF0AC3F60A6E /* SDLDeliveryMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeliveryMode.h; path = SmartDeviceLink/SDLDeliveryMode.h; sourceTree = ""; }; - 91DDE221D28C1DDBE2FDCABB43F591C4 /* SDLSetAppIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetAppIcon.m; path = SmartDeviceLink/SDLSetAppIcon.m; sourceTree = ""; }; - 91EF37E5584AC78908E392B78DD87216 /* SDLTriggerSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTriggerSource.m; path = SmartDeviceLink/SDLTriggerSource.m; sourceTree = ""; }; - 926F1D75D3995E6766EE0C2CF88EE57A /* SDLDialNumberResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDialNumberResponse.m; path = SmartDeviceLink/SDLDialNumberResponse.m; sourceTree = ""; }; - 929BA67D1C6AA6DEFF87C3A668E2F71A /* SDLSpeechCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSpeechCapabilities.h; path = SmartDeviceLink/SDLSpeechCapabilities.h; sourceTree = ""; }; - 92C77552CA19358DD239D278D8FFF110 /* SDLSingleTireStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSingleTireStatus.m; path = SmartDeviceLink/SDLSingleTireStatus.m; sourceTree = ""; }; - 932C28B9EC3B5F9B8B618BAE1DAB3A72 /* SDLStateMachine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStateMachine.m; path = SmartDeviceLink/SDLStateMachine.m; sourceTree = ""; }; - 9335987C284CB4E6952986BC5F3BEFE9 /* CVPixelBufferRef+SDLUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CVPixelBufferRef+SDLUtil.m"; path = "SmartDeviceLink/CVPixelBufferRef+SDLUtil.m"; sourceTree = ""; }; + 2C6F102A06A6693E2DF34B61E773CCDB /* SDLGetWayPointsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetWayPointsResponse.h; path = SmartDeviceLink/SDLGetWayPointsResponse.h; sourceTree = ""; }; + 2C915C4AA9086574E49D8331642E4948 /* SDLSupportedSeat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSupportedSeat.m; path = SmartDeviceLink/SDLSupportedSeat.m; sourceTree = ""; }; + 2CEC5466A9425A1BCFF272CB96BB09CF /* SDLAudioControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioControlCapabilities.h; path = SmartDeviceLink/SDLAudioControlCapabilities.h; sourceTree = ""; }; + 2E2EBD053D79C772222DE2E10B18D8FE /* SDLRemoteControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRemoteControlCapabilities.h; path = SmartDeviceLink/SDLRemoteControlCapabilities.h; sourceTree = ""; }; + 2EC269B1966033DB01819D2781AC4309 /* SDLSoftButtonType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonType.m; path = SmartDeviceLink/SDLSoftButtonType.m; sourceTree = ""; }; + 2EE41E56DC2D82CBE3A4B6F45276F73C /* SDLFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFile.m; path = SmartDeviceLink/SDLFile.m; sourceTree = ""; }; + 2F97703AD5D975F96461DFEF2BD9BE22 /* SDLButtonCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonCapabilities.m; path = SmartDeviceLink/SDLButtonCapabilities.m; sourceTree = ""; }; + 2FA874BD88EA74B7BB768D1914F61EEE /* SDLTBTState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTBTState.h; path = SmartDeviceLink/SDLTBTState.h; sourceTree = ""; }; + 2FD4201DF52143CC2A919A9470F285F4 /* SDLPermissionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPermissionManager.m; path = SmartDeviceLink/SDLPermissionManager.m; sourceTree = ""; }; + 3000DA61AEE11E76574446153EA6A9D0 /* SDLStartTime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStartTime.h; path = SmartDeviceLink/SDLStartTime.h; sourceTree = ""; }; + 300ED618507FFF56590E18E5EF202190 /* SDLResponseDispatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLResponseDispatcher.m; path = SmartDeviceLink/SDLResponseDispatcher.m; sourceTree = ""; }; + 30350A37D735C91E7CF974A4830CA33B /* SDLECallInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLECallInfo.h; path = SmartDeviceLink/SDLECallInfo.h; sourceTree = ""; }; + 30A1C0974FFE84B3A299752EEA455C1B /* SDLCharacterSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCharacterSet.h; path = SmartDeviceLink/SDLCharacterSet.h; sourceTree = ""; }; + 30A208F2A2627ACEFA41F51C36E546F6 /* SDLSequentialRPCRequestOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSequentialRPCRequestOperation.h; path = SmartDeviceLink/SDLSequentialRPCRequestOperation.h; sourceTree = ""; }; + 318E7D64E2E03688E5466308C0C8EAD0 /* SDLSetDisplayLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetDisplayLayout.h; path = SmartDeviceLink/SDLSetDisplayLayout.h; sourceTree = ""; }; + 31A35F792486DE7AFBB2EC2911AE103F /* SDLStreamingAudioLifecycleManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingAudioLifecycleManager.h; path = SmartDeviceLink/SDLStreamingAudioLifecycleManager.h; sourceTree = ""; }; + 31CDA2AD721D16F7CB22C8FEB7BF1900 /* SDLOnRCStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnRCStatus.h; path = SmartDeviceLink/SDLOnRCStatus.h; sourceTree = ""; }; + 3265C5001A2B5C7FDD75B87FB09F0A9E /* SDLVehicleDataResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataResult.m; path = SmartDeviceLink/SDLVehicleDataResult.m; sourceTree = ""; }; + 32ED80D5DAF69F34604CA7B85C0B657F /* SDLOnWayPointChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnWayPointChange.h; path = SmartDeviceLink/SDLOnWayPointChange.h; sourceTree = ""; }; + 33232BB5262BA6F1226DA202E9671995 /* SDLV2ProtocolHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLV2ProtocolHeader.h; path = SmartDeviceLink/SDLV2ProtocolHeader.h; sourceTree = ""; }; + 3333FE8BAEDEBFE42D614FE436BD845A /* SDLSystemRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemRequest.m; path = SmartDeviceLink/SDLSystemRequest.m; sourceTree = ""; }; + 3347A8E18A7BA7E697F4FAC02971C531 /* SDLLogFileModuleMap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogFileModuleMap.m; path = SmartDeviceLink/SDLLogFileModuleMap.m; sourceTree = ""; }; + 3469A6571DC2C323C8576335770482C5 /* SDLControlFramePayloadEndService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadEndService.m; path = SmartDeviceLink/SDLControlFramePayloadEndService.m; sourceTree = ""; }; + 34FB346A248BDC3502948C80F744F6B7 /* SDLLifecycleManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLifecycleManager.h; path = SmartDeviceLink/SDLLifecycleManager.h; sourceTree = ""; }; + 35367A3B6B5D2710B91745AE6AD4682D /* SDLIgnitionStableStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLIgnitionStableStatus.m; path = SmartDeviceLink/SDLIgnitionStableStatus.m; sourceTree = ""; }; + 35CCA10DFC8096AC5E016E46765C017C /* SDLSubscribeButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeButton.h; path = SmartDeviceLink/SDLSubscribeButton.h; sourceTree = ""; }; + 363CE2A5FD5AF0FB3D59F4182F6820BA /* SDLNotificationConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLNotificationConstants.h; path = SmartDeviceLink/SDLNotificationConstants.h; sourceTree = ""; }; + 365FC18DA34697E05E3D5EDB05B377B7 /* SDLViewControllerPresentable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLViewControllerPresentable.h; path = SmartDeviceLink/SDLViewControllerPresentable.h; sourceTree = ""; }; + 36627794E114102CDCC27CFF984888EB /* SDLLightControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLightControlCapabilities.h; path = SmartDeviceLink/SDLLightControlCapabilities.h; sourceTree = ""; }; + 369B5BF8AEC7813E438E7A758338068A /* SDLRPCResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCResponse.h; path = SmartDeviceLink/SDLRPCResponse.h; sourceTree = ""; }; + 36EFA6746210C481724913EA6E678298 /* SDLFileWrapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFileWrapper.m; path = SmartDeviceLink/SDLFileWrapper.m; sourceTree = ""; }; + 371C3337694484EFB099491CD7CBA561 /* SDLSystemCapabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemCapabilityManager.h; path = SmartDeviceLink/SDLSystemCapabilityManager.h; sourceTree = ""; }; + 37245382BD437F67F1FF0EEB59160BD9 /* SDLLanguage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLanguage.h; path = SmartDeviceLink/SDLLanguage.h; sourceTree = ""; }; + 377445D67676F1D832550CE95B78BB4F /* SDLVrHelpItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVrHelpItem.m; path = SmartDeviceLink/SDLVrHelpItem.m; sourceTree = ""; }; + 37762E39468016593D2D4AD6F5570CCC /* SDLLogTargetFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogTargetFile.h; path = SmartDeviceLink/SDLLogTargetFile.h; sourceTree = ""; }; + 37D8092920B8E5E088E7054B0E3942B8 /* SDLSubscribeWayPointsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeWayPointsResponse.m; path = SmartDeviceLink/SDLSubscribeWayPointsResponse.m; sourceTree = ""; }; + 37F60ABA9812A222448532EC0551BAAA /* SDLPrioritizedObjectCollection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPrioritizedObjectCollection.h; path = SmartDeviceLink/SDLPrioritizedObjectCollection.h; sourceTree = ""; }; + 3884964D6FEB0D08398432C7EEDB2FAD /* SDLKeyboardEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLKeyboardEvent.m; path = SmartDeviceLink/SDLKeyboardEvent.m; sourceTree = ""; }; + 3931112BA99F69A22491E261DD430300 /* SDLCharacterSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCharacterSet.m; path = SmartDeviceLink/SDLCharacterSet.m; sourceTree = ""; }; + 395E1A376C97C99D0683BCB39656C9FE /* SDLChangeRegistration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChangeRegistration.m; path = SmartDeviceLink/SDLChangeRegistration.m; sourceTree = ""; }; + 396E2A6E63106E326669E7D49B49DEF8 /* SDLGPSData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGPSData.h; path = SmartDeviceLink/SDLGPSData.h; sourceTree = ""; }; + 3A3F10D75A29E72E114BC186C312F2C7 /* SDLKeyboardLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLKeyboardLayout.m; path = SmartDeviceLink/SDLKeyboardLayout.m; sourceTree = ""; }; + 3A44B618A753930AEB7AB149D4B8216A /* SDLTemperatureUnit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTemperatureUnit.h; path = SmartDeviceLink/SDLTemperatureUnit.h; sourceTree = ""; }; + 3A4D13E0009268C3B0AF4EE348B8F3E0 /* SDLPinchGesture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPinchGesture.m; path = SmartDeviceLink/SDLPinchGesture.m; sourceTree = ""; }; + 3AA1F076AA965641F75BD01CEF11B284 /* SDLRequestType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRequestType.h; path = SmartDeviceLink/SDLRequestType.h; sourceTree = ""; }; + 3AC5CC5E55197D747732B811BBCDDE2F /* SDLResetGlobalPropertiesResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLResetGlobalPropertiesResponse.m; path = SmartDeviceLink/SDLResetGlobalPropertiesResponse.m; sourceTree = ""; }; + 3B04648E1797EF5AE9C7A3A0EA1503FC /* SDLGPSData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGPSData.m; path = SmartDeviceLink/SDLGPSData.m; sourceTree = ""; }; + 3B11875C27CE5BA6B79B0F5FAEB42813 /* SDLOnKeyboardInput.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnKeyboardInput.m; path = SmartDeviceLink/SDLOnKeyboardInput.m; sourceTree = ""; }; + 3B47C27C1C51D3C0496F6DC20D6173B7 /* SDLSoftButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButton.h; path = SmartDeviceLink/SDLSoftButton.h; sourceTree = ""; }; + 3B51FFE36220330A3CACA531C013CFCD /* SDLLockScreenPresenter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenPresenter.m; path = SmartDeviceLink/SDLLockScreenPresenter.m; sourceTree = ""; }; + 3B798F817D25B6AC4EB2558AD624BFAC /* SDLDIDResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDIDResult.h; path = SmartDeviceLink/SDLDIDResult.h; sourceTree = ""; }; + 3BA470C9B9EB26D3D32BA81CC044675F /* SDLSpeakResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSpeakResponse.m; path = SmartDeviceLink/SDLSpeakResponse.m; sourceTree = ""; }; + 3BD2DB088EAE22C7DD20B753FE0006F9 /* SDLStreamingProtocolDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingProtocolDelegate.h; path = SmartDeviceLink/SDLStreamingProtocolDelegate.h; sourceTree = ""; }; + 3C41D652EF9BBF85E62105FDA5237EAA /* SmartDeviceLink-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SmartDeviceLink-dummy.m"; sourceTree = ""; }; + 3D2CD286B7D32EA822FA311A2885651B /* SDLOasisAddress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOasisAddress.m; path = SmartDeviceLink/SDLOasisAddress.m; sourceTree = ""; }; + 3D6C9643ED47D177A573F14BE3364185 /* SDLLifecycleConfigurationUpdate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleConfigurationUpdate.m; path = SmartDeviceLink/SDLLifecycleConfigurationUpdate.m; sourceTree = ""; }; + 3D6DF75BEFE354E7355FDB8A0CF69DC8 /* SDLRPCResponseNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCResponseNotification.m; path = SmartDeviceLink/SDLRPCResponseNotification.m; sourceTree = ""; }; + 3D77537101F4D37E9DC5CF089F2678B1 /* SDLStaticIconName.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStaticIconName.h; path = SmartDeviceLink/SDLStaticIconName.h; sourceTree = ""; }; + 3D866FDF5A5451BCEB413407002EE42B /* SDLAlertResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAlertResponse.m; path = SmartDeviceLink/SDLAlertResponse.m; sourceTree = ""; }; + 3DB6E62464C24A09F0CCEDABD345B9B1 /* SDLOnRCStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnRCStatus.m; path = SmartDeviceLink/SDLOnRCStatus.m; sourceTree = ""; }; + 3DBFF64D9B2AD1BA9EE49B1585A50913 /* SDLVideoStreamingCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingCapability.h; path = SmartDeviceLink/SDLVideoStreamingCapability.h; sourceTree = ""; }; + 3E0F179B62A3D0B60D754AE594FDCD90 /* SDLAsynchronousOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAsynchronousOperation.h; path = SmartDeviceLink/SDLAsynchronousOperation.h; sourceTree = ""; }; + 3E2E609CCF3FF8FA84D2EA7E5E75B6FF /* SDLPowerModeQualificationStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPowerModeQualificationStatus.h; path = SmartDeviceLink/SDLPowerModeQualificationStatus.h; sourceTree = ""; }; + 3E81332C7D788E672B67F2C6B78E9E27 /* SDLSubscribeButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeButton.m; path = SmartDeviceLink/SDLSubscribeButton.m; sourceTree = ""; }; + 3EA642FC8AF9F46DC3E8AE79DDE2E472 /* SDLReadDID.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLReadDID.h; path = SmartDeviceLink/SDLReadDID.h; sourceTree = ""; }; + 3EC8C09312FB4922A1226B9708C6A43C /* SDLRegisterAppInterface.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRegisterAppInterface.h; path = SmartDeviceLink/SDLRegisterAppInterface.h; sourceTree = ""; }; + 3ED24853CBACABF3D277A172CDD9E2F6 /* SDLPhoneCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPhoneCapability.h; path = SmartDeviceLink/SDLPhoneCapability.h; sourceTree = ""; }; + 3EE7896D35763F8CAF64B08BA64C53DD /* SDLShowResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLShowResponse.h; path = SmartDeviceLink/SDLShowResponse.h; sourceTree = ""; }; + 3F06E01500491105B758E90A6D3828F0 /* emhashmap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = emhashmap.h; path = src/emhashmap/emhashmap.h; sourceTree = ""; }; + 3F770F0B48C84089402B55A1C16E0BCE /* SDLRadioControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRadioControlCapabilities.m; path = SmartDeviceLink/SDLRadioControlCapabilities.m; sourceTree = ""; }; + 40A128D8E15179FEFF5E6E00D350F202 /* SDLHeadLampStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHeadLampStatus.m; path = SmartDeviceLink/SDLHeadLampStatus.m; sourceTree = ""; }; + 40C3DCCA2797BCCB1A582257FAD07C67 /* SDLSoftButtonCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonCapabilities.h; path = SmartDeviceLink/SDLSoftButtonCapabilities.h; sourceTree = ""; }; + 41B5153EEE7EBA7454C7569C8E96F5BB /* SDLOnSystemRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnSystemRequest.m; path = SmartDeviceLink/SDLOnSystemRequest.m; sourceTree = ""; }; + 41E3A061FF1984AD8701A270A3DEF731 /* SDLPresentKeyboardOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPresentKeyboardOperation.h; path = SmartDeviceLink/SDLPresentKeyboardOperation.h; sourceTree = ""; }; + 41EACD9F247C6BE29368926681946F79 /* SDLIAPTransport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLIAPTransport.m; path = SmartDeviceLink/SDLIAPTransport.m; sourceTree = ""; }; + 4241F5A620863C29571F81EDA3052EF8 /* BiSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BiSON-prefix.pch"; sourceTree = ""; }; + 425112040C5A32D7A5A360DFF736A31A /* SDLKeyboardDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeyboardDelegate.h; path = SmartDeviceLink/SDLKeyboardDelegate.h; sourceTree = ""; }; + 42EBF47E8F2913EC1CE334E935EB5CCB /* SDLAudioStreamingIndicator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioStreamingIndicator.m; path = SmartDeviceLink/SDLAudioStreamingIndicator.m; sourceTree = ""; }; + 4361BDEC05496F0B266C45DAC0E5FC5E /* SDLControlFramePayloadConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadConstants.m; path = SmartDeviceLink/SDLControlFramePayloadConstants.m; sourceTree = ""; }; + 439E51BAD933C8050127EB5370DDA5E3 /* SDLPRNDL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPRNDL.m; path = SmartDeviceLink/SDLPRNDL.m; sourceTree = ""; }; + 43CD4E20EA357AF78C5B0D31F5F31E3E /* SDLSendHapticData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSendHapticData.h; path = SmartDeviceLink/SDLSendHapticData.h; sourceTree = ""; }; + 44506CC099F475752271FA11D05D3C75 /* SDLSecondaryTransportPrimaryProtocolHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSecondaryTransportPrimaryProtocolHandler.m; path = SmartDeviceLink/SDLSecondaryTransportPrimaryProtocolHandler.m; sourceTree = ""; }; + 449521F0B43B71DD5E353197D1D06E3C /* SDLResetGlobalProperties.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLResetGlobalProperties.m; path = SmartDeviceLink/SDLResetGlobalProperties.m; sourceTree = ""; }; + 44F6704B5CD4628340637ED433FA5BD9 /* SDLSingleTireStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSingleTireStatus.h; path = SmartDeviceLink/SDLSingleTireStatus.h; sourceTree = ""; }; + 45014C9975F976A709301510AA9BF5CA /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = "zh-Hans.lproj/SDLLockScreen.strings"; sourceTree = ""; }; + 45965A5B18DF1E47D2154BD8A8FAC30F /* SDLGlobalProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGlobalProperty.m; path = SmartDeviceLink/SDLGlobalProperty.m; sourceTree = ""; }; + 4622BBAB6C0909487F8E5B2C90DED6CF /* SDLDeleteSubMenu.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteSubMenu.h; path = SmartDeviceLink/SDLDeleteSubMenu.h; sourceTree = ""; }; + 465CA59A8B0DC98C5EF708EAA534686B /* SDLLocationCoordinate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLocationCoordinate.m; path = SmartDeviceLink/SDLLocationCoordinate.m; sourceTree = ""; }; + 46852D0AC965ABFD040C0CBC94BA7ED3 /* SDLClimateControlData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLClimateControlData.m; path = SmartDeviceLink/SDLClimateControlData.m; sourceTree = ""; }; + 468C5536AC1C0F7231083ECCF5A80D53 /* NSNumber+NumberType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNumber+NumberType.h"; path = "SmartDeviceLink/NSNumber+NumberType.h"; sourceTree = ""; }; + 46A22E1778DAA87AC1078DE0B1FB4A24 /* SDLTouchEventCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchEventCapabilities.h; path = SmartDeviceLink/SDLTouchEventCapabilities.h; sourceTree = ""; }; + 46E9F30F07D90FE0DD803922742B11F4 /* SDLTurnSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTurnSignal.h; path = SmartDeviceLink/SDLTurnSignal.h; sourceTree = ""; }; + 46EE98845646D112104D2F453723124B /* SDLScrollableMessageResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScrollableMessageResponse.m; path = SmartDeviceLink/SDLScrollableMessageResponse.m; sourceTree = ""; }; + 471FCD3698B75159B2B7FE7C7034350A /* SDLMediaClockFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMediaClockFormat.m; path = SmartDeviceLink/SDLMediaClockFormat.m; sourceTree = ""; }; + 477073728CED1665888DAB004B490CE1 /* SDLECallConfirmationStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLECallConfirmationStatus.h; path = SmartDeviceLink/SDLECallConfirmationStatus.h; sourceTree = ""; }; + 47CAE090B7FBD44E13C4D60C7AD48B5A /* SDLCompassDirection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCompassDirection.m; path = SmartDeviceLink/SDLCompassDirection.m; sourceTree = ""; }; + 47CE23F2A53DB7E089222EE09F29BB9D /* SDLChangeRegistration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChangeRegistration.h; path = SmartDeviceLink/SDLChangeRegistration.h; sourceTree = ""; }; + 47E4A52D2392FB209D8115764D1AB1D9 /* SDLWayPointType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLWayPointType.h; path = SmartDeviceLink/SDLWayPointType.h; sourceTree = ""; }; + 488731B70B7B275F56E7D61460E53EDB /* SDLEndAudioPassThruResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEndAudioPassThruResponse.m; path = SmartDeviceLink/SDLEndAudioPassThruResponse.m; sourceTree = ""; }; + 489D8CDA867A051C8CB4598886BC2C04 /* SDLTemperatureUnit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTemperatureUnit.m; path = SmartDeviceLink/SDLTemperatureUnit.m; sourceTree = ""; }; + 48E79B4506F1594D6325574D14CD0E9F /* SDLDeleteCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteCommand.h; path = SmartDeviceLink/SDLDeleteCommand.h; sourceTree = ""; }; + 492D4F2D51A313D0902E178DD1AEF5B8 /* SDLSetGlobalPropertiesResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetGlobalPropertiesResponse.m; path = SmartDeviceLink/SDLSetGlobalPropertiesResponse.m; sourceTree = ""; }; + 496F8FA240630F82A3F2A1D13DF8A11B /* SDLKeyboardProperties.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLKeyboardProperties.m; path = SmartDeviceLink/SDLKeyboardProperties.m; sourceTree = ""; }; + 49B5DC50A25037F3B47CD43A3A38A293 /* SDLMaintenanceModeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMaintenanceModeStatus.h; path = SmartDeviceLink/SDLMaintenanceModeStatus.h; sourceTree = ""; }; + 4AE0C41A32832B291234AD2D5DDA906A /* bson_object.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = bson_object.h; path = src/bson_object.h; sourceTree = ""; }; + 4AF1C559A0C4A201639345F720AFD5BB /* SDLCreateInteractionChoiceSetResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCreateInteractionChoiceSetResponse.m; path = SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m; sourceTree = ""; }; + 4B04DEDF8E1EC38E7797CB6ADC6AF974 /* SDLUnsubscribeVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeVehicleDataResponse.m; path = SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m; sourceTree = ""; }; + 4B40E200FFCC2C033F655E0762F736EC /* SDLLogFileModule.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogFileModule.h; path = SmartDeviceLink/SDLLogFileModule.h; sourceTree = ""; }; + 4B4399C0A212B0ADF6F7FC0F8BE41255 /* SDLModuleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLModuleData.h; path = SmartDeviceLink/SDLModuleData.h; sourceTree = ""; }; + 4B528FBE5DCB2E0BA367288234BCF214 /* SDLDateTime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDateTime.m; path = SmartDeviceLink/SDLDateTime.m; sourceTree = ""; }; + 4B824FEA6352112490D78F7DC1FBA9B1 /* SDLStreamingAudioLifecycleManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingAudioLifecycleManager.m; path = SmartDeviceLink/SDLStreamingAudioLifecycleManager.m; sourceTree = ""; }; + 4C38CF58405932FA0DE21389A5726742 /* SDLLockScreenViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenViewController.m; path = SmartDeviceLink/SDLLockScreenViewController.m; sourceTree = ""; }; + 4C5CF9F2FDF3B546DE71D830925E9009 /* SDLOnHashChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnHashChange.h; path = SmartDeviceLink/SDLOnHashChange.h; sourceTree = ""; }; + 4CB88BEF9293FF56B12501BD13427203 /* SDLAudioType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioType.h; path = SmartDeviceLink/SDLAudioType.h; sourceTree = ""; }; + 4CDD3D2D0CF385680EB87073079FCBB8 /* BiSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BiSON-umbrella.h"; sourceTree = ""; }; + 4D15B10D35949DEF7E116F8929404525 /* SDLAppInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAppInfo.m; path = SmartDeviceLink/SDLAppInfo.m; sourceTree = ""; }; + 4D7A37098585D1F6516F67BC762B9572 /* SDLSoftButtonObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonObject.m; path = SmartDeviceLink/SDLSoftButtonObject.m; sourceTree = ""; }; + 4EBBAF147C064ED2D11A1F98C0FDD1B2 /* SDLTouchManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchManager.h; path = SmartDeviceLink/SDLTouchManager.h; sourceTree = ""; }; + 4EC8912E98FFAFABA1F37F237009B570 /* SDLDeleteCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteCommand.m; path = SmartDeviceLink/SDLDeleteCommand.m; sourceTree = ""; }; + 4EDDC83C524683164037103A5F5B3B03 /* SDLResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLResult.m; path = SmartDeviceLink/SDLResult.m; sourceTree = ""; }; + 4EE6606F6C0D71B52E9372BC5167AEDB /* SDLEndAudioPassThru.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEndAudioPassThru.m; path = SmartDeviceLink/SDLEndAudioPassThru.m; sourceTree = ""; }; + 4F116A936C935377D447B23EA176F852 /* SDLProtocolReceivedMessageRouter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolReceivedMessageRouter.m; path = SmartDeviceLink/SDLProtocolReceivedMessageRouter.m; sourceTree = ""; }; + 4FC43F423FA3244DD43D35DB11AE4DCC /* SDLDeleteCommandResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteCommandResponse.h; path = SmartDeviceLink/SDLDeleteCommandResponse.h; sourceTree = ""; }; + 4FD44B3ACC314A595F73DDE8C41B4345 /* SDLRPCResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCResponse.m; path = SmartDeviceLink/SDLRPCResponse.m; sourceTree = ""; }; + 5026B768F427D41AD264854700D76084 /* SDLSetAppIconResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetAppIconResponse.m; path = SmartDeviceLink/SDLSetAppIconResponse.m; sourceTree = ""; }; + 5077BEA250C7539EE60A931402EE49B9 /* SDLVehicleDataActiveStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataActiveStatus.h; path = SmartDeviceLink/SDLVehicleDataActiveStatus.h; sourceTree = ""; }; + 50B52EA74D5660706430668E12DC6C34 /* SDLButtonPressResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonPressResponse.h; path = SmartDeviceLink/SDLButtonPressResponse.h; sourceTree = ""; }; + 50B8BBC9E1B415E5920A1FBA5133F375 /* SDLAlert.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAlert.m; path = SmartDeviceLink/SDLAlert.m; sourceTree = ""; }; + 50D7B874B9AE6B227AA8F4F50CAA1FCF /* SDLRectangle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRectangle.h; path = SmartDeviceLink/SDLRectangle.h; sourceTree = ""; }; + 50FEDDD1C36DDED7C4070C8E3AFE4306 /* SDLManagerDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLManagerDelegate.h; path = SmartDeviceLink/SDLManagerDelegate.h; sourceTree = ""; }; + 510BD182D2555F3EC0384B30036E0ED9 /* SDLImageField.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImageField.m; path = SmartDeviceLink/SDLImageField.m; sourceTree = ""; }; + 5115280AA762C6A3FD3BAB916224BB7D /* SDLReadDIDResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLReadDIDResponse.m; path = SmartDeviceLink/SDLReadDIDResponse.m; sourceTree = ""; }; + 515E6C76E4E40643313548862912653D /* SDLUnsubscribeVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeVehicleData.m; path = SmartDeviceLink/SDLUnsubscribeVehicleData.m; sourceTree = ""; }; + 51D7FA6FD82FCAA3F5859800C0D06812 /* NSBundle+SDLBundle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+SDLBundle.h"; path = "SmartDeviceLink/NSBundle+SDLBundle.h"; sourceTree = ""; }; + 527A7F8C142E616553D35AF4098262F1 /* SDLAsynchronousRPCRequestOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAsynchronousRPCRequestOperation.h; path = SmartDeviceLink/SDLAsynchronousRPCRequestOperation.h; sourceTree = ""; }; + 52FD4FBAB16A6A7EC06FC2EAC24E3EB5 /* BiSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BiSON.xcconfig; sourceTree = ""; }; + 53342DFDFA72B33415BAE7AB03F96F02 /* SDLInteractionMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLInteractionMode.h; path = SmartDeviceLink/SDLInteractionMode.h; sourceTree = ""; }; + 539D18C1C073C34EF0AC35AC764611FC /* SDLPowerModeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPowerModeStatus.m; path = SmartDeviceLink/SDLPowerModeStatus.m; sourceTree = ""; }; + 53A52D72644B89F231422DFAA23D9A94 /* SDLPCMAudioConverter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPCMAudioConverter.m; path = SmartDeviceLink/SDLPCMAudioConverter.m; sourceTree = ""; }; + 53AF765EA8E95848A51E4EF568E373E4 /* SDLPolicyDataParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPolicyDataParser.h; path = SmartDeviceLink/SDLPolicyDataParser.h; sourceTree = ""; }; + 53B6392C0544376075AE0688976F4995 /* SDLTouchEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchEvent.m; path = SmartDeviceLink/SDLTouchEvent.m; sourceTree = ""; }; + 5403F40FB18F1132FAFDAD339E3514B9 /* SDLButtonPressMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonPressMode.h; path = SmartDeviceLink/SDLButtonPressMode.h; sourceTree = ""; }; + 5413252548EB4A0449D30D5673A28F0B /* SDLImageFieldName.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImageFieldName.m; path = SmartDeviceLink/SDLImageFieldName.m; sourceTree = ""; }; + 544E15AB2D6A32CDC138E9D68B84226E /* SDLSyncPData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSyncPData.m; path = SmartDeviceLink/SDLSyncPData.m; sourceTree = ""; }; + 549F7580C94EB69D5BE9C5F4B08F5083 /* SDLLogTargetAppleSystemLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogTargetAppleSystemLog.h; path = SmartDeviceLink/SDLLogTargetAppleSystemLog.h; sourceTree = ""; }; + 54AD9BB2ED9351E39DEE63C0E9B9ED5F /* SDLVehicleDataStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataStatus.m; path = SmartDeviceLink/SDLVehicleDataStatus.m; sourceTree = ""; }; + 54DC3D413110C5F46BA1C71A76E934EE /* SDLOnAppInterfaceUnregistered.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnAppInterfaceUnregistered.m; path = SmartDeviceLink/SDLOnAppInterfaceUnregistered.m; sourceTree = ""; }; + 552B58C8C471E41210FCFEC0FB79E946 /* SDLShowConstantTBT.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLShowConstantTBT.h; path = SmartDeviceLink/SDLShowConstantTBT.h; sourceTree = ""; }; + 55A7A1220C06CCE1A9A4550B36EA8D03 /* SDLSetMediaClockTimerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetMediaClockTimerResponse.m; path = SmartDeviceLink/SDLSetMediaClockTimerResponse.m; sourceTree = ""; }; + 55E755AC3C038CDDF96EE7AF1ED8DD5F /* SDLTemplateColorScheme.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTemplateColorScheme.m; path = SmartDeviceLink/SDLTemplateColorScheme.m; sourceTree = ""; }; + 55F7F5D6907BDC05663E93F45A150CBF /* SDLPCMAudioConverter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPCMAudioConverter.h; path = SmartDeviceLink/SDLPCMAudioConverter.h; sourceTree = ""; }; + 55FBF2206E466027D718DFFDCE35B916 /* SDLDeleteFileOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteFileOperation.m; path = SmartDeviceLink/SDLDeleteFileOperation.m; sourceTree = ""; }; + 5608E1B518D7DC608F90543748504EDE /* SDLPerformAudioPassThru.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPerformAudioPassThru.m; path = SmartDeviceLink/SDLPerformAudioPassThru.m; sourceTree = ""; }; + 561E7859983DC63B87B4C26B0FE33EA8 /* SDLTCPTransport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTCPTransport.h; path = SmartDeviceLink/SDLTCPTransport.h; sourceTree = ""; }; + 567704385F3D6A56D7306254057ABE58 /* SDLTurn.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTurn.m; path = SmartDeviceLink/SDLTurn.m; sourceTree = ""; }; + 56D0196F865D56B6B7B5A1E790ABB1CD /* SDLTouchManagerDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchManagerDelegate.h; path = SmartDeviceLink/SDLTouchManagerDelegate.h; sourceTree = ""; }; + 570466811B7708FD306FECA152F11CB9 /* SDLShowConstantTBT.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLShowConstantTBT.m; path = SmartDeviceLink/SDLShowConstantTBT.m; sourceTree = ""; }; + 5761EF60549E9FE40D6E1CB212E18183 /* SDLHexUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHexUtility.h; path = SmartDeviceLink/SDLHexUtility.h; sourceTree = ""; }; + 57E931AA5B67D1C316B05D9969D72FA3 /* SDLElectronicParkBrakeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLElectronicParkBrakeStatus.m; path = SmartDeviceLink/SDLElectronicParkBrakeStatus.m; sourceTree = ""; }; + 5817B772125FFF900077E9623DCD7E0F /* SDLBodyInformation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLBodyInformation.h; path = SmartDeviceLink/SDLBodyInformation.h; sourceTree = ""; }; + 584A0744AB8704605C04A7819AA5939D /* SDLCheckChoiceVROptionalOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCheckChoiceVROptionalOperation.m; path = SmartDeviceLink/SDLCheckChoiceVROptionalOperation.m; sourceTree = ""; }; + 58A9BC0BD679E91F8A1E67C32BAB9F47 /* SDLTurn.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTurn.h; path = SmartDeviceLink/SDLTurn.h; sourceTree = ""; }; + 58B239BE8E1A3830C8DF443CC8EA4305 /* NSMapTable+Subscripting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMapTable+Subscripting.h"; path = "SmartDeviceLink/NSMapTable+Subscripting.h"; sourceTree = ""; }; + 58FEBFDAA6ED51BFCA92BDE0533F474B /* SDLShow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLShow.m; path = SmartDeviceLink/SDLShow.m; sourceTree = ""; }; + 599BA3E45332CFB483D279AAB352F58E /* SDLClimateControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLClimateControlCapabilities.h; path = SmartDeviceLink/SDLClimateControlCapabilities.h; sourceTree = ""; }; + 5A46CDE4067982A9BB8B1C7265FA9B12 /* SDLPresentChoiceSetOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPresentChoiceSetOperation.m; path = SmartDeviceLink/SDLPresentChoiceSetOperation.m; sourceTree = ""; }; + 5A53D998E7BE6ABB127ADBCB5D4437AE /* SDLModuleType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLModuleType.m; path = SmartDeviceLink/SDLModuleType.m; sourceTree = ""; }; + 5A7CF2F17162C0947A4E9AF853EFDF84 /* SDLPerformInteraction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPerformInteraction.h; path = SmartDeviceLink/SDLPerformInteraction.h; sourceTree = ""; }; + 5B01F7BB17F17473A280E74211727645 /* SDLManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLManager.h; path = SmartDeviceLink/SDLManager.h; sourceTree = ""; }; + 5B02040B6B2927923E23CE8142AD72B8 /* SDLPermissionFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPermissionFilter.m; path = SmartDeviceLink/SDLPermissionFilter.m; sourceTree = ""; }; + 5B17A24A0D4554865BD3A2D6600A70C0 /* SDLTimer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTimer.h; path = SmartDeviceLink/SDLTimer.h; sourceTree = ""; }; + 5B67A0A948EFB9B13F0BD857E76ABAF1 /* CGPoint_Util.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CGPoint_Util.m; path = SmartDeviceLink/CGPoint_Util.m; sourceTree = ""; }; + 5BEB89763BD1E176E41C5EBB3826F50C /* SDLButtonEventMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonEventMode.m; path = SmartDeviceLink/SDLButtonEventMode.m; sourceTree = ""; }; + 5C2874B5B64A663350964F44E1ECA561 /* SDLSystemCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemCapability.m; path = SmartDeviceLink/SDLSystemCapability.m; sourceTree = ""; }; + 5C6E41A82E5A6888918B0B8014D20735 /* SDLScreenParams.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScreenParams.h; path = SmartDeviceLink/SDLScreenParams.h; sourceTree = ""; }; + 5CFD65E97C36BF1818AFA38283A9A5F4 /* SDLDeleteInteractionChoiceSetResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteInteractionChoiceSetResponse.m; path = SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.m; sourceTree = ""; }; + 5DDA353CC3E6C2F475B1D16AC7477D4B /* SDLMetadataType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMetadataType.h; path = SmartDeviceLink/SDLMetadataType.h; sourceTree = ""; }; + 5ED1206D735E32E869AE7B5BDA210D19 /* SDLUnsubscribeWayPointsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeWayPointsResponse.h; path = SmartDeviceLink/SDLUnsubscribeWayPointsResponse.h; sourceTree = ""; }; + 5F5FD2872F26AF396350B7190E6DE3E9 /* SDLStationIDNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStationIDNumber.h; path = SmartDeviceLink/SDLStationIDNumber.h; sourceTree = ""; }; + 5F63F1BC5EED51E8F4A0CC89A563E14B /* Pods-MobileWeather-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MobileWeather-dummy.m"; sourceTree = ""; }; + 5F82466C45406490A64E03020D7695E5 /* SDLGetSystemCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetSystemCapability.m; path = SmartDeviceLink/SDLGetSystemCapability.m; sourceTree = ""; }; + 5F829F2659AFF96D13AD1D9EE4B5EFA7 /* SDLRAWH264Packetizer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRAWH264Packetizer.m; path = SmartDeviceLink/SDLRAWH264Packetizer.m; sourceTree = ""; }; + 5FCB10648C75AA3261FFEBA504FA91D1 /* SDLCarModeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCarModeStatus.m; path = SmartDeviceLink/SDLCarModeStatus.m; sourceTree = ""; }; + 5FE9C23070AA78567710035A0CBD5AAD /* SDLCompassDirection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCompassDirection.h; path = SmartDeviceLink/SDLCompassDirection.h; sourceTree = ""; }; + 5FEC2CD895899EA829A11AB6F3A45BB8 /* SDLH264VideoEncoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLH264VideoEncoder.m; path = SmartDeviceLink/SDLH264VideoEncoder.m; sourceTree = ""; }; + 6005348BEB563D39CB3F58D14980AAC3 /* SDLStaticIconName.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStaticIconName.m; path = SmartDeviceLink/SDLStaticIconName.m; sourceTree = ""; }; + 60AC85822D7B2986864CEF6F1951ED33 /* SDLSetAppIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetAppIcon.h; path = SmartDeviceLink/SDLSetAppIcon.h; sourceTree = ""; }; + 60D99BD0A38FFE51A06990C44060C1B5 /* SDLStreamingAudioManagerType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingAudioManagerType.h; path = SmartDeviceLink/SDLStreamingAudioManagerType.h; sourceTree = ""; }; + 60E7BF58504667B6C399DDBD6B080290 /* SDLGetVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetVehicleDataResponse.h; path = SmartDeviceLink/SDLGetVehicleDataResponse.h; sourceTree = ""; }; + 60F3D61C1A9777D5DC05B26C11612C34 /* SDLShowConstantTBTResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLShowConstantTBTResponse.h; path = SmartDeviceLink/SDLShowConstantTBTResponse.h; sourceTree = ""; }; + 60FA77C4D30CEF11FC44F1FD78B7B62D /* SDLDriverDistractionState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDriverDistractionState.m; path = SmartDeviceLink/SDLDriverDistractionState.m; sourceTree = ""; }; + 613CB777291FE463B847AB0CE424E3E2 /* SDLTextFieldName.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTextFieldName.m; path = SmartDeviceLink/SDLTextFieldName.m; sourceTree = ""; }; + 61D900C5783B4A7CCFDED7AB11155F20 /* SDLPutFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPutFile.m; path = SmartDeviceLink/SDLPutFile.m; sourceTree = ""; }; + 61F82FF5A93D0558A5851A023E3C7B66 /* SDLPowerModeQualificationStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPowerModeQualificationStatus.m; path = SmartDeviceLink/SDLPowerModeQualificationStatus.m; sourceTree = ""; }; + 61FA3AFD5648ADEAE62EFD80E14460DE /* SDLDateTime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDateTime.h; path = SmartDeviceLink/SDLDateTime.h; sourceTree = ""; }; + 623492413C9581E1C2A71421E771D34D /* SDLSpeechCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSpeechCapabilities.h; path = SmartDeviceLink/SDLSpeechCapabilities.h; sourceTree = ""; }; + 624FFEDC969D0C72CDBCEF24B6F1FF30 /* SDLPolicyDataParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPolicyDataParser.m; path = SmartDeviceLink/SDLPolicyDataParser.m; sourceTree = ""; }; + 6263819ACF21688B5F135FFFFADBDDFF /* SDLTextFieldName.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTextFieldName.h; path = SmartDeviceLink/SDLTextFieldName.h; sourceTree = ""; }; + 627289BC87F3B0D346ED8F78C3279330 /* SDLChangeRegistrationResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChangeRegistrationResponse.h; path = SmartDeviceLink/SDLChangeRegistrationResponse.h; sourceTree = ""; }; + 62825F78AC67E047CDD779B82434FFFB /* SDLRadioControlCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRadioControlCapabilities.h; path = SmartDeviceLink/SDLRadioControlCapabilities.h; sourceTree = ""; }; + 63466A9AB415882C06F7AE80584F210C /* SDLWarningLightStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLWarningLightStatus.m; path = SmartDeviceLink/SDLWarningLightStatus.m; sourceTree = ""; }; + 63AB26B885F72FFE7CEF0E215898985A /* SDLOnDriverDistraction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnDriverDistraction.h; path = SmartDeviceLink/SDLOnDriverDistraction.h; sourceTree = ""; }; + 641BBB21F504981EFCD18E36DC8154FA /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = fr.lproj/SDLLockScreen.strings; sourceTree = ""; }; + 645F30D3F4D32CB6290C7AAEB1B01792 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 652C07114772A9C6F9290111810BDD9B /* SDLIAPSession.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIAPSession.h; path = SmartDeviceLink/SDLIAPSession.h; sourceTree = ""; }; + 65E812DEA551B30816A17B71B1C41FBA /* SDLGetDTCs.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetDTCs.m; path = SmartDeviceLink/SDLGetDTCs.m; sourceTree = ""; }; + 66350E5DE80B51CCE2C62602727CED1B /* SDLEncodedSyncPData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEncodedSyncPData.m; path = SmartDeviceLink/SDLEncodedSyncPData.m; sourceTree = ""; }; + 679EDF19C388A9D5231B8F50D3AB5E33 /* SDLKeypressMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLKeypressMode.m; path = SmartDeviceLink/SDLKeypressMode.m; sourceTree = ""; }; + 67B626A3DF2C3F1EFB63B489EDD72508 /* SDLTouch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouch.h; path = SmartDeviceLink/SDLTouch.h; sourceTree = ""; }; + 6803B20ED362AB70967B0C7055309A61 /* SDLVehicleDataNotificationStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataNotificationStatus.m; path = SmartDeviceLink/SDLVehicleDataNotificationStatus.m; sourceTree = ""; }; + 69EA01C2187093B7478259DDCAA70FFF /* SDLGetWayPointsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetWayPointsResponse.m; path = SmartDeviceLink/SDLGetWayPointsResponse.m; sourceTree = ""; }; + 6A19C848AB1E8F2E05CFD76981E2F0E4 /* SDLPermissionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionManager.h; path = SmartDeviceLink/SDLPermissionManager.h; sourceTree = ""; }; + 6A1AC42C1CE7CEE7544BFD3843B028D5 /* SDLRAWH264Packetizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRAWH264Packetizer.h; path = SmartDeviceLink/SDLRAWH264Packetizer.h; sourceTree = ""; }; + 6A5D8127E561291818D7A21C758371D3 /* SDLRTPH264Packetizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRTPH264Packetizer.h; path = SmartDeviceLink/SDLRTPH264Packetizer.h; sourceTree = ""; }; + 6A6B8D51F0041FD1CAA462F5ACAF4C92 /* SDLGetSystemCapabilityResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetSystemCapabilityResponse.h; path = SmartDeviceLink/SDLGetSystemCapabilityResponse.h; sourceTree = ""; }; + 6B6856DBF98E284150E71B1C1DA80384 /* SDLAudioFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioFile.h; path = SmartDeviceLink/SDLAudioFile.h; sourceTree = ""; }; + 6C44944669F93F4CD5B2A347BC128591 /* SDLOnTBTClientState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnTBTClientState.h; path = SmartDeviceLink/SDLOnTBTClientState.h; sourceTree = ""; }; + 6CD2936B444045437D2B8385225ABCD1 /* SDLProtocolReceivedMessageRouter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolReceivedMessageRouter.h; path = SmartDeviceLink/SDLProtocolReceivedMessageRouter.h; sourceTree = ""; }; + 6CD9E0DF1EFE3DE7FF4D549A53E52886 /* SDLSubscribeButtonResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeButtonResponse.m; path = SmartDeviceLink/SDLSubscribeButtonResponse.m; sourceTree = ""; }; + 6CE607A99E39243283702C5108A74120 /* SDLFileWrapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileWrapper.h; path = SmartDeviceLink/SDLFileWrapper.h; sourceTree = ""; }; + 6D6C98D5009149E1EBB3CB41C86D68B8 /* SDLMassageCushionFirmness.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMassageCushionFirmness.m; path = SmartDeviceLink/SDLMassageCushionFirmness.m; sourceTree = ""; }; + 6E198C907E3D8D13A562100426F21D81 /* SDLSubscribeButtonResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeButtonResponse.h; path = SmartDeviceLink/SDLSubscribeButtonResponse.h; sourceTree = ""; }; + 6E3A2064E0524131FC651270B2D6B5BD /* SDLInteractionMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLInteractionMode.m; path = SmartDeviceLink/SDLInteractionMode.m; sourceTree = ""; }; + 6E80F2AAA864A0E9A66967638620AE60 /* SDLCheckChoiceVROptionalOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCheckChoiceVROptionalOperation.h; path = SmartDeviceLink/SDLCheckChoiceVROptionalOperation.h; sourceTree = ""; }; + 6F6D75EF40F4FAB836D0BB49BD187336 /* SDLRadioControlData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRadioControlData.m; path = SmartDeviceLink/SDLRadioControlData.m; sourceTree = ""; }; + 6FCA8FB78161DD00FAD7CF36B71D6E64 /* SDLLogFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogFilter.m; path = SmartDeviceLink/SDLLogFilter.m; sourceTree = ""; }; + 701B5609A93C858CAFCCEED925DA688E /* SDLVideoStreamingState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingState.h; path = SmartDeviceLink/SDLVideoStreamingState.h; sourceTree = ""; }; + 701F9FEB0B747B0243ACC80B6C9300A1 /* SDLChoiceSetManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChoiceSetManager.h; path = SmartDeviceLink/SDLChoiceSetManager.h; sourceTree = ""; }; + 70578C80B038B8AA2C6EF0AEAC8B9A13 /* SDLFocusableItemHitTester.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFocusableItemHitTester.h; path = SmartDeviceLink/SDLFocusableItemHitTester.h; sourceTree = ""; }; + 70616FFD3793CF95AC174A49C2C43D06 /* SDLOnTouchEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnTouchEvent.h; path = SmartDeviceLink/SDLOnTouchEvent.h; sourceTree = ""; }; + 71162CCC8CA6338D5ECE5EFE435E95AA /* SDLProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocol.m; path = SmartDeviceLink/SDLProtocol.m; sourceTree = ""; }; + 711AC2364C89D3D17514B14D663A1AF6 /* SDLError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLError.h; path = SmartDeviceLink/SDLError.h; sourceTree = ""; }; + 71AD2A07C9CFE4A12C4EF8EDD7F55F03 /* SDLSendHapticData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSendHapticData.m; path = SmartDeviceLink/SDLSendHapticData.m; sourceTree = ""; }; + 7270226214680022216FC52367E6F29D /* SDLSamplingRate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSamplingRate.m; path = SmartDeviceLink/SDLSamplingRate.m; sourceTree = ""; }; + 7276A699E37C828398FD98759C45D7B5 /* SDLDimension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDimension.h; path = SmartDeviceLink/SDLDimension.h; sourceTree = ""; }; + 72782025CCF03AC32ADC435C468D3CC6 /* SDLOnPermissionsChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnPermissionsChange.h; path = SmartDeviceLink/SDLOnPermissionsChange.h; sourceTree = ""; }; + 72A178D46F20374B4187B44480590E7B /* SDLFileManagerConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFileManagerConfiguration.m; path = SmartDeviceLink/SDLFileManagerConfiguration.m; sourceTree = ""; }; + 72D57C660CB1CFDB78815F561CA5B9C1 /* SDLDeleteChoicesOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteChoicesOperation.m; path = SmartDeviceLink/SDLDeleteChoicesOperation.m; sourceTree = ""; }; + 72DA23D6B1B8CEE91F55CF693FD690B2 /* SDLVentilationMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVentilationMode.h; path = SmartDeviceLink/SDLVentilationMode.h; sourceTree = ""; }; + 72EC467B07A1E6122174621820BE095D /* SDLDiagnosticMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDiagnosticMessage.h; path = SmartDeviceLink/SDLDiagnosticMessage.h; sourceTree = ""; }; + 736669CDE9458CABAE6AC40FF3A7C523 /* SDLOnEncodedSyncPData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnEncodedSyncPData.h; path = SmartDeviceLink/SDLOnEncodedSyncPData.h; sourceTree = ""; }; + 7369D4C540A1A6DCB0914BE60C051602 /* SDLUpdateTurnList.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUpdateTurnList.h; path = SmartDeviceLink/SDLUpdateTurnList.h; sourceTree = ""; }; + 73BF15804B3C2E102BB06B6A1FB46829 /* SDLControlFramePayloadNak.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadNak.h; path = SmartDeviceLink/SDLControlFramePayloadNak.h; sourceTree = ""; }; + 73BFFE658487D4F07A220194D46B6657 /* SDLGetSystemCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetSystemCapability.h; path = SmartDeviceLink/SDLGetSystemCapability.h; sourceTree = ""; }; + 73EC5A5C8B44BA83334F832BC77A7E87 /* SDLKeyboardEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeyboardEvent.h; path = SmartDeviceLink/SDLKeyboardEvent.h; sourceTree = ""; }; + 73EE85CE5BDD312FCEE5664BB16E7CBC /* SDLSystemCapabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemCapabilityManager.m; path = SmartDeviceLink/SDLSystemCapabilityManager.m; sourceTree = ""; }; + 7464353B95BD2991945285ACC552CABA /* SDLLayoutMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLayoutMode.h; path = SmartDeviceLink/SDLLayoutMode.h; sourceTree = ""; }; + 746FCB82877FFB49197939B552D51B4F /* NSMapTable+Subscripting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMapTable+Subscripting.m"; path = "SmartDeviceLink/NSMapTable+Subscripting.m"; sourceTree = ""; }; + 74A196E00B38B0AA6CE7F5CFC4361BB1 /* SDLAudioStreamManagerDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioStreamManagerDelegate.h; path = SmartDeviceLink/SDLAudioStreamManagerDelegate.h; sourceTree = ""; }; + 74C1219630B98AA4BC12B5245AA5CFB1 /* SDLVrCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVrCapabilities.h; path = SmartDeviceLink/SDLVrCapabilities.h; sourceTree = ""; }; + 74E2780DEB856E31804FBDDB9114B2F7 /* Pods-MobileWeather.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MobileWeather.debug.xcconfig"; sourceTree = ""; }; + 750876967AB3BEF7925DBF19F38CFA89 /* SDLTemperature.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTemperature.h; path = SmartDeviceLink/SDLTemperature.h; sourceTree = ""; }; + 753EB48A3869CA5247A0588801248775 /* Pods-MobileWeather-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MobileWeather-frameworks.sh"; sourceTree = ""; }; + 758828EDB3A486DAC7555C09C9C7A075 /* SDLSliderResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSliderResponse.h; path = SmartDeviceLink/SDLSliderResponse.h; sourceTree = ""; }; + 75A879FE5BDC2962D651DE4F586D85C2 /* SDLButtonPressMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonPressMode.m; path = SmartDeviceLink/SDLButtonPressMode.m; sourceTree = ""; }; + 75F59B2A5FE3C87A65DDC7E417796E8F /* emhashmap.c */ = {isa = PBXFileReference; includeInIndex = 1; name = emhashmap.c; path = src/emhashmap/emhashmap.c; sourceTree = ""; }; + 76BD07CB451B98D050AD1A03BC6F8AB1 /* SDLLifecycleConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLifecycleConfiguration.h; path = SmartDeviceLink/SDLLifecycleConfiguration.h; sourceTree = ""; }; + 76F2EEF0C3FA77B20C8F1C40D7E3F410 /* SDLGetVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetVehicleData.m; path = SmartDeviceLink/SDLGetVehicleData.m; sourceTree = ""; }; + 77562F15814B203CF3A3408E7CC77E90 /* SDLOnEncodedSyncPData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnEncodedSyncPData.m; path = SmartDeviceLink/SDLOnEncodedSyncPData.m; sourceTree = ""; }; + 775FFE7FBE19948FC9401B4F0776F397 /* SDLReadDIDResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLReadDIDResponse.h; path = SmartDeviceLink/SDLReadDIDResponse.h; sourceTree = ""; }; + 77668B969E6A294D650360BD5369A68C /* Pods-MobileWeather-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MobileWeather-resources.sh"; sourceTree = ""; }; + 77939ECABAEB5EA4A870437D89954DCF /* CGPoint_Util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CGPoint_Util.h; path = SmartDeviceLink/CGPoint_Util.h; sourceTree = ""; }; + 77E606788D8EBEE9E7E4BC5FE8E237A0 /* SDLDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeviceInfo.h; path = SmartDeviceLink/SDLDeviceInfo.h; sourceTree = ""; }; + 77FDF4FE519E3C33CA096626BFB7B6D1 /* SDLRGBColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRGBColor.m; path = SmartDeviceLink/SDLRGBColor.m; sourceTree = ""; }; + 7809E403E7F8FC0692079B5A7A0D8D33 /* SDLAlertManeuverResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAlertManeuverResponse.m; path = SmartDeviceLink/SDLAlertManeuverResponse.m; sourceTree = ""; }; + 780B1A1308BC973F769EB7125367DE11 /* SDLSendLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSendLocation.h; path = SmartDeviceLink/SDLSendLocation.h; sourceTree = ""; }; + 785F69A758CC6573E45FE7A6598F61B5 /* SDLMassageMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMassageMode.h; path = SmartDeviceLink/SDLMassageMode.h; sourceTree = ""; }; + 78ABF68E893E072C56F7BA31130F1A5E /* SDLRPCNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCNotification.m; path = SmartDeviceLink/SDLRPCNotification.m; sourceTree = ""; }; + 7A0C6D3EDF3331CF707E1D745709165C /* SDLPrioritizedObjectCollection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPrioritizedObjectCollection.m; path = SmartDeviceLink/SDLPrioritizedObjectCollection.m; sourceTree = ""; }; + 7A2714C0F9D631E857181A264EF1EC31 /* SDLOnHMIStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnHMIStatus.m; path = SmartDeviceLink/SDLOnHMIStatus.m; sourceTree = ""; }; + 7A6B4FAF65147D01EAB724CF22D4AE0D /* SDLVideoStreamingState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingState.m; path = SmartDeviceLink/SDLVideoStreamingState.m; sourceTree = ""; }; + 7A7D5318694339EFF9B87A0CAAB26449 /* SDLUnsubscribeButtonResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeButtonResponse.h; path = SmartDeviceLink/SDLUnsubscribeButtonResponse.h; sourceTree = ""; }; + 7A839994F9626443B093DB392F9B5E77 /* SDLProtocolHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolHeader.h; path = SmartDeviceLink/SDLProtocolHeader.h; sourceTree = ""; }; + 7A8536C9E1E43EAA321587775D6769CE /* SDLOnVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnVehicleData.m; path = SmartDeviceLink/SDLOnVehicleData.m; sourceTree = ""; }; + 7B3C337257E971AE52091FADEA1E69BD /* SDLVentilationMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVentilationMode.m; path = SmartDeviceLink/SDLVentilationMode.m; sourceTree = ""; }; + 7B5958E143197424F748276D3BB21607 /* SDLFunctionID.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFunctionID.h; path = SmartDeviceLink/SDLFunctionID.h; sourceTree = ""; }; + 7B5A067FCC93D9B48C203E6F2CCD07ED /* SDLMassageCushionFirmness.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMassageCushionFirmness.h; path = SmartDeviceLink/SDLMassageCushionFirmness.h; sourceTree = ""; }; + 7B950AA451BBC249F3334DAC75609D89 /* SDLRDSData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRDSData.h; path = SmartDeviceLink/SDLRDSData.h; sourceTree = ""; }; + 7BEA19A69DC688C8CC9315D69EB8BEB5 /* SDLAudioStreamingState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioStreamingState.h; path = SmartDeviceLink/SDLAudioStreamingState.h; sourceTree = ""; }; + 7C40B5ABF69E45AE08FA378534E3FD62 /* SDLRPCRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCRequest.m; path = SmartDeviceLink/SDLRPCRequest.m; sourceTree = ""; }; + 7CB4AB147F798B079321105636F4622F /* SDLRegisterAppInterfaceResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRegisterAppInterfaceResponse.m; path = SmartDeviceLink/SDLRegisterAppInterfaceResponse.m; sourceTree = ""; }; + 7D566AE50B191DBFB833D69C8108A202 /* SDLSetGlobalProperties.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetGlobalProperties.h; path = SmartDeviceLink/SDLSetGlobalProperties.h; sourceTree = ""; }; + 7D56D1383005F86119EEEC23396E20E2 /* SDLMenuParams.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMenuParams.h; path = SmartDeviceLink/SDLMenuParams.h; sourceTree = ""; }; + 7D684A0F936240CFF376CBBA6E49A8F0 /* SDLListFilesOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLListFilesOperation.h; path = SmartDeviceLink/SDLListFilesOperation.h; sourceTree = ""; }; + 7D9DA21ABF7CDDBFB56BE7D70C6E7644 /* SDLListFiles.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLListFiles.h; path = SmartDeviceLink/SDLListFiles.h; sourceTree = ""; }; + 7DDA77991D5939F69DB2C0095DDD520A /* SDLProtocolHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolHeader.m; path = SmartDeviceLink/SDLProtocolHeader.m; sourceTree = ""; }; + 7E63FCE296EEC7CC4266B624CB94D0E3 /* SDLTouch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouch.m; path = SmartDeviceLink/SDLTouch.m; sourceTree = ""; }; + 7E68E92B02B4CA38AF0E73923EE34217 /* SDLLogTargetOSLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogTargetOSLog.h; path = SmartDeviceLink/SDLLogTargetOSLog.h; sourceTree = ""; }; + 7E7D416F7CD293790F14F8B197775B43 /* SDLAddSubMenu.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAddSubMenu.h; path = SmartDeviceLink/SDLAddSubMenu.h; sourceTree = ""; }; + 7E7D99673CE2765D739C37675F9E6800 /* SDLLightState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLightState.h; path = SmartDeviceLink/SDLLightState.h; sourceTree = ""; }; + 7EB0F5FE524CD2A868E27206CA4D9276 /* SDLSeatMemoryAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSeatMemoryAction.h; path = SmartDeviceLink/SDLSeatMemoryAction.h; sourceTree = ""; }; + 7F09A75F248CCF94E447F986B25B46A5 /* SDLSyncPDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSyncPDataResponse.h; path = SmartDeviceLink/SDLSyncPDataResponse.h; sourceTree = ""; }; + 7F60A682B29BD523A1C95D44BF818678 /* SDLScrollableMessageResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScrollableMessageResponse.h; path = SmartDeviceLink/SDLScrollableMessageResponse.h; sourceTree = ""; }; + 7F9E7450CE3C9AEF7780149EF7C0651C /* SDLTransportType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTransportType.h; path = SmartDeviceLink/SDLTransportType.h; sourceTree = ""; }; + 7FA676189DA006AC1F36A4F3A550F0D8 /* SDLFocusableItemLocatorType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFocusableItemLocatorType.h; path = SmartDeviceLink/SDLFocusableItemLocatorType.h; sourceTree = ""; }; + 80560B5F4049C93EAE4148868C4BA8E2 /* SDLControlFramePayloadVideoStartService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadVideoStartService.h; path = SmartDeviceLink/SDLControlFramePayloadVideoStartService.h; sourceTree = ""; }; + 806DF22E4F83CEC997C374E69488DD96 /* SDLRPCResponseNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCResponseNotification.h; path = SmartDeviceLink/SDLRPCResponseNotification.h; sourceTree = ""; }; + 8080BD85150924CD82CF697853AB49DD /* SDLVrHelpItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVrHelpItem.h; path = SmartDeviceLink/SDLVrHelpItem.h; sourceTree = ""; }; + 8080F4FF2A48736FED1DA77E6D50B24C /* SDLLockScreenStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenStatus.m; path = SmartDeviceLink/SDLLockScreenStatus.m; sourceTree = ""; }; + 80BEAB2A97883B43F91D11C970DBFFE7 /* SDLBodyInformation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLBodyInformation.m; path = SmartDeviceLink/SDLBodyInformation.m; sourceTree = ""; }; + 815EB3516762963F44C6C1862030AD02 /* SDLFuelCutoffStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFuelCutoffStatus.m; path = SmartDeviceLink/SDLFuelCutoffStatus.m; sourceTree = ""; }; + 8161E304DB3F786AAC3A62CA6B154DD8 /* SDLLockScreenManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenManager.m; path = SmartDeviceLink/SDLLockScreenManager.m; sourceTree = ""; }; + 816405DEA579818D69E7209885E6B5FC /* SDLMenuCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMenuCell.h; path = SmartDeviceLink/SDLMenuCell.h; sourceTree = ""; }; + 824EBA2B2FB87B435FB19A9D74F6FE70 /* SDLGetVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetVehicleData.h; path = SmartDeviceLink/SDLGetVehicleData.h; sourceTree = ""; }; + 82541979FF412D8D3EBDE11F3B67A44F /* SDLGlobalProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGlobalProperty.h; path = SmartDeviceLink/SDLGlobalProperty.h; sourceTree = ""; }; + 82983133771C2647E3DB3C7CFCCC1923 /* SDLSetMediaClockTimer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetMediaClockTimer.m; path = SmartDeviceLink/SDLSetMediaClockTimer.m; sourceTree = ""; }; + 832FDE407750A0EEE8830B7E938FC6C4 /* SDLLockScreenPresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenPresenter.h; path = SmartDeviceLink/SDLLockScreenPresenter.h; sourceTree = ""; }; + 843DDF1E82067D3BE72F657D2974D11F /* SDLHMIZoneCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMIZoneCapabilities.m; path = SmartDeviceLink/SDLHMIZoneCapabilities.m; sourceTree = ""; }; + 849B1DE4F355AEFA9C976B360A798DDD /* SDLVehicleDataResultCode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataResultCode.m; path = SmartDeviceLink/SDLVehicleDataResultCode.m; sourceTree = ""; }; + 84D9C9895A536BD8FB295228F8BF0398 /* EAAccessory+SDLProtocols.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EAAccessory+SDLProtocols.h"; path = "SmartDeviceLink/EAAccessory+SDLProtocols.h"; sourceTree = ""; }; + 8511C1F0379CE4B64BA23E97F063E0F8 /* SDLIgnitionStableStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIgnitionStableStatus.h; path = SmartDeviceLink/SDLIgnitionStableStatus.h; sourceTree = ""; }; + 853D4FF5772833364CFE76D24578AC9A /* SDLSlider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSlider.m; path = SmartDeviceLink/SDLSlider.m; sourceTree = ""; }; + 8592C8905CFA25913170F954352CB90D /* SDLTPMS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTPMS.m; path = SmartDeviceLink/SDLTPMS.m; sourceTree = ""; }; + 8599A0D8C169D439326F1693136570F0 /* SDLPrimaryAudioSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPrimaryAudioSource.m; path = SmartDeviceLink/SDLPrimaryAudioSource.m; sourceTree = ""; }; + 85C64DA96B7AFBF4B86A506D16F6B044 /* SDLReadDID.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLReadDID.m; path = SmartDeviceLink/SDLReadDID.m; sourceTree = ""; }; + 85FB37CFF9AA36FAC92BFD1A5209922B /* SDLSecondaryTransportManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSecondaryTransportManager.m; path = SmartDeviceLink/SDLSecondaryTransportManager.m; sourceTree = ""; }; + 85FEDF2A2BBB46F56EDE42B6A54156AA /* SDLUploadFileOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUploadFileOperation.m; path = SmartDeviceLink/SDLUploadFileOperation.m; sourceTree = ""; }; + 8656F2DCBCA042060742160FFB6A86F8 /* SDLAddSubMenu.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAddSubMenu.m; path = SmartDeviceLink/SDLAddSubMenu.m; sourceTree = ""; }; + 869B8F548364045C3602F3A99BAB876A /* SDLOnLanguageChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnLanguageChange.h; path = SmartDeviceLink/SDLOnLanguageChange.h; sourceTree = ""; }; + 87013DF5230B21B6D6983AE6FFCB0A36 /* SDLHMISettingsControlData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMISettingsControlData.m; path = SmartDeviceLink/SDLHMISettingsControlData.m; sourceTree = ""; }; + 874714916D7F9E906404F014ADF12629 /* SDLLayoutMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLayoutMode.m; path = SmartDeviceLink/SDLLayoutMode.m; sourceTree = ""; }; + 876AB0F589E4C276C7433FAFE36B3E8A /* SDLOnSyncPData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnSyncPData.h; path = SmartDeviceLink/SDLOnSyncPData.h; sourceTree = ""; }; + 878F4A0B3877E844E198E0B2E21CDFC0 /* SDLSeatMemoryActionType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSeatMemoryActionType.m; path = SmartDeviceLink/SDLSeatMemoryActionType.m; sourceTree = ""; }; + 87AE3D09CF88341F47674088B1C54CA1 /* SDLTextAlignment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTextAlignment.h; path = SmartDeviceLink/SDLTextAlignment.h; sourceTree = ""; }; + 882E26AAED7919D8F46DB538C09492C7 /* bson_util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = bson_util.h; path = src/bson_util.h; sourceTree = ""; }; + 88351DE654FF03D2560ABFC4142E23E3 /* SDLH264VideoEncoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLH264VideoEncoder.h; path = SmartDeviceLink/SDLH264VideoEncoder.h; sourceTree = ""; }; + 88A45748BCA864462CE96C229A58CF84 /* SDLLogFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogFilter.h; path = SmartDeviceLink/SDLLogFilter.h; sourceTree = ""; }; + 88CD2BDF6FF3ED3F6B18D71D1A446DD8 /* SDLSoftButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButton.m; path = SmartDeviceLink/SDLSoftButton.m; sourceTree = ""; }; + 891473743E394C175627756BB86F52F0 /* SDLClusterModeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLClusterModeStatus.m; path = SmartDeviceLink/SDLClusterModeStatus.m; sourceTree = ""; }; + 8920D3ACDD019CFE7D7EC52C8C57C6AA /* SDLOnTBTClientState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnTBTClientState.m; path = SmartDeviceLink/SDLOnTBTClientState.m; sourceTree = ""; }; + 897C955F52B3CC643F621B391FE0E0CD /* SDLTouchCoord.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchCoord.h; path = SmartDeviceLink/SDLTouchCoord.h; sourceTree = ""; }; + 8AD8A6F8A59C6A3CCC42BF3FFBDCE6F5 /* SDLSliderResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSliderResponse.m; path = SmartDeviceLink/SDLSliderResponse.m; sourceTree = ""; }; + 8B148286C9121F9CEAAF3BB7A9B9E1EB /* SDLGetInteriorVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetInteriorVehicleDataResponse.h; path = SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h; sourceTree = ""; }; + 8B152F340FD0B7F3F3070CC16D3CA123 /* SDLProtocolMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolMessage.h; path = SmartDeviceLink/SDLProtocolMessage.h; sourceTree = ""; }; + 8B32686218B33B63CF5B9A0030051449 /* SDLTimerMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTimerMode.h; path = SmartDeviceLink/SDLTimerMode.h; sourceTree = ""; }; + 8B4CA939A6A2196F72751084D8883EC5 /* SDLTimer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTimer.m; path = SmartDeviceLink/SDLTimer.m; sourceTree = ""; }; + 8B5B149DB553CC25C1ECE0141F2CAB44 /* SDLControlFramePayloadVideoStartServiceAck.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadVideoStartServiceAck.h; path = SmartDeviceLink/SDLControlFramePayloadVideoStartServiceAck.h; sourceTree = ""; }; + 8BC3F0AF45DC8C9CA5D3AC7CA8176789 /* SDLImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImage.h; path = SmartDeviceLink/SDLImage.h; sourceTree = ""; }; + 8BDB404AF77A5DEA1B3DB84DA45A6AC8 /* SDLStationIDNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStationIDNumber.m; path = SmartDeviceLink/SDLStationIDNumber.m; sourceTree = ""; }; + 8C5D5F27602E0540AA5B35AF19980468 /* SDLSoftButtonState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonState.m; path = SmartDeviceLink/SDLSoftButtonState.m; sourceTree = ""; }; + 8D34D8B52315EA5525E7F73360845AFD /* BiSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BiSON-dummy.m"; sourceTree = ""; }; + 8D3777E8781C62321F0499DD71507012 /* SDLHMISettingsControlData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMISettingsControlData.h; path = SmartDeviceLink/SDLHMISettingsControlData.h; sourceTree = ""; }; + 8D4041302A5894E0CAEA69FF5FB1AFD2 /* SDLSeatControlData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSeatControlData.h; path = SmartDeviceLink/SDLSeatControlData.h; sourceTree = ""; }; + 8D616CFA82FBB4F1BEE449B4EA3CF4C7 /* SDLImageResolution.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImageResolution.h; path = SmartDeviceLink/SDLImageResolution.h; sourceTree = ""; }; + 8D8320A911DB2A100461128D32DA4DA9 /* SDLTTSChunk.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTTSChunk.h; path = SmartDeviceLink/SDLTTSChunk.h; sourceTree = ""; }; + 8D8496D47F19D77551ECDEF2FA539E41 /* SDLEqualizerSettings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEqualizerSettings.m; path = SmartDeviceLink/SDLEqualizerSettings.m; sourceTree = ""; }; + 8D849908EC39EB73251A609C247278C7 /* SDLCarWindowViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCarWindowViewController.m; path = SmartDeviceLink/SDLCarWindowViewController.m; sourceTree = ""; }; + 8DAD01D3B62C827AC23B4522D86C191C /* SDLRegisterAppInterfaceResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRegisterAppInterfaceResponse.h; path = SmartDeviceLink/SDLRegisterAppInterfaceResponse.h; sourceTree = ""; }; + 8DF56FE670C445485FAD9CE424BBD979 /* SDLUnsubscribeButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeButton.h; path = SmartDeviceLink/SDLUnsubscribeButton.h; sourceTree = ""; }; + 8E089953D020C5C39366AAB493954078 /* SDLNames.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLNames.h; path = SmartDeviceLink/SDLNames.h; sourceTree = ""; }; + 8E2AF364F85ABFC8AA5227B0DA913557 /* SDLSeatMemoryActionType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSeatMemoryActionType.h; path = SmartDeviceLink/SDLSeatMemoryActionType.h; sourceTree = ""; }; + 8E5B936160771899CBA8BD8776D883F5 /* SDLMediaClockFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMediaClockFormat.h; path = SmartDeviceLink/SDLMediaClockFormat.h; sourceTree = ""; }; + 8E8FE4312C8C948EBE6F6C07DBC1F9CA /* SDLEnum.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEnum.m; path = SmartDeviceLink/SDLEnum.m; sourceTree = ""; }; + 8EAD2D9917040C1DC2F23D0C4DCA7FA7 /* SDLProtocolMessageAssembler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolMessageAssembler.h; path = SmartDeviceLink/SDLProtocolMessageAssembler.h; sourceTree = ""; }; + 8EECA380F767D515D06515EB2526BCE8 /* SDLSpeak.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSpeak.m; path = SmartDeviceLink/SDLSpeak.m; sourceTree = ""; }; + 8F06149E7100A56D1FA84248303C1817 /* SDLStreamingVideoLifecycleManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingVideoLifecycleManager.h; path = SmartDeviceLink/SDLStreamingVideoLifecycleManager.h; sourceTree = ""; }; + 8FDAFB2B0FEFC8F3A7D9D65B1426C548 /* SDLDimension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDimension.m; path = SmartDeviceLink/SDLDimension.m; sourceTree = ""; }; + 9045B17D93E29F5654B083F0E3B91871 /* SDLRemoteControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRemoteControlCapabilities.m; path = SmartDeviceLink/SDLRemoteControlCapabilities.m; sourceTree = ""; }; + 905483586B21F30E32A6B74A710A1568 /* SDLLightState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLightState.m; path = SmartDeviceLink/SDLLightState.m; sourceTree = ""; }; + 905FFC669528A903981179734581E823 /* SDLRadioBand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRadioBand.h; path = SmartDeviceLink/SDLRadioBand.h; sourceTree = ""; }; + 906B43B3B42C2419F13B44D7649B956D /* SDLRPCPayload.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCPayload.m; path = SmartDeviceLink/SDLRPCPayload.m; sourceTree = ""; }; + 90821605B6964E77F2FF24118D6EDB06 /* SDLLockScreenManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenManager.h; path = SmartDeviceLink/SDLLockScreenManager.h; sourceTree = ""; }; + 90A2A6EB9EA9F0B38F2AC500E179C267 /* SDLEncodedSyncPDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEncodedSyncPDataResponse.h; path = SmartDeviceLink/SDLEncodedSyncPDataResponse.h; sourceTree = ""; }; + 90B140356718D6990742118A0DE2E86F /* SDLSecurityType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSecurityType.h; path = SmartDeviceLink/SDLSecurityType.h; sourceTree = ""; }; + 918A4228C48EB0067BA2FD3AE232F617 /* SDLSetGlobalPropertiesResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetGlobalPropertiesResponse.h; path = SmartDeviceLink/SDLSetGlobalPropertiesResponse.h; sourceTree = ""; }; + 91BDA2325DA14618CF06ECCE83BAA12C /* SDLTireStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTireStatus.m; path = SmartDeviceLink/SDLTireStatus.m; sourceTree = ""; }; + 92476ADB048D5680C09DCA2FEE51BA94 /* SDLCarModeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCarModeStatus.h; path = SmartDeviceLink/SDLCarModeStatus.h; sourceTree = ""; }; + 9254EF45C5191A8B292F657750380D1F /* SDLSequentialRPCRequestOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSequentialRPCRequestOperation.m; path = SmartDeviceLink/SDLSequentialRPCRequestOperation.m; sourceTree = ""; }; + 92EC16D73BAA299A6234966E38DF6113 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 93003458C263C345C99E345CD6601231 /* SDLNavigationCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLNavigationCapability.h; path = SmartDeviceLink/SDLNavigationCapability.h; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 93DE1CE19A3F7D566904D73B551BCFA8 /* SDLGetVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetVehicleData.h; path = SmartDeviceLink/SDLGetVehicleData.h; sourceTree = ""; }; - 93E20B99F7060DC53CB1F48DD8880267 /* CGPoint_Util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CGPoint_Util.h; path = SmartDeviceLink/CGPoint_Util.h; sourceTree = ""; }; - 93E2E77FF6F6FE0781A4D6ED073F7FF2 /* SDLSystemRequestResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemRequestResponse.h; path = SmartDeviceLink/SDLSystemRequestResponse.h; sourceTree = ""; }; - 94053D106AE9B7BA6CE7678BBBD0E282 /* SDLGetWayPoints.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetWayPoints.h; path = SmartDeviceLink/SDLGetWayPoints.h; sourceTree = ""; }; - 9414AFF8303E274A46A24B63AB8298B7 /* SDLControlFramePayloadRPCStartServiceAck.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadRPCStartServiceAck.h; path = SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.h; sourceTree = ""; }; - 94A08919AAB83DDDC2D2E6E5CB4B2517 /* SDLButtonPress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonPress.h; path = SmartDeviceLink/SDLButtonPress.h; sourceTree = ""; }; - 94ACACD6E20B6C74C4E98F979C206B2C /* SDLAppHMIType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAppHMIType.m; path = SmartDeviceLink/SDLAppHMIType.m; sourceTree = ""; }; - 94B57E269072038295F6FCBAF5FAC340 /* SDLSetMediaClockTimerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetMediaClockTimerResponse.h; path = SmartDeviceLink/SDLSetMediaClockTimerResponse.h; sourceTree = ""; }; - 955E0095E99E594118A69C9EF7D4D2E0 /* SDLOnHashChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnHashChange.h; path = SmartDeviceLink/SDLOnHashChange.h; sourceTree = ""; }; - 9570FE2694F7DD9F9D9551BCAF47A0FD /* SDLDeleteInteractionChoiceSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteInteractionChoiceSet.h; path = SmartDeviceLink/SDLDeleteInteractionChoiceSet.h; sourceTree = ""; }; - 95E6FC577EA7B751D069C1CFA18B2FB8 /* SDLOnWayPointChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnWayPointChange.h; path = SmartDeviceLink/SDLOnWayPointChange.h; sourceTree = ""; }; - 968337401E3D4DC6133394997962F3E0 /* SmartDeviceLink.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SmartDeviceLink.modulemap; sourceTree = ""; }; - 96BEEE371A0186B2D50B4BCA13AF42C1 /* SDLAlertResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAlertResponse.h; path = SmartDeviceLink/SDLAlertResponse.h; sourceTree = ""; }; - 96DD211DEABF19A038C08B72AC86E640 /* SDLHMILevel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMILevel.m; path = SmartDeviceLink/SDLHMILevel.m; sourceTree = ""; }; - 97789EF8DCE1257FDE4BAD40A417DF0E /* SDLClimateControlData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLClimateControlData.m; path = SmartDeviceLink/SDLClimateControlData.m; sourceTree = ""; }; - 97D6E0536FABDF145C9BD951D9769BF0 /* SDLAirbagStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAirbagStatus.h; path = SmartDeviceLink/SDLAirbagStatus.h; sourceTree = ""; }; - 9860654745A9FC8A6C2CAC397104E080 /* SDLEmergencyEventType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEmergencyEventType.h; path = SmartDeviceLink/SDLEmergencyEventType.h; sourceTree = ""; }; - 98DAD9FE95481ADED5434776912E1BAF /* SDLManagerDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLManagerDelegate.h; path = SmartDeviceLink/SDLManagerDelegate.h; sourceTree = ""; }; - 99101A7333E117C1AF240A74FD999A9B /* SDLBeltStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLBeltStatus.h; path = SmartDeviceLink/SDLBeltStatus.h; sourceTree = ""; }; - 9910445C0F0CD716DA827FF79816078A /* SDLDisplayCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDisplayCapabilities.h; path = SmartDeviceLink/SDLDisplayCapabilities.h; sourceTree = ""; }; - 991973F2944238DDD77E719F08652178 /* SDLSystemCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemCapability.h; path = SmartDeviceLink/SDLSystemCapability.h; sourceTree = ""; }; - 99ECC736664F835FA6612418ADF79C77 /* SDLVehicleDataNotificationStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataNotificationStatus.m; path = SmartDeviceLink/SDLVehicleDataNotificationStatus.m; sourceTree = ""; }; - 9A6D5FE27A8E49A038797571E1935836 /* SDLTextFieldName.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTextFieldName.m; path = SmartDeviceLink/SDLTextFieldName.m; sourceTree = ""; }; - 9B3E9CD9ED425DD412AD42B3F6F881AB /* SDLProtocolReceivedMessageRouter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolReceivedMessageRouter.m; path = SmartDeviceLink/SDLProtocolReceivedMessageRouter.m; sourceTree = ""; }; - 9B4C2EC633FBACB53FFF9C13F8FFE4EB /* SDLListFiles.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLListFiles.m; path = SmartDeviceLink/SDLListFiles.m; sourceTree = ""; }; - 9B6B596718E48835DC7485622E9E6536 /* SDLOnCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnCommand.m; path = SmartDeviceLink/SDLOnCommand.m; sourceTree = ""; }; - 9BC50CACFE9FF728CBB59464DF41D466 /* SDLPRNDL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPRNDL.h; path = SmartDeviceLink/SDLPRNDL.h; sourceTree = ""; }; - 9C0BC98255DCF5131698071DD8528CFF /* SDLObjectWithPriority.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLObjectWithPriority.h; path = SmartDeviceLink/SDLObjectWithPriority.h; sourceTree = ""; }; - 9C0C1896E7E7714C0AA2732EFC990920 /* SDLAirbagStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAirbagStatus.m; path = SmartDeviceLink/SDLAirbagStatus.m; sourceTree = ""; }; - 9C662B4A58EFC7B11868E3D529CF2656 /* SDLOnHashChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnHashChange.m; path = SmartDeviceLink/SDLOnHashChange.m; sourceTree = ""; }; - 9CAB0E27C0D88B69B7F70493BB09E814 /* SDLDialNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDialNumber.m; path = SmartDeviceLink/SDLDialNumber.m; sourceTree = ""; }; - 9D33011D99FA9AC41C54BF93535F5FCC /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = en.lproj/SDLLockScreen.strings; sourceTree = ""; }; - 9D41058C17032EFA51A6263C4C2C3BEE /* SDLPhoneCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPhoneCapability.m; path = SmartDeviceLink/SDLPhoneCapability.m; sourceTree = ""; }; - 9D79FCF0941E1A9E98538BFF10734EDA /* SDLGetDTCs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetDTCs.h; path = SmartDeviceLink/SDLGetDTCs.h; sourceTree = ""; }; - 9DAC1721453D27CE326FE59F8878FEE1 /* SDLAddCommandResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAddCommandResponse.h; path = SmartDeviceLink/SDLAddCommandResponse.h; sourceTree = ""; }; - 9E1B0F1ED6F9C4649F892920CD775E79 /* SDLLogFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogFilter.h; path = SmartDeviceLink/SDLLogFilter.h; sourceTree = ""; }; - 9F68D769BB70D027A0DE080A79F2727B /* SDLNames.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLNames.m; path = SmartDeviceLink/SDLNames.m; sourceTree = ""; }; - 9FB7CA45F85699A2B1CB7601F33343E7 /* SDLPermissionFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPermissionFilter.m; path = SmartDeviceLink/SDLPermissionFilter.m; sourceTree = ""; }; - 9FBDB88EC00A2EFA64BD4043AF78CEE6 /* SDLOnKeyboardInput.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnKeyboardInput.h; path = SmartDeviceLink/SDLOnKeyboardInput.h; sourceTree = ""; }; - 9FC446872F3A920C14C3B907FF18270C /* SDLVehicleDataStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataStatus.m; path = SmartDeviceLink/SDLVehicleDataStatus.m; sourceTree = ""; }; - 9FE168F4DE2C817BEC3A8940F4DBB3F5 /* SDLH264VideoEncoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLH264VideoEncoder.m; path = SmartDeviceLink/SDLH264VideoEncoder.m; sourceTree = ""; }; - A01D165DED48E32592550F162FAC68B1 /* SDLV1ProtocolHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLV1ProtocolHeader.m; path = SmartDeviceLink/SDLV1ProtocolHeader.m; sourceTree = ""; }; - A0B4C0A15F9E76369B93311A573FE219 /* SDLProtocolMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolMessage.h; path = SmartDeviceLink/SDLProtocolMessage.h; sourceTree = ""; }; - A0D14FD26D32413C3C8734789689D479 /* SDLArtwork.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLArtwork.m; path = SmartDeviceLink/SDLArtwork.m; sourceTree = ""; }; - A1C3EA7FF9B5346E0A60C3315A7BD7A6 /* SDLSubscribeButtonResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeButtonResponse.m; path = SmartDeviceLink/SDLSubscribeButtonResponse.m; sourceTree = ""; }; - A260C4C55BA2CE11D5F3E34F5957876E /* SDLTouchManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchManager.h; path = SmartDeviceLink/SDLTouchManager.h; sourceTree = ""; }; - A2DDAF38EC2FCD81F8E507B75A91CC97 /* SDLRadioState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRadioState.h; path = SmartDeviceLink/SDLRadioState.h; sourceTree = ""; }; - A347CD9106094C5D8180880BF8741AE8 /* SDLStreamingMediaManagerConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingMediaManagerConstants.m; path = SmartDeviceLink/SDLStreamingMediaManagerConstants.m; sourceTree = ""; }; - A3C83CA99B4AC69C080A918D70740563 /* SDLSubscribeVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeVehicleData.m; path = SmartDeviceLink/SDLSubscribeVehicleData.m; sourceTree = ""; }; - A457E26679E0F2BCEE231A82D4A64B04 /* SDLMyKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMyKey.m; path = SmartDeviceLink/SDLMyKey.m; sourceTree = ""; }; - A4853106AC4173444F1553EE82745CAB /* SDLControlFramePayloadAudioStartServiceAck.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadAudioStartServiceAck.m; path = SmartDeviceLink/SDLControlFramePayloadAudioStartServiceAck.m; sourceTree = ""; }; - A4A557FE3FB37D862975E8D19941381A /* SDLGPSData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGPSData.h; path = SmartDeviceLink/SDLGPSData.h; sourceTree = ""; }; - A4AF80DDE32E015AFA731F53CE4291EE /* SDLRadioBand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRadioBand.m; path = SmartDeviceLink/SDLRadioBand.m; sourceTree = ""; }; - A4DE8F4F926F1544B1408A6C17006500 /* SDLDeleteInteractionChoiceSetResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteInteractionChoiceSetResponse.h; path = SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h; sourceTree = ""; }; - A4EAC891434B1BC8BAE4F1E0D571E5A6 /* SDLStreamingAudioManagerType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingAudioManagerType.h; path = SmartDeviceLink/SDLStreamingAudioManagerType.h; sourceTree = ""; }; - A4FAED4DBE2719524F4D2B04531D90CF /* SDLTCPTransport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTCPTransport.h; path = SmartDeviceLink/SDLTCPTransport.h; sourceTree = ""; }; - A58B5C37FB37F8DCE1159C33D90DE877 /* SDLAlertManeuverResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAlertManeuverResponse.h; path = SmartDeviceLink/SDLAlertManeuverResponse.h; sourceTree = ""; }; - A5AEFACCEC86A1ABB9AE88EF4CBACC0A /* SDLAsynchronousRPCRequestOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAsynchronousRPCRequestOperation.m; path = SmartDeviceLink/SDLAsynchronousRPCRequestOperation.m; sourceTree = ""; }; - A610B25D99CB197E115FCCDF5EAD36F6 /* SDLPRNDL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPRNDL.m; path = SmartDeviceLink/SDLPRNDL.m; sourceTree = ""; }; - A7C152A904A8E564FD3F90B994AC24E6 /* SDLSetDisplayLayoutResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetDisplayLayoutResponse.m; path = SmartDeviceLink/SDLSetDisplayLayoutResponse.m; sourceTree = ""; }; - A839052D9BB7035556194D563F964883 /* SDLTextAlignment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTextAlignment.m; path = SmartDeviceLink/SDLTextAlignment.m; sourceTree = ""; }; - A86748AE714AC4575DE6AE50E7D3A117 /* SDLOnLanguageChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnLanguageChange.h; path = SmartDeviceLink/SDLOnLanguageChange.h; sourceTree = ""; }; - A8949EA4C1BEA71957B3EF7E122B3B3D /* SDLOnSystemRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnSystemRequest.m; path = SmartDeviceLink/SDLOnSystemRequest.m; sourceTree = ""; }; - A89D561725DF99AEDE6ABEE7CB77AB42 /* SDLStreamingMediaManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingMediaManager.m; path = SmartDeviceLink/SDLStreamingMediaManager.m; sourceTree = ""; }; - A8AE10BF9E253F19596076BE9FCDA922 /* SDLShowConstantTBTResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLShowConstantTBTResponse.m; path = SmartDeviceLink/SDLShowConstantTBTResponse.m; sourceTree = ""; }; - A8F98020D4C0292E2DCFF8ADC29E2E6A /* SDLDeleteSubMenu.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteSubMenu.m; path = SmartDeviceLink/SDLDeleteSubMenu.m; sourceTree = ""; }; - A965CE0A816AFDD3BD8D2E6D703F7990 /* SDLTouchManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchManager.m; path = SmartDeviceLink/SDLTouchManager.m; sourceTree = ""; }; - A9AB9984C23EC7D8ACA17C6CD6C1CB84 /* SDLSetInteriorVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetInteriorVehicleDataResponse.h; path = SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h; sourceTree = ""; }; - A9B8523BC9B75465B482626AEC33618F /* SDLAudioPassThruCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioPassThruCapabilities.m; path = SmartDeviceLink/SDLAudioPassThruCapabilities.m; sourceTree = ""; }; - A9BBF9B6E369397E61060BC0B878C8C8 /* SDLAmbientLightStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAmbientLightStatus.h; path = SmartDeviceLink/SDLAmbientLightStatus.h; sourceTree = ""; }; - AAB3F6CAF01D028140320F6C3476F7CE /* SDLEmergencyEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEmergencyEvent.h; path = SmartDeviceLink/SDLEmergencyEvent.h; sourceTree = ""; }; - AAF593130C4DA7709ACFE286A88E8A8E /* SDLPrerecordedSpeech.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPrerecordedSpeech.m; path = SmartDeviceLink/SDLPrerecordedSpeech.m; sourceTree = ""; }; - AB82DAFB98C6D2AF057855FA35A47B95 /* SDLTurn.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTurn.m; path = SmartDeviceLink/SDLTurn.m; sourceTree = ""; }; - ACA514171308C7B5A9DC25211634C84A /* SDLLogFileModule.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogFileModule.m; path = SmartDeviceLink/SDLLogFileModule.m; sourceTree = ""; }; - ACC2B7226D055B70E78018F8B7C6135E /* SDLSpeakResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSpeakResponse.h; path = SmartDeviceLink/SDLSpeakResponse.h; sourceTree = ""; }; - ACEB99E17EF9D3A775AD69F75EC8358A /* SDLPrioritizedObjectCollection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPrioritizedObjectCollection.h; path = SmartDeviceLink/SDLPrioritizedObjectCollection.h; sourceTree = ""; }; - ACFBDD370CA1015DA519E30A614A8982 /* SDLLocationCoordinate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLocationCoordinate.m; path = SmartDeviceLink/SDLLocationCoordinate.m; sourceTree = ""; }; - ADD9923D38809C26A3B17517578AB241 /* SDLLogConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogConfiguration.h; path = SmartDeviceLink/SDLLogConfiguration.h; sourceTree = ""; }; - ADE618DDCD64E432369A8D2AA9580F8D /* SDLTextFieldName.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTextFieldName.h; path = SmartDeviceLink/SDLTextFieldName.h; sourceTree = ""; }; - ADEE2DEF2B9BF06852C5F45AE3495DAF /* SDLDisplayCapabilities+ShowManagerExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SDLDisplayCapabilities+ShowManagerExtensions.m"; path = "SmartDeviceLink/SDLDisplayCapabilities+ShowManagerExtensions.m"; sourceTree = ""; }; - AE76335C84DD0DC12B5C81724CC07D76 /* SDLCompassDirection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCompassDirection.m; path = SmartDeviceLink/SDLCompassDirection.m; sourceTree = ""; }; - AEC45C1E8348204E849603619D2A7E79 /* bson_array.c */ = {isa = PBXFileReference; includeInIndex = 1; name = bson_array.c; path = src/bson_array.c; sourceTree = ""; }; - AF325063268AFD8725D5A21CA73E18BC /* SDLLogTargetAppleSystemLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogTargetAppleSystemLog.m; path = SmartDeviceLink/SDLLogTargetAppleSystemLog.m; sourceTree = ""; }; - AF548F447D6C7999906C27FB0A7558D7 /* SDLLogManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogManager.m; path = SmartDeviceLink/SDLLogManager.m; sourceTree = ""; }; - AF83E2E0F441E0D07FDE9F36E0E32671 /* SDLVideoStreamingCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingCapability.m; path = SmartDeviceLink/SDLVideoStreamingCapability.m; sourceTree = ""; }; - B084E1560C1B6D2BEC87505924BEC657 /* SDLTemperature.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTemperature.h; path = SmartDeviceLink/SDLTemperature.h; sourceTree = ""; }; - B09B33BFFA0755D53BE8B3BA612BD0F7 /* SDLPermissionStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionStatus.h; path = SmartDeviceLink/SDLPermissionStatus.h; sourceTree = ""; }; - B0AF2462CD28C618DD9B2DC2FF0B7B3D /* SDLTTSChunk.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTTSChunk.h; path = SmartDeviceLink/SDLTTSChunk.h; sourceTree = ""; }; - B0E8EB800FB1E72CD634BB9588F71B6E /* SDLSystemRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemRequest.m; path = SmartDeviceLink/SDLSystemRequest.m; sourceTree = ""; }; - B16451B05F7B7998916902BDC272DA7B /* SDLHexUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHexUtility.m; path = SmartDeviceLink/SDLHexUtility.m; sourceTree = ""; }; - B206FE937C25674755F2EA4E3C49E6CF /* SDLDeviceLevelStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeviceLevelStatus.m; path = SmartDeviceLink/SDLDeviceLevelStatus.m; sourceTree = ""; }; - B25A1E9589F23622CFC291E01E8D765A /* SDLClimateControlData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLClimateControlData.h; path = SmartDeviceLink/SDLClimateControlData.h; sourceTree = ""; }; - B284811B4E67CC3BCA6ABEDE9DF81B38 /* SDLLogConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogConstants.h; path = SmartDeviceLink/SDLLogConstants.h; sourceTree = ""; }; - B314827C05C6F05646F8C1EA76E1C0FE /* SDLAsynchronousOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAsynchronousOperation.m; path = SmartDeviceLink/SDLAsynchronousOperation.m; sourceTree = ""; }; - B324258DBED76B41D481FEC0C8E7E4E4 /* SDLGetSystemCapabilityResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetSystemCapabilityResponse.h; path = SmartDeviceLink/SDLGetSystemCapabilityResponse.h; sourceTree = ""; }; - B33D088C40BF522D53461F078589C3C9 /* SDLScreenParams.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScreenParams.h; path = SmartDeviceLink/SDLScreenParams.h; sourceTree = ""; }; - B34A2D03E309D9EEFB2821183B494BC6 /* SDLAddCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAddCommand.h; path = SmartDeviceLink/SDLAddCommand.h; sourceTree = ""; }; - B3534BABA6F48FD0582FE4F8DD64D2D5 /* SDLParameterPermissions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLParameterPermissions.m; path = SmartDeviceLink/SDLParameterPermissions.m; sourceTree = ""; }; - B38535F6E34B4E2E1B4ADD93F958208F /* SDLRegisterAppInterface.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRegisterAppInterface.m; path = SmartDeviceLink/SDLRegisterAppInterface.m; sourceTree = ""; }; - B39C7236DE04FBFFC3EFCAB3EB27530C /* SDLRPCResponseNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCResponseNotification.m; path = SmartDeviceLink/SDLRPCResponseNotification.m; sourceTree = ""; }; - B3B9217762C0EBA9B4DB8E1EB2B837DC /* SDLLayoutMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLayoutMode.m; path = SmartDeviceLink/SDLLayoutMode.m; sourceTree = ""; }; - B4D3863E8932C7EC9D89A9389E64CD4A /* SDLOnDriverDistraction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnDriverDistraction.m; path = SmartDeviceLink/SDLOnDriverDistraction.m; sourceTree = ""; }; - B4EDB7744C2C539129CE3FCADAD3D442 /* SDLDeviceStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeviceStatus.m; path = SmartDeviceLink/SDLDeviceStatus.m; sourceTree = ""; }; - B555374B7D8363F9E6F4FBC02AAAF176 /* SDLSoftButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButton.h; path = SmartDeviceLink/SDLSoftButton.h; sourceTree = ""; }; - B56A48597FE6AA8D82EE6EA20AEADC15 /* SDLTBTState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTBTState.h; path = SmartDeviceLink/SDLTBTState.h; sourceTree = ""; }; - B573433ABE6237E351F4E41B5B3E32C5 /* SDLTurn.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTurn.h; path = SmartDeviceLink/SDLTurn.h; sourceTree = ""; }; - B5C726955CCE1B8987C0D6F46BE4A64A /* SDLCarWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCarWindow.h; path = SmartDeviceLink/SDLCarWindow.h; sourceTree = ""; }; - B611FCD95D4D84AA4315C44CAA67EAD9 /* SDLTCPTransport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTCPTransport.m; path = SmartDeviceLink/SDLTCPTransport.m; sourceTree = ""; }; - B636CB6D6237A428F15EBA157016DFFF /* SDLRadioControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRadioControlCapabilities.m; path = SmartDeviceLink/SDLRadioControlCapabilities.m; sourceTree = ""; }; - B6853EF80F967574984DFDA98E7CB061 /* SDLSpeakResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSpeakResponse.m; path = SmartDeviceLink/SDLSpeakResponse.m; sourceTree = ""; }; - B6AE4D868EB4C86BDB7631434D122BD4 /* SDLTBTState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTBTState.m; path = SmartDeviceLink/SDLTBTState.m; sourceTree = ""; }; - B6D737CCCB23752D7FBC3C4EECA8A1D3 /* SDLModuleType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLModuleType.h; path = SmartDeviceLink/SDLModuleType.h; sourceTree = ""; }; - B6E5367EC8EDE9316F259706478E60CA /* SDLDeleteFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteFile.m; path = SmartDeviceLink/SDLDeleteFile.m; sourceTree = ""; }; - B6FDC042AE88B0E930FE8B83C8BCB868 /* SDLStreamDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamDelegate.h; path = SmartDeviceLink/SDLStreamDelegate.h; sourceTree = ""; }; - B756AA6AAB1C2516F2DD92EF41114E74 /* EAAccessoryManager+SDLProtocols.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EAAccessoryManager+SDLProtocols.m"; path = "SmartDeviceLink/EAAccessoryManager+SDLProtocols.m"; sourceTree = ""; }; - B792AFA7FFAD02CA7DB4753C054FEFE0 /* NSMutableDictionary+SafeRemove.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableDictionary+SafeRemove.m"; path = "SmartDeviceLink/NSMutableDictionary+SafeRemove.m"; sourceTree = ""; }; - B7F0A41B14FD3B58752CE842EC5F304F /* SDLError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLError.h; path = SmartDeviceLink/SDLError.h; sourceTree = ""; }; - B8331F2851CEB0CC5716DEA0184C67E2 /* SDLSubscribeWayPoints.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeWayPoints.m; path = SmartDeviceLink/SDLSubscribeWayPoints.m; sourceTree = ""; }; - B8666DAC888ABC474561545E05A2FD3F /* SDLVideoStreamingCodec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingCodec.h; path = SmartDeviceLink/SDLVideoStreamingCodec.h; sourceTree = ""; }; - B878213129C7888C31E8882BE4F18A5D /* SDLRPCMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCMessage.h; path = SmartDeviceLink/SDLRPCMessage.h; sourceTree = ""; }; - B89924B3F2813B714A820FDB6827C8B4 /* SDLButtonPressResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonPressResponse.h; path = SmartDeviceLink/SDLButtonPressResponse.h; sourceTree = ""; }; - B8B817AC2DB21FDF0548EDFB28EF20EE /* SDLIgnitionStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIgnitionStatus.h; path = SmartDeviceLink/SDLIgnitionStatus.h; sourceTree = ""; }; - B8D720496413112E52B1E461D8F59198 /* SDLLifecycleConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLifecycleConfiguration.h; path = SmartDeviceLink/SDLLifecycleConfiguration.h; sourceTree = ""; }; - B90331919932878DA2DD83F05A689E44 /* EAAccessory+SDLProtocols.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EAAccessory+SDLProtocols.m"; path = "SmartDeviceLink/EAAccessory+SDLProtocols.m"; sourceTree = ""; }; - B94F160428414D82EC90DFF671E44715 /* Pods-MobileWeather-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MobileWeather-resources.sh"; sourceTree = ""; }; - B969E76CD13D756D47729D8262A5B26C /* SDLTimerMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTimerMode.m; path = SmartDeviceLink/SDLTimerMode.m; sourceTree = ""; }; - B9E2048B155209ADCECB279831BE9BBC /* SDLMenuParams.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMenuParams.m; path = SmartDeviceLink/SDLMenuParams.m; sourceTree = ""; }; - BA240FAA05BF054AA4CF777A11C7D856 /* SDLSubscribeWayPoints.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeWayPoints.h; path = SmartDeviceLink/SDLSubscribeWayPoints.h; sourceTree = ""; }; - BA3D26CA12CB381851BC73C4E910F659 /* SDLVrCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVrCapabilities.h; path = SmartDeviceLink/SDLVrCapabilities.h; sourceTree = ""; }; - BA65A291644A1104777DD18B3A9F6AB6 /* SDLTemperatureUnit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTemperatureUnit.h; path = SmartDeviceLink/SDLTemperatureUnit.h; sourceTree = ""; }; - BB5777D4A90D4F3AC252B9E1ED6AC0AB /* SDLRPCRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCRequest.m; path = SmartDeviceLink/SDLRPCRequest.m; sourceTree = ""; }; - BB7799F1427058BA351A0944D9735170 /* SDLHMIPermissions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMIPermissions.m; path = SmartDeviceLink/SDLHMIPermissions.m; sourceTree = ""; }; - BB9FE92AED9C4FBE0C71990C15CFFFD1 /* SDLAssets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = SDLAssets.xcassets; path = SmartDeviceLink/Assets/SDLAssets.xcassets; sourceTree = ""; }; - BC328745528D6947708B34BCDC4B25E9 /* SDLEndAudioPassThru.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEndAudioPassThru.h; path = SmartDeviceLink/SDLEndAudioPassThru.h; sourceTree = ""; }; - BC35FFF7507D7A2A32ED161DAC7661EC /* SDLSubscribeButtonResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeButtonResponse.h; path = SmartDeviceLink/SDLSubscribeButtonResponse.h; sourceTree = ""; }; - BC6C2D8AF68DD7068995D48B62C12765 /* SDLNotificationDispatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLNotificationDispatcher.m; path = SmartDeviceLink/SDLNotificationDispatcher.m; sourceTree = ""; }; - BC9A0419AF6A13470FEFF81E07359674 /* SDLDisplayCapabilities+ShowManagerExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SDLDisplayCapabilities+ShowManagerExtensions.h"; path = "SmartDeviceLink/SDLDisplayCapabilities+ShowManagerExtensions.h"; sourceTree = ""; }; - BC9BC15FCDA4874E5C1042CCDA58C4CE /* SDLAppInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAppInfo.m; path = SmartDeviceLink/SDLAppInfo.m; sourceTree = ""; }; - BCA7A8B50FE903F4DB6A1A8F4DD0A2C6 /* SDLChangeRegistration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChangeRegistration.m; path = SmartDeviceLink/SDLChangeRegistration.m; sourceTree = ""; }; - BDCD2F21AD03F887C89F5CAEEFBB2CAA /* SDLSetGlobalProperties.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetGlobalProperties.h; path = SmartDeviceLink/SDLSetGlobalProperties.h; sourceTree = ""; }; - BE096BC4D2F4B2C3E43BF6C1818A908A /* SDLOnTouchEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnTouchEvent.h; path = SmartDeviceLink/SDLOnTouchEvent.h; sourceTree = ""; }; - BE0C72F3CD666F0287992BA234B8B0E6 /* SDLSystemCapabilityType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemCapabilityType.h; path = SmartDeviceLink/SDLSystemCapabilityType.h; sourceTree = ""; }; - BF2BEF821FF149BBA87439E8FA2B0C6F /* SDLOnLockScreenStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnLockScreenStatus.m; path = SmartDeviceLink/SDLOnLockScreenStatus.m; sourceTree = ""; }; - BF2DD2F14E29C5B4BD8772F8D8D0D5E7 /* BiSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BiSON-dummy.m"; sourceTree = ""; }; - BFD0BEEC7500B4ABB684365B91EE31DA /* SDLSoftButtonManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonManager.h; path = SmartDeviceLink/SDLSoftButtonManager.h; sourceTree = ""; }; - BFDEE02EB64F92CB0BB27329E39F1F36 /* SDLShowConstantTBT.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLShowConstantTBT.m; path = SmartDeviceLink/SDLShowConstantTBT.m; sourceTree = ""; }; - C05C4DD1B32899E128BDB4ED248AED5D /* SDLResetGlobalProperties.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLResetGlobalProperties.h; path = SmartDeviceLink/SDLResetGlobalProperties.h; sourceTree = ""; }; - C0676BDA6CC974863E4443FDB73D5DE5 /* SDLUpdateMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUpdateMode.m; path = SmartDeviceLink/SDLUpdateMode.m; sourceTree = ""; }; - C0CA684B5F9C9A9D3C88EB23944848A6 /* SDLProxyFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProxyFactory.m; path = SmartDeviceLink/SDLProxyFactory.m; sourceTree = ""; }; - C121CA0F730BD79472441C6EA3E0B549 /* SDLTouchManagerDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchManagerDelegate.h; path = SmartDeviceLink/SDLTouchManagerDelegate.h; sourceTree = ""; }; - C12DBB316844772F9BB6A9A0FF128EA1 /* SDLInteractionMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLInteractionMode.h; path = SmartDeviceLink/SDLInteractionMode.h; sourceTree = ""; }; - C1A3C30A75CB3EF8356671BA3CAD399C /* SDLControlFramePayloadRPCStartServiceAck.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadRPCStartServiceAck.m; path = SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.m; sourceTree = ""; }; - C1D36A8B72729B926D8F8FB48064F7AB /* SDLProtocolMessageAssembler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolMessageAssembler.h; path = SmartDeviceLink/SDLProtocolMessageAssembler.h; sourceTree = ""; }; - C1FAB7BFA2474926AA957A26CFFB7565 /* SDLImageField.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImageField.m; path = SmartDeviceLink/SDLImageField.m; sourceTree = ""; }; - C22E151CAF06116259FCA8684ECE61C1 /* SDLUnregisterAppInterface.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnregisterAppInterface.m; path = SmartDeviceLink/SDLUnregisterAppInterface.m; sourceTree = ""; }; - C23A20ACE6CC1EF7A6BAECD0E52500EB /* SDLRegisterAppInterfaceResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRegisterAppInterfaceResponse.m; path = SmartDeviceLink/SDLRegisterAppInterfaceResponse.m; sourceTree = ""; }; - C23D6E78087AA27BB28DA4D24CC3C753 /* SDLUnsubscribeButtonResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeButtonResponse.m; path = SmartDeviceLink/SDLUnsubscribeButtonResponse.m; sourceTree = ""; }; - C26C7F2CF247BEB0F70B55CBF2550147 /* SDLRAWH264Packetizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRAWH264Packetizer.h; path = SmartDeviceLink/SDLRAWH264Packetizer.h; sourceTree = ""; }; - C27629A0F7B15FFFA84130453D5ECF38 /* SDLCreateInteractionChoiceSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCreateInteractionChoiceSet.m; path = SmartDeviceLink/SDLCreateInteractionChoiceSet.m; sourceTree = ""; }; - C29294C933EB3A648D60018E0E24BCA1 /* SDLPerformInteractionResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPerformInteractionResponse.h; path = SmartDeviceLink/SDLPerformInteractionResponse.h; sourceTree = ""; }; - C2A77688A1DDECA795226E8C57626D90 /* SDLMetadataTags.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMetadataTags.h; path = SmartDeviceLink/SDLMetadataTags.h; sourceTree = ""; }; - C3F09F373BFB192C2F1E3AAE8AC1F912 /* SDLVehicleDataNotificationStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataNotificationStatus.h; path = SmartDeviceLink/SDLVehicleDataNotificationStatus.h; sourceTree = ""; }; - C3FD085710B693C105834DE2FB9B0277 /* SDLSlider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSlider.m; path = SmartDeviceLink/SDLSlider.m; sourceTree = ""; }; - C43CB0DDAB5A3AAD09CBE4EAC6F337A8 /* SDLLockScreenPresenter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenPresenter.h; path = SmartDeviceLink/SDLLockScreenPresenter.h; sourceTree = ""; }; - C4F661E0780233CE7688E6F4D4B4E29C /* SDLWiperStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLWiperStatus.h; path = SmartDeviceLink/SDLWiperStatus.h; sourceTree = ""; }; - C5537A303518773C34506FD59BB66F24 /* SDLImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImage.m; path = SmartDeviceLink/SDLImage.m; sourceTree = ""; }; - C5E58DD76C9F90F187A1E6D485998021 /* SDLResetGlobalPropertiesResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLResetGlobalPropertiesResponse.h; path = SmartDeviceLink/SDLResetGlobalPropertiesResponse.h; sourceTree = ""; }; - C66BACBDF38B4A8039EB9D6C72DB5BDB /* SDLSetDisplayLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetDisplayLayout.h; path = SmartDeviceLink/SDLSetDisplayLayout.h; sourceTree = ""; }; - C682BA2812DB6612AE9BEC98C0401703 /* SDLSubscribeVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeVehicleDataResponse.m; path = SmartDeviceLink/SDLSubscribeVehicleDataResponse.m; sourceTree = ""; }; - C6B7F2821DA9560C9EDF9BD16A9925DB /* SDLGetInteriorVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetInteriorVehicleDataResponse.h; path = SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h; sourceTree = ""; }; - C6FD7D83674513A07AB93F849ACFBABF /* SDLWarningLightStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLWarningLightStatus.m; path = SmartDeviceLink/SDLWarningLightStatus.m; sourceTree = ""; }; - C73B8A41FA662AE022AC25472FB08A03 /* SmartDeviceLink-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SmartDeviceLink-prefix.pch"; sourceTree = ""; }; - C7F1946CC08F687495AC8952148FDAB3 /* SDLWarningLightStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLWarningLightStatus.h; path = SmartDeviceLink/SDLWarningLightStatus.h; sourceTree = ""; }; - C87C5B49F66E3B5F15B530A9FFAD35C5 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C8F997D3DCE393AA4F534F35A291E89A /* SDLKeyboardEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLKeyboardEvent.m; path = SmartDeviceLink/SDLKeyboardEvent.m; sourceTree = ""; }; - C9910FB7674BF7129ED27A3440D0953A /* SDLUnsubscribeWayPoints.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeWayPoints.h; path = SmartDeviceLink/SDLUnsubscribeWayPoints.h; sourceTree = ""; }; - C9FDF7AC2263906B2FB5D1F8B6A91E3F /* SDLTTSChunk.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTTSChunk.m; path = SmartDeviceLink/SDLTTSChunk.m; sourceTree = ""; }; - CA02739C455B7AEB572CB2DA7F5D5493 /* SDLPerformInteraction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPerformInteraction.m; path = SmartDeviceLink/SDLPerformInteraction.m; sourceTree = ""; }; - CA573929A03D0C71FC701844E556744E /* bson_util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = bson_util.h; path = src/bson_util.h; sourceTree = ""; }; - CABDD61F55B0AC760C9908587E0641C6 /* SDLOnButtonEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnButtonEvent.m; path = SmartDeviceLink/SDLOnButtonEvent.m; sourceTree = ""; }; - CB4BB9D646CA8516EA4E7AF4997635D8 /* SDLBitsPerSample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLBitsPerSample.h; path = SmartDeviceLink/SDLBitsPerSample.h; sourceTree = ""; }; - CB65C81089EF0BFE31D28C1078027F86 /* SDLRAWH264Packetizer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRAWH264Packetizer.m; path = SmartDeviceLink/SDLRAWH264Packetizer.m; sourceTree = ""; }; - CB94694550D361EA13FBCE3A1216ED85 /* SDLChangeRegistrationResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChangeRegistrationResponse.m; path = SmartDeviceLink/SDLChangeRegistrationResponse.m; sourceTree = ""; }; - CC0BB33A24A0B55AE569C740921E898E /* SDLEndAudioPassThru.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEndAudioPassThru.m; path = SmartDeviceLink/SDLEndAudioPassThru.m; sourceTree = ""; }; - CCF3A4332A96FF6360B081925786E934 /* SDLPolicyDataParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPolicyDataParser.h; path = SmartDeviceLink/SDLPolicyDataParser.h; sourceTree = ""; }; - CD228584A7AA79264BA0DE0498BE34B5 /* SDLSetMediaClockTimerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetMediaClockTimerResponse.m; path = SmartDeviceLink/SDLSetMediaClockTimerResponse.m; sourceTree = ""; }; - CD3801D28E0629BD8105583AC439BA4C /* SDLV2ProtocolHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLV2ProtocolHeader.h; path = SmartDeviceLink/SDLV2ProtocolHeader.h; sourceTree = ""; }; - CD733DDDE3AEBCC6D64888B2CB1032B7 /* SDLUnsubscribeButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeButton.h; path = SmartDeviceLink/SDLUnsubscribeButton.h; sourceTree = ""; }; - CE2F18651AECC35D38B1BEB283A90C87 /* SDLShowResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLShowResponse.h; path = SmartDeviceLink/SDLShowResponse.h; sourceTree = ""; }; - CED472F38093861C68B9C313E5038CF9 /* SDLFunctionID.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFunctionID.h; path = SmartDeviceLink/SDLFunctionID.h; sourceTree = ""; }; - CFF0A25F0ECD4748F74D123757210B63 /* SDLControlFramePayloadAudioStartServiceAck.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadAudioStartServiceAck.h; path = SmartDeviceLink/SDLControlFramePayloadAudioStartServiceAck.h; sourceTree = ""; }; - D015AD0243666FD47AD1932EB871E69C /* SDLComponentVolumeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLComponentVolumeStatus.m; path = SmartDeviceLink/SDLComponentVolumeStatus.m; sourceTree = ""; }; - D071EA8B510835B8A49F0EED09FE0D5A /* SDLAudioPassThruCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioPassThruCapabilities.h; path = SmartDeviceLink/SDLAudioPassThruCapabilities.h; sourceTree = ""; }; - D09AEAD27C89EC1ECB874643AE386E85 /* SDLOnAppInterfaceUnregistered.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnAppInterfaceUnregistered.m; path = SmartDeviceLink/SDLOnAppInterfaceUnregistered.m; sourceTree = ""; }; - D0C1E445BE534CBEB1F13336970BB53E /* SDLPredefinedLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPredefinedLayout.h; path = SmartDeviceLink/SDLPredefinedLayout.h; sourceTree = ""; }; - D180A6C152D36BA0ECAD6A46B9B57642 /* SDLSendLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSendLocation.m; path = SmartDeviceLink/SDLSendLocation.m; sourceTree = ""; }; - D26FEAEAD7F61B8841FD580C0620892A /* SDLProtocolHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolHeader.m; path = SmartDeviceLink/SDLProtocolHeader.m; sourceTree = ""; }; - D359D887B941F6BB00CE5771471DA034 /* SDLRPCStruct.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCStruct.h; path = SmartDeviceLink/SDLRPCStruct.h; sourceTree = ""; }; - D45385A212865742CD7117F3B64CA363 /* SDLControlFramePayloadConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadConstants.h; path = SmartDeviceLink/SDLControlFramePayloadConstants.h; sourceTree = ""; }; - D4631D29C5F63679E274878FFF47777B /* SDLCarModeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCarModeStatus.h; path = SmartDeviceLink/SDLCarModeStatus.h; sourceTree = ""; }; - D46B2146387B220F0E684C0B301B5D39 /* SDLPCMAudioConverter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPCMAudioConverter.m; path = SmartDeviceLink/SDLPCMAudioConverter.m; sourceTree = ""; }; - D4842ABBC747B304585E03A4D6ACDCC5 /* SDLRPCMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCMessage.m; path = SmartDeviceLink/SDLRPCMessage.m; sourceTree = ""; }; - D497E4ED33214A68802A49A1E64764A9 /* SDLDimension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDimension.h; path = SmartDeviceLink/SDLDimension.h; sourceTree = ""; }; - D4C6F6B4C3FEC0D2F83C8EC8E6C85166 /* emhashmap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = emhashmap.h; path = src/emhashmap/emhashmap.h; sourceTree = ""; }; - D548C01622D4F9D989CB5720F85E07F9 /* SDLTouch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouch.m; path = SmartDeviceLink/SDLTouch.m; sourceTree = ""; }; - D5E5C135C6E7AFC6A2D8402CF76B99F8 /* SDLDeliveryMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeliveryMode.m; path = SmartDeviceLink/SDLDeliveryMode.m; sourceTree = ""; }; - D652C290A748FF731864BD729A0A81BB /* SDLKeypressMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeypressMode.h; path = SmartDeviceLink/SDLKeypressMode.h; sourceTree = ""; }; - D6B576AD44FD1BFA75E6B936B1D8567B /* SDLHMILevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMILevel.h; path = SmartDeviceLink/SDLHMILevel.h; sourceTree = ""; }; - D6E3EA6F65F2791258470F3F42459CEF /* SDLEncodedSyncPData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEncodedSyncPData.m; path = SmartDeviceLink/SDLEncodedSyncPData.m; sourceTree = ""; }; - D6EA8ED7910972274124392807D6699A /* SDLAudioType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioType.h; path = SmartDeviceLink/SDLAudioType.h; sourceTree = ""; }; - D6EFB5528DE72236C27072B85AFB6F80 /* SDLOasisAddress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOasisAddress.h; path = SmartDeviceLink/SDLOasisAddress.h; sourceTree = ""; }; - D7618DCDCE9669AEBDCB6EDCD44DEE79 /* SDLReadDIDResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLReadDIDResponse.m; path = SmartDeviceLink/SDLReadDIDResponse.m; sourceTree = ""; }; - D7ACA7340665DE4E70A8787C6FEADDAC /* SDLButtonPressMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonPressMode.m; path = SmartDeviceLink/SDLButtonPressMode.m; sourceTree = ""; }; - D7E083B3F536B4D33B24F251CA318C95 /* SDLLogFileModuleMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogFileModuleMap.h; path = SmartDeviceLink/SDLLogFileModuleMap.h; sourceTree = ""; }; - D83F2EBDA6C965224F8D269B7B21C7DE /* SDLStreamingMediaConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaConfiguration.h; path = SmartDeviceLink/SDLStreamingMediaConfiguration.h; sourceTree = ""; }; - D8B6553A649FAA4A3113D7494EF4AF9A /* SDLOnAudioPassThru.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnAudioPassThru.m; path = SmartDeviceLink/SDLOnAudioPassThru.m; sourceTree = ""; }; - D8D4135A71A6EF924A76E956876C6B27 /* dispatch_timer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = dispatch_timer.h; path = SmartDeviceLink/dispatch_timer.h; sourceTree = ""; }; - D92D71F62186AE67632BFEFBB0C65203 /* SDLTextAlignment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTextAlignment.h; path = SmartDeviceLink/SDLTextAlignment.h; sourceTree = ""; }; - D95913CB5C85C9049C787AD5850595B8 /* SDLStartTime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStartTime.h; path = SmartDeviceLink/SDLStartTime.h; sourceTree = ""; }; - D9AD0F744D87982AC573205ECAAABC19 /* SDLRequestType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRequestType.m; path = SmartDeviceLink/SDLRequestType.m; sourceTree = ""; }; - D9D764A3DA418A19838AC0E9F1D9A0D8 /* SDLMenuParams.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMenuParams.h; path = SmartDeviceLink/SDLMenuParams.h; sourceTree = ""; }; - D9F538CC534F3EE061279BF0BCCDE762 /* SDLPutFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPutFileResponse.m; path = SmartDeviceLink/SDLPutFileResponse.m; sourceTree = ""; }; - DA4AC64876191720BEEEDCA096CF536B /* SDLResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLResult.h; path = SmartDeviceLink/SDLResult.h; sourceTree = ""; }; - DA5F88A7E3297E958D34AA141ABD5FDA /* SDLAudioStreamingState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioStreamingState.h; path = SmartDeviceLink/SDLAudioStreamingState.h; sourceTree = ""; }; - DAAA1452E90A5D906B11EB073A8D3D1F /* SDLResponseDispatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLResponseDispatcher.m; path = SmartDeviceLink/SDLResponseDispatcher.m; sourceTree = ""; }; - DB515CFA0F7F98851438AA02DC1CD74E /* BiSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BiSON.xcconfig; sourceTree = ""; }; - DB9EEE3EB3BE1145C1607125D2BE55E5 /* SDLControlFramePayloadRPCStartService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadRPCStartService.h; path = SmartDeviceLink/SDLControlFramePayloadRPCStartService.h; sourceTree = ""; }; - DBD1B1A5F4B1E67C318E65C7FF735947 /* SDLPermissionConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionConstants.h; path = SmartDeviceLink/SDLPermissionConstants.h; sourceTree = ""; }; - DC3D5A1C9A675BC2E3145E0FA8547B67 /* CVPixelBufferRef+SDLUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CVPixelBufferRef+SDLUtil.h"; path = "SmartDeviceLink/CVPixelBufferRef+SDLUtil.h"; sourceTree = ""; }; - DD362C201733D6DA92B1C991A1D848E1 /* SDLVentilationMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVentilationMode.h; path = SmartDeviceLink/SDLVentilationMode.h; sourceTree = ""; }; - DDA8A000811FC9A84FC521DFB363778D /* SDLSystemCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemCapability.m; path = SmartDeviceLink/SDLSystemCapability.m; sourceTree = ""; }; - DE06856700144AF77009C3499398CFCA /* SDLBeltStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLBeltStatus.m; path = SmartDeviceLink/SDLBeltStatus.m; sourceTree = ""; }; - DE3E9DCB5C3B44E5DDCCA5AE939CC761 /* SDLHapticRect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHapticRect.m; path = SmartDeviceLink/SDLHapticRect.m; sourceTree = ""; }; - DE5F0D30FFC8046A07B125AC97BC761A /* SDLVehicleDataStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataStatus.h; path = SmartDeviceLink/SDLVehicleDataStatus.h; sourceTree = ""; }; - DEEAB6F4072864C53ADA2A34D4140A42 /* SDLH264Packetizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLH264Packetizer.h; path = SmartDeviceLink/SDLH264Packetizer.h; sourceTree = ""; }; - DEF6263B1A353E77CC4628F73D3E8BFE /* SDLTouch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouch.h; path = SmartDeviceLink/SDLTouch.h; sourceTree = ""; }; - DF08DBCC86B21FD3CD8850A1B0209110 /* SDLGPSData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGPSData.m; path = SmartDeviceLink/SDLGPSData.m; sourceTree = ""; }; - DF146794DD78E6512EC09AD69226C32D /* SDLOnAudioPassThru.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnAudioPassThru.h; path = SmartDeviceLink/SDLOnAudioPassThru.h; sourceTree = ""; }; - DF1D0C6489D93580B1213CA343FEED5A /* SDLVideoStreamingProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingProtocol.h; path = SmartDeviceLink/SDLVideoStreamingProtocol.h; sourceTree = ""; }; - DF7F7B73BB766A6B1B0AC928F34DBEED /* NSNumber+NumberType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNumber+NumberType.h"; path = "SmartDeviceLink/NSNumber+NumberType.h"; sourceTree = ""; }; - DFA23CD1DAFC1C6BC1955758781331BB /* SDLAudioStreamManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioStreamManager.m; path = SmartDeviceLink/SDLAudioStreamManager.m; sourceTree = ""; }; - E00E82B2FDDE5450373A6B68DFF83D05 /* SDLVentilationMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVentilationMode.m; path = SmartDeviceLink/SDLVentilationMode.m; sourceTree = ""; }; - E014E378A71CF2F7467E7C0D91B50676 /* SDLRadioControlData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRadioControlData.h; path = SmartDeviceLink/SDLRadioControlData.h; sourceTree = ""; }; - E04A89C225FB5A38794A9F01530DD90B /* SDLDeleteCommandResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteCommandResponse.h; path = SmartDeviceLink/SDLDeleteCommandResponse.h; sourceTree = ""; }; - E07E319998669B2011C996E8D3ED0FCE /* SDLProtocolHeader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolHeader.h; path = SmartDeviceLink/SDLProtocolHeader.h; sourceTree = ""; }; - E0830080B8AB02DAF096B377EAC594CF /* SDLEncodedSyncPDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEncodedSyncPDataResponse.m; path = SmartDeviceLink/SDLEncodedSyncPDataResponse.m; sourceTree = ""; }; - E11970A27E84E0CD1D38BA2E305479D1 /* SDLFileManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFileManager.m; path = SmartDeviceLink/SDLFileManager.m; sourceTree = ""; }; - E13F86572A5BE9B01361212CCAB6229C /* SDLPermissionItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPermissionItem.m; path = SmartDeviceLink/SDLPermissionItem.m; sourceTree = ""; }; - E1C266A4271D00B9FCAA045F125CA6A5 /* SDLTouchType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchType.m; path = SmartDeviceLink/SDLTouchType.m; sourceTree = ""; }; - E1EA9D4A4C105DC423931275686586DB /* SDLDimension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDimension.m; path = SmartDeviceLink/SDLDimension.m; sourceTree = ""; }; - E1F60A71792BB10F029D7A5BFB66E483 /* SDLUploadFileOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUploadFileOperation.h; path = SmartDeviceLink/SDLUploadFileOperation.h; sourceTree = ""; }; - E23F09FDE3C15E441660D600136C65A4 /* SDLSoftButtonObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonObject.m; path = SmartDeviceLink/SDLSoftButtonObject.m; sourceTree = ""; }; - E24B888B2F5F389742972494518471C7 /* SDLArtwork.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLArtwork.h; path = SmartDeviceLink/SDLArtwork.h; sourceTree = ""; }; - E25C567D1352E957417B7E2C2209A6E7 /* bson_util.c */ = {isa = PBXFileReference; includeInIndex = 1; name = bson_util.c; path = src/bson_util.c; sourceTree = ""; }; - E2858263BCBC76ADF5C461E5D1C6787B /* SDLImageFieldName.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImageFieldName.h; path = SmartDeviceLink/SDLImageFieldName.h; sourceTree = ""; }; - E310AF9328DB666DC0467DC4EB8721B2 /* SDLButtonPressMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonPressMode.h; path = SmartDeviceLink/SDLButtonPressMode.h; sourceTree = ""; }; - E374E7528E73DAAF629C6DB660B52FD8 /* SDLUpdateMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUpdateMode.h; path = SmartDeviceLink/SDLUpdateMode.h; sourceTree = ""; }; - E380AB39FA8D4B923ECF1024C9FE9C99 /* SDLECallConfirmationStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLECallConfirmationStatus.m; path = SmartDeviceLink/SDLECallConfirmationStatus.m; sourceTree = ""; }; - E38793CCCDF4D529D3577E1CF76E62A3 /* SDLPermissionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionManager.h; path = SmartDeviceLink/SDLPermissionManager.h; sourceTree = ""; }; - E39D364BE104E5017C708F7AC72F2C16 /* SDLClusterModeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLClusterModeStatus.m; path = SmartDeviceLink/SDLClusterModeStatus.m; sourceTree = ""; }; - E40E5842AACE0BA983D4F40295C9908A /* SDLVideoStreamingCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingCapability.h; path = SmartDeviceLink/SDLVideoStreamingCapability.h; sourceTree = ""; }; - E4229DCA3ED077CCCACB02298BC12A53 /* SDLEndAudioPassThruResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEndAudioPassThruResponse.m; path = SmartDeviceLink/SDLEndAudioPassThruResponse.m; sourceTree = ""; }; - E45022426AE6814DAB498D64A32F4630 /* SDLSoftButtonManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonManager.m; path = SmartDeviceLink/SDLSoftButtonManager.m; sourceTree = ""; }; - E475879998C5235EBFEA675E6988BF79 /* SDLUpdateTurnList.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUpdateTurnList.h; path = SmartDeviceLink/SDLUpdateTurnList.h; sourceTree = ""; }; - E5D80FA75D57BECE3D1ECC0362643C7E /* SDLCarModeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCarModeStatus.m; path = SmartDeviceLink/SDLCarModeStatus.m; sourceTree = ""; }; - E7087CBBF1010C5820AB7D9677BCF73E /* SDLDeleteFileOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteFileOperation.m; path = SmartDeviceLink/SDLDeleteFileOperation.m; sourceTree = ""; }; - E7098329CBB9710CE2061A45D4505B5F /* SDLMyKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMyKey.h; path = SmartDeviceLink/SDLMyKey.h; sourceTree = ""; }; - E77E9755653A8340A004A9D4D5BCE907 /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = de.lproj/SDLLockScreen.strings; sourceTree = ""; }; - E82CF9B602124E1C294DC38FEE30779D /* SDLKeyboardEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeyboardEvent.h; path = SmartDeviceLink/SDLKeyboardEvent.h; sourceTree = ""; }; - E904D5D0EE87026CDB3DF00C58F20233 /* SDLControlFramePayloadVideoStartService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadVideoStartService.h; path = SmartDeviceLink/SDLControlFramePayloadVideoStartService.h; sourceTree = ""; }; - E99C28739DF8C2C841D5EA035A4F38F9 /* SDLScrollableMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScrollableMessage.h; path = SmartDeviceLink/SDLScrollableMessage.h; sourceTree = ""; }; - E9C19C2297506216A78B8FD19E13B88F /* SDLOnPermissionsChange.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnPermissionsChange.h; path = SmartDeviceLink/SDLOnPermissionsChange.h; sourceTree = ""; }; - EA6281E5316B7000463004960C9B1502 /* SDLDeleteInteractionChoiceSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteInteractionChoiceSet.m; path = SmartDeviceLink/SDLDeleteInteractionChoiceSet.m; sourceTree = ""; }; - EA9D90BAA9DD698A5DABBA0DC9B4935A /* SDLGetVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetVehicleDataResponse.h; path = SmartDeviceLink/SDLGetVehicleDataResponse.h; sourceTree = ""; }; - EB8E1206C47BA6119BD6B0B5ECDA589E /* SDLGetWayPointsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetWayPointsResponse.h; path = SmartDeviceLink/SDLGetWayPointsResponse.h; sourceTree = ""; }; - EBB7EFEAF1916EEF5741C23A8FC69661 /* SDLIAPTransport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIAPTransport.h; path = SmartDeviceLink/SDLIAPTransport.h; sourceTree = ""; }; - EBD04D7DBFAD84BB9A1395D7F768DFD4 /* SDLDriverDistractionState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDriverDistractionState.m; path = SmartDeviceLink/SDLDriverDistractionState.m; sourceTree = ""; }; - EC25BE118C33FD809971F633AB8FB6BD /* SDLRadioState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRadioState.m; path = SmartDeviceLink/SDLRadioState.m; sourceTree = ""; }; - EC3F08EE2CD565D720904FEAEC0D64A9 /* SDLTriggerSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTriggerSource.h; path = SmartDeviceLink/SDLTriggerSource.h; sourceTree = ""; }; - ECFC2A9D93FA3B254263D5223C63C6F6 /* SDLClimateControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLClimateControlCapabilities.m; path = SmartDeviceLink/SDLClimateControlCapabilities.m; sourceTree = ""; }; - ED6FF8839A14B00010BC6288B9624634 /* SDLSequentialRPCRequestOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSequentialRPCRequestOperation.h; path = SmartDeviceLink/SDLSequentialRPCRequestOperation.h; sourceTree = ""; }; - ED918E99F9CDDA35A51ACE73C86332AD /* SDLAsynchronousRPCRequestOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAsynchronousRPCRequestOperation.h; path = SmartDeviceLink/SDLAsynchronousRPCRequestOperation.h; sourceTree = ""; }; - ED94EE7F7AE5652075F97AC5DA30FBE4 /* SDLFileWrapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileWrapper.h; path = SmartDeviceLink/SDLFileWrapper.h; sourceTree = ""; }; - EDA762D0A95A168C4AE1F43F013D2207 /* SDLKeyboardProperties.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLKeyboardProperties.m; path = SmartDeviceLink/SDLKeyboardProperties.m; sourceTree = ""; }; - EDDEE260D714214C190275C1272D9E01 /* SDLV1ProtocolMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLV1ProtocolMessage.m; path = SmartDeviceLink/SDLV1ProtocolMessage.m; sourceTree = ""; }; - EDEB82467E0A44526D8BD7AC21CEEDD2 /* SDLHMIPermissions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMIPermissions.h; path = SmartDeviceLink/SDLHMIPermissions.h; sourceTree = ""; }; - EE1C3562DA4E895817279B70AA6EA929 /* SDLMediaClockFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMediaClockFormat.h; path = SmartDeviceLink/SDLMediaClockFormat.h; sourceTree = ""; }; - EE35E9F428033D9EC428FEB668D4F46E /* SDLFunctionID.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFunctionID.m; path = SmartDeviceLink/SDLFunctionID.m; sourceTree = ""; }; - EEFD2066E52DD602AAA575BDF9055F16 /* SDLAddCommandResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAddCommandResponse.m; path = SmartDeviceLink/SDLAddCommandResponse.m; sourceTree = ""; }; - EF22D71D450DE89713FB00BFE26A4D16 /* SDLOnLanguageChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnLanguageChange.m; path = SmartDeviceLink/SDLOnLanguageChange.m; sourceTree = ""; }; - EF84E5E0417123EA9547B3D2EF005228 /* SDLFocusableItemLocatorType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFocusableItemLocatorType.h; path = SmartDeviceLink/SDLFocusableItemLocatorType.h; sourceTree = ""; }; - EFB9F9609C22E4B7BF9D0005B62721A7 /* SDLDeleteCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteCommand.h; path = SmartDeviceLink/SDLDeleteCommand.h; sourceTree = ""; }; - EFD239FBB2DD93E728C2780153BF7DD7 /* SDLFocusableItemHitTester.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFocusableItemHitTester.h; path = SmartDeviceLink/SDLFocusableItemHitTester.h; sourceTree = ""; }; - F0120A7DCE5397980E026857907343F3 /* SDLStreamingMediaManagerDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaManagerDataSource.h; path = SmartDeviceLink/SDLStreamingMediaManagerDataSource.h; sourceTree = ""; }; - F01AFA438715DD6B89E6C8DB654661EC /* SDLDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeviceInfo.m; path = SmartDeviceLink/SDLDeviceInfo.m; sourceTree = ""; }; - F1693BEB3C83A863E8B1ABA7AB6851E0 /* SDLUnsubscribeVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeVehicleDataResponse.m; path = SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m; sourceTree = ""; }; - F173221D8E4235A2D8B5AD075F453627 /* Pods-MobileWeather-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MobileWeather-frameworks.sh"; sourceTree = ""; }; - F17536C61FD715A0D7CB30EC8F782F04 /* SDLOnInteriorVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnInteriorVehicleData.h; path = SmartDeviceLink/SDLOnInteriorVehicleData.h; sourceTree = ""; }; - F17B4208C42DBF959BB95E9AC02FC9B0 /* SDLRadioBand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRadioBand.h; path = SmartDeviceLink/SDLRadioBand.h; sourceTree = ""; }; - F17D28D70B54F81E375B0A42DAEAD159 /* SDLVideoStreamingFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingFormat.h; path = SmartDeviceLink/SDLVideoStreamingFormat.h; sourceTree = ""; }; - F17E04D9CC6C667358EFD35214337C18 /* SDLGetSystemCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetSystemCapability.h; path = SmartDeviceLink/SDLGetSystemCapability.h; sourceTree = ""; }; - F1971DBC4CAD14FBA85B5D7067A66E58 /* NSMutableDictionary+Store.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableDictionary+Store.m"; path = "SmartDeviceLink/NSMutableDictionary+Store.m"; sourceTree = ""; }; - F1C3A65D590BC50EEDBCBAB6EFD30E02 /* SDLGetInteriorVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetInteriorVehicleData.m; path = SmartDeviceLink/SDLGetInteriorVehicleData.m; sourceTree = ""; }; - F1CE8E38CC0A35EB034CA9B426FABE32 /* SDLProtocolMessageDisassembler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolMessageDisassembler.m; path = SmartDeviceLink/SDLProtocolMessageDisassembler.m; sourceTree = ""; }; - F2584D4117248CC8603C9A4C307D216D /* SDLProxyFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProxyFactory.h; path = SmartDeviceLink/SDLProxyFactory.h; sourceTree = ""; }; - F31E174CB1792219125E54F8B9533A4F /* SDLLogFileModule.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogFileModule.h; path = SmartDeviceLink/SDLLogFileModule.h; sourceTree = ""; }; - F32BCFC28BCA916D5751770CA5898681 /* SDLAddSubMenuResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAddSubMenuResponse.m; path = SmartDeviceLink/SDLAddSubMenuResponse.m; sourceTree = ""; }; - F3BD2463732FE6741B7C7C37D48A6EFF /* SDLHMICapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMICapabilities.m; path = SmartDeviceLink/SDLHMICapabilities.m; sourceTree = ""; }; - F423A4D41C403A561BBABC910E54EB64 /* SDLButtonName.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonName.m; path = SmartDeviceLink/SDLButtonName.m; sourceTree = ""; }; - F42BBD650C7CC3DEBE8CD308BB39AE5E /* SDLStreamingMediaLifecycleManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaLifecycleManager.h; path = SmartDeviceLink/SDLStreamingMediaLifecycleManager.h; sourceTree = ""; }; - F4403D536EF76F56B835F372397325F4 /* SDLIAPSessionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIAPSessionDelegate.h; path = SmartDeviceLink/SDLIAPSessionDelegate.h; sourceTree = ""; }; - F46B1EF990F7A15519C629B25124037A /* SDLSamplingRate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSamplingRate.h; path = SmartDeviceLink/SDLSamplingRate.h; sourceTree = ""; }; - F47CC482639AA5208054B8F2AB0772E2 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - F4B6540A3F6F37B284413AB5F815EB18 /* CGPoint_Util.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CGPoint_Util.m; path = SmartDeviceLink/CGPoint_Util.m; sourceTree = ""; }; - F4D5A5FA278FF82624055660881C5214 /* SDLSetAppIconResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetAppIconResponse.h; path = SmartDeviceLink/SDLSetAppIconResponse.h; sourceTree = ""; }; - F54C04F38D1176A1FAF7CBD92E0BA173 /* Pods-MobileWeather-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MobileWeather-dummy.m"; sourceTree = ""; }; + 93CA586E7AC09FB55D500BAEB4C79347 /* SDLLightCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLightCapabilities.m; path = SmartDeviceLink/SDLLightCapabilities.m; sourceTree = ""; }; + 94AD2AEEC4EEEC528DD817E891BE3839 /* SDLHMIPermissions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMIPermissions.m; path = SmartDeviceLink/SDLHMIPermissions.m; sourceTree = ""; }; + 94DAE9A99EFED4688FE48863309B3153 /* SDLSystemAction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemAction.m; path = SmartDeviceLink/SDLSystemAction.m; sourceTree = ""; }; + 94ED036BFFFEB6CED0F8ABC49FB84C64 /* SDLPrerecordedSpeech.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPrerecordedSpeech.m; path = SmartDeviceLink/SDLPrerecordedSpeech.m; sourceTree = ""; }; + 9520607250C0D896688E594437D291D7 /* SDLDisplayMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDisplayMode.h; path = SmartDeviceLink/SDLDisplayMode.h; sourceTree = ""; }; + 954E4D3766D011A3C490F60A4060E2DD /* SDLMenuManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMenuManager.h; path = SmartDeviceLink/SDLMenuManager.h; sourceTree = ""; }; + 9573AD1DA7DB44D2BDFDA84EF4F972F5 /* SDLFuelRange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFuelRange.m; path = SmartDeviceLink/SDLFuelRange.m; sourceTree = ""; }; + 95A201BA4F4CA5F7F7471FC21C318016 /* SDLRPCNotificationNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCNotificationNotification.h; path = SmartDeviceLink/SDLRPCNotificationNotification.h; sourceTree = ""; }; + 95CBE58570B12C86B075BF40F1D826A5 /* SDLVoiceCommandManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVoiceCommandManager.m; path = SmartDeviceLink/SDLVoiceCommandManager.m; sourceTree = ""; }; + 962BB9FDAFCD322B51AFEAA3F30F88C5 /* SDLVehicleDataResultCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataResultCode.h; path = SmartDeviceLink/SDLVehicleDataResultCode.h; sourceTree = ""; }; + 96F0A1F8DFCA64ED227E5510C6C3B7E6 /* SDLControlFramePayloadRPCStartService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadRPCStartService.h; path = SmartDeviceLink/SDLControlFramePayloadRPCStartService.h; sourceTree = ""; }; + 9736F1C92404CB74F50FE38E6AEDCCA9 /* SDLOnTouchEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnTouchEvent.m; path = SmartDeviceLink/SDLOnTouchEvent.m; sourceTree = ""; }; + 97A2BB0456C152B5DCFAA29084C974C2 /* Pods-MobileWeather-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-MobileWeather-umbrella.h"; sourceTree = ""; }; + 97E65B30099BCC7FCE9EE35C4557EFB7 /* SDLVoiceCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVoiceCommand.m; path = SmartDeviceLink/SDLVoiceCommand.m; sourceTree = ""; }; + 987EA3558DD5290384A844B45E024E3F /* SDLPerformAudioPassThru.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPerformAudioPassThru.h; path = SmartDeviceLink/SDLPerformAudioPassThru.h; sourceTree = ""; }; + 98B6D6A6F9EE01A14C26E8C787AEE11B /* NSMutableDictionary+SafeRemove.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableDictionary+SafeRemove.m"; path = "SmartDeviceLink/NSMutableDictionary+SafeRemove.m"; sourceTree = ""; }; + 98BB477077ECCB5F159C026896A7ED82 /* SDLControlFramePayloadType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadType.h; path = SmartDeviceLink/SDLControlFramePayloadType.h; sourceTree = ""; }; + 98C4256ECA504E1CC027AB912D1F64E6 /* SDLVehicleDataType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataType.m; path = SmartDeviceLink/SDLVehicleDataType.m; sourceTree = ""; }; + 9919BFC927D3E2CF081C66079A4CF0CE /* SDLDisplayCapabilities+ShowManagerExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SDLDisplayCapabilities+ShowManagerExtensions.h"; path = "SmartDeviceLink/SDLDisplayCapabilities+ShowManagerExtensions.h"; sourceTree = ""; }; + 9929B63756D6EFC654DDAE86E9C357D8 /* SDLUnsubscribeButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeButton.m; path = SmartDeviceLink/SDLUnsubscribeButton.m; sourceTree = ""; }; + 9A5E8DF4DFE51C93135F6D5D75D9EC8C /* SDLHeadLampStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHeadLampStatus.h; path = SmartDeviceLink/SDLHeadLampStatus.h; sourceTree = ""; }; + 9AE500F1F2C18FA80AF0901CBBAF168A /* SDLParameterPermissions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLParameterPermissions.h; path = SmartDeviceLink/SDLParameterPermissions.h; sourceTree = ""; }; + 9B40A91D25C52B221AA22FCE5737BFC4 /* SDLV2ProtocolMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLV2ProtocolMessage.h; path = SmartDeviceLink/SDLV2ProtocolMessage.h; sourceTree = ""; }; + 9B77D58B46BB335AF89C58EAF72BD997 /* SDLTemplateColorScheme.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTemplateColorScheme.h; path = SmartDeviceLink/SDLTemplateColorScheme.h; sourceTree = ""; }; + 9BB88EEF32E4A188F028653388F389D5 /* SDLRPCMessageType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCMessageType.h; path = SmartDeviceLink/SDLRPCMessageType.h; sourceTree = ""; }; + 9BCEE3F9721D24A5D1B1C3F3B4AEFAB3 /* SDLFileManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileManager.h; path = SmartDeviceLink/SDLFileManager.h; sourceTree = ""; }; + 9C1ACD7149C1EA7C8D901437F63FF9B4 /* SDLRPCStruct.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCStruct.m; path = SmartDeviceLink/SDLRPCStruct.m; sourceTree = ""; }; + 9CD60AA200C1EA24343193DA9F81F600 /* SDLPermissionFilter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionFilter.h; path = SmartDeviceLink/SDLPermissionFilter.h; sourceTree = ""; }; + 9D3D807D79D5970559544493C272AA4D /* SDLEndAudioPassThru.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEndAudioPassThru.h; path = SmartDeviceLink/SDLEndAudioPassThru.h; sourceTree = ""; }; + 9DB23C1F5BDF1F27A2D1917F3EAAC433 /* SDLWayPointType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLWayPointType.m; path = SmartDeviceLink/SDLWayPointType.m; sourceTree = ""; }; + 9E1A67020D9B2731251C24228133ACB1 /* SDLGetInteriorVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetInteriorVehicleData.h; path = SmartDeviceLink/SDLGetInteriorVehicleData.h; sourceTree = ""; }; + 9E365ECDA4C5949303D4269A4E6C1025 /* SDLTextField.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTextField.h; path = SmartDeviceLink/SDLTextField.h; sourceTree = ""; }; + 9F05AA929B1AB82280E5802A1D843594 /* SDLPermissionItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionItem.h; path = SmartDeviceLink/SDLPermissionItem.h; sourceTree = ""; }; + 9F7FA38B067052115C9348DF8CDA8246 /* SDLCarWindowViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCarWindowViewController.h; path = SmartDeviceLink/SDLCarWindowViewController.h; sourceTree = ""; }; + 9FF46BF4BEB8FEB342F1AD40824347D9 /* SDLLogTargetFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogTargetFile.m; path = SmartDeviceLink/SDLLogTargetFile.m; sourceTree = ""; }; + A0A1B2614785041917BE4112674DC25B /* SDLOnCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnCommand.m; path = SmartDeviceLink/SDLOnCommand.m; sourceTree = ""; }; + A13F7104F602D8CCF55BE328CCAF9BAC /* SDLSendHapticDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSendHapticDataResponse.h; path = SmartDeviceLink/SDLSendHapticDataResponse.h; sourceTree = ""; }; + A2307C9E899AF5180AD1093475004295 /* SDLGenericResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGenericResponse.h; path = SmartDeviceLink/SDLGenericResponse.h; sourceTree = ""; }; + A28C591186F83E65852201939A6CE8E2 /* SDLFileManagerConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileManagerConstants.h; path = SmartDeviceLink/SDLFileManagerConstants.h; sourceTree = ""; }; + A2A0B72BF01B26F54F317403448BC95C /* SDLProxyListener.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProxyListener.h; path = SmartDeviceLink/SDLProxyListener.h; sourceTree = ""; }; + A2FA6D88BF0D8BE275F4AF2C7C117908 /* SDLSystemContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemContext.h; path = SmartDeviceLink/SDLSystemContext.h; sourceTree = ""; }; + A30B036CAB80CB3556CC6DCC329BAF82 /* SDLDiagnosticMessageResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDiagnosticMessageResponse.m; path = SmartDeviceLink/SDLDiagnosticMessageResponse.m; sourceTree = ""; }; + A327553C1C9C5ABD7E4229FEC523EB59 /* SDLPresentChoiceSetOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPresentChoiceSetOperation.h; path = SmartDeviceLink/SDLPresentChoiceSetOperation.h; sourceTree = ""; }; + A37889971568605D482199E64332631D /* SDLDiagnosticMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDiagnosticMessage.m; path = SmartDeviceLink/SDLDiagnosticMessage.m; sourceTree = ""; }; + A50DEDE3CBA973F53236F30FA2FAB778 /* SDLPRNDL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPRNDL.h; path = SmartDeviceLink/SDLPRNDL.h; sourceTree = ""; }; + A5621B5B05BA15084E7A134229CADA90 /* SDLAirbagStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAirbagStatus.h; path = SmartDeviceLink/SDLAirbagStatus.h; sourceTree = ""; }; + A56B12620457866F3F66271757C255A6 /* SDLTPMS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTPMS.h; path = SmartDeviceLink/SDLTPMS.h; sourceTree = ""; }; + A57F6B056F41644C1EB503B9714738C9 /* SDLRadioState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRadioState.h; path = SmartDeviceLink/SDLRadioState.h; sourceTree = ""; }; + A589684F65F9FCA9FE1606A5A4DA449B /* SDLRPCMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCMessage.h; path = SmartDeviceLink/SDLRPCMessage.h; sourceTree = ""; }; + A67726019D1949E4970552C764865F6C /* SDLFileType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileType.h; path = SmartDeviceLink/SDLFileType.h; sourceTree = ""; }; + A68DAFDC8E8417E2C745B8ADDB5AF994 /* SDLError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLError.m; path = SmartDeviceLink/SDLError.m; sourceTree = ""; }; + A6E4EB5AC1D8300869EFD910BC546776 /* SDLAudioFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioFile.m; path = SmartDeviceLink/SDLAudioFile.m; sourceTree = ""; }; + A6FFAA2E640CE5022DD2D19F7DCD3DE6 /* SDLEmergencyEventType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEmergencyEventType.m; path = SmartDeviceLink/SDLEmergencyEventType.m; sourceTree = ""; }; + A796FF7557DEDC03B40E84FCABF5003C /* SDLPutFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPutFileResponse.m; path = SmartDeviceLink/SDLPutFileResponse.m; sourceTree = ""; }; + A798CD52B9A6DE6399FEEDE186FB0D3C /* SDLCarWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCarWindow.m; path = SmartDeviceLink/SDLCarWindow.m; sourceTree = ""; }; + A7F77770D5D28F7FF7EEFD4A3C75F542 /* SDLECallConfirmationStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLECallConfirmationStatus.m; path = SmartDeviceLink/SDLECallConfirmationStatus.m; sourceTree = ""; }; + A7FD95DAB1B56B5CF9E3A6EE3B3987B2 /* SDLLifecycleConfigurationUpdate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLifecycleConfigurationUpdate.h; path = SmartDeviceLink/SDLLifecycleConfigurationUpdate.h; sourceTree = ""; }; + A865F676AEF73BD55A0E77571040471F /* dispatch_timer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = dispatch_timer.h; path = SmartDeviceLink/dispatch_timer.h; sourceTree = ""; }; + A8713C1D0690D8AB53FDAB90435E668F /* SDLHMILevel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMILevel.m; path = SmartDeviceLink/SDLHMILevel.m; sourceTree = ""; }; + A874BEFEF52CB9BA5367A462CDEEADAF /* SDLEqualizerSettings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEqualizerSettings.h; path = SmartDeviceLink/SDLEqualizerSettings.h; sourceTree = ""; }; + A875DFABA35DCF8BD7D48B371863A251 /* SmartDeviceLink.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SmartDeviceLink.xcconfig; sourceTree = ""; }; + A89A9EFD2D36F49E08C182ABDCE2991F /* SDLVehicleType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleType.h; path = SmartDeviceLink/SDLVehicleType.h; sourceTree = ""; }; + A8A0243D063C6F7BCF41557EE5E3C603 /* SDLOnDriverDistraction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnDriverDistraction.m; path = SmartDeviceLink/SDLOnDriverDistraction.m; sourceTree = ""; }; + A97DB73B7402B15C06515BCEE78C9981 /* SDLChoiceSetDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChoiceSetDelegate.h; path = SmartDeviceLink/SDLChoiceSetDelegate.h; sourceTree = ""; }; + A98FE233CFB9499820D654F8CB8D34A1 /* SDLOnAppInterfaceUnregistered.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnAppInterfaceUnregistered.h; path = SmartDeviceLink/SDLOnAppInterfaceUnregistered.h; sourceTree = ""; }; + A99C0C1B0419FF7C520596517AACCC34 /* SDLControlFramePayloadRPCStartServiceAck.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadRPCStartServiceAck.h; path = SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.h; sourceTree = ""; }; + A9DB741242CF4886179C79D2927C6839 /* SDLDeleteSubMenuResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteSubMenuResponse.m; path = SmartDeviceLink/SDLDeleteSubMenuResponse.m; sourceTree = ""; }; + A9F36B56817FFB9EC0DC7EB9A60CABAC /* SDLOnSyncPData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnSyncPData.m; path = SmartDeviceLink/SDLOnSyncPData.m; sourceTree = ""; }; + AA16F714E4ACF048C908C32836C32AAD /* SDLUnsubscribeVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeVehicleDataResponse.h; path = SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h; sourceTree = ""; }; + AA20B3EE1581C1E1FB217AFBA2AC5289 /* SDLRadioControlData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRadioControlData.h; path = SmartDeviceLink/SDLRadioControlData.h; sourceTree = ""; }; + AA7BA22D55AB85BB5FCC2ADEC30BD838 /* SDLLogManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogManager.m; path = SmartDeviceLink/SDLLogManager.m; sourceTree = ""; }; + AA8E57A241FA68D63DC62680BD9828FB /* SDLClusterModeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLClusterModeStatus.h; path = SmartDeviceLink/SDLClusterModeStatus.h; sourceTree = ""; }; + AAD0EC0A506E96A234F58256C7B4B0E9 /* SDLRPCStruct.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCStruct.h; path = SmartDeviceLink/SDLRPCStruct.h; sourceTree = ""; }; + AADF6CC67DB541A26C867733BFB837C3 /* SDLSetInteriorVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetInteriorVehicleData.h; path = SmartDeviceLink/SDLSetInteriorVehicleData.h; sourceTree = ""; }; + AB48679EACAE70BB29A1B43C2AA11F08 /* SDLProtocolListener.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolListener.h; path = SmartDeviceLink/SDLProtocolListener.h; sourceTree = ""; }; + AB71670E1D39EA195F20599D06B93C3C /* SDLSyncMsgVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSyncMsgVersion.m; path = SmartDeviceLink/SDLSyncMsgVersion.m; sourceTree = ""; }; + AB8C3882B2F5BCE64AF823BEAC3DBE49 /* SDLControlFramePayloadTransportEventUpdate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadTransportEventUpdate.m; path = SmartDeviceLink/SDLControlFramePayloadTransportEventUpdate.m; sourceTree = ""; }; + ABA99CE85C327FFAD4C981FC5CF3D003 /* SDLWarningLightStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLWarningLightStatus.h; path = SmartDeviceLink/SDLWarningLightStatus.h; sourceTree = ""; }; + ABE9C5E4BE504C29DCF7CF015D462C41 /* SDLGetSystemCapabilityResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetSystemCapabilityResponse.m; path = SmartDeviceLink/SDLGetSystemCapabilityResponse.m; sourceTree = ""; }; + AC02E9CDA5B401505FF227E9903BE9FE /* SDLCreateInteractionChoiceSetResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCreateInteractionChoiceSetResponse.h; path = SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h; sourceTree = ""; }; + AD448DE63DDE2D4588D5BCFF9FF3CED6 /* SDLVehicleDataEventStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataEventStatus.m; path = SmartDeviceLink/SDLVehicleDataEventStatus.m; sourceTree = ""; }; + AD6E04FFE3A2EB19E5F08CB202D45045 /* SDLUpdateMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUpdateMode.h; path = SmartDeviceLink/SDLUpdateMode.h; sourceTree = ""; }; + ADACFA394C1A41666990BA02285C1D35 /* SDLAudioType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioType.m; path = SmartDeviceLink/SDLAudioType.m; sourceTree = ""; }; + ADD61F9CDD3CE6E6EC48EDEFE524E4CD /* SDLAddSubMenuResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAddSubMenuResponse.m; path = SmartDeviceLink/SDLAddSubMenuResponse.m; sourceTree = ""; }; + AE2A8A0E7CAEFE4B324B71C286DAE1CC /* SDLSamplingRate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSamplingRate.h; path = SmartDeviceLink/SDLSamplingRate.h; sourceTree = ""; }; + AE3FF30889101C49187282BA51A8910E /* SDLAmbientLightStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAmbientLightStatus.h; path = SmartDeviceLink/SDLAmbientLightStatus.h; sourceTree = ""; }; + AE4BF1C901C2B8B8492E917831A635EE /* SDLAudioControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioControlCapabilities.m; path = SmartDeviceLink/SDLAudioControlCapabilities.m; sourceTree = ""; }; + AFBBA4412E591D0464CD86B12758A2D7 /* SDLDeleteCommandResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteCommandResponse.m; path = SmartDeviceLink/SDLDeleteCommandResponse.m; sourceTree = ""; }; + AFF7A262EAE52FF8DBB294F33EA13B91 /* SDLCarWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCarWindow.h; path = SmartDeviceLink/SDLCarWindow.h; sourceTree = ""; }; + B000BF1A6DCDCB42234749078E5855ED /* SDLHMILevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMILevel.h; path = SmartDeviceLink/SDLHMILevel.h; sourceTree = ""; }; + B024EAAE8FE8613F0B95316436C6A9C6 /* SDLBeltStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLBeltStatus.m; path = SmartDeviceLink/SDLBeltStatus.m; sourceTree = ""; }; + B0278E68A80F390A91516CE230C9B3CC /* SDLConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLConfiguration.h; path = SmartDeviceLink/SDLConfiguration.h; sourceTree = ""; }; + B03B3A058C9D0BF765F99E1614A30742 /* SDLDeleteInteractionChoiceSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteInteractionChoiceSet.h; path = SmartDeviceLink/SDLDeleteInteractionChoiceSet.h; sourceTree = ""; }; + B0CF7AD880B807C0CCA2FC1036A68225 /* SDLBitsPerSample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLBitsPerSample.m; path = SmartDeviceLink/SDLBitsPerSample.m; sourceTree = ""; }; + B10C0BDDE44A8F647B3972B9E54F2BC1 /* SDLShowConstantTBTResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLShowConstantTBTResponse.m; path = SmartDeviceLink/SDLShowConstantTBTResponse.m; sourceTree = ""; }; + B13627FB4B377D445F3A6608F656BE31 /* SDLTouchCoord.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTouchCoord.m; path = SmartDeviceLink/SDLTouchCoord.m; sourceTree = ""; }; + B1F9BC84E7389BF23179BED225E2CA39 /* SDLPinchGesture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPinchGesture.h; path = SmartDeviceLink/SDLPinchGesture.h; sourceTree = ""; }; + B1FDA204D0296A51FBA17788E5FA5502 /* SDLProtocolMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolMessage.m; path = SmartDeviceLink/SDLProtocolMessage.m; sourceTree = ""; }; + B2743E673B8A8B1412F3ACA1B22E27C9 /* SDLPowerModeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPowerModeStatus.h; path = SmartDeviceLink/SDLPowerModeStatus.h; sourceTree = ""; }; + B2B07452EB490C836759502C767F6B41 /* CVPixelBufferRef+SDLUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CVPixelBufferRef+SDLUtil.h"; path = "SmartDeviceLink/CVPixelBufferRef+SDLUtil.h"; sourceTree = ""; }; + B302FF2683670AE1F2DDF27585C514DA /* SDLRPCRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCRequest.h; path = SmartDeviceLink/SDLRPCRequest.h; sourceTree = ""; }; + B30D5145EB60AD2060C601A064F64A2C /* SDLSpeechCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSpeechCapabilities.m; path = SmartDeviceLink/SDLSpeechCapabilities.m; sourceTree = ""; }; + B30EC6A6FFDC546EAEF3EC9419433DB1 /* SDLElectronicParkBrakeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLElectronicParkBrakeStatus.h; path = SmartDeviceLink/SDLElectronicParkBrakeStatus.h; sourceTree = ""; }; + B328DA9E16288A04E1F8DF443AC85626 /* SDLVideoStreamingCodec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingCodec.m; path = SmartDeviceLink/SDLVideoStreamingCodec.m; sourceTree = ""; }; + B39C5ADFF010CF8A14C3BEA134F54E7A /* SDLSeatMemoryAction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSeatMemoryAction.m; path = SmartDeviceLink/SDLSeatMemoryAction.m; sourceTree = ""; }; + B3CAD82552831383429D5BFA74D39E8F /* SDLDeliveryMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeliveryMode.h; path = SmartDeviceLink/SDLDeliveryMode.h; sourceTree = ""; }; + B40BF1C57B79394267C903C5D78EBDC9 /* SDLDefrostZone.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDefrostZone.h; path = SmartDeviceLink/SDLDefrostZone.h; sourceTree = ""; }; + B4154878A32585ABCD9B57764494D6F8 /* SDLOnKeyboardInput.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnKeyboardInput.h; path = SmartDeviceLink/SDLOnKeyboardInput.h; sourceTree = ""; }; + B4199F609394E04D0432D522B8AC2E3C /* SDLAlertManeuverResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAlertManeuverResponse.h; path = SmartDeviceLink/SDLAlertManeuverResponse.h; sourceTree = ""; }; + B42D746070F0FB7F229FC805F63C7474 /* SDLDisplayType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDisplayType.h; path = SmartDeviceLink/SDLDisplayType.h; sourceTree = ""; }; + B455A6928538C43FF4BD1C7049CC4968 /* SDLLogConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogConfiguration.m; path = SmartDeviceLink/SDLLogConfiguration.m; sourceTree = ""; }; + B460414DB680F6055A83A1A74CFC1737 /* SDLNotificationConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLNotificationConstants.m; path = SmartDeviceLink/SDLNotificationConstants.m; sourceTree = ""; }; + B4B24D0A8CF05DE6367A50C62E6BB4D3 /* SDLMassageModeData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMassageModeData.m; path = SmartDeviceLink/SDLMassageModeData.m; sourceTree = ""; }; + B5429C05F82922A34D6A265163EECD6B /* NSMutableDictionary+SafeRemove.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableDictionary+SafeRemove.h"; path = "SmartDeviceLink/NSMutableDictionary+SafeRemove.h"; sourceTree = ""; }; + B588660C306C440BCD16E23BC80F8D14 /* SDLScreenManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScreenManager.m; path = SmartDeviceLink/SDLScreenManager.m; sourceTree = ""; }; + B5B713A7888C5CA5C3D01DB96C67E877 /* bson_util.c */ = {isa = PBXFileReference; includeInIndex = 1; name = bson_util.c; path = src/bson_util.c; sourceTree = ""; }; + B6358C7513C0DFC92C417EFC736F3DAF /* SDLFocusableItemLocator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFocusableItemLocator.m; path = SmartDeviceLink/SDLFocusableItemLocator.m; sourceTree = ""; }; + B64DC108EFD38FF6AD0FFFF15424C17C /* SDLV2ProtocolMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLV2ProtocolMessage.m; path = SmartDeviceLink/SDLV2ProtocolMessage.m; sourceTree = ""; }; + B67E7C32818DC46A3AEFD981A52B59B4 /* SDLPermissionStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionStatus.h; path = SmartDeviceLink/SDLPermissionStatus.h; sourceTree = ""; }; + B6888E9AC86CB09F600E2D4D38162348 /* SDLSendHapticDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSendHapticDataResponse.m; path = SmartDeviceLink/SDLSendHapticDataResponse.m; sourceTree = ""; }; + B6AFFD1A7B3E62B4C607E8E8C4787F6D /* SDLLockScreenConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenConfiguration.h; path = SmartDeviceLink/SDLLockScreenConfiguration.h; sourceTree = ""; }; + B6FB23E870874A2EEBD8388FECD14E7E /* SDLDIDResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDIDResult.m; path = SmartDeviceLink/SDLDIDResult.m; sourceTree = ""; }; + B7498C244FC10C66AF473A338A62111B /* SDLListFilesResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLListFilesResponse.h; path = SmartDeviceLink/SDLListFilesResponse.h; sourceTree = ""; }; + B783979D82B11AE5D445D43DAC75137B /* SDLMassageZone.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMassageZone.h; path = SmartDeviceLink/SDLMassageZone.h; sourceTree = ""; }; + B80235ABD0E305BBF739141DD04FBCB5 /* SDLDialNumber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDialNumber.m; path = SmartDeviceLink/SDLDialNumber.m; sourceTree = ""; }; + B8054C0141274D800ABEAD4C1769C950 /* SDLModuleType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLModuleType.h; path = SmartDeviceLink/SDLModuleType.h; sourceTree = ""; }; + B82BD5CA32CF72B71EEE56763F38464A /* SDLVideoStreamingCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingCapability.m; path = SmartDeviceLink/SDLVideoStreamingCapability.m; sourceTree = ""; }; + B836FFAC43577369039BC81E89BD1E84 /* SDLSetInteriorVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetInteriorVehicleDataResponse.m; path = SmartDeviceLink/SDLSetInteriorVehicleDataResponse.m; sourceTree = ""; }; + B8384F01A1AD1A5CBF97162B333FFE87 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B9171F06491C70DE50D2DDEFFA1DCA85 /* SDLSyncMsgVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSyncMsgVersion.h; path = SmartDeviceLink/SDLSyncMsgVersion.h; sourceTree = ""; }; + B92B564AB97FF0351E59B770E4461D59 /* SDLRadioBand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRadioBand.m; path = SmartDeviceLink/SDLRadioBand.m; sourceTree = ""; }; + B96911424DB8E68C3F7A172EE62500E1 /* SDLUnregisterAppInterface.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnregisterAppInterface.m; path = SmartDeviceLink/SDLUnregisterAppInterface.m; sourceTree = ""; }; + BA2F928FB28C5D2FA571B57A0D084BAA /* SDLProtocolConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolConstants.h; path = SmartDeviceLink/SDLProtocolConstants.h; sourceTree = ""; }; + BA3A24BAD4F7C9627E27A09F459982DE /* SDLSubscribeVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeVehicleDataResponse.m; path = SmartDeviceLink/SDLSubscribeVehicleDataResponse.m; sourceTree = ""; }; + BA9299EB84229285AD544DBE93805F19 /* SDLControlFramePayloadAudioStartServiceAck.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadAudioStartServiceAck.m; path = SmartDeviceLink/SDLControlFramePayloadAudioStartServiceAck.m; sourceTree = ""; }; + BAE73359DCF96D79A92A9621B8D305A0 /* SDLSendLocationResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSendLocationResponse.h; path = SmartDeviceLink/SDLSendLocationResponse.h; sourceTree = ""; }; + BB5F7AF6EB7A651AA9025D03B433AF00 /* SDLUnregisterAppInterface.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnregisterAppInterface.h; path = SmartDeviceLink/SDLUnregisterAppInterface.h; sourceTree = ""; }; + BB6B9ADD337536D62D71C55DC701BE17 /* SDLLightCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLightCapabilities.h; path = SmartDeviceLink/SDLLightCapabilities.h; sourceTree = ""; }; + BB6E2F8ABEE4FC81BB4C0673B65E197F /* SDLOnHashChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnHashChange.m; path = SmartDeviceLink/SDLOnHashChange.m; sourceTree = ""; }; + BBAD9286CA8D2CD34A4301E140079EFA /* SDLImageType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImageType.m; path = SmartDeviceLink/SDLImageType.m; sourceTree = ""; }; + BBC3AEA3C7164BC2E9913A9CFF16E8F8 /* SDLUpdateTurnListResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUpdateTurnListResponse.m; path = SmartDeviceLink/SDLUpdateTurnListResponse.m; sourceTree = ""; }; + BBD5269E6005271A97672076F3C57620 /* SDLControlFramePayloadVideoStartService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadVideoStartService.m; path = SmartDeviceLink/SDLControlFramePayloadVideoStartService.m; sourceTree = ""; }; + BC44F67089678BF264AE9F4517976CE3 /* SDLPreloadChoicesOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPreloadChoicesOperation.m; path = SmartDeviceLink/SDLPreloadChoicesOperation.m; sourceTree = ""; }; + BC6C48BDF26AFE82AA25DF3EC54ECACA /* SDLRPCNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRPCNotification.h; path = SmartDeviceLink/SDLRPCNotification.h; sourceTree = ""; }; + BCDC250868911E64709B0E0D0CBD42E4 /* SDLLockScreenConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenConfiguration.m; path = SmartDeviceLink/SDLLockScreenConfiguration.m; sourceTree = ""; }; + BCECF54BBC67A7DBB0AC2A441E7A7E88 /* SDLGlobals.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGlobals.h; path = SmartDeviceLink/SDLGlobals.h; sourceTree = ""; }; + BD56DFEDFD0199DD5616B314968F8800 /* SDLDefrostZone.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDefrostZone.m; path = SmartDeviceLink/SDLDefrostZone.m; sourceTree = ""; }; + BD5E9F1868C5EA8FF16DD817FCC2983B /* SDLChoiceSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChoiceSet.h; path = SmartDeviceLink/SDLChoiceSet.h; sourceTree = ""; }; + BD63D162A710F26E0171321EA5F2591C /* SDLSyncPDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSyncPDataResponse.m; path = SmartDeviceLink/SDLSyncPDataResponse.m; sourceTree = ""; }; + BD7E70381BF9886C592D42AAACE7D474 /* SDLUnsubscribeWayPointsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeWayPointsResponse.m; path = SmartDeviceLink/SDLUnsubscribeWayPointsResponse.m; sourceTree = ""; }; + BD9F491F208EEC3102D4031C7F6CB6B0 /* SDLLightStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLightStatus.m; path = SmartDeviceLink/SDLLightStatus.m; sourceTree = ""; }; + BE3532020D03C0A5384CB77F8686B832 /* SDLConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLConfiguration.m; path = SmartDeviceLink/SDLConfiguration.m; sourceTree = ""; }; + BE57DE8735A70DC258F0E7D61021E93F /* SDLAddCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAddCommand.h; path = SmartDeviceLink/SDLAddCommand.h; sourceTree = ""; }; + BE7366FB2C13FB0E264DF97EB1455D14 /* SDLGetInteriorVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetInteriorVehicleData.m; path = SmartDeviceLink/SDLGetInteriorVehicleData.m; sourceTree = ""; }; + BEDC2BDA5B8E9DAF263D585755CB6C1A /* SDLAirbagStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAirbagStatus.m; path = SmartDeviceLink/SDLAirbagStatus.m; sourceTree = ""; }; + BF184F14F7F8CAE1B2D74EEA9C58A028 /* SDLMetadataTags.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMetadataTags.h; path = SmartDeviceLink/SDLMetadataTags.h; sourceTree = ""; }; + BF41AF176C8CF91C7F0626C991C3CC3D /* SDLLightStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLightStatus.h; path = SmartDeviceLink/SDLLightStatus.h; sourceTree = ""; }; + BF5E57DB0AA0B5AA154EA5AEA8AA3469 /* SDLClimateControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLClimateControlCapabilities.m; path = SmartDeviceLink/SDLClimateControlCapabilities.m; sourceTree = ""; }; + C05DA9D93548A248694FE1C3597A20C1 /* SDLStreamDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamDelegate.h; path = SmartDeviceLink/SDLStreamDelegate.h; sourceTree = ""; }; + C09E630D5F83DF772B1E22DF41CE5473 /* SDLPerformInteraction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPerformInteraction.m; path = SmartDeviceLink/SDLPerformInteraction.m; sourceTree = ""; }; + C0BD9783968411AD2C1ADF55A444B04E /* SDLNotificationDispatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLNotificationDispatcher.m; path = SmartDeviceLink/SDLNotificationDispatcher.m; sourceTree = ""; }; + C14ECD4BF951829C7D97305625CF23F7 /* SDLLogManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogManager.h; path = SmartDeviceLink/SDLLogManager.h; sourceTree = ""; }; + C1913C9CAEBA0D15EEC15F086C59CC84 /* SDLIAPSessionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIAPSessionDelegate.h; path = SmartDeviceLink/SDLIAPSessionDelegate.h; sourceTree = ""; }; + C212942D2CC6534B8AF013D2AD51FDBB /* SDLOnSystemRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnSystemRequest.h; path = SmartDeviceLink/SDLOnSystemRequest.h; sourceTree = ""; }; + C23D3E81A57DED8E5C1CB5C6740271CD /* SDLDeviceLevelStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeviceLevelStatus.m; path = SmartDeviceLink/SDLDeviceLevelStatus.m; sourceTree = ""; }; + C2D61349EFC5D6989D885B003CAA2CB7 /* SDLScreenshotViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScreenshotViewController.m; path = SmartDeviceLink/SDLScreenshotViewController.m; sourceTree = ""; }; + C3005BFD588C3A07F340E4B0B61F3DCF /* NSMutableArray+Safe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableArray+Safe.h"; path = "SmartDeviceLink/NSMutableArray+Safe.h"; sourceTree = ""; }; + C30DC4A516525BCBECD781C4551F5D5A /* SDLScreenParams.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScreenParams.m; path = SmartDeviceLink/SDLScreenParams.m; sourceTree = ""; }; + C339E93BAAFE8EF680B5FF2F641586D1 /* SDLMetadataType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMetadataType.m; path = SmartDeviceLink/SDLMetadataType.m; sourceTree = ""; }; + C343EC627C793FA593EED8C0AD723864 /* SDLCreateInteractionChoiceSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCreateInteractionChoiceSet.m; path = SmartDeviceLink/SDLCreateInteractionChoiceSet.m; sourceTree = ""; }; + C3596A8E5AA2AB66C296A109794B893E /* SDLSystemRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemRequest.h; path = SmartDeviceLink/SDLSystemRequest.h; sourceTree = ""; }; + C395176F9C59B6418BA47A1577018FAA /* SDLAudioPassThruCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioPassThruCapabilities.m; path = SmartDeviceLink/SDLAudioPassThruCapabilities.m; sourceTree = ""; }; + C3AD77243F4F153EACAAED070520ED92 /* SDLPermissionStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPermissionStatus.m; path = SmartDeviceLink/SDLPermissionStatus.m; sourceTree = ""; }; + C43267362AC3279A3F73CFD64244B09E /* SDLLogTargetOSLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogTargetOSLog.m; path = SmartDeviceLink/SDLLogTargetOSLog.m; sourceTree = ""; }; + C49C746FEF983198F94F124899429825 /* SDLPutFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPutFileResponse.h; path = SmartDeviceLink/SDLPutFileResponse.h; sourceTree = ""; }; + C534A8E7EB957888755A23CAD66D7EA1 /* SDLControlFramePayloadRPCStartServiceAck.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadRPCStartServiceAck.m; path = SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.m; sourceTree = ""; }; + C588EEFCF45E3FAF0C2800BE518387F8 /* SDLIAPSession.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLIAPSession.m; path = SmartDeviceLink/SDLIAPSession.m; sourceTree = ""; }; + C5EA591376DD52B8329D8B6224101BE5 /* SDLSetDisplayLayoutResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetDisplayLayoutResponse.h; path = SmartDeviceLink/SDLSetDisplayLayoutResponse.h; sourceTree = ""; }; + C64D7A63C4552BCCDBF2279977AA076F /* SDLSubscribeWayPoints.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeWayPoints.m; path = SmartDeviceLink/SDLSubscribeWayPoints.m; sourceTree = ""; }; + C6B82BEAAE6A7BEC7C2C08C051A6FF6F /* SDLButtonEventMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonEventMode.h; path = SmartDeviceLink/SDLButtonEventMode.h; sourceTree = ""; }; + C6DF2C94DD0BF22417AAE9FD81EBA970 /* SDLPutFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPutFile.h; path = SmartDeviceLink/SDLPutFile.h; sourceTree = ""; }; + C72CB8FE47E78B2195E1D260F2BCBE55 /* SDLTTSChunk.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTTSChunk.m; path = SmartDeviceLink/SDLTTSChunk.m; sourceTree = ""; }; + C750AA9E3A4B741F05012DAB3CF5DCB8 /* SDLMassageZone.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMassageZone.m; path = SmartDeviceLink/SDLMassageZone.m; sourceTree = ""; }; + C75F3D86ED3595011FD0EF82DEE4B281 /* SDLTransportDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTransportDelegate.h; path = SmartDeviceLink/SDLTransportDelegate.h; sourceTree = ""; }; + C7908C42336E3E8EF7BF8A5ED5F36DE9 /* SDLResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLResult.h; path = SmartDeviceLink/SDLResult.h; sourceTree = ""; }; + C796B5BE48E8ED08367A0096265A5C98 /* SDLScrollableMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLScrollableMessage.m; path = SmartDeviceLink/SDLScrollableMessage.m; sourceTree = ""; }; + C796D07492208120D730817A83899617 /* SDLOnWayPointChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnWayPointChange.m; path = SmartDeviceLink/SDLOnWayPointChange.m; sourceTree = ""; }; + C7B0E1C7EE33B7EB279CD11839EE6739 /* SDLKeypressMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeypressMode.h; path = SmartDeviceLink/SDLKeypressMode.h; sourceTree = ""; }; + C7C905D0B465F2AEBC7292AFD9059B7B /* SDLLockScreenStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenStatus.h; path = SmartDeviceLink/SDLLockScreenStatus.h; sourceTree = ""; }; + C7DDA9F4F55CABEE280A8EFB020D3C65 /* SDLLightControlData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLightControlData.h; path = SmartDeviceLink/SDLLightControlData.h; sourceTree = ""; }; + C80DF22B5D28FCE41F973EA350DED295 /* SDLControlFramePayloadRPCStartService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadRPCStartService.m; path = SmartDeviceLink/SDLControlFramePayloadRPCStartService.m; sourceTree = ""; }; + C8CF322794D18B8D62BBDB8E3C98ACC9 /* SDLProtocolMessageDisassembler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolMessageDisassembler.h; path = SmartDeviceLink/SDLProtocolMessageDisassembler.h; sourceTree = ""; }; + C906B3598B3CFACF07B0ECE64FA3266D /* SDLVehicleDataStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataStatus.h; path = SmartDeviceLink/SDLVehicleDataStatus.h; sourceTree = ""; }; + C924DE2BB45B9FC311749106243E9660 /* SDLMassageMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMassageMode.m; path = SmartDeviceLink/SDLMassageMode.m; sourceTree = ""; }; + C98CE191527F3EEA9EB0D52A7E8C01E4 /* SDLTimerMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTimerMode.m; path = SmartDeviceLink/SDLTimerMode.m; sourceTree = ""; }; + C9C4E34BF96558991703677F909C69A4 /* SDLUnsubscribeWayPoints.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeWayPoints.h; path = SmartDeviceLink/SDLUnsubscribeWayPoints.h; sourceTree = ""; }; + C9E6389F7EB9A2D0D5DFA03917B8774A /* SDLSubscribeWayPoints.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeWayPoints.h; path = SmartDeviceLink/SDLSubscribeWayPoints.h; sourceTree = ""; }; + CA11528DBA2B358F2D49F69157EDCADB /* SDLAppInterfaceUnregisteredReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAppInterfaceUnregisteredReason.h; path = SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h; sourceTree = ""; }; + CA449C346ED9EF7784D603168D130BF9 /* SDLTCPTransport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTCPTransport.m; path = SmartDeviceLink/SDLTCPTransport.m; sourceTree = ""; }; + CA4C4A31F252A3AA8D1F093D8AA1C2EE /* SDLSetAppIconResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetAppIconResponse.h; path = SmartDeviceLink/SDLSetAppIconResponse.h; sourceTree = ""; }; + CAE15697C2B379B5AD4250AD454DCC9F /* SDLDialNumberResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDialNumberResponse.m; path = SmartDeviceLink/SDLDialNumberResponse.m; sourceTree = ""; }; + CB01AD4F05816453518D94D580DA26A2 /* SDLGetDTCs.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetDTCs.h; path = SmartDeviceLink/SDLGetDTCs.h; sourceTree = ""; }; + CB405DA5F788994C39DF7E19968B3417 /* SDLLocationDetails.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLocationDetails.h; path = SmartDeviceLink/SDLLocationDetails.h; sourceTree = ""; }; + CB43E3D640B1FB16CFCA612D7D97A8F1 /* SDLDeleteFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteFileResponse.h; path = SmartDeviceLink/SDLDeleteFileResponse.h; sourceTree = ""; }; + CBACDEE19366DD9A08DD42FC984CACED /* SDLDeleteFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteFileResponse.m; path = SmartDeviceLink/SDLDeleteFileResponse.m; sourceTree = ""; }; + CBDCBD2A2EFEDA02586A671D16C8A613 /* SDLTBTState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTBTState.m; path = SmartDeviceLink/SDLTBTState.m; sourceTree = ""; }; + CC0A7A3D3F4D617D0E71AF1093961409 /* SDLGetDTCsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetDTCsResponse.h; path = SmartDeviceLink/SDLGetDTCsResponse.h; sourceTree = ""; }; + CC2CF1557DA0FDB593F5A186F18275B1 /* SDLImageType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLImageType.h; path = SmartDeviceLink/SDLImageType.h; sourceTree = ""; }; + CC8FA7074043AD0EFEB34FD5CEE11BD1 /* EAAccessory+SDLProtocols.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EAAccessory+SDLProtocols.m"; path = "SmartDeviceLink/EAAccessory+SDLProtocols.m"; sourceTree = ""; }; + CCAC618CC0C3328787BC012A68387719 /* SDLSingleTireStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSingleTireStatus.m; path = SmartDeviceLink/SDLSingleTireStatus.m; sourceTree = ""; }; + CCB1B296EDBE648A896D60F8CEE6EF27 /* SDLShow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLShow.h; path = SmartDeviceLink/SDLShow.h; sourceTree = ""; }; + CCC2E4CCCC588380F82E83F43587F252 /* SDLEncodedSyncPData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEncodedSyncPData.h; path = SmartDeviceLink/SDLEncodedSyncPData.h; sourceTree = ""; }; + CD72B7A1B82714D01D99FC2D5DCAD1CE /* SDLControlFramePayloadTransportEventUpdate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadTransportEventUpdate.h; path = SmartDeviceLink/SDLControlFramePayloadTransportEventUpdate.h; sourceTree = ""; }; + CD7F72B767014839B0530963C82FE3DF /* SDLMyKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMyKey.m; path = SmartDeviceLink/SDLMyKey.m; sourceTree = ""; }; + CDA5BC6134D5DF2253BC19AFE8F57649 /* Pods-MobileWeather-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MobileWeather-acknowledgements.markdown"; sourceTree = ""; }; + CDB08B4633B0694249B93A051D44062B /* SDLLogTargetAppleSystemLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogTargetAppleSystemLog.m; path = SmartDeviceLink/SDLLogTargetAppleSystemLog.m; sourceTree = ""; }; + CDE5462216ECC40BC5E269381EBEA719 /* SDLAudioControlData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioControlData.h; path = SmartDeviceLink/SDLAudioControlData.h; sourceTree = ""; }; + CE55C6A5E5F61F14CD3DBE30F7B822EA /* Pods-MobileWeather.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MobileWeather.release.xcconfig"; sourceTree = ""; }; + CEF708FFC87490713BE7492E71C6CFC6 /* SDLDeleteFile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteFile.m; path = SmartDeviceLink/SDLDeleteFile.m; sourceTree = ""; }; + CF3E1C96AFEC7BF390F28147CA4DD532 /* SDLAmbientLightStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAmbientLightStatus.m; path = SmartDeviceLink/SDLAmbientLightStatus.m; sourceTree = ""; }; + CF7790CE899A39C998556055A1E7D05E /* SDLOasisAddress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOasisAddress.h; path = SmartDeviceLink/SDLOasisAddress.h; sourceTree = ""; }; + CFB25071577FDEADE8D9DA79FCE735B8 /* SDLOnLanguageChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnLanguageChange.m; path = SmartDeviceLink/SDLOnLanguageChange.m; sourceTree = ""; }; + CFCC4C078A82BC69C78877B984B1F7DE /* SDLTriggerSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTriggerSource.h; path = SmartDeviceLink/SDLTriggerSource.h; sourceTree = ""; }; + CFF52CDAD169EA0BE305F4FEA18AF00C /* SDLResetGlobalProperties.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLResetGlobalProperties.h; path = SmartDeviceLink/SDLResetGlobalProperties.h; sourceTree = ""; }; + D035F9030267FD1C5A40D1D1D91D8B01 /* SDLAppHMIType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAppHMIType.h; path = SmartDeviceLink/SDLAppHMIType.h; sourceTree = ""; }; + D155EBD2551C3459E8B41CA19D856235 /* dispatch_timer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_timer.m; path = SmartDeviceLink/dispatch_timer.m; sourceTree = ""; }; + D16AA0C2FE332401CE7F57F13834F32A /* SDLEmergencyEventType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEmergencyEventType.h; path = SmartDeviceLink/SDLEmergencyEventType.h; sourceTree = ""; }; + D189D97BE1019749C8B66808AB77A27B /* SDLButtonPress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLButtonPress.h; path = SmartDeviceLink/SDLButtonPress.h; sourceTree = ""; }; + D1C593EF742A7DEA18F01646BC598132 /* SDLBitsPerSample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLBitsPerSample.h; path = SmartDeviceLink/SDLBitsPerSample.h; sourceTree = ""; }; + D1EC5DED346FD7BB7895AEBE3DFECB5F /* SDLControlFramePayloadRegisterSecondaryTransportNak.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadRegisterSecondaryTransportNak.m; path = SmartDeviceLink/SDLControlFramePayloadRegisterSecondaryTransportNak.m; sourceTree = ""; }; + D207F9B285022DA6A6CFAFCF14839E58 /* SDLAddCommandResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAddCommandResponse.h; path = SmartDeviceLink/SDLAddCommandResponse.h; sourceTree = ""; }; + D20EED6DBEE6CA1DD9E9548FAC44753B /* SDLDialNumberResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDialNumberResponse.h; path = SmartDeviceLink/SDLDialNumberResponse.h; sourceTree = ""; }; + D27E5CC47CABA4801370B09E862441BE /* SDLOnLockScreenStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnLockScreenStatus.h; path = SmartDeviceLink/SDLOnLockScreenStatus.h; sourceTree = ""; }; + D2C578E5041CA51DAED52E0CA76D5B99 /* SDLStreamingMediaManagerConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaManagerConstants.h; path = SmartDeviceLink/SDLStreamingMediaManagerConstants.h; sourceTree = ""; }; + D2F29B3571AEDC6EF2A05C2FD2428B8C /* SDLSecondaryTransportPrimaryProtocolHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSecondaryTransportPrimaryProtocolHandler.h; path = SmartDeviceLink/SDLSecondaryTransportPrimaryProtocolHandler.h; sourceTree = ""; }; + D2F9491E9A021E2EABA56A03253B0372 /* SDLControlFramePayloadConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadConstants.h; path = SmartDeviceLink/SDLControlFramePayloadConstants.h; sourceTree = ""; }; + D2FA97C41ABC4E9B58E7AD67F60EC9E2 /* SDLStreamingMediaManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaManager.h; path = SmartDeviceLink/SDLStreamingMediaManager.h; sourceTree = ""; }; + D322261099FDC3DD07B50C9CC5B1D750 /* EAAccessoryManager+SDLProtocols.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EAAccessoryManager+SDLProtocols.m"; path = "SmartDeviceLink/EAAccessoryManager+SDLProtocols.m"; sourceTree = ""; }; + D355CD2546086C41A89F4B7AAAE4C8E5 /* SDLHapticRect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHapticRect.h; path = SmartDeviceLink/SDLHapticRect.h; sourceTree = ""; }; + D48BBF34727DF6DE38DED9EC43E5E939 /* SDLControlFramePayloadNak.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadNak.m; path = SmartDeviceLink/SDLControlFramePayloadNak.m; sourceTree = ""; }; + D48E12FC519B7176B5ABCBAFF3F4A7CA /* SDLUpdateMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUpdateMode.m; path = SmartDeviceLink/SDLUpdateMode.m; sourceTree = ""; }; + D4AED0DCCD8F81481E37F6BFE21BAB4C /* SDLGlobals.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGlobals.m; path = SmartDeviceLink/SDLGlobals.m; sourceTree = ""; }; + D4BA8AEBC53D58106E0568ACFD4F7513 /* SDLSpeak.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSpeak.h; path = SmartDeviceLink/SDLSpeak.h; sourceTree = ""; }; + D4D9CE10E16F6AE73297FC5DF7EA2F0C /* SDLPredefinedLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPredefinedLayout.m; path = SmartDeviceLink/SDLPredefinedLayout.m; sourceTree = ""; }; + D4F1CB611287E0564A46366E467F2B99 /* SDLSubscribeWayPointsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeWayPointsResponse.h; path = SmartDeviceLink/SDLSubscribeWayPointsResponse.h; sourceTree = ""; }; + D50321F21AFDE58F08A3BF69CD0D45B6 /* SDLComponentVolumeStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLComponentVolumeStatus.h; path = SmartDeviceLink/SDLComponentVolumeStatus.h; sourceTree = ""; }; + D5819EE20D82F143CE1F0633E4D07C59 /* SDLSendLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSendLocation.m; path = SmartDeviceLink/SDLSendLocation.m; sourceTree = ""; }; + D5B81F6F3103AD08D5BA5F4A084E857E /* SDLLogMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogMacros.h; path = SmartDeviceLink/SDLLogMacros.h; sourceTree = ""; }; + D5DBE882A800B18984D8EE83198A787C /* Pods-MobileWeather-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MobileWeather-acknowledgements.plist"; sourceTree = ""; }; + D66FF1E097F6C6ADBB8C030D347AE718 /* SDLSecondaryTransportManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSecondaryTransportManager.h; path = SmartDeviceLink/SDLSecondaryTransportManager.h; sourceTree = ""; }; + D67F7910E014171EF4A571F96DEED110 /* SDLLocationDetails.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLocationDetails.m; path = SmartDeviceLink/SDLLocationDetails.m; sourceTree = ""; }; + D682EE4635A0FD228944E10BD3DBD2D3 /* SDLVehicleType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleType.m; path = SmartDeviceLink/SDLVehicleType.m; sourceTree = ""; }; + D6FECF75926265826FDEA4124F3C90EF /* SDLTurnSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTurnSignal.m; path = SmartDeviceLink/SDLTurnSignal.m; sourceTree = ""; }; + D71FED2BCC771A573C90BD4F83AEFDFF /* SDLMaintenanceModeStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMaintenanceModeStatus.m; path = SmartDeviceLink/SDLMaintenanceModeStatus.m; sourceTree = ""; }; + D73A33145CFECBCAEE6723C53C833F84 /* SDLFunctionID.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFunctionID.m; path = SmartDeviceLink/SDLFunctionID.m; sourceTree = ""; }; + D73D5CCFC3959A9781B253DDEBD3804A /* CVPixelBufferRef+SDLUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CVPixelBufferRef+SDLUtil.m"; path = "SmartDeviceLink/CVPixelBufferRef+SDLUtil.m"; sourceTree = ""; }; + D75553FBF05C6083BCE6F156DE8AFB6D /* SDLScreenshotViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLScreenshotViewController.h; path = SmartDeviceLink/SDLScreenshotViewController.h; sourceTree = ""; }; + D77223E88DCDD7BB63B0B6D7D09CBFE7 /* SDLProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProxy.m; path = SmartDeviceLink/SDLProxy.m; sourceTree = ""; }; + D7B5B4BA4F26E2194066AB7EBEB93A57 /* SDLVehicleDataResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataResult.h; path = SmartDeviceLink/SDLVehicleDataResult.h; sourceTree = ""; }; + D7DD122ECD04717DF72D111757B25D26 /* SDLNotificationDispatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLNotificationDispatcher.h; path = SmartDeviceLink/SDLNotificationDispatcher.h; sourceTree = ""; }; + D7E909DC64B7F89CB6C1A37B30E38768 /* SDLDisplayType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDisplayType.m; path = SmartDeviceLink/SDLDisplayType.m; sourceTree = ""; }; + D82948567FD9B2929C169F79FA1C7E9A /* SDLChoiceSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChoiceSet.m; path = SmartDeviceLink/SDLChoiceSet.m; sourceTree = ""; }; + D88D739C4F65E3A7EE9F3CCB7CF49C35 /* SDLMetadataTags.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMetadataTags.m; path = SmartDeviceLink/SDLMetadataTags.m; sourceTree = ""; }; + D8B425573155D00965E31D784C070BB2 /* SDLAudioControlData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioControlData.m; path = SmartDeviceLink/SDLAudioControlData.m; sourceTree = ""; }; + D8D039EA7810F354905A7B7DEC39AD3D /* SDLStreamingMediaConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaConfiguration.h; path = SmartDeviceLink/SDLStreamingMediaConfiguration.h; sourceTree = ""; }; + D8DEE8193F871BAF8FB10C6766E58037 /* SDLSetInteriorVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetInteriorVehicleDataResponse.h; path = SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h; sourceTree = ""; }; + D93CCB1CAE537717BC9BCD4B03436DE4 /* SDLSubscribeVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeVehicleData.h; path = SmartDeviceLink/SDLSubscribeVehicleData.h; sourceTree = ""; }; + D9D727BA4020333B94CAAB14C5548B42 /* SDLSoftButtonType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonType.h; path = SmartDeviceLink/SDLSoftButtonType.h; sourceTree = ""; }; + DA0377EB4FCDD2096F6E8366E5B16C09 /* SDLHMIZoneCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLHMIZoneCapabilities.h; path = SmartDeviceLink/SDLHMIZoneCapabilities.h; sourceTree = ""; }; + DA0952F5884198F46D3797FB852A950B /* SDLModuleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLModuleData.m; path = SmartDeviceLink/SDLModuleData.m; sourceTree = ""; }; + DA0D770C6A62BBA6A4927E049FD5FC38 /* SDLArtwork.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLArtwork.h; path = SmartDeviceLink/SDLArtwork.h; sourceTree = ""; }; + DA6DECFDEF3FAF260C7869F41CAB3C77 /* SDLSubscribeVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSubscribeVehicleDataResponse.h; path = SmartDeviceLink/SDLSubscribeVehicleDataResponse.h; sourceTree = ""; }; + DA84D035271BEC110F9662786D43FBD4 /* SDLMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMacros.h; path = SmartDeviceLink/SDLMacros.h; sourceTree = ""; }; + DAE97070D2DD7177A7C271893521CA74 /* SDLTouchType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLTouchType.h; path = SmartDeviceLink/SDLTouchType.h; sourceTree = ""; }; + DB150042567FF8B4BA316079BE414F3C /* SDLConnectionManagerType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLConnectionManagerType.h; path = SmartDeviceLink/SDLConnectionManagerType.h; sourceTree = ""; }; + DBC88C050ABECE21892DC6034CC3F8B4 /* SDLLogModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogModel.m; path = SmartDeviceLink/SDLLogModel.m; sourceTree = ""; }; + DC22D9FCA0E86BCF2EB200AC5CB8E1AF /* SDLIgnitionStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLIgnitionStatus.m; path = SmartDeviceLink/SDLIgnitionStatus.m; sourceTree = ""; }; + DD018BD08DF216E04E994B4422402959 /* SDLChoiceCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChoiceCell.h; path = SmartDeviceLink/SDLChoiceCell.h; sourceTree = ""; }; + DD5EBB52421A1DB35F7FC66083B6A92C /* SDLMutableDataQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLMutableDataQueue.m; path = SmartDeviceLink/SDLMutableDataQueue.m; sourceTree = ""; }; + DDB5D173E33BC323A525338588E689F5 /* SDLResponseDispatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLResponseDispatcher.h; path = SmartDeviceLink/SDLResponseDispatcher.h; sourceTree = ""; }; + DDBCD95E6AEEBA36D045DE905604EE77 /* SDLSISData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSISData.h; path = SmartDeviceLink/SDLSISData.h; sourceTree = ""; }; + DE28653246A6B19B5D9C82A38F1267A9 /* SDLVehicleDataNotificationStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVehicleDataNotificationStatus.h; path = SmartDeviceLink/SDLVehicleDataNotificationStatus.h; sourceTree = ""; }; + DE91B9B41F921F65A15BB1A61C45F3A1 /* SDLLogConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogConfiguration.h; path = SmartDeviceLink/SDLLogConfiguration.h; sourceTree = ""; }; + DECDC982A9EC09E0580A89EA45345121 /* SDLSystemCapability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemCapability.h; path = SmartDeviceLink/SDLSystemCapability.h; sourceTree = ""; }; + DF9E74F8390AAEB3D483417C6939A39E /* SDLPerformAudioPassThruResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPerformAudioPassThruResponse.m; path = SmartDeviceLink/SDLPerformAudioPassThruResponse.m; sourceTree = ""; }; + E01A788B715A9CBF3F7896EF220491A9 /* SDLLightName.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLightName.h; path = SmartDeviceLink/SDLLightName.h; sourceTree = ""; }; + E0909068F2B40476D8DD18012ACEE182 /* SDLSoftButtonManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSoftButtonManager.m; path = SmartDeviceLink/SDLSoftButtonManager.m; sourceTree = ""; }; + E0D02E23B750D15B087CF6991C7DD1E5 /* SDLSystemRequestResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemRequestResponse.m; path = SmartDeviceLink/SDLSystemRequestResponse.m; sourceTree = ""; }; + E15436608D62D13D53903727589401FD /* SDLMassageCushion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMassageCushion.h; path = SmartDeviceLink/SDLMassageCushion.h; sourceTree = ""; }; + E1C51C46435F3ED7FF9BB06FFC5A4F24 /* SDLFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFile.h; path = SmartDeviceLink/SDLFile.h; sourceTree = ""; }; + E2089987A5A19A000806B07EDD110D60 /* SDLAlertManeuver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAlertManeuver.h; path = SmartDeviceLink/SDLAlertManeuver.h; sourceTree = ""; }; + E280714FFF45ABB1CB9DC8A142136546 /* SDLLifecycleConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleConfiguration.m; path = SmartDeviceLink/SDLLifecycleConfiguration.m; sourceTree = ""; }; + E28E6185D21901A4C8918AA636A147E2 /* SDLProtocolConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLProtocolConstants.m; path = SmartDeviceLink/SDLProtocolConstants.m; sourceTree = ""; }; + E2ADED48EF297BC164761232F2B6215F /* SDLGetDTCsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetDTCsResponse.m; path = SmartDeviceLink/SDLGetDTCsResponse.m; sourceTree = ""; }; + E36102EF1851D3F66F89FB3A06D17F37 /* SmartDeviceLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SmartDeviceLink.h; path = SmartDeviceLink/SmartDeviceLink.h; sourceTree = ""; }; + E39097F54F4D74FE7229D93C71AA52B6 /* BiSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BiSON.modulemap; sourceTree = ""; }; + E3B8D796AD9F59926B271B6B8BC81CD3 /* SDLDeleteSubMenu.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeleteSubMenu.m; path = SmartDeviceLink/SDLDeleteSubMenu.m; sourceTree = ""; }; + E3BF372C29FFEDC636D34D2F7BADCAAA /* SDLAudioStreamManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAudioStreamManager.m; path = SmartDeviceLink/SDLAudioStreamManager.m; sourceTree = ""; }; + E435A1D99AE03AAB0AF44855E77E5EA0 /* bson_object.c */ = {isa = PBXFileReference; includeInIndex = 1; name = bson_object.c; path = src/bson_object.c; sourceTree = ""; }; + E439FC4CCB22233A41FA34B33784F938 /* SDLUpdateTurnListResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUpdateTurnListResponse.h; path = SmartDeviceLink/SDLUpdateTurnListResponse.h; sourceTree = ""; }; + E49367CD2C96F4FB7B71A901D7B36355 /* SDLOnButtonPress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnButtonPress.h; path = SmartDeviceLink/SDLOnButtonPress.h; sourceTree = ""; }; + E521173FA983C64B20D3C21020B9DAA0 /* SDLAlertManeuver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAlertManeuver.m; path = SmartDeviceLink/SDLAlertManeuver.m; sourceTree = ""; }; + E553C3FC056DF2AE3262E3A00B4DF074 /* SDLChoice.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChoice.m; path = SmartDeviceLink/SDLChoice.m; sourceTree = ""; }; + E5731FC6EAD9635A7EDD2F725FC4966C /* SDLDisplayMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDisplayMode.m; path = SmartDeviceLink/SDLDisplayMode.m; sourceTree = ""; }; + E5EBE7E9894846207F571CA5AAB4D817 /* SDLRTPH264Packetizer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRTPH264Packetizer.m; path = SmartDeviceLink/SDLRTPH264Packetizer.m; sourceTree = ""; }; + E5EC9ECC5F4F6ACD12B895CEC09422D0 /* SDLDriverDistractionState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDriverDistractionState.h; path = SmartDeviceLink/SDLDriverDistractionState.h; sourceTree = ""; }; + E631F9263CC1D82E8E2ED0FF4AFC488B /* SDLDeviceLevelStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeviceLevelStatus.h; path = SmartDeviceLink/SDLDeviceLevelStatus.h; sourceTree = ""; }; + E71309A18D09217CAF532B036D0FA97A /* SDLWiperStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLWiperStatus.m; path = SmartDeviceLink/SDLWiperStatus.m; sourceTree = ""; }; + E7271585FE01A8942488AA222DE3AB43 /* SDLSystemCapabilityType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSystemCapabilityType.m; path = SmartDeviceLink/SDLSystemCapabilityType.m; sourceTree = ""; }; + E7A313894B47D32C4EA5F371B0691870 /* SDLLocationCoordinate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLocationCoordinate.h; path = SmartDeviceLink/SDLLocationCoordinate.h; sourceTree = ""; }; + E7B4A0CE56A4C0A4142F88AD471CB508 /* SDLFileManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLFileManager.m; path = SmartDeviceLink/SDLFileManager.m; sourceTree = ""; }; + E814731FA7DC9943F7B808D89A9B9F91 /* SDLButtonPress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonPress.m; path = SmartDeviceLink/SDLButtonPress.m; sourceTree = ""; }; + E8355E321C8CD5412294AEDC2B85517E /* SDLVehicleDataActiveStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleDataActiveStatus.m; path = SmartDeviceLink/SDLVehicleDataActiveStatus.m; sourceTree = ""; }; + E88F2B657B46A7ECC846CDFFF5390F31 /* SDLStreamDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamDelegate.m; path = SmartDeviceLink/SDLStreamDelegate.m; sourceTree = ""; }; + E8C4C7AA6A5BC02EF4D43A491686D9EA /* SDLVideoStreamingCodec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingCodec.h; path = SmartDeviceLink/SDLVideoStreamingCodec.h; sourceTree = ""; }; + E8D76C1021781ED7448582B85A5F97EA /* SDLAsynchronousOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAsynchronousOperation.m; path = SmartDeviceLink/SDLAsynchronousOperation.m; sourceTree = ""; }; + E91E91E66C2D537CD449295C86997019 /* SDLIAPTransport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIAPTransport.h; path = SmartDeviceLink/SDLIAPTransport.h; sourceTree = ""; }; + E93E46F79CD1636328C3E622271F2F2C /* SDLOnHMIStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnHMIStatus.h; path = SmartDeviceLink/SDLOnHMIStatus.h; sourceTree = ""; }; + E979C453EEBA7D264D8AED785CF17294 /* SDLPresentKeyboardOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPresentKeyboardOperation.m; path = SmartDeviceLink/SDLPresentKeyboardOperation.m; sourceTree = ""; }; + E9C5C58A3724605FC6E5584A0977F7CF /* SDLMassageModeData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLMassageModeData.h; path = SmartDeviceLink/SDLMassageModeData.h; sourceTree = ""; }; + E9F83398A1E87F1CD45B5596A5D81AE4 /* SDLLockScreenViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenViewController.h; path = SmartDeviceLink/SDLLockScreenViewController.h; sourceTree = ""; }; + EA582BB114E38C65B6A91E4EE7B8F1F2 /* SDLUpdateTurnList.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUpdateTurnList.m; path = SmartDeviceLink/SDLUpdateTurnList.m; sourceTree = ""; }; + EA6D4C3D5EF2FDAE040D325A759CB6BB /* SDLSendLocationResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSendLocationResponse.m; path = SmartDeviceLink/SDLSendLocationResponse.m; sourceTree = ""; }; + EB02227CF664EEADE944C75221C640FC /* SDLFocusableItemLocator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFocusableItemLocator.h; path = SmartDeviceLink/SDLFocusableItemLocator.h; sourceTree = ""; }; + EB782268F9B89A65FEEB9D8D3E0867E4 /* SDLGetWayPoints.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetWayPoints.m; path = SmartDeviceLink/SDLGetWayPoints.m; sourceTree = ""; }; + EB818F5E2DD87AB284266FC69B4D5A12 /* SDLStreamingMediaManagerDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaManagerDataSource.h; path = SmartDeviceLink/SDLStreamingMediaManagerDataSource.h; sourceTree = ""; }; + EBC44269990CF3B877BB2720CEC9CB74 /* SDLSetMediaClockTimerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetMediaClockTimerResponse.h; path = SmartDeviceLink/SDLSetMediaClockTimerResponse.h; sourceTree = ""; }; + EBE2BDB35B173D11506009E03770CC5A /* SDLNames.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLNames.m; path = SmartDeviceLink/SDLNames.m; sourceTree = ""; }; + EC39FC6F2170900B078272A1F0D1AFA2 /* SDLRectangle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRectangle.m; path = SmartDeviceLink/SDLRectangle.m; sourceTree = ""; }; + EC448CD8B6A7EC7C9542B754FDF978F2 /* SDLVideoStreamingFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingFormat.h; path = SmartDeviceLink/SDLVideoStreamingFormat.h; sourceTree = ""; }; + EC92A5CF1AF12B3C53B52D48314AB3A8 /* SDLFileManagerConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFileManagerConfiguration.h; path = SmartDeviceLink/SDLFileManagerConfiguration.h; sourceTree = ""; }; + ED1462950A60906FEC2552CD8926221F /* SDLEmergencyEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEmergencyEvent.h; path = SmartDeviceLink/SDLEmergencyEvent.h; sourceTree = ""; }; + ED2F31EF80C218AF069FF59E223A181C /* SDLProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProxy.h; path = SmartDeviceLink/SDLProxy.h; sourceTree = ""; }; + ED61ABE324F03833E5DD4900423E6100 /* SDLStreamingMediaManagerConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingMediaManagerConstants.m; path = SmartDeviceLink/SDLStreamingMediaManagerConstants.m; sourceTree = ""; }; + ED9C3F415373C1FEC38B39E0C3E6A57B /* SDLSupportedSeat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSupportedSeat.h; path = SmartDeviceLink/SDLSupportedSeat.h; sourceTree = ""; }; + EDA3EFDEAD056017AB9C5A82679E99B2 /* SDLV1ProtocolMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLV1ProtocolMessage.m; path = SmartDeviceLink/SDLV1ProtocolMessage.m; sourceTree = ""; }; + EDB42F987CA9D0C4BD5A37CB60D3AC3D /* SDLErrorConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLErrorConstants.h; path = SmartDeviceLink/SDLErrorConstants.h; sourceTree = ""; }; + EDCFB982E7DC04A76ED3DA3978F5DCA7 /* SDLRPCMessage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCMessage.m; path = SmartDeviceLink/SDLRPCMessage.m; sourceTree = ""; }; + EDF6F8E8BD9AB6D28CFCC4A88AC00A5A /* SDLDeleteSubMenuResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeleteSubMenuResponse.h; path = SmartDeviceLink/SDLDeleteSubMenuResponse.h; sourceTree = ""; }; + EE1CFF1CC4DE8423C7542494529D17EA /* SDLObjectWithPriority.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLObjectWithPriority.h; path = SmartDeviceLink/SDLObjectWithPriority.h; sourceTree = ""; }; + EE5457E7487266451141B2F023DFB19C /* SDLCreateInteractionChoiceSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLCreateInteractionChoiceSet.h; path = SmartDeviceLink/SDLCreateInteractionChoiceSet.h; sourceTree = ""; }; + EE9A3B75D5F68AA0D26EAAC23626F571 /* SDLDeviceStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDeviceStatus.h; path = SmartDeviceLink/SDLDeviceStatus.h; sourceTree = ""; }; + EED6DA45D83CE687BCB94E414DFAC3E6 /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = es.lproj/SDLLockScreen.strings; sourceTree = ""; }; + EF263A3DB489F2DFABE45E6A7B5EF757 /* SDLVideoStreamingFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingFormat.m; path = SmartDeviceLink/SDLVideoStreamingFormat.m; sourceTree = ""; }; + EF4EBDB80CEF89242D57537CB1A9D465 /* SDLOnCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnCommand.h; path = SmartDeviceLink/SDLOnCommand.h; sourceTree = ""; }; + EF6EF59CA601C0D108179F0F6F5C5085 /* SDLAppHMIType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAppHMIType.m; path = SmartDeviceLink/SDLAppHMIType.m; sourceTree = ""; }; + EF87626A45BB35863F5E5817AF8441A0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EFDA01CCA143D1BF1A4477C8DE07B128 /* SDLGenericResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGenericResponse.m; path = SmartDeviceLink/SDLGenericResponse.m; sourceTree = ""; }; + F04DD54016688A8FBD677798DD52F1C5 /* SDLSystemCapabilityType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSystemCapabilityType.h; path = SmartDeviceLink/SDLSystemCapabilityType.h; sourceTree = ""; }; + F07B93A82B076C766CF6D8E8DD56F230 /* SDLDialNumber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDialNumber.h; path = SmartDeviceLink/SDLDialNumber.h; sourceTree = ""; }; + F082C3105D51857B5A6D603751C8D9BB /* SDLEmergencyEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLEmergencyEvent.m; path = SmartDeviceLink/SDLEmergencyEvent.m; sourceTree = ""; }; + F0877301378FB5E31DC1FF839B052571 /* SDLUnsubscribeWayPoints.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeWayPoints.m; path = SmartDeviceLink/SDLUnsubscribeWayPoints.m; sourceTree = ""; }; + F0B0BD0A152C2E6D1C988C44BD243F7A /* SDLOnInteriorVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnInteriorVehicleData.h; path = SmartDeviceLink/SDLOnInteriorVehicleData.h; sourceTree = ""; }; + F0EB0D36D05552D95A93CA685238686E /* SDLArtwork.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLArtwork.m; path = SmartDeviceLink/SDLArtwork.m; sourceTree = ""; }; + F0FE7D045A05C40642E1D494C142ADE2 /* SDLParameterPermissions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLParameterPermissions.m; path = SmartDeviceLink/SDLParameterPermissions.m; sourceTree = ""; }; + F22C081156C963137E13B64F8EEDDBE7 /* SDLTriggerSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTriggerSource.m; path = SmartDeviceLink/SDLTriggerSource.m; sourceTree = ""; }; + F24E7F5DD21FD40A9EA898618D233EC9 /* SDLLogTarget.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLogTarget.h; path = SmartDeviceLink/SDLLogTarget.h; sourceTree = ""; }; + F26FA6D4CFDB68F6D5708D3320506CBD /* SDLTextField.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTextField.m; path = SmartDeviceLink/SDLTextField.m; sourceTree = ""; }; + F2B21041C8038135FEF53BB001EF0F91 /* SDLVoiceCommandManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLVoiceCommandManager.h; path = SmartDeviceLink/SDLVoiceCommandManager.h; sourceTree = ""; }; + F35822090B42F3897B8520B75DFCD4BB /* SDLPhoneCapability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLPhoneCapability.m; path = SmartDeviceLink/SDLPhoneCapability.m; sourceTree = ""; }; + F3717E63FA48A5C50AAAE57A9318054D /* SDLV2ProtocolHeader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLV2ProtocolHeader.m; path = SmartDeviceLink/SDLV2ProtocolHeader.m; sourceTree = ""; }; + F388207656E1E2BB02B35F9E54E554A1 /* SDLDisplayCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLDisplayCapabilities.h; path = SmartDeviceLink/SDLDisplayCapabilities.h; sourceTree = ""; }; + F3C46E32597E5AC52E2AF0079E7550A6 /* SDLControlFramePayloadAudioStartServiceAck.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadAudioStartServiceAck.h; path = SmartDeviceLink/SDLControlFramePayloadAudioStartServiceAck.h; sourceTree = ""; }; + F3DF41A5534678C031C7762017C9D5B8 /* SDLIgnitionStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLIgnitionStatus.h; path = SmartDeviceLink/SDLIgnitionStatus.h; sourceTree = ""; }; + F3F9A0650155304168FA15D074849F22 /* SDLLightControlData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLightControlData.m; path = SmartDeviceLink/SDLLightControlData.m; sourceTree = ""; }; + F455B422DAF86C1424C82B369C3A8B08 /* SDLDisplayCapabilities+ShowManagerExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SDLDisplayCapabilities+ShowManagerExtensions.m"; path = "SmartDeviceLink/SDLDisplayCapabilities+ShowManagerExtensions.m"; sourceTree = ""; }; + F5507ACACB0EE1CDC5827DB3CB5C3921 /* SDLTextAndGraphicManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTextAndGraphicManager.m; path = SmartDeviceLink/SDLTextAndGraphicManager.m; sourceTree = ""; }; F5A2F0A7C6B254D76F97A2422CF221C6 /* Pods_MobileWeather.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_MobileWeather.framework; path = "Pods-MobileWeather.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - F5A63EF44669AB129E6753145E31FAA0 /* SDLCreateInteractionChoiceSetResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLCreateInteractionChoiceSetResponse.m; path = SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.m; sourceTree = ""; }; - F620EF73A4F840F78B05320DEEEFF710 /* SDLSetInteriorVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetInteriorVehicleDataResponse.m; path = SmartDeviceLink/SDLSetInteriorVehicleDataResponse.m; sourceTree = ""; }; - F6566A6CDA8E27E6B4477B1EEA6051FA /* SDLControlFramePayloadVideoStartServiceAck.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLControlFramePayloadVideoStartServiceAck.m; path = SmartDeviceLink/SDLControlFramePayloadVideoStartServiceAck.m; sourceTree = ""; }; - F6CDD763187AAED19EBBA793446B6710 /* SDLGetInteriorVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLGetInteriorVehicleData.h; path = SmartDeviceLink/SDLGetInteriorVehicleData.h; sourceTree = ""; }; - F752AE6B2427A143BE8CAED17655ECE7 /* SDLInteractionMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLInteractionMode.m; path = SmartDeviceLink/SDLInteractionMode.m; sourceTree = ""; }; - F8613F49B10EA7B465D8D49A9DA3B557 /* SDLUpdateTurnListResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUpdateTurnListResponse.m; path = SmartDeviceLink/SDLUpdateTurnListResponse.m; sourceTree = ""; }; - F8B20A99B2E9CA9242C92E436F9F52B7 /* SDLVehicleType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLVehicleType.m; path = SmartDeviceLink/SDLVehicleType.m; sourceTree = ""; }; - F934CDF3FFFA2EC765F741CCB8367D1C /* SDLPerformAudioPassThruResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPerformAudioPassThruResponse.h; path = SmartDeviceLink/SDLPerformAudioPassThruResponse.h; sourceTree = ""; }; - F9C0A28D52FA2E9051FAE79F58103AF6 /* SDLRequestType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLRequestType.h; path = SmartDeviceLink/SDLRequestType.h; sourceTree = ""; }; - F9CE396C547D0051364D5D99706D3650 /* SDLFile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLFile.h; path = SmartDeviceLink/SDLFile.h; sourceTree = ""; }; - F9E2F63C4738B8962C061C08D6CDE3D4 /* SDLUnsubscribeVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnsubscribeVehicleData.m; path = SmartDeviceLink/SDLUnsubscribeVehicleData.m; sourceTree = ""; }; - F9E6D3351DB267564E299AB62BDD4574 /* SDLSetDisplayLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetDisplayLayout.m; path = SmartDeviceLink/SDLSetDisplayLayout.m; sourceTree = ""; }; - FA083B3AC5B2D93E21970F3A2625F5DC /* SDLProtocolListener.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocolListener.h; path = SmartDeviceLink/SDLProtocolListener.h; sourceTree = ""; }; - FA191EC4F9683C7ECDC68B4B7273D202 /* SDLLockScreen.storyboard */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.storyboard; name = SDLLockScreen.storyboard; path = Base.lproj/SDLLockScreen.storyboard; sourceTree = ""; }; - FA3B4D17D90185C4083745BEAA537CE0 /* SDLAbstractProtocol.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLAbstractProtocol.m; path = SmartDeviceLink/SDLAbstractProtocol.m; sourceTree = ""; }; - FAF46DA9FCAAF86A58354EAF0CD6EFDA /* SDLTimer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLTimer.m; path = SmartDeviceLink/SDLTimer.m; sourceTree = ""; }; - FBA39F7D420B73EFD2A1990103298EA5 /* SDLBodyInformation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLBodyInformation.m; path = SmartDeviceLink/SDLBodyInformation.m; sourceTree = ""; }; - FBE487CB04EE57303AE97CFC2390748C /* SDLSpeak.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSpeak.h; path = SmartDeviceLink/SDLSpeak.h; sourceTree = ""; }; - FC14DDD41DB0521B0EFE9B685BA9F245 /* SDLKeyboardLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLKeyboardLayout.m; path = SmartDeviceLink/SDLKeyboardLayout.m; sourceTree = ""; }; - FCD7DC1F06D11049294FC2605BAC78A8 /* SDLSetDisplayLayoutResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetDisplayLayoutResponse.h; path = SmartDeviceLink/SDLSetDisplayLayoutResponse.h; sourceTree = ""; }; - FCE6F88967A059AB74E7E53804BDEF14 /* SDLUnsubscribeVehicleDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeVehicleDataResponse.h; path = SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h; sourceTree = ""; }; - FD499E5BA50CADA334777C2D6A4C4662 /* SDLSyncPData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSyncPData.m; path = SmartDeviceLink/SDLSyncPData.m; sourceTree = ""; }; - FEB41C227628695CB9C16ED5AD3B58BC /* SDLSoftButtonState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSoftButtonState.h; path = SmartDeviceLink/SDLSoftButtonState.h; sourceTree = ""; }; - FEE3334E1A12317DA00E07DEB3D0EAAD /* SDLOnPermissionsChange.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnPermissionsChange.m; path = SmartDeviceLink/SDLOnPermissionsChange.m; sourceTree = ""; }; - FF1FF07C7E61A96D1C20217EC30CB1D4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FF24B838DE656EE89AB73031C9DF19AC /* SDLSubscribeButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSubscribeButton.m; path = SmartDeviceLink/SDLSubscribeButton.m; sourceTree = ""; }; - FFBF2C7B854D7178A84DEE326D0F717A /* SDLLogFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogFilter.m; path = SmartDeviceLink/SDLLogFilter.m; sourceTree = ""; }; - FFBFF33E31E602CC9F59871BE29D61A5 /* SDLWiperStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLWiperStatus.m; path = SmartDeviceLink/SDLWiperStatus.m; sourceTree = ""; }; + F61313C1886B332D2F0390FEBEE186BE /* SDLChoice.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLChoice.h; path = SmartDeviceLink/SDLChoice.h; sourceTree = ""; }; + F69848BBB851E73A961ABD509A96FA9B /* SDLOnAudioPassThru.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLOnAudioPassThru.h; path = SmartDeviceLink/SDLOnAudioPassThru.h; sourceTree = ""; }; + F69BAB9533A64E79E944642D731471FD /* SDLLockScreen.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = SDLLockScreen.strings; path = ja.lproj/SDLLockScreen.strings; sourceTree = ""; }; + F6D88BD30A20B4D257B7CF47581E9CAF /* SDLDeliveryMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeliveryMode.m; path = SmartDeviceLink/SDLDeliveryMode.m; sourceTree = ""; }; + F7111C40A1B8D985183C000106A4045B /* SDLSetInteriorVehicleData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetInteriorVehicleData.m; path = SmartDeviceLink/SDLSetInteriorVehicleData.m; sourceTree = ""; }; + F75470D9588DBC08DC94E74BB7E678F4 /* SDLOnButtonPress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnButtonPress.m; path = SmartDeviceLink/SDLOnButtonPress.m; sourceTree = ""; }; + F783AA681B65EB189DCDDBF0D479C97C /* SDLButtonName.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLButtonName.m; path = SmartDeviceLink/SDLButtonName.m; sourceTree = ""; }; + F79AE8E9ADE72D6DE44E2276CEAD0C3A /* SDLOnLockScreenStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLOnLockScreenStatus.m; path = SmartDeviceLink/SDLOnLockScreenStatus.m; sourceTree = ""; }; + F7C5259708F8AF4982C24C1ED677BA04 /* SDLAudioPassThruCapabilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAudioPassThruCapabilities.h; path = SmartDeviceLink/SDLAudioPassThruCapabilities.h; sourceTree = ""; }; + F8422108EBCA981187191FB5C1C6143F /* SDLAlert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLAlert.h; path = SmartDeviceLink/SDLAlert.h; sourceTree = ""; }; + F8BCA7DDAC02AAC3F3B4BD14435C2606 /* SDLImageResolution.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLImageResolution.m; path = SmartDeviceLink/SDLImageResolution.m; sourceTree = ""; }; + F8F030BFD1C8C53533F5FE9C47B23B0B /* SDLUnregisterAppInterfaceResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLUnregisterAppInterfaceResponse.m; path = SmartDeviceLink/SDLUnregisterAppInterfaceResponse.m; sourceTree = ""; }; + F99552D589ED900BF989DBEC687D6487 /* SDLPerformAudioPassThruResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPerformAudioPassThruResponse.h; path = SmartDeviceLink/SDLPerformAudioPassThruResponse.h; sourceTree = ""; }; + FA55B3AD506D7300199B1A88A4C1922D /* SDLProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLProtocol.h; path = SmartDeviceLink/SDLProtocol.h; sourceTree = ""; }; + FA7520D29ADDEAE0706E4E297C9EC00B /* SDLChoiceCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLChoiceCell.m; path = SmartDeviceLink/SDLChoiceCell.m; sourceTree = ""; }; + FAAFF0562BE405586BCF1FDDF36AE5ED /* SDLStateMachine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLStateMachine.h; path = SmartDeviceLink/SDLStateMachine.h; sourceTree = ""; }; + FB4C01D533FFC24E248651CE7EA674CF /* SDLSetGlobalProperties.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLSetGlobalProperties.m; path = SmartDeviceLink/SDLSetGlobalProperties.m; sourceTree = ""; }; + FB5934EB6BF2DD837A0DDD267F040DC8 /* SDLRDSData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRDSData.m; path = SmartDeviceLink/SDLRDSData.m; sourceTree = ""; }; + FB630387201D5C255AAC684842BE5C05 /* SDLHMISettingsControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHMISettingsControlCapabilities.m; path = SmartDeviceLink/SDLHMISettingsControlCapabilities.m; sourceTree = ""; }; + FB7882BBC66764C5C31631C3E44872D9 /* SDLKeyboardLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLKeyboardLayout.h; path = SmartDeviceLink/SDLKeyboardLayout.h; sourceTree = ""; }; + FB7A1B092EFFA569A0209062DB70F20C /* SDLDeviceStatus.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLDeviceStatus.m; path = SmartDeviceLink/SDLDeviceStatus.m; sourceTree = ""; }; + FB963F962A2C0E4A36716A49E1417B18 /* SDLHexUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLHexUtility.m; path = SmartDeviceLink/SDLHexUtility.m; sourceTree = ""; }; + FBA716CC59FBC7633B82964878203C10 /* SDLGetInteriorVehicleDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLGetInteriorVehicleDataResponse.m; path = SmartDeviceLink/SDLGetInteriorVehicleDataResponse.m; sourceTree = ""; }; + FBB40AFB9493DDC169BE7015E9119C1C /* SDLLockScreenStatusManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLLockScreenStatusManager.h; path = SmartDeviceLink/SDLLockScreenStatusManager.h; sourceTree = ""; }; + FBC88689D957B55C0048D1CEDB2EBBC2 /* SDLUnsubscribeVehicleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUnsubscribeVehicleData.h; path = SmartDeviceLink/SDLUnsubscribeVehicleData.h; sourceTree = ""; }; + FCF86FF1762C0B9D3ADC7D0AC60200BD /* SDLEnum.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLEnum.h; path = SmartDeviceLink/SDLEnum.h; sourceTree = ""; }; + FD86549ACDDE44723749A963C8649466 /* SDLLightControlCapabilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLightControlCapabilities.m; path = SmartDeviceLink/SDLLightControlCapabilities.m; sourceTree = ""; }; + FDD0F81844113F875E5530B74E5059C3 /* SDLLightName.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLightName.m; path = SmartDeviceLink/SDLLightName.m; sourceTree = ""; }; + FDE4AE55BBF8F01C929485F3093C57D4 /* SDLRPCNotificationNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLRPCNotificationNotification.m; path = SmartDeviceLink/SDLRPCNotificationNotification.m; sourceTree = ""; }; + FE3D9FA9E20EADE3D814527B11431DD7 /* SDLSpeakResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSpeakResponse.h; path = SmartDeviceLink/SDLSpeakResponse.h; sourceTree = ""; }; + FE4DA3080A6AFF4573043FADA7FCB772 /* SDLControlFramePayloadEndService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLControlFramePayloadEndService.h; path = SmartDeviceLink/SDLControlFramePayloadEndService.h; sourceTree = ""; }; + FE7D0124F88DC1F3149FCBC1CC631444 /* SDLV1ProtocolMessage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLV1ProtocolMessage.h; path = SmartDeviceLink/SDLV1ProtocolMessage.h; sourceTree = ""; }; + FE8503F612720EBE84C85E9D319C3366 /* SDLAssets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = SDLAssets.xcassets; path = SmartDeviceLink/Assets/SDLAssets.xcassets; sourceTree = ""; }; + FEA3CF62D8E20C66A2127F8FE3D3DFB5 /* SDLLogFileModule.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLLogFileModule.m; path = SmartDeviceLink/SDLLogFileModule.m; sourceTree = ""; }; + FECAD3D772AE3D92F982F8D37CF84190 /* SDLStreamingMediaConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDLStreamingMediaConfiguration.m; path = SmartDeviceLink/SDLStreamingMediaConfiguration.m; sourceTree = ""; }; + FEF096B9ED60494498C54BF016616F93 /* SDLSetMediaClockTimer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLSetMediaClockTimer.h; path = SmartDeviceLink/SDLSetMediaClockTimer.h; sourceTree = ""; }; + FEF2F285408D6796CC68B3E5C8A67994 /* SDLUploadFileOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLUploadFileOperation.h; path = SmartDeviceLink/SDLUploadFileOperation.h; sourceTree = ""; }; + FF41DB53E65BA7A9D44CF06053B930A2 /* SDLPermissionConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDLPermissionConstants.h; path = SmartDeviceLink/SDLPermissionConstants.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1692,7 +1916,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14048B99A80B382E7BA75FB694C8E6B0 /* Foundation.framework in Frameworks */, + B2976840313AD10C6A1E93F7DE61F2DA /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1708,7 +1932,7 @@ buildActionMask = 2147483647; files = ( 11584E9D1A7D53016441935AA70254FF /* BiSON.framework in Frameworks */, - 5B32820C6D5D9747EF1CBE6BBA0851DD /* Foundation.framework in Frameworks */, + 15FEA41F68065902292818187AA0489D /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1716,831 +1940,59 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6AB5529F241B7A869137F4E1A5D61BC2 /* Foundation.framework in Frameworks */, + A4DDCF8F4E1736C6B915831927CD6C43 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 1216EC65287EAAA6BC625675CF16BF1C /* Support Files */ = { + 223DF75254EF6C3F1112A5278985E072 /* Resources */ = { isa = PBXGroup; children = ( - 1B639CEA1B8D7E5E771AD8A260D27B43 /* BiSON.modulemap */, - DB515CFA0F7F98851438AA02DC1CD74E /* BiSON.xcconfig */, - BF2DD2F14E29C5B4BD8772F8D8D0D5E7 /* BiSON-dummy.m */, - 188892980BDA40FC31E7BA1307209BE8 /* BiSON-prefix.pch */, - 899C97FE0766AFB0F05E53C99055AD0A /* BiSON-umbrella.h */, - FF1FF07C7E61A96D1C20217EC30CB1D4 /* Info.plist */, + FE8503F612720EBE84C85E9D319C3366 /* SDLAssets.xcassets */, + B13E714E9CFF859E95191063BF63F15A /* SDLLockScreen.storyboard */, ); - name = "Support Files"; - path = "../Target Support Files/BiSON"; - sourceTree = ""; - }; - 2240EE521C3D72FAC7A4062C7C257ACF /* Default */ = { - isa = PBXGroup; - children = ( - 93E20B99F7060DC53CB1F48DD8880267 /* CGPoint_Util.h */, - F4B6540A3F6F37B284413AB5F815EB18 /* CGPoint_Util.m */, - DC3D5A1C9A675BC2E3145E0FA8547B67 /* CVPixelBufferRef+SDLUtil.h */, - 9335987C284CB4E6952986BC5F3BEFE9 /* CVPixelBufferRef+SDLUtil.m */, - D8D4135A71A6EF924A76E956876C6B27 /* dispatch_timer.h */, - 3DAB9E7F93B0BB64566B9F49CE43CA3B /* dispatch_timer.m */, - 2E7273A0AA13BD481371B75380365962 /* EAAccessory+SDLProtocols.h */, - B90331919932878DA2DD83F05A689E44 /* EAAccessory+SDLProtocols.m */, - 4A7B5EC7697544F37BA45B3CE3AABD14 /* EAAccessoryManager+SDLProtocols.h */, - B756AA6AAB1C2516F2DD92EF41114E74 /* EAAccessoryManager+SDLProtocols.m */, - 32801D04602CCB5F6F59980E9D550249 /* NSBundle+SDLBundle.h */, - 0D48FD99ED11E20B1757DEA6BE5F209B /* NSBundle+SDLBundle.m */, - 84703A40ACC0DCD5B02AF51907E237D3 /* NSMapTable+Subscripting.h */, - 7F0BA322D3A336B555F7FAC39ED0CD5B /* NSMapTable+Subscripting.m */, - 2F75658478FF3D8638EF94C9CC553F49 /* NSMutableDictionary+SafeRemove.h */, - B792AFA7FFAD02CA7DB4753C054FEFE0 /* NSMutableDictionary+SafeRemove.m */, - 7ED2E0EDC4946A294F64629AA8FD1745 /* NSMutableDictionary+Store.h */, - F1971DBC4CAD14FBA85B5D7067A66E58 /* NSMutableDictionary+Store.m */, - DF7F7B73BB766A6B1B0AC928F34DBEED /* NSNumber+NumberType.h */, - 823871AE99E427A04BE082ACD251595B /* SDLAbstractProtocol.h */, - FA3B4D17D90185C4083745BEAA537CE0 /* SDLAbstractProtocol.m */, - 5B44A41EB7017D80D5A3002C9A946902 /* SDLAbstractTransport.h */, - 61B4429230570DFE3695C8F6204F4229 /* SDLAbstractTransport.m */, - B34A2D03E309D9EEFB2821183B494BC6 /* SDLAddCommand.h */, - 86BCB6348A43C55F7080BE30ACE53A2A /* SDLAddCommand.m */, - 9DAC1721453D27CE326FE59F8878FEE1 /* SDLAddCommandResponse.h */, - EEFD2066E52DD602AAA575BDF9055F16 /* SDLAddCommandResponse.m */, - 322A1E09E81C3510D187651C30F045DD /* SDLAddSubMenu.h */, - 5775EC56B2A7D567BA0FE1B2C03AE07F /* SDLAddSubMenu.m */, - 3738A2804D3A8B9154757AE81F0C606B /* SDLAddSubMenuResponse.h */, - F32BCFC28BCA916D5751770CA5898681 /* SDLAddSubMenuResponse.m */, - 97D6E0536FABDF145C9BD951D9769BF0 /* SDLAirbagStatus.h */, - 9C0C1896E7E7714C0AA2732EFC990920 /* SDLAirbagStatus.m */, - 3A2D0DE52C7626DDDFF8EDBD3B93D353 /* SDLAlert.h */, - 53C167FD7BCA4829DFD2214A46686E82 /* SDLAlert.m */, - 25741A09C3513698722EBF06F0E26ADA /* SDLAlertManeuver.h */, - 5946BE7191AEE6E391DD782253C78A30 /* SDLAlertManeuver.m */, - A58B5C37FB37F8DCE1159C33D90DE877 /* SDLAlertManeuverResponse.h */, - 1422525C33B821FE4C721FFD37D56089 /* SDLAlertManeuverResponse.m */, - 96BEEE371A0186B2D50B4BCA13AF42C1 /* SDLAlertResponse.h */, - 320D147296439C0D83D292D71A06F489 /* SDLAlertResponse.m */, - A9BBF9B6E369397E61060BC0B878C8C8 /* SDLAmbientLightStatus.h */, - 02DD25EAFBE7B7459F3CD132A4D00F63 /* SDLAmbientLightStatus.m */, - 2CE5E2AF891CF3912C78F93A29BD1653 /* SDLAppHMIType.h */, - 94ACACD6E20B6C74C4E98F979C206B2C /* SDLAppHMIType.m */, - 82A2DBED26074FE969A252E07792CB6D /* SDLAppInfo.h */, - BC9BC15FCDA4874E5C1042CCDA58C4CE /* SDLAppInfo.m */, - 32DDE8FA8E3A56A84E9E4A6D6814BE94 /* SDLAppInterfaceUnregisteredReason.h */, - 3767A5E252D84087D82485E1D28B909F /* SDLAppInterfaceUnregisteredReason.m */, - E24B888B2F5F389742972494518471C7 /* SDLArtwork.h */, - A0D14FD26D32413C3C8734789689D479 /* SDLArtwork.m */, - 15C8806219498E04528D149259E2B9AA /* SDLAsynchronousOperation.h */, - B314827C05C6F05646F8C1EA76E1C0FE /* SDLAsynchronousOperation.m */, - ED918E99F9CDDA35A51ACE73C86332AD /* SDLAsynchronousRPCRequestOperation.h */, - A5AEFACCEC86A1ABB9AE88EF4CBACC0A /* SDLAsynchronousRPCRequestOperation.m */, - 71A7E7055C841CA2EF414F96E33DE2E7 /* SDLAudioFile.h */, - 8BF3C582473FCB8D62BB29CFB8783E4F /* SDLAudioFile.m */, - D071EA8B510835B8A49F0EED09FE0D5A /* SDLAudioPassThruCapabilities.h */, - A9B8523BC9B75465B482626AEC33618F /* SDLAudioPassThruCapabilities.m */, - DA5F88A7E3297E958D34AA141ABD5FDA /* SDLAudioStreamingState.h */, - 5B0E10D3001CE935F56EAB791EFC462C /* SDLAudioStreamingState.m */, - 2F496E80D1A66BDAD2176946E26FFDD3 /* SDLAudioStreamManager.h */, - DFA23CD1DAFC1C6BC1955758781331BB /* SDLAudioStreamManager.m */, - 079F4356A3B792B0143EFE19DBE61DE5 /* SDLAudioStreamManagerDelegate.h */, - D6EA8ED7910972274124392807D6699A /* SDLAudioType.h */, - 7D307C9E502B0FAE99D74D1B6C5C7C20 /* SDLAudioType.m */, - 99101A7333E117C1AF240A74FD999A9B /* SDLBeltStatus.h */, - DE06856700144AF77009C3499398CFCA /* SDLBeltStatus.m */, - CB4BB9D646CA8516EA4E7AF4997635D8 /* SDLBitsPerSample.h */, - 453EDA95886439462258EABE9FF5AE22 /* SDLBitsPerSample.m */, - 547874616D7508E1585E0B25E418ED52 /* SDLBodyInformation.h */, - FBA39F7D420B73EFD2A1990103298EA5 /* SDLBodyInformation.m */, - 518AF6144EABB55A43919530E2FBEC7A /* SDLButtonCapabilities.h */, - 2D10A5B41528B4BE3F02408E7CBEFA01 /* SDLButtonCapabilities.m */, - 0B959251FECD9D8275504381EE6E194D /* SDLButtonEventMode.h */, - 88587DAE691BD3C101E6EE08D16CCAB0 /* SDLButtonEventMode.m */, - 16DCA08A62D069024CF7031BFB3F7A6F /* SDLButtonName.h */, - F423A4D41C403A561BBABC910E54EB64 /* SDLButtonName.m */, - 94A08919AAB83DDDC2D2E6E5CB4B2517 /* SDLButtonPress.h */, - 757A356A939D205F7244B72F4014ED43 /* SDLButtonPress.m */, - E310AF9328DB666DC0467DC4EB8721B2 /* SDLButtonPressMode.h */, - D7ACA7340665DE4E70A8787C6FEADDAC /* SDLButtonPressMode.m */, - B89924B3F2813B714A820FDB6827C8B4 /* SDLButtonPressResponse.h */, - 59E19313C500E3261DAB6D9D3B2B87DF /* SDLButtonPressResponse.m */, - D4631D29C5F63679E274878FFF47777B /* SDLCarModeStatus.h */, - E5D80FA75D57BECE3D1ECC0362643C7E /* SDLCarModeStatus.m */, - B5C726955CCE1B8987C0D6F46BE4A64A /* SDLCarWindow.h */, - 63DB2A05135DBBAFA54C006B5757B7A8 /* SDLCarWindow.m */, - 44F22EBB1FA7AB6F3B2FE7F9179FE5CD /* SDLCarWindowViewController.h */, - 04D573E594B3BA7E816B13C50B987CE9 /* SDLCarWindowViewController.m */, - 83C22C1F91769C32F4DCB37816D2AD6C /* SDLChangeRegistration.h */, - BCA7A8B50FE903F4DB6A1A8F4DD0A2C6 /* SDLChangeRegistration.m */, - 04CCD3219F9D51821608D9840ADD0E4A /* SDLChangeRegistrationResponse.h */, - CB94694550D361EA13FBCE3A1216ED85 /* SDLChangeRegistrationResponse.m */, - 1856A5FAE80576C15E62725712E621F8 /* SDLCharacterSet.h */, - 3A4DF21F131489E86670561EA1BECB5D /* SDLCharacterSet.m */, - 0750D6680A65FE3E62BF3C126189AD5B /* SDLChoice.h */, - 31681CBEF278AA4C17E19B6561909E3A /* SDLChoice.m */, - 8F542112E3EA5E9B1175E444CDD0A5DC /* SDLClimateControlCapabilities.h */, - ECFC2A9D93FA3B254263D5223C63C6F6 /* SDLClimateControlCapabilities.m */, - B25A1E9589F23622CFC291E01E8D765A /* SDLClimateControlData.h */, - 97789EF8DCE1257FDE4BAD40A417DF0E /* SDLClimateControlData.m */, - 745FAB4FC4B2A411CF338A511FB92139 /* SDLClusterModeStatus.h */, - E39D364BE104E5017C708F7AC72F2C16 /* SDLClusterModeStatus.m */, - 657ECE28E408DC105862494BD97E8F95 /* SDLCompassDirection.h */, - AE76335C84DD0DC12B5C81724CC07D76 /* SDLCompassDirection.m */, - 3A4BEFDAE32730F452271F3CFF9EAD46 /* SDLComponentVolumeStatus.h */, - D015AD0243666FD47AD1932EB871E69C /* SDLComponentVolumeStatus.m */, - 5268DD82A1B1F005044353615124613A /* SDLConfiguration.h */, - 1C23FE604F09B27C716B681337528E74 /* SDLConfiguration.m */, - 5F57760D011E456CF25E494C71BC5964 /* SDLConnectionManagerType.h */, - CFF0A25F0ECD4748F74D123757210B63 /* SDLControlFramePayloadAudioStartServiceAck.h */, - A4853106AC4173444F1553EE82745CAB /* SDLControlFramePayloadAudioStartServiceAck.m */, - D45385A212865742CD7117F3B64CA363 /* SDLControlFramePayloadConstants.h */, - 199FB6CACB846ABDDD254A9AFB281FC0 /* SDLControlFramePayloadConstants.m */, - 3EC2742BC9AA7945E9F76EBF1D7FF1BB /* SDLControlFramePayloadEndService.h */, - 0623C8C19365F9F804F238B8A4DDED14 /* SDLControlFramePayloadEndService.m */, - 7F6CE004CA05C008DADF5E7E11FCC452 /* SDLControlFramePayloadNak.h */, - 0586F93ECA123154ED03417956F211C5 /* SDLControlFramePayloadNak.m */, - DB9EEE3EB3BE1145C1607125D2BE55E5 /* SDLControlFramePayloadRPCStartService.h */, - 77258206B5F52AA06A9B47FD426E37BA /* SDLControlFramePayloadRPCStartService.m */, - 9414AFF8303E274A46A24B63AB8298B7 /* SDLControlFramePayloadRPCStartServiceAck.h */, - C1A3C30A75CB3EF8356671BA3CAD399C /* SDLControlFramePayloadRPCStartServiceAck.m */, - 1C0DB0A95C98092AD86029EA15484EA7 /* SDLControlFramePayloadType.h */, - E904D5D0EE87026CDB3DF00C58F20233 /* SDLControlFramePayloadVideoStartService.h */, - 7B01E6DDD8FB15B24146B78EE6BDB69C /* SDLControlFramePayloadVideoStartService.m */, - 80303963962D50249F37233AFBBA124F /* SDLControlFramePayloadVideoStartServiceAck.h */, - F6566A6CDA8E27E6B4477B1EEA6051FA /* SDLControlFramePayloadVideoStartServiceAck.m */, - 5B94D52010A14477BD83D616DE62548D /* SDLCreateInteractionChoiceSet.h */, - C27629A0F7B15FFFA84130453D5ECF38 /* SDLCreateInteractionChoiceSet.m */, - 263F02748D9A40EBF6B24065DAFF32DE /* SDLCreateInteractionChoiceSetResponse.h */, - F5A63EF44669AB129E6753145E31FAA0 /* SDLCreateInteractionChoiceSetResponse.m */, - 0B81D78EA8AD03A18D016D55E2B58E33 /* SDLDateTime.h */, - 0EE4CE347627992A84B9DB99FFF4C8C4 /* SDLDateTime.m */, - 325A789D494FDDC8E61353DFB5AA99E5 /* SDLDefrostZone.h */, - 6908E433DCF478B246475719EE75BE15 /* SDLDefrostZone.m */, - EFB9F9609C22E4B7BF9D0005B62721A7 /* SDLDeleteCommand.h */, - 21C99B2A2F3A670EA5D348869D52AC06 /* SDLDeleteCommand.m */, - E04A89C225FB5A38794A9F01530DD90B /* SDLDeleteCommandResponse.h */, - 825BB692C8F9C3A5F46C28FCDC6E77A6 /* SDLDeleteCommandResponse.m */, - 4B5E4AA20353C6793E2FB84758E22D31 /* SDLDeleteFile.h */, - B6E5367EC8EDE9316F259706478E60CA /* SDLDeleteFile.m */, - 341AF01F9B542680DD7CCF67619354F9 /* SDLDeleteFileOperation.h */, - E7087CBBF1010C5820AB7D9677BCF73E /* SDLDeleteFileOperation.m */, - 14874E494E0A1FD5802306F2DDC83161 /* SDLDeleteFileResponse.h */, - 78B64884FE6C2D7EC953D3B848ADB553 /* SDLDeleteFileResponse.m */, - 9570FE2694F7DD9F9D9551BCAF47A0FD /* SDLDeleteInteractionChoiceSet.h */, - EA6281E5316B7000463004960C9B1502 /* SDLDeleteInteractionChoiceSet.m */, - A4DE8F4F926F1544B1408A6C17006500 /* SDLDeleteInteractionChoiceSetResponse.h */, - 60EC7C292921202A49FC9F4689D8F146 /* SDLDeleteInteractionChoiceSetResponse.m */, - 81E1F5998DED2A2A4CDFBAED37FF1DEF /* SDLDeleteSubMenu.h */, - A8F98020D4C0292E2DCFF8ADC29E2E6A /* SDLDeleteSubMenu.m */, - 128B75FD451F1275DD1DEF7A354BDC3D /* SDLDeleteSubMenuResponse.h */, - 6CE49890301CD21C114B8FF26BE7453C /* SDLDeleteSubMenuResponse.m */, - 91D16A339EAD3A7CE2A3EF0AC3F60A6E /* SDLDeliveryMode.h */, - D5E5C135C6E7AFC6A2D8402CF76B99F8 /* SDLDeliveryMode.m */, - 6F78D38F34622FBF944AC37B61C4A225 /* SDLDeviceInfo.h */, - F01AFA438715DD6B89E6C8DB654661EC /* SDLDeviceInfo.m */, - 0F78CF4FAF87A3887AD5BFB9EB5F05A7 /* SDLDeviceLevelStatus.h */, - B206FE937C25674755F2EA4E3C49E6CF /* SDLDeviceLevelStatus.m */, - 18FE0793A0F65CAF41F3FB4F19ABC6E1 /* SDLDeviceStatus.h */, - B4EDB7744C2C539129CE3FCADAD3D442 /* SDLDeviceStatus.m */, - 7BA4B71BD09D466AF2B8A70D4268AA95 /* SDLDiagnosticMessage.h */, - 61F816736C706CF9605A674F26A289C1 /* SDLDiagnosticMessage.m */, - 012D7B455BE27465AAD435ECD1F0BE3D /* SDLDiagnosticMessageResponse.h */, - 7498404FE3F238A8759B47A2368865DD /* SDLDiagnosticMessageResponse.m */, - 76E6658100C9B7685A573604AEA11C04 /* SDLDialNumber.h */, - 9CAB0E27C0D88B69B7F70493BB09E814 /* SDLDialNumber.m */, - 6EDA51BA7B4A4E7CB83E6363E2AE32D9 /* SDLDialNumberResponse.h */, - 926F1D75D3995E6766EE0C2CF88EE57A /* SDLDialNumberResponse.m */, - 25D633CC7C011C334D02692E44596FAC /* SDLDIDResult.h */, - 4F7447882471CE8BBF3F04CD253E1F0A /* SDLDIDResult.m */, - D497E4ED33214A68802A49A1E64764A9 /* SDLDimension.h */, - E1EA9D4A4C105DC423931275686586DB /* SDLDimension.m */, - 9910445C0F0CD716DA827FF79816078A /* SDLDisplayCapabilities.h */, - 794E4F5AAF3142A666624BA2B7916F5B /* SDLDisplayCapabilities.m */, - BC9A0419AF6A13470FEFF81E07359674 /* SDLDisplayCapabilities+ShowManagerExtensions.h */, - ADEE2DEF2B9BF06852C5F45AE3495DAF /* SDLDisplayCapabilities+ShowManagerExtensions.m */, - 24578FC4229D8CE8AB075AB832CD9B3C /* SDLDisplayType.h */, - 1EC13DE4AEC9C1A0E5F0F9AF5FBA188F /* SDLDisplayType.m */, - 1C8E133009D9D4A30FDD034E77B15E32 /* SDLDriverDistractionState.h */, - EBD04D7DBFAD84BB9A1395D7F768DFD4 /* SDLDriverDistractionState.m */, - 8A0C4117F0D9E52CDF1DFE5B17C9814E /* SDLECallConfirmationStatus.h */, - E380AB39FA8D4B923ECF1024C9FE9C99 /* SDLECallConfirmationStatus.m */, - 0956694522D0CEEDB373F3A6CF3F9336 /* SDLECallInfo.h */, - 57C1723C2BDE9F75A620D3C22CD31BB3 /* SDLECallInfo.m */, - AAB3F6CAF01D028140320F6C3476F7CE /* SDLEmergencyEvent.h */, - 63A5D5482CF827BD4EC3B36E27CA5C58 /* SDLEmergencyEvent.m */, - 9860654745A9FC8A6C2CAC397104E080 /* SDLEmergencyEventType.h */, - 1D1AC32766F83BEB3FB2B41F520429D0 /* SDLEmergencyEventType.m */, - 164EB7D01FB9305F99542C650BEE139E /* SDLEncodedSyncPData.h */, - D6E3EA6F65F2791258470F3F42459CEF /* SDLEncodedSyncPData.m */, - 65A0E874441A41302823DDB1A027EA15 /* SDLEncodedSyncPDataResponse.h */, - E0830080B8AB02DAF096B377EAC594CF /* SDLEncodedSyncPDataResponse.m */, - BC328745528D6947708B34BCDC4B25E9 /* SDLEndAudioPassThru.h */, - CC0BB33A24A0B55AE569C740921E898E /* SDLEndAudioPassThru.m */, - 3ECFB961752A6419C9D2AD686454460F /* SDLEndAudioPassThruResponse.h */, - E4229DCA3ED077CCCACB02298BC12A53 /* SDLEndAudioPassThruResponse.m */, - 7A363F98A7FC95A3B402BEB625C0E79B /* SDLEnum.h */, - 88D40B45BFAE22C6DA3863354B59D2B3 /* SDLEnum.m */, - B7F0A41B14FD3B58752CE842EC5F304F /* SDLError.h */, - 3E95E63CBCE0B2E0A9B17FF3C32046A0 /* SDLError.m */, - 445DC39371A22A05186CFEFD919EF6A6 /* SDLErrorConstants.h */, - F9CE396C547D0051364D5D99706D3650 /* SDLFile.h */, - 64E58E3113DA5BCB8C799ED409C889BE /* SDLFile.m */, - 8FA68184BE9704D0BD63C8301877258E /* SDLFileManager.h */, - E11970A27E84E0CD1D38BA2E305479D1 /* SDLFileManager.m */, - 1C31112B130268BB7FDC3A81620FA72A /* SDLFileManagerConstants.h */, - 021B22A06002C920E355D98F3644EECC /* SDLFileType.h */, - 0B027CD6EAB04E5C00EF15FB4C18285C /* SDLFileType.m */, - ED94EE7F7AE5652075F97AC5DA30FBE4 /* SDLFileWrapper.h */, - 1A6979C897AE60F07F2C41CF4F776B50 /* SDLFileWrapper.m */, - EFD239FBB2DD93E728C2780153BF7DD7 /* SDLFocusableItemHitTester.h */, - 71395EB3E9F6449AD408F7588CCB200A /* SDLFocusableItemLocator.h */, - 79873851D9B225C9CC58E1B2CDAEC884 /* SDLFocusableItemLocator.m */, - EF84E5E0417123EA9547B3D2EF005228 /* SDLFocusableItemLocatorType.h */, - 0572F70A081EC9B172EBC62E17BE2471 /* SDLFuelCutoffStatus.h */, - 3199E68AFFFCE3F4F52DED5B530F231B /* SDLFuelCutoffStatus.m */, - CED472F38093861C68B9C313E5038CF9 /* SDLFunctionID.h */, - EE35E9F428033D9EC428FEB668D4F46E /* SDLFunctionID.m */, - 58A357808626910438EE341511854465 /* SDLGenericResponse.h */, - 3FB1521438817A78B2B79C382165C1AB /* SDLGenericResponse.m */, - 9D79FCF0941E1A9E98538BFF10734EDA /* SDLGetDTCs.h */, - 6020EE2B2DBCCAE4CC462D508ABA25C4 /* SDLGetDTCs.m */, - 5014A2CC8DC44BC1AFC70F11AB2B3242 /* SDLGetDTCsResponse.h */, - 8F979E60B2948AEE9A7B7A0459FFF705 /* SDLGetDTCsResponse.m */, - F6CDD763187AAED19EBBA793446B6710 /* SDLGetInteriorVehicleData.h */, - F1C3A65D590BC50EEDBCBAB6EFD30E02 /* SDLGetInteriorVehicleData.m */, - C6B7F2821DA9560C9EDF9BD16A9925DB /* SDLGetInteriorVehicleDataResponse.h */, - 90EAF75372588B006E99BC124524CE47 /* SDLGetInteriorVehicleDataResponse.m */, - F17E04D9CC6C667358EFD35214337C18 /* SDLGetSystemCapability.h */, - 89B03CC1E5E139CEE4857701F8C625FA /* SDLGetSystemCapability.m */, - B324258DBED76B41D481FEC0C8E7E4E4 /* SDLGetSystemCapabilityResponse.h */, - 8D2D226C274F0F93A7F64BC3B842FE6E /* SDLGetSystemCapabilityResponse.m */, - 93DE1CE19A3F7D566904D73B551BCFA8 /* SDLGetVehicleData.h */, - 52E2B8E10DD83EA172E11AD5200F3F69 /* SDLGetVehicleData.m */, - EA9D90BAA9DD698A5DABBA0DC9B4935A /* SDLGetVehicleDataResponse.h */, - 2A66B5A42FFF967D0DA2537D9F6975A4 /* SDLGetVehicleDataResponse.m */, - 94053D106AE9B7BA6CE7678BBBD0E282 /* SDLGetWayPoints.h */, - 044C100D99D19EB6AF7709EA9D102779 /* SDLGetWayPoints.m */, - EB8E1206C47BA6119BD6B0B5ECDA589E /* SDLGetWayPointsResponse.h */, - 041D6A17A65DA079AE9F732CA17D15D8 /* SDLGetWayPointsResponse.m */, - 5BC96EDD5C6791AEBA2A7E6295EED71D /* SDLGlobalProperty.h */, - 23AD8AAF519200235AA3D890642B861B /* SDLGlobalProperty.m */, - 3F5AA5F7CD298F98781CDDFD3EF5C93F /* SDLGlobals.h */, - 40F6334E1786D525B0B7D6D8EE521BC0 /* SDLGlobals.m */, - A4A557FE3FB37D862975E8D19941381A /* SDLGPSData.h */, - DF08DBCC86B21FD3CD8850A1B0209110 /* SDLGPSData.m */, - DEEAB6F4072864C53ADA2A34D4140A42 /* SDLH264Packetizer.h */, - 526C0D5B1B91B812A0896D5395EC2CCF /* SDLH264VideoEncoder.h */, - 9FE168F4DE2C817BEC3A8940F4DBB3F5 /* SDLH264VideoEncoder.m */, - 737BA4740552F3A781A7496F8FEFC96F /* SDLHapticRect.h */, - DE3E9DCB5C3B44E5DDCCA5AE939CC761 /* SDLHapticRect.m */, - 3254DB97291B02CE15A70E6FAEF9C482 /* SDLHeadLampStatus.h */, - 128001C01EDA9F7D890918A0A4FCDB12 /* SDLHeadLampStatus.m */, - 4B1825059712D681281C17D17533E154 /* SDLHexUtility.h */, - B16451B05F7B7998916902BDC272DA7B /* SDLHexUtility.m */, - 252DC8F7CF4330A783C77B937384C378 /* SDLHMICapabilities.h */, - F3BD2463732FE6741B7C7C37D48A6EFF /* SDLHMICapabilities.m */, - D6B576AD44FD1BFA75E6B936B1D8567B /* SDLHMILevel.h */, - 96DD211DEABF19A038C08B72AC86E640 /* SDLHMILevel.m */, - EDEB82467E0A44526D8BD7AC21CEEDD2 /* SDLHMIPermissions.h */, - BB7799F1427058BA351A0944D9735170 /* SDLHMIPermissions.m */, - 0FA174FC6844D237017DFCC6F7588BB5 /* SDLHMIZoneCapabilities.h */, - 438FA9580E56B9F6B2D7DF09E6CF2BEC /* SDLHMIZoneCapabilities.m */, - 612350B1D0B456D43243685AACC124E6 /* SDLIAPSession.h */, - 2448A3348E0BD2495D81511AADF8C784 /* SDLIAPSession.m */, - F4403D536EF76F56B835F372397325F4 /* SDLIAPSessionDelegate.h */, - EBB7EFEAF1916EEF5741C23A8FC69661 /* SDLIAPTransport.h */, - 06D042A26D2DBACC0CFF0460DE91E12A /* SDLIAPTransport.m */, - 8EAD0447E8D0506AACC8C88E1D7FD847 /* SDLIgnitionStableStatus.h */, - 3DC57EBBDAA249CA024D694DA528AAEF /* SDLIgnitionStableStatus.m */, - B8B817AC2DB21FDF0548EDFB28EF20EE /* SDLIgnitionStatus.h */, - 75EE0CDBAFAD51454909052F55FAE9A3 /* SDLIgnitionStatus.m */, - 1DA512F98EBA8138EC6E64D1C8AC8C05 /* SDLImage.h */, - C5537A303518773C34506FD59BB66F24 /* SDLImage.m */, - 2B002D9AFD977FD30D4C4CEB25F38ED5 /* SDLImageField.h */, - C1FAB7BFA2474926AA957A26CFFB7565 /* SDLImageField.m */, - E2858263BCBC76ADF5C461E5D1C6787B /* SDLImageFieldName.h */, - 19B47F836EC866B522C7E0B4C3439089 /* SDLImageFieldName.m */, - 5F27FA1B32E1E42AF978FABEB3B52E20 /* SDLImageResolution.h */, - 3E95BDBAC803D2276C0BF065D6CAA05A /* SDLImageResolution.m */, - 066C960A10A907973591EDC40DCACE2A /* SDLImageType.h */, - 478C9CB222C2DAC99B812B3CFC336632 /* SDLImageType.m */, - C12DBB316844772F9BB6A9A0FF128EA1 /* SDLInteractionMode.h */, - F752AE6B2427A143BE8CAED17655ECE7 /* SDLInteractionMode.m */, - E82CF9B602124E1C294DC38FEE30779D /* SDLKeyboardEvent.h */, - C8F997D3DCE393AA4F534F35A291E89A /* SDLKeyboardEvent.m */, - 2B3E0EA8EE62C7B1FF9C5F15AFB0BB62 /* SDLKeyboardLayout.h */, - FC14DDD41DB0521B0EFE9B685BA9F245 /* SDLKeyboardLayout.m */, - 1027A56B25B8389BA04979A6183D874A /* SDLKeyboardProperties.h */, - EDA762D0A95A168C4AE1F43F013D2207 /* SDLKeyboardProperties.m */, - D652C290A748FF731864BD729A0A81BB /* SDLKeypressMode.h */, - 257329262136BA147919B83BCF64C4B1 /* SDLKeypressMode.m */, - 6DDBC0E3BEB85781A07B993B386AF2CF /* SDLLanguage.h */, - 20745CEA7EAB65015442DD438C902D01 /* SDLLanguage.m */, - 6ED1E95CF6535BE0B3E5A326722608C7 /* SDLLayoutMode.h */, - B3B9217762C0EBA9B4DB8E1EB2B837DC /* SDLLayoutMode.m */, - B8D720496413112E52B1E461D8F59198 /* SDLLifecycleConfiguration.h */, - 58CBDC8D8287ECA6DECA03091E37FDAD /* SDLLifecycleConfiguration.m */, - 122FA2E1242EDA6CEF12B0DD588A28A7 /* SDLLifecycleConfigurationUpdate.h */, - 721905C4AA7BAAA0EB11B158FB89719C /* SDLLifecycleConfigurationUpdate.m */, - 7A29AE11104A010EA4B281884552D2CB /* SDLLifecycleManager.h */, - 31A678843C347F401D27E67837B61C71 /* SDLLifecycleManager.m */, - 28E196B50F3676805BEF66B3CF13640F /* SDLListFiles.h */, - 9B4C2EC633FBACB53FFF9C13F8FFE4EB /* SDLListFiles.m */, - 40BC300AE8BAFBBB4ADB37A1A02636DC /* SDLListFilesOperation.h */, - 7A1B19A4829DF9ACC1AF7DE1CCBC81E2 /* SDLListFilesOperation.m */, - 51A9F30C35B04B558A7C6079A283B1A7 /* SDLListFilesResponse.h */, - 8B8D80778C6B6AE24DCBEF558C4D7BC2 /* SDLListFilesResponse.m */, - 0C236FCE582649B160F1BDBCA9FBD7B2 /* SDLLocationCoordinate.h */, - ACFBDD370CA1015DA519E30A614A8982 /* SDLLocationCoordinate.m */, - 6B7F20C853BEFCC211DE2A8ED86F0884 /* SDLLocationDetails.h */, - 3F834A5E3CBCA128C0FD94297297FDC2 /* SDLLocationDetails.m */, - 0D987C210C6A80C771D0197DC0C82E83 /* SDLLockScreenConfiguration.h */, - 07D1FD5901B3D3F6D8F1E521F0B6FAE7 /* SDLLockScreenConfiguration.m */, - 66685FFEB2AE38A377520BFC390DA345 /* SDLLockScreenManager.h */, - 54A5550C879D839FE7C3307B9E7C5075 /* SDLLockScreenManager.m */, - C43CB0DDAB5A3AAD09CBE4EAC6F337A8 /* SDLLockScreenPresenter.h */, - 4F71CC3B0D2175EB5D84032F55CB5CF8 /* SDLLockScreenPresenter.m */, - 22B6CB0C4D0117D47A6314066A263AFC /* SDLLockScreenStatus.h */, - 774101501AB8DD1203D4CCEEBC4C83CD /* SDLLockScreenStatus.m */, - 2074E4AA05A56C6E4161C111A5B954F7 /* SDLLockScreenStatusManager.h */, - 8119A87FD83CFA7875A610055C5D34D6 /* SDLLockScreenStatusManager.m */, - 6B2363D20AFD58BFCA8E12F530E35FCE /* SDLLockScreenViewController.h */, - 3703B9758F7AB59DAC77986B0651007E /* SDLLockScreenViewController.m */, - ADD9923D38809C26A3B17517578AB241 /* SDLLogConfiguration.h */, - 18C1EB917BA2290A7EC61020A67416A9 /* SDLLogConfiguration.m */, - B284811B4E67CC3BCA6ABEDE9DF81B38 /* SDLLogConstants.h */, - F31E174CB1792219125E54F8B9533A4F /* SDLLogFileModule.h */, - ACA514171308C7B5A9DC25211634C84A /* SDLLogFileModule.m */, - D7E083B3F536B4D33B24F251CA318C95 /* SDLLogFileModuleMap.h */, - 3DFA63D12AC8B0E4402E96713683C411 /* SDLLogFileModuleMap.m */, - 9E1B0F1ED6F9C4649F892920CD775E79 /* SDLLogFilter.h */, - FFBF2C7B854D7178A84DEE326D0F717A /* SDLLogFilter.m */, - 64FD2EA7DAD5070878138C106365C964 /* SDLLogMacros.h */, - 7A862B2341F13D19D9AD5CB93B3F07FB /* SDLLogManager.h */, - AF548F447D6C7999906C27FB0A7558D7 /* SDLLogManager.m */, - 2793A9A2C1B3BECE22CC7E695AE42B90 /* SDLLogModel.h */, - 1E8C048906632D0D18B484223C0C44AB /* SDLLogModel.m */, - 0EFFA91E2CA66F631E5E2E51346C57D0 /* SDLLogTarget.h */, - 210741B106D84E890EFB95BBE1D639A2 /* SDLLogTargetAppleSystemLog.h */, - AF325063268AFD8725D5A21CA73E18BC /* SDLLogTargetAppleSystemLog.m */, - 586FC5CCDC205BF4164AD370E5820B83 /* SDLLogTargetFile.h */, - 4250D9B739A051CD2F62DEFAFDA6039E /* SDLLogTargetFile.m */, - 43DB8886C4EAD37621417D8648C80EF3 /* SDLLogTargetOSLog.h */, - 831DE64D7E12DECE705227E7D204DCAD /* SDLLogTargetOSLog.m */, - 5C1CECB04172FFBF1FC5669373B9B2B9 /* SDLMacros.h */, - 610628E53E0DFA4080A416ACD11AC5AD /* SDLMaintenanceModeStatus.h */, - 2CE93CBBC2E8FB92B9FA025A704C6FE4 /* SDLMaintenanceModeStatus.m */, - 8201BF478358844F34CB4BE9A1CB0052 /* SDLManager.h */, - 82BD68DA995747A7C868ACF2EF7BC39F /* SDLManager.m */, - 98DAD9FE95481ADED5434776912E1BAF /* SDLManagerDelegate.h */, - EE1C3562DA4E895817279B70AA6EA929 /* SDLMediaClockFormat.h */, - 14A39892ECE8CDE25EE5E66FF11A8268 /* SDLMediaClockFormat.m */, - D9D764A3DA418A19838AC0E9F1D9A0D8 /* SDLMenuParams.h */, - B9E2048B155209ADCECB279831BE9BBC /* SDLMenuParams.m */, - C2A77688A1DDECA795226E8C57626D90 /* SDLMetadataTags.h */, - 03BEEBA9298F356E391994DB3FD2C565 /* SDLMetadataTags.m */, - 383912258B14D2DC93509188212D3117 /* SDLMetadataType.h */, - 56433433DFF7134C257EF551FC5E0C70 /* SDLMetadataType.m */, - 1D3A62F2C8A3B95E9B38974F438F073B /* SDLModuleData.h */, - 7E12DD162E23EADFFF83A7E121458E4C /* SDLModuleData.m */, - B6D737CCCB23752D7FBC3C4EECA8A1D3 /* SDLModuleType.h */, - 316BC50E936E7E22193D5D04918CC6AB /* SDLModuleType.m */, - 63F73DF4D7D119C609211BC087905A9E /* SDLMutableDataQueue.h */, - 1124B8E4354D56A8708267EB181EA7E0 /* SDLMutableDataQueue.m */, - E7098329CBB9710CE2061A45D4505B5F /* SDLMyKey.h */, - A457E26679E0F2BCEE231A82D4A64B04 /* SDLMyKey.m */, - 85FF7D7562ED37453FEA41F13EBDD908 /* SDLNames.h */, - 9F68D769BB70D027A0DE080A79F2727B /* SDLNames.m */, - 0407E0DC358DB63B2D2DFDA77732DED6 /* SDLNavigationCapability.h */, - 30436ABE962D88BA8122BF49B1AC9C2E /* SDLNavigationCapability.m */, - 902E9B90FFA2C83513BDDCE8F591987B /* SDLNotificationConstants.h */, - 699CEF05B27D9572F223D3FDEBE301F3 /* SDLNotificationConstants.m */, - 81AD775CC6BA838A9FD501352580255F /* SDLNotificationDispatcher.h */, - BC6C2D8AF68DD7068995D48B62C12765 /* SDLNotificationDispatcher.m */, - D6EFB5528DE72236C27072B85AFB6F80 /* SDLOasisAddress.h */, - 6459AC428E77B3CBBFE60EDA2E670AF8 /* SDLOasisAddress.m */, - 9C0BC98255DCF5131698071DD8528CFF /* SDLObjectWithPriority.h */, - 13FCA33B2F9BF733AD5049A9A0780D2D /* SDLObjectWithPriority.m */, - 8DA7402942894690DDC3563211F92896 /* SDLOnAppInterfaceUnregistered.h */, - D09AEAD27C89EC1ECB874643AE386E85 /* SDLOnAppInterfaceUnregistered.m */, - DF146794DD78E6512EC09AD69226C32D /* SDLOnAudioPassThru.h */, - D8B6553A649FAA4A3113D7494EF4AF9A /* SDLOnAudioPassThru.m */, - 4B5CB2F5353A5A13565E6C1685F64CE4 /* SDLOnButtonEvent.h */, - CABDD61F55B0AC760C9908587E0641C6 /* SDLOnButtonEvent.m */, - 69EBD116A26FC17AD429400D0A618704 /* SDLOnButtonPress.h */, - 1A1AECCFFD9DB71BA20FF05A4808A0DB /* SDLOnButtonPress.m */, - 1D464F7AE9A045EDD8E966095CBC8781 /* SDLOnCommand.h */, - 9B6B596718E48835DC7485622E9E6536 /* SDLOnCommand.m */, - 8ACDD497B27A6C8A00EC8DC87BFC9DE2 /* SDLOnDriverDistraction.h */, - B4D3863E8932C7EC9D89A9389E64CD4A /* SDLOnDriverDistraction.m */, - 2122E05853611926EE573B16F4C85965 /* SDLOnEncodedSyncPData.h */, - 64B40EF47566E5F760D6B9A92AAC8241 /* SDLOnEncodedSyncPData.m */, - 955E0095E99E594118A69C9EF7D4D2E0 /* SDLOnHashChange.h */, - 9C662B4A58EFC7B11868E3D529CF2656 /* SDLOnHashChange.m */, - 14CFF317767EF0189DDDC36C1FDF2234 /* SDLOnHMIStatus.h */, - 43F513E2AAED88A7F766ADD09025F26B /* SDLOnHMIStatus.m */, - F17536C61FD715A0D7CB30EC8F782F04 /* SDLOnInteriorVehicleData.h */, - 8E75CC33FE2DE3715B200C05899C0910 /* SDLOnInteriorVehicleData.m */, - 9FBDB88EC00A2EFA64BD4043AF78CEE6 /* SDLOnKeyboardInput.h */, - 5ACE94E74A82248ED6444A3D33709558 /* SDLOnKeyboardInput.m */, - A86748AE714AC4575DE6AE50E7D3A117 /* SDLOnLanguageChange.h */, - EF22D71D450DE89713FB00BFE26A4D16 /* SDLOnLanguageChange.m */, - 6EF56A4EF5462188EE22B37E2CAEC31B /* SDLOnLockScreenStatus.h */, - BF2BEF821FF149BBA87439E8FA2B0C6F /* SDLOnLockScreenStatus.m */, - E9C19C2297506216A78B8FD19E13B88F /* SDLOnPermissionsChange.h */, - FEE3334E1A12317DA00E07DEB3D0EAAD /* SDLOnPermissionsChange.m */, - 636CDEFCCAD080870E926C7B94C1E1D5 /* SDLOnSyncPData.h */, - 1470E6CE62CFB71BE224D33DF94C68E4 /* SDLOnSyncPData.m */, - 4EAA9AEED38B458DE1C2290D95AAD70E /* SDLOnSystemRequest.h */, - A8949EA4C1BEA71957B3EF7E122B3B3D /* SDLOnSystemRequest.m */, - 47156A40521D8AF779FB8DA9C0DC1F3A /* SDLOnTBTClientState.h */, - 913AC32DB86F68B49617C6E0797B4574 /* SDLOnTBTClientState.m */, - BE096BC4D2F4B2C3E43BF6C1818A908A /* SDLOnTouchEvent.h */, - 0B6FA0DB87861268F686401B4C1BDAC0 /* SDLOnTouchEvent.m */, - 37BF1136198FB6011B50AE0C73495869 /* SDLOnVehicleData.h */, - 2B994AA64B1C6C738969BD16A29C4005 /* SDLOnVehicleData.m */, - 95E6FC577EA7B751D069C1CFA18B2FB8 /* SDLOnWayPointChange.h */, - 07BF1E5A6E0E3D5064430FB2D91999E4 /* SDLOnWayPointChange.m */, - 88703DA25DCD3EE9D5646E2A4899A078 /* SDLParameterPermissions.h */, - B3534BABA6F48FD0582FE4F8DD64D2D5 /* SDLParameterPermissions.m */, - 12806899D2732239201909244060B773 /* SDLPCMAudioConverter.h */, - D46B2146387B220F0E684C0B301B5D39 /* SDLPCMAudioConverter.m */, - 23FA0B714C5E990E52E5745B13EA8671 /* SDLPerformAudioPassThru.h */, - 3C73121AED8BF2CAFB1A698F2BEE317B /* SDLPerformAudioPassThru.m */, - F934CDF3FFFA2EC765F741CCB8367D1C /* SDLPerformAudioPassThruResponse.h */, - 63D73CFA4E9D9C2210E9BEA68AB80BCA /* SDLPerformAudioPassThruResponse.m */, - 51A211ED46173AF0C21BBE4BE6255E54 /* SDLPerformInteraction.h */, - CA02739C455B7AEB572CB2DA7F5D5493 /* SDLPerformInteraction.m */, - C29294C933EB3A648D60018E0E24BCA1 /* SDLPerformInteractionResponse.h */, - 789E8C8CF80C940581E7CB05D0E37192 /* SDLPerformInteractionResponse.m */, - DBD1B1A5F4B1E67C318E65C7FF735947 /* SDLPermissionConstants.h */, - 623AE04DE2F11CA3A458E73BB5BDFB7E /* SDLPermissionFilter.h */, - 9FB7CA45F85699A2B1CB7601F33343E7 /* SDLPermissionFilter.m */, - 6CD7854ADAADFA7EAD4ED7DBFC5337E4 /* SDLPermissionItem.h */, - E13F86572A5BE9B01361212CCAB6229C /* SDLPermissionItem.m */, - E38793CCCDF4D529D3577E1CF76E62A3 /* SDLPermissionManager.h */, - 091B518F8FC0128A035D0E2FD0252C06 /* SDLPermissionManager.m */, - B09B33BFFA0755D53BE8B3BA612BD0F7 /* SDLPermissionStatus.h */, - 05C9C3989EB345AE7B1F9A739346AB71 /* SDLPermissionStatus.m */, - 259E96890EF81893DE3265CB54F3E052 /* SDLPhoneCapability.h */, - 9D41058C17032EFA51A6263C4C2C3BEE /* SDLPhoneCapability.m */, - 6EA220C563C0E6357FFA9BD38D8E0774 /* SDLPinchGesture.h */, - 7EB6C591C906A9C7BC171C9ABFD0A98E /* SDLPinchGesture.m */, - CCF3A4332A96FF6360B081925786E934 /* SDLPolicyDataParser.h */, - 7E2FAE58CA235BDDEEFC45D51BD72A01 /* SDLPolicyDataParser.m */, - 6A0CC14FB45F45981EF983940F1C98B3 /* SDLPowerModeQualificationStatus.h */, - 4D9CDF8CE7F826BEE501E1F24853D330 /* SDLPowerModeQualificationStatus.m */, - 3C3F499F88E2E4EC42E840EF9B687CA5 /* SDLPowerModeStatus.h */, - 81247C40C69C7ADD1631ED532A3C52E4 /* SDLPowerModeStatus.m */, - D0C1E445BE534CBEB1F13336970BB53E /* SDLPredefinedLayout.h */, - 481DE93B2809029FA1A0B8708000DE48 /* SDLPredefinedLayout.m */, - 8AF1ABF5DBBE71CC24F88E7A47A8CDCE /* SDLPrerecordedSpeech.h */, - AAF593130C4DA7709ACFE286A88E8A8E /* SDLPrerecordedSpeech.m */, - 83D2E3D08D9CA58278CE62B03B11AFA9 /* SDLPresetBankCapabilities.h */, - 6DEE6BAA6BC0FBBD3F1A54C63A2C1404 /* SDLPresetBankCapabilities.m */, - 2A0BCC95298C5EBCCF1AA4F82ED2282E /* SDLPrimaryAudioSource.h */, - 0E5E61F442E303770E636EE3B5EADC05 /* SDLPrimaryAudioSource.m */, - ACEB99E17EF9D3A775AD69F75EC8358A /* SDLPrioritizedObjectCollection.h */, - 82C4580589E882BFE10A61AC225871F8 /* SDLPrioritizedObjectCollection.m */, - 9BC50CACFE9FF728CBB59464DF41D466 /* SDLPRNDL.h */, - A610B25D99CB197E115FCCDF5EAD36F6 /* SDLPRNDL.m */, - 0D7757C1F07BF70077244BC15A4C676C /* SDLProtocol.h */, - 4EFF23A37AD7FA9F2937E9E4EA1C4EA1 /* SDLProtocol.m */, - E07E319998669B2011C996E8D3ED0FCE /* SDLProtocolHeader.h */, - D26FEAEAD7F61B8841FD580C0620892A /* SDLProtocolHeader.m */, - FA083B3AC5B2D93E21970F3A2625F5DC /* SDLProtocolListener.h */, - A0B4C0A15F9E76369B93311A573FE219 /* SDLProtocolMessage.h */, - 2718EF42789C67C821B44ACFCF3964C0 /* SDLProtocolMessage.m */, - C1D36A8B72729B926D8F8FB48064F7AB /* SDLProtocolMessageAssembler.h */, - 6352021A7D4EA4E7077D5215856450B4 /* SDLProtocolMessageAssembler.m */, - 0F2EAE70D87F7DA1B9D9C7A7CE791D72 /* SDLProtocolMessageDisassembler.h */, - F1CE8E38CC0A35EB034CA9B426FABE32 /* SDLProtocolMessageDisassembler.m */, - 65B651056A6592BAF6E1CC04E3B5D108 /* SDLProtocolReceivedMessageRouter.h */, - 9B3E9CD9ED425DD412AD42B3F6F881AB /* SDLProtocolReceivedMessageRouter.m */, - 6A9FFC25158FB2512C35BF11800F159C /* SDLProxy.h */, - 6D23A34F3B48AC046B4386FDA2EF5CD4 /* SDLProxy.m */, - F2584D4117248CC8603C9A4C307D216D /* SDLProxyFactory.h */, - C0CA684B5F9C9A9D3C88EB23944848A6 /* SDLProxyFactory.m */, - 3D0F3EB3AEADCCD357E2F93D4D90E2CC /* SDLProxyListener.h */, - 5BFEB463421003A7866EC0533805E584 /* SDLPutFile.h */, - 2E8789D261A87AD40D3182D962BC93E6 /* SDLPutFile.m */, - 5BFCFDF871DD1848859558893ADB3AA5 /* SDLPutFileResponse.h */, - D9F538CC534F3EE061279BF0BCCDE762 /* SDLPutFileResponse.m */, - F17B4208C42DBF959BB95E9AC02FC9B0 /* SDLRadioBand.h */, - A4AF80DDE32E015AFA731F53CE4291EE /* SDLRadioBand.m */, - 78C391ECF5B04985FE2694E9E705EB0D /* SDLRadioControlCapabilities.h */, - B636CB6D6237A428F15EBA157016DFFF /* SDLRadioControlCapabilities.m */, - E014E378A71CF2F7467E7C0D91B50676 /* SDLRadioControlData.h */, - 1E50C8D8E6BB62B84A6DBA40D96BC543 /* SDLRadioControlData.m */, - A2DDAF38EC2FCD81F8E507B75A91CC97 /* SDLRadioState.h */, - EC25BE118C33FD809971F633AB8FB6BD /* SDLRadioState.m */, - C26C7F2CF247BEB0F70B55CBF2550147 /* SDLRAWH264Packetizer.h */, - CB65C81089EF0BFE31D28C1078027F86 /* SDLRAWH264Packetizer.m */, - 6FE79B9FD118B7EDF28727AFD5303DA1 /* SDLRDSData.h */, - 32A20CC5F367B57EFD20C8BC42AEA7EA /* SDLRDSData.m */, - 20E5A5166CA26D937B2581F5A42109BD /* SDLReadDID.h */, - 2830EC5AFC0ED57C2180218CE41E6859 /* SDLReadDID.m */, - 1828227FBDC6E22503DE1B17E48C0689 /* SDLReadDIDResponse.h */, - D7618DCDCE9669AEBDCB6EDCD44DEE79 /* SDLReadDIDResponse.m */, - 1B277389C88C3E7EC3322330A015A693 /* SDLRectangle.h */, - 12CB886AB9A59A71F742BCA0ABDF564A /* SDLRectangle.m */, - 7F8D935F0C6DEB72315E8D89BEE5AE17 /* SDLRegisterAppInterface.h */, - B38535F6E34B4E2E1B4ADD93F958208F /* SDLRegisterAppInterface.m */, - 599D3C425966BAC09F4FB05ECA372AD7 /* SDLRegisterAppInterfaceResponse.h */, - C23A20ACE6CC1EF7A6BAECD0E52500EB /* SDLRegisterAppInterfaceResponse.m */, - 1244AA9BE91CB9B20C6327F271CDA673 /* SDLRemoteControlCapabilities.h */, - 79E567D2898847107A68857E93D5588C /* SDLRemoteControlCapabilities.m */, - F9C0A28D52FA2E9051FAE79F58103AF6 /* SDLRequestType.h */, - D9AD0F744D87982AC573205ECAAABC19 /* SDLRequestType.m */, - C05C4DD1B32899E128BDB4ED248AED5D /* SDLResetGlobalProperties.h */, - 68CBCF5413211D68AF00EA245B7F40EB /* SDLResetGlobalProperties.m */, - C5E58DD76C9F90F187A1E6D485998021 /* SDLResetGlobalPropertiesResponse.h */, - 1813FDE135A2B9042E988756C1C42246 /* SDLResetGlobalPropertiesResponse.m */, - 8325BC24F0DFBE74A7EE510A66ACF618 /* SDLResponseDispatcher.h */, - DAAA1452E90A5D906B11EB073A8D3D1F /* SDLResponseDispatcher.m */, - DA4AC64876191720BEEEDCA096CF536B /* SDLResult.h */, - 901534CE8834827622E46380204E0ACA /* SDLResult.m */, - B878213129C7888C31E8882BE4F18A5D /* SDLRPCMessage.h */, - D4842ABBC747B304585E03A4D6ACDCC5 /* SDLRPCMessage.m */, - 05360368988BFDBD216B6B16051D63E1 /* SDLRPCMessageType.h */, - 5848940F6A4C4E702641CD86F959E647 /* SDLRPCNotification.h */, - 069C5FF9FB40444C356A20C7013B5A54 /* SDLRPCNotification.m */, - 40E8850E21D0D146F181FE362827E30D /* SDLRPCNotificationNotification.h */, - 67A2CFE1DC321800D0508F00D4B5E187 /* SDLRPCNotificationNotification.m */, - 8EA71E753DA8EEA910381C19D7E56632 /* SDLRPCPayload.h */, - 0328C730A733A35F4F0214D0E45D8A58 /* SDLRPCPayload.m */, - 42D72144991E8CE2B9605D1EDCA7DEA2 /* SDLRPCRequest.h */, - BB5777D4A90D4F3AC252B9E1ED6AC0AB /* SDLRPCRequest.m */, - 6231B5ACC080FC3EB41BD917FC9AC0C7 /* SDLRPCResponse.h */, - 5E645BA11668DE3714E30EB93DC19FB8 /* SDLRPCResponse.m */, - 4F22DECBE9B7CA0C32363768410D3635 /* SDLRPCResponseNotification.h */, - B39C7236DE04FBFFC3EFCAB3EB27530C /* SDLRPCResponseNotification.m */, - D359D887B941F6BB00CE5771471DA034 /* SDLRPCStruct.h */, - 870F0F3D0779941C924CEC48481E5D6E /* SDLRPCStruct.m */, - 3274B6BFE5AEF22C859A02ABE06E0023 /* SDLRTPH264Packetizer.h */, - 6866E5366A03BA1B7EB2A7B3EB5D9135 /* SDLRTPH264Packetizer.m */, - F46B1EF990F7A15519C629B25124037A /* SDLSamplingRate.h */, - 5B5E41247F6CF7B7661B1F482241607F /* SDLSamplingRate.m */, - 8FA166A0A249F11380A2937001B1E54C /* SDLScreenManager.h */, - 8360C5C5677178F2F99E37FAC2E7AEA5 /* SDLScreenManager.m */, - B33D088C40BF522D53461F078589C3C9 /* SDLScreenParams.h */, - 2253AE024F5A3C69428D500E71913DA7 /* SDLScreenParams.m */, - 471EEA7BB9C2834FF46FEB046A0C1F97 /* SDLScreenshotViewController.h */, - 0F1C749ECDD4F3BE2F5BBA1B9C067108 /* SDLScreenshotViewController.m */, - E99C28739DF8C2C841D5EA035A4F38F9 /* SDLScrollableMessage.h */, - 0E0FD5F0F78C5189BA018EA5D2C2FFE5 /* SDLScrollableMessage.m */, - 3CE56642FAA60BDE23C9933BCB0898E0 /* SDLScrollableMessageResponse.h */, - 6CB45B359F4FB8D4509816B67EAA2BB3 /* SDLScrollableMessageResponse.m */, - 0D696D19CF041592FF82EC8315593E10 /* SDLSecurityType.h */, - 377D4118B82B4F0C3A536BA00E30B742 /* SDLSendHapticData.h */, - 622B9E22692B7C1D4B3D9AC47614D284 /* SDLSendHapticData.m */, - 1B2A5889FA02871B1B243AB7408A3995 /* SDLSendHapticDataResponse.h */, - 8F00680FD74F06788866C23806150899 /* SDLSendHapticDataResponse.m */, - 149A4E207CE7F6512DE75225C9BC4C7E /* SDLSendLocation.h */, - D180A6C152D36BA0ECAD6A46B9B57642 /* SDLSendLocation.m */, - 006C05CC6B4915C5ED331D41213DFB12 /* SDLSendLocationResponse.h */, - 4BAD04424E8D1524A1D0BF7CFC2D5021 /* SDLSendLocationResponse.m */, - ED6FF8839A14B00010BC6288B9624634 /* SDLSequentialRPCRequestOperation.h */, - 3F8DA37774A5006BAD0D5AA7A97B5C24 /* SDLSequentialRPCRequestOperation.m */, - 340024BC94E6DDDF4E4B93748671B3DB /* SDLSetAppIcon.h */, - 91DDE221D28C1DDBE2FDCABB43F591C4 /* SDLSetAppIcon.m */, - F4D5A5FA278FF82624055660881C5214 /* SDLSetAppIconResponse.h */, - 0603A01815FE626CE53E9AACAB91D848 /* SDLSetAppIconResponse.m */, - C66BACBDF38B4A8039EB9D6C72DB5BDB /* SDLSetDisplayLayout.h */, - F9E6D3351DB267564E299AB62BDD4574 /* SDLSetDisplayLayout.m */, - FCD7DC1F06D11049294FC2605BAC78A8 /* SDLSetDisplayLayoutResponse.h */, - A7C152A904A8E564FD3F90B994AC24E6 /* SDLSetDisplayLayoutResponse.m */, - BDCD2F21AD03F887C89F5CAEEFBB2CAA /* SDLSetGlobalProperties.h */, - 4B5004A9C982B085E208BC6E8555A22D /* SDLSetGlobalProperties.m */, - 542E9DF95196E2458740C1569084F388 /* SDLSetGlobalPropertiesResponse.h */, - 21B95BFFA1D2FC2CA4FA1CA8C99D1674 /* SDLSetGlobalPropertiesResponse.m */, - 3BFD4BA4B5A3547295A6679AC6BFC49A /* SDLSetInteriorVehicleData.h */, - 062D2E560A780C54A0435216ABA1F08D /* SDLSetInteriorVehicleData.m */, - A9AB9984C23EC7D8ACA17C6CD6C1CB84 /* SDLSetInteriorVehicleDataResponse.h */, - F620EF73A4F840F78B05320DEEEFF710 /* SDLSetInteriorVehicleDataResponse.m */, - 7B569FB0232D7A343022B88C5D60D356 /* SDLSetMediaClockTimer.h */, - 4F7C067F33A15207188002D9B4198A94 /* SDLSetMediaClockTimer.m */, - 94B57E269072038295F6FCBAF5FAC340 /* SDLSetMediaClockTimerResponse.h */, - CD228584A7AA79264BA0DE0498BE34B5 /* SDLSetMediaClockTimerResponse.m */, - 6D149320B1D86587FD3837BA833DD8FC /* SDLShow.h */, - 12E7D6EDCFDB73234934FC0AA0279586 /* SDLShow.m */, - 5C7DF757EA1D29458455B63DEAAB9A56 /* SDLShowConstantTBT.h */, - BFDEE02EB64F92CB0BB27329E39F1F36 /* SDLShowConstantTBT.m */, - 75D4E0C3BFA03FD2BC5CDAEA77232151 /* SDLShowConstantTBTResponse.h */, - A8AE10BF9E253F19596076BE9FCDA922 /* SDLShowConstantTBTResponse.m */, - CE2F18651AECC35D38B1BEB283A90C87 /* SDLShowResponse.h */, - 5D6D1E05C73FC5CA88E3045E85BFC76E /* SDLShowResponse.m */, - 6DB187C6D1692C4D3121D9B07DE79D4D /* SDLSingleTireStatus.h */, - 92C77552CA19358DD239D278D8FFF110 /* SDLSingleTireStatus.m */, - 4C418378086D5C5A50F49CED6F531488 /* SDLSlider.h */, - C3FD085710B693C105834DE2FB9B0277 /* SDLSlider.m */, - 16DA2580FF2548CD4B33BE4B2539F462 /* SDLSliderResponse.h */, - 20C9E4BBF403F5CCF04DA342EEF19F68 /* SDLSliderResponse.m */, - B555374B7D8363F9E6F4FBC02AAAF176 /* SDLSoftButton.h */, - 0B4B0B243D02EC6D6BDEDB0DDAA37244 /* SDLSoftButton.m */, - 65BD2D743FD682AE4B665F9D09B5C750 /* SDLSoftButtonCapabilities.h */, - 628AA2599688200D5C1E3ED21A79A5CE /* SDLSoftButtonCapabilities.m */, - BFD0BEEC7500B4ABB684365B91EE31DA /* SDLSoftButtonManager.h */, - E45022426AE6814DAB498D64A32F4630 /* SDLSoftButtonManager.m */, - 540E02D58D9F851937559904A88D0812 /* SDLSoftButtonObject.h */, - E23F09FDE3C15E441660D600136C65A4 /* SDLSoftButtonObject.m */, - FEB41C227628695CB9C16ED5AD3B58BC /* SDLSoftButtonState.h */, - 3A4CFA36B32161239C07887FF9996503 /* SDLSoftButtonState.m */, - 23E0A9FD3D82D4A5C58944B744974063 /* SDLSoftButtonType.h */, - 82777BC1BB66CBF16EAE9FFB7FC63A64 /* SDLSoftButtonType.m */, - FBE487CB04EE57303AE97CFC2390748C /* SDLSpeak.h */, - 5BFA19A1ADA0CA1FA012578A133DEFA7 /* SDLSpeak.m */, - ACC2B7226D055B70E78018F8B7C6135E /* SDLSpeakResponse.h */, - B6853EF80F967574984DFDA98E7CB061 /* SDLSpeakResponse.m */, - 929BA67D1C6AA6DEFF87C3A668E2F71A /* SDLSpeechCapabilities.h */, - 0583FB6C0C579BEC34FC989C5166C090 /* SDLSpeechCapabilities.m */, - D95913CB5C85C9049C787AD5850595B8 /* SDLStartTime.h */, - 6562DFD15F2C6DA6F141741164BF70D2 /* SDLStartTime.m */, - 0033542534C9FDC99BAF3BEB8F689298 /* SDLStateMachine.h */, - 932C28B9EC3B5F9B8B618BAE1DAB3A72 /* SDLStateMachine.m */, - B6FDC042AE88B0E930FE8B83C8BCB868 /* SDLStreamDelegate.h */, - 61D80725A2FC69370280407ADB7104B7 /* SDLStreamDelegate.m */, - A4EAC891434B1BC8BAE4F1E0D571E5A6 /* SDLStreamingAudioManagerType.h */, - D83F2EBDA6C965224F8D269B7B21C7DE /* SDLStreamingMediaConfiguration.h */, - 7DAC13B2BE5F1E106E45714D16ED761F /* SDLStreamingMediaConfiguration.m */, - F42BBD650C7CC3DEBE8CD308BB39AE5E /* SDLStreamingMediaLifecycleManager.h */, - 81E7ED8E7E34570DEDFE3711C9B6D95D /* SDLStreamingMediaLifecycleManager.m */, - 48EDE38293C213AA0BF081BB05BAA735 /* SDLStreamingMediaManager.h */, - A89D561725DF99AEDE6ABEE7CB77AB42 /* SDLStreamingMediaManager.m */, - 8305A2E46B9C1FA882A6D23DB5EC799E /* SDLStreamingMediaManagerConstants.h */, - A347CD9106094C5D8180880BF8741AE8 /* SDLStreamingMediaManagerConstants.m */, - F0120A7DCE5397980E026857907343F3 /* SDLStreamingMediaManagerDataSource.h */, - 3B1F6509071D308F37CD572148954D6D /* SDLSubscribeButton.h */, - FF24B838DE656EE89AB73031C9DF19AC /* SDLSubscribeButton.m */, - BC35FFF7507D7A2A32ED161DAC7661EC /* SDLSubscribeButtonResponse.h */, - A1C3EA7FF9B5346E0A60C3315A7BD7A6 /* SDLSubscribeButtonResponse.m */, - 6190F5EDAE3DBB8768D605C4368FF129 /* SDLSubscribeVehicleData.h */, - A3C83CA99B4AC69C080A918D70740563 /* SDLSubscribeVehicleData.m */, - 1AD43319B2D2DBD53956F9678C8A7259 /* SDLSubscribeVehicleDataResponse.h */, - C682BA2812DB6612AE9BEC98C0401703 /* SDLSubscribeVehicleDataResponse.m */, - BA240FAA05BF054AA4CF777A11C7D856 /* SDLSubscribeWayPoints.h */, - B8331F2851CEB0CC5716DEA0184C67E2 /* SDLSubscribeWayPoints.m */, - 2AC0A4900A55E926B835F1608FC63C15 /* SDLSubscribeWayPointsResponse.h */, - 8A96249B24293B78C265D3BF9E7AFDBD /* SDLSubscribeWayPointsResponse.m */, - 1B24B8DABBE4A4F41C89A4B776747721 /* SDLSyncMsgVersion.h */, - 586A686DA1A0BEAE475D2620B91B55A4 /* SDLSyncMsgVersion.m */, - 67741FBCE77F33B4496BE0980F0809B0 /* SDLSyncPData.h */, - FD499E5BA50CADA334777C2D6A4C4662 /* SDLSyncPData.m */, - 64E441D76A1D438E4A4E905B1096823B /* SDLSyncPDataResponse.h */, - 644CD2A3F7FC290359667A81233989C0 /* SDLSyncPDataResponse.m */, - 63FEBADF00067431AEC5CBFAE666F3CC /* SDLSystemAction.h */, - 31D9671A436A179444EDAFA16345974D /* SDLSystemAction.m */, - 991973F2944238DDD77E719F08652178 /* SDLSystemCapability.h */, - DDA8A000811FC9A84FC521DFB363778D /* SDLSystemCapability.m */, - BE0C72F3CD666F0287992BA234B8B0E6 /* SDLSystemCapabilityType.h */, - 875C540740F5214AF0FB7898ECF10CB4 /* SDLSystemCapabilityType.m */, - 5EB56D7361610FAED89F71A2AD0097FB /* SDLSystemContext.h */, - 103B741749BB527A8A77A0A21254E804 /* SDLSystemContext.m */, - 82EDE7CD9BEA5097DA804AC81A2F6636 /* SDLSystemRequest.h */, - B0E8EB800FB1E72CD634BB9588F71B6E /* SDLSystemRequest.m */, - 93E2E77FF6F6FE0781A4D6ED073F7FF2 /* SDLSystemRequestResponse.h */, - 2B8D35ACAE0FE44EF863673668596E12 /* SDLSystemRequestResponse.m */, - B56A48597FE6AA8D82EE6EA20AEADC15 /* SDLTBTState.h */, - B6AE4D868EB4C86BDB7631434D122BD4 /* SDLTBTState.m */, - A4FAED4DBE2719524F4D2B04531D90CF /* SDLTCPTransport.h */, - B611FCD95D4D84AA4315C44CAA67EAD9 /* SDLTCPTransport.m */, - B084E1560C1B6D2BEC87505924BEC657 /* SDLTemperature.h */, - 5564E4FDE467DE0A4A0E105273390875 /* SDLTemperature.m */, - BA65A291644A1104777DD18B3A9F6AB6 /* SDLTemperatureUnit.h */, - 02F396E0F7B3A756DB213595E84C7A9C /* SDLTemperatureUnit.m */, - D92D71F62186AE67632BFEFBB0C65203 /* SDLTextAlignment.h */, - A839052D9BB7035556194D563F964883 /* SDLTextAlignment.m */, - 70E927D03A3AA0C9933EE3142CEDA8EB /* SDLTextAndGraphicManager.h */, - 58E8D2BA0D081CC8AE13BF8F68CAF873 /* SDLTextAndGraphicManager.m */, - 3C37F5BDBDF23293CB75D2002D8E83E8 /* SDLTextField.h */, - 0170A49B56B45A07E2DC94BA90D819C6 /* SDLTextField.m */, - ADE618DDCD64E432369A8D2AA9580F8D /* SDLTextFieldName.h */, - 9A6D5FE27A8E49A038797571E1935836 /* SDLTextFieldName.m */, - 79404B005DE1EE2E2B4561041CC2A325 /* SDLTimer.h */, - FAF46DA9FCAAF86A58354EAF0CD6EFDA /* SDLTimer.m */, - 8230834B23DD4FFEBD26EBCA65D6AE5F /* SDLTimerMode.h */, - B969E76CD13D756D47729D8262A5B26C /* SDLTimerMode.m */, - 2F523DB5C983E20570DDBA8097B5438E /* SDLTireStatus.h */, - 64572442385935BDCA6F03659D2590DC /* SDLTireStatus.m */, - DEF6263B1A353E77CC4628F73D3E8BFE /* SDLTouch.h */, - D548C01622D4F9D989CB5720F85E07F9 /* SDLTouch.m */, - 16BF5823BEACE1D3C81F55173E26EA73 /* SDLTouchCoord.h */, - 662BC842200AC1704F2D6D84FD4985BF /* SDLTouchCoord.m */, - 5437084BAFF24480C4F48740D45E04F0 /* SDLTouchEvent.h */, - 5676114C6B20C1545CF852CD5E3160DF /* SDLTouchEvent.m */, - 5224C0ABEFD969B9C2E6488CCD187F5C /* SDLTouchEventCapabilities.h */, - 580439BF85B982267E0BCE9CC03E763B /* SDLTouchEventCapabilities.m */, - A260C4C55BA2CE11D5F3E34F5957876E /* SDLTouchManager.h */, - A965CE0A816AFDD3BD8D2E6D703F7990 /* SDLTouchManager.m */, - C121CA0F730BD79472441C6EA3E0B549 /* SDLTouchManagerDelegate.h */, - 53BF6821A43E1553A5E35EF0B229D078 /* SDLTouchType.h */, - E1C266A4271D00B9FCAA045F125CA6A5 /* SDLTouchType.m */, - 54559F9C4CF7FB07B0D38920FF20C3BB /* SDLTransportDelegate.h */, - EC3F08EE2CD565D720904FEAEC0D64A9 /* SDLTriggerSource.h */, - 91EF37E5584AC78908E392B78DD87216 /* SDLTriggerSource.m */, - B0AF2462CD28C618DD9B2DC2FF0B7B3D /* SDLTTSChunk.h */, - C9FDF7AC2263906B2FB5D1F8B6A91E3F /* SDLTTSChunk.m */, - B573433ABE6237E351F4E41B5B3E32C5 /* SDLTurn.h */, - AB82DAFB98C6D2AF057855FA35A47B95 /* SDLTurn.m */, - 25DCD0C39A2A9496298075AB05CC8C47 /* SDLUnregisterAppInterface.h */, - C22E151CAF06116259FCA8684ECE61C1 /* SDLUnregisterAppInterface.m */, - 00DE5B28DFC520B8665602996EA86F54 /* SDLUnregisterAppInterfaceResponse.h */, - 6D8065C6538828F4BA05EAD5E3D362DA /* SDLUnregisterAppInterfaceResponse.m */, - CD733DDDE3AEBCC6D64888B2CB1032B7 /* SDLUnsubscribeButton.h */, - 871B2DC4311373C11255E4579430C632 /* SDLUnsubscribeButton.m */, - 8A2399E25A379CAD17A23E91A13A08C7 /* SDLUnsubscribeButtonResponse.h */, - C23D6E78087AA27BB28DA4D24CC3C753 /* SDLUnsubscribeButtonResponse.m */, - 32B441C5D6EABA02329D09C5C6D73E06 /* SDLUnsubscribeVehicleData.h */, - F9E2F63C4738B8962C061C08D6CDE3D4 /* SDLUnsubscribeVehicleData.m */, - FCE6F88967A059AB74E7E53804BDEF14 /* SDLUnsubscribeVehicleDataResponse.h */, - F1693BEB3C83A863E8B1ABA7AB6851E0 /* SDLUnsubscribeVehicleDataResponse.m */, - C9910FB7674BF7129ED27A3440D0953A /* SDLUnsubscribeWayPoints.h */, - 53D09A48339E144A365C41D9E2600991 /* SDLUnsubscribeWayPoints.m */, - 522D277B913EE68F8B80BE6B98DE1D23 /* SDLUnsubscribeWayPointsResponse.h */, - 0FB5264A579FFC7D6AFDD1CCA591CDEC /* SDLUnsubscribeWayPointsResponse.m */, - E374E7528E73DAAF629C6DB660B52FD8 /* SDLUpdateMode.h */, - C0676BDA6CC974863E4443FDB73D5DE5 /* SDLUpdateMode.m */, - E475879998C5235EBFEA675E6988BF79 /* SDLUpdateTurnList.h */, - 5F3108061A33172C9FEC93BC2CF60C87 /* SDLUpdateTurnList.m */, - 80EC7A49133FBD8E3C5D9C5E36A296C6 /* SDLUpdateTurnListResponse.h */, - F8613F49B10EA7B465D8D49A9DA3B557 /* SDLUpdateTurnListResponse.m */, - E1F60A71792BB10F029D7A5BFB66E483 /* SDLUploadFileOperation.h */, - 65EC7246A8643ED6EE2BB71ACD42E640 /* SDLUploadFileOperation.m */, - 50FC7E3E6AEFE13CAB2BAE51F0133D79 /* SDLV1ProtocolHeader.h */, - A01D165DED48E32592550F162FAC68B1 /* SDLV1ProtocolHeader.m */, - 4F6CB61BB1176BCB17D323ED2E477830 /* SDLV1ProtocolMessage.h */, - EDDEE260D714214C190275C1272D9E01 /* SDLV1ProtocolMessage.m */, - CD3801D28E0629BD8105583AC439BA4C /* SDLV2ProtocolHeader.h */, - 5564C2DEE5697D775507DE3002B88D69 /* SDLV2ProtocolHeader.m */, - 4E0247AB97FEDAFAEC256031CE6C6ADF /* SDLV2ProtocolMessage.h */, - 59B08CEAA2422BEA9DCA8F2B816B7D07 /* SDLV2ProtocolMessage.m */, - 37C5C28CDA66B605D9ECB736DCB57FE8 /* SDLVehicleDataActiveStatus.h */, - 781E3DF3B6A64AACA907945D899C02AC /* SDLVehicleDataActiveStatus.m */, - 2E2A0ABA4B6162355A84179A7B90F047 /* SDLVehicleDataEventStatus.h */, - 1E6BE5540D10D4F014CF916E7E45DDBC /* SDLVehicleDataEventStatus.m */, - C3F09F373BFB192C2F1E3AAE8AC1F912 /* SDLVehicleDataNotificationStatus.h */, - 99ECC736664F835FA6612418ADF79C77 /* SDLVehicleDataNotificationStatus.m */, - 47C870FACFB9ABAF196051C264E73662 /* SDLVehicleDataResult.h */, - 3D5760C4C393C4B7924BB2343E1E3D56 /* SDLVehicleDataResult.m */, - 8B5D7EBF571029558FABC34C5DBD25ED /* SDLVehicleDataResultCode.h */, - 5F703B524EC4B0173BC78D375802B00B /* SDLVehicleDataResultCode.m */, - DE5F0D30FFC8046A07B125AC97BC761A /* SDLVehicleDataStatus.h */, - 9FC446872F3A920C14C3B907FF18270C /* SDLVehicleDataStatus.m */, - 63670F1605DAE47E16806EDCC4AB7E76 /* SDLVehicleDataType.h */, - 679AF72E0BA5EEB07D1C3692B5F41895 /* SDLVehicleDataType.m */, - 788D6503B2B3C954DA7014B24D8AAB99 /* SDLVehicleType.h */, - F8B20A99B2E9CA9242C92E436F9F52B7 /* SDLVehicleType.m */, - DD362C201733D6DA92B1C991A1D848E1 /* SDLVentilationMode.h */, - E00E82B2FDDE5450373A6B68DFF83D05 /* SDLVentilationMode.m */, - 4E7016F7FE3A9B6081341694937DF158 /* SDLVideoEncoderDelegate.h */, - E40E5842AACE0BA983D4F40295C9908A /* SDLVideoStreamingCapability.h */, - AF83E2E0F441E0D07FDE9F36E0E32671 /* SDLVideoStreamingCapability.m */, - B8666DAC888ABC474561545E05A2FD3F /* SDLVideoStreamingCodec.h */, - 8429655CF967710DA2743C1D9871C263 /* SDLVideoStreamingCodec.m */, - F17D28D70B54F81E375B0A42DAEAD159 /* SDLVideoStreamingFormat.h */, - 7325C3A452121A95EFC7C4395A1954F8 /* SDLVideoStreamingFormat.m */, - DF1D0C6489D93580B1213CA343FEED5A /* SDLVideoStreamingProtocol.h */, - 22172148DDE5BBB3638404A01DCDD680 /* SDLVideoStreamingProtocol.m */, - 56883D1F6F9C3C9A655CB9AFA7C1010D /* SDLViewControllerPresentable.h */, - BA3D26CA12CB381851BC73C4E910F659 /* SDLVrCapabilities.h */, - 469F5C20EDBCB421DE25EB4DB9876540 /* SDLVrCapabilities.m */, - 109D771F345CEBE486D6E439E7AC483F /* SDLVrHelpItem.h */, - 642C2603CF786CF8E7D8429890FE10E0 /* SDLVrHelpItem.m */, - C7F1946CC08F687495AC8952148FDAB3 /* SDLWarningLightStatus.h */, - C6FD7D83674513A07AB93F849ACFBABF /* SDLWarningLightStatus.m */, - 515FFA62C9078865722EA9F4B948356C /* SDLWayPointType.h */, - 8E7498F486D224EDB17E6631E4E70D7A /* SDLWayPointType.m */, - C4F661E0780233CE7688E6F4D4B4E29C /* SDLWiperStatus.h */, - FFBFF33E31E602CC9F59871BE29D61A5 /* SDLWiperStatus.m */, - 3BF6EFC40BCE934E9D9654B590153BA5 /* SmartDeviceLink.h */, - ); - name = Default; + name = Resources; sourceTree = ""; }; - 43D4ADA229D4849B41C8A03FB9C7B715 /* Pods */ = { + 391CC307EFD8386027B82AF162DF097B /* Support Files */ = { isa = PBXGroup; children = ( - 866240588173A1BD5EE51AC0383AA214 /* BiSON */, - E8AE4B9566F275F2D652B5BFA8524C10 /* SmartDeviceLink */, + E39097F54F4D74FE7229D93C71AA52B6 /* BiSON.modulemap */, + 52FD4FBAB16A6A7EC06FC2EAC24E3EB5 /* BiSON.xcconfig */, + 8D34D8B52315EA5525E7F73360845AFD /* BiSON-dummy.m */, + 4241F5A620863C29571F81EDA3052EF8 /* BiSON-prefix.pch */, + 4CDD3D2D0CF385680EB87073079FCBB8 /* BiSON-umbrella.h */, + B8384F01A1AD1A5CBF97162B333FFE87 /* Info.plist */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/BiSON"; sourceTree = ""; }; 462196DECD5CCA143A227ED2E509F276 /* Targets Support Files */ = { isa = PBXGroup; children = ( - D08B84B048B1A1DB3519B45031688DA3 /* Pods-MobileWeather */, + 887524F4B8C28A9E7D1161C2AC856ED6 /* Pods-MobileWeather */, ); name = "Targets Support Files"; sourceTree = ""; }; - 500874781D4A3E93AFD376983C7BA284 /* Resources */ = { + 5751E6EF4F4C0461FE15A95624588B85 /* BiSON */ = { isa = PBXGroup; children = ( - BB9FE92AED9C4FBE0C71990C15CFFFD1 /* SDLAssets.xcassets */, - 8FAA5413FBCD651DB99D90FBF781F5EE /* SDLLockScreen.storyboard */, + 156154601077FD951E5C9AEEB63228A2 /* bson_array.c */, + 094669C6706179A5AC880CA3B34CBE24 /* bson_array.h */, + E435A1D99AE03AAB0AF44855E77E5EA0 /* bson_object.c */, + 4AE0C41A32832B291234AD2D5DDA906A /* bson_object.h */, + B5B713A7888C5CA5C3D01DB96C67E877 /* bson_util.c */, + 882E26AAED7919D8F46DB538C09492C7 /* bson_util.h */, + 75F59B2A5FE3C87A65DDC7E417796E8F /* emhashmap.c */, + 3F06E01500491105B758E90A6D3828F0 /* emhashmap.h */, + 391CC307EFD8386027B82AF162DF097B /* Support Files */, ); - name = Resources; + name = BiSON; + path = BiSON; sourceTree = ""; }; 7DB346D0F39D3F0E887471402A8071AB = { @@ -2548,35 +2000,28 @@ children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, D33C4317A1D33EEB7FCD5619E31325B4 /* Frameworks */, - 43D4ADA229D4849B41C8A03FB9C7B715 /* Pods */, + EFCF632D30DD177693144070988C6729 /* Pods */, 9C15808B654D772B81B471949702CF7D /* Products */, 462196DECD5CCA143A227ED2E509F276 /* Targets Support Files */, ); sourceTree = ""; }; - 866240588173A1BD5EE51AC0383AA214 /* BiSON */ = { - isa = PBXGroup; - children = ( - AEC45C1E8348204E849603619D2A7E79 /* bson_array.c */, - 41DCA419DC4D4AAED1CDE67A6C2DE475 /* bson_array.h */, - 8BA9389ABFFD44D4D2E07B5B8A355E9C /* bson_object.c */, - 28C429A6BDDC66CA37C80CF94B151E8D /* bson_object.h */, - E25C567D1352E957417B7E2C2209A6E7 /* bson_util.c */, - CA573929A03D0C71FC701844E556744E /* bson_util.h */, - 3A174DBB8B92E9FB927996A14B224098 /* emhashmap.c */, - D4C6F6B4C3FEC0D2F83C8EC8E6C85166 /* emhashmap.h */, - 1216EC65287EAAA6BC625675CF16BF1C /* Support Files */, - ); - name = BiSON; - path = BiSON; - sourceTree = ""; - }; - 8A1C1F5DF9C4E402F2D52554B3883973 /* iOS */ = { + 887524F4B8C28A9E7D1161C2AC856ED6 /* Pods-MobileWeather */ = { isa = PBXGroup; children = ( - F47CC482639AA5208054B8F2AB0772E2 /* Foundation.framework */, + EF87626A45BB35863F5E5817AF8441A0 /* Info.plist */, + 295ADFDF55945E4B0EBE8E376D911934 /* Pods-MobileWeather.modulemap */, + CDA5BC6134D5DF2253BC19AFE8F57649 /* Pods-MobileWeather-acknowledgements.markdown */, + D5DBE882A800B18984D8EE83198A787C /* Pods-MobileWeather-acknowledgements.plist */, + 5F63F1BC5EED51E8F4A0CC89A563E14B /* Pods-MobileWeather-dummy.m */, + 753EB48A3869CA5247A0588801248775 /* Pods-MobileWeather-frameworks.sh */, + 77668B969E6A294D650360BD5369A68C /* Pods-MobileWeather-resources.sh */, + 97A2BB0456C152B5DCFAA29084C974C2 /* Pods-MobileWeather-umbrella.h */, + 74E2780DEB856E31804FBDDB9114B2F7 /* Pods-MobileWeather.debug.xcconfig */, + CE55C6A5E5F61F14CD3DBE30F7B822EA /* Pods-MobileWeather.release.xcconfig */, ); - name = iOS; + name = "Pods-MobileWeather"; + path = "Target Support Files/Pods-MobileWeather"; sourceTree = ""; }; 9C15808B654D772B81B471949702CF7D /* Products */ = { @@ -2590,467 +2035,1416 @@ name = Products; sourceTree = ""; }; - A6666ACB3E641311C5296B396FA8DBD0 /* Support Files */ = { + AE15DDFC52EA382558E11158499D0F9E /* Default */ = { isa = PBXGroup; children = ( - 6F7A6A4DD7853537ADB25DB3F06B6D46 /* Info.plist */, - 276148F759D2019B5B71F3F944DBCD6E /* ResourceBundle-SmartDeviceLink-Info.plist */, - 968337401E3D4DC6133394997962F3E0 /* SmartDeviceLink.modulemap */, - 59C17FC3AB0EDF2ECE5D3948830BA9EE /* SmartDeviceLink.xcconfig */, - 8114BD6937541C9148F31E29F5FDDD04 /* SmartDeviceLink-dummy.m */, - C73B8A41FA662AE022AC25472FB08A03 /* SmartDeviceLink-prefix.pch */, - 6770FB09422CBE2772890B5A1547DF11 /* SmartDeviceLink-umbrella.h */, + 77939ECABAEB5EA4A870437D89954DCF /* CGPoint_Util.h */, + 5B67A0A948EFB9B13F0BD857E76ABAF1 /* CGPoint_Util.m */, + B2B07452EB490C836759502C767F6B41 /* CVPixelBufferRef+SDLUtil.h */, + D73D5CCFC3959A9781B253DDEBD3804A /* CVPixelBufferRef+SDLUtil.m */, + A865F676AEF73BD55A0E77571040471F /* dispatch_timer.h */, + D155EBD2551C3459E8B41CA19D856235 /* dispatch_timer.m */, + 84D9C9895A536BD8FB295228F8BF0398 /* EAAccessory+SDLProtocols.h */, + CC8FA7074043AD0EFEB34FD5CEE11BD1 /* EAAccessory+SDLProtocols.m */, + 25E2288919FDE557C4ECB6A34711AA4D /* EAAccessoryManager+SDLProtocols.h */, + D322261099FDC3DD07B50C9CC5B1D750 /* EAAccessoryManager+SDLProtocols.m */, + 51D7FA6FD82FCAA3F5859800C0D06812 /* NSBundle+SDLBundle.h */, + 0890FF58FA08063F6B8494B01ED4A3B4 /* NSBundle+SDLBundle.m */, + 58B239BE8E1A3830C8DF443CC8EA4305 /* NSMapTable+Subscripting.h */, + 746FCB82877FFB49197939B552D51B4F /* NSMapTable+Subscripting.m */, + C3005BFD588C3A07F340E4B0B61F3DCF /* NSMutableArray+Safe.h */, + 1A48D38CDD0CE56654C1E9EE2F457669 /* NSMutableArray+Safe.m */, + B5429C05F82922A34D6A265163EECD6B /* NSMutableDictionary+SafeRemove.h */, + 98B6D6A6F9EE01A14C26E8C787AEE11B /* NSMutableDictionary+SafeRemove.m */, + 1BB32C87E0F8872B526E252CB1DD75D3 /* NSMutableDictionary+Store.h */, + 016CB9356FC0EC057F66DB2E23F3B304 /* NSMutableDictionary+Store.m */, + 468C5536AC1C0F7231083ECCF5A80D53 /* NSNumber+NumberType.h */, + BE57DE8735A70DC258F0E7D61021E93F /* SDLAddCommand.h */, + 1EFC421DB5D3D2E385A73B206770639E /* SDLAddCommand.m */, + D207F9B285022DA6A6CFAFCF14839E58 /* SDLAddCommandResponse.h */, + 089D381F3674AEC193EFE48A7114A602 /* SDLAddCommandResponse.m */, + 7E7D416F7CD293790F14F8B197775B43 /* SDLAddSubMenu.h */, + 8656F2DCBCA042060742160FFB6A86F8 /* SDLAddSubMenu.m */, + 22FA33898196119A09E11F83C8B822C4 /* SDLAddSubMenuResponse.h */, + ADD61F9CDD3CE6E6EC48EDEFE524E4CD /* SDLAddSubMenuResponse.m */, + A5621B5B05BA15084E7A134229CADA90 /* SDLAirbagStatus.h */, + BEDC2BDA5B8E9DAF263D585755CB6C1A /* SDLAirbagStatus.m */, + F8422108EBCA981187191FB5C1C6143F /* SDLAlert.h */, + 50B8BBC9E1B415E5920A1FBA5133F375 /* SDLAlert.m */, + E2089987A5A19A000806B07EDD110D60 /* SDLAlertManeuver.h */, + E521173FA983C64B20D3C21020B9DAA0 /* SDLAlertManeuver.m */, + B4199F609394E04D0432D522B8AC2E3C /* SDLAlertManeuverResponse.h */, + 7809E403E7F8FC0692079B5A7A0D8D33 /* SDLAlertManeuverResponse.m */, + 209D2EF1609225256F98BE7E93F0E3D8 /* SDLAlertResponse.h */, + 3D866FDF5A5451BCEB413407002EE42B /* SDLAlertResponse.m */, + AE3FF30889101C49187282BA51A8910E /* SDLAmbientLightStatus.h */, + CF3E1C96AFEC7BF390F28147CA4DD532 /* SDLAmbientLightStatus.m */, + D035F9030267FD1C5A40D1D1D91D8B01 /* SDLAppHMIType.h */, + EF6EF59CA601C0D108179F0F6F5C5085 /* SDLAppHMIType.m */, + 23EE9A21D80BC70F8C3386F5544D3716 /* SDLAppInfo.h */, + 4D15B10D35949DEF7E116F8929404525 /* SDLAppInfo.m */, + CA11528DBA2B358F2D49F69157EDCADB /* SDLAppInterfaceUnregisteredReason.h */, + 00B26898CBB957B7498A0668CCF94CAE /* SDLAppInterfaceUnregisteredReason.m */, + DA0D770C6A62BBA6A4927E049FD5FC38 /* SDLArtwork.h */, + F0EB0D36D05552D95A93CA685238686E /* SDLArtwork.m */, + 3E0F179B62A3D0B60D754AE594FDCD90 /* SDLAsynchronousOperation.h */, + E8D76C1021781ED7448582B85A5F97EA /* SDLAsynchronousOperation.m */, + 527A7F8C142E616553D35AF4098262F1 /* SDLAsynchronousRPCRequestOperation.h */, + 273F3F9D10D2856912B911242697AB75 /* SDLAsynchronousRPCRequestOperation.m */, + 2CEC5466A9425A1BCFF272CB96BB09CF /* SDLAudioControlCapabilities.h */, + AE4BF1C901C2B8B8492E917831A635EE /* SDLAudioControlCapabilities.m */, + CDE5462216ECC40BC5E269381EBEA719 /* SDLAudioControlData.h */, + D8B425573155D00965E31D784C070BB2 /* SDLAudioControlData.m */, + 6B6856DBF98E284150E71B1C1DA80384 /* SDLAudioFile.h */, + A6E4EB5AC1D8300869EFD910BC546776 /* SDLAudioFile.m */, + F7C5259708F8AF4982C24C1ED677BA04 /* SDLAudioPassThruCapabilities.h */, + C395176F9C59B6418BA47A1577018FAA /* SDLAudioPassThruCapabilities.m */, + 19C8E45308B74793CF2A9B319797F667 /* SDLAudioStreamingIndicator.h */, + 42EBF47E8F2913EC1CE334E935EB5CCB /* SDLAudioStreamingIndicator.m */, + 7BEA19A69DC688C8CC9315D69EB8BEB5 /* SDLAudioStreamingState.h */, + 05044B5C8892129FF1D36B124D5DC0C9 /* SDLAudioStreamingState.m */, + 230B9E5E007D13813F3B04ACEEF59470 /* SDLAudioStreamManager.h */, + E3BF372C29FFEDC636D34D2F7BADCAAA /* SDLAudioStreamManager.m */, + 74A196E00B38B0AA6CE7F5CFC4361BB1 /* SDLAudioStreamManagerDelegate.h */, + 4CB88BEF9293FF56B12501BD13427203 /* SDLAudioType.h */, + ADACFA394C1A41666990BA02285C1D35 /* SDLAudioType.m */, + 2088BFCC8505D1E1234DF6E077FBF1ED /* SDLBeltStatus.h */, + B024EAAE8FE8613F0B95316436C6A9C6 /* SDLBeltStatus.m */, + D1C593EF742A7DEA18F01646BC598132 /* SDLBitsPerSample.h */, + B0CF7AD880B807C0CCA2FC1036A68225 /* SDLBitsPerSample.m */, + 5817B772125FFF900077E9623DCD7E0F /* SDLBodyInformation.h */, + 80BEAB2A97883B43F91D11C970DBFFE7 /* SDLBodyInformation.m */, + 2336A40D34E885F254A79371F2D5B37E /* SDLButtonCapabilities.h */, + 2F97703AD5D975F96461DFEF2BD9BE22 /* SDLButtonCapabilities.m */, + C6B82BEAAE6A7BEC7C2C08C051A6FF6F /* SDLButtonEventMode.h */, + 5BEB89763BD1E176E41C5EBB3826F50C /* SDLButtonEventMode.m */, + 19FDF6F587885D1F611772CA7772CAD2 /* SDLButtonName.h */, + F783AA681B65EB189DCDDBF0D479C97C /* SDLButtonName.m */, + D189D97BE1019749C8B66808AB77A27B /* SDLButtonPress.h */, + E814731FA7DC9943F7B808D89A9B9F91 /* SDLButtonPress.m */, + 5403F40FB18F1132FAFDAD339E3514B9 /* SDLButtonPressMode.h */, + 75A879FE5BDC2962D651DE4F586D85C2 /* SDLButtonPressMode.m */, + 50B52EA74D5660706430668E12DC6C34 /* SDLButtonPressResponse.h */, + 18278F1A7CF8A435D0169F4AF9BC7E07 /* SDLButtonPressResponse.m */, + 92476ADB048D5680C09DCA2FEE51BA94 /* SDLCarModeStatus.h */, + 5FCB10648C75AA3261FFEBA504FA91D1 /* SDLCarModeStatus.m */, + AFF7A262EAE52FF8DBB294F33EA13B91 /* SDLCarWindow.h */, + A798CD52B9A6DE6399FEEDE186FB0D3C /* SDLCarWindow.m */, + 9F7FA38B067052115C9348DF8CDA8246 /* SDLCarWindowViewController.h */, + 8D849908EC39EB73251A609C247278C7 /* SDLCarWindowViewController.m */, + 47CE23F2A53DB7E089222EE09F29BB9D /* SDLChangeRegistration.h */, + 395E1A376C97C99D0683BCB39656C9FE /* SDLChangeRegistration.m */, + 627289BC87F3B0D346ED8F78C3279330 /* SDLChangeRegistrationResponse.h */, + 1BEA6AFC834E233B564947D27D26EFA1 /* SDLChangeRegistrationResponse.m */, + 30A1C0974FFE84B3A299752EEA455C1B /* SDLCharacterSet.h */, + 3931112BA99F69A22491E261DD430300 /* SDLCharacterSet.m */, + 6E80F2AAA864A0E9A66967638620AE60 /* SDLCheckChoiceVROptionalOperation.h */, + 584A0744AB8704605C04A7819AA5939D /* SDLCheckChoiceVROptionalOperation.m */, + F61313C1886B332D2F0390FEBEE186BE /* SDLChoice.h */, + E553C3FC056DF2AE3262E3A00B4DF074 /* SDLChoice.m */, + DD018BD08DF216E04E994B4422402959 /* SDLChoiceCell.h */, + FA7520D29ADDEAE0706E4E297C9EC00B /* SDLChoiceCell.m */, + BD5E9F1868C5EA8FF16DD817FCC2983B /* SDLChoiceSet.h */, + D82948567FD9B2929C169F79FA1C7E9A /* SDLChoiceSet.m */, + A97DB73B7402B15C06515BCEE78C9981 /* SDLChoiceSetDelegate.h */, + 701F9FEB0B747B0243ACC80B6C9300A1 /* SDLChoiceSetManager.h */, + 0946E5C29231E794F5BE1235DBC535B1 /* SDLChoiceSetManager.m */, + 599BA3E45332CFB483D279AAB352F58E /* SDLClimateControlCapabilities.h */, + BF5E57DB0AA0B5AA154EA5AEA8AA3469 /* SDLClimateControlCapabilities.m */, + 0808036535D5C2927F44E2C70BC253A8 /* SDLClimateControlData.h */, + 46852D0AC965ABFD040C0CBC94BA7ED3 /* SDLClimateControlData.m */, + AA8E57A241FA68D63DC62680BD9828FB /* SDLClusterModeStatus.h */, + 891473743E394C175627756BB86F52F0 /* SDLClusterModeStatus.m */, + 5FE9C23070AA78567710035A0CBD5AAD /* SDLCompassDirection.h */, + 47CAE090B7FBD44E13C4D60C7AD48B5A /* SDLCompassDirection.m */, + D50321F21AFDE58F08A3BF69CD0D45B6 /* SDLComponentVolumeStatus.h */, + 1C1D3256D905B03474679371A70F0D78 /* SDLComponentVolumeStatus.m */, + B0278E68A80F390A91516CE230C9B3CC /* SDLConfiguration.h */, + BE3532020D03C0A5384CB77F8686B832 /* SDLConfiguration.m */, + DB150042567FF8B4BA316079BE414F3C /* SDLConnectionManagerType.h */, + F3C46E32597E5AC52E2AF0079E7550A6 /* SDLControlFramePayloadAudioStartServiceAck.h */, + BA9299EB84229285AD544DBE93805F19 /* SDLControlFramePayloadAudioStartServiceAck.m */, + D2F9491E9A021E2EABA56A03253B0372 /* SDLControlFramePayloadConstants.h */, + 4361BDEC05496F0B266C45DAC0E5FC5E /* SDLControlFramePayloadConstants.m */, + FE4DA3080A6AFF4573043FADA7FCB772 /* SDLControlFramePayloadEndService.h */, + 3469A6571DC2C323C8576335770482C5 /* SDLControlFramePayloadEndService.m */, + 73BF15804B3C2E102BB06B6A1FB46829 /* SDLControlFramePayloadNak.h */, + D48BBF34727DF6DE38DED9EC43E5E939 /* SDLControlFramePayloadNak.m */, + 1E13C460CB2039AE064C767DD711F563 /* SDLControlFramePayloadRegisterSecondaryTransportNak.h */, + D1EC5DED346FD7BB7895AEBE3DFECB5F /* SDLControlFramePayloadRegisterSecondaryTransportNak.m */, + 96F0A1F8DFCA64ED227E5510C6C3B7E6 /* SDLControlFramePayloadRPCStartService.h */, + C80DF22B5D28FCE41F973EA350DED295 /* SDLControlFramePayloadRPCStartService.m */, + A99C0C1B0419FF7C520596517AACCC34 /* SDLControlFramePayloadRPCStartServiceAck.h */, + C534A8E7EB957888755A23CAD66D7EA1 /* SDLControlFramePayloadRPCStartServiceAck.m */, + CD72B7A1B82714D01D99FC2D5DCAD1CE /* SDLControlFramePayloadTransportEventUpdate.h */, + AB8C3882B2F5BCE64AF823BEAC3DBE49 /* SDLControlFramePayloadTransportEventUpdate.m */, + 98BB477077ECCB5F159C026896A7ED82 /* SDLControlFramePayloadType.h */, + 80560B5F4049C93EAE4148868C4BA8E2 /* SDLControlFramePayloadVideoStartService.h */, + BBD5269E6005271A97672076F3C57620 /* SDLControlFramePayloadVideoStartService.m */, + 8B5B149DB553CC25C1ECE0141F2CAB44 /* SDLControlFramePayloadVideoStartServiceAck.h */, + 1BCFAAA6F0A0783DBF1AE72813201ADF /* SDLControlFramePayloadVideoStartServiceAck.m */, + EE5457E7487266451141B2F023DFB19C /* SDLCreateInteractionChoiceSet.h */, + C343EC627C793FA593EED8C0AD723864 /* SDLCreateInteractionChoiceSet.m */, + AC02E9CDA5B401505FF227E9903BE9FE /* SDLCreateInteractionChoiceSetResponse.h */, + 4AF1C559A0C4A201639345F720AFD5BB /* SDLCreateInteractionChoiceSetResponse.m */, + 61FA3AFD5648ADEAE62EFD80E14460DE /* SDLDateTime.h */, + 4B528FBE5DCB2E0BA367288234BCF214 /* SDLDateTime.m */, + B40BF1C57B79394267C903C5D78EBDC9 /* SDLDefrostZone.h */, + BD56DFEDFD0199DD5616B314968F8800 /* SDLDefrostZone.m */, + 1DA9D3D0835E0ECE0927CA88687021D3 /* SDLDeleteChoicesOperation.h */, + 72D57C660CB1CFDB78815F561CA5B9C1 /* SDLDeleteChoicesOperation.m */, + 48E79B4506F1594D6325574D14CD0E9F /* SDLDeleteCommand.h */, + 4EC8912E98FFAFABA1F37F237009B570 /* SDLDeleteCommand.m */, + 4FC43F423FA3244DD43D35DB11AE4DCC /* SDLDeleteCommandResponse.h */, + AFBBA4412E591D0464CD86B12758A2D7 /* SDLDeleteCommandResponse.m */, + 02810AB1489C5C87EFC41C36A50AF1C6 /* SDLDeleteFile.h */, + CEF708FFC87490713BE7492E71C6CFC6 /* SDLDeleteFile.m */, + 19D811F2001EAF0E3140A317A15C2D2E /* SDLDeleteFileOperation.h */, + 55FBF2206E466027D718DFFDCE35B916 /* SDLDeleteFileOperation.m */, + CB43E3D640B1FB16CFCA612D7D97A8F1 /* SDLDeleteFileResponse.h */, + CBACDEE19366DD9A08DD42FC984CACED /* SDLDeleteFileResponse.m */, + B03B3A058C9D0BF765F99E1614A30742 /* SDLDeleteInteractionChoiceSet.h */, + 294B2803493B4F22870B023507F06FC5 /* SDLDeleteInteractionChoiceSet.m */, + 0C9316AA5BC0CAEF9D3E3B44A05F3E72 /* SDLDeleteInteractionChoiceSetResponse.h */, + 5CFD65E97C36BF1818AFA38283A9A5F4 /* SDLDeleteInteractionChoiceSetResponse.m */, + 4622BBAB6C0909487F8E5B2C90DED6CF /* SDLDeleteSubMenu.h */, + E3B8D796AD9F59926B271B6B8BC81CD3 /* SDLDeleteSubMenu.m */, + EDF6F8E8BD9AB6D28CFCC4A88AC00A5A /* SDLDeleteSubMenuResponse.h */, + A9DB741242CF4886179C79D2927C6839 /* SDLDeleteSubMenuResponse.m */, + B3CAD82552831383429D5BFA74D39E8F /* SDLDeliveryMode.h */, + F6D88BD30A20B4D257B7CF47581E9CAF /* SDLDeliveryMode.m */, + 77E606788D8EBEE9E7E4BC5FE8E237A0 /* SDLDeviceInfo.h */, + 12B0F792AFBD733E34339ED1088AD36E /* SDLDeviceInfo.m */, + E631F9263CC1D82E8E2ED0FF4AFC488B /* SDLDeviceLevelStatus.h */, + C23D3E81A57DED8E5C1CB5C6740271CD /* SDLDeviceLevelStatus.m */, + EE9A3B75D5F68AA0D26EAAC23626F571 /* SDLDeviceStatus.h */, + FB7A1B092EFFA569A0209062DB70F20C /* SDLDeviceStatus.m */, + 72EC467B07A1E6122174621820BE095D /* SDLDiagnosticMessage.h */, + A37889971568605D482199E64332631D /* SDLDiagnosticMessage.m */, + 0DBA36F74030B4F0E6662F5C79F37411 /* SDLDiagnosticMessageResponse.h */, + A30B036CAB80CB3556CC6DCC329BAF82 /* SDLDiagnosticMessageResponse.m */, + F07B93A82B076C766CF6D8E8DD56F230 /* SDLDialNumber.h */, + B80235ABD0E305BBF739141DD04FBCB5 /* SDLDialNumber.m */, + D20EED6DBEE6CA1DD9E9548FAC44753B /* SDLDialNumberResponse.h */, + CAE15697C2B379B5AD4250AD454DCC9F /* SDLDialNumberResponse.m */, + 3B798F817D25B6AC4EB2558AD624BFAC /* SDLDIDResult.h */, + B6FB23E870874A2EEBD8388FECD14E7E /* SDLDIDResult.m */, + 7276A699E37C828398FD98759C45D7B5 /* SDLDimension.h */, + 8FDAFB2B0FEFC8F3A7D9D65B1426C548 /* SDLDimension.m */, + F388207656E1E2BB02B35F9E54E554A1 /* SDLDisplayCapabilities.h */, + 2847C8BA2910893A2A6F1739775ED9F5 /* SDLDisplayCapabilities.m */, + 9919BFC927D3E2CF081C66079A4CF0CE /* SDLDisplayCapabilities+ShowManagerExtensions.h */, + F455B422DAF86C1424C82B369C3A8B08 /* SDLDisplayCapabilities+ShowManagerExtensions.m */, + 9520607250C0D896688E594437D291D7 /* SDLDisplayMode.h */, + E5731FC6EAD9635A7EDD2F725FC4966C /* SDLDisplayMode.m */, + B42D746070F0FB7F229FC805F63C7474 /* SDLDisplayType.h */, + D7E909DC64B7F89CB6C1A37B30E38768 /* SDLDisplayType.m */, + 1E9AE8F88AA007A3E77461413B3DB811 /* SDLDistanceUnit.h */, + 140FFEF6BCEE5E988BE93C6C07C53F70 /* SDLDistanceUnit.m */, + E5EC9ECC5F4F6ACD12B895CEC09422D0 /* SDLDriverDistractionState.h */, + 60FA77C4D30CEF11FC44F1FD78B7B62D /* SDLDriverDistractionState.m */, + 477073728CED1665888DAB004B490CE1 /* SDLECallConfirmationStatus.h */, + A7F77770D5D28F7FF7EEFD4A3C75F542 /* SDLECallConfirmationStatus.m */, + 30350A37D735C91E7CF974A4830CA33B /* SDLECallInfo.h */, + 0A4092219A6781B72119BACC1AF43FD9 /* SDLECallInfo.m */, + B30EC6A6FFDC546EAEF3EC9419433DB1 /* SDLElectronicParkBrakeStatus.h */, + 57E931AA5B67D1C316B05D9969D72FA3 /* SDLElectronicParkBrakeStatus.m */, + ED1462950A60906FEC2552CD8926221F /* SDLEmergencyEvent.h */, + F082C3105D51857B5A6D603751C8D9BB /* SDLEmergencyEvent.m */, + D16AA0C2FE332401CE7F57F13834F32A /* SDLEmergencyEventType.h */, + A6FFAA2E640CE5022DD2D19F7DCD3DE6 /* SDLEmergencyEventType.m */, + CCC2E4CCCC588380F82E83F43587F252 /* SDLEncodedSyncPData.h */, + 66350E5DE80B51CCE2C62602727CED1B /* SDLEncodedSyncPData.m */, + 90A2A6EB9EA9F0B38F2AC500E179C267 /* SDLEncodedSyncPDataResponse.h */, + 04992831D25E1188652283952664EC71 /* SDLEncodedSyncPDataResponse.m */, + 9D3D807D79D5970559544493C272AA4D /* SDLEndAudioPassThru.h */, + 4EE6606F6C0D71B52E9372BC5167AEDB /* SDLEndAudioPassThru.m */, + 1A8C67EB84DA3FA114CA61C5D36FEC54 /* SDLEndAudioPassThruResponse.h */, + 488731B70B7B275F56E7D61460E53EDB /* SDLEndAudioPassThruResponse.m */, + FCF86FF1762C0B9D3ADC7D0AC60200BD /* SDLEnum.h */, + 8E8FE4312C8C948EBE6F6C07DBC1F9CA /* SDLEnum.m */, + A874BEFEF52CB9BA5367A462CDEEADAF /* SDLEqualizerSettings.h */, + 8D8496D47F19D77551ECDEF2FA539E41 /* SDLEqualizerSettings.m */, + 711AC2364C89D3D17514B14D663A1AF6 /* SDLError.h */, + A68DAFDC8E8417E2C745B8ADDB5AF994 /* SDLError.m */, + EDB42F987CA9D0C4BD5A37CB60D3AC3D /* SDLErrorConstants.h */, + E1C51C46435F3ED7FF9BB06FFC5A4F24 /* SDLFile.h */, + 2EE41E56DC2D82CBE3A4B6F45276F73C /* SDLFile.m */, + 9BCEE3F9721D24A5D1B1C3F3B4AEFAB3 /* SDLFileManager.h */, + E7B4A0CE56A4C0A4142F88AD471CB508 /* SDLFileManager.m */, + EC92A5CF1AF12B3C53B52D48314AB3A8 /* SDLFileManagerConfiguration.h */, + 72A178D46F20374B4187B44480590E7B /* SDLFileManagerConfiguration.m */, + A28C591186F83E65852201939A6CE8E2 /* SDLFileManagerConstants.h */, + A67726019D1949E4970552C764865F6C /* SDLFileType.h */, + 0ACF94031C97BEE9B67254A7A1FD9DCD /* SDLFileType.m */, + 6CE607A99E39243283702C5108A74120 /* SDLFileWrapper.h */, + 36EFA6746210C481724913EA6E678298 /* SDLFileWrapper.m */, + 70578C80B038B8AA2C6EF0AEAC8B9A13 /* SDLFocusableItemHitTester.h */, + EB02227CF664EEADE944C75221C640FC /* SDLFocusableItemLocator.h */, + B6358C7513C0DFC92C417EFC736F3DAF /* SDLFocusableItemLocator.m */, + 7FA676189DA006AC1F36A4F3A550F0D8 /* SDLFocusableItemLocatorType.h */, + 27B167F71BD19841F6007D7C9CBF2BB1 /* SDLFuelCutoffStatus.h */, + 815EB3516762963F44C6C1862030AD02 /* SDLFuelCutoffStatus.m */, + 0E9121D1F31F40400B66520537D850C6 /* SDLFuelRange.h */, + 9573AD1DA7DB44D2BDFDA84EF4F972F5 /* SDLFuelRange.m */, + 18E76DED3EBCF8F68EAC43044C919DBE /* SDLFuelType.h */, + 16CB44DA8808ACB9442032A9896329A8 /* SDLFuelType.m */, + 7B5958E143197424F748276D3BB21607 /* SDLFunctionID.h */, + D73A33145CFECBCAEE6723C53C833F84 /* SDLFunctionID.m */, + A2307C9E899AF5180AD1093475004295 /* SDLGenericResponse.h */, + EFDA01CCA143D1BF1A4477C8DE07B128 /* SDLGenericResponse.m */, + CB01AD4F05816453518D94D580DA26A2 /* SDLGetDTCs.h */, + 65E812DEA551B30816A17B71B1C41FBA /* SDLGetDTCs.m */, + CC0A7A3D3F4D617D0E71AF1093961409 /* SDLGetDTCsResponse.h */, + E2ADED48EF297BC164761232F2B6215F /* SDLGetDTCsResponse.m */, + 9E1A67020D9B2731251C24228133ACB1 /* SDLGetInteriorVehicleData.h */, + BE7366FB2C13FB0E264DF97EB1455D14 /* SDLGetInteriorVehicleData.m */, + 8B148286C9121F9CEAAF3BB7A9B9E1EB /* SDLGetInteriorVehicleDataResponse.h */, + FBA716CC59FBC7633B82964878203C10 /* SDLGetInteriorVehicleDataResponse.m */, + 73BFFE658487D4F07A220194D46B6657 /* SDLGetSystemCapability.h */, + 5F82466C45406490A64E03020D7695E5 /* SDLGetSystemCapability.m */, + 6A6B8D51F0041FD1CAA462F5ACAF4C92 /* SDLGetSystemCapabilityResponse.h */, + ABE9C5E4BE504C29DCF7CF015D462C41 /* SDLGetSystemCapabilityResponse.m */, + 824EBA2B2FB87B435FB19A9D74F6FE70 /* SDLGetVehicleData.h */, + 76F2EEF0C3FA77B20C8F1C40D7E3F410 /* SDLGetVehicleData.m */, + 60E7BF58504667B6C399DDBD6B080290 /* SDLGetVehicleDataResponse.h */, + 002DD635E351A128D9079F0337E8B71E /* SDLGetVehicleDataResponse.m */, + 04546B8E310BE2EF2A7229A62D91C44E /* SDLGetWayPoints.h */, + EB782268F9B89A65FEEB9D8D3E0867E4 /* SDLGetWayPoints.m */, + 2C6F102A06A6693E2DF34B61E773CCDB /* SDLGetWayPointsResponse.h */, + 69EA01C2187093B7478259DDCAA70FFF /* SDLGetWayPointsResponse.m */, + 82541979FF412D8D3EBDE11F3B67A44F /* SDLGlobalProperty.h */, + 45965A5B18DF1E47D2154BD8A8FAC30F /* SDLGlobalProperty.m */, + BCECF54BBC67A7DBB0AC2A441E7A7E88 /* SDLGlobals.h */, + D4AED0DCCD8F81481E37F6BFE21BAB4C /* SDLGlobals.m */, + 396E2A6E63106E326669E7D49B49DEF8 /* SDLGPSData.h */, + 3B04648E1797EF5AE9C7A3A0EA1503FC /* SDLGPSData.m */, + 1A44AD1324030A352FB7310E3D9272D9 /* SDLH264Packetizer.h */, + 88351DE654FF03D2560ABFC4142E23E3 /* SDLH264VideoEncoder.h */, + 5FEC2CD895899EA829A11AB6F3A45BB8 /* SDLH264VideoEncoder.m */, + D355CD2546086C41A89F4B7AAAE4C8E5 /* SDLHapticRect.h */, + 2661D6B4F1E4A0C87E7B79EB35BB7A17 /* SDLHapticRect.m */, + 9A5E8DF4DFE51C93135F6D5D75D9EC8C /* SDLHeadLampStatus.h */, + 40A128D8E15179FEFF5E6E00D350F202 /* SDLHeadLampStatus.m */, + 5761EF60549E9FE40D6E1CB212E18183 /* SDLHexUtility.h */, + FB963F962A2C0E4A36716A49E1417B18 /* SDLHexUtility.m */, + 18641A1747ED648E73C047ED9F2800CD /* SDLHMICapabilities.h */, + 23E7A3321143B3292C9376581ADDA901 /* SDLHMICapabilities.m */, + B000BF1A6DCDCB42234749078E5855ED /* SDLHMILevel.h */, + A8713C1D0690D8AB53FDAB90435E668F /* SDLHMILevel.m */, + 28D6F148960DD83935B37C3D826B7260 /* SDLHMIPermissions.h */, + 94AD2AEEC4EEEC528DD817E891BE3839 /* SDLHMIPermissions.m */, + 0CB25C3CE5024B113E5C23EC30356631 /* SDLHMISettingsControlCapabilities.h */, + FB630387201D5C255AAC684842BE5C05 /* SDLHMISettingsControlCapabilities.m */, + 8D3777E8781C62321F0499DD71507012 /* SDLHMISettingsControlData.h */, + 87013DF5230B21B6D6983AE6FFCB0A36 /* SDLHMISettingsControlData.m */, + DA0377EB4FCDD2096F6E8366E5B16C09 /* SDLHMIZoneCapabilities.h */, + 843DDF1E82067D3BE72F657D2974D11F /* SDLHMIZoneCapabilities.m */, + 652C07114772A9C6F9290111810BDD9B /* SDLIAPSession.h */, + C588EEFCF45E3FAF0C2800BE518387F8 /* SDLIAPSession.m */, + C1913C9CAEBA0D15EEC15F086C59CC84 /* SDLIAPSessionDelegate.h */, + E91E91E66C2D537CD449295C86997019 /* SDLIAPTransport.h */, + 41EACD9F247C6BE29368926681946F79 /* SDLIAPTransport.m */, + 8511C1F0379CE4B64BA23E97F063E0F8 /* SDLIgnitionStableStatus.h */, + 35367A3B6B5D2710B91745AE6AD4682D /* SDLIgnitionStableStatus.m */, + F3DF41A5534678C031C7762017C9D5B8 /* SDLIgnitionStatus.h */, + DC22D9FCA0E86BCF2EB200AC5CB8E1AF /* SDLIgnitionStatus.m */, + 8BC3F0AF45DC8C9CA5D3AC7CA8176789 /* SDLImage.h */, + 1B70EF9DB97245E1B7E90AB87E5B1191 /* SDLImage.m */, + 22D36F8BAF8DA247629274EEAD8B24E7 /* SDLImageField.h */, + 510BD182D2555F3EC0384B30036E0ED9 /* SDLImageField.m */, + 0440B26CB65E28F9B693133980FEDB2B /* SDLImageFieldName.h */, + 5413252548EB4A0449D30D5673A28F0B /* SDLImageFieldName.m */, + 8D616CFA82FBB4F1BEE449B4EA3CF4C7 /* SDLImageResolution.h */, + F8BCA7DDAC02AAC3F3B4BD14435C2606 /* SDLImageResolution.m */, + CC2CF1557DA0FDB593F5A186F18275B1 /* SDLImageType.h */, + BBAD9286CA8D2CD34A4301E140079EFA /* SDLImageType.m */, + 53342DFDFA72B33415BAE7AB03F96F02 /* SDLInteractionMode.h */, + 6E3A2064E0524131FC651270B2D6B5BD /* SDLInteractionMode.m */, + 425112040C5A32D7A5A360DFF736A31A /* SDLKeyboardDelegate.h */, + 73EC5A5C8B44BA83334F832BC77A7E87 /* SDLKeyboardEvent.h */, + 3884964D6FEB0D08398432C7EEDB2FAD /* SDLKeyboardEvent.m */, + FB7882BBC66764C5C31631C3E44872D9 /* SDLKeyboardLayout.h */, + 3A3F10D75A29E72E114BC186C312F2C7 /* SDLKeyboardLayout.m */, + 0188C9625886A2778A6F31AEA7518719 /* SDLKeyboardProperties.h */, + 496F8FA240630F82A3F2A1D13DF8A11B /* SDLKeyboardProperties.m */, + C7B0E1C7EE33B7EB279CD11839EE6739 /* SDLKeypressMode.h */, + 679EDF19C388A9D5231B8F50D3AB5E33 /* SDLKeypressMode.m */, + 37245382BD437F67F1FF0EEB59160BD9 /* SDLLanguage.h */, + 09B8E32CA0A3C22134FF5943402A19C2 /* SDLLanguage.m */, + 7464353B95BD2991945285ACC552CABA /* SDLLayoutMode.h */, + 874714916D7F9E906404F014ADF12629 /* SDLLayoutMode.m */, + 76BD07CB451B98D050AD1A03BC6F8AB1 /* SDLLifecycleConfiguration.h */, + E280714FFF45ABB1CB9DC8A142136546 /* SDLLifecycleConfiguration.m */, + A7FD95DAB1B56B5CF9E3A6EE3B3987B2 /* SDLLifecycleConfigurationUpdate.h */, + 3D6C9643ED47D177A573F14BE3364185 /* SDLLifecycleConfigurationUpdate.m */, + 34FB346A248BDC3502948C80F744F6B7 /* SDLLifecycleManager.h */, + 06D99FBDB86BF07446B44FB4FFCEE7F0 /* SDLLifecycleManager.m */, + BB6B9ADD337536D62D71C55DC701BE17 /* SDLLightCapabilities.h */, + 93CA586E7AC09FB55D500BAEB4C79347 /* SDLLightCapabilities.m */, + 36627794E114102CDCC27CFF984888EB /* SDLLightControlCapabilities.h */, + FD86549ACDDE44723749A963C8649466 /* SDLLightControlCapabilities.m */, + C7DDA9F4F55CABEE280A8EFB020D3C65 /* SDLLightControlData.h */, + F3F9A0650155304168FA15D074849F22 /* SDLLightControlData.m */, + E01A788B715A9CBF3F7896EF220491A9 /* SDLLightName.h */, + FDD0F81844113F875E5530B74E5059C3 /* SDLLightName.m */, + 7E7D99673CE2765D739C37675F9E6800 /* SDLLightState.h */, + 905483586B21F30E32A6B74A710A1568 /* SDLLightState.m */, + BF41AF176C8CF91C7F0626C991C3CC3D /* SDLLightStatus.h */, + BD9F491F208EEC3102D4031C7F6CB6B0 /* SDLLightStatus.m */, + 7D9DA21ABF7CDDBFB56BE7D70C6E7644 /* SDLListFiles.h */, + 12E2885863DDF0D17C96EFAAEF45AC56 /* SDLListFiles.m */, + 7D684A0F936240CFF376CBBA6E49A8F0 /* SDLListFilesOperation.h */, + 2032173FB118D500BFD0E7DA8D151574 /* SDLListFilesOperation.m */, + B7498C244FC10C66AF473A338A62111B /* SDLListFilesResponse.h */, + 23D2C8F579F60C519B6CD10AAB64E9D0 /* SDLListFilesResponse.m */, + E7A313894B47D32C4EA5F371B0691870 /* SDLLocationCoordinate.h */, + 465CA59A8B0DC98C5EF708EAA534686B /* SDLLocationCoordinate.m */, + CB405DA5F788994C39DF7E19968B3417 /* SDLLocationDetails.h */, + D67F7910E014171EF4A571F96DEED110 /* SDLLocationDetails.m */, + B6AFFD1A7B3E62B4C607E8E8C4787F6D /* SDLLockScreenConfiguration.h */, + BCDC250868911E64709B0E0D0CBD42E4 /* SDLLockScreenConfiguration.m */, + 90821605B6964E77F2FF24118D6EDB06 /* SDLLockScreenManager.h */, + 8161E304DB3F786AAC3A62CA6B154DD8 /* SDLLockScreenManager.m */, + 832FDE407750A0EEE8830B7E938FC6C4 /* SDLLockScreenPresenter.h */, + 3B51FFE36220330A3CACA531C013CFCD /* SDLLockScreenPresenter.m */, + C7C905D0B465F2AEBC7292AFD9059B7B /* SDLLockScreenStatus.h */, + 8080F4FF2A48736FED1DA77E6D50B24C /* SDLLockScreenStatus.m */, + FBB40AFB9493DDC169BE7015E9119C1C /* SDLLockScreenStatusManager.h */, + 25C4802F58BEA5CB3120F017CF4F345C /* SDLLockScreenStatusManager.m */, + E9F83398A1E87F1CD45B5596A5D81AE4 /* SDLLockScreenViewController.h */, + 4C38CF58405932FA0DE21389A5726742 /* SDLLockScreenViewController.m */, + DE91B9B41F921F65A15BB1A61C45F3A1 /* SDLLogConfiguration.h */, + B455A6928538C43FF4BD1C7049CC4968 /* SDLLogConfiguration.m */, + 00DC145453C6AE5E4252C91AEC9E4D10 /* SDLLogConstants.h */, + 4B40E200FFCC2C033F655E0762F736EC /* SDLLogFileModule.h */, + FEA3CF62D8E20C66A2127F8FE3D3DFB5 /* SDLLogFileModule.m */, + 29B0DF7E121F9744DDEF8461BEE11346 /* SDLLogFileModuleMap.h */, + 3347A8E18A7BA7E697F4FAC02971C531 /* SDLLogFileModuleMap.m */, + 88A45748BCA864462CE96C229A58CF84 /* SDLLogFilter.h */, + 6FCA8FB78161DD00FAD7CF36B71D6E64 /* SDLLogFilter.m */, + D5B81F6F3103AD08D5BA5F4A084E857E /* SDLLogMacros.h */, + C14ECD4BF951829C7D97305625CF23F7 /* SDLLogManager.h */, + AA7BA22D55AB85BB5FCC2ADEC30BD838 /* SDLLogManager.m */, + 0AFC13CD3915A647DA5736D2C6DDB276 /* SDLLogModel.h */, + DBC88C050ABECE21892DC6034CC3F8B4 /* SDLLogModel.m */, + F24E7F5DD21FD40A9EA898618D233EC9 /* SDLLogTarget.h */, + 549F7580C94EB69D5BE9C5F4B08F5083 /* SDLLogTargetAppleSystemLog.h */, + CDB08B4633B0694249B93A051D44062B /* SDLLogTargetAppleSystemLog.m */, + 37762E39468016593D2D4AD6F5570CCC /* SDLLogTargetFile.h */, + 9FF46BF4BEB8FEB342F1AD40824347D9 /* SDLLogTargetFile.m */, + 7E68E92B02B4CA38AF0E73923EE34217 /* SDLLogTargetOSLog.h */, + C43267362AC3279A3F73CFD64244B09E /* SDLLogTargetOSLog.m */, + DA84D035271BEC110F9662786D43FBD4 /* SDLMacros.h */, + 49B5DC50A25037F3B47CD43A3A38A293 /* SDLMaintenanceModeStatus.h */, + D71FED2BCC771A573C90BD4F83AEFDFF /* SDLMaintenanceModeStatus.m */, + 5B01F7BB17F17473A280E74211727645 /* SDLManager.h */, + 01E87A8975185D153094D861550E2DE5 /* SDLManager.m */, + 50FEDDD1C36DDED7C4070C8E3AFE4306 /* SDLManagerDelegate.h */, + E15436608D62D13D53903727589401FD /* SDLMassageCushion.h */, + 1037F8AF88F0F9193A9B244617C64731 /* SDLMassageCushion.m */, + 7B5A067FCC93D9B48C203E6F2CCD07ED /* SDLMassageCushionFirmness.h */, + 6D6C98D5009149E1EBB3CB41C86D68B8 /* SDLMassageCushionFirmness.m */, + 785F69A758CC6573E45FE7A6598F61B5 /* SDLMassageMode.h */, + C924DE2BB45B9FC311749106243E9660 /* SDLMassageMode.m */, + E9C5C58A3724605FC6E5584A0977F7CF /* SDLMassageModeData.h */, + B4B24D0A8CF05DE6367A50C62E6BB4D3 /* SDLMassageModeData.m */, + B783979D82B11AE5D445D43DAC75137B /* SDLMassageZone.h */, + C750AA9E3A4B741F05012DAB3CF5DCB8 /* SDLMassageZone.m */, + 8E5B936160771899CBA8BD8776D883F5 /* SDLMediaClockFormat.h */, + 471FCD3698B75159B2B7FE7C7034350A /* SDLMediaClockFormat.m */, + 816405DEA579818D69E7209885E6B5FC /* SDLMenuCell.h */, + 03AA9FAC1C42C80A5F0956A6B96548A9 /* SDLMenuCell.m */, + 954E4D3766D011A3C490F60A4060E2DD /* SDLMenuManager.h */, + 0111E8E88553B97161A2721E1AE43A1E /* SDLMenuManager.m */, + 7D56D1383005F86119EEEC23396E20E2 /* SDLMenuParams.h */, + 1D5F6CEF1D510CDBB8CE4707724F6BCB /* SDLMenuParams.m */, + BF184F14F7F8CAE1B2D74EEA9C58A028 /* SDLMetadataTags.h */, + D88D739C4F65E3A7EE9F3CCB7CF49C35 /* SDLMetadataTags.m */, + 5DDA353CC3E6C2F475B1D16AC7477D4B /* SDLMetadataType.h */, + C339E93BAAFE8EF680B5FF2F641586D1 /* SDLMetadataType.m */, + 4B4399C0A212B0ADF6F7FC0F8BE41255 /* SDLModuleData.h */, + DA0952F5884198F46D3797FB852A950B /* SDLModuleData.m */, + B8054C0141274D800ABEAD4C1769C950 /* SDLModuleType.h */, + 5A53D998E7BE6ABB127ADBCB5D4437AE /* SDLModuleType.m */, + 2920908C8251D21559604E07DAE9CC4F /* SDLMutableDataQueue.h */, + DD5EBB52421A1DB35F7FC66083B6A92C /* SDLMutableDataQueue.m */, + 0837936F0C4FA3F85A7083B6C1445823 /* SDLMyKey.h */, + CD7F72B767014839B0530963C82FE3DF /* SDLMyKey.m */, + 8E089953D020C5C39366AAB493954078 /* SDLNames.h */, + EBE2BDB35B173D11506009E03770CC5A /* SDLNames.m */, + 93003458C263C345C99E345CD6601231 /* SDLNavigationCapability.h */, + 1DD055CF52ABC534D176AB5FE90081B1 /* SDLNavigationCapability.m */, + 363CE2A5FD5AF0FB3D59F4182F6820BA /* SDLNotificationConstants.h */, + B460414DB680F6055A83A1A74CFC1737 /* SDLNotificationConstants.m */, + D7DD122ECD04717DF72D111757B25D26 /* SDLNotificationDispatcher.h */, + C0BD9783968411AD2C1ADF55A444B04E /* SDLNotificationDispatcher.m */, + CF7790CE899A39C998556055A1E7D05E /* SDLOasisAddress.h */, + 3D2CD286B7D32EA822FA311A2885651B /* SDLOasisAddress.m */, + EE1CFF1CC4DE8423C7542494529D17EA /* SDLObjectWithPriority.h */, + 24B9F83191862C3DAB127D040D7E84C4 /* SDLObjectWithPriority.m */, + A98FE233CFB9499820D654F8CB8D34A1 /* SDLOnAppInterfaceUnregistered.h */, + 54DC3D413110C5F46BA1C71A76E934EE /* SDLOnAppInterfaceUnregistered.m */, + F69848BBB851E73A961ABD509A96FA9B /* SDLOnAudioPassThru.h */, + 05CFD8AB043CBDA71EE6189923FD98CE /* SDLOnAudioPassThru.m */, + 17B3E3A1BA828AED08DF168DFCDBD517 /* SDLOnButtonEvent.h */, + 0353FFB6B9F1743EB1D5CE992BD111F6 /* SDLOnButtonEvent.m */, + E49367CD2C96F4FB7B71A901D7B36355 /* SDLOnButtonPress.h */, + F75470D9588DBC08DC94E74BB7E678F4 /* SDLOnButtonPress.m */, + EF4EBDB80CEF89242D57537CB1A9D465 /* SDLOnCommand.h */, + A0A1B2614785041917BE4112674DC25B /* SDLOnCommand.m */, + 63AB26B885F72FFE7CEF0E215898985A /* SDLOnDriverDistraction.h */, + A8A0243D063C6F7BCF41557EE5E3C603 /* SDLOnDriverDistraction.m */, + 736669CDE9458CABAE6AC40FF3A7C523 /* SDLOnEncodedSyncPData.h */, + 77562F15814B203CF3A3408E7CC77E90 /* SDLOnEncodedSyncPData.m */, + 4C5CF9F2FDF3B546DE71D830925E9009 /* SDLOnHashChange.h */, + BB6E2F8ABEE4FC81BB4C0673B65E197F /* SDLOnHashChange.m */, + E93E46F79CD1636328C3E622271F2F2C /* SDLOnHMIStatus.h */, + 7A2714C0F9D631E857181A264EF1EC31 /* SDLOnHMIStatus.m */, + F0B0BD0A152C2E6D1C988C44BD243F7A /* SDLOnInteriorVehicleData.h */, + 119DF2CF5E29025380EAB643C5C9356A /* SDLOnInteriorVehicleData.m */, + B4154878A32585ABCD9B57764494D6F8 /* SDLOnKeyboardInput.h */, + 3B11875C27CE5BA6B79B0F5FAEB42813 /* SDLOnKeyboardInput.m */, + 869B8F548364045C3602F3A99BAB876A /* SDLOnLanguageChange.h */, + CFB25071577FDEADE8D9DA79FCE735B8 /* SDLOnLanguageChange.m */, + D27E5CC47CABA4801370B09E862441BE /* SDLOnLockScreenStatus.h */, + F79AE8E9ADE72D6DE44E2276CEAD0C3A /* SDLOnLockScreenStatus.m */, + 72782025CCF03AC32ADC435C468D3CC6 /* SDLOnPermissionsChange.h */, + 0E6BD9A54F3B696772751E561C7CA26F /* SDLOnPermissionsChange.m */, + 31CDA2AD721D16F7CB22C8FEB7BF1900 /* SDLOnRCStatus.h */, + 3DB6E62464C24A09F0CCEDABD345B9B1 /* SDLOnRCStatus.m */, + 876AB0F589E4C276C7433FAFE36B3E8A /* SDLOnSyncPData.h */, + A9F36B56817FFB9EC0DC7EB9A60CABAC /* SDLOnSyncPData.m */, + C212942D2CC6534B8AF013D2AD51FDBB /* SDLOnSystemRequest.h */, + 41B5153EEE7EBA7454C7569C8E96F5BB /* SDLOnSystemRequest.m */, + 6C44944669F93F4CD5B2A347BC128591 /* SDLOnTBTClientState.h */, + 8920D3ACDD019CFE7D7EC52C8C57C6AA /* SDLOnTBTClientState.m */, + 70616FFD3793CF95AC174A49C2C43D06 /* SDLOnTouchEvent.h */, + 9736F1C92404CB74F50FE38E6AEDCCA9 /* SDLOnTouchEvent.m */, + 1227D122A83DA58887D9CC98662EC031 /* SDLOnVehicleData.h */, + 7A8536C9E1E43EAA321587775D6769CE /* SDLOnVehicleData.m */, + 32ED80D5DAF69F34604CA7B85C0B657F /* SDLOnWayPointChange.h */, + C796D07492208120D730817A83899617 /* SDLOnWayPointChange.m */, + 9AE500F1F2C18FA80AF0901CBBAF168A /* SDLParameterPermissions.h */, + F0FE7D045A05C40642E1D494C142ADE2 /* SDLParameterPermissions.m */, + 55F7F5D6907BDC05663E93F45A150CBF /* SDLPCMAudioConverter.h */, + 53A52D72644B89F231422DFAA23D9A94 /* SDLPCMAudioConverter.m */, + 987EA3558DD5290384A844B45E024E3F /* SDLPerformAudioPassThru.h */, + 5608E1B518D7DC608F90543748504EDE /* SDLPerformAudioPassThru.m */, + F99552D589ED900BF989DBEC687D6487 /* SDLPerformAudioPassThruResponse.h */, + DF9E74F8390AAEB3D483417C6939A39E /* SDLPerformAudioPassThruResponse.m */, + 5A7CF2F17162C0947A4E9AF853EFDF84 /* SDLPerformInteraction.h */, + C09E630D5F83DF772B1E22DF41CE5473 /* SDLPerformInteraction.m */, + 2046809A5315CAEC170D3C5D87341E36 /* SDLPerformInteractionResponse.h */, + 100684D476010285D6DBE1D29DE9156F /* SDLPerformInteractionResponse.m */, + FF41DB53E65BA7A9D44CF06053B930A2 /* SDLPermissionConstants.h */, + 9CD60AA200C1EA24343193DA9F81F600 /* SDLPermissionFilter.h */, + 5B02040B6B2927923E23CE8142AD72B8 /* SDLPermissionFilter.m */, + 9F05AA929B1AB82280E5802A1D843594 /* SDLPermissionItem.h */, + 28A78FC1E596344107CD9C39F3E1AE20 /* SDLPermissionItem.m */, + 6A19C848AB1E8F2E05CFD76981E2F0E4 /* SDLPermissionManager.h */, + 2FD4201DF52143CC2A919A9470F285F4 /* SDLPermissionManager.m */, + B67E7C32818DC46A3AEFD981A52B59B4 /* SDLPermissionStatus.h */, + C3AD77243F4F153EACAAED070520ED92 /* SDLPermissionStatus.m */, + 3ED24853CBACABF3D277A172CDD9E2F6 /* SDLPhoneCapability.h */, + F35822090B42F3897B8520B75DFCD4BB /* SDLPhoneCapability.m */, + B1F9BC84E7389BF23179BED225E2CA39 /* SDLPinchGesture.h */, + 3A4D13E0009268C3B0AF4EE348B8F3E0 /* SDLPinchGesture.m */, + 53AF765EA8E95848A51E4EF568E373E4 /* SDLPolicyDataParser.h */, + 624FFEDC969D0C72CDBCEF24B6F1FF30 /* SDLPolicyDataParser.m */, + 3E2E609CCF3FF8FA84D2EA7E5E75B6FF /* SDLPowerModeQualificationStatus.h */, + 61F82FF5A93D0558A5851A023E3C7B66 /* SDLPowerModeQualificationStatus.m */, + B2743E673B8A8B1412F3ACA1B22E27C9 /* SDLPowerModeStatus.h */, + 539D18C1C073C34EF0AC35AC764611FC /* SDLPowerModeStatus.m */, + 07D5CF6B19D89EA1D458F113E19CDBFA /* SDLPredefinedLayout.h */, + D4D9CE10E16F6AE73297FC5DF7EA2F0C /* SDLPredefinedLayout.m */, + 0D715B7E1E49032AE4CB109BB45DBBE4 /* SDLPreloadChoicesOperation.h */, + BC44F67089678BF264AE9F4517976CE3 /* SDLPreloadChoicesOperation.m */, + 1E464EACE963D6F07103805F407CD25F /* SDLPrerecordedSpeech.h */, + 94ED036BFFFEB6CED0F8ABC49FB84C64 /* SDLPrerecordedSpeech.m */, + A327553C1C9C5ABD7E4229FEC523EB59 /* SDLPresentChoiceSetOperation.h */, + 5A46CDE4067982A9BB8B1C7265FA9B12 /* SDLPresentChoiceSetOperation.m */, + 41E3A061FF1984AD8701A270A3DEF731 /* SDLPresentKeyboardOperation.h */, + E979C453EEBA7D264D8AED785CF17294 /* SDLPresentKeyboardOperation.m */, + 272E5831D3FF424605127427E7A90BC3 /* SDLPresetBankCapabilities.h */, + 220469AA15E3466DA4D330C338703784 /* SDLPresetBankCapabilities.m */, + 1FF369F4106991D828A148129F2E8B0A /* SDLPrimaryAudioSource.h */, + 8599A0D8C169D439326F1693136570F0 /* SDLPrimaryAudioSource.m */, + 37F60ABA9812A222448532EC0551BAAA /* SDLPrioritizedObjectCollection.h */, + 7A0C6D3EDF3331CF707E1D745709165C /* SDLPrioritizedObjectCollection.m */, + A50DEDE3CBA973F53236F30FA2FAB778 /* SDLPRNDL.h */, + 439E51BAD933C8050127EB5370DDA5E3 /* SDLPRNDL.m */, + FA55B3AD506D7300199B1A88A4C1922D /* SDLProtocol.h */, + 71162CCC8CA6338D5ECE5EFE435E95AA /* SDLProtocol.m */, + BA2F928FB28C5D2FA571B57A0D084BAA /* SDLProtocolConstants.h */, + E28E6185D21901A4C8918AA636A147E2 /* SDLProtocolConstants.m */, + 7A839994F9626443B093DB392F9B5E77 /* SDLProtocolHeader.h */, + 7DDA77991D5939F69DB2C0095DDD520A /* SDLProtocolHeader.m */, + AB48679EACAE70BB29A1B43C2AA11F08 /* SDLProtocolListener.h */, + 8B152F340FD0B7F3F3070CC16D3CA123 /* SDLProtocolMessage.h */, + B1FDA204D0296A51FBA17788E5FA5502 /* SDLProtocolMessage.m */, + 8EAD2D9917040C1DC2F23D0C4DCA7FA7 /* SDLProtocolMessageAssembler.h */, + 1CE06A8C55FD9A4D7FA3F0CAF9744D42 /* SDLProtocolMessageAssembler.m */, + C8CF322794D18B8D62BBDB8E3C98ACC9 /* SDLProtocolMessageDisassembler.h */, + 21CDAECFA811151A9856EAC58258EBDB /* SDLProtocolMessageDisassembler.m */, + 6CD2936B444045437D2B8385225ABCD1 /* SDLProtocolReceivedMessageRouter.h */, + 4F116A936C935377D447B23EA176F852 /* SDLProtocolReceivedMessageRouter.m */, + ED2F31EF80C218AF069FF59E223A181C /* SDLProxy.h */, + D77223E88DCDD7BB63B0B6D7D09CBFE7 /* SDLProxy.m */, + A2A0B72BF01B26F54F317403448BC95C /* SDLProxyListener.h */, + C6DF2C94DD0BF22417AAE9FD81EBA970 /* SDLPutFile.h */, + 61D900C5783B4A7CCFDED7AB11155F20 /* SDLPutFile.m */, + C49C746FEF983198F94F124899429825 /* SDLPutFileResponse.h */, + A796FF7557DEDC03B40E84FCABF5003C /* SDLPutFileResponse.m */, + 905FFC669528A903981179734581E823 /* SDLRadioBand.h */, + B92B564AB97FF0351E59B770E4461D59 /* SDLRadioBand.m */, + 62825F78AC67E047CDD779B82434FFFB /* SDLRadioControlCapabilities.h */, + 3F770F0B48C84089402B55A1C16E0BCE /* SDLRadioControlCapabilities.m */, + AA20B3EE1581C1E1FB217AFBA2AC5289 /* SDLRadioControlData.h */, + 6F6D75EF40F4FAB836D0BB49BD187336 /* SDLRadioControlData.m */, + A57F6B056F41644C1EB503B9714738C9 /* SDLRadioState.h */, + 12854D0AA526844E80820F9E8E5BEB1B /* SDLRadioState.m */, + 6A1AC42C1CE7CEE7544BFD3843B028D5 /* SDLRAWH264Packetizer.h */, + 5F829F2659AFF96D13AD1D9EE4B5EFA7 /* SDLRAWH264Packetizer.m */, + 7B950AA451BBC249F3334DAC75609D89 /* SDLRDSData.h */, + FB5934EB6BF2DD837A0DDD267F040DC8 /* SDLRDSData.m */, + 3EA642FC8AF9F46DC3E8AE79DDE2E472 /* SDLReadDID.h */, + 85C64DA96B7AFBF4B86A506D16F6B044 /* SDLReadDID.m */, + 775FFE7FBE19948FC9401B4F0776F397 /* SDLReadDIDResponse.h */, + 5115280AA762C6A3FD3BAB916224BB7D /* SDLReadDIDResponse.m */, + 50D7B874B9AE6B227AA8F4F50CAA1FCF /* SDLRectangle.h */, + EC39FC6F2170900B078272A1F0D1AFA2 /* SDLRectangle.m */, + 3EC8C09312FB4922A1226B9708C6A43C /* SDLRegisterAppInterface.h */, + 1B25AD2C3F432E69C3F7C65A1FD3AF35 /* SDLRegisterAppInterface.m */, + 8DAD01D3B62C827AC23B4522D86C191C /* SDLRegisterAppInterfaceResponse.h */, + 7CB4AB147F798B079321105636F4622F /* SDLRegisterAppInterfaceResponse.m */, + 2E2EBD053D79C772222DE2E10B18D8FE /* SDLRemoteControlCapabilities.h */, + 9045B17D93E29F5654B083F0E3B91871 /* SDLRemoteControlCapabilities.m */, + 3AA1F076AA965641F75BD01CEF11B284 /* SDLRequestType.h */, + 1C1FD7A0723D168384A7197B14A2529E /* SDLRequestType.m */, + CFF52CDAD169EA0BE305F4FEA18AF00C /* SDLResetGlobalProperties.h */, + 449521F0B43B71DD5E353197D1D06E3C /* SDLResetGlobalProperties.m */, + 0D9C79FCE97A529AF5665757AE522244 /* SDLResetGlobalPropertiesResponse.h */, + 3AC5CC5E55197D747732B811BBCDDE2F /* SDLResetGlobalPropertiesResponse.m */, + DDB5D173E33BC323A525338588E689F5 /* SDLResponseDispatcher.h */, + 300ED618507FFF56590E18E5EF202190 /* SDLResponseDispatcher.m */, + C7908C42336E3E8EF7BF8A5ED5F36DE9 /* SDLResult.h */, + 4EDDC83C524683164037103A5F5B3B03 /* SDLResult.m */, + 0F6ED7ED1A5D6F4B1FF1AE4ABAAE5CC9 /* SDLRGBColor.h */, + 77FDF4FE519E3C33CA096626BFB7B6D1 /* SDLRGBColor.m */, + A589684F65F9FCA9FE1606A5A4DA449B /* SDLRPCMessage.h */, + EDCFB982E7DC04A76ED3DA3978F5DCA7 /* SDLRPCMessage.m */, + 9BB88EEF32E4A188F028653388F389D5 /* SDLRPCMessageType.h */, + BC6C48BDF26AFE82AA25DF3EC54ECACA /* SDLRPCNotification.h */, + 78ABF68E893E072C56F7BA31130F1A5E /* SDLRPCNotification.m */, + 95A201BA4F4CA5F7F7471FC21C318016 /* SDLRPCNotificationNotification.h */, + FDE4AE55BBF8F01C929485F3093C57D4 /* SDLRPCNotificationNotification.m */, + 26596C07D4C1E171071A437EB43CF250 /* SDLRPCPayload.h */, + 906B43B3B42C2419F13B44D7649B956D /* SDLRPCPayload.m */, + B302FF2683670AE1F2DDF27585C514DA /* SDLRPCRequest.h */, + 7C40B5ABF69E45AE08FA378534E3FD62 /* SDLRPCRequest.m */, + 369B5BF8AEC7813E438E7A758338068A /* SDLRPCResponse.h */, + 4FD44B3ACC314A595F73DDE8C41B4345 /* SDLRPCResponse.m */, + 806DF22E4F83CEC997C374E69488DD96 /* SDLRPCResponseNotification.h */, + 3D6DF75BEFE354E7355FDB8A0CF69DC8 /* SDLRPCResponseNotification.m */, + AAD0EC0A506E96A234F58256C7B4B0E9 /* SDLRPCStruct.h */, + 9C1ACD7149C1EA7C8D901437F63FF9B4 /* SDLRPCStruct.m */, + 6A5D8127E561291818D7A21C758371D3 /* SDLRTPH264Packetizer.h */, + E5EBE7E9894846207F571CA5AAB4D817 /* SDLRTPH264Packetizer.m */, + AE2A8A0E7CAEFE4B324B71C286DAE1CC /* SDLSamplingRate.h */, + 7270226214680022216FC52367E6F29D /* SDLSamplingRate.m */, + 242E4D08F5FC5F8C12AC9DA213999E95 /* SDLScreenManager.h */, + B588660C306C440BCD16E23BC80F8D14 /* SDLScreenManager.m */, + 5C6E41A82E5A6888918B0B8014D20735 /* SDLScreenParams.h */, + C30DC4A516525BCBECD781C4551F5D5A /* SDLScreenParams.m */, + D75553FBF05C6083BCE6F156DE8AFB6D /* SDLScreenshotViewController.h */, + C2D61349EFC5D6989D885B003CAA2CB7 /* SDLScreenshotViewController.m */, + 113CC595E16045B043EF5DD17719EC29 /* SDLScrollableMessage.h */, + C796B5BE48E8ED08367A0096265A5C98 /* SDLScrollableMessage.m */, + 7F60A682B29BD523A1C95D44BF818678 /* SDLScrollableMessageResponse.h */, + 46EE98845646D112104D2F453723124B /* SDLScrollableMessageResponse.m */, + 03E8ABDBE6E613232D8983F9512CB9A5 /* SDLSeatControlCapabilities.h */, + 157A50F80F2AE11FF47679C6EB949AE8 /* SDLSeatControlCapabilities.m */, + 8D4041302A5894E0CAEA69FF5FB1AFD2 /* SDLSeatControlData.h */, + 187CBCC47B981AD74A6F93EC13205BFB /* SDLSeatControlData.m */, + 7EB0F5FE524CD2A868E27206CA4D9276 /* SDLSeatMemoryAction.h */, + B39C5ADFF010CF8A14C3BEA134F54E7A /* SDLSeatMemoryAction.m */, + 8E2AF364F85ABFC8AA5227B0DA913557 /* SDLSeatMemoryActionType.h */, + 878F4A0B3877E844E198E0B2E21CDFC0 /* SDLSeatMemoryActionType.m */, + D66FF1E097F6C6ADBB8C030D347AE718 /* SDLSecondaryTransportManager.h */, + 85FB37CFF9AA36FAC92BFD1A5209922B /* SDLSecondaryTransportManager.m */, + D2F29B3571AEDC6EF2A05C2FD2428B8C /* SDLSecondaryTransportPrimaryProtocolHandler.h */, + 44506CC099F475752271FA11D05D3C75 /* SDLSecondaryTransportPrimaryProtocolHandler.m */, + 90B140356718D6990742118A0DE2E86F /* SDLSecurityType.h */, + 43CD4E20EA357AF78C5B0D31F5F31E3E /* SDLSendHapticData.h */, + 71AD2A07C9CFE4A12C4EF8EDD7F55F03 /* SDLSendHapticData.m */, + A13F7104F602D8CCF55BE328CCAF9BAC /* SDLSendHapticDataResponse.h */, + B6888E9AC86CB09F600E2D4D38162348 /* SDLSendHapticDataResponse.m */, + 780B1A1308BC973F769EB7125367DE11 /* SDLSendLocation.h */, + D5819EE20D82F143CE1F0633E4D07C59 /* SDLSendLocation.m */, + BAE73359DCF96D79A92A9621B8D305A0 /* SDLSendLocationResponse.h */, + EA6D4C3D5EF2FDAE040D325A759CB6BB /* SDLSendLocationResponse.m */, + 30A208F2A2627ACEFA41F51C36E546F6 /* SDLSequentialRPCRequestOperation.h */, + 9254EF45C5191A8B292F657750380D1F /* SDLSequentialRPCRequestOperation.m */, + 60AC85822D7B2986864CEF6F1951ED33 /* SDLSetAppIcon.h */, + 11932588F33A92E88B06122013AB8F35 /* SDLSetAppIcon.m */, + CA4C4A31F252A3AA8D1F093D8AA1C2EE /* SDLSetAppIconResponse.h */, + 5026B768F427D41AD264854700D76084 /* SDLSetAppIconResponse.m */, + 318E7D64E2E03688E5466308C0C8EAD0 /* SDLSetDisplayLayout.h */, + 167B88D798FEEDC592CA68F9B81C3C53 /* SDLSetDisplayLayout.m */, + C5EA591376DD52B8329D8B6224101BE5 /* SDLSetDisplayLayoutResponse.h */, + 11FDF61E15EA556F1CEF592604857CFA /* SDLSetDisplayLayoutResponse.m */, + 7D566AE50B191DBFB833D69C8108A202 /* SDLSetGlobalProperties.h */, + FB4C01D533FFC24E248651CE7EA674CF /* SDLSetGlobalProperties.m */, + 918A4228C48EB0067BA2FD3AE232F617 /* SDLSetGlobalPropertiesResponse.h */, + 492D4F2D51A313D0902E178DD1AEF5B8 /* SDLSetGlobalPropertiesResponse.m */, + AADF6CC67DB541A26C867733BFB837C3 /* SDLSetInteriorVehicleData.h */, + F7111C40A1B8D985183C000106A4045B /* SDLSetInteriorVehicleData.m */, + D8DEE8193F871BAF8FB10C6766E58037 /* SDLSetInteriorVehicleDataResponse.h */, + B836FFAC43577369039BC81E89BD1E84 /* SDLSetInteriorVehicleDataResponse.m */, + FEF096B9ED60494498C54BF016616F93 /* SDLSetMediaClockTimer.h */, + 82983133771C2647E3DB3C7CFCCC1923 /* SDLSetMediaClockTimer.m */, + EBC44269990CF3B877BB2720CEC9CB74 /* SDLSetMediaClockTimerResponse.h */, + 55A7A1220C06CCE1A9A4550B36EA8D03 /* SDLSetMediaClockTimerResponse.m */, + CCB1B296EDBE648A896D60F8CEE6EF27 /* SDLShow.h */, + 58FEBFDAA6ED51BFCA92BDE0533F474B /* SDLShow.m */, + 552B58C8C471E41210FCFEC0FB79E946 /* SDLShowConstantTBT.h */, + 570466811B7708FD306FECA152F11CB9 /* SDLShowConstantTBT.m */, + 60F3D61C1A9777D5DC05B26C11612C34 /* SDLShowConstantTBTResponse.h */, + B10C0BDDE44A8F647B3972B9E54F2BC1 /* SDLShowConstantTBTResponse.m */, + 3EE7896D35763F8CAF64B08BA64C53DD /* SDLShowResponse.h */, + 1AF600A0C57267F1F8E415344E6BAFFC /* SDLShowResponse.m */, + 44F6704B5CD4628340637ED433FA5BD9 /* SDLSingleTireStatus.h */, + CCAC618CC0C3328787BC012A68387719 /* SDLSingleTireStatus.m */, + DDBCD95E6AEEBA36D045DE905604EE77 /* SDLSISData.h */, + 022836C73FFD3B13313C60652032D850 /* SDLSISData.m */, + 1B49E94C86A8F29FC04ECE227ED8900A /* SDLSlider.h */, + 853D4FF5772833364CFE76D24578AC9A /* SDLSlider.m */, + 758828EDB3A486DAC7555C09C9C7A075 /* SDLSliderResponse.h */, + 8AD8A6F8A59C6A3CCC42BF3FFBDCE6F5 /* SDLSliderResponse.m */, + 3B47C27C1C51D3C0496F6DC20D6173B7 /* SDLSoftButton.h */, + 88CD2BDF6FF3ED3F6B18D71D1A446DD8 /* SDLSoftButton.m */, + 40C3DCCA2797BCCB1A582257FAD07C67 /* SDLSoftButtonCapabilities.h */, + 1452029094F815D4A37CB7AF1F8F68B1 /* SDLSoftButtonCapabilities.m */, + 2BAFD24C619E18105CB98355ADC1DA09 /* SDLSoftButtonManager.h */, + E0909068F2B40476D8DD18012ACEE182 /* SDLSoftButtonManager.m */, + 0E03634E6C3AFED73B96488B3E52D16A /* SDLSoftButtonObject.h */, + 4D7A37098585D1F6516F67BC762B9572 /* SDLSoftButtonObject.m */, + 0837D198E63D15DBF4D735082E0C46FE /* SDLSoftButtonState.h */, + 8C5D5F27602E0540AA5B35AF19980468 /* SDLSoftButtonState.m */, + D9D727BA4020333B94CAAB14C5548B42 /* SDLSoftButtonType.h */, + 2EC269B1966033DB01819D2781AC4309 /* SDLSoftButtonType.m */, + D4BA8AEBC53D58106E0568ACFD4F7513 /* SDLSpeak.h */, + 8EECA380F767D515D06515EB2526BCE8 /* SDLSpeak.m */, + FE3D9FA9E20EADE3D814527B11431DD7 /* SDLSpeakResponse.h */, + 3BA470C9B9EB26D3D32BA81CC044675F /* SDLSpeakResponse.m */, + 623492413C9581E1C2A71421E771D34D /* SDLSpeechCapabilities.h */, + B30D5145EB60AD2060C601A064F64A2C /* SDLSpeechCapabilities.m */, + 3000DA61AEE11E76574446153EA6A9D0 /* SDLStartTime.h */, + 0606C8406E5F0896454C2482843C1837 /* SDLStartTime.m */, + FAAFF0562BE405586BCF1FDDF36AE5ED /* SDLStateMachine.h */, + 0F18A46B205DECC8DF42A3B8D86D81C7 /* SDLStateMachine.m */, + 3D77537101F4D37E9DC5CF089F2678B1 /* SDLStaticIconName.h */, + 6005348BEB563D39CB3F58D14980AAC3 /* SDLStaticIconName.m */, + 5F5FD2872F26AF396350B7190E6DE3E9 /* SDLStationIDNumber.h */, + 8BDB404AF77A5DEA1B3DB84DA45A6AC8 /* SDLStationIDNumber.m */, + C05DA9D93548A248694FE1C3597A20C1 /* SDLStreamDelegate.h */, + E88F2B657B46A7ECC846CDFFF5390F31 /* SDLStreamDelegate.m */, + 31A35F792486DE7AFBB2EC2911AE103F /* SDLStreamingAudioLifecycleManager.h */, + 4B824FEA6352112490D78F7DC1FBA9B1 /* SDLStreamingAudioLifecycleManager.m */, + 60D99BD0A38FFE51A06990C44060C1B5 /* SDLStreamingAudioManagerType.h */, + D8D039EA7810F354905A7B7DEC39AD3D /* SDLStreamingMediaConfiguration.h */, + FECAD3D772AE3D92F982F8D37CF84190 /* SDLStreamingMediaConfiguration.m */, + D2FA97C41ABC4E9B58E7AD67F60EC9E2 /* SDLStreamingMediaManager.h */, + 290173F04289B99176783B66E57534AB /* SDLStreamingMediaManager.m */, + D2C578E5041CA51DAED52E0CA76D5B99 /* SDLStreamingMediaManagerConstants.h */, + ED61ABE324F03833E5DD4900423E6100 /* SDLStreamingMediaManagerConstants.m */, + EB818F5E2DD87AB284266FC69B4D5A12 /* SDLStreamingMediaManagerDataSource.h */, + 3BD2DB088EAE22C7DD20B753FE0006F9 /* SDLStreamingProtocolDelegate.h */, + 8F06149E7100A56D1FA84248303C1817 /* SDLStreamingVideoLifecycleManager.h */, + 259D45E1AFB4F1787FC8E3DE5C59CEAC /* SDLStreamingVideoLifecycleManager.m */, + 35CCA10DFC8096AC5E016E46765C017C /* SDLSubscribeButton.h */, + 3E81332C7D788E672B67F2C6B78E9E27 /* SDLSubscribeButton.m */, + 6E198C907E3D8D13A562100426F21D81 /* SDLSubscribeButtonResponse.h */, + 6CD9E0DF1EFE3DE7FF4D549A53E52886 /* SDLSubscribeButtonResponse.m */, + D93CCB1CAE537717BC9BCD4B03436DE4 /* SDLSubscribeVehicleData.h */, + 1CB47175BD521EA36770290CCE23BAE6 /* SDLSubscribeVehicleData.m */, + DA6DECFDEF3FAF260C7869F41CAB3C77 /* SDLSubscribeVehicleDataResponse.h */, + BA3A24BAD4F7C9627E27A09F459982DE /* SDLSubscribeVehicleDataResponse.m */, + C9E6389F7EB9A2D0D5DFA03917B8774A /* SDLSubscribeWayPoints.h */, + C64D7A63C4552BCCDBF2279977AA076F /* SDLSubscribeWayPoints.m */, + D4F1CB611287E0564A46366E467F2B99 /* SDLSubscribeWayPointsResponse.h */, + 37D8092920B8E5E088E7054B0E3942B8 /* SDLSubscribeWayPointsResponse.m */, + ED9C3F415373C1FEC38B39E0C3E6A57B /* SDLSupportedSeat.h */, + 2C915C4AA9086574E49D8331642E4948 /* SDLSupportedSeat.m */, + B9171F06491C70DE50D2DDEFFA1DCA85 /* SDLSyncMsgVersion.h */, + AB71670E1D39EA195F20599D06B93C3C /* SDLSyncMsgVersion.m */, + 278DFF1A727BCE036997E56393C855FA /* SDLSyncPData.h */, + 544E15AB2D6A32CDC138E9D68B84226E /* SDLSyncPData.m */, + 7F09A75F248CCF94E447F986B25B46A5 /* SDLSyncPDataResponse.h */, + BD63D162A710F26E0171321EA5F2591C /* SDLSyncPDataResponse.m */, + 1F4DBA778C889E7AE9BD815E523C2F54 /* SDLSystemAction.h */, + 94DAE9A99EFED4688FE48863309B3153 /* SDLSystemAction.m */, + DECDC982A9EC09E0580A89EA45345121 /* SDLSystemCapability.h */, + 5C2874B5B64A663350964F44E1ECA561 /* SDLSystemCapability.m */, + 371C3337694484EFB099491CD7CBA561 /* SDLSystemCapabilityManager.h */, + 73EE85CE5BDD312FCEE5664BB16E7CBC /* SDLSystemCapabilityManager.m */, + F04DD54016688A8FBD677798DD52F1C5 /* SDLSystemCapabilityType.h */, + E7271585FE01A8942488AA222DE3AB43 /* SDLSystemCapabilityType.m */, + A2FA6D88BF0D8BE275F4AF2C7C117908 /* SDLSystemContext.h */, + 1843B9CA2192C5B3AFC14A50D86F80D2 /* SDLSystemContext.m */, + C3596A8E5AA2AB66C296A109794B893E /* SDLSystemRequest.h */, + 3333FE8BAEDEBFE42D614FE436BD845A /* SDLSystemRequest.m */, + 01927F53ACFE6C35599C291FAECAE508 /* SDLSystemRequestResponse.h */, + E0D02E23B750D15B087CF6991C7DD1E5 /* SDLSystemRequestResponse.m */, + 2FA874BD88EA74B7BB768D1914F61EEE /* SDLTBTState.h */, + CBDCBD2A2EFEDA02586A671D16C8A613 /* SDLTBTState.m */, + 561E7859983DC63B87B4C26B0FE33EA8 /* SDLTCPTransport.h */, + CA449C346ED9EF7784D603168D130BF9 /* SDLTCPTransport.m */, + 750876967AB3BEF7925DBF19F38CFA89 /* SDLTemperature.h */, + 0A4F2EA6C3CBD72615526EFA883EDCEF /* SDLTemperature.m */, + 3A44B618A753930AEB7AB149D4B8216A /* SDLTemperatureUnit.h */, + 489D8CDA867A051C8CB4598886BC2C04 /* SDLTemperatureUnit.m */, + 9B77D58B46BB335AF89C58EAF72BD997 /* SDLTemplateColorScheme.h */, + 55E755AC3C038CDDF96EE7AF1ED8DD5F /* SDLTemplateColorScheme.m */, + 87AE3D09CF88341F47674088B1C54CA1 /* SDLTextAlignment.h */, + 1591790007AA3BAC73DAF98A1189DB79 /* SDLTextAlignment.m */, + 0EC69CB6F6EE1A9CE6603EC0C528E22F /* SDLTextAndGraphicManager.h */, + F5507ACACB0EE1CDC5827DB3CB5C3921 /* SDLTextAndGraphicManager.m */, + 9E365ECDA4C5949303D4269A4E6C1025 /* SDLTextField.h */, + F26FA6D4CFDB68F6D5708D3320506CBD /* SDLTextField.m */, + 6263819ACF21688B5F135FFFFADBDDFF /* SDLTextFieldName.h */, + 613CB777291FE463B847AB0CE424E3E2 /* SDLTextFieldName.m */, + 5B17A24A0D4554865BD3A2D6600A70C0 /* SDLTimer.h */, + 8B4CA939A6A2196F72751084D8883EC5 /* SDLTimer.m */, + 8B32686218B33B63CF5B9A0030051449 /* SDLTimerMode.h */, + C98CE191527F3EEA9EB0D52A7E8C01E4 /* SDLTimerMode.m */, + 294E4A7904CB881EF7321E92C367DCC5 /* SDLTireStatus.h */, + 91BDA2325DA14618CF06ECCE83BAA12C /* SDLTireStatus.m */, + 67B626A3DF2C3F1EFB63B489EDD72508 /* SDLTouch.h */, + 7E63FCE296EEC7CC4266B624CB94D0E3 /* SDLTouch.m */, + 897C955F52B3CC643F621B391FE0E0CD /* SDLTouchCoord.h */, + B13627FB4B377D445F3A6608F656BE31 /* SDLTouchCoord.m */, + 07593F3189E4191BA5055F4E3E6AAAF7 /* SDLTouchEvent.h */, + 53B6392C0544376075AE0688976F4995 /* SDLTouchEvent.m */, + 46A22E1778DAA87AC1078DE0B1FB4A24 /* SDLTouchEventCapabilities.h */, + 294FE66477B32CB65903CAB08A4D0901 /* SDLTouchEventCapabilities.m */, + 4EBBAF147C064ED2D11A1F98C0FDD1B2 /* SDLTouchManager.h */, + 1B5726B9900948F08E1B7069AA2DBD54 /* SDLTouchManager.m */, + 56D0196F865D56B6B7B5A1E790ABB1CD /* SDLTouchManagerDelegate.h */, + DAE97070D2DD7177A7C271893521CA74 /* SDLTouchType.h */, + 21FBCD7A2D38BA6674F5B0E20331F1B2 /* SDLTouchType.m */, + A56B12620457866F3F66271757C255A6 /* SDLTPMS.h */, + 8592C8905CFA25913170F954352CB90D /* SDLTPMS.m */, + C75F3D86ED3595011FD0EF82DEE4B281 /* SDLTransportDelegate.h */, + 7F9E7450CE3C9AEF7780149EF7C0651C /* SDLTransportType.h */, + CFCC4C078A82BC69C78877B984B1F7DE /* SDLTriggerSource.h */, + F22C081156C963137E13B64F8EEDDBE7 /* SDLTriggerSource.m */, + 8D8320A911DB2A100461128D32DA4DA9 /* SDLTTSChunk.h */, + C72CB8FE47E78B2195E1D260F2BCBE55 /* SDLTTSChunk.m */, + 58A9BC0BD679E91F8A1E67C32BAB9F47 /* SDLTurn.h */, + 567704385F3D6A56D7306254057ABE58 /* SDLTurn.m */, + 46E9F30F07D90FE0DD803922742B11F4 /* SDLTurnSignal.h */, + D6FECF75926265826FDEA4124F3C90EF /* SDLTurnSignal.m */, + BB5F7AF6EB7A651AA9025D03B433AF00 /* SDLUnregisterAppInterface.h */, + B96911424DB8E68C3F7A172EE62500E1 /* SDLUnregisterAppInterface.m */, + 075A05913BC6F33B82BB059FE069BD5B /* SDLUnregisterAppInterfaceResponse.h */, + F8F030BFD1C8C53533F5FE9C47B23B0B /* SDLUnregisterAppInterfaceResponse.m */, + 8DF56FE670C445485FAD9CE424BBD979 /* SDLUnsubscribeButton.h */, + 9929B63756D6EFC654DDAE86E9C357D8 /* SDLUnsubscribeButton.m */, + 7A7D5318694339EFF9B87A0CAAB26449 /* SDLUnsubscribeButtonResponse.h */, + 28116C10F8E6839229E73642FA1E4D49 /* SDLUnsubscribeButtonResponse.m */, + FBC88689D957B55C0048D1CEDB2EBBC2 /* SDLUnsubscribeVehicleData.h */, + 515E6C76E4E40643313548862912653D /* SDLUnsubscribeVehicleData.m */, + AA16F714E4ACF048C908C32836C32AAD /* SDLUnsubscribeVehicleDataResponse.h */, + 4B04DEDF8E1EC38E7797CB6ADC6AF974 /* SDLUnsubscribeVehicleDataResponse.m */, + C9C4E34BF96558991703677F909C69A4 /* SDLUnsubscribeWayPoints.h */, + F0877301378FB5E31DC1FF839B052571 /* SDLUnsubscribeWayPoints.m */, + 5ED1206D735E32E869AE7B5BDA210D19 /* SDLUnsubscribeWayPointsResponse.h */, + BD7E70381BF9886C592D42AAACE7D474 /* SDLUnsubscribeWayPointsResponse.m */, + AD6E04FFE3A2EB19E5F08CB202D45045 /* SDLUpdateMode.h */, + D48E12FC519B7176B5ABCBAFF3F4A7CA /* SDLUpdateMode.m */, + 7369D4C540A1A6DCB0914BE60C051602 /* SDLUpdateTurnList.h */, + EA582BB114E38C65B6A91E4EE7B8F1F2 /* SDLUpdateTurnList.m */, + E439FC4CCB22233A41FA34B33784F938 /* SDLUpdateTurnListResponse.h */, + BBC3AEA3C7164BC2E9913A9CFF16E8F8 /* SDLUpdateTurnListResponse.m */, + FEF2F285408D6796CC68B3E5C8A67994 /* SDLUploadFileOperation.h */, + 85FEDF2A2BBB46F56EDE42B6A54156AA /* SDLUploadFileOperation.m */, + 1529E778CB489616CEC128365ED5CFA6 /* SDLV1ProtocolHeader.h */, + 1072E708C0802544B54DCFAE27D4E692 /* SDLV1ProtocolHeader.m */, + FE7D0124F88DC1F3149FCBC1CC631444 /* SDLV1ProtocolMessage.h */, + EDA3EFDEAD056017AB9C5A82679E99B2 /* SDLV1ProtocolMessage.m */, + 33232BB5262BA6F1226DA202E9671995 /* SDLV2ProtocolHeader.h */, + F3717E63FA48A5C50AAAE57A9318054D /* SDLV2ProtocolHeader.m */, + 9B40A91D25C52B221AA22FCE5737BFC4 /* SDLV2ProtocolMessage.h */, + B64DC108EFD38FF6AD0FFFF15424C17C /* SDLV2ProtocolMessage.m */, + 5077BEA250C7539EE60A931402EE49B9 /* SDLVehicleDataActiveStatus.h */, + E8355E321C8CD5412294AEDC2B85517E /* SDLVehicleDataActiveStatus.m */, + 02E4BC4185F347014878E1B59F325DB7 /* SDLVehicleDataEventStatus.h */, + AD448DE63DDE2D4588D5BCFF9FF3CED6 /* SDLVehicleDataEventStatus.m */, + DE28653246A6B19B5D9C82A38F1267A9 /* SDLVehicleDataNotificationStatus.h */, + 6803B20ED362AB70967B0C7055309A61 /* SDLVehicleDataNotificationStatus.m */, + D7B5B4BA4F26E2194066AB7EBEB93A57 /* SDLVehicleDataResult.h */, + 3265C5001A2B5C7FDD75B87FB09F0A9E /* SDLVehicleDataResult.m */, + 962BB9FDAFCD322B51AFEAA3F30F88C5 /* SDLVehicleDataResultCode.h */, + 849B1DE4F355AEFA9C976B360A798DDD /* SDLVehicleDataResultCode.m */, + C906B3598B3CFACF07B0ECE64FA3266D /* SDLVehicleDataStatus.h */, + 54AD9BB2ED9351E39DEE63C0E9B9ED5F /* SDLVehicleDataStatus.m */, + 07AFE3CA1A94AE8F3B50436DAD7A651F /* SDLVehicleDataType.h */, + 98C4256ECA504E1CC027AB912D1F64E6 /* SDLVehicleDataType.m */, + A89A9EFD2D36F49E08C182ABDCE2991F /* SDLVehicleType.h */, + D682EE4635A0FD228944E10BD3DBD2D3 /* SDLVehicleType.m */, + 72DA23D6B1B8CEE91F55CF693FD690B2 /* SDLVentilationMode.h */, + 7B3C337257E971AE52091FADEA1E69BD /* SDLVentilationMode.m */, + 0FD3F3FCB6D7F8375707A5ADE2B0B9D7 /* SDLVideoEncoderDelegate.h */, + 3DBFF64D9B2AD1BA9EE49B1585A50913 /* SDLVideoStreamingCapability.h */, + B82BD5CA32CF72B71EEE56763F38464A /* SDLVideoStreamingCapability.m */, + E8C4C7AA6A5BC02EF4D43A491686D9EA /* SDLVideoStreamingCodec.h */, + B328DA9E16288A04E1F8DF443AC85626 /* SDLVideoStreamingCodec.m */, + EC448CD8B6A7EC7C9542B754FDF978F2 /* SDLVideoStreamingFormat.h */, + EF263A3DB489F2DFABE45E6A7B5EF757 /* SDLVideoStreamingFormat.m */, + 2B7878ADF0F0D6A17DAE063071E6CA8D /* SDLVideoStreamingProtocol.h */, + 2783B441BC8A958210375C2CB1FFF38C /* SDLVideoStreamingProtocol.m */, + 701B5609A93C858CAFCCEED925DA688E /* SDLVideoStreamingState.h */, + 7A6B4FAF65147D01EAB724CF22D4AE0D /* SDLVideoStreamingState.m */, + 365FC18DA34697E05E3D5EDB05B377B7 /* SDLViewControllerPresentable.h */, + 1A475293FD2E00B06407A29CE402B3CE /* SDLVoiceCommand.h */, + 97E65B30099BCC7FCE9EE35C4557EFB7 /* SDLVoiceCommand.m */, + F2B21041C8038135FEF53BB001EF0F91 /* SDLVoiceCommandManager.h */, + 95CBE58570B12C86B075BF40F1D826A5 /* SDLVoiceCommandManager.m */, + 74C1219630B98AA4BC12B5245AA5CFB1 /* SDLVrCapabilities.h */, + 11E2F665E33EE37B613491E89FC223ED /* SDLVrCapabilities.m */, + 8080BD85150924CD82CF697853AB49DD /* SDLVrHelpItem.h */, + 377445D67676F1D832550CE95B78BB4F /* SDLVrHelpItem.m */, + ABA99CE85C327FFAD4C981FC5CF3D003 /* SDLWarningLightStatus.h */, + 63466A9AB415882C06F7AE80584F210C /* SDLWarningLightStatus.m */, + 47E4A52D2392FB209D8115764D1AB1D9 /* SDLWayPointType.h */, + 9DB23C1F5BDF1F27A2D1917F3EAAC433 /* SDLWayPointType.m */, + 0B86CE88D851B73EF7B846EEFECEB105 /* SDLWiperStatus.h */, + E71309A18D09217CAF532B036D0FA97A /* SDLWiperStatus.m */, + E36102EF1851D3F66F89FB3A06D17F37 /* SmartDeviceLink.h */, + 223DF75254EF6C3F1112A5278985E072 /* Resources */, ); - name = "Support Files"; - path = "../Target Support Files/SmartDeviceLink"; + name = Default; sourceTree = ""; }; - D08B84B048B1A1DB3519B45031688DA3 /* Pods-MobileWeather */ = { + C33A2D509DAB2A367422C4169CF55BD7 /* Support Files */ = { isa = PBXGroup; children = ( - C87C5B49F66E3B5F15B530A9FFAD35C5 /* Info.plist */, - 4911573D40289829985B64F704187B89 /* Pods-MobileWeather.modulemap */, - 51B8555FCE25366FD28B361CF5B95A4C /* Pods-MobileWeather-acknowledgements.markdown */, - 59295C908B34B4A837F61BA99486BCCF /* Pods-MobileWeather-acknowledgements.plist */, - F54C04F38D1176A1FAF7CBD92E0BA173 /* Pods-MobileWeather-dummy.m */, - F173221D8E4235A2D8B5AD075F453627 /* Pods-MobileWeather-frameworks.sh */, - B94F160428414D82EC90DFF671E44715 /* Pods-MobileWeather-resources.sh */, - 7608A9F87342EADFCA0201D252B08DDE /* Pods-MobileWeather-umbrella.h */, - 140A6513A51A58CB830A169705FC5D2D /* Pods-MobileWeather.debug.xcconfig */, - 143D547302C356B2C6821EDA8FBE34E2 /* Pods-MobileWeather.release.xcconfig */, + 645F30D3F4D32CB6290C7AAEB1B01792 /* Info.plist */, + 01232C2185173CEDDE2F0AE4061AC646 /* ResourceBundle-SmartDeviceLink-Info.plist */, + 172391E2C767592E37556E01537A8ABF /* SmartDeviceLink.modulemap */, + A875DFABA35DCF8BD7D48B371863A251 /* SmartDeviceLink.xcconfig */, + 3C41D652EF9BBF85E62105FDA5237EAA /* SmartDeviceLink-dummy.m */, + 11A3AA37825F0E52099013FBF6A97454 /* SmartDeviceLink-prefix.pch */, + 2B2C4A5A90D11A445D20A514AA2B6C69 /* SmartDeviceLink-umbrella.h */, ); - name = "Pods-MobileWeather"; - path = "Target Support Files/Pods-MobileWeather"; + name = "Support Files"; + path = "../Target Support Files/SmartDeviceLink"; sourceTree = ""; }; D33C4317A1D33EEB7FCD5619E31325B4 /* Frameworks */ = { isa = PBXGroup; children = ( 2443CB63E3BC1583C506BBC04BE50078 /* BiSON.framework */, - 8A1C1F5DF9C4E402F2D52554B3883973 /* iOS */, + EEBB360A0DC8FDE36FC697A5EBB33C1B /* iOS */, ); name = Frameworks; sourceTree = ""; }; - E8AE4B9566F275F2D652B5BFA8524C10 /* SmartDeviceLink */ = { + D95B17CEC3B07AC72E4F2C32E1496D1D /* SmartDeviceLink */ = { isa = PBXGroup; children = ( - 2240EE521C3D72FAC7A4062C7C257ACF /* Default */, - 500874781D4A3E93AFD376983C7BA284 /* Resources */, - A6666ACB3E641311C5296B396FA8DBD0 /* Support Files */, + AE15DDFC52EA382558E11158499D0F9E /* Default */, + C33A2D509DAB2A367422C4169CF55BD7 /* Support Files */, ); name = SmartDeviceLink; path = SmartDeviceLink; sourceTree = ""; }; + EEBB360A0DC8FDE36FC697A5EBB33C1B /* iOS */ = { + isa = PBXGroup; + children = ( + 92EC16D73BAA299A6234966E38DF6113 /* Foundation.framework */, + ); + name = iOS; + sourceTree = ""; + }; + EFCF632D30DD177693144070988C6729 /* Pods */ = { + isa = PBXGroup; + children = ( + 5751E6EF4F4C0461FE15A95624588B85 /* BiSON */, + D95B17CEC3B07AC72E4F2C32E1496D1D /* SmartDeviceLink */, + ); + name = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 12E462A81A480DD1F7503630688391E9 /* Headers */ = { + 18A91028EB1D39D0A2C3C7780F96D942 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 44340F29D06B3C0F0AC57BEF9217EDD9 /* CGPoint_Util.h in Headers */, - B2B665ED1BE79A632BD101AA59AFCD0E /* CVPixelBufferRef+SDLUtil.h in Headers */, - 1C740B801065308CF10C425B5DC3F720 /* dispatch_timer.h in Headers */, - 9862D812A5A8C867067F88FBDF0A2703 /* EAAccessory+SDLProtocols.h in Headers */, - 48BB7D20D0D6A29F67A5A554241A990D /* EAAccessoryManager+SDLProtocols.h in Headers */, - 1A7479C1A0F0470B8BCF4D473ED88521 /* NSBundle+SDLBundle.h in Headers */, - 63EC533B4FD1BF6A3D2759830BE04B66 /* NSMapTable+Subscripting.h in Headers */, - 9FD366D86FBBDD64D633A1D8328B2B3E /* NSMutableDictionary+SafeRemove.h in Headers */, - 25B31C052CD82DA98CC876A4D15FAA40 /* NSMutableDictionary+Store.h in Headers */, - A4BFADCC37A71A54959FC867DD4F46D0 /* NSNumber+NumberType.h in Headers */, - DF0874E33796A059703070A7CD2E6D84 /* SDLAbstractProtocol.h in Headers */, - 5A7710F79F180A05AF6FE7AB3E5A0924 /* SDLAbstractTransport.h in Headers */, - E5E35507E78308F19691E5697DC0E6F7 /* SDLAddCommand.h in Headers */, - B460EE6DD6F746E659B036949D433DBE /* SDLAddCommandResponse.h in Headers */, - E3461D1F02C9514CED8B89664B26DB2B /* SDLAddSubMenu.h in Headers */, - 23577DECCB38F7AA652804359BC034BC /* SDLAddSubMenuResponse.h in Headers */, - D3A72986FCC83A63C544D07823A758FC /* SDLAirbagStatus.h in Headers */, - 0617B42E988F12E00401F925EBA85D27 /* SDLAlert.h in Headers */, - B79B45C3A252A9357DB77A2B12ABEE79 /* SDLAlertManeuver.h in Headers */, - 7B05016AD3E87A58F8BF015399367EE3 /* SDLAlertManeuverResponse.h in Headers */, - FC5BBCB698E6642D559BDEBA178CA585 /* SDLAlertResponse.h in Headers */, - B5BC9A4C63ABD1FFA7E072C553A65552 /* SDLAmbientLightStatus.h in Headers */, - 4E0DFA3A0D38FE9C15DABEDEB0CEFB31 /* SDLAppHMIType.h in Headers */, - E4E4EC69E1E49CC5E0201A1983A5B526 /* SDLAppInfo.h in Headers */, - 3BD9C3771F9E6E21E85396CF9D4CDC93 /* SDLAppInterfaceUnregisteredReason.h in Headers */, - DB3D6D872A43E7477812CDBE4251BE17 /* SDLArtwork.h in Headers */, - F27B2B884DE4FAE21D7B53FA4DA6393E /* SDLAsynchronousOperation.h in Headers */, - DEDA0A3B0176C4CD27AB2DCE2FBB47E2 /* SDLAsynchronousRPCRequestOperation.h in Headers */, - 38F4BF4D2EEF698A2C4F0B801B80A503 /* SDLAudioFile.h in Headers */, - DEE714BB1F487851CAE3A390408477D2 /* SDLAudioPassThruCapabilities.h in Headers */, - C4C97FA9A6E6969C1D10B6E5E0C5C09C /* SDLAudioStreamingState.h in Headers */, - 7ED18BFD1E021D3607699DA73B49D01D /* SDLAudioStreamManager.h in Headers */, - A12D24FBE0BE5032A956B247B70F1AEF /* SDLAudioStreamManagerDelegate.h in Headers */, - B921EB8CC963FAF378744B9DD3E0793C /* SDLAudioType.h in Headers */, - 367053201468492BD9C2A9946EEC0FFD /* SDLBeltStatus.h in Headers */, - 9A1918CD3DE3EFAEA062C874138A8700 /* SDLBitsPerSample.h in Headers */, - AE3931318E806F620BDD72E4555122C4 /* SDLBodyInformation.h in Headers */, - EDCC72BD12756C5CD4021C90461D0A29 /* SDLButtonCapabilities.h in Headers */, - FA38321C0B762B8C763A46629A71C3DA /* SDLButtonEventMode.h in Headers */, - 695AF122D75CB2B3CDCA6509A0142B3A /* SDLButtonName.h in Headers */, - F7CEC50ADF2ED45CC557D94431734A71 /* SDLButtonPress.h in Headers */, - A202D237F3A42AC1FC56B55AD027FC92 /* SDLButtonPressMode.h in Headers */, - 140DDC4D8992381D7E3396EF6D78D4D0 /* SDLButtonPressResponse.h in Headers */, - 0C3689C3617A961773F2EFB205DEFB45 /* SDLCarModeStatus.h in Headers */, - 652AA341FA73DDA721143FF5E87DDD95 /* SDLCarWindow.h in Headers */, - 14B35E7E34D80136D586E5BD543967B6 /* SDLCarWindowViewController.h in Headers */, - 6374C5C0B060DE6796E763A43828D321 /* SDLChangeRegistration.h in Headers */, - 4496A0DEA90A2289399BDC03147347C6 /* SDLChangeRegistrationResponse.h in Headers */, - 22137DA20B8A605A75E977C465C38C46 /* SDLCharacterSet.h in Headers */, - C0D9CD87EFF8D92674493EC27F247DA3 /* SDLChoice.h in Headers */, - CC4E149854C903592BDB50EDDC79BD03 /* SDLClimateControlCapabilities.h in Headers */, - AB6138F2174354904A9AA154E2DF687A /* SDLClimateControlData.h in Headers */, - 928AFD354C94A803394A53271A6A766A /* SDLClusterModeStatus.h in Headers */, - 37C9A1412A530B0A7AD01E69CCA1AF09 /* SDLCompassDirection.h in Headers */, - E6D128BFA10AA1340711DB35B28EF0BF /* SDLComponentVolumeStatus.h in Headers */, - DEB911999E54AE65F761B45E92B63866 /* SDLConfiguration.h in Headers */, - 3EC312EF6A97CD129EB41C29FCC2FEA3 /* SDLConnectionManagerType.h in Headers */, - ADC65E1F9435FB518E9D4307EC8BD9E6 /* SDLControlFramePayloadAudioStartServiceAck.h in Headers */, - 417FB8E1970759BA1FB902AB8EE3FC9C /* SDLControlFramePayloadConstants.h in Headers */, - 6B71CAA21166C2406C91330ACD8C944B /* SDLControlFramePayloadEndService.h in Headers */, - DFAE3203DE9D27B1BF43CAEE84E4862F /* SDLControlFramePayloadNak.h in Headers */, - 91262740E6BD57E3B569279B62969104 /* SDLControlFramePayloadRPCStartService.h in Headers */, - 4B0AF1B7D0E12DBFFBA7E5CAFB1F68A4 /* SDLControlFramePayloadRPCStartServiceAck.h in Headers */, - 1DEB7DD703E2A4637104A72045AD3F42 /* SDLControlFramePayloadType.h in Headers */, - 4BAD5E3968C61C7C5A106D3A25162343 /* SDLControlFramePayloadVideoStartService.h in Headers */, - AEE0AACF38D2B7447A5008ED33FD97A7 /* SDLControlFramePayloadVideoStartServiceAck.h in Headers */, - D310E52E515804DB25C406636B59742C /* SDLCreateInteractionChoiceSet.h in Headers */, - 1B4476BE0D84958374ABED6B090B3C10 /* SDLCreateInteractionChoiceSetResponse.h in Headers */, - ADBEE90BFDA35948CF4BB1DA90AAAADD /* SDLDateTime.h in Headers */, - DD00214311581958ABC63B4CE87BFBE0 /* SDLDefrostZone.h in Headers */, - 9A7FD1BFD3FDA5F4E9DCBE4BB73799AF /* SDLDeleteCommand.h in Headers */, - D297FF67F2C08F85D059B121AEDBE5BD /* SDLDeleteCommandResponse.h in Headers */, - 569AD8FFD8AE529C95009B630FF86291 /* SDLDeleteFile.h in Headers */, - E688605FA558B0B288AC04958D5CA0D6 /* SDLDeleteFileOperation.h in Headers */, - 3E8A16588416AF1C9ECC4DB3B53DCA20 /* SDLDeleteFileResponse.h in Headers */, - A23DFB6072BAF60BBBA83587BAD0EE01 /* SDLDeleteInteractionChoiceSet.h in Headers */, - AFB236082A773CE225003C02C87275B7 /* SDLDeleteInteractionChoiceSetResponse.h in Headers */, - 01350737DB4F43A394A513DA3757E8C7 /* SDLDeleteSubMenu.h in Headers */, - 31B8D922588FA3895C7FDE90F71DF12B /* SDLDeleteSubMenuResponse.h in Headers */, - E990437DD0A766C571D63D4C17EE0953 /* SDLDeliveryMode.h in Headers */, - 4C685E223657DE7889D9845D35179E2C /* SDLDeviceInfo.h in Headers */, - 3CB329AF8A0DA22602510986BBAF3A74 /* SDLDeviceLevelStatus.h in Headers */, - 74845BEE9E12DCC837BC2405D7DCF635 /* SDLDeviceStatus.h in Headers */, - 69B976656A16679695401E22F5195956 /* SDLDiagnosticMessage.h in Headers */, - 5421530BCFDCAE96B69C2A62C6762C30 /* SDLDiagnosticMessageResponse.h in Headers */, - 490224B284026C84FB48595B5107A2EA /* SDLDialNumber.h in Headers */, - C2AEA5D203D7B134C332A5A17C8A267D /* SDLDialNumberResponse.h in Headers */, - 7CB7092B3CA04444BCC5BC65C5CF42E2 /* SDLDIDResult.h in Headers */, - 8217BA29BFCAC494423D1B238011DF23 /* SDLDimension.h in Headers */, - 358394394529A4A3F7F9B9044D493E89 /* SDLDisplayCapabilities+ShowManagerExtensions.h in Headers */, - A89EF60A7226B7A011CC4EFD4E88BD86 /* SDLDisplayCapabilities.h in Headers */, - 760D4C40EA5B283B4BF7544E4D85667E /* SDLDisplayType.h in Headers */, - 1BF0E6EB0BBE5E6C0C0B9AE436709835 /* SDLDriverDistractionState.h in Headers */, - D976685482D77AB8815FA25B50C928B0 /* SDLECallConfirmationStatus.h in Headers */, - 3A08A252114A9FD1123A310D95683940 /* SDLECallInfo.h in Headers */, - 0B9FC958AFD08B9D7E6C4B2EC0F1C243 /* SDLEmergencyEvent.h in Headers */, - 3D13217648280BFCFA0981A4037BA3B2 /* SDLEmergencyEventType.h in Headers */, - C007ED920E79FE91CDD3C19237A1E872 /* SDLEncodedSyncPData.h in Headers */, - CA06F7A12325F32D022E5590428A56A5 /* SDLEncodedSyncPDataResponse.h in Headers */, - B94903E77F7FB5A9E467D079D970A82E /* SDLEndAudioPassThru.h in Headers */, - 5CEFC8F2CC20F682DA08AB0081591E29 /* SDLEndAudioPassThruResponse.h in Headers */, - F89287DEE6452D4A87EFB7A108731E90 /* SDLEnum.h in Headers */, - DAAD8D748EB511F35494140166689755 /* SDLError.h in Headers */, - 994515EDF221CA4ECBB700CC1605EEE8 /* SDLErrorConstants.h in Headers */, - 8994BDF559FAA02EF208CF2C03925363 /* SDLFile.h in Headers */, - 887FF4A00DC05B68431E156987C76DDC /* SDLFileManager.h in Headers */, - 34EA02CC5A56D9030C804F98E634F4EC /* SDLFileManagerConstants.h in Headers */, - 0FF524C1DDA37E5044472C5D0372DA1C /* SDLFileType.h in Headers */, - 573BD9F8A4FC4C207BCA15F2184D342E /* SDLFileWrapper.h in Headers */, - 41197455FBF9735D1128F89CA364F61A /* SDLFocusableItemHitTester.h in Headers */, - AC66A89721309F92976C4AEA5887A3E5 /* SDLFocusableItemLocator.h in Headers */, - ED207E1418E9257F6CA8C78D6AC35C76 /* SDLFocusableItemLocatorType.h in Headers */, - FB2C1BCD2AC5CE90678B4EA8FA35C141 /* SDLFuelCutoffStatus.h in Headers */, - DEEAB077C2FB819A2B87620F85263AA1 /* SDLFunctionID.h in Headers */, - C30397FB0B8898E2439BB2EE8F6D7475 /* SDLGenericResponse.h in Headers */, - 701C6C92E38C134E1529583413535838 /* SDLGetDTCs.h in Headers */, - EA502F248C95F196B19F1682324441FA /* SDLGetDTCsResponse.h in Headers */, - 9073A199D92DCCAC108DE35CC49AD7A7 /* SDLGetInteriorVehicleData.h in Headers */, - 58BF3FD243BEA54E45F34F6CFF92C1E2 /* SDLGetInteriorVehicleDataResponse.h in Headers */, - 4E2DA9E1D7484BCEB90A0C748A49D58F /* SDLGetSystemCapability.h in Headers */, - 37BBCBC4CB0D86B0D9719839E62D8967 /* SDLGetSystemCapabilityResponse.h in Headers */, - 0647CF89B0E47B79C04D7500FAC9B6F9 /* SDLGetVehicleData.h in Headers */, - 0FF7E90C8F3877A3433AAABD01FEA4C9 /* SDLGetVehicleDataResponse.h in Headers */, - BAA7244F886EEE228F6149174F359137 /* SDLGetWayPoints.h in Headers */, - 83D90A5A33B1F2EBE63EAB65C7443202 /* SDLGetWayPointsResponse.h in Headers */, - 6A4E1F6DC14E73AE017660C74255E0A2 /* SDLGlobalProperty.h in Headers */, - F30D65521B1E836BA440AEC703CB0BEE /* SDLGlobals.h in Headers */, - 7D863A99E5BAC44F139D0224797B35F6 /* SDLGPSData.h in Headers */, - 50CC26300954437E5E5885BA76A00A8F /* SDLH264Packetizer.h in Headers */, - 8F57CB691E04D14E7B5F97E647997273 /* SDLH264VideoEncoder.h in Headers */, - A5AAA9A4F255470476BBDF2D3EF361B2 /* SDLHapticRect.h in Headers */, - 2FED9B6B10BE95785796A6BAAA71D350 /* SDLHeadLampStatus.h in Headers */, - 8C80B0FB9337CA2FA449CB4C632E4B7B /* SDLHexUtility.h in Headers */, - 9F58C7965F83DA1D79AE16D7B65181E3 /* SDLHMICapabilities.h in Headers */, - B57A0907CE76F1D832744DC907DAFCFE /* SDLHMILevel.h in Headers */, - 0CCD9E62E3AE3858CFB8571743C20360 /* SDLHMIPermissions.h in Headers */, - 8D65C3F52C131695E2029E6CE4FEA9D7 /* SDLHMIZoneCapabilities.h in Headers */, - 473833AA192D606BA7943C3CF406B1F0 /* SDLIAPSession.h in Headers */, - 2FDEFFE7E496A51224ED984BC02EBDD6 /* SDLIAPSessionDelegate.h in Headers */, - 213D376BE308C7B251F2314D578A8971 /* SDLIAPTransport.h in Headers */, - D56BBBAE38F507FAFFDAB2CA19A4C19E /* SDLIgnitionStableStatus.h in Headers */, - EDD1668F0240141F14FC48AD12691327 /* SDLIgnitionStatus.h in Headers */, - 18D0A1EED3CE0FAB395A7FC7792D2627 /* SDLImage.h in Headers */, - D1B00BF591AB3DD3A5D9F1141A13EEB3 /* SDLImageField.h in Headers */, - 44F5A530875A3F14006480A0045B9BFA /* SDLImageFieldName.h in Headers */, - 40DF0C61C03109BEC3D08FBF4435956F /* SDLImageResolution.h in Headers */, - C641A01F62386B81FF2FE8EB7EB70521 /* SDLImageType.h in Headers */, - 4028D23F7B421DF11782D854EBDB0850 /* SDLInteractionMode.h in Headers */, - 91A79F75D98440765EF2F8D914005139 /* SDLKeyboardEvent.h in Headers */, - A0937F5D30D0F301A1DA1E10F2E7BBAB /* SDLKeyboardLayout.h in Headers */, - 9D6A27E7CAA3E1F94B994EAB8044C6F8 /* SDLKeyboardProperties.h in Headers */, - ECDD8B015B538988E5ACC71E949C7910 /* SDLKeypressMode.h in Headers */, - 54DF49C1B8DF8F432C7C98EA457DA853 /* SDLLanguage.h in Headers */, - 02AF8257D348A82D0B1E1C272DE219CD /* SDLLayoutMode.h in Headers */, - BED5A02DDEB894FE449E3019C371EC84 /* SDLLifecycleConfiguration.h in Headers */, - 1BE5642DFE1ED91BB670AAEDC4EE6EFE /* SDLLifecycleConfigurationUpdate.h in Headers */, - 3432B6F7A412E7AA36117894525DB63A /* SDLLifecycleManager.h in Headers */, - 581E9674FFD18592417AD7207766C3FA /* SDLListFiles.h in Headers */, - 553C5C8730A9F045613F7F13E96A4DCA /* SDLListFilesOperation.h in Headers */, - E0A645304E5FBEE4559481AB37EDE758 /* SDLListFilesResponse.h in Headers */, - F6549CCDFF0C499D7E124288CC9BCB1F /* SDLLocationCoordinate.h in Headers */, - 6E21847B87C603D9BEF31F937733B1FE /* SDLLocationDetails.h in Headers */, - D6DCF85F37098FB511BA654352235305 /* SDLLockScreenConfiguration.h in Headers */, - 445F8ECB92291C5F78BE024D3339B9A8 /* SDLLockScreenManager.h in Headers */, - BD6B9E82216CD15117A4F481B4690E2A /* SDLLockScreenPresenter.h in Headers */, - AB5A09233C892C63067F08EF878A6151 /* SDLLockScreenStatus.h in Headers */, - 41673F89A522BADEE4FE2C334CD1CB69 /* SDLLockScreenStatusManager.h in Headers */, - AF33BB1004F89A461B2917EB6BF7F9F1 /* SDLLockScreenViewController.h in Headers */, - 329C6A75FED1B56D90F0C82669439A93 /* SDLLogConfiguration.h in Headers */, - A5D8F53C31CEA251D6177ACEE5C0E3A6 /* SDLLogConstants.h in Headers */, - 2C55DC3FA3795E707E6215E823DE27FE /* SDLLogFileModule.h in Headers */, - 2E7F74A32200047F26477C344A7D721E /* SDLLogFileModuleMap.h in Headers */, - EF8DA7C48944EF3EAB7682ACEE2D4AFF /* SDLLogFilter.h in Headers */, - 50288B0B84BD31052F724EB4FFB3DA60 /* SDLLogMacros.h in Headers */, - 59652A9C48FC634348A356AB0D535D10 /* SDLLogManager.h in Headers */, - 0FB259885413C74CA8E39AC516F036A7 /* SDLLogModel.h in Headers */, - 990DA901ACFDA1C941F45F12321D15D5 /* SDLLogTarget.h in Headers */, - 9D334A08B6011418489956A4AC0D0054 /* SDLLogTargetAppleSystemLog.h in Headers */, - E2F15227E9089323C8B35C2340967E66 /* SDLLogTargetFile.h in Headers */, - 502BFF324A5467DB875E4733F0DBE9DA /* SDLLogTargetOSLog.h in Headers */, - 4770CC4CB3A1336528FFE644763979FF /* SDLMacros.h in Headers */, - 5115CAC9DCBF2C6A9EE434420A40F108 /* SDLMaintenanceModeStatus.h in Headers */, - D7C98872D2ACBF0473D72F309D651819 /* SDLManager.h in Headers */, - 91B3CDF90FE5087D4342103FA53EBF39 /* SDLManagerDelegate.h in Headers */, - 7AB034AED1EBE0A551AF02DDA11B236C /* SDLMediaClockFormat.h in Headers */, - 3A9DD3DBF23A0C30301606A4B9F16045 /* SDLMenuParams.h in Headers */, - ECF72C20D5D82E006B35CC3E037F0548 /* SDLMetadataTags.h in Headers */, - F4A7C7B634AC0F12DBD1942051D80F45 /* SDLMetadataType.h in Headers */, - 4B38286A7F151B0A1AA9D058A2420046 /* SDLModuleData.h in Headers */, - 6024D472E370E08DA788F1F6BE081513 /* SDLModuleType.h in Headers */, - F7FE76FD6B1D8665853ED436F1A4E90F /* SDLMutableDataQueue.h in Headers */, - A41C6CABA9BC402B67069F923FB5E8EB /* SDLMyKey.h in Headers */, - 152F8FDF7F2AA35CF1FBA6CDB903CC57 /* SDLNames.h in Headers */, - 5D75CBE2EF49BA96796A2B13F913B2DB /* SDLNavigationCapability.h in Headers */, - 81D7831BA994B0BA7FE3C5320A1DB419 /* SDLNotificationConstants.h in Headers */, - 75151ACC3EA78DDDFE1AC4C1F037D281 /* SDLNotificationDispatcher.h in Headers */, - 46FF9EDF5F686AB712BF09AF57F19E09 /* SDLOasisAddress.h in Headers */, - CCC77077EE37EAC6551E90D308AEA97D /* SDLObjectWithPriority.h in Headers */, - 8E4D310C8C9D9E783133BD7BDB4E55F5 /* SDLOnAppInterfaceUnregistered.h in Headers */, - 66F6EE9909166C9BA7A2EF9D41DC9609 /* SDLOnAudioPassThru.h in Headers */, - 31EAC6E9DDF3C302672FB9DEC51088B3 /* SDLOnButtonEvent.h in Headers */, - 8AFAF86106905A1A1E24149C28D4A9C5 /* SDLOnButtonPress.h in Headers */, - 2886C69498313A0A7DE7681EE99D4929 /* SDLOnCommand.h in Headers */, - BC63447E73F158D89802B9F82DD97B07 /* SDLOnDriverDistraction.h in Headers */, - 4652DDB28B4ECF73B21B834EE9A617E1 /* SDLOnEncodedSyncPData.h in Headers */, - 3F6DA6A6F5C65ADFF630DAA7B25DF2EC /* SDLOnHashChange.h in Headers */, - E17089BEA36BAC05DFFDC30DECFA1B1E /* SDLOnHMIStatus.h in Headers */, - 133A7AA9C0BD498D7AAF7C8F9DB80034 /* SDLOnInteriorVehicleData.h in Headers */, - ABE2E3B3F9BD2CB435F0AF23F82BBD76 /* SDLOnKeyboardInput.h in Headers */, - 934F898CC2890876C426C1A6E9CA9633 /* SDLOnLanguageChange.h in Headers */, - C2BB93FD4DD6DE3478E8D2D95E2449DE /* SDLOnLockScreenStatus.h in Headers */, - 56A0A4B39A6DBF5B3A48113D0F72326A /* SDLOnPermissionsChange.h in Headers */, - A1D19A2C1D37877C39767B7082D57B83 /* SDLOnSyncPData.h in Headers */, - AD92A73C89F0BF3DED8FAC6804FC5DA6 /* SDLOnSystemRequest.h in Headers */, - 45D6147EF7F20BDED82BBFE00D5D4F07 /* SDLOnTBTClientState.h in Headers */, - 66E47E7342C7E9A7B6C13521B493FF43 /* SDLOnTouchEvent.h in Headers */, - 96864A06FD9584B0A4F897DB50C52558 /* SDLOnVehicleData.h in Headers */, - 7AD4AC01FF1824F40058565BF52DFEA1 /* SDLOnWayPointChange.h in Headers */, - 3F8883399F1EACC96135B72139CC3369 /* SDLParameterPermissions.h in Headers */, - 8B9B51509103AA3B8014C04BAF0AAD0F /* SDLPCMAudioConverter.h in Headers */, - 9882F18A764CE5B25B4B8AF0D98BE599 /* SDLPerformAudioPassThru.h in Headers */, - 76722489C4905B0F1F5434AD5608CDAB /* SDLPerformAudioPassThruResponse.h in Headers */, - 426061975FB8C771F209CB8537E7BB14 /* SDLPerformInteraction.h in Headers */, - 60FD935A7B476F92A6999A3093EEECA1 /* SDLPerformInteractionResponse.h in Headers */, - 501E447E3065F22B1DE5482D0217A724 /* SDLPermissionConstants.h in Headers */, - 166E302F302DF4A6906F7CE5CBB859CF /* SDLPermissionFilter.h in Headers */, - B12BC796E425B1DB657A364E2E7AA398 /* SDLPermissionItem.h in Headers */, - E5399155FDD45F2BC551B1C09A4939E6 /* SDLPermissionManager.h in Headers */, - B080321BD2C525B07946369DBB3C3C8B /* SDLPermissionStatus.h in Headers */, - AF756134D98536382CC8E023A550BF7A /* SDLPhoneCapability.h in Headers */, - CE639362800DEE076F0B760D36BD4754 /* SDLPinchGesture.h in Headers */, - BEF36649C9089542940B5CFE52B432EB /* SDLPolicyDataParser.h in Headers */, - 0133385AE80305F4E9FEA4D11E1D5C2D /* SDLPowerModeQualificationStatus.h in Headers */, - D4B3E00A43CE4EDAF7CF11A91559F23D /* SDLPowerModeStatus.h in Headers */, - 2EB799E96EE21191FD3D0B5F77931B25 /* SDLPredefinedLayout.h in Headers */, - 4C53E2C50F4CEDF9ED92209067CD8A7A /* SDLPrerecordedSpeech.h in Headers */, - 08E04619764B7A27F054896A69853ACD /* SDLPresetBankCapabilities.h in Headers */, - C404D5D89875503570981730D9EB04C2 /* SDLPrimaryAudioSource.h in Headers */, - 80A4EBD6490754CE899E09ECF5650B2C /* SDLPrioritizedObjectCollection.h in Headers */, - 417DECCE7A9E3642C497656464E1148C /* SDLPRNDL.h in Headers */, - CC162A58667F26F97294B6B37B887B6C /* SDLProtocol.h in Headers */, - 1642935C8CEEC855C24D9FF041DDAF47 /* SDLProtocolHeader.h in Headers */, - 88A25EF61522869299028D8EBD36A6D2 /* SDLProtocolListener.h in Headers */, - DBD771A6C0B8B1BCE3175B0070DCA49A /* SDLProtocolMessage.h in Headers */, - AFA9FEC7F37D1DEA16BF6D107C6A55D6 /* SDLProtocolMessageAssembler.h in Headers */, - F0117F5041FBD7F73996CEFDCA06AFB7 /* SDLProtocolMessageDisassembler.h in Headers */, - DD9FAE3CBD3897AAC95D463A2942F2C3 /* SDLProtocolReceivedMessageRouter.h in Headers */, - 3F4A531C8E049372A8911C7822C52308 /* SDLProxy.h in Headers */, - DE915551714C0E79407BD165028CC3C4 /* SDLProxyFactory.h in Headers */, - C73AFDF4B16732E027AD41C618738B0E /* SDLProxyListener.h in Headers */, - C5E8C3823BB65754AD467AEC69B13CEA /* SDLPutFile.h in Headers */, - 703B176CE0CB3143BD78116497E074C0 /* SDLPutFileResponse.h in Headers */, - F561ABC12F0805ECD60C2E6E9E044367 /* SDLRadioBand.h in Headers */, - B80E51E73D3E925A79C15CD183DA4EF6 /* SDLRadioControlCapabilities.h in Headers */, - DEDE9595682FE9F3A857B711F4C56DE3 /* SDLRadioControlData.h in Headers */, - D404866FA5228F8E52306081DC7B7FA3 /* SDLRadioState.h in Headers */, - BF71D81D425BBD2663F60FE3ABCD8A3C /* SDLRAWH264Packetizer.h in Headers */, - 3F541C796619681488F3F0CA0BD7D97E /* SDLRDSData.h in Headers */, - 11AC5BF7E215B828048EC81441C1E39D /* SDLReadDID.h in Headers */, - 62CF8427F7C5C666F2593514CB557469 /* SDLReadDIDResponse.h in Headers */, - 446CCA48DF4439F4B5EBE4DA15A1922B /* SDLRectangle.h in Headers */, - 938C3264372A35DAC5C3A58EB962B29B /* SDLRegisterAppInterface.h in Headers */, - E90AE961270748322AE4E1DBF1EC19BD /* SDLRegisterAppInterfaceResponse.h in Headers */, - F51368C87773AC30222CCB67E0392B64 /* SDLRemoteControlCapabilities.h in Headers */, - C78796472D7E45DCF111D1DD3DD2962E /* SDLRequestType.h in Headers */, - 2F5F8F7F23E7533A0A8EA50A060BFC1E /* SDLResetGlobalProperties.h in Headers */, - 59466410E55D765790AB62DD042C2933 /* SDLResetGlobalPropertiesResponse.h in Headers */, - C263C5A042748A10EDA25C63084D6CC5 /* SDLResponseDispatcher.h in Headers */, - 1AF1326289FD8C6418D534F008FB55B6 /* SDLResult.h in Headers */, - B12FB9A5EAE272FA13B53B5F6B25C16A /* SDLRPCMessage.h in Headers */, - 7A528DA2A5EFD9F1AB514AF34CB8B599 /* SDLRPCMessageType.h in Headers */, - 4CE189CD43A598847C33CE5EEAFCAC91 /* SDLRPCNotification.h in Headers */, - 3880A71B55F84E08C45CE6B60CE038D6 /* SDLRPCNotificationNotification.h in Headers */, - D54E5501BEF347339A2AC472CBFDC464 /* SDLRPCPayload.h in Headers */, - 0671BC34AE3A26ACE0211E34EBCB16B8 /* SDLRPCRequest.h in Headers */, - 494D7535EE249F1377C4CC92CC555614 /* SDLRPCResponse.h in Headers */, - BA81EC285E30CE452FAC16201173A8AE /* SDLRPCResponseNotification.h in Headers */, - 4A1CB1029DF8EBDB5881E8613EB284F6 /* SDLRPCStruct.h in Headers */, - 0F76BB6F462DEFA4672DD4E0F68BF4F2 /* SDLRTPH264Packetizer.h in Headers */, - 3DDB67374416164F067A2D42BF623EBF /* SDLSamplingRate.h in Headers */, - 922F02064AB9F18065C384974E98E213 /* SDLScreenManager.h in Headers */, - DD1A5133CCE6584B640307CC36E06189 /* SDLScreenParams.h in Headers */, - C6BEC7FD7DE0E765F09E2C553E6BE047 /* SDLScreenshotViewController.h in Headers */, - 6C554E9A8EFB58DFD53C20DEC7B0A872 /* SDLScrollableMessage.h in Headers */, - 4C2FCCACCD309D17674AF32B89F9947F /* SDLScrollableMessageResponse.h in Headers */, - D266A0DDB317BA97AE13383D9D0F1F2E /* SDLSecurityType.h in Headers */, - 1D9B95A77ADA67E3C2196F4C2FA4ED68 /* SDLSendHapticData.h in Headers */, - B27D5FD57E5727B5AF4B62ED413926E2 /* SDLSendHapticDataResponse.h in Headers */, - F56075E34AE7BB974E3D719BB8C33641 /* SDLSendLocation.h in Headers */, - 041B755264ED580F9DEF59FF7F08070C /* SDLSendLocationResponse.h in Headers */, - CCF4640C6D2CBF41B8ACE9A6936ECFAB /* SDLSequentialRPCRequestOperation.h in Headers */, - A22C5D48CF4C964A497C53261DC379B2 /* SDLSetAppIcon.h in Headers */, - A7D5EB69E0188B1E559E5A58B41F67AA /* SDLSetAppIconResponse.h in Headers */, - 0F02560E9A40F855AF69CAA00D869A77 /* SDLSetDisplayLayout.h in Headers */, - 210C1BB2ECFB0A7D570993C2CE5A6B5A /* SDLSetDisplayLayoutResponse.h in Headers */, - 148D1C1A193A33A8B1BF3343E50021A2 /* SDLSetGlobalProperties.h in Headers */, - 55614B6F92EADF032F5B570474EB2425 /* SDLSetGlobalPropertiesResponse.h in Headers */, - 253D46ED68B2C8FB464C2FA7457AA2F1 /* SDLSetInteriorVehicleData.h in Headers */, - 3085CE7E68223DF81755C911A35DDAA9 /* SDLSetInteriorVehicleDataResponse.h in Headers */, - 16EB4321B417708E42C51A06452F9AC4 /* SDLSetMediaClockTimer.h in Headers */, - 2B630676D1809FA3BA1513103DA5C017 /* SDLSetMediaClockTimerResponse.h in Headers */, - 07091C918C122068456335D788CF0A24 /* SDLShow.h in Headers */, - 0B452DF18205C48B0F787946124E83D2 /* SDLShowConstantTBT.h in Headers */, - 6C4C4671AA586228587482C47E2DBFDB /* SDLShowConstantTBTResponse.h in Headers */, - 811DFC190B3ACDD42A1F4A601BE2DEB7 /* SDLShowResponse.h in Headers */, - 47E854093E3ED91D7F34D6BCD7D66E16 /* SDLSingleTireStatus.h in Headers */, - F5A58FDDFF8405977035D8DFAB5318C9 /* SDLSlider.h in Headers */, - B458169A7331D8AF756F61BE9BEACFF4 /* SDLSliderResponse.h in Headers */, - F468C7CC8A8616C62DC2E2C585E7466B /* SDLSoftButton.h in Headers */, - 472A1C085B3E664939DD7BEE814CF0DA /* SDLSoftButtonCapabilities.h in Headers */, - 1B40A8E971B6BD891DD3719E2511769C /* SDLSoftButtonManager.h in Headers */, - 41065CADE0B48AEB61847784C54AF957 /* SDLSoftButtonObject.h in Headers */, - DA2A9509B8C1AAD60888449B5419CED4 /* SDLSoftButtonState.h in Headers */, - B8D9658DC65C6DC891F8AF6F045C5FD1 /* SDLSoftButtonType.h in Headers */, - 20397DC6DC53979944EF3EAC4E9087E3 /* SDLSpeak.h in Headers */, - EBE5EA276DF544283E64442CD1EEBBB8 /* SDLSpeakResponse.h in Headers */, - 5201E244486C11699CBB0371985D6F05 /* SDLSpeechCapabilities.h in Headers */, - 05A18B7F186637B68EE9DAC6789E790E /* SDLStartTime.h in Headers */, - 50A816CB6488DC0DB1649364AAB4DC9C /* SDLStateMachine.h in Headers */, - 7B5750A4E0D20410C6B4458FB9FD39DE /* SDLStreamDelegate.h in Headers */, - A2D6B9CC30DAEEB15CB20FEBE09245BF /* SDLStreamingAudioManagerType.h in Headers */, - 0FF7B0B579D4D8AF54BCC1E176306577 /* SDLStreamingMediaConfiguration.h in Headers */, - 9EA3E158007BEA9CBE78FB20E8C254E2 /* SDLStreamingMediaLifecycleManager.h in Headers */, - 14A30C4729FF357EF0CF42198B09BF9E /* SDLStreamingMediaManager.h in Headers */, - C5EB1C8EA06D0CFF90763AE328B0E7E5 /* SDLStreamingMediaManagerConstants.h in Headers */, - A9911199231248E939930E9C8549DE39 /* SDLStreamingMediaManagerDataSource.h in Headers */, - 79DB9C3CC60F1BB8BBD29570674C7D77 /* SDLSubscribeButton.h in Headers */, - 72497AFFE5D6CBB7E4D154BF27FEB091 /* SDLSubscribeButtonResponse.h in Headers */, - F200B98D55C96C6FEE49C6E6BF51E350 /* SDLSubscribeVehicleData.h in Headers */, - 19F84CA17A95A8CFBCACE977C0638B02 /* SDLSubscribeVehicleDataResponse.h in Headers */, - 2401DC7926440E8A7F2BCD4EB9A1C085 /* SDLSubscribeWayPoints.h in Headers */, - 279F77A60878F82B101E30827D387C0D /* SDLSubscribeWayPointsResponse.h in Headers */, - 85068B7D60B01A320A24B5EFAF904057 /* SDLSyncMsgVersion.h in Headers */, - CCA57AE219DA78E3A22CEF279B4F82C8 /* SDLSyncPData.h in Headers */, - 514111CAFD8F45B694C8CCB9D905ED09 /* SDLSyncPDataResponse.h in Headers */, - DE41A48B61DB578EABA5A740ECEBAB8B /* SDLSystemAction.h in Headers */, - 6E515702D42DFC6A39636C6947114969 /* SDLSystemCapability.h in Headers */, - C755D9B0FDF3FC8C44FBC50B5DBB4C71 /* SDLSystemCapabilityType.h in Headers */, - AF033E7FBA166889C57E947A2D0FEEDB /* SDLSystemContext.h in Headers */, - 10E25A0F182EBE9DA9AEEED3209FB112 /* SDLSystemRequest.h in Headers */, - 2B727FEE8569F5FEBB919D478D9676CE /* SDLSystemRequestResponse.h in Headers */, - 8255EB4658F3F0D103CA41C9D93F5672 /* SDLTBTState.h in Headers */, - E84613F8C9733E4C59432E541472D09A /* SDLTCPTransport.h in Headers */, - 75967F21F1AA9E3199328E5925B360C8 /* SDLTemperature.h in Headers */, - D450045C138084308D702C7873B95EB8 /* SDLTemperatureUnit.h in Headers */, - 958BBA03A66F4544E5D0B2FACE55AFF5 /* SDLTextAlignment.h in Headers */, - EE134831BE116618D7CB56339C1517C2 /* SDLTextAndGraphicManager.h in Headers */, - 803D239A788961A8B754DE89104191B3 /* SDLTextField.h in Headers */, - A85CB12D7201817A8F9D2AAD9B2BB4C5 /* SDLTextFieldName.h in Headers */, - 92C4766B3382DBA0FB973821427D0A3B /* SDLTimer.h in Headers */, - F6655C00B49EF2D6307384FC925FF6F4 /* SDLTimerMode.h in Headers */, - 7F1480F2CE087DECDE1D79B979478B28 /* SDLTireStatus.h in Headers */, - 8698C0133A7E212FDFDBFA19B3C033F7 /* SDLTouch.h in Headers */, - EBB99733C87288DC79031F69CC523DB7 /* SDLTouchCoord.h in Headers */, - 665DBADF732343985D2B773F628E1AB7 /* SDLTouchEvent.h in Headers */, - 1BDB0B8EC87EEC90FC1C61292733E5B0 /* SDLTouchEventCapabilities.h in Headers */, - AA422A2B67730CACA662512B0C068A8C /* SDLTouchManager.h in Headers */, - 2F7D43F5BFC6BDE91B478D517013233F /* SDLTouchManagerDelegate.h in Headers */, - 30A8A9E32E3C5D32E0CBB7A4BC2C6E49 /* SDLTouchType.h in Headers */, - CF3010CEE695C529E5ABA47A4137756F /* SDLTransportDelegate.h in Headers */, - E0FBD77552B70E7A0F46362DAEE8C66A /* SDLTriggerSource.h in Headers */, - 0B55F85358F3A4DA096EA813D6F550A1 /* SDLTTSChunk.h in Headers */, - C95D7605ACE2F87FDA199792760526BF /* SDLTurn.h in Headers */, - CCE847878A34A6C74BD723EEEC1BE723 /* SDLUnregisterAppInterface.h in Headers */, - 5C56E7C7E7D6D4ED8DCD3A8D80AEDC70 /* SDLUnregisterAppInterfaceResponse.h in Headers */, - 7C1850832A00D070B9AA9B2E0057F7D1 /* SDLUnsubscribeButton.h in Headers */, - 238EE86F098C0701D5AE6A589FCF5735 /* SDLUnsubscribeButtonResponse.h in Headers */, - 494182EB25FAD78A68E3B5753FE5B625 /* SDLUnsubscribeVehicleData.h in Headers */, - 0413F52C266DBEB68FF1CB78AD8060CD /* SDLUnsubscribeVehicleDataResponse.h in Headers */, - 3046148E36631FDC7E7685019F0817BB /* SDLUnsubscribeWayPoints.h in Headers */, - 3E0B85E84C8F31AC2454224A7EA0419A /* SDLUnsubscribeWayPointsResponse.h in Headers */, - B90F532639D1508A3D7EC82ADA97756B /* SDLUpdateMode.h in Headers */, - B26C0CFAFE5222432AA4F277753E0C72 /* SDLUpdateTurnList.h in Headers */, - EE47F66354A48055E632DE7A6E2C79DB /* SDLUpdateTurnListResponse.h in Headers */, - 7C9D7C6C5489B2A3D51A8A4415F65BE8 /* SDLUploadFileOperation.h in Headers */, - 8D73A3A741FAA990ED1A176FE7BB1F4D /* SDLV1ProtocolHeader.h in Headers */, - C0F1943EAE59EC250C3DF9425BD98E8A /* SDLV1ProtocolMessage.h in Headers */, - 0305B4677B783E8C78EE1017A01B576E /* SDLV2ProtocolHeader.h in Headers */, - A88006A19E9F50074F010077009F1F4E /* SDLV2ProtocolMessage.h in Headers */, - 7265A97E189E59941F1F6B4FA0B0E8BD /* SDLVehicleDataActiveStatus.h in Headers */, - 3659B7938FF025B2D9C46B4E3C1EFDDB /* SDLVehicleDataEventStatus.h in Headers */, - 8CDC9C059EC9FC7FB32D58D173B0AEEC /* SDLVehicleDataNotificationStatus.h in Headers */, - E9F0E6231149DA5A981C9EA504230588 /* SDLVehicleDataResult.h in Headers */, - 324CD7F63C366197D04BED33345C9F58 /* SDLVehicleDataResultCode.h in Headers */, - 511EF03DAC31F995113C384E0083BB86 /* SDLVehicleDataStatus.h in Headers */, - 7855328EB8BCD96186C185EE4CAEC46D /* SDLVehicleDataType.h in Headers */, - CAD0E5F5D6A3B190C540D117326DBDA7 /* SDLVehicleType.h in Headers */, - C4FCBA6C16B8F87D6B3795B5DCC6FBE3 /* SDLVentilationMode.h in Headers */, - B75EA68A0E58DA33E2A9D7BE96549D1F /* SDLVideoEncoderDelegate.h in Headers */, - 7C30452E12AA3CA31DE94942D9A753DB /* SDLVideoStreamingCapability.h in Headers */, - 367608BDFA777B35DA7E5CD6701BDCA0 /* SDLVideoStreamingCodec.h in Headers */, - F248A994915F69957C17CA8CD03B9350 /* SDLVideoStreamingFormat.h in Headers */, - ED7AD613FF1EFA44A9EBDFFFD580DC6D /* SDLVideoStreamingProtocol.h in Headers */, - 8B4584BEB6B76D4A75427EAF55F7AE3B /* SDLViewControllerPresentable.h in Headers */, - 294C2CDD91F16814E7079E29842749B7 /* SDLVrCapabilities.h in Headers */, - 7ED8C0599CF6C72E7421B8D9FB338337 /* SDLVrHelpItem.h in Headers */, - 58407FD5D6EDE7E5A6B2A2DB28AFCD84 /* SDLWarningLightStatus.h in Headers */, - 0B5CC500FB28384EDD3FA198AA300DE8 /* SDLWayPointType.h in Headers */, - F6442D39C2308EBF6CB5F820B0A04E1F /* SDLWiperStatus.h in Headers */, - 15C4DAC5A9BDC9AA8A6340075F79FD42 /* SmartDeviceLink-umbrella.h in Headers */, - 91EA354721AAF369FA528ABD475BEBD1 /* SmartDeviceLink.h in Headers */, + C90EF98864BD75342A61F68A623CB8A8 /* CGPoint_Util.h in Headers */, + E8D37B50A117D422D45107661FD8E4F7 /* CVPixelBufferRef+SDLUtil.h in Headers */, + 6385324515C13E42D57D36075A0FC12E /* dispatch_timer.h in Headers */, + 8543F60F5BA6080AC723E1AC53854113 /* EAAccessory+SDLProtocols.h in Headers */, + 25FC95E53399E920C720FE3402D2F4FC /* EAAccessoryManager+SDLProtocols.h in Headers */, + 15D110DCFB081B2926AB45DD7D8138AE /* NSBundle+SDLBundle.h in Headers */, + 0571E0DE81FA95CEFED6F44A914BD482 /* NSMapTable+Subscripting.h in Headers */, + BF9F0306CDDA8B33F143C2926A72802F /* NSMutableArray+Safe.h in Headers */, + DBF544509E5935118606279DCBE73CBA /* NSMutableDictionary+SafeRemove.h in Headers */, + B3340A79998FB27A4A960E6FF8DE1AEE /* NSMutableDictionary+Store.h in Headers */, + 619CC002A2516F79E03D6CF554719934 /* NSNumber+NumberType.h in Headers */, + B2843C8B6DCE85C9099DDD51289FA8F3 /* SDLAddCommand.h in Headers */, + FA068D27E688257BCD7280CADC7D92B2 /* SDLAddCommandResponse.h in Headers */, + C87E48E98E897FBB1A8CDD5C8D32A295 /* SDLAddSubMenu.h in Headers */, + 78B32A463421A20D742629D3899757EE /* SDLAddSubMenuResponse.h in Headers */, + 291D6E7A9B53BC97B4266E5E733A9D9A /* SDLAirbagStatus.h in Headers */, + 988933F47345563E06CD83A33A2497B6 /* SDLAlert.h in Headers */, + EF0ACB6858CA006466F6694250CF9080 /* SDLAlertManeuver.h in Headers */, + DC313AF20AB465AD1B65873649B218CE /* SDLAlertManeuverResponse.h in Headers */, + 769FA72939C4B110B101EE74EB4F5360 /* SDLAlertResponse.h in Headers */, + CF55A8209FBE274FC5E3A28FE189BEF3 /* SDLAmbientLightStatus.h in Headers */, + 003F2A9389ABE0BBA874152D87D81FE9 /* SDLAppHMIType.h in Headers */, + 81B622E5CB6CB2D43A77962869486595 /* SDLAppInfo.h in Headers */, + A03A74F2BDDFCA7947186B392BE459D0 /* SDLAppInterfaceUnregisteredReason.h in Headers */, + BAC2A22D53D529749AE9E63363597669 /* SDLArtwork.h in Headers */, + B4FEDD245E82D4842767CF205FDCF3B2 /* SDLAsynchronousOperation.h in Headers */, + 1E08FC40843DC74847587D066152384B /* SDLAsynchronousRPCRequestOperation.h in Headers */, + B728DE284F9AEB0D6439FA532EBD40EF /* SDLAudioControlCapabilities.h in Headers */, + A72129C33CCE32DE7ADB0005986FEC46 /* SDLAudioControlData.h in Headers */, + CE7AFCEE65570E4C568F22CB173C5909 /* SDLAudioFile.h in Headers */, + F0D07E28EC0315EE585092ED33E1E9E3 /* SDLAudioPassThruCapabilities.h in Headers */, + 83D66C311A68AC9FE1602F18A540186C /* SDLAudioStreamingIndicator.h in Headers */, + 515B7E5A2A5B4CA5C242F2B9A1A86114 /* SDLAudioStreamingState.h in Headers */, + 684AE1E013C508054D4BB8A5264F4914 /* SDLAudioStreamManager.h in Headers */, + F52461B0208D07BDA1B362B49B8FBD5C /* SDLAudioStreamManagerDelegate.h in Headers */, + B34592C75BAACACAD4D062D7D56524FD /* SDLAudioType.h in Headers */, + FA0983BF15E5145CFF7EC67FCDA6D1C5 /* SDLBeltStatus.h in Headers */, + 437F9E9979EBC890F4E7986AF8E9F555 /* SDLBitsPerSample.h in Headers */, + D7B7374DBEDD5A3F684E01BA9AAFB3B3 /* SDLBodyInformation.h in Headers */, + 9C79AE73E65C63E06E551EA421B90DA0 /* SDLButtonCapabilities.h in Headers */, + 3A8524D9DB82B710CFA048A740AEDA10 /* SDLButtonEventMode.h in Headers */, + A260AEDA4AEC867A486C90AC7177F8BB /* SDLButtonName.h in Headers */, + 058E093A87092E9F8CFDD67549A024E8 /* SDLButtonPress.h in Headers */, + 3FA8BF893B4ABCE89302AF12D3FDD36B /* SDLButtonPressMode.h in Headers */, + 859B69F68E9CDA169469B014F93CFF09 /* SDLButtonPressResponse.h in Headers */, + A5813FA00B9D0DDB00A2F9B0B354D18F /* SDLCarModeStatus.h in Headers */, + 7A3E7ABDBE6A87ACD034680F232F6ED4 /* SDLCarWindow.h in Headers */, + 2E899075BD1FB0B43B0336F04BFFE82C /* SDLCarWindowViewController.h in Headers */, + 495B9BFB4528B543B85D33626944F27C /* SDLChangeRegistration.h in Headers */, + 7358421F622FE594A4276021A5C124E2 /* SDLChangeRegistrationResponse.h in Headers */, + 0B2BA4773B46F54A3FAFF496DBB0C22B /* SDLCharacterSet.h in Headers */, + 429EA9BAF3633D69D00E9A993542B0F3 /* SDLCheckChoiceVROptionalOperation.h in Headers */, + BC92CAA3D4E2A84EF568CF1F6A8D4EA6 /* SDLChoice.h in Headers */, + 9D973B2FD8134B223C95C435F2ACF9DE /* SDLChoiceCell.h in Headers */, + 10C8FD6897674ADEC7AA22D4778243FC /* SDLChoiceSet.h in Headers */, + 4EA7202E9058AF4E5B55B73766E402BF /* SDLChoiceSetDelegate.h in Headers */, + 20259D21A0257386BD4E5F40489851AE /* SDLChoiceSetManager.h in Headers */, + 7716C0BB0E2A2EA9A0EFD9505E71D45D /* SDLClimateControlCapabilities.h in Headers */, + CBB7C3BD819864F8F7C49032EFA00D4C /* SDLClimateControlData.h in Headers */, + 786DE4402DE0397F432C0614F6F5D1C9 /* SDLClusterModeStatus.h in Headers */, + 88DA25C0BE006FCB2279BB1A6C976F4C /* SDLCompassDirection.h in Headers */, + 383A60466C0BB252F9AABE852853A442 /* SDLComponentVolumeStatus.h in Headers */, + E6C36EB3D959CB47DC2F7526CBDF05B5 /* SDLConfiguration.h in Headers */, + D9D4D5CB73090194E27617D1C080282F /* SDLConnectionManagerType.h in Headers */, + 8BD7401C23DB6C1771107EB9E6C5E198 /* SDLControlFramePayloadAudioStartServiceAck.h in Headers */, + 434FECDCEFCE761DC9E53E8421A0E199 /* SDLControlFramePayloadConstants.h in Headers */, + 62BF3EE28FBFBA5CB49DAD3459171B92 /* SDLControlFramePayloadEndService.h in Headers */, + 8537418E304BA431B24196D5DF17D90D /* SDLControlFramePayloadNak.h in Headers */, + 1EC36ED907B978EC0A6740DDF3A82BE6 /* SDLControlFramePayloadRegisterSecondaryTransportNak.h in Headers */, + 0C1066FA2F180C4335C3C6E7E0E512D6 /* SDLControlFramePayloadRPCStartService.h in Headers */, + DC0D059B471EFFAE3AF0F0D27E0841B3 /* SDLControlFramePayloadRPCStartServiceAck.h in Headers */, + 1739F7A2929471F3CFED544E1DB590B3 /* SDLControlFramePayloadTransportEventUpdate.h in Headers */, + D2AA6A0847C1540C26611AFD1A458831 /* SDLControlFramePayloadType.h in Headers */, + 32384E122DC41DB6FC369BA1B8E44975 /* SDLControlFramePayloadVideoStartService.h in Headers */, + 076A7957F5EDB9C2D34F2DEDF72E2913 /* SDLControlFramePayloadVideoStartServiceAck.h in Headers */, + 347171ED94BCFE1BEF4C751C357A2A61 /* SDLCreateInteractionChoiceSet.h in Headers */, + DFC0D308D215E6C2FD5552BB594D606B /* SDLCreateInteractionChoiceSetResponse.h in Headers */, + 59009DFAF888264F9A6837699BECC40C /* SDLDateTime.h in Headers */, + A3EFD42D9E0CE488A058DF4A1B6E5710 /* SDLDefrostZone.h in Headers */, + 2517D425680862344E8C97608651C465 /* SDLDeleteChoicesOperation.h in Headers */, + 2E36360E596C81768C64F8254B0BCF9E /* SDLDeleteCommand.h in Headers */, + A89FDFB482A1D220E3FE11CE3EC92F6A /* SDLDeleteCommandResponse.h in Headers */, + D298B6C507EA5D92E14F3EE72084B685 /* SDLDeleteFile.h in Headers */, + 6436A7A4CBA712CAB6877C560BEC7842 /* SDLDeleteFileOperation.h in Headers */, + 3BAF653EF94A79F057AF28E92D08B01F /* SDLDeleteFileResponse.h in Headers */, + 998696CF7E4C4635B7866B440F36390C /* SDLDeleteInteractionChoiceSet.h in Headers */, + 5E316BDBF7BA14D7869ECF1990470200 /* SDLDeleteInteractionChoiceSetResponse.h in Headers */, + FDA99C72FCCC08F9958850EDAC37789B /* SDLDeleteSubMenu.h in Headers */, + 2493AB5474953E83E8BEF5B7CD0FCE78 /* SDLDeleteSubMenuResponse.h in Headers */, + 5B07AB7D077651E513AA9A2ED1CF44B4 /* SDLDeliveryMode.h in Headers */, + 6D3EC75329E42B60C09DB45B4FE8F1A5 /* SDLDeviceInfo.h in Headers */, + 9E6917D8CD6BD3DB0895114934894D7A /* SDLDeviceLevelStatus.h in Headers */, + 3E26B72E94D4E8F720765C08644B1835 /* SDLDeviceStatus.h in Headers */, + 9C032EBF1A2F7D118592980A8F2B5972 /* SDLDiagnosticMessage.h in Headers */, + 5D12F2534B91CD52D0F0C56CF0CB6D27 /* SDLDiagnosticMessageResponse.h in Headers */, + 8DEBA1421C4DD7D3A9595087D4FA4E2E /* SDLDialNumber.h in Headers */, + 7CE26F1A66FB46B9FE889042A76408FD /* SDLDialNumberResponse.h in Headers */, + 07D3F1E805ECDD0CCAB66FB862AB8EA9 /* SDLDIDResult.h in Headers */, + 746FF0E71473A927DAF049430D5F2054 /* SDLDimension.h in Headers */, + F6C2994179CF8C6D8997F66B10D39091 /* SDLDisplayCapabilities+ShowManagerExtensions.h in Headers */, + 20E317ACB2A7231E7F68ADC230EBA7A3 /* SDLDisplayCapabilities.h in Headers */, + 0ED96B8030E489BC011881CBD27DCE0B /* SDLDisplayMode.h in Headers */, + 400A84C63C1928674225B0C3DEB1808E /* SDLDisplayType.h in Headers */, + 6E50FF0AFB0BD5AA002DA12EEB5DE34C /* SDLDistanceUnit.h in Headers */, + 9E98FCEE1AE1AABD075AF6F88E5A11F9 /* SDLDriverDistractionState.h in Headers */, + 7F2FA0BF4A1EA840E50CBC116B9E06BF /* SDLECallConfirmationStatus.h in Headers */, + 55062BA3F586C30FA46844D3567CA266 /* SDLECallInfo.h in Headers */, + F75264C66077CC891F71C3A5611EE09F /* SDLElectronicParkBrakeStatus.h in Headers */, + 7DA0AC10F035DC7E6330F5738A07F804 /* SDLEmergencyEvent.h in Headers */, + 849D05FD8CC51033404A1F6BA659FFF0 /* SDLEmergencyEventType.h in Headers */, + D7B19CAC07C0BB3FBC0A0FBFA40EE4E7 /* SDLEncodedSyncPData.h in Headers */, + C8C63F6FD4AB7D018238973433CD8038 /* SDLEncodedSyncPDataResponse.h in Headers */, + 5E1FDFF0DF4769CCCCF4900C09B233E1 /* SDLEndAudioPassThru.h in Headers */, + 4B9C79D4D0C403D33ECCD91413C71EFD /* SDLEndAudioPassThruResponse.h in Headers */, + D9662B2D0FFFFC7D6F7AE41C3EA3BAD2 /* SDLEnum.h in Headers */, + 9535545C5CCEB1727A7FDD58F4472585 /* SDLEqualizerSettings.h in Headers */, + 123E4A14DF16CBD8A5546FDD02907F56 /* SDLError.h in Headers */, + B1E5DC6AFCD91956685EBECEDD18A5AC /* SDLErrorConstants.h in Headers */, + F94CBB0E94F35122982422C9033CA290 /* SDLFile.h in Headers */, + DEF46BCD95E1763B276ADAF2871CC8B4 /* SDLFileManager.h in Headers */, + C240737DBB222CA96204E77426DE226F /* SDLFileManagerConfiguration.h in Headers */, + B6DB66B9F7DFF4D68204FA9456D899E6 /* SDLFileManagerConstants.h in Headers */, + 9B1553AD58BCAD6C76ADC2FBF49B965D /* SDLFileType.h in Headers */, + B23EE41C00A3F0043DAE18BF6B9B07FD /* SDLFileWrapper.h in Headers */, + B53A06CB47243ACC775687934F194823 /* SDLFocusableItemHitTester.h in Headers */, + F9D28D386FF090E6BCA7E2A0A547A3E2 /* SDLFocusableItemLocator.h in Headers */, + 858549FFA24533E78E3F4CECF92F262B /* SDLFocusableItemLocatorType.h in Headers */, + 258C95788E0E8D970F0EE4DF62E4CB2A /* SDLFuelCutoffStatus.h in Headers */, + F2CCEB4B6CC84795E8F6EC28CC2031CD /* SDLFuelRange.h in Headers */, + 6FABBA50253B6A9D25C9285817C97E31 /* SDLFuelType.h in Headers */, + 6EA08212E297F9E760FDB281CCE92EFD /* SDLFunctionID.h in Headers */, + 59495B95A002F05146D2D3968AF824C2 /* SDLGenericResponse.h in Headers */, + 13E1E1C1E31D813C4E5AF16D5017862C /* SDLGetDTCs.h in Headers */, + 599848E2E7D1412C801D088F449542F9 /* SDLGetDTCsResponse.h in Headers */, + 61FE567235554FC51922417BD35DD62A /* SDLGetInteriorVehicleData.h in Headers */, + 4E1D974330808D7F6DE4687340BF78CB /* SDLGetInteriorVehicleDataResponse.h in Headers */, + B4C5252945C315C0E6E69D8440590D6D /* SDLGetSystemCapability.h in Headers */, + 9A07DA3DAA36B7AB9A76ABDB3EF0C614 /* SDLGetSystemCapabilityResponse.h in Headers */, + 6F489960F374B7AD6F326CEE9496523C /* SDLGetVehicleData.h in Headers */, + F23657E3ED082FFD12BCEBB03B8E4754 /* SDLGetVehicleDataResponse.h in Headers */, + 7CFBA7D2F01E5D1593312B5CB73ABF13 /* SDLGetWayPoints.h in Headers */, + 3E976B7DAF7D086E310C9DFEB791F70E /* SDLGetWayPointsResponse.h in Headers */, + 913F900A3AC826216BB2009A6733D1D3 /* SDLGlobalProperty.h in Headers */, + 273FFE3A5B1FE211BE08322FF75F43B5 /* SDLGlobals.h in Headers */, + 66F0A4248266DE30C5660FC3E0C7D829 /* SDLGPSData.h in Headers */, + DC145C39228AF96CABD48303A921B8B2 /* SDLH264Packetizer.h in Headers */, + 10070EB551593AE8DE8856DA6C40A8B1 /* SDLH264VideoEncoder.h in Headers */, + F18D99D31992908DCAAD16351D1225E7 /* SDLHapticRect.h in Headers */, + FE2A39B8680A279AEEAA731E3C160C35 /* SDLHeadLampStatus.h in Headers */, + F25F7B5F861203B7E554F493EFD1CD01 /* SDLHexUtility.h in Headers */, + 45AB8E12BABFBA44F627D44826815A3C /* SDLHMICapabilities.h in Headers */, + 0F85058037E726C869FAB2BFB6CBC93D /* SDLHMILevel.h in Headers */, + B3678FE725134C7745A585E3AD169630 /* SDLHMIPermissions.h in Headers */, + DF506D6F22A6093E23C6CE899FCBF525 /* SDLHMISettingsControlCapabilities.h in Headers */, + 7462E7EB73EE5F66A111FDBC628E92EB /* SDLHMISettingsControlData.h in Headers */, + 6EE15D9FAFC9ADFE4A9A0AA14DBEFCCF /* SDLHMIZoneCapabilities.h in Headers */, + AB36E87567F8F026FA7C691FC523EADB /* SDLIAPSession.h in Headers */, + 167504994CBF7AD0EF8085D7BCC5AA56 /* SDLIAPSessionDelegate.h in Headers */, + C7F572CD8595C0784BB96DC83093E5B1 /* SDLIAPTransport.h in Headers */, + 7F2F0C20D109DD27352C422FF2D10BF2 /* SDLIgnitionStableStatus.h in Headers */, + 30A929E1C35E2D215DD8EE99B82074D4 /* SDLIgnitionStatus.h in Headers */, + 4CC172DE9DE64D8C7CEB557E19EA3C06 /* SDLImage.h in Headers */, + E27B64C34264C556BAE7E03E240D214E /* SDLImageField.h in Headers */, + 49AE1FF6E889BF5CFD8C7F6FC61A1990 /* SDLImageFieldName.h in Headers */, + 39601039B7D4C9F81E0435945B4C0A72 /* SDLImageResolution.h in Headers */, + 88D8A69F374852EE90264942E3534F74 /* SDLImageType.h in Headers */, + C29244BB43FA90C077ED24B501BF576E /* SDLInteractionMode.h in Headers */, + 4F00F1BC25190AD1A39A832E385D6092 /* SDLKeyboardDelegate.h in Headers */, + DF7FA4C2B136CEAEE342364C6442AFEF /* SDLKeyboardEvent.h in Headers */, + 75D810843E2A0E4FA90FACFFE42AB56F /* SDLKeyboardLayout.h in Headers */, + 58720313B5ED4BD082DEDE72CB6F9137 /* SDLKeyboardProperties.h in Headers */, + 94E4A781FA4063E85C9A4FD45660EBB7 /* SDLKeypressMode.h in Headers */, + CDDC9E0F469E0BE091E773E3F0110385 /* SDLLanguage.h in Headers */, + 43DCE09FC284FDD30495C63109F3805D /* SDLLayoutMode.h in Headers */, + 57B5A0D95AD17758F024FF65C4FC827A /* SDLLifecycleConfiguration.h in Headers */, + ACB952D7CB8FF538A78A86B53F4DE0E6 /* SDLLifecycleConfigurationUpdate.h in Headers */, + AA06B0C9844FF70FB97853669C2F214F /* SDLLifecycleManager.h in Headers */, + E7744B78F3F530A78D8502D28037C347 /* SDLLightCapabilities.h in Headers */, + FC21A4EA24E55CA18CF2CAC980D68C76 /* SDLLightControlCapabilities.h in Headers */, + 38B289D35FE88B0513826F20E2E49C47 /* SDLLightControlData.h in Headers */, + ED043AF96986740F0C2B21FD16A546BD /* SDLLightName.h in Headers */, + 79A8011035A5ED9C33769968D9F02C0C /* SDLLightState.h in Headers */, + AAB333DBF720AF65DAF65F8C8B14C3D5 /* SDLLightStatus.h in Headers */, + CE8C65228A5636BE8221B77B66919C40 /* SDLListFiles.h in Headers */, + 036C103636557CFD8B87DB584E23529C /* SDLListFilesOperation.h in Headers */, + 4C8CCBF1734D58A4E654681E85C56324 /* SDLListFilesResponse.h in Headers */, + AA678D7881C85FB884D4CE2B4CAEE7D4 /* SDLLocationCoordinate.h in Headers */, + B02142E65DBCEB7BBCC9D454B91563E1 /* SDLLocationDetails.h in Headers */, + 891252AB8734EC4A6D2787E7C37C981A /* SDLLockScreenConfiguration.h in Headers */, + 53A860936F0006E7C14D7EC0756B3126 /* SDLLockScreenManager.h in Headers */, + CFA1FE007ECB8784BE22168AAFE932F4 /* SDLLockScreenPresenter.h in Headers */, + 5D8DF32389AB46560922E067FE0AC6C4 /* SDLLockScreenStatus.h in Headers */, + E71F05B18DC830EF0AB7959F28D68BE2 /* SDLLockScreenStatusManager.h in Headers */, + 0E6F99FA384B285DFBA13427F6695DCF /* SDLLockScreenViewController.h in Headers */, + 7E0C562145A87C039B0760E3E95A3EFC /* SDLLogConfiguration.h in Headers */, + FDF34E6C9E3E756D281B22CE59F9C228 /* SDLLogConstants.h in Headers */, + 994808B23DAB46CCA68B9AFEE5AA1810 /* SDLLogFileModule.h in Headers */, + 3D49B9BD85156CA47C272AFCA46CD969 /* SDLLogFileModuleMap.h in Headers */, + BBAF43468910C178ED4F66EF361737AB /* SDLLogFilter.h in Headers */, + C67F697EAA10CBA54090E5D5FE109D8E /* SDLLogMacros.h in Headers */, + 4831DC00268ABDC3B71DF092EC92C6A1 /* SDLLogManager.h in Headers */, + 334A1C8E8A34F736E4D8AD86F78DCDA2 /* SDLLogModel.h in Headers */, + 82CBBE4620700F92B289B34597B60B59 /* SDLLogTarget.h in Headers */, + EAE41EFE7BBEF6574E83490434678CA0 /* SDLLogTargetAppleSystemLog.h in Headers */, + 3C408E7824C741EB34570DF86CC34B97 /* SDLLogTargetFile.h in Headers */, + 97996A8675B8EFDB46D6108CDCA8764C /* SDLLogTargetOSLog.h in Headers */, + 8EA68FBFA7BBDC1E219596A73B121187 /* SDLMacros.h in Headers */, + CA24651E9FF81F72B30850927978390F /* SDLMaintenanceModeStatus.h in Headers */, + BFE07457F18B4DBAA72F681CDD33F26B /* SDLManager.h in Headers */, + F42830430D0A02D43C2BE85C2AD22238 /* SDLManagerDelegate.h in Headers */, + CA2B853982B0413B0F1ACA2C5D5EB02E /* SDLMassageCushion.h in Headers */, + C45864A59439501BACD3B69022FEE2CB /* SDLMassageCushionFirmness.h in Headers */, + 575532F352FD30C241A4F8A08E86A802 /* SDLMassageMode.h in Headers */, + 52BDA4C17AD653F1FF67D7B5546AEA20 /* SDLMassageModeData.h in Headers */, + F1DFF6D17DFF429191689AFE9893BF89 /* SDLMassageZone.h in Headers */, + 75D5B0EBD0FD6C50F0689C4989661209 /* SDLMediaClockFormat.h in Headers */, + 3A3C1A36F9538E34D2AF0C0F83D4966C /* SDLMenuCell.h in Headers */, + AF891D3AC32CD2E250A193DBEB75E8F8 /* SDLMenuManager.h in Headers */, + 3467C8330CDCF0CC7649922ED7F36898 /* SDLMenuParams.h in Headers */, + 4DF00792D0599F38F8C53D1D9524E0CF /* SDLMetadataTags.h in Headers */, + 64359BE45C63371C5239DD515C7643E8 /* SDLMetadataType.h in Headers */, + 7B7F4C3B894E9E410F1719500F12F018 /* SDLModuleData.h in Headers */, + 5E1950E995CFEBB2895EF04F61D72770 /* SDLModuleType.h in Headers */, + 7663F4D01A32404CB6A0B75C791FCE66 /* SDLMutableDataQueue.h in Headers */, + BA42E573B3566AF55B459CF0ACD07832 /* SDLMyKey.h in Headers */, + D252C26EF52D5A65AD8618B89CD0E71B /* SDLNames.h in Headers */, + 1549440C97D34FA71CACDA059B859453 /* SDLNavigationCapability.h in Headers */, + BE4A1689602B2C09FD8FA8DE3F3B73A4 /* SDLNotificationConstants.h in Headers */, + 78FD1DAD8440B443E2EC83997DF47F1A /* SDLNotificationDispatcher.h in Headers */, + 90A1A5F00F12FEA450305FDB8DA22633 /* SDLOasisAddress.h in Headers */, + D2AC82A60C50DF5B3AB264477E371A24 /* SDLObjectWithPriority.h in Headers */, + A99019E5BF5AAFA16DAF00E30D45848C /* SDLOnAppInterfaceUnregistered.h in Headers */, + 687F0FC1C9C0461816CAF03E60188497 /* SDLOnAudioPassThru.h in Headers */, + 201B959BDABF5FECAA5F31E36BD684FF /* SDLOnButtonEvent.h in Headers */, + 1E328C92B78121A10A37CCF65B7BFDC2 /* SDLOnButtonPress.h in Headers */, + 3AF64F5B141F2725382B1699A20FFEAB /* SDLOnCommand.h in Headers */, + EC6A50FA7B1C3692FA221AF509564BA6 /* SDLOnDriverDistraction.h in Headers */, + 0702B0DF5EBA25FE409412BD730CDE6D /* SDLOnEncodedSyncPData.h in Headers */, + D3AEE02B2C18420EEA41862651CD4B99 /* SDLOnHashChange.h in Headers */, + 6201D5C7EB24ED976AAD8B7474A46AC0 /* SDLOnHMIStatus.h in Headers */, + A0E50A30072966DDBC89DC2292B1BF21 /* SDLOnInteriorVehicleData.h in Headers */, + 7F6436B3FF706FA2681113944117A4F4 /* SDLOnKeyboardInput.h in Headers */, + 0656439CE3C4359D7352910005E8BB73 /* SDLOnLanguageChange.h in Headers */, + 90F9085E102C7CDDE4CCB42C81782F8A /* SDLOnLockScreenStatus.h in Headers */, + 1F89230366EB77189F7AB10C48498682 /* SDLOnPermissionsChange.h in Headers */, + 70C8FA5936878326DCDFCB8B2D8D8CF6 /* SDLOnRCStatus.h in Headers */, + C4B784E497838C5791CD068CC9FD5797 /* SDLOnSyncPData.h in Headers */, + B5F9C1FA9FDC4E44F7C22996F836FB03 /* SDLOnSystemRequest.h in Headers */, + 83753EBED7DB7EFE978690DC635F9C91 /* SDLOnTBTClientState.h in Headers */, + C62823793A24D46599DB784AB0180FDE /* SDLOnTouchEvent.h in Headers */, + A8B8B6A9CCD830A1D066620FA41AEA8B /* SDLOnVehicleData.h in Headers */, + E953FBD34825D2C156A1CA52077AF11F /* SDLOnWayPointChange.h in Headers */, + DBC8778A5AEDF1F7B552088CB11AA577 /* SDLParameterPermissions.h in Headers */, + 1B9A6C694B31434F1A613A3A6726370C /* SDLPCMAudioConverter.h in Headers */, + 42789451B228CE1B731E2E475BE328FA /* SDLPerformAudioPassThru.h in Headers */, + B4E0400D3FE8F9C74EB1B9E8B52B454B /* SDLPerformAudioPassThruResponse.h in Headers */, + DA6CEDEB9BC4B14B984E13BBCD2BACEF /* SDLPerformInteraction.h in Headers */, + 3393CBA33B034A44C8403C7D34C5DA5E /* SDLPerformInteractionResponse.h in Headers */, + C1418E30FC1D6F83D57DD0716512D3A6 /* SDLPermissionConstants.h in Headers */, + 21E4ECE5FAEC39D18ED9A5AA744BFB1F /* SDLPermissionFilter.h in Headers */, + 274BB6D13057A65EF40FBA8E855C8B08 /* SDLPermissionItem.h in Headers */, + F075039C9251E96378A56699649789EF /* SDLPermissionManager.h in Headers */, + 7C24C1FF5B42A7B232F6D3863D956603 /* SDLPermissionStatus.h in Headers */, + 09AFF0F1484FE0DDAE1141C6DAF770B2 /* SDLPhoneCapability.h in Headers */, + 55CB4738C7BE3FF112CB1344ACAB02AC /* SDLPinchGesture.h in Headers */, + 411F1579BA150460D876451769A164B8 /* SDLPolicyDataParser.h in Headers */, + 4C14B6D0764534FC82D19C8C2869824B /* SDLPowerModeQualificationStatus.h in Headers */, + 349DCC63C4006E9925925A22528F76DA /* SDLPowerModeStatus.h in Headers */, + DFE9FB3071C537972E5F890964F3FD89 /* SDLPredefinedLayout.h in Headers */, + 92A53AB6471AAB551EA6F4D2AA5D5970 /* SDLPreloadChoicesOperation.h in Headers */, + 466120C8F06FAB14E27D8C4AB40CBC4A /* SDLPrerecordedSpeech.h in Headers */, + 675267DB44A9C5A3A49616891C41FD59 /* SDLPresentChoiceSetOperation.h in Headers */, + A4BA38CDDAB4106E601B200EB5265772 /* SDLPresentKeyboardOperation.h in Headers */, + 6F15506076F3F351F97967128708885B /* SDLPresetBankCapabilities.h in Headers */, + 6F6B40B2CC73CC75F8F089F7F460035C /* SDLPrimaryAudioSource.h in Headers */, + 129E5BCEF6FBF9E5E9F0679CF261F5C4 /* SDLPrioritizedObjectCollection.h in Headers */, + 65A0562B9FD082EBCE7EE6BD8CD03CA1 /* SDLPRNDL.h in Headers */, + 640872600613401330E11A7B81EC41B8 /* SDLProtocol.h in Headers */, + 4A4C8D8B27D9B504C8B90FBA2E532D26 /* SDLProtocolConstants.h in Headers */, + 1B7830EADD088604F2AF02DCC234E999 /* SDLProtocolHeader.h in Headers */, + 166A12220CD441B64A1807EF59255F59 /* SDLProtocolListener.h in Headers */, + 84BCD25F112313EF4F15675D3A650A3A /* SDLProtocolMessage.h in Headers */, + 231E01EC4A0471AC2C5B7D80E1EF4E09 /* SDLProtocolMessageAssembler.h in Headers */, + E2C1DF7393AC7180F65F923203F85987 /* SDLProtocolMessageDisassembler.h in Headers */, + 859097EF70C7B5BBFD63FDB2EA23C662 /* SDLProtocolReceivedMessageRouter.h in Headers */, + B6B3F8A6266891E8B5B206290B54C75B /* SDLProxy.h in Headers */, + 7AA91B2E529CBF170D94D7517000D8C9 /* SDLProxyListener.h in Headers */, + 5F7C7801F2715031EC0DC8C0BF322C24 /* SDLPutFile.h in Headers */, + E382C92F1EE9D721478B6783BEF088C6 /* SDLPutFileResponse.h in Headers */, + 201BC1035FC21891C355380570851086 /* SDLRadioBand.h in Headers */, + 869F21A1E29089A877752C424560023A /* SDLRadioControlCapabilities.h in Headers */, + F64AA1D446842CBC012273E3553DECAD /* SDLRadioControlData.h in Headers */, + 6B1BFB30E6C8E61D070CF22A0D60EF5C /* SDLRadioState.h in Headers */, + 2B1FB46E0F181116C988EBDF4D4DB810 /* SDLRAWH264Packetizer.h in Headers */, + 584C7EB8C8A0BA9BE2912964F610EB11 /* SDLRDSData.h in Headers */, + 757AC3096594B571097AB04B242DA216 /* SDLReadDID.h in Headers */, + 800B5BDB6D355F95E41BDE9E48CDF6D2 /* SDLReadDIDResponse.h in Headers */, + ECF6A7007CAD7FB05D06CA5DE6BDEA5D /* SDLRectangle.h in Headers */, + 2882AFECA228F8969A51130E89673181 /* SDLRegisterAppInterface.h in Headers */, + F392E30534A543EE54B570597B2B6ED5 /* SDLRegisterAppInterfaceResponse.h in Headers */, + 6B35838B0C178C20C8F9AA7B39AD2436 /* SDLRemoteControlCapabilities.h in Headers */, + E4FD7A3BFF7D90B2E3C8D039F3A55FA6 /* SDLRequestType.h in Headers */, + C70F44985B6FB4D2AC93E965F94E15F2 /* SDLResetGlobalProperties.h in Headers */, + 0A7DD843FDC6B6AC4D05C4F6DEF98F1B /* SDLResetGlobalPropertiesResponse.h in Headers */, + A48AFD46D7B705927709DA96B9E8D3B1 /* SDLResponseDispatcher.h in Headers */, + BF7FABFA7BBD38EEE5648DE2B39DBE12 /* SDLResult.h in Headers */, + 7C976E665344372DA60F4309CD8553A7 /* SDLRGBColor.h in Headers */, + F3DADEE968371419C83BA1305E0D0D23 /* SDLRPCMessage.h in Headers */, + E9CB1203295B52F61A258390A808BE1F /* SDLRPCMessageType.h in Headers */, + D253590B398009E277462AA9F81E182B /* SDLRPCNotification.h in Headers */, + F484B27FF61CF3F02647B9CF32FB3749 /* SDLRPCNotificationNotification.h in Headers */, + B9741C990F20745A35DA6D4EC72DF4EB /* SDLRPCPayload.h in Headers */, + A35B3F5D7B41F136D3A5852434706449 /* SDLRPCRequest.h in Headers */, + 1A659FD8B2997C6F955A402B154AF758 /* SDLRPCResponse.h in Headers */, + 92F3D65CBC805FF006AB22F0C8641965 /* SDLRPCResponseNotification.h in Headers */, + ADF922C1D9AEF15ECA8978C946C6624B /* SDLRPCStruct.h in Headers */, + 5C437A40847C6E19312701C758CF4D27 /* SDLRTPH264Packetizer.h in Headers */, + 74F68BB605550B1170CA892F522DBEE2 /* SDLSamplingRate.h in Headers */, + 6CD9FA00A43F43A0895239773EFECE3F /* SDLScreenManager.h in Headers */, + 7164A7E8BA2EBEE0EDD857AB70B1C470 /* SDLScreenParams.h in Headers */, + 994313BB8B5E490016DD97E6DAFA38C2 /* SDLScreenshotViewController.h in Headers */, + FD57C4F9A26CBE0B39E9D9925DD048B3 /* SDLScrollableMessage.h in Headers */, + 3AFAF31C231616DA37D8CD47E04CC41E /* SDLScrollableMessageResponse.h in Headers */, + 8F296101D47FC1947CA562C2FE18F52F /* SDLSeatControlCapabilities.h in Headers */, + 0F3C44731E9340CDB1C6E7DEB7C1FC4F /* SDLSeatControlData.h in Headers */, + D2267FFAE91F8D0A79C37572C55890CE /* SDLSeatMemoryAction.h in Headers */, + ED247219AD435BE12533D301314B1760 /* SDLSeatMemoryActionType.h in Headers */, + 408E1481ED7E584C084651E3762D4E39 /* SDLSecondaryTransportManager.h in Headers */, + E792CF1027E6F625EA94598E49B6E5E5 /* SDLSecondaryTransportPrimaryProtocolHandler.h in Headers */, + 2F049A5ED5B21F687DD4F9D16A0F9156 /* SDLSecurityType.h in Headers */, + 3B6564F00DD0815E2507EEF5C57377DB /* SDLSendHapticData.h in Headers */, + 6CE817B375D223147971E231C0C75D4C /* SDLSendHapticDataResponse.h in Headers */, + EA652BBCE2C1ECEAE6D0B46DB88C749C /* SDLSendLocation.h in Headers */, + EE83DA4A9631A6BF74579B86A67E1804 /* SDLSendLocationResponse.h in Headers */, + ABEDA30EF4F593654B283DA8F058E3CD /* SDLSequentialRPCRequestOperation.h in Headers */, + 0DAD037A68C669CFE3EBEBC37D801AC9 /* SDLSetAppIcon.h in Headers */, + D29BAC5BC371347F34C2FAC8BD100551 /* SDLSetAppIconResponse.h in Headers */, + 78B6E75E6E07E1C52EC9D077C61170D8 /* SDLSetDisplayLayout.h in Headers */, + 29881505409B144B88BEBD744924B014 /* SDLSetDisplayLayoutResponse.h in Headers */, + 3FF9BDBD8CF6A2C502BAB51531850403 /* SDLSetGlobalProperties.h in Headers */, + 149559E04D003DD95B330F083C6EFEF6 /* SDLSetGlobalPropertiesResponse.h in Headers */, + 51E74B85BF49CE5F58DF9AEEB54490EC /* SDLSetInteriorVehicleData.h in Headers */, + 0CF2E4CE8AC7CAEE2AE1EB464B39B27C /* SDLSetInteriorVehicleDataResponse.h in Headers */, + C49CED2148870F4A7DE15B452D748284 /* SDLSetMediaClockTimer.h in Headers */, + 785603287327EDE2E8CB19C650E46E35 /* SDLSetMediaClockTimerResponse.h in Headers */, + 1586782A8AD64A27B92BAC3F7617BE73 /* SDLShow.h in Headers */, + B95DA5F4BA9F33C17EDB495B42E2E5F8 /* SDLShowConstantTBT.h in Headers */, + CD6C20F6FDEAE8571ED2AD1712BD818E /* SDLShowConstantTBTResponse.h in Headers */, + 57A7AF43D521F0DB9874292AF1805173 /* SDLShowResponse.h in Headers */, + 0C85798D69FDDC43CB144B2249D68973 /* SDLSingleTireStatus.h in Headers */, + D0B0475A1C019E7EF1553ADBF05EACA3 /* SDLSISData.h in Headers */, + D6FDB9CF88C1C24908F7D34AE8EBFC5A /* SDLSlider.h in Headers */, + 012B3ABCF4946FE9589E5FC943EF26CD /* SDLSliderResponse.h in Headers */, + 1DA2C3B957587D4E0BD6631AA0280261 /* SDLSoftButton.h in Headers */, + 4EAD8DB9B8C89502F5E80EB8905DECFB /* SDLSoftButtonCapabilities.h in Headers */, + 22EFD15D95BC17236824C5F2F14D6FFC /* SDLSoftButtonManager.h in Headers */, + D1DB885408A583118BF5C5D3CEEF2101 /* SDLSoftButtonObject.h in Headers */, + 52D43CD53B5DA5E1569F96CB92DFFB0E /* SDLSoftButtonState.h in Headers */, + 78C1738424A8DA7F057E3394302AF48A /* SDLSoftButtonType.h in Headers */, + A2357C4F782211B242032600460F8BD6 /* SDLSpeak.h in Headers */, + 19BD0353B0B855035E94DD0620B146A9 /* SDLSpeakResponse.h in Headers */, + F7E486C3F2B050B7186372B26F184BB8 /* SDLSpeechCapabilities.h in Headers */, + 15055A719FF7684389EABCCB36FB1EF4 /* SDLStartTime.h in Headers */, + 81B60E21B42BEAE2B1067348CC1151D8 /* SDLStateMachine.h in Headers */, + E8BCD1132B57860BAB25B93D6D5A5B88 /* SDLStaticIconName.h in Headers */, + 55F4E9D9A49AACE252669F2F3DABF237 /* SDLStationIDNumber.h in Headers */, + A3F4FDBC260B68148500950ACC9E38ED /* SDLStreamDelegate.h in Headers */, + E6FE356D60F2E1FE3B9CF6D0F2D86B4E /* SDLStreamingAudioLifecycleManager.h in Headers */, + 6DF459A12E445476B870AFBD22EEDC6E /* SDLStreamingAudioManagerType.h in Headers */, + D10C16DCE3858A52927E0C50F5410909 /* SDLStreamingMediaConfiguration.h in Headers */, + 66D0EE1DE1C35AE704F2EABD55682B64 /* SDLStreamingMediaManager.h in Headers */, + 787972CCEDF25360956170291DC29744 /* SDLStreamingMediaManagerConstants.h in Headers */, + A19CF41CC6B501ADD92F104E198068E3 /* SDLStreamingMediaManagerDataSource.h in Headers */, + 43774A9EC2370F6C642EDF653F0BB834 /* SDLStreamingProtocolDelegate.h in Headers */, + 0F2C3722EE24EF668D5E91BF9F6168F1 /* SDLStreamingVideoLifecycleManager.h in Headers */, + 6B32F18C846F4543DE1158232607CB4A /* SDLSubscribeButton.h in Headers */, + D89C1FA54A43B215AFCFD3D02A9FE859 /* SDLSubscribeButtonResponse.h in Headers */, + CEB154360D775A21CD191027DDB95C44 /* SDLSubscribeVehicleData.h in Headers */, + CBE2CBC7919B5B61C7F975964A267330 /* SDLSubscribeVehicleDataResponse.h in Headers */, + 22A378951B6903C864AB262623FFC244 /* SDLSubscribeWayPoints.h in Headers */, + 8768410D76920D09B094F699B31235F4 /* SDLSubscribeWayPointsResponse.h in Headers */, + 0A840116FACAC91080F2AAA3B46FA324 /* SDLSupportedSeat.h in Headers */, + 16D72417871BC6886A16169FAC0BF43D /* SDLSyncMsgVersion.h in Headers */, + 9F4FDA9BDFC9DD7866A89040EB346078 /* SDLSyncPData.h in Headers */, + 1FDDEF6CE2FEE041A91814E14163CD1D /* SDLSyncPDataResponse.h in Headers */, + E6F7715C5A376997A40D10429AE3A0B7 /* SDLSystemAction.h in Headers */, + DB8F4DDAFBDBC69A91E870F8CA086337 /* SDLSystemCapability.h in Headers */, + A3E5A07FFF83575D7828AC61BCE80F96 /* SDLSystemCapabilityManager.h in Headers */, + A86093E9F1596CD649184DEAB4B50EAA /* SDLSystemCapabilityType.h in Headers */, + 5296E7FC0E92E8CEA624DDB20E0F1C4F /* SDLSystemContext.h in Headers */, + 15EAD5D89DF9B5BF90660D3DBE20DD22 /* SDLSystemRequest.h in Headers */, + 9354EC7D6C645D3D684A0420AE46C73F /* SDLSystemRequestResponse.h in Headers */, + 4DF4CC747977B62A390CD466CB6BB7CA /* SDLTBTState.h in Headers */, + 1F53A32AF3B60B1B9C6E4E902DF6E88C /* SDLTCPTransport.h in Headers */, + A749C4A7A68E79A0F0C8F6B331D546EF /* SDLTemperature.h in Headers */, + 8813BE16A05532E0C390B98240FC4C92 /* SDLTemperatureUnit.h in Headers */, + E6D564C8EDE8CAE7FCA5512DB2DADA6E /* SDLTemplateColorScheme.h in Headers */, + 015A9931D5C5DAD3DE552D44D27BB5AA /* SDLTextAlignment.h in Headers */, + 7068C62C81BC53E62B4E56697908FBB8 /* SDLTextAndGraphicManager.h in Headers */, + E3A6309B863DBD37F355F41D4F97D179 /* SDLTextField.h in Headers */, + 7D22E37A70C6734FB513539B67D8D57C /* SDLTextFieldName.h in Headers */, + 678F5B3A655D04036EB44DD84E0060FC /* SDLTimer.h in Headers */, + F9E963605CD967D489802FD36C976317 /* SDLTimerMode.h in Headers */, + 083BB0E418F625B54EBFFF9758F7AF1D /* SDLTireStatus.h in Headers */, + 724A1144F6F9981F9D5BA1F6B7CAD6B5 /* SDLTouch.h in Headers */, + 59C827211A0E601F88C73D961DB3DAAB /* SDLTouchCoord.h in Headers */, + 5E2A4D95173D3879F8B9DECA7665C7DB /* SDLTouchEvent.h in Headers */, + 249A608D638CC97C67FF52638A8BC1E8 /* SDLTouchEventCapabilities.h in Headers */, + 8B8F050BB059033CE82056F8B3AA1422 /* SDLTouchManager.h in Headers */, + F18CBAD8CC913B833F300406A391E822 /* SDLTouchManagerDelegate.h in Headers */, + 94C192D6CD9EEB91C139154B12E3FE97 /* SDLTouchType.h in Headers */, + 2148B98C41264719B44F19627F9FBD31 /* SDLTPMS.h in Headers */, + 7F1FC25EA0852CF016F1DE044E3AF9BA /* SDLTransportDelegate.h in Headers */, + E4D9EA180566751F71491F35AF1EEAAD /* SDLTransportType.h in Headers */, + 13046E7D195824105B265892E8F29A75 /* SDLTriggerSource.h in Headers */, + B22652C5CF5A39F6A3AAA5493903F728 /* SDLTTSChunk.h in Headers */, + E6E9A49EFA611517F7EF0EDCD9E35960 /* SDLTurn.h in Headers */, + 3DFAA6CD24C655BF8371A79A2EC83586 /* SDLTurnSignal.h in Headers */, + 372A4DD37D49C94C3723DEBE22096647 /* SDLUnregisterAppInterface.h in Headers */, + 5C6EC3B4AAB8284B0D2C2D673F8A6317 /* SDLUnregisterAppInterfaceResponse.h in Headers */, + 04A31A6BC5E931600DCC014081A75187 /* SDLUnsubscribeButton.h in Headers */, + C11C7C6D95CF1B64A27A3C1CBE57B28A /* SDLUnsubscribeButtonResponse.h in Headers */, + EDB68C70A29C8AE09C277286983EC845 /* SDLUnsubscribeVehicleData.h in Headers */, + BBF8951D6AFCB3E302E4CB39FE4344F9 /* SDLUnsubscribeVehicleDataResponse.h in Headers */, + 64E3700E866F1EF4E958A30E218BADC4 /* SDLUnsubscribeWayPoints.h in Headers */, + 8E352B731B8D43C9B57913C974585A10 /* SDLUnsubscribeWayPointsResponse.h in Headers */, + 964C64B372CE0D95A9D5E598846FE2F8 /* SDLUpdateMode.h in Headers */, + 026E2E7BA3A540EBA8D0832D920C2B18 /* SDLUpdateTurnList.h in Headers */, + FEAD2B1271EDD3169B3D76024AD5092E /* SDLUpdateTurnListResponse.h in Headers */, + B152AAFE3E671150EA261D245C9FFDAA /* SDLUploadFileOperation.h in Headers */, + 2B65E6D0CA1FCFDA5C4E8CDDD530576C /* SDLV1ProtocolHeader.h in Headers */, + 437E6D94102B6E5418512171E8D213C4 /* SDLV1ProtocolMessage.h in Headers */, + 1A7A149DB1FA14F639B11F2A069A3D3B /* SDLV2ProtocolHeader.h in Headers */, + D4FA68CB7EBA468F4313C8ECAA2FF128 /* SDLV2ProtocolMessage.h in Headers */, + B4A2AC4C44023971E080A8F53EBD059A /* SDLVehicleDataActiveStatus.h in Headers */, + 1271206750820665E80A01A8537575FA /* SDLVehicleDataEventStatus.h in Headers */, + 3BBCFF9EEB7DD0EFAD2C19FB38782EBE /* SDLVehicleDataNotificationStatus.h in Headers */, + AEFD7DEF7644ED0633E76E4EB8592B9E /* SDLVehicleDataResult.h in Headers */, + 969FB5BDFE1E1390A4B59B44B78194BC /* SDLVehicleDataResultCode.h in Headers */, + A05249EC89A880332ECA1EEE71D1E23E /* SDLVehicleDataStatus.h in Headers */, + C7282A5FE73E0A5AC905B82AFC0D080B /* SDLVehicleDataType.h in Headers */, + 932CE5DA675E60B3C981DB384E9DF021 /* SDLVehicleType.h in Headers */, + 4A44E1A476DF6AC77050CA0BB5741996 /* SDLVentilationMode.h in Headers */, + F7D31D19BB642433366C20F57E886B16 /* SDLVideoEncoderDelegate.h in Headers */, + 835C88CAD5F6D267574720BED6A0CD97 /* SDLVideoStreamingCapability.h in Headers */, + 88DEDA2DC0F96EFB29F541C4D70AC91F /* SDLVideoStreamingCodec.h in Headers */, + 51919410D0B2A35D6F25634DF3F64F46 /* SDLVideoStreamingFormat.h in Headers */, + 8C8F935BE65EB35F0E8AE6726390EE7B /* SDLVideoStreamingProtocol.h in Headers */, + D8CDF9E279165504252719FCB033CA38 /* SDLVideoStreamingState.h in Headers */, + CD8957C7832748CCE7AF519D51A65D48 /* SDLViewControllerPresentable.h in Headers */, + 84BC28431CE62A0DC048B62F0355C56C /* SDLVoiceCommand.h in Headers */, + 8DA1C57ADF79BF80EE4695C6CF9FEE4D /* SDLVoiceCommandManager.h in Headers */, + 071358FCEBD7244CFC1C47E3B728FD3F /* SDLVrCapabilities.h in Headers */, + 411926320DE8319BF26921FFA2D23DC6 /* SDLVrHelpItem.h in Headers */, + 2AB5518F631822ED03580B2E57398F64 /* SDLWarningLightStatus.h in Headers */, + 22B4F2B08E7E10F17896F6020E3E7FC5 /* SDLWayPointType.h in Headers */, + 2EB3DD389E800C6F48E46F70274CBFD3 /* SDLWiperStatus.h in Headers */, + 47636D3515ED3884E8B188742491FC2E /* SmartDeviceLink-umbrella.h in Headers */, + C7F51464E201A11CC86EB0D583DD34E5 /* SmartDeviceLink.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3136,10 +3530,10 @@ isa = PBXNativeTarget; buildConfigurationList = BEA9B9B2A7ABEF5E4F8DBC5B1D19D276 /* Build configuration list for PBXNativeTarget "SmartDeviceLink" */; buildPhases = ( - B5B4FDB58B4B3FD0EA66D8928447029A /* Sources */, + BB4EF5B024669089E542F6F6321F8415 /* Sources */, A46C309A849BE8348ECD9F87883D9228 /* Frameworks */, 417C2AC1565611E683B737A0730C477E /* Resources */, - 12E462A81A480DD1F7503630688391E9 /* Headers */, + 18A91028EB1D39D0A2C3C7780F96D942 /* Headers */, ); buildRules = ( ); @@ -3158,8 +3552,8 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0700; + LastSwiftUpdateCheck = 0930; + LastUpgradeCheck = 0930; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -3229,384 +3623,438 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - B5B4FDB58B4B3FD0EA66D8928447029A /* Sources */ = { + BB4EF5B024669089E542F6F6321F8415 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0708919C2A33464CBB98729A6C269C8B /* CGPoint_Util.m in Sources */, - 50620AB6029CF2C8AA7E59C85F3B1EBB /* CVPixelBufferRef+SDLUtil.m in Sources */, - CE99FF04D095DB8C5783029415B6AE43 /* dispatch_timer.m in Sources */, - 6B1D4C82AEBA83EBCC2BA42571E66B42 /* EAAccessory+SDLProtocols.m in Sources */, - 7AD2E9E34EDFA0CF7D99D3D4B0D2E608 /* EAAccessoryManager+SDLProtocols.m in Sources */, - 7E505F18EAA18F24F6618D05EC56A5FC /* NSBundle+SDLBundle.m in Sources */, - 73C18D6113C48735172674483725BAFE /* NSMapTable+Subscripting.m in Sources */, - B26F82EA1568AE3ABC6B2E14570B9F03 /* NSMutableDictionary+SafeRemove.m in Sources */, - 9180E1E2116376D8FCAB961519CF02C6 /* NSMutableDictionary+Store.m in Sources */, - 0621567F5949438A6AEA07E592B6961B /* SDLAbstractProtocol.m in Sources */, - 5377FD84E730982E7106F4B0192B2355 /* SDLAbstractTransport.m in Sources */, - D206366AAED9BEE952713652C05A212D /* SDLAddCommand.m in Sources */, - A6C8139D98FA7E91B490EAF796D40680 /* SDLAddCommandResponse.m in Sources */, - 616CE188343C6495350857A975FB33CD /* SDLAddSubMenu.m in Sources */, - E3769D62B3DA7AA46365BC8DDFF78D79 /* SDLAddSubMenuResponse.m in Sources */, - 648E7C51348217B726A13171532FF769 /* SDLAirbagStatus.m in Sources */, - F3E2DF8C3917224CFE01D13EECE40013 /* SDLAlert.m in Sources */, - 8BD712E5E95D2F560FA237E4458C8337 /* SDLAlertManeuver.m in Sources */, - 21C24E332FD920728ED20660F8522DF2 /* SDLAlertManeuverResponse.m in Sources */, - 2DB6BE6902FDB1C00701E9FE9BD4DCDE /* SDLAlertResponse.m in Sources */, - DC5D56307560CD8FE30420A5C290B145 /* SDLAmbientLightStatus.m in Sources */, - A32D1FEF7E085D99A2E2C4919AF947B0 /* SDLAppHMIType.m in Sources */, - 6600746AE65233EA5D0A1CF90FBB9629 /* SDLAppInfo.m in Sources */, - 0975C6B1BE296D49774C2AD91E9E899A /* SDLAppInterfaceUnregisteredReason.m in Sources */, - 591E96F2B576D67522B0E4D2D015F582 /* SDLArtwork.m in Sources */, - AE4DCF18021052FA8A304478C3198958 /* SDLAsynchronousOperation.m in Sources */, - 20CD25E24C0E210099EB933B7934BAC6 /* SDLAsynchronousRPCRequestOperation.m in Sources */, - CDCAA6D5C26D7C121C30E8A117D9131D /* SDLAudioFile.m in Sources */, - 91EAB06AF9D88D71D9A3DC75AABAD5BA /* SDLAudioPassThruCapabilities.m in Sources */, - 8C0405B8A2F2BCEAED4DB043ED673625 /* SDLAudioStreamingState.m in Sources */, - 886232AF91220CE8FFEFB13A9514390F /* SDLAudioStreamManager.m in Sources */, - 1A2134E901DDFF80456A25B481438F8B /* SDLAudioType.m in Sources */, - 53E5EEB781A5455A017A3A547F941F08 /* SDLBeltStatus.m in Sources */, - DA509604ECCD4457A56343D027F014F3 /* SDLBitsPerSample.m in Sources */, - AA5C7D2F738E6366D4CB2DC700C6F85B /* SDLBodyInformation.m in Sources */, - 3D3943BEDA79876F952F153E55E1A0A9 /* SDLButtonCapabilities.m in Sources */, - A70E728EC980C5C77210BB1AE1118A42 /* SDLButtonEventMode.m in Sources */, - 563A62827A34E803265D3FEC4CA5FCBA /* SDLButtonName.m in Sources */, - 42C0C084678D163BECAFEABC25A7C943 /* SDLButtonPress.m in Sources */, - F9AC8667A7988536AB3DE4A101277030 /* SDLButtonPressMode.m in Sources */, - 653E2C4882A9011729B7F689B507AB66 /* SDLButtonPressResponse.m in Sources */, - 0D23DDFAB9A4B7C0F322184349F49BAD /* SDLCarModeStatus.m in Sources */, - FA923096C3DD274B4472D8B5221782A2 /* SDLCarWindow.m in Sources */, - EBF8186080BB5F9249933305CCBACCB8 /* SDLCarWindowViewController.m in Sources */, - A2DFDB17EBDADC3EBE24C342A8191E7B /* SDLChangeRegistration.m in Sources */, - BD0D879F39F94A32F7C8B78AFD2B02E5 /* SDLChangeRegistrationResponse.m in Sources */, - 0AEA5561DA6D2B49FB0D9EB9F9052F95 /* SDLCharacterSet.m in Sources */, - C3858AF89255B7880076ADBBA2CEE534 /* SDLChoice.m in Sources */, - 1F4CDF769A5C81F6B0D1CDB156FEE0CF /* SDLClimateControlCapabilities.m in Sources */, - ECDB77EAB51550CD48CA78A070B53250 /* SDLClimateControlData.m in Sources */, - EEEB75B1D7A71FF294AFAB40E56CDFF6 /* SDLClusterModeStatus.m in Sources */, - 853308B26286774A70B8345CB4EA17BE /* SDLCompassDirection.m in Sources */, - 9938C84837C21E0A1C3A9E6BBCB3DCB8 /* SDLComponentVolumeStatus.m in Sources */, - 06D6E6D2CE18F4398EC4456BA4EFE0C7 /* SDLConfiguration.m in Sources */, - 89E857EBE1EC5C5BE8CCDCA410EFEA87 /* SDLControlFramePayloadAudioStartServiceAck.m in Sources */, - 714C8FF3862BCCF80FC4701BAEE2990F /* SDLControlFramePayloadConstants.m in Sources */, - 2BCC5FA1CD2B5A998D04559ABB1CD2C7 /* SDLControlFramePayloadEndService.m in Sources */, - 90D5A5F05A1ABD20D00B0A8292EF2B8B /* SDLControlFramePayloadNak.m in Sources */, - 524B494320F8DAE57100174EBC312BEC /* SDLControlFramePayloadRPCStartService.m in Sources */, - D1B661F807BDD8A809111B4EAC571CA0 /* SDLControlFramePayloadRPCStartServiceAck.m in Sources */, - FD9656F5C3923F7C591130C565251031 /* SDLControlFramePayloadVideoStartService.m in Sources */, - 9AC54BAE0A5AC25D406314DFC8965A43 /* SDLControlFramePayloadVideoStartServiceAck.m in Sources */, - CFD4DB88A478EF8B3F80156170467FE4 /* SDLCreateInteractionChoiceSet.m in Sources */, - 7EEBCB2D40FE9A263B4EFB3AB6425716 /* SDLCreateInteractionChoiceSetResponse.m in Sources */, - D201A167D8B1FC2C7ABB507FC42AACBD /* SDLDateTime.m in Sources */, - 0CA3FDC6FCDADADB2526B0FE630AB76A /* SDLDefrostZone.m in Sources */, - 33ECE3E48C56D9C5C91D75D85B34F2E0 /* SDLDeleteCommand.m in Sources */, - 11A7DD63B6D82DBA37E5B65E3B3AC339 /* SDLDeleteCommandResponse.m in Sources */, - 045FE0DC11807C2573878D8D942C92CA /* SDLDeleteFile.m in Sources */, - 5F5CA6FC34C6E09BDE7558C176C18A03 /* SDLDeleteFileOperation.m in Sources */, - 230D71308BFB8946C319CE2602D8F730 /* SDLDeleteFileResponse.m in Sources */, - 9C595563C8F980919C83BA275444FE16 /* SDLDeleteInteractionChoiceSet.m in Sources */, - C92F20756AE7EAF20CA0A359A4217348 /* SDLDeleteInteractionChoiceSetResponse.m in Sources */, - 8E1E2500CCB03FC3BF1A065B1A3E212D /* SDLDeleteSubMenu.m in Sources */, - 1DEA4B8CF4A0789DB6231BDB61B979CA /* SDLDeleteSubMenuResponse.m in Sources */, - 02BEBCD072B4D96A02D3CD60F1C2AA87 /* SDLDeliveryMode.m in Sources */, - 407B04E98813FC52008431501825EEFE /* SDLDeviceInfo.m in Sources */, - 9ACD9477742461D08D29A397D6A67947 /* SDLDeviceLevelStatus.m in Sources */, - 1EE57FF6F6AAD17B76EA9AC3DF1F8578 /* SDLDeviceStatus.m in Sources */, - 857D1EC7E1F610C4EE068DF2D58561FD /* SDLDiagnosticMessage.m in Sources */, - 86762678031320168AF922A9273ED682 /* SDLDiagnosticMessageResponse.m in Sources */, - 63053CDF2834737FE7003B26F10941AD /* SDLDialNumber.m in Sources */, - 254609C28305CFECE654281DCE9F2C77 /* SDLDialNumberResponse.m in Sources */, - EA5231B249209024E17A863766851523 /* SDLDIDResult.m in Sources */, - D440E4A841C97852202F8909B0DBE834 /* SDLDimension.m in Sources */, - 26D327B0F4A9F4C73E23576C0530875B /* SDLDisplayCapabilities+ShowManagerExtensions.m in Sources */, - 6B2D6AE2D6CF500CB7960E251731D063 /* SDLDisplayCapabilities.m in Sources */, - C48C4D54C67A039E7D43568D37C18FA3 /* SDLDisplayType.m in Sources */, - 86B872BB8571D2AE3CBBE44155E70B49 /* SDLDriverDistractionState.m in Sources */, - 871EE873C280B981C5F4CE4075456C6B /* SDLECallConfirmationStatus.m in Sources */, - D0B95BBF2C944CBE1EA7D5DDCCFBA15D /* SDLECallInfo.m in Sources */, - A769EC6DBCA2608C784FD897D23EFC63 /* SDLEmergencyEvent.m in Sources */, - F8F5E2B95CFC82D8183F0FE78F5B04C2 /* SDLEmergencyEventType.m in Sources */, - 6B4D36674AD6375033457B3BEDE15C41 /* SDLEncodedSyncPData.m in Sources */, - 23692D75F4FD9061E2D72674BAB4D1E2 /* SDLEncodedSyncPDataResponse.m in Sources */, - ADAF9699ADB8665AE7966BDF1DC5C64C /* SDLEndAudioPassThru.m in Sources */, - 0D08FBB8C30E0035652027FB96A974B8 /* SDLEndAudioPassThruResponse.m in Sources */, - F22DAF64A940F37E87A677CEF0856EF2 /* SDLEnum.m in Sources */, - C48D06C282C82E11E87042B59621E519 /* SDLError.m in Sources */, - C0316AABE6855883CC01B68B3E051D37 /* SDLFile.m in Sources */, - 0D640F68F6C75E8F99BEEE65AD688515 /* SDLFileManager.m in Sources */, - 58E285F0E01BC736AA8D10EBFC5ACD92 /* SDLFileType.m in Sources */, - B8864C3573E5A20652672FB499292C94 /* SDLFileWrapper.m in Sources */, - 5614B14142C8FB671187F47DCEEDA99F /* SDLFocusableItemLocator.m in Sources */, - BC734852C46625C920B2173E30700AE7 /* SDLFuelCutoffStatus.m in Sources */, - BDBD97323ABBA062255FFA258C3E8ACB /* SDLFunctionID.m in Sources */, - 0A00C761303F6E7C1570DE265A0E3E66 /* SDLGenericResponse.m in Sources */, - 3B1956621824EFBCCBE3E60382CA254D /* SDLGetDTCs.m in Sources */, - 71EB35541307BFE06B02172FEEB78649 /* SDLGetDTCsResponse.m in Sources */, - 4673AADAF0B41E81CA55DBEBD23C284C /* SDLGetInteriorVehicleData.m in Sources */, - 5453F76BEAEA556D243B7A0E7E675410 /* SDLGetInteriorVehicleDataResponse.m in Sources */, - 0209514EA41C047E2F2CB2AB7808B8AA /* SDLGetSystemCapability.m in Sources */, - D7FBF1118911D0C006F09D8E8F8527A1 /* SDLGetSystemCapabilityResponse.m in Sources */, - D3207C78058F8DCE427E9E7B646D7881 /* SDLGetVehicleData.m in Sources */, - F1C3BD82A82CF87F7375EFFC8E5C2196 /* SDLGetVehicleDataResponse.m in Sources */, - A1AD49ACF31F6F3727CB8F624306B890 /* SDLGetWayPoints.m in Sources */, - 3554C599CDE8BEC29821FEF0F316D336 /* SDLGetWayPointsResponse.m in Sources */, - B2AC0A27C4D77F062AE0A37B305CDE2D /* SDLGlobalProperty.m in Sources */, - 6EF9AAD33C0E5C7183E8A3BF8696909A /* SDLGlobals.m in Sources */, - 211C14CEC89A04E56EB11F61015640C3 /* SDLGPSData.m in Sources */, - 10B5845DF3BA968489E6B73F00C1DB3C /* SDLH264VideoEncoder.m in Sources */, - F9FEE2A86FDA4DDB98C57C0E06989730 /* SDLHapticRect.m in Sources */, - B23257CB067B4F782757E13E28E26AD7 /* SDLHeadLampStatus.m in Sources */, - 17CE5B811D6A5E8AE2DE06021D89D7E0 /* SDLHexUtility.m in Sources */, - 908D6B968BBD0BF76BA9AA3BEB702FE2 /* SDLHMICapabilities.m in Sources */, - C780D53A442F4D5680F3EDEAE8B1B58B /* SDLHMILevel.m in Sources */, - BA89B8B31A2D745873A66A68B0E9A489 /* SDLHMIPermissions.m in Sources */, - 4191AE8DCCBC064F7E8D67EAA82EB81C /* SDLHMIZoneCapabilities.m in Sources */, - F60B475663C0F6645550CD9228FACCB4 /* SDLIAPSession.m in Sources */, - 582D0C7A997749509366F2651C604B91 /* SDLIAPTransport.m in Sources */, - 219BCF881E99A7E059314F73EF5B3FF1 /* SDLIgnitionStableStatus.m in Sources */, - 5DF6FE7F5C4EDAD61E81EEA1833D380B /* SDLIgnitionStatus.m in Sources */, - F9BEDB98A733024A184B13725A01AE6F /* SDLImage.m in Sources */, - 7E0FB7262E2C8C6E7A506677E7C62B25 /* SDLImageField.m in Sources */, - 564DD8BFF3AFFA021788610876F7DD61 /* SDLImageFieldName.m in Sources */, - 0202697B9A7E8758374E414535080308 /* SDLImageResolution.m in Sources */, - 76483DB3860B1B6253ADE6DBCD24C65F /* SDLImageType.m in Sources */, - D3E228C42F636237EF01DBBC4435909E /* SDLInteractionMode.m in Sources */, - 9804F2E736D07A2BD2B6267DF14BB2CC /* SDLKeyboardEvent.m in Sources */, - 27295F99CBAC45F60E37E651F6A7619B /* SDLKeyboardLayout.m in Sources */, - DFD761F8DDCD954DF80C6BD51E5181AD /* SDLKeyboardProperties.m in Sources */, - A90B4AA7B4152645AA23941BF98FEF17 /* SDLKeypressMode.m in Sources */, - 51EEEBAE315451CBCC9F657E52156C1B /* SDLLanguage.m in Sources */, - 998F583BB6EE7D441B9FAD737888BBB0 /* SDLLayoutMode.m in Sources */, - CB119345A9EC8C5DDCE3840C758F5A77 /* SDLLifecycleConfiguration.m in Sources */, - 1E3E8468950E6475A8D2D221F73BA8B6 /* SDLLifecycleConfigurationUpdate.m in Sources */, - AB5D5BDA5950120A78ABEF023543D1FB /* SDLLifecycleManager.m in Sources */, - 51D03AA3A0C44ED38A5B0CDE671CBEB3 /* SDLListFiles.m in Sources */, - 2475D56E982292673F1A00A7FEBC6EB7 /* SDLListFilesOperation.m in Sources */, - C5DABDEF137825111D67BEBAA51DBCD0 /* SDLListFilesResponse.m in Sources */, - 69354F0FE852E1962FC970C60E87D55C /* SDLLocationCoordinate.m in Sources */, - 6945F828403CE48E2CC5D63086C25965 /* SDLLocationDetails.m in Sources */, - FF966C50FCF71B4AC9ABA129233CFA93 /* SDLLockScreenConfiguration.m in Sources */, - 27FE293C556E1B4C4772F6D503B04143 /* SDLLockScreenManager.m in Sources */, - 39E867628415FDE2FD82A2EE83F8F4BC /* SDLLockScreenPresenter.m in Sources */, - A62F11A0555BF1FB238D983575EE2275 /* SDLLockScreenStatus.m in Sources */, - 4B9076E7B8455E59BD483FD8AD10DA59 /* SDLLockScreenStatusManager.m in Sources */, - 97478A3DCECC84DACD5E8DEC0E35EBE6 /* SDLLockScreenViewController.m in Sources */, - 477E51435487337FBCF9F86B2E6EAF25 /* SDLLogConfiguration.m in Sources */, - 1BAAFCA7448E091BB7E49AF487297E77 /* SDLLogFileModule.m in Sources */, - DB67BDC17109AFF49A64C4AE94D0C8AA /* SDLLogFileModuleMap.m in Sources */, - CA6C977A25104A1D29CD42FDC30FDCB1 /* SDLLogFilter.m in Sources */, - 575300A7913E685B421AB1A843C59321 /* SDLLogManager.m in Sources */, - 700CE6BC5F90529F6E5597846FBF4953 /* SDLLogModel.m in Sources */, - 3BB260EA8886562DA3A489423E5074B5 /* SDLLogTargetAppleSystemLog.m in Sources */, - 23AB34630E6C51922826A857212EB341 /* SDLLogTargetFile.m in Sources */, - F2A4C28DBB864A10E77563BE874E4B9F /* SDLLogTargetOSLog.m in Sources */, - 9F437C808E783E559B43FDB7BA7F99F6 /* SDLMaintenanceModeStatus.m in Sources */, - A4A89672DD9B34FD77CCF091D837D1D8 /* SDLManager.m in Sources */, - 8E087E661AA213DC0F0643C1D46A3719 /* SDLMediaClockFormat.m in Sources */, - D42579BD9A325843651DA0E1DEE18E48 /* SDLMenuParams.m in Sources */, - 3F5D78AE9B205574DC2223E18CB93EB3 /* SDLMetadataTags.m in Sources */, - C5643C0B4419048E8B77AA994DF29362 /* SDLMetadataType.m in Sources */, - 46A5042D86A297FBCA236763B8ED30D8 /* SDLModuleData.m in Sources */, - 50B38A62B683CFC83A125726388508EF /* SDLModuleType.m in Sources */, - FC9E79E53CD13DB656AE2DBCBB9D6609 /* SDLMutableDataQueue.m in Sources */, - 02F7AC067F0AF7D397ABDF71298A4EC5 /* SDLMyKey.m in Sources */, - 226B883E40925DABEEB8DB8398A85CF2 /* SDLNames.m in Sources */, - E3737841257A6DB692CCED0D40B76BDB /* SDLNavigationCapability.m in Sources */, - 4EE2F7A77AF64D6F8D30624A1226E44E /* SDLNotificationConstants.m in Sources */, - ACD6B45E34CAD88921556E5E89ACA922 /* SDLNotificationDispatcher.m in Sources */, - 201467C341DCD40DD9DB9E85AA000B4B /* SDLOasisAddress.m in Sources */, - 89983023508938232B5D0D8812A0D63A /* SDLObjectWithPriority.m in Sources */, - 38EDD4664BA3C9057A705ECF37DE98E5 /* SDLOnAppInterfaceUnregistered.m in Sources */, - F64BC4305C987CD85F146B143F320556 /* SDLOnAudioPassThru.m in Sources */, - 4B8F17466833B92BB2203A66902751B1 /* SDLOnButtonEvent.m in Sources */, - 5EB91327C8EE09B2B740FAF8583B2273 /* SDLOnButtonPress.m in Sources */, - BA54DB7090CC77BC27AA6D4A412A2F40 /* SDLOnCommand.m in Sources */, - 360E66C4BBEA10643DC5DF6D9C3642FD /* SDLOnDriverDistraction.m in Sources */, - CC2A4B955CAFFCDC1C6158FF52A9F102 /* SDLOnEncodedSyncPData.m in Sources */, - CB492D70670DE66CD8CEEF23FC5AE5AA /* SDLOnHashChange.m in Sources */, - 59A7D98616865E544BB4F5C630297CF6 /* SDLOnHMIStatus.m in Sources */, - 8FA13C2FFB71A1A803D4927FC354407A /* SDLOnInteriorVehicleData.m in Sources */, - 89E5F27F92331D4035C0AA82CCE7F280 /* SDLOnKeyboardInput.m in Sources */, - E1A184EE62D78CBB34084B0D15BDFE98 /* SDLOnLanguageChange.m in Sources */, - 9044EC7BBBDA03C28494B9714040676A /* SDLOnLockScreenStatus.m in Sources */, - 0B46478E35DD19A4FF48C05E5C140723 /* SDLOnPermissionsChange.m in Sources */, - 6D97E236D41DE0193E3BBB2422E97DEA /* SDLOnSyncPData.m in Sources */, - 50B200B7C84FB96B2AA225E6BAF4ADC1 /* SDLOnSystemRequest.m in Sources */, - C172AD810BBCCD8652A0FE4FC456A683 /* SDLOnTBTClientState.m in Sources */, - 338BBB4C6299952C93D1079D94DA26C4 /* SDLOnTouchEvent.m in Sources */, - 7F08D8B76010248C0DAF80DAE2E3E445 /* SDLOnVehicleData.m in Sources */, - C7A9B620C26FCAAD1971871752EC186E /* SDLOnWayPointChange.m in Sources */, - 130CB8F58E38948429ED7FF1458DBBCC /* SDLParameterPermissions.m in Sources */, - FA9DAE65495443A71F892E3730C1AE1A /* SDLPCMAudioConverter.m in Sources */, - D26E35DC9EEFE7929A2F6EC9DBB41F9D /* SDLPerformAudioPassThru.m in Sources */, - 0D288D0D61BBD313ADC1E06F17E5EDB3 /* SDLPerformAudioPassThruResponse.m in Sources */, - F40C7AA523E17D29E7A487CD3C1F71F4 /* SDLPerformInteraction.m in Sources */, - E79D77CC6E81E78C30A20F5FD5E735D5 /* SDLPerformInteractionResponse.m in Sources */, - 3159ED1B4BB0F3B47AD0CD708E74A336 /* SDLPermissionFilter.m in Sources */, - B8C0FB228F68CBBBEBD9A42D3BDC2ED0 /* SDLPermissionItem.m in Sources */, - 164A4CA4ABA134FD215F6A3DB5C7ED96 /* SDLPermissionManager.m in Sources */, - 51B7C46D514099F77C3EF5101257EB18 /* SDLPermissionStatus.m in Sources */, - 543C2071075683CEF73BB777E0BE66B8 /* SDLPhoneCapability.m in Sources */, - 5D1BBAF1EEBF97E6D1AB6E5B6C923D20 /* SDLPinchGesture.m in Sources */, - CFB0FCA2FFD0F546733F8B8B02153E36 /* SDLPolicyDataParser.m in Sources */, - F2D8CD4F2773CB6208DDA16363019AA2 /* SDLPowerModeQualificationStatus.m in Sources */, - E59A66915F785AF6BBF1552D050FC0E9 /* SDLPowerModeStatus.m in Sources */, - 2253A2C440479160DEB39B1C18342D0C /* SDLPredefinedLayout.m in Sources */, - 52A7AB64B8C0EF5E32DC7739AC04E18E /* SDLPrerecordedSpeech.m in Sources */, - 792DA3E630AE9FBFAE93E58281177022 /* SDLPresetBankCapabilities.m in Sources */, - 93CC765B1A261F66571522BC05EA94EA /* SDLPrimaryAudioSource.m in Sources */, - 9889FDEAE49DAA1ABA72F2F3A3BE977B /* SDLPrioritizedObjectCollection.m in Sources */, - B7C22FCFFC4217E68CFD03F6247D897B /* SDLPRNDL.m in Sources */, - B0920201129A3247A502EE5A4C9F5BB9 /* SDLProtocol.m in Sources */, - 38A0170683F904BD157BDFD3185C500A /* SDLProtocolHeader.m in Sources */, - 9A3F6C8C67BC957B89680A8DB8D7E27E /* SDLProtocolMessage.m in Sources */, - 618557BA3585B306C41287EE7980AFEF /* SDLProtocolMessageAssembler.m in Sources */, - ABFA1BA57931C7B65A495698CA38B8EA /* SDLProtocolMessageDisassembler.m in Sources */, - A98AD56EC493E33E453542542F9CD849 /* SDLProtocolReceivedMessageRouter.m in Sources */, - C8AC5BB5B184B8D4421C615CEC800BB6 /* SDLProxy.m in Sources */, - D3BA3DCD848A6BF7A4F720EEE7378723 /* SDLProxyFactory.m in Sources */, - 4DA49924D0616403DA531F1E81835A3A /* SDLPutFile.m in Sources */, - F2C6BDC9F9E20B361502A5B6A56C4BFF /* SDLPutFileResponse.m in Sources */, - 0FCA141FE3D03699E6D4348A918ED34F /* SDLRadioBand.m in Sources */, - B51EEEDD2FDDA653A9BA816DB2A1E6EA /* SDLRadioControlCapabilities.m in Sources */, - 2A57B4712ECEC2CD097C75FFE10C5FCC /* SDLRadioControlData.m in Sources */, - 5370B848B8AD97F2097B69C41290D0E6 /* SDLRadioState.m in Sources */, - 9849FB6B402CD9CD8C1812BB2922D555 /* SDLRAWH264Packetizer.m in Sources */, - 7B25F22901CAE43DB1C6A34AB3A88F98 /* SDLRDSData.m in Sources */, - 901E09F6B92B67ED7E15CD9F6C50D8A2 /* SDLReadDID.m in Sources */, - D868B53DD9CDBB8EEEF146ECA1EE2213 /* SDLReadDIDResponse.m in Sources */, - 93992A0D2F65B922B3E5A7E6EAEDBB17 /* SDLRectangle.m in Sources */, - 536EE32080183793822977412ABE1C33 /* SDLRegisterAppInterface.m in Sources */, - 929695C9D4973F3FD295EC241186B2D3 /* SDLRegisterAppInterfaceResponse.m in Sources */, - 7DDE1A2AAC576A15A4BEC118B61E59A3 /* SDLRemoteControlCapabilities.m in Sources */, - D8DAC55BC6CE5A3B4C6867901AFBEBA2 /* SDLRequestType.m in Sources */, - 404EA1EC2D128A00DE36D0974E0090F3 /* SDLResetGlobalProperties.m in Sources */, - 98F25DDA1285871BD9D516AFDE47F4EF /* SDLResetGlobalPropertiesResponse.m in Sources */, - F0F19A5E136C4389943C9C941CDCFF87 /* SDLResponseDispatcher.m in Sources */, - 47C5D7E528172AF36A4AC18E132CE4C0 /* SDLResult.m in Sources */, - DE39930017EC344F315C4ED2267ED43A /* SDLRPCMessage.m in Sources */, - F0D195676970AF2BDA9ABECE26B42966 /* SDLRPCNotification.m in Sources */, - 385D4D90B9528CB30FE35C17B9D68EAE /* SDLRPCNotificationNotification.m in Sources */, - 33609D48B79121050B5681641265BDBC /* SDLRPCPayload.m in Sources */, - 89E5B9C445AA1720CA89835609051F5E /* SDLRPCRequest.m in Sources */, - 2AC72583553AE7BD4F29DFCE1A65BB7A /* SDLRPCResponse.m in Sources */, - AC49489F6A43B31A1D899D1196EF244D /* SDLRPCResponseNotification.m in Sources */, - 106877C1B17BFDCC831EAB277CEA8C8C /* SDLRPCStruct.m in Sources */, - 06633D6E5B6D43E41A8216EFAE25DA3D /* SDLRTPH264Packetizer.m in Sources */, - 585A39CE1B2FBAB134F33E5C62BF0269 /* SDLSamplingRate.m in Sources */, - 0EB4F6310E040F509525C6F0C862986A /* SDLScreenManager.m in Sources */, - 9A60AEA85DFD7A2838FE534673AE02AC /* SDLScreenParams.m in Sources */, - 2A01527D763F345A66ADD0BFBC9AEB12 /* SDLScreenshotViewController.m in Sources */, - 0C733337D130039DA08467C3AB5CF8FF /* SDLScrollableMessage.m in Sources */, - CCC776231EF28D8313A01C24F8EA2EDC /* SDLScrollableMessageResponse.m in Sources */, - D48EF01B6573B30D6458AEA2F6D1D599 /* SDLSendHapticData.m in Sources */, - DD8958D901274B4BFE72F686DAFFE915 /* SDLSendHapticDataResponse.m in Sources */, - F369D735AFAF6B277ED3F74C40BDD482 /* SDLSendLocation.m in Sources */, - 3420FAA75E401BC1C069232520B89EC4 /* SDLSendLocationResponse.m in Sources */, - 00A598BBF746C4773BFCCC14F6D8FEA5 /* SDLSequentialRPCRequestOperation.m in Sources */, - FD41A17058B199211FEA0B4CE0E549A3 /* SDLSetAppIcon.m in Sources */, - BCD431EC0EC25606AC5214248221FAC2 /* SDLSetAppIconResponse.m in Sources */, - 63EDF78A1C5F2331F66CF104D0E88DD3 /* SDLSetDisplayLayout.m in Sources */, - E04615F760F9044F0198383E343FBA54 /* SDLSetDisplayLayoutResponse.m in Sources */, - 841A684D6FCB5335454A2C6635C6FB6E /* SDLSetGlobalProperties.m in Sources */, - 8E2185BC7723A476EDBC120E69E49E23 /* SDLSetGlobalPropertiesResponse.m in Sources */, - 83D65DA9A699C43D307A33174FB40EC6 /* SDLSetInteriorVehicleData.m in Sources */, - 0DD965FA8836FAB805CFF8DC6F11E60B /* SDLSetInteriorVehicleDataResponse.m in Sources */, - 1D0A79A0A59306BB9D9E20EBE973F09A /* SDLSetMediaClockTimer.m in Sources */, - AD263F11E536F3446FFE7FE67983793F /* SDLSetMediaClockTimerResponse.m in Sources */, - 0ED5DEE3866DBE7755C8D9316FFAB7AB /* SDLShow.m in Sources */, - F24DE55FA1F32550C62D55B837D8ABF7 /* SDLShowConstantTBT.m in Sources */, - E932CF32EBAC5A38421D4647AD6FD43A /* SDLShowConstantTBTResponse.m in Sources */, - BD4A9A955B57529EB63C6DDB85C46CB2 /* SDLShowResponse.m in Sources */, - A8351D732EE39A2E6A4BF0961CD4DCBB /* SDLSingleTireStatus.m in Sources */, - 8473861CB3E9013CAE648DF721904D3A /* SDLSlider.m in Sources */, - A852CEB6D68DC0D471A4B568CCFEFC02 /* SDLSliderResponse.m in Sources */, - CD4A69C4FE4890675333CCA5BEA942C4 /* SDLSoftButton.m in Sources */, - 2CA80A86C5A03D3E67CEAF1486AC8F23 /* SDLSoftButtonCapabilities.m in Sources */, - 239DE00BFE2890BBA5514DA129DE2C19 /* SDLSoftButtonManager.m in Sources */, - F255DF3B5D6B423DAE7B908AB50235CE /* SDLSoftButtonObject.m in Sources */, - E648DA3FDDF610D0DDB2BEC2CB18D870 /* SDLSoftButtonState.m in Sources */, - A1CFAB8F8C97AC658E9A135FCD702D0F /* SDLSoftButtonType.m in Sources */, - C67D634377AA89BD8B2867A859FDCE77 /* SDLSpeak.m in Sources */, - 053276E0D0A6A4A4C66461D4AC2BF56C /* SDLSpeakResponse.m in Sources */, - 3CAB5B443453DA374CF18555CFC4481B /* SDLSpeechCapabilities.m in Sources */, - 46D95A2E0F6F188E66D82172D4E698B5 /* SDLStartTime.m in Sources */, - DBAB6857F9B76426FFAB5C9865238D5D /* SDLStateMachine.m in Sources */, - CBEE1328BA8197B39A2AEC2DA2BE7883 /* SDLStreamDelegate.m in Sources */, - 8D906B90FA650A544E2901AEA114B068 /* SDLStreamingMediaConfiguration.m in Sources */, - C291FD59E9E83406345CE471C41039FF /* SDLStreamingMediaLifecycleManager.m in Sources */, - CE9A2EC0528160EFA38E5244EBEB96E3 /* SDLStreamingMediaManager.m in Sources */, - 2782136ECE39534DA8D188D5F3113A05 /* SDLStreamingMediaManagerConstants.m in Sources */, - 3ECCD709CD71374F7ED765716CEB0E0F /* SDLSubscribeButton.m in Sources */, - FC7367220FCD2B1BE0E04886457626D5 /* SDLSubscribeButtonResponse.m in Sources */, - F27F6F40DFB265892BE832C93D910999 /* SDLSubscribeVehicleData.m in Sources */, - 038C5894D5DC5C4ACD573447D9D156B1 /* SDLSubscribeVehicleDataResponse.m in Sources */, - EABC920508AC1A8C354E32289FA7DDAB /* SDLSubscribeWayPoints.m in Sources */, - F23DCE2EEB67CCF5C3A2A640FA3ACF7B /* SDLSubscribeWayPointsResponse.m in Sources */, - 2F082789FED36031021C9C68A0C014A6 /* SDLSyncMsgVersion.m in Sources */, - FEE77206A676730C07470979B618EBB0 /* SDLSyncPData.m in Sources */, - 4EF54C0BF9E88A3AD46A4BE4267E5369 /* SDLSyncPDataResponse.m in Sources */, - 4F977B11D0B0A5FED7412ED11FCDB6AC /* SDLSystemAction.m in Sources */, - C4F8AB9084137D64DCA49883C2425D31 /* SDLSystemCapability.m in Sources */, - AF5D6DF73A994A56D9A2FE506A961344 /* SDLSystemCapabilityType.m in Sources */, - DD50F5338B43D442F2097BFFD33608C7 /* SDLSystemContext.m in Sources */, - A55E01F0281407AD73155C9135F95AE1 /* SDLSystemRequest.m in Sources */, - AE2C5A4BD3506D741A36F2FE37E8AAF1 /* SDLSystemRequestResponse.m in Sources */, - B8077C9EC92BFA0A5EBA25364442E310 /* SDLTBTState.m in Sources */, - 527175801ADFF9138EF1B8BE3EBCADAA /* SDLTCPTransport.m in Sources */, - 23191658D152A24DB217304D7CD64A87 /* SDLTemperature.m in Sources */, - 6A294A8DF375E80A48E210F90EC76E35 /* SDLTemperatureUnit.m in Sources */, - 9FDC76E7A752C00FFCF5A73C2EEE92B1 /* SDLTextAlignment.m in Sources */, - 8FB91F60F79A4600426A494E27C138F1 /* SDLTextAndGraphicManager.m in Sources */, - 47F877C93AB5F61E31B1AEBC83115E28 /* SDLTextField.m in Sources */, - 13DE089C81B54221D1C27F2D076F747C /* SDLTextFieldName.m in Sources */, - DBC036E44880E83F810DFB0DF41F7F31 /* SDLTimer.m in Sources */, - F04CF1CB08B994D81C7E1C22B9E43B71 /* SDLTimerMode.m in Sources */, - 776208676EB80085371DAAD738CDEDD6 /* SDLTireStatus.m in Sources */, - 47464C12591C5651C8B6AD66373FA68B /* SDLTouch.m in Sources */, - 65E3C64D1FF6444F0B39593FFAD671F8 /* SDLTouchCoord.m in Sources */, - 4BDB4717BCCA0653AE1E94BD3E733E0E /* SDLTouchEvent.m in Sources */, - 8E5D2D77F72E9B7CF984CBC1DAF78232 /* SDLTouchEventCapabilities.m in Sources */, - B58742B511C7999F21673451CF3B16E1 /* SDLTouchManager.m in Sources */, - C1E7F89CF53EC5F27619ED730D6D1D43 /* SDLTouchType.m in Sources */, - 6B36A2BEF03914DDA165B7438355770D /* SDLTriggerSource.m in Sources */, - 2B6E59877D102668836476ED7D438740 /* SDLTTSChunk.m in Sources */, - A1D6604CAE29023FB0EC0907592ABD63 /* SDLTurn.m in Sources */, - AFE0C04D661A804486392338AB27F2C7 /* SDLUnregisterAppInterface.m in Sources */, - E22B9B61E167C9739638DE80AAEA5E8A /* SDLUnregisterAppInterfaceResponse.m in Sources */, - EA5A4BA67115F7525726C07B0D16AB1A /* SDLUnsubscribeButton.m in Sources */, - 4D945336A3F7EEC7F75075C4BEE2746F /* SDLUnsubscribeButtonResponse.m in Sources */, - AB6AB27FDBCA1146286B9BF77E56955E /* SDLUnsubscribeVehicleData.m in Sources */, - F9782E104D88147DA02F52324D00F020 /* SDLUnsubscribeVehicleDataResponse.m in Sources */, - D4D95167EE908D4752A6E2C43A6E059B /* SDLUnsubscribeWayPoints.m in Sources */, - F0DC4FEF7032904A374BBDB1C32FE75D /* SDLUnsubscribeWayPointsResponse.m in Sources */, - 43188DB34CFC40A9C8F2CBF5B31CF784 /* SDLUpdateMode.m in Sources */, - FFD9D665FDD91877F75AE807D1045FFF /* SDLUpdateTurnList.m in Sources */, - B4A7CC625BAF5CDA0CAF262F6E3D6FB6 /* SDLUpdateTurnListResponse.m in Sources */, - CF89A9E2745C8047DD714BB0D8167C60 /* SDLUploadFileOperation.m in Sources */, - 43373206E7134F0806C3ADA3416DC28C /* SDLV1ProtocolHeader.m in Sources */, - CB273A1197B9C2929E6F39D77422EF38 /* SDLV1ProtocolMessage.m in Sources */, - 25F2488384F3639918448C0535197E10 /* SDLV2ProtocolHeader.m in Sources */, - 3902C952579CD5B005E7D594D0C6A0DF /* SDLV2ProtocolMessage.m in Sources */, - 5EF182623D065946449DB2515ED5556A /* SDLVehicleDataActiveStatus.m in Sources */, - 7AA4D8FB152BCCDA068A71D31AEA71A9 /* SDLVehicleDataEventStatus.m in Sources */, - EE2E4B5B8382F3949864AE0759FA3530 /* SDLVehicleDataNotificationStatus.m in Sources */, - 0A2232187B88BC132D20097A8EE8C4C4 /* SDLVehicleDataResult.m in Sources */, - 00C4E23C5670A1D74E10E22DC0C75F5F /* SDLVehicleDataResultCode.m in Sources */, - C848C0096D85BF9CB2A8064090DF842D /* SDLVehicleDataStatus.m in Sources */, - D645A7D7CA5027759D223CACAEAF604B /* SDLVehicleDataType.m in Sources */, - 1459A6C2FD8DE4FCF1D7D474F864CA61 /* SDLVehicleType.m in Sources */, - D73B7F274A962003C9D150F398CD2E9C /* SDLVentilationMode.m in Sources */, - AF82B4A2324D4AF6CDBCB9E7FB84BD0E /* SDLVideoStreamingCapability.m in Sources */, - 41ED02C0E98D2C42FA49AAFA52BBABDC /* SDLVideoStreamingCodec.m in Sources */, - A81A3B889FD5505989F2633B5660261E /* SDLVideoStreamingFormat.m in Sources */, - 7D2132459BA16C415FD43C0819EF89C7 /* SDLVideoStreamingProtocol.m in Sources */, - B1F874816E646C7E83BC0788C3E5ACD5 /* SDLVrCapabilities.m in Sources */, - 42CB44C542A9C53E6738550996B1EE1B /* SDLVrHelpItem.m in Sources */, - A37AF6950F418DDB02CA0752652D479F /* SDLWarningLightStatus.m in Sources */, - 65AB2BD6BC3ECF941286EB8A5236B2AB /* SDLWayPointType.m in Sources */, - 893A5EAEC39B1E8EE9F323D34961E256 /* SDLWiperStatus.m in Sources */, - 6D44349FCCBADA4B40204E393B82BB57 /* SmartDeviceLink-dummy.m in Sources */, + 9EBCE76DE98833613834363DB468BB91 /* CGPoint_Util.m in Sources */, + 5C521E0E378A0669EC6687EABC73348B /* CVPixelBufferRef+SDLUtil.m in Sources */, + 62402E9F6585EA4BFFB41AD1688ED42D /* dispatch_timer.m in Sources */, + BB82C9646A001AB965203DD7C4ABF3E3 /* EAAccessory+SDLProtocols.m in Sources */, + 8F652C9DFD39903EB774478F3919DF53 /* EAAccessoryManager+SDLProtocols.m in Sources */, + 49982C103746564D3C54F20348D77469 /* NSBundle+SDLBundle.m in Sources */, + A617B91AA4286B0A000C26DFFAE1EB03 /* NSMapTable+Subscripting.m in Sources */, + A5E9728E958AED1757923FDF86CBD7DA /* NSMutableArray+Safe.m in Sources */, + 5EF2AE196488BFA83CD8CA7756F48187 /* NSMutableDictionary+SafeRemove.m in Sources */, + DF21D101EABAB6E00CF7E707E3943AD1 /* NSMutableDictionary+Store.m in Sources */, + B1BDCEA6C3090C2A73DC0C4F9F609696 /* SDLAddCommand.m in Sources */, + D5F42ACD5C21B49D9C40D94249422D03 /* SDLAddCommandResponse.m in Sources */, + 9DC9EB76C1350A19BB7B96D0F33195ED /* SDLAddSubMenu.m in Sources */, + AAA0FFF042B3B99C9D92A269A62CFF5B /* SDLAddSubMenuResponse.m in Sources */, + FFE5C4FAF2039AF094D03BDEDBF3C70A /* SDLAirbagStatus.m in Sources */, + 405952B0F156E80362027E2FB42E7359 /* SDLAlert.m in Sources */, + 99655449FA6C22312D322E788018DA07 /* SDLAlertManeuver.m in Sources */, + ABDA96A8547F3A930F93224BA116D218 /* SDLAlertManeuverResponse.m in Sources */, + D866508C9A7CA2A7E6CF7766FAA58F33 /* SDLAlertResponse.m in Sources */, + 01E264376DA7D789A6C586CC33D3C4C6 /* SDLAmbientLightStatus.m in Sources */, + AE6AA7E705E0E8737639988A68796CB4 /* SDLAppHMIType.m in Sources */, + D8F8B76ED83E7B308A73BAB23CFAB95F /* SDLAppInfo.m in Sources */, + 21944956FCF8A98A64B49943C532E71C /* SDLAppInterfaceUnregisteredReason.m in Sources */, + 9D2ED0822374AFBFA643EB06818A8E53 /* SDLArtwork.m in Sources */, + 8BC6E562601625464A53BC742A91365C /* SDLAsynchronousOperation.m in Sources */, + AEB730B02D81F89C55665B4144B9E402 /* SDLAsynchronousRPCRequestOperation.m in Sources */, + 6015D768048B1FF2C7D93F5AD3E9B89C /* SDLAudioControlCapabilities.m in Sources */, + F567248A2CBDD5AC8CF6BCC431DE09F3 /* SDLAudioControlData.m in Sources */, + 37A4441323BF715ECDFDFA44AA52E595 /* SDLAudioFile.m in Sources */, + 51D83C643384BAFE2BFFD0E8068521B4 /* SDLAudioPassThruCapabilities.m in Sources */, + 579B11FBED84C912A3799334269EED04 /* SDLAudioStreamingIndicator.m in Sources */, + CC06A5DB08416090311AA26C5F53BBB9 /* SDLAudioStreamingState.m in Sources */, + 77A71EAA82BAB13693880A019AD0B2F7 /* SDLAudioStreamManager.m in Sources */, + 3DC9DBBED5AF3AED802AEB1ACE6EC16C /* SDLAudioType.m in Sources */, + 8EA3AB26A43188089B88B94C7DE08F0B /* SDLBeltStatus.m in Sources */, + FAE6DA6BB36C59AFE54B415046D950BB /* SDLBitsPerSample.m in Sources */, + 335977B731AE1FB611913B0EA91AEA9D /* SDLBodyInformation.m in Sources */, + 0D8709506F394E503E05C5FAF3ABBFA9 /* SDLButtonCapabilities.m in Sources */, + 73080D254467A5B7B0544ABAFF474274 /* SDLButtonEventMode.m in Sources */, + 96E47B55DC6DB8E5B2764DB1F2DD99F3 /* SDLButtonName.m in Sources */, + E2CA6F1E1BA296B8C0844441245CF6B3 /* SDLButtonPress.m in Sources */, + F8D81C0A73C636F00FBBCC4073DAE257 /* SDLButtonPressMode.m in Sources */, + 1C479CD7E70CE6D721A82B6F56781D9A /* SDLButtonPressResponse.m in Sources */, + A991D517EC28BDF3C6FCD730F75057EA /* SDLCarModeStatus.m in Sources */, + D925212DD2A0D89BD7B257984208A356 /* SDLCarWindow.m in Sources */, + 27C60458AA9E71EB3C734B5CAFCE3B65 /* SDLCarWindowViewController.m in Sources */, + AC6FDFCC094C6CFAF1D0E57D75386505 /* SDLChangeRegistration.m in Sources */, + 07992A606FAD1F7083358DCA54121B87 /* SDLChangeRegistrationResponse.m in Sources */, + 3AFFD7E781E276C04B0910990FB2A7F1 /* SDLCharacterSet.m in Sources */, + E1F35758D07A31CFFA6E16184DD11EC4 /* SDLCheckChoiceVROptionalOperation.m in Sources */, + E0D2935FD815FD8E1B90AE2117FF6E6A /* SDLChoice.m in Sources */, + 1AC1E5C6107C9FDEC28FEAF2722D5871 /* SDLChoiceCell.m in Sources */, + A130399749A0500EDE7C2E9B679E2E02 /* SDLChoiceSet.m in Sources */, + 572B49D1EB5811BFC8A1AE03DED056AC /* SDLChoiceSetManager.m in Sources */, + 784C343D84C571A9BEB4CE3475052D4F /* SDLClimateControlCapabilities.m in Sources */, + 7D6FF10BD398DDB43B07B51E5B2BDD86 /* SDLClimateControlData.m in Sources */, + EDD76FFA6CC558AC6D28F89D749A34AC /* SDLClusterModeStatus.m in Sources */, + 4BF834C82F82A4F455757C75795D7614 /* SDLCompassDirection.m in Sources */, + 89AAE75E084941AB4DC95BC6170B0423 /* SDLComponentVolumeStatus.m in Sources */, + CEDC3780A021B4690015BF1407BE9A10 /* SDLConfiguration.m in Sources */, + 193649645204AE4D57E75DAE6C1478B8 /* SDLControlFramePayloadAudioStartServiceAck.m in Sources */, + 1B1CF15B78F656247732F33363542D95 /* SDLControlFramePayloadConstants.m in Sources */, + 1958620E37609F5E8C593B01464E3016 /* SDLControlFramePayloadEndService.m in Sources */, + 83DB672B245743109384B786A824D9D5 /* SDLControlFramePayloadNak.m in Sources */, + 7397FD913BC034E932B3090DE6B570D6 /* SDLControlFramePayloadRegisterSecondaryTransportNak.m in Sources */, + 01AF4CA766F62C8C5C54073C21E0FD7A /* SDLControlFramePayloadRPCStartService.m in Sources */, + 9AD204320DEEEFCC935A51AC0E8AD022 /* SDLControlFramePayloadRPCStartServiceAck.m in Sources */, + CC5A27F6A8046BF6A0D45A9E9AFF83EB /* SDLControlFramePayloadTransportEventUpdate.m in Sources */, + 1CA2B5A4769F94EE01AAF587330FB376 /* SDLControlFramePayloadVideoStartService.m in Sources */, + E3263DFA6CB2DA52B1251FBBC9267E9B /* SDLControlFramePayloadVideoStartServiceAck.m in Sources */, + 861219BAC33161FABE35382945E05D5D /* SDLCreateInteractionChoiceSet.m in Sources */, + 393038430FFE5671B2073A6A30C9BC0B /* SDLCreateInteractionChoiceSetResponse.m in Sources */, + 152CAC480630AF81E594747FE28E1C52 /* SDLDateTime.m in Sources */, + 69FB93D0116138B7E07F844C8EAB85EF /* SDLDefrostZone.m in Sources */, + 8265AF842FC74F52B21E42CB7BBA5F46 /* SDLDeleteChoicesOperation.m in Sources */, + A6D1DBBA7DFF61CCAC20DE99B9C18480 /* SDLDeleteCommand.m in Sources */, + 4A2E9931CEB4FBE60C639025C745949F /* SDLDeleteCommandResponse.m in Sources */, + B1A82109D4F75BBAED4C9B9740AECAAD /* SDLDeleteFile.m in Sources */, + 973BBB450E46C22063DD9BAEF384D18D /* SDLDeleteFileOperation.m in Sources */, + E52889D43E0FB7B64BB000FC9047EF4F /* SDLDeleteFileResponse.m in Sources */, + 67F2B71B297BD5B7A61826F8EE8D3EB3 /* SDLDeleteInteractionChoiceSet.m in Sources */, + BE9319F3CAB5BEBB2D2B9C3693A61652 /* SDLDeleteInteractionChoiceSetResponse.m in Sources */, + 202E9DEB4FC551880653BF4C6A734E33 /* SDLDeleteSubMenu.m in Sources */, + CD2072082E2208D2809019E27BEC0280 /* SDLDeleteSubMenuResponse.m in Sources */, + 6471C1EA39AB6BDD493349BB0F3F5052 /* SDLDeliveryMode.m in Sources */, + 90FB25EE09CDEE341453FFA847FBCAF7 /* SDLDeviceInfo.m in Sources */, + BE28266EAACE9D36007982EC36642F3A /* SDLDeviceLevelStatus.m in Sources */, + 5D58DF92FE6CE32BE79D5D559E6CFFED /* SDLDeviceStatus.m in Sources */, + 59E429B41FBD1AF0DC31AAFE203A786C /* SDLDiagnosticMessage.m in Sources */, + 19A64D1B86FF6BBF8E5BCEE6D72FAF03 /* SDLDiagnosticMessageResponse.m in Sources */, + BE12FBB6C580D3CE614365E50F41BAD1 /* SDLDialNumber.m in Sources */, + 0717BF49DDC3867CD2FDBCD81323A243 /* SDLDialNumberResponse.m in Sources */, + E781F22072DFC3F3132D5BB0D708E0D0 /* SDLDIDResult.m in Sources */, + B3D81BDC992C8624295DE288FB51BFDE /* SDLDimension.m in Sources */, + 0C17C9D742C4AB41CAD90B0A5CDC8A6A /* SDLDisplayCapabilities+ShowManagerExtensions.m in Sources */, + C2175B1A68E5F1D5F6D9FDA658245F99 /* SDLDisplayCapabilities.m in Sources */, + 057F789BB0FF5E0665773379E05E7196 /* SDLDisplayMode.m in Sources */, + EC518DA48EE5DF5912CD141D90D73648 /* SDLDisplayType.m in Sources */, + 70C704BD6E1E11AED47E7DD908749648 /* SDLDistanceUnit.m in Sources */, + A045FA88AAD56D9955A82693961E4503 /* SDLDriverDistractionState.m in Sources */, + 2ED2A5AEEA3F8EB3EA96F61E307B8AB1 /* SDLECallConfirmationStatus.m in Sources */, + F5EEF1197BE6FC5D8F9224FA2F6F636B /* SDLECallInfo.m in Sources */, + 6993E23A089FA7816120DFB82DAC3578 /* SDLElectronicParkBrakeStatus.m in Sources */, + B1520998FBEAB581CCB90729DA9FBF79 /* SDLEmergencyEvent.m in Sources */, + 20FC1896A18BA80D09A29EC6381D135A /* SDLEmergencyEventType.m in Sources */, + 29074EE6C7F221B0EA5003F0EC9E43FA /* SDLEncodedSyncPData.m in Sources */, + 816F4CFFE91C7D74124ED71DBAB0C286 /* SDLEncodedSyncPDataResponse.m in Sources */, + 6923C05E7716FDBCF161524774C2F927 /* SDLEndAudioPassThru.m in Sources */, + DF2622D04F645AB7DB9F9580800B6CC9 /* SDLEndAudioPassThruResponse.m in Sources */, + 3772577D7A7B0E0B0F79BE6861768803 /* SDLEnum.m in Sources */, + A49ECD1FA4B35BFE783DCB2D31D81762 /* SDLEqualizerSettings.m in Sources */, + A8C6468067C324C2E794EA6C7DAF885F /* SDLError.m in Sources */, + 781AEA16368564E74F2D0E43DC20D7E9 /* SDLFile.m in Sources */, + BD482921E979DAC6FB18B587970D1D84 /* SDLFileManager.m in Sources */, + 777B60664323D91B12134EE0BF4121B2 /* SDLFileManagerConfiguration.m in Sources */, + 96303796E0911FC98A50B810061DC683 /* SDLFileType.m in Sources */, + E6FFA1AD1EE5AA93DAE10797F2C8AA28 /* SDLFileWrapper.m in Sources */, + AA43891B9817657D5D57BD1D1B688482 /* SDLFocusableItemLocator.m in Sources */, + B431062954149A07B585826BA03ED313 /* SDLFuelCutoffStatus.m in Sources */, + 1DDF3601757242CCCF58BC6FDAEBD1CA /* SDLFuelRange.m in Sources */, + 9963ED0F7988732750C0516556DBAD4B /* SDLFuelType.m in Sources */, + B3563BE6893B433851161F1A5F44E7CF /* SDLFunctionID.m in Sources */, + CF23B80D9FCD04DE4B06E5497F4077C3 /* SDLGenericResponse.m in Sources */, + B92E9CD2034D4AB8A8C34D5C4FE2F688 /* SDLGetDTCs.m in Sources */, + 7277022B57CFC404A1EB8857A1CDF021 /* SDLGetDTCsResponse.m in Sources */, + 54B362CBD1794B25EEE2DAB2312458B0 /* SDLGetInteriorVehicleData.m in Sources */, + 59F1D49EF414749ADFD938A46FFE2E72 /* SDLGetInteriorVehicleDataResponse.m in Sources */, + EB8DDB9AD4603D10647FC08ABE42610D /* SDLGetSystemCapability.m in Sources */, + F38321F6E1B732F7CEDB3AE3023BF33E /* SDLGetSystemCapabilityResponse.m in Sources */, + C2003D216D43E1ADED716B86E0A11239 /* SDLGetVehicleData.m in Sources */, + F57A663D28734BF9EE81B1C59E30E436 /* SDLGetVehicleDataResponse.m in Sources */, + 53C76685D4035A70E7F85A6A141A374D /* SDLGetWayPoints.m in Sources */, + 79E37A64DEFA4B2F78CD1D7285440A4C /* SDLGetWayPointsResponse.m in Sources */, + 64A1FA70011DC1E2C21168C60FF3D41B /* SDLGlobalProperty.m in Sources */, + A5C97B66E1C6546C695D44B4F300302B /* SDLGlobals.m in Sources */, + 031CAC2ADCDA99AB8EE5132902ABC87E /* SDLGPSData.m in Sources */, + 76AE451EE727182D27416E47091AB4F3 /* SDLH264VideoEncoder.m in Sources */, + F8DCABDD288571F66402C114F3899498 /* SDLHapticRect.m in Sources */, + 91AD5EF96211EFE7FBF554AAE63C5E71 /* SDLHeadLampStatus.m in Sources */, + 1421CC9DED21AA027010DDAE45669ADB /* SDLHexUtility.m in Sources */, + C829128D3348C34402574DA56198E32A /* SDLHMICapabilities.m in Sources */, + 2665B47AE0D9E489A35A4B5583C7A574 /* SDLHMILevel.m in Sources */, + D8C7F0FC37A24FE15023B9CDF862E669 /* SDLHMIPermissions.m in Sources */, + 1F06A449FFC01FF0CA8553A0BEB0F700 /* SDLHMISettingsControlCapabilities.m in Sources */, + 1BA017560FC8B74AF9D489992FBA4405 /* SDLHMISettingsControlData.m in Sources */, + 13ADD1BF8C10734FB2EBAA866AD33717 /* SDLHMIZoneCapabilities.m in Sources */, + D3292C49FB3876E7E43FD0008983749D /* SDLIAPSession.m in Sources */, + FFC8023A64FCF411F0C9499967FB8289 /* SDLIAPTransport.m in Sources */, + AD1C347575BADD6069B7C8A3FCB78769 /* SDLIgnitionStableStatus.m in Sources */, + 5B1792B416C069B7D262E07E84F29E84 /* SDLIgnitionStatus.m in Sources */, + A9104F71B52E4C481C35F160AEC293DF /* SDLImage.m in Sources */, + B116992E85C07AD8037A93C763446C72 /* SDLImageField.m in Sources */, + 3A86DEA68BC55354523B90DFB98DFC85 /* SDLImageFieldName.m in Sources */, + D90C6ED75895BEF7908635D1106B319C /* SDLImageResolution.m in Sources */, + A18AA79836D24CA82F1ABED3711E0402 /* SDLImageType.m in Sources */, + 7CCEC1E66E94041D1F74F9CF22E21F50 /* SDLInteractionMode.m in Sources */, + 123A59D297B9772831BB7A508CC41777 /* SDLKeyboardEvent.m in Sources */, + E2BA5C9098A6A510F2A19C5CA6F82AB2 /* SDLKeyboardLayout.m in Sources */, + 5B8D3395CC4E7B16F282021534A1B89F /* SDLKeyboardProperties.m in Sources */, + CD4F211339E854BC70C82A9ED1F01CBA /* SDLKeypressMode.m in Sources */, + 3487D5F34B6779F25E0C691435723CEB /* SDLLanguage.m in Sources */, + 54D790EEC81BAD764B8EEE49AD2A4158 /* SDLLayoutMode.m in Sources */, + CC7745805D84963CD8F0AF6400C02D08 /* SDLLifecycleConfiguration.m in Sources */, + AE94A5275773442E585794CE54A68795 /* SDLLifecycleConfigurationUpdate.m in Sources */, + E667646278FC1293CFD847649D8655CC /* SDLLifecycleManager.m in Sources */, + BBFCDC011B28D53B121AFA90E312A472 /* SDLLightCapabilities.m in Sources */, + AFAEB2A40167436131D8BDDE78C054B4 /* SDLLightControlCapabilities.m in Sources */, + 7FA0297BD2724D838BD70099450698EB /* SDLLightControlData.m in Sources */, + 5FE8EC1EBFBAC58BD6EF78358BCD2BA4 /* SDLLightName.m in Sources */, + DF74594B1C61223786D0D9B8D050E83F /* SDLLightState.m in Sources */, + EA6F912B14512ED4F79A1D2E6FC711CC /* SDLLightStatus.m in Sources */, + F8A3D17447CD1BBD2A178E1E9E42DB70 /* SDLListFiles.m in Sources */, + 8E9B107A40C3460FB540F154FFB49BC0 /* SDLListFilesOperation.m in Sources */, + 759E2DFEBA77AB77AC3841384A4642F8 /* SDLListFilesResponse.m in Sources */, + 8F67745B0596A71442906332D380019B /* SDLLocationCoordinate.m in Sources */, + 03AFC841308A9314BFE45A87E7D12155 /* SDLLocationDetails.m in Sources */, + 61A5483B85509933A8FD8A9C0DD79570 /* SDLLockScreenConfiguration.m in Sources */, + ADAE4EE6135058511597D79281C11C8D /* SDLLockScreenManager.m in Sources */, + ED155EF629DE9E96CF03905433FF317D /* SDLLockScreenPresenter.m in Sources */, + 4312EB672436060772606A0E4925DA81 /* SDLLockScreenStatus.m in Sources */, + 6A948ECACEF216EBE9DDB24C6478D643 /* SDLLockScreenStatusManager.m in Sources */, + F8106552810652AB6D988BA704E3AC60 /* SDLLockScreenViewController.m in Sources */, + C7CAA9586C7CBFC1BF7283B5E0D3538F /* SDLLogConfiguration.m in Sources */, + 58E5CC6C7FDD68D29452343D6BCDC80E /* SDLLogFileModule.m in Sources */, + 57823C7275F6F68B5C74AF6905FC904B /* SDLLogFileModuleMap.m in Sources */, + DC19EC9C46AE5676346DA606DAF9AC92 /* SDLLogFilter.m in Sources */, + 3383C263F5066BB955902D08E0E0BA76 /* SDLLogManager.m in Sources */, + 4D22C3E35127657A059FAAC74E84CA9F /* SDLLogModel.m in Sources */, + A039FEEC54EC4A0BE526247BDAB60B67 /* SDLLogTargetAppleSystemLog.m in Sources */, + 8BDBA188EE37C24C29B742DFE65D3220 /* SDLLogTargetFile.m in Sources */, + C7FC6D013EDDB9E6F8380666F3A722D5 /* SDLLogTargetOSLog.m in Sources */, + 7F95596B16851C7F2C54180FC0777A21 /* SDLMaintenanceModeStatus.m in Sources */, + F4D7E3DB98D985518CBA00A931EE7A89 /* SDLManager.m in Sources */, + B78F6243D01B5B588754F9C82619A450 /* SDLMassageCushion.m in Sources */, + 7ACB3CE55A4AC735DA8662EC6501EEFA /* SDLMassageCushionFirmness.m in Sources */, + F5DCCFB916C50F9482F9C37FE84C14CB /* SDLMassageMode.m in Sources */, + 6F380499045F205FAE7E1D8BF98179B7 /* SDLMassageModeData.m in Sources */, + E229FDBBECD87A87201C7BEB4DC29D97 /* SDLMassageZone.m in Sources */, + 2A5F0B29E4EBD8734741D831CA6A7E6A /* SDLMediaClockFormat.m in Sources */, + 01F70F292D4F11D03C358ACC1E2DAC8D /* SDLMenuCell.m in Sources */, + 8522A1A57853E7CF7C31DA0A7A4AB0E3 /* SDLMenuManager.m in Sources */, + E86251450D4D5A10419413C51E5980F9 /* SDLMenuParams.m in Sources */, + 3FD99D42147F557EFE878C489E853A98 /* SDLMetadataTags.m in Sources */, + 5819D315BD81F71750C6BAD914F7C5BE /* SDLMetadataType.m in Sources */, + B39F57C03DCE7EA738793B7AA9AEFE0C /* SDLModuleData.m in Sources */, + 6A87455EC4D7876D3DA2E5BE5F5AF0E9 /* SDLModuleType.m in Sources */, + 6DA110ED4E5F99E15B2978088CCE0F95 /* SDLMutableDataQueue.m in Sources */, + 28F0252D9017ED26A005BEF79E464662 /* SDLMyKey.m in Sources */, + 52F293B8D8F2DBC5884789F9F340441A /* SDLNames.m in Sources */, + BA644B2242904BB213F13216743786E5 /* SDLNavigationCapability.m in Sources */, + 4AB73C7BEAA65EE7156FB5C3CC87DF2D /* SDLNotificationConstants.m in Sources */, + AA97A6D784675068A531B73FF5FD0376 /* SDLNotificationDispatcher.m in Sources */, + 8D3B4AF8D23A9F7DB6AB859C69156FA6 /* SDLOasisAddress.m in Sources */, + 9CE741D0B5CFA7C1782FA1CDAEE6EA87 /* SDLObjectWithPriority.m in Sources */, + 6E9DFC2CB83FEE9A4AFEA9AD7EE227C6 /* SDLOnAppInterfaceUnregistered.m in Sources */, + 72D0F8CE4CAFAF66BCCD89088FFA6164 /* SDLOnAudioPassThru.m in Sources */, + DBE8765BED5677C418D627EE206306C3 /* SDLOnButtonEvent.m in Sources */, + 70A3EF519C0F612927B5E8D0E787FD6C /* SDLOnButtonPress.m in Sources */, + 50E94328E77465FC58A98C08B155AA3E /* SDLOnCommand.m in Sources */, + E7F2901D28061C231237AB39E5917BCB /* SDLOnDriverDistraction.m in Sources */, + 2F62D67C96619CF8418DDE8660AA87FF /* SDLOnEncodedSyncPData.m in Sources */, + 930D36D2C2CFB72D4B2C3A01D36D8278 /* SDLOnHashChange.m in Sources */, + EBDF38FA85CF97881115CB93F448E837 /* SDLOnHMIStatus.m in Sources */, + BB6BF4F84E821FAC00199C2BAF9AF74A /* SDLOnInteriorVehicleData.m in Sources */, + 4DE6D3DB00935100770B101E4FD4DD74 /* SDLOnKeyboardInput.m in Sources */, + 8BCAE1C114A5E67B3A5ACE4C6AAF7A74 /* SDLOnLanguageChange.m in Sources */, + CD60F83D031F7CC693D74CBD3D03564C /* SDLOnLockScreenStatus.m in Sources */, + 073092D66C7A45B78F01D6F5BAD82BA1 /* SDLOnPermissionsChange.m in Sources */, + A83965F5D3DA1873875BD519055B6EB8 /* SDLOnRCStatus.m in Sources */, + D8ED71A2B9F5E9D98C447D485332A99F /* SDLOnSyncPData.m in Sources */, + 5C5BDD02AE87289FABF6D1E1D55E8620 /* SDLOnSystemRequest.m in Sources */, + 76DD5F04C9D0EFF928EFE824F480388E /* SDLOnTBTClientState.m in Sources */, + 3A979A73791B243B088224560C08E152 /* SDLOnTouchEvent.m in Sources */, + 7CBFDD61D75E8B7A0F25E3FA795820C2 /* SDLOnVehicleData.m in Sources */, + D8A80A1C68EC4F43025883478D8CB9D0 /* SDLOnWayPointChange.m in Sources */, + 86CC298B59D86368CE05871D9544B024 /* SDLParameterPermissions.m in Sources */, + 31DFC3583830E0D966124FC8F5C27762 /* SDLPCMAudioConverter.m in Sources */, + 2B70751465E898CA237B574CFDE37BB6 /* SDLPerformAudioPassThru.m in Sources */, + 4EADDCED77CBC447F15EEE6612C32794 /* SDLPerformAudioPassThruResponse.m in Sources */, + AC3116F5CDE0A01ACBE881AD2932FA50 /* SDLPerformInteraction.m in Sources */, + ACBE2276330CA5BFAEB45D60559E0EE3 /* SDLPerformInteractionResponse.m in Sources */, + F7F7B60B5DDE0E8C3148AFDCF3FEBF48 /* SDLPermissionFilter.m in Sources */, + BAF3F93166B7EE5043FFDFA7B86DF85B /* SDLPermissionItem.m in Sources */, + 1A97C3CB44D389A20089C76508C7FD3F /* SDLPermissionManager.m in Sources */, + 67E4D3D07E7C652B79B0DC9D37FC0B84 /* SDLPermissionStatus.m in Sources */, + 48117AC5842CE566308EBCC6BAD70A38 /* SDLPhoneCapability.m in Sources */, + D8F7988ACC1BECA9C734EB18818833CF /* SDLPinchGesture.m in Sources */, + 3B060D93370643ABBC11440CA95137C5 /* SDLPolicyDataParser.m in Sources */, + 446DBDD10A24217E2C75E80F8AE8F3AC /* SDLPowerModeQualificationStatus.m in Sources */, + D60E50F38B718A2C85F0D682D384A5CF /* SDLPowerModeStatus.m in Sources */, + CE6CC0FEC610B058C1ABF457E41231B0 /* SDLPredefinedLayout.m in Sources */, + 39E89EB33BF91A8DD6826358A94C18A8 /* SDLPreloadChoicesOperation.m in Sources */, + 10E1C185CE7C51FA5DE4FD583AE99495 /* SDLPrerecordedSpeech.m in Sources */, + 9F370913738F86970698DAFB0A38971E /* SDLPresentChoiceSetOperation.m in Sources */, + E0BEFED8F43D0F005D5A05202F986C32 /* SDLPresentKeyboardOperation.m in Sources */, + FB71EC687E318FDBEEAD61E01DDEDB0D /* SDLPresetBankCapabilities.m in Sources */, + EB931FD87B77F6DB93801D24D19E70A4 /* SDLPrimaryAudioSource.m in Sources */, + BCEEAB66BF7313700D582FC1B90F169A /* SDLPrioritizedObjectCollection.m in Sources */, + BED9682A2C62CD033C513A4F91F34BB4 /* SDLPRNDL.m in Sources */, + E7C6FBA916500B31D6BAD5FD6A7FC253 /* SDLProtocol.m in Sources */, + 15C348C6C1D4657D5CCCB39DA48F874D /* SDLProtocolConstants.m in Sources */, + 29DA019909278383AF531314E1F4750D /* SDLProtocolHeader.m in Sources */, + D39D3D539295DA37870D3C521DF13AE3 /* SDLProtocolMessage.m in Sources */, + 9FDADA82B9C13E7CC61B02E43B7A59AF /* SDLProtocolMessageAssembler.m in Sources */, + ABBD345B8597491398E3FC8823936405 /* SDLProtocolMessageDisassembler.m in Sources */, + 79C6CE11C7DF25024C6679A5DB1F4FAE /* SDLProtocolReceivedMessageRouter.m in Sources */, + E6384B8090DE58E1C6D8EBB98CD828FA /* SDLProxy.m in Sources */, + DCA6C0C2052238C2A0119B020C87F0E8 /* SDLPutFile.m in Sources */, + BDB5E2E5DFA96C828137342BB8D6085B /* SDLPutFileResponse.m in Sources */, + BF9FC9118C99B6AE3D6240A775901119 /* SDLRadioBand.m in Sources */, + FF59DFEE18469A77E54029DB64085770 /* SDLRadioControlCapabilities.m in Sources */, + 6F3A11071AAAAB089CAFF163A89E33C6 /* SDLRadioControlData.m in Sources */, + B16E136F1D126EFDC395DBC4EB838678 /* SDLRadioState.m in Sources */, + 1F2C08924DAF09EAEDDF8E4A9B8F50C5 /* SDLRAWH264Packetizer.m in Sources */, + 783B704F7AE68B152C43E52B371B7BDE /* SDLRDSData.m in Sources */, + 3B9FD9C8C2D64BE1E7B4A60D8F1CF79C /* SDLReadDID.m in Sources */, + CD099D30E79DA7E13360CD0B9596F9C0 /* SDLReadDIDResponse.m in Sources */, + 30CDC22F7251B357A4C3CFAA72C47DE7 /* SDLRectangle.m in Sources */, + 8A13A50A3BCFE1E95F5D0294DF0729C9 /* SDLRegisterAppInterface.m in Sources */, + 8EF3ABA3CA3403D40675B8DF873BE0B5 /* SDLRegisterAppInterfaceResponse.m in Sources */, + 804B8220D4707682A8FA3F55A42A8B7F /* SDLRemoteControlCapabilities.m in Sources */, + FFC02EFE8F4650236EE18746F3C99B26 /* SDLRequestType.m in Sources */, + 60125BE2D194F959E8B41E59AE5902A5 /* SDLResetGlobalProperties.m in Sources */, + BB7153824E5C733FC1351739C572EF43 /* SDLResetGlobalPropertiesResponse.m in Sources */, + 05DE0CE31E8EF0D73230A47C79E5DED1 /* SDLResponseDispatcher.m in Sources */, + C6E3BB800E0219BB7BD53B85E7DDAB76 /* SDLResult.m in Sources */, + EE17450F281E5551AAAD2D4122552E83 /* SDLRGBColor.m in Sources */, + 513047C3242BF4788D7F04DA59A65D4F /* SDLRPCMessage.m in Sources */, + 5296B7BC7A799A4645A24AA665985F9C /* SDLRPCNotification.m in Sources */, + 32E4FFA8285A6E57F005EAC005EB2A0F /* SDLRPCNotificationNotification.m in Sources */, + 7F83B8D30D412264CB064FBCA65280F7 /* SDLRPCPayload.m in Sources */, + F05E6947D5F62C46FFEFE2F7AA748FC8 /* SDLRPCRequest.m in Sources */, + 6F43639A1BCFD9F961DFD27B0FF5ADD2 /* SDLRPCResponse.m in Sources */, + D6F70552F77E46D51BDF1F117BD35E88 /* SDLRPCResponseNotification.m in Sources */, + 95C30385C00538D6AD46FF3B45B58543 /* SDLRPCStruct.m in Sources */, + D794844555DFBAF7F8B9F9BD93380E66 /* SDLRTPH264Packetizer.m in Sources */, + 2F92A39FA7844E294BA89D4504DE5B40 /* SDLSamplingRate.m in Sources */, + D4684E7B5630AC0841E5F97E0E7410DC /* SDLScreenManager.m in Sources */, + 2D2C73A94C3702E247D80930EDD01C6E /* SDLScreenParams.m in Sources */, + D5F4416658C287713DE58A8B42779AD6 /* SDLScreenshotViewController.m in Sources */, + DDA293D9DD24D4B90840CB223F377E91 /* SDLScrollableMessage.m in Sources */, + F41E22F7099FD22A75464C95A275593F /* SDLScrollableMessageResponse.m in Sources */, + 64A03FA26A7101B6BCC79CE756523718 /* SDLSeatControlCapabilities.m in Sources */, + B039BBFA1D64E0C27D884E975E689356 /* SDLSeatControlData.m in Sources */, + 4242BC8D2B19A8AECDD82CEC36EAD1D3 /* SDLSeatMemoryAction.m in Sources */, + F3B256DF9728486349ACBAC2FF17275C /* SDLSeatMemoryActionType.m in Sources */, + 0B6AF6FF70CEFC947736C354315B0BED /* SDLSecondaryTransportManager.m in Sources */, + A346431BFB5EAF37478A562E9F32AED7 /* SDLSecondaryTransportPrimaryProtocolHandler.m in Sources */, + 5ED42ED122955A56A12165FEAA266553 /* SDLSendHapticData.m in Sources */, + BBEBB3879498EFCDA6A77C5026EAD41F /* SDLSendHapticDataResponse.m in Sources */, + D960D612D98D46D5AA86EBB3A7291634 /* SDLSendLocation.m in Sources */, + 944EAE83486EADA35F0A0957440A30FC /* SDLSendLocationResponse.m in Sources */, + 63D5C70769C0A8BBE254DA0612185BF1 /* SDLSequentialRPCRequestOperation.m in Sources */, + 78714ABA9091EDC61A1532C19CEF622C /* SDLSetAppIcon.m in Sources */, + 53246289694B5FAFAF6A3539272C199F /* SDLSetAppIconResponse.m in Sources */, + CEAB90B0ECF3BE31B9E22C076BC46BD8 /* SDLSetDisplayLayout.m in Sources */, + 4EDB1D54059A62B1E89AC859B6AFFC98 /* SDLSetDisplayLayoutResponse.m in Sources */, + 6453343C771486277D24FDAE17FA8C17 /* SDLSetGlobalProperties.m in Sources */, + 56413091A8C554F6CB22273E720F72B9 /* SDLSetGlobalPropertiesResponse.m in Sources */, + BDA78B840E859D4BA56C7361728B06CD /* SDLSetInteriorVehicleData.m in Sources */, + 44398A25FFF8E8E3BA94AA4B16401BD1 /* SDLSetInteriorVehicleDataResponse.m in Sources */, + 89F9CC51698C7CE001EB2AA56B413072 /* SDLSetMediaClockTimer.m in Sources */, + 9A1D30D7941623B78C80B13034F85CAA /* SDLSetMediaClockTimerResponse.m in Sources */, + FFD2DE79E153D602C64F7CC2C58EE395 /* SDLShow.m in Sources */, + 10E9D8F067B9536C43ECFB83D7A73E3C /* SDLShowConstantTBT.m in Sources */, + F2DE3C75015CD483965F2CBDFB21C57C /* SDLShowConstantTBTResponse.m in Sources */, + 76CCB2091B2141F0DE187DEDF9CEB84C /* SDLShowResponse.m in Sources */, + F9EF9685DAD362ED40662958F0775431 /* SDLSingleTireStatus.m in Sources */, + 32EF617251A6BDB80B1116AA30B88887 /* SDLSISData.m in Sources */, + 2424E72E3E34EC0D796FF72BA0253B6A /* SDLSlider.m in Sources */, + F547698FEF2F7006BB277000FECE7C27 /* SDLSliderResponse.m in Sources */, + 2A23BC577603227C59F175A756C07E75 /* SDLSoftButton.m in Sources */, + 2A736C0C17FD26D7F036E75358F1C35B /* SDLSoftButtonCapabilities.m in Sources */, + 5E4443EFA38A0E9D9356E31E93CD6194 /* SDLSoftButtonManager.m in Sources */, + 8A993F6473BDF02FF0BE27F6D0090945 /* SDLSoftButtonObject.m in Sources */, + 2796B141DB2CB8FF9D5D4331365FBF7C /* SDLSoftButtonState.m in Sources */, + 503E1255E56FFE55DCA95B9431D029AC /* SDLSoftButtonType.m in Sources */, + 404C3CDFE0A33CF1EA1F85DDDCAC7724 /* SDLSpeak.m in Sources */, + AB07E9AD2BC645CB49B998D2EE9ECD97 /* SDLSpeakResponse.m in Sources */, + 30FFC9E6B1C8D0793671168174052553 /* SDLSpeechCapabilities.m in Sources */, + FDED759629FA131DEDB2F00DDCC3D57C /* SDLStartTime.m in Sources */, + DDFD1462487F0102630F4A0082C2257F /* SDLStateMachine.m in Sources */, + 1546CE1E88D907835BF0B788B395892E /* SDLStaticIconName.m in Sources */, + AE5E9504FB6C14FA328062715259EC5F /* SDLStationIDNumber.m in Sources */, + 70A85F0E16284719A8CCB392E2F37115 /* SDLStreamDelegate.m in Sources */, + CF87235765D43F50AAD12EEF32C7E285 /* SDLStreamingAudioLifecycleManager.m in Sources */, + CAA156021879DF0FB3AB2D5C5E90B614 /* SDLStreamingMediaConfiguration.m in Sources */, + DBFA41154367EDB649205FAB3A0AB1D8 /* SDLStreamingMediaManager.m in Sources */, + 51B9760ED13D36DA0194F8F065F87132 /* SDLStreamingMediaManagerConstants.m in Sources */, + 33F5B083FEAEF4A293D5DDCC66055D3E /* SDLStreamingVideoLifecycleManager.m in Sources */, + CEF940DCF2F81856401D9F1A362614EB /* SDLSubscribeButton.m in Sources */, + 691B6D70692287E94DC8130566976727 /* SDLSubscribeButtonResponse.m in Sources */, + 13AFC08B1A38979CD13E5F43B4038A00 /* SDLSubscribeVehicleData.m in Sources */, + F4B664B8731CFEE056D3DC6EE1979783 /* SDLSubscribeVehicleDataResponse.m in Sources */, + 2F4833E75460BBDCA6974CF6A25393D3 /* SDLSubscribeWayPoints.m in Sources */, + 77982001C189F612C9F6EBD7141F0845 /* SDLSubscribeWayPointsResponse.m in Sources */, + BB1C9CDA7915D4AFB05EB4CFAE8BD7DC /* SDLSupportedSeat.m in Sources */, + 2E5A270CA153C9237A20FBA1325DC854 /* SDLSyncMsgVersion.m in Sources */, + 0B7F66B4664A408860F0AF0E101A7227 /* SDLSyncPData.m in Sources */, + 2608EAE325BED25A8AE2266BE7306894 /* SDLSyncPDataResponse.m in Sources */, + 04CCC763BF97B9B5CD4E91D041427E7A /* SDLSystemAction.m in Sources */, + 7F41F9E5C935DE00F69F9446B0C02FB0 /* SDLSystemCapability.m in Sources */, + D4B21BBBE0438AD091A68184121C3687 /* SDLSystemCapabilityManager.m in Sources */, + 59CAECCC79309B3484BAAB9997144D13 /* SDLSystemCapabilityType.m in Sources */, + 471FFFF32E90503833F9ED85A037ADB7 /* SDLSystemContext.m in Sources */, + E13279B99727C389AFD55E86CEC6BA58 /* SDLSystemRequest.m in Sources */, + E4D497DFC67512E4D1F4009C9E89F0FD /* SDLSystemRequestResponse.m in Sources */, + 108679E1326013DA6810D4FCCF8D199A /* SDLTBTState.m in Sources */, + EA61BA97EB572FF25C639B4F9E68C659 /* SDLTCPTransport.m in Sources */, + F5965C8BECB2C649963997914210A539 /* SDLTemperature.m in Sources */, + 0621820D4B49EAC554475DCBB4960D32 /* SDLTemperatureUnit.m in Sources */, + 021AB76D29434458BB6B0DCE77D21101 /* SDLTemplateColorScheme.m in Sources */, + 0B6EB8772E0D15EAF628AD3F5C4C6B2F /* SDLTextAlignment.m in Sources */, + 338656B244397A1FE7AEAB4924A0637D /* SDLTextAndGraphicManager.m in Sources */, + 14DA1D729A8C3713459C867141BD057E /* SDLTextField.m in Sources */, + 7746DA8115BFA3F56B0E3CECF27104B7 /* SDLTextFieldName.m in Sources */, + C073B1D727561E1DE8F62DF675A41174 /* SDLTimer.m in Sources */, + BBBD5ED4D03D7C262186F7E2C45AE4FB /* SDLTimerMode.m in Sources */, + 858C3DF22080180C08F0980AD34A89FF /* SDLTireStatus.m in Sources */, + B71902D2F4098F712EF8B0B91C4BA816 /* SDLTouch.m in Sources */, + 93E7DF6ABAB0B63BCF3A43F04806CA92 /* SDLTouchCoord.m in Sources */, + A76BE724EA8A0BC5D7BD18F12331771D /* SDLTouchEvent.m in Sources */, + 1026CB34F032E55D9178DF90D78A7891 /* SDLTouchEventCapabilities.m in Sources */, + A64A381029902ECF5EA9881C2D3757F1 /* SDLTouchManager.m in Sources */, + 4262A88F6772DAFA6EB0986E93A7F7D1 /* SDLTouchType.m in Sources */, + 7FE813856BB80DB6CEFF1C7E5882006C /* SDLTPMS.m in Sources */, + E0C0F1716131F4FE8CBD8D1CC0A41FD0 /* SDLTriggerSource.m in Sources */, + FA5C8678979CE1CE6335D0580B458AE7 /* SDLTTSChunk.m in Sources */, + 776242583F47FE5061962145742DFD9D /* SDLTurn.m in Sources */, + 60F18842E21833886C8FB23CB53BD584 /* SDLTurnSignal.m in Sources */, + 8E8ACC9765AE19DC38F34CC924DCFE9B /* SDLUnregisterAppInterface.m in Sources */, + 4DE4F6C69D2B336533D5AB7CFB92805B /* SDLUnregisterAppInterfaceResponse.m in Sources */, + 689DCEDD61B14AA9EB35BB6011B0FF9D /* SDLUnsubscribeButton.m in Sources */, + 3CFF28EB8DF6F6B428CA1801E5F3B25F /* SDLUnsubscribeButtonResponse.m in Sources */, + FBC44B18BAE4EF95422584B6C2EF0367 /* SDLUnsubscribeVehicleData.m in Sources */, + A31E11C8073E52862D92D5D91953829F /* SDLUnsubscribeVehicleDataResponse.m in Sources */, + 6DDEBD45DBC204F6707EEE60817DF84C /* SDLUnsubscribeWayPoints.m in Sources */, + 94AA8314B82E73293B721B3103718D68 /* SDLUnsubscribeWayPointsResponse.m in Sources */, + 3E79D874393A3D7EBE0DA7412D7A6662 /* SDLUpdateMode.m in Sources */, + 24F2853B85F0CD908042C0887DD98DA6 /* SDLUpdateTurnList.m in Sources */, + E04A342E4724E073B5A460D2C5AE91BC /* SDLUpdateTurnListResponse.m in Sources */, + 1906B555E30994355B5939D36DBB9B7D /* SDLUploadFileOperation.m in Sources */, + C1736382406AD2485186181877F6AE82 /* SDLV1ProtocolHeader.m in Sources */, + 638569796129B05B2960F6135497396F /* SDLV1ProtocolMessage.m in Sources */, + AA4B736B9E1FD5C7E26F8A60D16B2A6D /* SDLV2ProtocolHeader.m in Sources */, + 274DA5F32BF29A3E4AC88D8C1D475054 /* SDLV2ProtocolMessage.m in Sources */, + 508710487E6E5D73B47302E30A095473 /* SDLVehicleDataActiveStatus.m in Sources */, + 8FA6FDBF6D81BD1B23490E769F293984 /* SDLVehicleDataEventStatus.m in Sources */, + 62849765FA318D1EE6F25BE2142CFD47 /* SDLVehicleDataNotificationStatus.m in Sources */, + EE668C077436E23D23D3D8143234DBFF /* SDLVehicleDataResult.m in Sources */, + 1144A41A128E7245639EF7EEAAFFB49C /* SDLVehicleDataResultCode.m in Sources */, + 54FB1AD8D55EE13D2BDE103CE981F096 /* SDLVehicleDataStatus.m in Sources */, + AF6A66360D7812FD96B343939D9E2B12 /* SDLVehicleDataType.m in Sources */, + 0E2509ED429DFEEBE4D2B4291C1A5647 /* SDLVehicleType.m in Sources */, + 94B42CFC4C940C7C72952993D42D7909 /* SDLVentilationMode.m in Sources */, + 27B47B95DCD6EFEE0AE4B2447B6E9D50 /* SDLVideoStreamingCapability.m in Sources */, + E8DC65D3D7BC1104A34ABA80362BEA50 /* SDLVideoStreamingCodec.m in Sources */, + 6377C7E09DD017030CAD64860B15B8F0 /* SDLVideoStreamingFormat.m in Sources */, + 25FC9867BFEF6F22B87571B2026C382D /* SDLVideoStreamingProtocol.m in Sources */, + 3CF801D23C44F6D1B84C15AA973D5911 /* SDLVideoStreamingState.m in Sources */, + 0AFCF277B445FBBDD394315DCF739CDA /* SDLVoiceCommand.m in Sources */, + 05FB1FD36DAE4750C26E6F3EE1AE94EA /* SDLVoiceCommandManager.m in Sources */, + 25BD608CDC74BDA8361298894AAC1BF6 /* SDLVrCapabilities.m in Sources */, + F8E512A9CAF6B80125DBCE5093A48B6B /* SDLVrHelpItem.m in Sources */, + 45ECBD14B4B63213CB8EAE14A26F47E0 /* SDLWarningLightStatus.m in Sources */, + 50197887724DB2B0F9BBBEDFD115EB01 /* SDLWayPointType.m in Sources */, + 18BBDEAE907C6E3913765F188D1F22A7 /* SDLWiperStatus.m in Sources */, + DCB23496E88481D6F8C0122ACB9F58CA /* SmartDeviceLink-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3640,16 +4088,16 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 8FAA5413FBCD651DB99D90FBF781F5EE /* SDLLockScreen.storyboard */ = { + B13E714E9CFF859E95191063BF63F15A /* SDLLockScreen.storyboard */ = { isa = PBXVariantGroup; children = ( - FA191EC4F9683C7ECDC68B4B7273D202 /* SDLLockScreen.storyboard */, - E77E9755653A8340A004A9D4D5BCE907 /* SDLLockScreen.strings */, - 9D33011D99FA9AC41C54BF93535F5FCC /* SDLLockScreen.strings */, - 33478CEC0585EF2A5080B9FB7276A2CF /* SDLLockScreen.strings */, - 4A75DD6195AC1BF4951B50B5FCE19758 /* SDLLockScreen.strings */, - 68A3E9A40805BFAAB9A401FF081EC9D1 /* SDLLockScreen.strings */, - 080F651E5D895305C93E7FE95E88BA78 /* SDLLockScreen.strings */, + 1D65D5A42B23A3D0DFDB2A586619FD16 /* SDLLockScreen.storyboard */, + 2AAFA2C903287C5055C4409F73717F08 /* SDLLockScreen.strings */, + 2001EE7A12C7EDAE3783A1365BC342A3 /* SDLLockScreen.strings */, + EED6DA45D83CE687BCB94E414DFAC3E6 /* SDLLockScreen.strings */, + 641BBB21F504981EFCD18E36DC8154FA /* SDLLockScreen.strings */, + F69BAB9533A64E79E944642D731471FD /* SDLLockScreen.strings */, + 45014C9975F976A709301510AA9BF5CA /* SDLLockScreen.strings */, ); name = SDLLockScreen.storyboard; path = SmartDeviceLink/Assets; @@ -3658,9 +4106,72 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 1EE19F5DD95931924296F637BF18BD8F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; 22FFC1BFD3B651C09A543504BA587E84 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 59C17FC3AB0EDF2ECE5D3948830BA9EE /* SmartDeviceLink.xcconfig */; + baseConfigurationReference = A875DFABA35DCF8BD7D48B371863A251 /* SmartDeviceLink.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SmartDeviceLink"; @@ -3674,9 +4185,9 @@ }; name = Release; }; - 45FB6A7C910ABB621B52535A10B4AD30 /* Debug */ = { + 31A2BC5BDD3E77CC203FBAA11B183683 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 140A6513A51A58CB830A169705FC5D2D /* Pods-MobileWeather.debug.xcconfig */; + baseConfigurationReference = A875DFABA35DCF8BD7D48B371863A251 /* SmartDeviceLink.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3687,28 +4198,26 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-MobileWeather/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SmartDeviceLink/SmartDeviceLink-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/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"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-MobileWeather/Pods-MobileWeather.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_MobileWeather; + MODULEMAP_FILE = "Target Support Files/SmartDeviceLink/SmartDeviceLink.modulemap"; + PRODUCT_MODULE_NAME = SmartDeviceLink; + PRODUCT_NAME = SmartDeviceLink; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 5B832B4381DB080B1A6D2CBD100EDE36 /* Debug */ = { + 5F7C0B45F40BCFDC5E85A6713DB6CC6D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 59C17FC3AB0EDF2ECE5D3948830BA9EE /* SmartDeviceLink.xcconfig */; + baseConfigurationReference = 52FD4FBAB16A6A7EC06FC2EAC24E3EB5 /* BiSON.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3719,26 +4228,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SmartDeviceLink/SmartDeviceLink-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SmartDeviceLink/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/BiSON/BiSON-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/BiSON/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SmartDeviceLink/SmartDeviceLink.modulemap"; - PRODUCT_NAME = SmartDeviceLink; + MODULEMAP_FILE = "Target Support Files/BiSON/BiSON.modulemap"; + PRODUCT_MODULE_NAME = BiSON; + PRODUCT_NAME = BiSON; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 740AFA1FE4B89EFFA122F5F99CFB9F3A /* Release */ = { + 82EB595907E302F55B40F3206A1C4E06 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DB515CFA0F7F98851438AA02DC1CD74E /* BiSON.xcconfig */; + baseConfigurationReference = 74E2780DEB856E31804FBDDB9114B2F7 /* Pods-MobileWeather.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3748,26 +4260,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/BiSON/BiSON-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/BiSON/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-MobileWeather/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/BiSON/BiSON.modulemap"; - PRODUCT_NAME = BiSON; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-MobileWeather/Pods-MobileWeather.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 932031B4E6CBDA770B7D4B16B19F5523 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 59C17FC3AB0EDF2ECE5D3948830BA9EE /* SmartDeviceLink.xcconfig */; + baseConfigurationReference = A875DFABA35DCF8BD7D48B371863A251 /* SmartDeviceLink.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SmartDeviceLink"; @@ -3781,9 +4295,39 @@ }; name = Debug; }; - AEC068AF46A6C3FC976C68FCC9D843A4 /* Release */ = { + A68CA6B2C6ECF018D6834C146C722BBC /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 59C17FC3AB0EDF2ECE5D3948830BA9EE /* SmartDeviceLink.xcconfig */; + baseConfigurationReference = 52FD4FBAB16A6A7EC06FC2EAC24E3EB5 /* BiSON.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/BiSON/BiSON-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/BiSON/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/BiSON/BiSON.modulemap"; + PRODUCT_MODULE_NAME = BiSON; + PRODUCT_NAME = BiSON; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + EBDA139474D120E88ACA321FE9BC98BF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A875DFABA35DCF8BD7D48B371863A251 /* SmartDeviceLink.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3800,6 +4344,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/SmartDeviceLink/SmartDeviceLink.modulemap"; + PRODUCT_MODULE_NAME = SmartDeviceLink; PRODUCT_NAME = SmartDeviceLink; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -3811,7 +4356,7 @@ }; name = Release; }; - B254DAA6CF0CE39F4A3D11B90A7E059A /* Release */ = { + F4568DEE257655D290C2B9CEAB37C934 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -3821,10 +4366,12 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -3832,6 +4379,7 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -3840,6 +4388,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; @@ -3860,16 +4409,16 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; - BC2E67B55890F6044A1F2D010FD5A466 /* Release */ = { + FA423EC7DFF792381A5D40075F189527 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 143D547302C356B2C6821EDA8FBE34E2 /* Pods-MobileWeather.release.xcconfig */; + baseConfigurationReference = CE55C6A5E5F61F14CD3DBE30F7B822EA /* Pods-MobileWeather.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3889,7 +4438,7 @@ OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_MobileWeather; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -3899,103 +4448,14 @@ }; name = Release; }; - BD8AE91AA0DC3CB09C10B24469A5CE19 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DB515CFA0F7F98851438AA02DC1CD74E /* BiSON.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/BiSON/BiSON-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/BiSON/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/BiSON/BiSON.modulemap"; - PRODUCT_NAME = BiSON; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - E4B68EE12B21C47CB798D9B1ECA6D7A7 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - E4B68EE12B21C47CB798D9B1ECA6D7A7 /* Debug */, - B254DAA6CF0CE39F4A3D11B90A7E059A /* Release */, + 1EE19F5DD95931924296F637BF18BD8F /* Debug */, + F4568DEE257655D290C2B9CEAB37C934 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4003,8 +4463,8 @@ 367D336DB3F8F34ACC64B522B883EA49 /* Build configuration list for PBXNativeTarget "BiSON" */ = { isa = XCConfigurationList; buildConfigurations = ( - BD8AE91AA0DC3CB09C10B24469A5CE19 /* Debug */, - 740AFA1FE4B89EFFA122F5F99CFB9F3A /* Release */, + A68CA6B2C6ECF018D6834C146C722BBC /* Debug */, + 5F7C0B45F40BCFDC5E85A6713DB6CC6D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4012,8 +4472,8 @@ 425C99E18BB0F3FE7820356728F55ADA /* Build configuration list for PBXNativeTarget "Pods-MobileWeather" */ = { isa = XCConfigurationList; buildConfigurations = ( - 45FB6A7C910ABB621B52535A10B4AD30 /* Debug */, - BC2E67B55890F6044A1F2D010FD5A466 /* Release */, + 82EB595907E302F55B40F3206A1C4E06 /* Debug */, + FA423EC7DFF792381A5D40075F189527 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4030,8 +4490,8 @@ BEA9B9B2A7ABEF5E4F8DBC5B1D19D276 /* Build configuration list for PBXNativeTarget "SmartDeviceLink" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5B832B4381DB080B1A6D2CBD100EDE36 /* Debug */, - AEC068AF46A6C3FC976C68FCC9D843A4 /* Release */, + 31A2BC5BDD3E77CC203FBAA11B183683 /* Debug */, + EBDA139474D120E88ACA321FE9BC98BF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/Pods.xcodeproj/xcuserdata/joel.xcuserdatad/xcschemes/Pods-MobileWeather.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/joel.xcuserdatad/xcschemes/Pods-MobileWeather.xcscheme index 5f7130c..dcaf815 100644 --- a/Pods/Pods.xcodeproj/xcuserdata/joel.xcuserdatad/xcschemes/Pods-MobileWeather.xcscheme +++ b/Pods/Pods.xcodeproj/xcuserdata/joel.xcuserdatad/xcschemes/Pods-MobileWeather.xcscheme @@ -1,36 +1,39 @@ + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + BuildableIdentifier = "primary" + BlueprintIdentifier = "26B19BB60F7CAAE61519DDA79A8D437B" + BuildableName = "Pods_MobileWeather.framework" + BlueprintName = "Pods-MobileWeather" + ReferencedContainer = "container:Pods.xcodeproj"> + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + + debugDocumentVersioning = "YES"> diff --git a/Pods/SmartDeviceLink/README.md b/Pods/SmartDeviceLink/README.md index 83780db..bfb1e49 100644 --- a/Pods/SmartDeviceLink/README.md +++ b/Pods/SmartDeviceLink/README.md @@ -3,7 +3,7 @@ [![License](https://img.shields.io/cocoapods/l/SmartDeviceLink-iOS.svg?style=flat)](https://cocoapods.org/pods/SmartDeviceLink-iOS) [![Build Status](https://img.shields.io/travis/smartdevicelink/sdl_ios/master.svg?style=flat)](https://travis-ci.org/smartdevicelink/sdl_ios) [![codecov](https://codecov.io/gh/smartdevicelink/sdl_ios/branch/master/graph/badge.svg)](https://codecov.io/gh/smartdevicelink/sdl_ios) -[![Documentation](https://img.shields.io/cocoapods/metrics/doc-percent/SmartDeviceLink-iOS.svg)](http://cocoadocs.org/docsets/SmartDeviceLink-iOS/) +[![Documentation](docs/badge.svg)](https://smartdevicelink.com/en/guides/iOS/getting-started/installation/) [![CocoaPods Downloads](https://img.shields.io/cocoapods/dt/SmartDeviceLink-iOS.svg?maxAge=172800)](https://cocoapods.org/pods/SmartDeviceLink-iOS) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Slack Status](http://sdlslack.herokuapp.com/badge.svg)](http://slack.smartdevicelink.com) @@ -29,22 +29,20 @@ The mobile library component of SDL is meant to run on the end user’s smart-de ## SDL iOS -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). +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 website](https://www.smartdevicelink.com). See the [changelog](https://github.com/smartdevicelink/sdl_ios/blob/master/CHANGELOG.md) for release notes. This project uses [Semantic Versioning](http://semver.org/). -See the [roadmap](https://github.com/smartdevicelink/sdl_ios/wiki/Roadmap) to see what we have planned for future versions. - ### Installing ##### Cocoapods You can install this library using [Cocoapods](https://cocoapods.org/pods/SmartDeviceLink-iOS). You can get started with Cocoapods by [following their install guide](https://guides.cocoapods.org/using/getting-started.html#getting-started), and learn how to use Cocoapods to install dependencies [by following this guide](https://guides.cocoapods.org/using/using-cocoapods.html). -In your podfile, you want to add `pod 'SmartDeviceLink', '~> 5.2'`. Then run `pod install` inside your terminal. With Cocoapods, we support iOS 8.0+. +In your podfile, you want to add `pod 'SmartDeviceLink', '~> 6.1'`. Then run `pod install` inside your terminal. With Cocoapods, we support iOS 8.0+. ###### Swift -If you are building a Swift app, then add this instead `pod 'SmartDeviceLink/Swift', '~> 5.0'`. Then run `pod install` in your terminal. +If you are building a Swift app, then add this instead `pod 'SmartDeviceLink/Swift', '~> 6.1'`. Then run `pod install` in your terminal. ##### Carthage @@ -79,8 +77,11 @@ If you see a bug, please post an issue on the appropriate repository. Please see ### SDL iOS Getting Started +#### Example Apps +To use the example apps, you can use `pod try SmartDeviceLink`, alternately, you can clone or download the project, but you must then also retrieve the submodules by running `git submodule init` and `git submodule update` in your terminal while in the main directory of the project. + #### Other Installation Requirements -You may want to build the [sdl_core project](https://github.com/smartdevicelink/sdl_core) to be able to see your application connecting if you don't have an iAP enabled head unit to test. +You can connect your application with [manticore](https://smartdevicelink.com/resources/manticore/) while running in TCP debug mode in order to test. For more information, [see the guildes](https://smartdevicelink.com/en/guides/iOS/getting-started/connecting-to-an-infotainment-system/). #### Enabling Background Capabilities iOS 5 introduced the capability for an iOS application to maintain a connection to an external accessory while the application is in the background. This capability must be explicitly enabled for your application. @@ -130,13 +131,6 @@ Your application must support a set of smartdevicelink protocol strings in order ``` -#### Lock Screen Support -If you used CocoaPods to install the SDL SDK, you must complete the following steps to add the default lock screen resources to your project: - -1. Select your application's build target, go to Build Phases, Copy Bundle Resources. -2. Then in the Navigator window of Xcode, go to Target's Support Files, Pods-YourProjectName, and drag and drop the SmartDeviceLink.bundle file into Copy Bundle Resources. -3. After the bundle is dropped into Copy Bundle Resources check "copy items if need" from the popup box and click "Finish." - #### Continue Integrating Go through the [guide documentation](https://smartdevicelink.com/en/guides/iOS/getting-started/integration-basics/) to get started setting up your app to work with SDL! diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableArray+Safe.h b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableArray+Safe.h new file mode 100644 index 0000000..795b186 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableArray+Safe.h @@ -0,0 +1,15 @@ +// +// NSMutableArray+NSMutableArray_Safe.h +// SmartDeviceLink +// +// Created by Joel Fischer on 9/12/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +@interface NSMutableArray (Safe) + +- (void)sdl_safeAddObject:(ObjectType)object; + +@end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableArray+Safe.m b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableArray+Safe.m new file mode 100644 index 0000000..fb6665b --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableArray+Safe.m @@ -0,0 +1,19 @@ +// +// NSMutableArray+NSMutableArray_Safe.m +// SmartDeviceLink +// +// Created by Joel Fischer on 9/12/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "NSMutableArray+Safe.h" + +@implementation NSMutableArray (Safe) + +- (void)sdl_safeAddObject:(id)object { + if (object == nil) { return; } + + [self addObject:object]; +} + +@end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+SafeRemove.h b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+SafeRemove.h index c723713..4c238cd 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+SafeRemove.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+SafeRemove.h @@ -8,30 +8,28 @@ #import -@interface NSMutableDictionary -(SafeRemove) +@interface NSMutableDictionary (SafeRemove) - /** +/** * Safely attempt to remove a key/object pair by no-oping if they don't exist in the Mutable Dictionary instead of throwing an exception * * @param aKey The key to attempt removal of * * @return Whether or not the key/object pair existed to remove. */ - - (BOOL)safeRemoveObjectForKey : (KeyType)aKey; +- (BOOL)safeRemoveObjectForKey : (KeyType)aKey; @end -@interface NSMapTable -(SafeRemove) +@interface NSMapTable (SafeRemove) - /** +/** * Safely attempt to remove a key/object pair by no-oping if they don't exist in the MapTable instead of throwing an exception * * @param aKey The key to attempt removal of * * @return Whether or not the key/object pair existed to remove. */ - - (BOOL)safeRemoveObjectForKey : (KeyType)aKey; +- (BOOL)safeRemoveObjectForKey : (KeyType)aKey; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+Store.h b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+Store.h index e4160bc..baeb46c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+Store.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+Store.h @@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN typedef NSString* SDLName SDL_SWIFT_ENUM; typedef NSString* SDLEnum SDL_SWIFT_ENUM; -@interface NSMutableDictionary (Store) +@interface NSDictionary (Store) - (void)sdl_setObject:(NSObject *)object forName:(SDLName)name; - (nullable id)sdl_objectForName:(SDLName)name; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+Store.m b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+Store.m index cd681bd..777489b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+Store.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/NSMutableDictionary+Store.m @@ -26,7 +26,7 @@ - (nullable id)sdl_objectForName:(SDLName)name { - (nullable id)sdl_objectForName:(SDLName)name ofClass:(Class)classType { NSObject *obj = [self sdl_objectForName:name]; - if (obj == nil || [obj isKindOfClass:classType.class]) { + if (obj == nil || [obj isKindOfClass:classType]) { return obj; } else { return [[classType alloc] initWithDictionary:(NSDictionary *)obj]; @@ -37,12 +37,12 @@ - (NSArray *)sdl_objectsForName:(SDLName)name ofClass:(Class)classType { NSArray *array = [self sdl_objectForName:name]; if ([array isEqual:[NSNull null]]) { return [NSMutableArray array]; - } else if (array.count < 1 || [array.firstObject isMemberOfClass:classType.class]) { + } else if (array.count < 1 || [array.firstObject isMemberOfClass:classType]) { // It's an array of the actual class type, just return return array; } else { // It's an array of dictionaries, make them into their class type - NSMutableArray *newList = [NSMutableArray arrayWithCapacity:[array count]]; + NSMutableArray *newList = [NSMutableArray arrayWithCapacity:array.count]; for (NSDictionary *dict in array) { [newList addObject:[[classType alloc] initWithDictionary:dict]]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractProtocol.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractProtocol.h deleted file mode 100644 index e629e30..0000000 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractProtocol.h +++ /dev/null @@ -1,38 +0,0 @@ -// SDLAbstractProtocol.h -// - -@class SDLAbstractTransport; -@class SDLRPCMessage; -@class SDLRPCRequest; - -#import "SDLProtocolListener.h" -#import "SDLSecurityType.h" -#import "SDLTransportDelegate.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface SDLAbstractProtocol : NSObject - -@property (strong, nonatomic) NSString *debugConsoleGroupName; -@property (nullable, weak, nonatomic) SDLAbstractTransport *transport; -@property (nullable, strong, nonatomic) NSHashTable> *protocolDelegateTable; -@property (nullable, nonatomic, strong) id securityManager; -@property (nonatomic, copy) NSString *appId; - -// Sending -- (void)startServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload; -- (void)startSecureServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload completionHandler:(void (^)(BOOL success, NSError *error))completionHandler; -- (void)endServiceWithType:(SDLServiceType)serviceType; - -- (void)sendRPC:(SDLRPCMessage *)message; -- (BOOL)sendRPC:(SDLRPCMessage *)message encrypted:(BOOL)encryption error:(NSError **)error; - -- (void)sendRawData:(NSData *)data withServiceType:(SDLServiceType)serviceType; -- (void)sendEncryptedRawData:(NSData *)data onService:(SDLServiceType)serviceType; - -// Recieving -- (void)handleBytesFromTransport:(NSData *)receivedData; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractProtocol.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractProtocol.m deleted file mode 100644 index 70b482d..0000000 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractProtocol.m +++ /dev/null @@ -1,77 +0,0 @@ -// SDLAbstractProtocol.m - -#import "SDLAbstractProtocol.h" - -#import "SDLRPCMessage.h" - -NS_ASSUME_NONNULL_BEGIN - -@implementation SDLAbstractProtocol - -- (instancetype)init { - if (self = [super init]) { - _protocolDelegateTable = [NSHashTable weakObjectsHashTable]; - _debugConsoleGroupName = @"default"; - } - return self; -} - -// Implement in subclasses. -- (void)startServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload { - [self doesNotRecognizeSelector:_cmd]; -} - -- (void)startSecureServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload completionHandler:(void (^)(BOOL, NSError *))completionHandler { - [self doesNotRecognizeSelector:_cmd]; -} - -- (void)endServiceWithType:(SDLServiceType)serviceType { - [self doesNotRecognizeSelector:_cmd]; -} - -- (void)sendRPC:(SDLRPCMessage *)message { - [self doesNotRecognizeSelector:_cmd]; -} - -- (BOOL)sendRPC:(SDLRPCMessage *)message encrypted:(BOOL)encryption error:(NSError *__autoreleasing *)error { - [self doesNotRecognizeSelector:_cmd]; - return NO; -} - -- (void)handleBytesFromTransport:(NSData *)receivedData { - [self doesNotRecognizeSelector:_cmd]; -} - -- (void)sendRawData:(NSData *)data withServiceType:(SDLServiceType)serviceType { - [self doesNotRecognizeSelector:_cmd]; -} - -- (void)sendEncryptedRawData:(NSData *)data onService:(SDLServiceType)serviceType { - [self doesNotRecognizeSelector:_cmd]; -} - - -#pragma mark - SDLTransportListener Implementation -- (void)onTransportConnected { - for (id listener in self.protocolDelegateTable.allObjects) { - if ([listener respondsToSelector:@selector(onProtocolOpened)]) { - [listener onProtocolOpened]; - } - } -} - -- (void)onTransportDisconnected { - for (id listener in self.protocolDelegateTable.allObjects) { - if ([listener respondsToSelector:@selector(onProtocolClosed)]) { - [listener onProtocolClosed]; - } - } -} - -- (void)onDataReceived:(NSData *)receivedData { - [self handleBytesFromTransport:receivedData]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractTransport.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractTransport.m deleted file mode 100644 index 4f2657b..0000000 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractTransport.m +++ /dev/null @@ -1,34 +0,0 @@ -// SDLAbstractTransport.m - -#import "SDLAbstractTransport.h" - -NS_ASSUME_NONNULL_BEGIN - -@implementation SDLAbstractTransport - -- (instancetype)init { - if (self = [super init]) { - } - return self; -} - -- (void)connect { - [self doesNotRecognizeSelector:_cmd]; -} - -- (void)disconnect { - [self doesNotRecognizeSelector:_cmd]; -} - -- (void)sendData:(NSData *)dataToSend { - [self doesNotRecognizeSelector:_cmd]; -} - -- (double)retryDelay { - [self doesNotRecognizeSelector:_cmd]; - return 0.0; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommand.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommand.h index f7c494d..8265395 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommand.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommand.h @@ -10,28 +10,20 @@ @class SDLMenuParams; /** - * This class will add a command to the application's Command Menu SDLMenuParams + * This class will add a command to the application's Command Menu * - * A command will be added to the end of the list of elements in - * the Command Menu under the following conditions: - *
  • When a SDLCommand is added with no SDLMenuParams value provided
  • - *
  • When a SDLMenuParams value is provided with a SDLMenuParam.position value - * greater than or equal to the number of menu items currently defined in the - * menu specified by the SDLMenuParam.parentID value
  • + * A command will be added to the end of the list of elements in the Command Menu under the following conditions: + * 1. When a SDLAddCommand is added with no SDLMenuParams value provided. + * 2. When a SDLMenuParams value is provided with a SDLMenuParam.position value greater than or equal to the number of menu items currently defined in the menu specified by the SDLMenuParam.parentID value. * - * The set of choices which the application builds using SDLAddCommand can be a - * mixture of: - *
  • Choices having only VR synonym definitions, but no SDLMenuParams definitions - *
  • - *
  • Choices having only SDLMenuParams definitions, but no VR synonym definitions - *
  • - *
  • Choices having both SDLMenuParams and VR synonym definitions
  • + * The set of choices which the application builds using SDLAddCommand can be a mixture of: + * 1. Choices having only VR synonym definitions, but no SDLMenuParams definitions + * 2. Choices having only SDLMenuParams definitions, but no VR synonym definitions + * 3. Choices having both SDLMenuParams and VR synonym definitions * - * HMILevel needs to be FULL, LIMITED or BACKGROUD - * - * @since SDL 1.0 - * - * @see SDLDeleteCommand SDLAddSubMenu SDLDeleteSubMenu + * HMILevel needs to be FULL, LIMITED or BACKGROUD + * @since SDL 1.0 + * @see SDLDeleteCommand, SDLAddSubMenu, SDLDeleteSubMenu */ NS_ASSUME_NONNULL_BEGIN @@ -39,67 +31,128 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLAddCommand : SDLRPCRequest /** - * Construct a SDLAddCommand with a handler callback when an event occurs. + * Constructs a SDLAddCommand with a handler callback when an event occurs. * - * @param handler A callback that will be called when a button event occurs for the command + * @param handler A callback that is called when a button event occurs for the command. * - * @return An SDLAddCommand object + * @return A SDLAddCommand object */ - (instancetype)initWithHandler:(nullable SDLRPCCommandNotificationHandler)handler; +/** + * Convenience init for creating a voice command menu item. + * + * @discussion This menu item can only be triggered by the VR system and does not show up in the HMI application menu. + * + * @param commandId A unique id for the menu item. + * @param vrCommands One or more voice recognition phrases. If recognized by the VR system, the handler will be called. + * @param handler Called when the VR system recognizes a phrase in `vrCommands` + * @return A SDLAddCommand object + */ - (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray *)vrCommands handler:(nullable SDLRPCCommandNotificationHandler)handler; +/** + * Convenience init for creating a menu item with text. + * + * @param commandId A unique id for the menu item. + * @param vrCommands One or more voice recognition phrases. If recognized by the VR system, the handler will be called. + * @param menuName The text that will appear in the menu. + * @param handler Called when the menu item is selected and/or when the VR system recognizes a phrase in `vrCommands` + * @return A SDLAddCommand object + */ - (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray *)vrCommands menuName:(NSString *)menuName handler:(nullable SDLRPCCommandNotificationHandler)handler; -- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position iconValue:(nullable NSString *)iconValue iconType:(nullable SDLImageType)iconType handler:(nullable SDLRPCCommandNotificationHandler)handler; +/** + * Convenience init for creating a menu item with text and a custom icon. + * + * @warning The icon must be uploaded to Core before being displayed in the menu. + * + * @param commandId A unique id for the menu item. + * @param vrCommands One or more voice recognition phrases. If recognized by the VR system, the handler will be called. + * @param menuName The text that will appear in the menu. + * @param parentId The command id of the parent menu if menu item is in a submenu. If not in a submenu, the parentId is 0. + * @param position The menu item's row number in the menu. + * @param iconValue The unique name used to upload the image to Core. + * @param iconType Whether the image is static or dynamic. + * @param handler Called when the menu item is selected and/or when the VR system recognizes a phrase in `vrCommands` + * @return A SDLAddCommand object + */ +- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position iconValue:(nullable NSString *)iconValue iconType:(nullable SDLImageType)iconType handler:(nullable SDLRPCCommandNotificationHandler)handler __deprecated_msg("Use initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:iconIsTemplate:handler: instead"); + +/** + * Convenience init for creating a menu item with text and a custom icon. + * + * @warning The icon must be uploaded to Core before being displayed in the menu. + * + * @param commandId A unique id for the menu item. + * @param vrCommands One or more voice recognition phrases. If recognized by the VR system, the handler will be called. + * @param menuName The text that will appear in the menu. + * @param parentId The command id of the parent menu if menu item is in a submenu. If not in a submenu, the parentId is 0. + * @param position The menu item's row number in the menu. + * @param iconValue The unique name used to upload the image to Core. + * @param iconType Whether the image is static or dynamic. + * @param iconIsTemplate Whether or not the image is a template that can be (re)colored by the SDL HMI + * @param handler Called when the menu item is selected and/or when the VR system recognizes a phrase in `vrCommands` + * @return A SDLAddCommand object + */ +- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position iconValue:(nullable NSString *)iconValue iconType:(nullable SDLImageType)iconType iconIsTemplate:(BOOL)iconIsTemplate handler:(nullable SDLRPCCommandNotificationHandler)handler; + +/** + * Convenience init for creating a menu item with text and a custom icon. + * + * @warning The icon must be uploaded to Core before being displayed in the menu. + * + * @param commandId A unique id for the menu item. + * @param vrCommands One or more voice recognition phrases. If recognized by the VR system, the handler will be called. + * @param menuName The text that will appear in the menu. + * @param parentId The command id of the parent menu if menu item is in a submenu. If not in a submenu, the parentId is 0. + * @param position The menu item's row number in the menu. + * @param icon A image that appears next to the `menuName` text. + * @param handler Called when the menu item is selected and/or when the VR system recognizes a phrase in `vrCommands` + * @return A SDLAddCommand object + */ +- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position icon:(nullable SDLImage *)icon handler:(nullable SDLRPCCommandNotificationHandler)handler; /** * A handler that will let you know when the button you created is subscribed. * - * @warning This will only work if you use SDLManager. + * @warning This will only work if you use `SDLManager`. */ @property (nullable, copy, nonatomic) SDLRPCCommandNotificationHandler handler; /** - * @abstract A Unique Command ID that identifies the command + * A unique id that identifies the command. * - * @discussion Is returned in an *SDLOnCommand* notification to identify the command selected by the user + * @discussion Is returned in an `SDLOnCommand` notification to identify the command selected by the user * - * Required, Integer, 0 - 2,000,000,000 + * Required, Integer, 0 - 2,000,000,000 */ @property (strong, nonatomic) NSNumber *cmdID; /** - * @abstract a *SDLMenuParams* pointer which will defined the command and how it is added to the Command Menu + * A `SDLMenuParams` pointer which defines the command and how it is added to the command menu. * - * @discussion If provided, this will define the command and how it is added to the - * Command Menu + * @discussion If provided, this will define the command and how it is added to the command menu. If null, commands will not be accessible through the HMI application menu. * - * If null, commands will not be accessible through the HMI application menu - * - * Optional + * Optional */ @property (nullable, strong, nonatomic) SDLMenuParams *menuParams; /** - * @abstract An array of strings to be used as VR synonyms for this command. - * - * @discussion If provided, defines one or more VR phrases the recognition of any of which triggers the *SDLOnCommand* notification with this cmdID + * An array of strings to be used as VR synonyms for this command. * - * If null, commands will not be accessible by voice commands (when the user hits push-to-talk) + * @discussion If provided, defines one or more VR phrases the recognition of any of which triggers the `SDLOnCommand` notification with this cmdID. If null, commands will not be accessible by voice commands (when the user hits push-to-talk). * - * Optional, Array of Strings, Max String length 99 chars, Array size 1 - 100 + * Optional, Array of Strings, Max String length 99 chars, Array size 1 - 100 */ @property (nullable, strong, nonatomic) NSArray *vrCommands; /** - * @abstract Image struct containing a static or dynamic icon + * Image struct containing a static or dynamic icon. * - * @discussion If provided, defines the image to be be shown along with a command - * - * If omitted on supported displays, no (or the default if applicable) icon will be displayed + * @discussion If provided, defines the image to be be shown along with a command. If omitted on supported displays, no (or the default if applicable) icon will be displayed * - * Optional + * Optional */ @property (nullable, strong, nonatomic) SDLImage *cmdIcon; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommand.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommand.m index 28c6021..b90fc2d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommand.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommand.m @@ -64,12 +64,43 @@ - (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position iconValue:(nullable NSString *)iconValue iconType:(nullable SDLImageType)iconType iconIsTemplate:(BOOL)iconIsTemplate handler:(nullable SDLRPCCommandNotificationHandler)handler { + self = [self initWithId:commandId vrCommands:vrCommands menuName:menuName handler:handler]; + if (!self) { + return nil; + } + + self.menuParams.parentID = @(parentId); + self.menuParams.position = @(position); + + if (iconValue != nil && iconType != nil) { + self.cmdIcon = [[SDLImage alloc] initWithName:iconValue ofType:iconType isTemplate:iconIsTemplate]; + } + + return self; +} + +- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position icon:(nullable SDLImage *)icon handler:(nullable SDLRPCCommandNotificationHandler)handler { + self = [self initWithId:commandId vrCommands:vrCommands menuName:menuName handler:handler]; + if (!self) { + return nil; + } + + self.menuParams.parentID = @(parentId); + self.menuParams.position = @(position); + self.cmdIcon = icon; + + return self; +} + +#pragma mark - Getters / Setters + - (void)setCmdID:(NSNumber *)cmdID { [parameters sdl_setObject:cmdID forName:SDLNameCommandId]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommandResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommandResponse.h index 554f59d..29b305f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommandResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddCommandResponse.h @@ -5,9 +5,9 @@ /** - * SDLAddCommandResponse is sent, when SDLAddCommand has been called - * - * Since SmartDeviceLink 1.0 + Response to `SDLAddCommand` + + Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenu.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenu.h index b411a43..bd5537c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenu.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenu.h @@ -3,6 +3,8 @@ #import "SDLRPCRequest.h" +@class SDLImage; + /** * Add a SDLSubMenu to the Command Menu *

    @@ -23,17 +25,20 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName; -- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName position:(UInt8)position; +- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName position:(UInt8)position __deprecated_msg(("Use initWithId:menuName:menuIcon:position: instead")); + +- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName menuIcon:(nullable SDLImage *)icon position:(UInt8)position; /** - * @abstract a Menu ID that identifies a sub menu + * a Menu ID that identifies a sub menu * @discussion This value is used in * SDLAddCommand to which SDLSubMenu is the parent of the command being added *

    */ @property (strong, nonatomic) NSNumber *menuID; + /** - * @abstract a position of menu + * a position of menu * @discussion An NSNumber pointer representing the position within the items * of the top level Command Menu. 0 will insert at the front, 1 * will insert after the first existing element, etc. Position of @@ -50,13 +55,19 @@ NS_ASSUME_NONNULL_BEGIN * the end of the list * */ -@property (nullable, strong, nonatomic) NSNumber *position; +@property (strong, nonatomic, nullable) NSNumber *position; + /** - * @abstract a menuName which is displayed representing this submenu item + * a menuName which is displayed representing this submenu item * @discussion NSString which will be displayed representing this submenu item */ @property (strong, nonatomic) NSString *menuName; +/** + An image that is displayed alongside this submenu item + */ +@property (strong, nonatomic, nullable) SDLImage *menuIcon; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenu.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenu.m index 4f8ef51..2792b65 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenu.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenu.m @@ -3,6 +3,7 @@ #import "SDLAddSubMenu.h" #import "NSMutableDictionary+Store.h" +#import "SDLImage.h" #import "SDLNames.h" NS_ASSUME_NONNULL_BEGIN @@ -15,18 +16,20 @@ - (instancetype)init { return self; } - -- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName position:(UInt8)position { +- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName menuIcon:(nullable SDLImage *)icon position:(UInt8)position { self = [self initWithId:menuId menuName:menuName]; - if (!self) { - return nil; - } + if (!self) { return nil; } self.position = @(position); + self.menuIcon = icon; return self; } +- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName position:(UInt8)position { + return [self initWithId:menuId menuName:menuName menuIcon:nil position:position]; +} + - (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName { self = [self init]; if (!self) { @@ -63,6 +66,14 @@ - (NSString *)menuName { return [parameters sdl_objectForName:SDLNameMenuName]; } +- (void)setMenuIcon:(nullable SDLImage *)menuIcon { + [parameters sdl_setObject:menuIcon forName:SDLNameMenuIcon]; +} + +- (nullable SDLImage *)menuIcon { + return [parameters sdl_objectForName:SDLNameMenuIcon ofClass:[SDLImage class]]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenuResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenuResponse.h index 17305aa..4f7db98 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenuResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAddSubMenuResponse.h @@ -4,8 +4,9 @@ #import "SDLRPCResponse.h" /** - * SDLAddSubMenuResponse is sent, when SDLAddSubMenu has been called - * Since SmartDeviceLink 1.0 + Response to `SDLAddSubMenu` + + Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAirbagStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAirbagStatus.h index ce10945..140b6af 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAirbagStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAirbagStatus.h @@ -7,15 +7,65 @@ NS_ASSUME_NONNULL_BEGIN +/** + A vehicle data status struct for airbags + */ @interface SDLAirbagStatus : SDLRPCStruct +/** + References signal "VedsDrvBag_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus driverAirbagDeployed; + +/** + References signal "VedsDrvSideBag_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus driverSideAirbagDeployed; + +/** + References signal "VedsDrvCrtnBag_D_Ltchd". See VehicleDataEventStatus + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus driverCurtainAirbagDeployed; + +/** + References signal "VedsPasBag_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus passengerAirbagDeployed; + +/** + References signal "VedsPasCrtnBag_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus passengerCurtainAirbagDeployed; + +/** + References signal "VedsKneeDrvBag_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus driverKneeAirbagDeployed; + +/** + References signal "VedsPasSideBag_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus passengerSideAirbagDeployed; + +/** + References signal "VedsKneePasBag_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus passengerKneeAirbagDeployed; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlert.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlert.h index d8f893b..ad97d7e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlert.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlert.h @@ -63,7 +63,7 @@ NS_ASSUME_NONNULL_BEGIN /** - * @abstract The String to be displayed in the first field of the display during the Alert + * The String to be displayed in the first field of the display during the Alert * * @discussion Length is limited to what is indicated in *SDLRegisterAppInterface* response * @@ -76,7 +76,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSString *alertText1; /** - * @abstract The String to be displayed in the second field of the display during the Alert + * The String to be displayed in the second field of the display during the Alert * * @discussion Only permitted if HMI supports a second display line * @@ -91,7 +91,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSString *alertText2; /** - * @abstract the String to be displayed in the third field of the display during the Alert + * the String to be displayed in the third field of the display during the Alert * @discussion Only permitted if HMI supports a third display line * * Length is limited to what is indicated in *SDLRegisterAppInterface* response @@ -105,7 +105,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSString *alertText3; /** - * @abstract An array which, taken together, specify what is to be spoken to the user + * An array which, taken together, specify what is to be spoken to the user * * Optional, Array of SDLTTSChunk, Array length 1 - 100 * @@ -114,7 +114,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSArray *ttsChunks; /** - * @abstract The duration of the displayed portion of the alert, in milliseconds. + * The duration of the displayed portion of the alert, in milliseconds. * * @discussion After this amount of time has passed, the display fields alertText1 and alertText2 will revert to what was displayed in those fields before the alert began. * @@ -127,7 +127,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *duration; /** - * @abstract Whether the alert tone should be played before the TTS (if any) is spoken. + * Whether the alert tone should be played before the TTS (if any) is spoken. * * @discussion If ommitted, no tone is played * @@ -136,7 +136,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *playTone; /** - * @abstract If supported on the given platform, the alert GUI will include some sort of animation indicating that loading of a feature is progressing. e.g. a spinning wheel or hourglass, etc. + * If supported on the given platform, the alert GUI will include some sort of animation indicating that loading of a feature is progressing. e.g. a spinning wheel or hourglass, etc. * * Optional, Boolean * @@ -145,7 +145,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *progressIndicator; /** - * @abstract App defined SoftButtons. + * App defined SoftButtons. * * @discussion If omitted on supported displays, the displayed alert shall not have any SoftButtons * diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertManeuver.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertManeuver.h index b7181c0..afb0e51 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertManeuver.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertManeuver.h @@ -9,6 +9,8 @@ /** + * Shows a SDLShowConstantTBT message with an optional voice command. This message is shown as an overlay over the display's base screen. + * * @since SmartDeviceLink 1.0 */ @@ -19,7 +21,22 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithTTS:(nullable NSString *)ttsText softButtons:(nullable NSArray *)softButtons; - (instancetype)initWithTTSChunks:(nullable NSArray *)ttsChunks softButtons:(nullable NSArray *)softButtons; +/** + * An array of text chunks. + * + * Optional, Array of SDLTTSChunk, Array length 1 - 100 + * + * @see SDLTTSChunk + */ @property (nullable, strong, nonatomic) NSArray *ttsChunks; + +/** + * An arry of soft buttons. If omitted on supported displays, only the system defined "Close" SoftButton shall be displayed. + * + * Optional, Array of SDLSoftButton, Array length 0 - 3 + * + * @see SDLSoftButton + */ @property (nullable, strong, nonatomic) NSArray *softButtons; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertManeuverResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertManeuverResponse.h index d541cde..39a5d53 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertManeuverResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertManeuverResponse.h @@ -4,8 +4,10 @@ #import "SDLRPCResponse.h" -/** SDLAlertManeuverResponse is sent, when SDLAlertManeuver has been called. - * @since SmartDeviceLink 1.0 +/** + Response to SDLAlertManeuver + + @since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertResponse.h index a288377..771d666 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAlertResponse.h @@ -5,8 +5,9 @@ #import "SDLRPCResponse.h" /** - * Sent after SDLAlert has been sent - * @since SDL 1.0 + Response to SDLAlert + + @since SDL 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAmbientLightStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAmbientLightStatus.h index 0a1235a..f4663ec 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAmbientLightStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAmbientLightStatus.h @@ -5,16 +5,48 @@ #import "SDLEnum.h" /** - * Reflects the status of the ambient light sensor + * Reflects the status of the ambient light sensor for headlamps + * * @since SDL 3.0 */ typedef SDLEnum SDLAmbientLightStatus SDL_SWIFT_ENUM; +/** + * Represents a "night" ambient light status + */ extern SDLAmbientLightStatus const SDLAmbientLightStatusNight; + +/** + * Represents a "twilight 1" ambient light status + */ extern SDLAmbientLightStatus const SDLAmbientLightStatusTwilight1; + +/** + * Represents a "twilight 2" ambient light status + */ extern SDLAmbientLightStatus const SDLAmbientLightStatusTwilight2; + +/** + * Represents a "twilight 3" ambient light status + */ extern SDLAmbientLightStatus const SDLAmbientLightStatusTwilight3; + +/** + * Represents a "twilight 4" ambient light status + */ extern SDLAmbientLightStatus const SDLAmbientLightStatusTwilight4; + +/** + * Represents a "day" ambient light status + */ extern SDLAmbientLightStatus const SDLAmbientLightStatusDay; + +/** + * Represents an "unknown" ambient light status + */ extern SDLAmbientLightStatus const SDLAmbientLightStatusUnknown; + +/** + * Represents a "invalid" ambient light status + */ extern SDLAmbientLightStatus const SDLAmbientLightStatusInvalid; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppHMIType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppHMIType.h index 021f324..21ff96e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppHMIType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppHMIType.h @@ -12,57 +12,60 @@ typedef SDLEnum SDLAppHMIType SDL_SWIFT_ENUM; /** - * @abstract The App will have default rights. + * The App will have default rights. */ extern SDLAppHMIType const SDLAppHMITypeDefault; /** - * @abstract Communication type of App + * Communication type of App */ extern SDLAppHMIType const SDLAppHMITypeCommunication; /** - * @abstract App dealing with Media + * App dealing with Media */ extern SDLAppHMIType const SDLAppHMITypeMedia; /** - * @abstract Messaging App + * Messaging App */ extern SDLAppHMIType const SDLAppHMITypeMessaging; /** - * @abstract Navigation App + * Navigation App */ extern SDLAppHMIType const SDLAppHMITypeNavigation; /** - * @abstract Information App + * Information App */ extern SDLAppHMIType const SDLAppHMITypeInformation; /** - * @abstract App dealing with social media + * App dealing with social media */ extern SDLAppHMIType const SDLAppHMITypeSocial; /** - * @abstract App dealing with Mobile Projection applications + * App dealing with Mobile Projection applications */ extern SDLAppHMIType const SDLAppHMITypeProjection; +/** + * App designed for use in the background + */ extern SDLAppHMIType const SDLAppHMITypeBackgroundProcess; /** - * @abstract App only for Testing purposes + * App only for Testing purposes */ extern SDLAppHMIType const SDLAppHMITypeTesting; /** - * @abstract System App + * System App */ extern SDLAppHMIType const SDLAppHMITypeSystem; /** - * @abstract Remote control */ + * Remote control */ extern SDLAppHMIType const SDLAppHMITypeRemoteControl; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppInfo.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppInfo.h index 98a5739..c73064d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppInfo.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppInfo.h @@ -5,12 +5,32 @@ NS_ASSUME_NONNULL_BEGIN +/** + A struct used in register app interface. Contains detailed information about the registered application. + */ @interface SDLAppInfo : SDLRPCStruct + (instancetype)currentAppInfo; +/** + The name displayed for the mobile application on the mobile device (can differ from the app name set in the initial RAI request). + + Required + */ @property (strong, nonatomic) NSString *appDisplayName; + +/** + The AppBundleID of an iOS application or package name of the Android application. This supports App Launch strategies for each platform. + + Required + */ @property (strong, nonatomic) NSString *appBundleID; + +/** + Represents the build version number of this particular mobile app. + + Required + */ @property (strong, nonatomic) NSString *appVersion; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h index 0cdf0f1..79b3f1c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAppInterfaceUnregisteredReason.h @@ -13,52 +13,52 @@ typedef SDLEnum SDLAppInterfaceUnregisteredReason SDL_SWIFT_ENUM; /** - * @abstract Vehicle ignition turned off. + * Vehicle ignition turned off. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonIgnitionOff; /** - * @abstract Bluetooth was turned off, causing termination of a necessary Bluetooth connection. + * Bluetooth was turned off, causing termination of a necessary Bluetooth connection. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonBluetoothOff; /** - * @abstract USB was disconnected, causing termination of a necessary iAP connection. + * USB was disconnected, causing termination of a necessary iAP connection. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonUSBDisconnected; /** - * @abstract Application attempted SmartDeviceLink RPC request while HMILevel = NONE. App must have HMILevel other than NONE to issue RPC requests or get notifications or RPC responses. + * Application attempted SmartDeviceLink RPC request while HMILevel = NONE. App must have HMILevel other than NONE to issue RPC requests or get notifications or RPC responses. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonRequestWhileInNoneHMILevel; /** - * @abstract Either too many -- or too many per unit of time -- requests were made by the application. + * Either too many -- or too many per unit of time -- requests were made by the application. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonTooManyRequests; /** - * @abstract The application has issued requests which cause driver distraction rules to be violated. + * The application has issued requests which cause driver distraction rules to be violated. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonDriverDistractionViolation; /** - * @abstract The user performed a language change on the SDL platform, causing the application to need to be reregistered for the new language. + * The user performed a language change on the SDL platform, causing the application to need to be reregistered for the new language. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonLanguageChange; /** - * @abstract The user performed a MASTER RESET on the SDL platform, causing removal of a necessary Bluetooth pairing. + * The user performed a MASTER RESET on the SDL platform, causing removal of a necessary Bluetooth pairing. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonMasterReset; /** - * @abstract The user restored settings to FACTORY DEFAULTS on the SDL platform. + * The user restored settings to FACTORY DEFAULTS on the SDL platform. */ extern SDLAppInterfaceUnregisteredReason const SDLAppInterfaceUnregisteredReasonFactoryDefaults; /** - * @abstract The app is not being authorized to be connected to SDL. + * The app is not being authorized to be connected to SDL. * * @since SDL 2.0 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLArtwork.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLArtwork.h index 94f6644..4773fec 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLArtwork.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLArtwork.h @@ -20,7 +20,14 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLArtwork : SDLFile /** - * Convenience Helper to create an ephemeral artwork from an image. + * Describes whether or not the image is a template that can be (re)colored by the SDL HMI. To make the artwork a template, set the `UIImage`s rendering mode to `UIImageRenderingModeAlwaysTemplate`. In order for templates to work successfully, the icon must be one solid color with a clear background. The artwork should be created using the PNG image format. + * + * @discussion An image should be templated if it is intended to be used as an icon in a button or menu. + */ +@property (assign, nonatomic, readonly) BOOL isTemplate; + +/** + * Convenience helper to create an ephemeral artwork from an image. * * This is an ephemeral file, it will not be persisted through sessions / ignition cycles. Any files that you do not *know* you will use in future sessions should be created through this method. For example, album / artist artwork should be ephemeral. * @@ -37,7 +44,7 @@ NS_ASSUME_NONNULL_BEGIN + (instancetype)artworkWithImage:(UIImage *)image name:(NSString *)name asImageFormat:(SDLArtworkImageFormat)imageFormat NS_SWIFT_UNAVAILABLE("Use the standard initializer and set persistant to false"); /** - * Convenience Helper to create an ephemeral artwork from an image. A unique name will be assigned to the image. This name is a string representation of the image's data which is created by hashing the data using the MD5 algorithm. + * Convenience helper to create an ephemeral artwork from an image. A unique name will be assigned to the image. This name is a string representation of the image's data which is created by hashing the data using the MD5 algorithm. * * This is an ephemeral file, it will not be persisted through sessions / ignition cycles. Any files that you do not *know* you will use in future sessions should be created through this method. For example, album / artist artwork should be ephemeral. * @@ -53,7 +60,7 @@ NS_ASSUME_NONNULL_BEGIN + (instancetype)artworkWithImage:(UIImage *)image asImageFormat:(SDLArtworkImageFormat)imageFormat NS_SWIFT_UNAVAILABLE("Use the standard initializer and set persistant to false"); /** - * Convenience Helper to create a persistent artwork from an image. + * Convenience helper to create a persistent artwork from an image. * * This is a persistent file, it will be persisted through sessions / ignition cycles. You will only have a limited space for all files, so be sure to only persist files that are required for all or most sessions. For example, menu artwork should be persistent. * @@ -70,7 +77,7 @@ NS_ASSUME_NONNULL_BEGIN + (instancetype)persistentArtworkWithImage:(UIImage *)image name:(NSString *)name asImageFormat:(SDLArtworkImageFormat)imageFormat NS_SWIFT_UNAVAILABLE("Use the standard initializer and set persistant to true"); /** - * Convenience Helper to create a persistent artwork from an image. A unique name will be assigned to the image. This name is a string representation of the image's data which is created by hashing the data using the MD5 algorithm. + * Convenience helper to create a persistent artwork from an image. A unique name will be assigned to the image. This name is a string representation of the image's data which is created by hashing the data using the MD5 algorithm. * * This is a persistent file, it will be persisted through sessions / ignition cycles. You will only have a limited space for all files, so be sure to only persist files that are required for all or most sessions. For example, menu artwork should be persistent. * diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLArtwork.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLArtwork.m index 0623748..d9bf2e5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLArtwork.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLArtwork.m @@ -15,12 +15,18 @@ @interface SDLArtwork () @property (strong, nonatomic) UIImage *image; +@property (assign, nonatomic, readwrite) BOOL isTemplate; @end @implementation SDLArtwork +- (void)setImage:(UIImage *)image { + _image = image; + _isTemplate = (image.renderingMode == UIImageRenderingModeAlwaysTemplate); +} + #pragma mark - Lifecycle + (instancetype)artworkWithImage:(UIImage *)image name:(NSString *)name asImageFormat:(SDLArtworkImageFormat)imageFormat { @@ -43,10 +49,12 @@ + (instancetype)persistentArtworkWithImage:(UIImage *)image asImageFormat:(SDLAr #pragma mark Private Lifecycle - (instancetype)initWithImage:(UIImage *)image name:(NSString *)name persistent:(BOOL)persistent asImageFormat:(SDLArtworkImageFormat)imageFormat { + self.image = image; return [super initWithData:[self.class sdl_dataForUIImage:image imageFormat:imageFormat] name:name fileExtension:[self.class sdl_fileExtensionForImageFormat:imageFormat] persistent:persistent]; } - (instancetype)initWithImage:(UIImage *)image persistent:(BOOL)persistent asImageFormat:(SDLArtworkImageFormat)imageFormat { + self.image = image; NSData *imageData = [self.class sdl_dataForUIImage:image imageFormat:imageFormat]; NSString *imageName = [self.class sdl_md5HashFromNSData:imageData]; return [super initWithData:[self.class sdl_dataForUIImage:image imageFormat:imageFormat] name:(imageName != nil ? imageName : @"") fileExtension:[self.class sdl_fileExtensionForImageFormat:imageFormat] persistent:persistent]; @@ -94,6 +102,8 @@ + (NSString *)sdl_fileExtensionForImageFormat:(SDLArtworkImageFormat)imageFormat /** * Creates a string representation of NSData by hashing the data using the MD5 hash function. This string is not guaranteed to be unique as collisions can occur, however collisions are extremely rare. * + * HAX: A MD5 hash always creates a string with 32 characters (128-bits). Due to some implementations of Core not following the spec, file names that are too long are being rejected. To try to accommodate this setup, hashed file names are being truncated to 16 characters. + * * Sourced from https://stackoverflow.com/questions/2018550/how-do-i-create-an-md5-hash-of-a-string-in-cocoa * * @param data The data to hash @@ -104,13 +114,38 @@ + (NSString *)sdl_md5HashFromNSData:(NSData *)data { unsigned char hash[CC_MD5_DIGEST_LENGTH]; CC_MD5([data bytes], (CC_LONG)[data length], hash); - NSMutableString *formattedHash = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; - for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i += 1) { + NSMutableString *formattedHash = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH]; + // HAX: To shorten the string to 16 characters, the loop has been shortened to 8 fom 16. + for (int i = 0; i < CC_MD5_DIGEST_LENGTH / 2; i += 1) { [formattedHash appendFormat:@"%02x", hash[i]]; } return formattedHash; } +#pragma mark - NSObject overrides + +- (NSUInteger)hash { + return self.name.hash ^ self.data.hash; +} + +- (BOOL)isEqual:(id)object { + if (self == object) { return YES; } + + if (![object isKindOfClass:[SDLArtwork class]]) { return NO; } + + return [self isEqualToArtwork:(SDLArtwork *)object]; +} + +- (BOOL)isEqualToArtwork:(SDLArtwork *)artwork { + if (!artwork) { return NO; } + + BOOL haveEqualNames = [self.name isEqualToString:artwork.name]; + BOOL haveEqualData = [self.data isEqualToData:artwork.data]; + BOOL haveEqualFormats = [self.fileType isEqualToEnum:artwork.fileType]; + + return haveEqualNames && haveEqualData && haveEqualFormats; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousOperation.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousOperation.h index f090aea..ad0697b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousOperation.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousOperation.h @@ -10,6 +10,8 @@ @interface SDLAsynchronousOperation : NSOperation +@property (copy, nonatomic, readonly, nullable) NSError *error; + - (void)finishOperation; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousOperation.m index bb49f1c..49450f4 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousOperation.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousOperation.m @@ -29,11 +29,12 @@ - (void)start { - (void)finishOperation { [self willChangeValueForKey:@"isExecuting"]; - [self willChangeValueForKey:@"isFinished"]; executing = NO; + [self didChangeValueForKey:@"isExecuting"]; + + [self willChangeValueForKey:@"isFinished"]; finished = YES; [self didChangeValueForKey:@"isFinished"]; - [self didChangeValueForKey:@"isExecuting"]; } #pragma mark - Property Overrides diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousRPCRequestOperation.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousRPCRequestOperation.h index b08c700..a24165d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousRPCRequestOperation.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousRPCRequestOperation.h @@ -17,6 +17,8 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLAsynchronousRPCRequestOperation : SDLAsynchronousOperation +@property (copy, nonatomic) NSArray *requests; + - (instancetype)initWithConnectionManager:(id)connectionManager requests:(NSArray *)requests progressHandler:(nullable SDLMultipleAsyncRequestProgressHandler)progressHandler completionHandler:(nullable SDLMultipleRequestCompletionHandler)completionHandler; - (instancetype)initWithConnectionManager:(id)connectionManager request:(SDLRPCRequest *)request responseHandler:(nullable SDLResponseHandler)responseHandler; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousRPCRequestOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousRPCRequestOperation.m index a79b30b..5c67e3e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousRPCRequestOperation.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAsynchronousRPCRequestOperation.m @@ -16,7 +16,6 @@ @interface SDLAsynchronousRPCRequestOperation () -@property (copy, nonatomic) NSArray *requests; @property (weak, nonatomic) id connectionManager; @property (copy, nonatomic, nullable) SDLMultipleAsyncRequestProgressHandler progressHandler; @property (copy, nonatomic, nullable) SDLMultipleRequestCompletionHandler completionHandler; @@ -81,7 +80,7 @@ - (void)sdl_sendRequests { for (SDLRPCRequest *request in self.requests) { if (self.isCancelled) { [self sdl_abortOperationWithRequest:request]; - break; + return; } [self sdl_sendRequest:request]; @@ -120,10 +119,9 @@ - (void)sdl_sendRequest:(SDLRPCRequest *)request { } - (void)sdl_abortOperationWithRequest:(SDLRPCRequest *)request { - if (self.isFinished) { return; } self.requestFailed = YES; - for (NSUInteger i = self.requestsComplete; i <= self.requests.count; i++) { + for (NSUInteger i = self.requestsComplete; i < self.requests.count; i++) { if (self.progressHandler != NULL) { self.progressHandler(self.requests[i], nil, [NSError sdl_lifecycle_multipleRequestsCancelled], self.percentComplete); } @@ -131,6 +129,10 @@ - (void)sdl_abortOperationWithRequest:(SDLRPCRequest *)request { if (self.responseHandler != NULL) { self.responseHandler(request, nil, [NSError sdl_lifecycle_multipleRequestsCancelled]); } + + if (self.completionHandler != NULL) { + self.completionHandler(NO); + } } [self finishOperation]; @@ -160,6 +162,14 @@ - (NSOperationQueuePriority)queuePriority { return NSOperationQueuePriorityNormal; } +- (NSString *)description { + return [NSString stringWithFormat:@"%@, request count=%lu, requests started=%lu, finished=%lu, failed=%@", self.name, (unsigned long)self.requests.count, (unsigned long)self.requestsStarted, (unsigned long)self.requestsComplete, (self.requestFailed ? @"YES": @"NO")]; +} + +- (NSString *)debugDescription { + return [NSString stringWithFormat:@"%@, request count=%lu, requests started=%lu, finished=%lu, failed=%@, requests=%@", self.name, (unsigned long)self.requests.count, (unsigned long)self.requestsStarted, (unsigned long)self.requestsComplete, (self.requestFailed ? @"YES": @"NO"), self.requests]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlCapabilities.h new file mode 100644 index 0000000..b7f29a0 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlCapabilities.h @@ -0,0 +1,76 @@ +// SDLAudioControlCapabilities.h +// + +#import "SDLRPCMessage.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLAudioControlCapabilities : SDLRPCStruct + +/** + Constructs a newly allocated SDLAudioControlCapabilities object with audio control module name (max 100 chars) + + @param name The short friendly name of the audio control module. + @return An instance of the SDLAudioControlCapabilities class. + */ +- (instancetype)initWithModuleName:(NSString *)name; + +/** + Constructs a newly allocated SDLAudioControlCapabilities object with given parameters + + @param name The short friendly name of the audio control module. + @param sourceAvailable Availability of the control of audio source. + @param volumeAvailable Availability of the volume of audio source. + @param equalizerAvailable Availability of the equalizer of audio source. + @param equalizerMaxChannelID Equalizer channel ID (between 1-100). + @return An instance of the SDLAudioControlCapabilities class. + */ +- (instancetype)initWithModuleName:(NSString *)name sourceAvailable:(nullable NSNumber *)sourceAvailable keepContextAvailable:(nullable NSNumber *)keepContextAvailable volumeAvailable:(nullable NSNumber *)volumeAvailable equalizerAvailable:(nullable NSNumber *)equalizerAvailable equalizerMaxChannelID:(nullable NSNumber *)equalizerMaxChannelID; + +/** + * @abstract The short friendly name of the audio control module. + * It should not be used to identify a module by mobile application. + * + * Required, Max String length 100 chars + */ +@property (strong, nonatomic) NSString *moduleName; + +/** + * @abstract Availability of the control of audio source. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *sourceAvailable; + +/** + Availability of the keepContext parameter. + + Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *keepContextAvailable; + +/** + * @abstract Availability of the control of audio volume. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *volumeAvailable; + +/** + * @abstract Availability of the control of Equalizer Settings. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *equalizerAvailable; + +/** + * @abstract Must be included if equalizerAvailable=true, + * and assume all IDs starting from 1 to this value are valid + * + * Optional, Integer 1 - 100 + */ +@property (nullable, strong, nonatomic) NSNumber *equalizerMaxChannelId; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlCapabilities.m new file mode 100644 index 0000000..e0d64d4 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlCapabilities.m @@ -0,0 +1,87 @@ +// SDLAudioControlCapabilities.m +// + +#import "SDLAudioControlCapabilities.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLAudioControlCapabilities + +- (instancetype)initWithModuleName:(NSString *)name { + self = [self init]; + if (!self) { + return nil; + } + self.moduleName = name; + + return self; +} + +- (instancetype)initWithModuleName:(NSString *)name sourceAvailable:(nullable NSNumber *)sourceAvailable keepContextAvailable:(nullable NSNumber *)keepContextAvailable volumeAvailable:(nullable NSNumber *)volumeAvailable equalizerAvailable:(nullable NSNumber *)equalizerAvailable equalizerMaxChannelID:(nullable NSNumber *)equalizerMaxChannelID { + self = [self init]; + if (!self) { + return nil; + } + self.moduleName = name; + self.sourceAvailable = sourceAvailable; + self.keepContextAvailable = keepContextAvailable; + self.volumeAvailable = volumeAvailable; + self.equalizerAvailable = equalizerAvailable; + self.equalizerMaxChannelId = equalizerMaxChannelID; + + return self; +} + +- (void)setModuleName:(NSString *)moduleName { + [store sdl_setObject:moduleName forName:SDLNameModuleName]; +} + +- (NSString *)moduleName { + return [store sdl_objectForName:SDLNameModuleName]; +} + +- (void)setSourceAvailable:(nullable NSNumber *)sourceAvailable { + [store sdl_setObject:sourceAvailable forName:SDLNameSourceAvailable]; +} + +- (nullable NSNumber *)sourceAvailable { + return [store sdl_objectForName:SDLNameSourceAvailable]; +} + +- (void)setKeepContextAvailable:(nullable NSNumber *)keepContextAvailable { + [store sdl_setObject:keepContextAvailable forName:SDLNameKeepContextAvailable]; +} + +- (nullable NSNumber *)keepContextAvailable { + return [store sdl_objectForName:SDLNameKeepContextAvailable]; +} + +- (void)setVolumeAvailable:(nullable NSNumber *)volumeAvailable { + [store sdl_setObject:volumeAvailable forName:SDLNameVolumeAvailable]; +} + +- (nullable NSNumber *)volumeAvailable { + return [store sdl_objectForName:SDLNameVolumeAvailable]; +} + +- (void)setEqualizerAvailable:(nullable NSNumber *)equalizerAvailable { + [store sdl_setObject:equalizerAvailable forName:SDLNameEqualizerAvailable]; +} + +- (nullable NSNumber *)equalizerAvailable { + return [store sdl_objectForName:SDLNameEqualizerAvailable]; +} + +- (void)setEqualizerMaxChannelId:(nullable NSNumber *)equalizerMaxChannelId { + [store sdl_setObject:equalizerMaxChannelId forName:SDLNameEqualizerMaxChannelId]; +} + +- (nullable NSNumber *)equalizerMaxChannelId { + return [store sdl_objectForName:SDLNameEqualizerMaxChannelId]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlData.h new file mode 100644 index 0000000..3261b42 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlData.h @@ -0,0 +1,62 @@ +// SDLAudioControlData.h +// + +#import "SDLRPCMessage.h" +#import "SDLPrimaryAudioSource.h" + +@class SDLEqualizerSettings; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLAudioControlData : SDLRPCStruct + + +/** + Constructs a newly allocated SDLAudioControlData object with given parameters + + @param source current primary audio source of the system. + @param keepContext Whether or not application's context is changed. + @param volume Reflects the volume of audio. + @param equalizerSettings list of supported Equalizer channels. + @return An instance of the SDLAudioControlData class. + */ +- (instancetype)initWithSource:(nullable SDLPrimaryAudioSource)source keepContext:(nullable NSNumber *)keepContext volume:(nullable NSNumber *)volume equalizerSettings:(nullable NSArray *)equalizerSettings; + +/** + * @abstract In a getter response or a notification, + * it is the current primary audio source of the system. + * In a setter request, it is the target audio source that the system shall switch to. + * If the value is MOBILE_APP, the system shall switch to the mobile media app that issues the setter RPC. + * + * Optional, SDLPrimaryAudioSource + */ +@property (nullable, strong, nonatomic) SDLPrimaryAudioSource source; + +/** + * @abstract This parameter shall not be present in any getter responses or notifications. + * This parameter is optional in a setter request. The default value is false. + * If it is true, the system not only changes the audio source but also brings the default + * infotainment system UI associated with the audio source to foreground and set the application to background. + * If it is false, the system changes the audio source, but keeps the current application's context. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *keepContext; + +/** + * @abstract Reflects the volume of audio, from 0%-100%. + * + * Required, Integer 1 - 100 + */ +@property (nullable, strong, nonatomic) NSNumber *volume; + +/** + * @abstract Defines the list of supported channels (band) and their current/desired settings on HMI + * + * Required, Array of SDLEqualizerSettings with minSize:1 maxSize:100 + */ +@property (nullable, strong, nonatomic) NSArray *equalizerSettings; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlData.m new file mode 100644 index 0000000..4a572f0 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioControlData.m @@ -0,0 +1,61 @@ +// SDLAudioControlData.m +// + +#import "SDLAudioControlData.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLAudioControlData + +- (instancetype)initWithSource:(nullable SDLPrimaryAudioSource)source keepContext:(nullable NSNumber *)keepContext volume:(nullable NSNumber *)volume equalizerSettings:(nullable NSArray *)equalizerSettings { + self = [self init]; + if (!self) { + return nil; + } + + self.source = source; + self.keepContext = keepContext; + self.volume = volume; + self.equalizerSettings = equalizerSettings; + + return self; +} + +- (void)setSource:(nullable SDLPrimaryAudioSource)source { + [store sdl_setObject:source forName:SDLNameSource]; + +} + +- (nullable SDLPrimaryAudioSource)source { + return [store sdl_objectForName:SDLNameSource]; +} + +- (void)setKeepContext:(nullable NSNumber *)keepContext { + [store sdl_setObject:keepContext forName:SDLNameKeepContext]; +} + +- (nullable NSNumber *)keepContext { + return [store sdl_objectForName:SDLNameKeepContext]; +} + +- (void)setVolume:(nullable NSNumber *)volume { + [store sdl_setObject:volume forName:SDLNameVolume]; +} + +- (nullable NSNumber *)volume { + return [store sdl_objectForName:SDLNameVolume]; +} + +- (void)setEqualizerSettings:(nullable NSArray *)equalizerSettings { + [store sdl_setObject:equalizerSettings forName:SDLNameEqualizerSettings]; +} + +- (nullable NSArray *)equalizerSettings { + return [store sdl_objectForName:SDLNameEqualizerSettings]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioPassThruCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioPassThruCapabilities.h index f4f14b5..67f2292 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioPassThruCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioPassThruCapabilities.h @@ -10,37 +10,8 @@ /** * Describes different audio type configurations for SDLPerformAudioPassThru, e.g. {8kHz,8-bit,PCM} - *

    Parameter List - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
    NameTypeDescriptionSmartDeviceLink Ver. Available
    samplingRateSDLSamplingRate Describes the sampling rate for AudioPassThru - * SmartDeviceLink 2.0
    bitsPerSampleSDLBitsPerSample Describes the sample depth in bit for AudioPassThru - * SmartDeviceLink 2.0
    audioTypeSDLAudioType Describes the audiotype for AudioPassThru - * SmartDeviceLink 2.0
    - * Since SmartDeviceLink 2.0 + + * Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN @@ -48,18 +19,23 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLAudioPassThruCapabilities : SDLRPCStruct /** - * @abstract The sampling rate for AudioPassThru
    - * + The sampling rate for AudioPassThru + + Required */ @property (strong, nonatomic) SDLSamplingRate samplingRate; + /** - * @abstract The sample depth in bit for AudioPassThru
    - * + The sample depth in bit for AudioPassThru + + Required */ @property (strong, nonatomic) SDLBitsPerSample bitsPerSample; + /** - * @abstract The audiotype for AudioPassThru
    - * + The audiotype for AudioPassThru + + Required */ @property (strong, nonatomic) SDLAudioType audioType; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamManager.h index 1e4eb39..e6608f8 100755 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamManager.h @@ -25,13 +25,36 @@ typedef NS_ENUM(NSInteger, SDLAudioStreamManagerError) { @interface SDLAudioStreamManager : NSObject +/** + The delegate describing when files are done playing or any errors that occur + */ @property (weak, nonatomic) id delegate; +/** + Whether or not we are currently playing audio + */ @property (assign, nonatomic, readonly, getter=isPlaying) BOOL playing; + +/** + The queue of audio files that will be played in sequence + */ @property (copy, nonatomic, readonly) NSArray *queue; +/** + Init should only occur with dependencies. use `initWithManager:` + + @return A failure + */ - (instancetype)init NS_UNAVAILABLE; +/** + Create an audio stream manager with a reference to the parent stream manager. + + @warning For internal use + + @param streamManager The parent stream manager + @return The audio stream manager + */ - (instancetype)initWithManager:(id)streamManager NS_DESIGNATED_INITIALIZER; /** diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamManagerDelegate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamManagerDelegate.h index f1fdb78..acad147 100755 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamManagerDelegate.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamManagerDelegate.h @@ -16,7 +16,23 @@ NS_ASSUME_NONNULL_BEGIN @protocol SDLAudioStreamManagerDelegate @required + +/** + Called when a file from the SDLAudioStreamManager finishes playing + + @param audioManager A reference to the audio stream manager + @param fileURL The URL that finished playing + @param successfully Whether or not it was played successfully + */ - (void)audioStreamManager:(SDLAudioStreamManager *)audioManager fileDidFinishPlaying:(NSURL *)fileURL successfully:(BOOL)successfully; + +/** + Called when a file from the SDLAudioStreamManager could not play + + @param audioManager A reference to the audio stream manager + @param fileURL The URL that failed + @param error The error that occurred + */ - (void)audioStreamManager:(SDLAudioStreamManager *)audioManager errorDidOccurForFile:(NSURL *)fileURL error:(NSError *)error; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingIndicator.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingIndicator.h new file mode 100644 index 0000000..6159000 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingIndicator.h @@ -0,0 +1,36 @@ +// SDLAudioStreamingIndicator.h +// + +#import "SDLEnum.h" + + +/** + * Enumeration listing possible indicators of audio streaming changes + * + * @since SDL 4.6 + */ +typedef SDLEnum SDLAudioStreamingIndicator SDL_SWIFT_ENUM; + +/** + * Default playback indicator. + * By default the playback indicator should be PLAY_PAUSE when: + * - the media app is newly registered on the head unit (after RegisterAppInterface) + * - the media app was closed by the user (App enteres HMI_NONE) + * - the app sends SetMediaClockTimer with audioStreamingIndicator not set to any value + */ +extern SDLAudioStreamingIndicator const SDLAudioStreamingIndicatorPlayPause; + +/** + * Indicates that a button press of the Play/Pause button starts the audio playback. + */ +extern SDLAudioStreamingIndicator const SDLAudioStreamingIndicatorPlay; + +/** + * Indicates that a button press of the Play/Pause button pauses the current audio playback. + */ +extern SDLAudioStreamingIndicator const SDLAudioStreamingIndicatorPause; + +/** + * Indicates that a button press of the Play/Pause button stops the current audio playback. + */ +extern SDLAudioStreamingIndicator const SDLAudioStreamingIndicatorStop; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingIndicator.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingIndicator.m new file mode 100644 index 0000000..5e4a328 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingIndicator.m @@ -0,0 +1,9 @@ +// SDLAudioStreamingIndicator.m +// + +#import "SDLAudioStreamingIndicator.h" + +SDLAudioStreamingIndicator const SDLAudioStreamingIndicatorPlayPause = @"PLAY_PAUSE"; +SDLAudioStreamingIndicator const SDLAudioStreamingIndicatorPlay = @"PLAY"; +SDLAudioStreamingIndicator const SDLAudioStreamingIndicatorPause = @"PAUSE"; +SDLAudioStreamingIndicator const SDLAudioStreamingIndicatorStop = @"STOP"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingState.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingState.h index b786fff..6aa7467 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingState.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioStreamingState.h @@ -12,18 +12,18 @@ typedef SDLEnum SDLAudioStreamingState SDL_SWIFT_ENUM; /** - * @abstract Currently streaming audio, if any, is audible to user. + * Currently streaming audio, if any, is audible to user. */ extern SDLAudioStreamingState const SDLAudioStreamingStateAudible; /** - * @abstract Some kind of audio mixing is taking place. Currently streaming audio, if any, is audible to the user at a lowered volume. + * Some kind of audio mixing is taking place. Currently streaming audio, if any, is audible to the user at a lowered volume. * * @since SDL 2.0 */ extern SDLAudioStreamingState const SDLAudioStreamingStateAttenuated; /** - * @abstract Currently streaming audio, if any, is not audible to user. made via VR session. + * Currently streaming audio, if any, is not audible to user. made via VR session. */ extern SDLAudioStreamingState const SDLAudioStreamingStateNotAudible; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioType.h index e040ffd..283be1e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLAudioType.h @@ -10,7 +10,7 @@ typedef SDLEnum SDLAudioType SDL_SWIFT_ENUM; /** - * @abstract PCM raw audio + * PCM raw audio * * @since SDL 2.0 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLBeltStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLBeltStatus.h index 9b60b9d..4b71c37 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLBeltStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLBeltStatus.h @@ -7,22 +7,114 @@ NS_ASSUME_NONNULL_BEGIN +/** + Vehicle data struct for the seat belt status + */ @interface SDLBeltStatus : SDLRPCStruct +/** + References signal "VedsDrvBelt_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus driverBeltDeployed; + +/** + References signal "VedsPasBelt_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus passengerBeltDeployed; + +/** + References signal "VedsRw1PasBckl_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus passengerBuckleBelted; + +/** + References signal "VedsRw1DrvBckl_D_Ltchd". See VehicleDataEventStatus + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus driverBuckleBelted; + +/** + References signal "VedsRw2lBckl_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus leftRow2BuckleBelted; + +/** + References signal "VedsRw1PasChld_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus passengerChildDetected; + +/** + References signal "VedsRw2rBckl_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus rightRow2BuckleBelted; + +/** + References signal "VedsRw2mBckl_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus middleRow2BuckleBelted; + +/** + References signal "VedsRw3mBckl_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus middleRow3BuckleBelted; + +/** + References signal "VedsRw3lBckl_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus leftRow3BuckleBelted; + +/** + References signal "VedsRw3rBckl_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus rightRow3BuckleBelted; + +/** + References signal "VedsRw2lRib_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus leftRearInflatableBelted; + +/** + References signal "VedsRw2rRib_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus rightRearInflatableBelted; + +/** + References signal "VedsRw1mBelt_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus middleRow1BeltDeployed; + +/** + References signal "VedsRw1mBckl_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus middleRow1BuckleBelted; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLBitsPerSample.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLBitsPerSample.h index 55c99b2..366dab9 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLBitsPerSample.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLBitsPerSample.h @@ -12,11 +12,11 @@ typedef SDLEnum SDLBitsPerSample SDL_SWIFT_ENUM; /** - * @abstract 8 bits per sample + * 8 bits per sample */ extern SDLBitsPerSample const SDLBitsPerSample8Bit; /** - * @abstract 16 bits per sample + * 16 bits per sample */ extern SDLBitsPerSample const SDLBitsPerSample16Bit; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLBodyInformation.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLBodyInformation.h index a0d626b..bed3645 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLBodyInformation.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLBodyInformation.h @@ -16,37 +16,51 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLBodyInformation : SDLRPCStruct /** - * @abstract References signal "PrkBrkActv_B_Actl". + * References signal "PrkBrkActv_B_Actl". + + Required */ @property (strong, nonatomic) NSNumber *parkBrakeActive; /** - * @abstract References signal "Ignition_Switch_Stable". See IgnitionStableStatus. + * References signal "Ignition_Switch_Stable". See IgnitionStableStatus. + + Required */ @property (strong, nonatomic) SDLIgnitionStableStatus ignitionStableStatus; /** - * @abstract References signal "Ignition_status". See IgnitionStatus. + * References signal "Ignition_status". See IgnitionStatus. + + Required */ @property (strong, nonatomic) SDLIgnitionStatus ignitionStatus; /** - * @abstract References signal "DrStatDrv_B_Actl". + * References signal "DrStatDrv_B_Actl". + + Optional */ @property (nullable, strong, nonatomic) NSNumber *driverDoorAjar; /** - * @abstract References signal "DrStatPsngr_B_Actl". + * References signal "DrStatPsngr_B_Actl". + + Optional */ @property (nullable, strong, nonatomic) NSNumber *passengerDoorAjar; /** - * @abstract References signal "DrStatRl_B_Actl". + * References signal "DrStatRl_B_Actl". + + Optional */ @property (nullable, strong, nonatomic) NSNumber *rearLeftDoorAjar; /** - * @abstract References signal "DrStatRr_B_Actl". + * References signal "DrStatRr_B_Actl". + + Optional */ @property (nullable, strong, nonatomic) NSNumber *rearRightDoorAjar; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonCapabilities.h index cc24f84..35600f5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonCapabilities.h @@ -17,26 +17,28 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLButtonCapabilities : SDLRPCStruct /** - * @abstract The name of the SDL HMI button. + * The name of the SDL HMI button. + + Required */ @property (strong, nonatomic) SDLButtonName name; /** - * @abstract A NSNumber value indicates whether the button supports a SHORT press + * A NSNumber value indicates whether the button supports a SHORT press * * Required, Boolean */ @property (strong, nonatomic) NSNumber *shortPressAvailable; /** - * @abstract A NSNumber value indicates whether the button supports a LONG press + * A NSNumber value indicates whether the button supports a LONG press * * Required, Boolean */ @property (strong, nonatomic) NSNumber *longPressAvailable; /** - * @abstract A NSNumber value indicates whether the button supports "button down" and "button up" + * A NSNumber value indicates whether the button supports "button down" and "button up" * * Required, Boolean */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonEventMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonEventMode.h index 72cf5d3..5facb9f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonEventMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonEventMode.h @@ -12,11 +12,11 @@ typedef SDLEnum SDLButtonEventMode SDL_SWIFT_ENUM; /** - * @abstract The button was released + * The button was released */ extern SDLButtonEventMode const SDLButtonEventModeButtonUp; /** - * @abstract The button was depressed + * The button was depressed */ extern SDLButtonEventMode const SDLButtonEventModeButtonDown; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonName.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonName.h index 0956c80..cb767ef 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonName.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonName.h @@ -5,107 +5,104 @@ #import "SDLEnum.h" /** - * Defines logical buttons which, on a given SDL unit, would correspond to - * either physical or soft (touchscreen) buttons. These logical buttons present - * a standard functional abstraction which the developer can rely upon, - * independent of the SDL unit. For example, the developer can rely upon the OK - * button having the same meaning to the user across SDL platforms. - * - * The preset buttons (0-9) can typically be interpreted by the application as - * corresponding to some user-configured choices, though the application is free - * to interpret these button presses as it sees fit. + * Defines logical buttons which, on a given SDL unit, would correspond to either physical or soft (touchscreen) buttons. These logical buttons present a standard functional abstraction which the developer can rely upon, independent of the SDL unit. For example, the developer can rely upon the OK button having the same meaning to the user across SDL platforms. + + * The preset buttons (0-9) can typically be interpreted by the application as corresponding to some user-configured choices, though the application is free to interpret these button presses as it sees fit. * - * The application can discover which buttons a given SDL unit implements by - * interrogating the ButtonCapabilities parameter of the - * RegisterAppInterface response. + * The application can discover which buttons a given SDL unit implements by interrogating the ButtonCapabilities parameter of the RegisterAppInterface response. * * @since SDL 1.0 */ typedef SDLEnum SDLButtonName SDL_SWIFT_ENUM; /** - * @abstract Represents the button usually labeled "OK". A typical use of this button is for the user to press it to make a selection. + * Represents the button usually labeled "OK". A typical use of this button is for the user to press it to make a selection. Prior to SDL Core 5.0 (iOS Proxy v.6.1), Ok was used for both "OK" buttons *AND* PlayPause. In 5.0, PlayPause was introduced to reduce confusion, and you should use the one you intend for your use case (usually PlayPause). Until the next proxy breaking change, however, subscribing to this button name will continue to subscribe you to PlayPause so that your code does not break. That means that if you subscribe to both Ok and PlayPause, you will receive duplicate notifications. */ extern SDLButtonName const SDLButtonNameOk; /** - * @abstract Represents the seek-left button. A typical use of this button is for the user to scroll to the left through menu choices one menu item per press. + * Represents the play/pause button for media apps. Replaces "OK" on sub-5.0 head units, compliments it on 5.0 head units and later. + */ +extern SDLButtonName const SDLButtonNamePlayPause; + +/** + * Represents the seek-left button. A typical use of this button is for the user to scroll to the left through menu choices one menu item per press. */ extern SDLButtonName const SDLButtonNameSeekLeft; /** - * @abstract Represents the seek-right button. A typical use of this button is for the user to scroll to the right through menu choices one menu item per press. + * Represents the seek-right button. A typical use of this button is for the user to scroll to the right through menu choices one menu item per press. */ extern SDLButtonName const SDLButtonNameSeekRight; /** - * @abstract Represents a turn of the tuner knob in the clockwise direction one tick. + * Represents a turn of the tuner knob in the clockwise direction one tick. */ extern SDLButtonName const SDLButtonNameTuneUp; /** - * @abstract Represents a turn of the tuner knob in the counter-clockwise direction one tick. + * Represents a turn of the tuner knob in the counter-clockwise direction one tick. */ extern SDLButtonName const SDLButtonNameTuneDown; /** - * @abstract Represents the preset 0 button. + * Represents the preset 0 button. */ extern SDLButtonName const SDLButtonNamePreset0; /** - * @abstract Represents the preset 1 button. + * Represents the preset 1 button. */ extern SDLButtonName const SDLButtonNamePreset1; /** - * @abstract Represents the preset 2 button. + * Represents the preset 2 button. */ extern SDLButtonName const SDLButtonNamePreset2; /** - * @abstract Represents the preset 3 button. + * Represents the preset 3 button. */ extern SDLButtonName const SDLButtonNamePreset3; /** - * @abstract Represents the preset 4 button. + * Represents the preset 4 button. */ extern SDLButtonName const SDLButtonNamePreset4; /** - * @abstract Represents the preset 5 button. + * Represents the preset 5 button. */ extern SDLButtonName const SDLButtonNamePreset5; /** - * @abstract Represents the preset 6 button. + * Represents the preset 6 button. */ extern SDLButtonName const SDLButtonNamePreset6; /** - * @abstract Represents the preset 7 button. + * Represents the preset 7 button. */ extern SDLButtonName const SDLButtonNamePreset7; /** - * @abstract Represents the preset 8 button. + * Represents the preset 8 button. */ extern SDLButtonName const SDLButtonNamePreset8; /** - * @abstract Represents the preset 9 button. + * Represents the preset 9 button. */ extern SDLButtonName const SDLButtonNamePreset9; /** - * @abstract Represents the Custom button. + * Represents the Custom button. * */ extern SDLButtonName const SDLButtonNameCustomButton; /** - * @abstract Represents the SEARCH button. + * Represents the SEARCH button. * */ extern SDLButtonName const SDLButtonNameSearch; @@ -113,101 +110,101 @@ extern SDLButtonName const SDLButtonNameSearch; #pragma mark - Climate Buttons /** - * @abstract Represents AC max button * + * Represents AC max button * */ extern SDLButtonName const SDLButtonNameACMax; /** - * @abstract Represents AC button * + * Represents AC button * */ extern SDLButtonName const SDLButtonNameAC; /** - * @abstract Represents a Recirculate button + * Represents a Recirculate button */ extern SDLButtonName const SDLButtonNameRecirculate; /** - * @abstract Represents a Fan up button + * Represents a Fan up button */ extern SDLButtonName const SDLButtonNameFanUp; /** - * @abstract Represents a fan down button + * Represents a fan down button */ extern SDLButtonName const SDLButtonNameFanDown; /** - * @abstract Represents a temperature up button + * Represents a temperature up button */ extern SDLButtonName const SDLButtonNameTempUp; /** - * @abstract Represents a temperature down button + * Represents a temperature down button */ extern SDLButtonName const SDLButtonNameTempDown; /** - * @abstract Represents a Defrost max button. + * Represents a Defrost max button. * */ extern SDLButtonName const SDLButtonNameDefrostMax; /** - * @abstract Represents a Defrost button. + * Represents a Defrost button. * */ extern SDLButtonName const SDLButtonNameDefrost; /** - * @abstract Represents a Defrost rear button. + * Represents a Defrost rear button. * */ extern SDLButtonName const SDLButtonNameDefrostRear; /** - * @abstract Represents a Upper Vent button. + * Represents a Upper Vent button. * */ extern SDLButtonName const SDLButtonNameUpperVent; /** - * @abstract Represents a Lower vent button. + * Represents a Lower vent button. * */ extern SDLButtonName const SDLButtonNameLowerVent; #pragma mark - Radio Buttons /** - * @abstract Represents a volume up button. + * Represents a volume up button. */ extern SDLButtonName const SDLButtonNameVolumeUp; /** - * @abstract Represents a volume down button. + * Represents a volume down button. * */ extern SDLButtonName const SDLButtonNameVolumeDown; /** - * @abstract Represents a Eject Button. + * Represents a Eject Button. * */ extern SDLButtonName const SDLButtonNameEject; /** - * @abstract Represents a Source button. + * Represents a Source button. * */ extern SDLButtonName const SDLButtonNameSource; /** - * @abstract Represents a SHUFFLE button. + * Represents a SHUFFLE button. * */ extern SDLButtonName const SDLButtonNameShuffle; /** - * @abstract Represents a Repeat button. + * Represents a Repeat button. */ extern SDLButtonName const SDLButtonNameRepeat; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonName.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonName.m index 8283fa5..fe8e1ac 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonName.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonName.m @@ -5,6 +5,7 @@ #import "SDLButtonName.h" SDLButtonName const SDLButtonNameOk = @"OK"; +SDLButtonName const SDLButtonNamePlayPause = @"PLAY_PAUSE"; SDLButtonName const SDLButtonNameSeekLeft = @"SEEKLEFT"; SDLButtonName const SDLButtonNameSeekRight = @"SEEKRIGHT"; SDLButtonName const SDLButtonNameTuneUp = @"TUNEUP"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonPressMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonPressMode.h index 7fd6084..0272e0e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonPressMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonPressMode.h @@ -12,11 +12,11 @@ typedef SDLEnum SDLButtonPressMode SDL_SWIFT_ENUM; /** - * @abstract A button was released, after it was pressed for a long time. Actual timing is defined by the head unit and may vary. + * A button was released, after it was pressed for a long time. Actual timing is defined by the head unit and may vary. */ extern SDLButtonPressMode const SDLButtonPressModeLong; /** - * @abstract A button was released, after it was pressed for a short time. Actual timing is defined by the head unit and may vary. + * A button was released, after it was pressed for a short time. Actual timing is defined by the head unit and may vary. */ extern SDLButtonPressMode const SDLButtonPressModeShort; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonPressResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonPressResponse.h index 7a717d3..fe23ec0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonPressResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLButtonPressResponse.h @@ -6,6 +6,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLButtonPress + */ @interface SDLButtonPressResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarModeStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarModeStatus.h index 32dab6b..e98ada7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarModeStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarModeStatus.h @@ -4,23 +4,29 @@ #import "SDLEnum.h" -/** Describes the carmode the vehicle is in. - * Since SmartDeviceLink 2.0 +/** + Describes the carmode the vehicle is in. Used in ClusterModeStatus + + * Since SmartDeviceLink 2.0 */ typedef SDLEnum SDLCarModeStatus SDL_SWIFT_ENUM; -/** Provides carmode NORMAL to each module. +/** + Provides carmode NORMAL to each module. */ extern SDLCarModeStatus const SDLCarModeStatusNormal; -/** Provides carmode FACTORY to each module. +/** + Provides carmode FACTORY to each module. */ extern SDLCarModeStatus const SDLCarModeStatusFactory; -/** Provides carmode TRANSPORT to each module. +/** + Provides carmode TRANSPORT to each module. */ extern SDLCarModeStatus const SDLCarModeStatusTransport; -/** Provides carmode CRASH to each module. +/** + Provides carmode CRASH to each module. */ extern SDLCarModeStatus const SDLCarModeStatusCrash; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindow.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindow.h index 076f24b..aaed77b 100755 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindow.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindow.h @@ -8,7 +8,7 @@ #import @class SDLStreamingMediaConfiguration; -@class SDLStreamingMediaLifecycleManager; +@class SDLStreamingVideoLifecycleManager; NS_ASSUME_NONNULL_BEGIN @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN @param configuration The streaming media configuration @return An instance of this class */ -- (instancetype)initWithStreamManager:(SDLStreamingMediaLifecycleManager *)streamManager configuration:(SDLStreamingMediaConfiguration *)configuration; +- (instancetype)initWithStreamManager:(SDLStreamingVideoLifecycleManager *)streamManager configuration:(SDLStreamingMediaConfiguration *)configuration; /** * View Controller that will be streamed. diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindow.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindow.m index 448478f..5e2e025 100755 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindow.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindow.m @@ -19,14 +19,14 @@ #import "SDLError.h" #import "SDLStateMachine.h" #import "SDLStreamingMediaConfiguration.h" -#import "SDLStreamingMediaLifecycleManager.h" +#import "SDLStreamingVideoLifecycleManager.h" #import "SDLStreamingMediaManagerConstants.h" NS_ASSUME_NONNULL_BEGIN @interface SDLCarWindow () -@property (weak, nonatomic, nullable) SDLStreamingMediaLifecycleManager *streamManager; +@property (weak, nonatomic, nullable) SDLStreamingVideoLifecycleManager *streamManager; @property (assign, nonatomic) SDLCarWindowRenderingType renderingType; @property (assign, nonatomic) BOOL drawsAfterScreenUpdates; @@ -41,7 +41,7 @@ @interface SDLCarWindow () @implementation SDLCarWindow -- (instancetype)initWithStreamManager:(SDLStreamingMediaLifecycleManager *)streamManager configuration:(nonnull SDLStreamingMediaConfiguration *)configuration { +- (instancetype)initWithStreamManager:(SDLStreamingVideoLifecycleManager *)streamManager configuration:(nonnull SDLStreamingMediaConfiguration *)configuration { self = [super init]; if (!self) { return nil; } @@ -139,24 +139,26 @@ - (void)sdl_didReceiveVideoStreamStopped:(NSNotification *)notification { #pragma mark - Custom Accessors - (void)setRootViewController:(nullable UIViewController *)rootViewController { - if (rootViewController == nil || !self.isVideoStreamStarted) { - _rootViewController = rootViewController; - return; - } - - if (!self.allowMultipleOrientations - && !(rootViewController.supportedInterfaceOrientations == UIInterfaceOrientationMaskPortrait || - rootViewController.supportedInterfaceOrientations == UIInterfaceOrientationMaskLandscapeLeft || - rootViewController.supportedInterfaceOrientations == UIInterfaceOrientationMaskLandscapeRight)) { - @throw [NSException sdl_carWindowOrientationException]; - } - - if (self.streamManager.screenSize.width != 0) { - rootViewController.view.frame = CGRectMake(0, 0, self.streamManager.screenSize.width, self.streamManager.screenSize.height); - rootViewController.view.bounds = rootViewController.view.frame; - } - - _rootViewController = rootViewController; + dispatch_async(dispatch_get_main_queue(), ^{ + if (rootViewController == nil || !self.isVideoStreamStarted) { + self->_rootViewController = rootViewController; + return; + } + + if (!self.allowMultipleOrientations + && !(rootViewController.supportedInterfaceOrientations == UIInterfaceOrientationMaskPortrait || + rootViewController.supportedInterfaceOrientations == UIInterfaceOrientationMaskLandscapeLeft || + rootViewController.supportedInterfaceOrientations == UIInterfaceOrientationMaskLandscapeRight)) { + @throw [NSException sdl_carWindowOrientationException]; + } + + if (self.streamManager.screenSize.width != 0) { + rootViewController.view.frame = CGRectMake(0, 0, self.streamManager.screenSize.width, self.streamManager.screenSize.height); + rootViewController.view.bounds = rootViewController.view.frame; + } + + self->_rootViewController = rootViewController; + }); } #pragma mark - Private Helpers diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindowViewController.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindowViewController.h index 2dac757..ef46095 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindowViewController.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCarWindowViewController.h @@ -13,6 +13,9 @@ */ @interface SDLCarWindowViewController : UIViewController +/** + The supported interface orientation you wish to use. Defaults to MaskPortrait. + */ @property (nonatomic, assign) UIInterfaceOrientation supportedOrientation; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChangeRegistration.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChangeRegistration.h index 063e246..9f5e2e2 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChangeRegistration.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChangeRegistration.h @@ -24,12 +24,12 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithLanguage:(SDLLanguage)language hmiDisplayLanguage:(SDLLanguage)hmiDisplayLanguage appName:(nullable NSString *)appName ttsName:(nullable NSArray *)ttsName ngnMediaScreenAppName:(nullable NSString *)ngnMediaScreenAppName vrSynonyms:(nullable NSArray *)vrSynonyms; /** - * @abstract The language the app wants to change to + * The language the app wants to change to */ @property (strong, nonatomic) SDLLanguage language; /** - * @abstract HMI display language + * HMI display language */ @property (strong, nonatomic) SDLLanguage hmiDisplayLanguage; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChangeRegistrationResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChangeRegistrationResponse.h index 89c469f..55f733f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChangeRegistrationResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChangeRegistrationResponse.h @@ -5,9 +5,9 @@ #import "SDLRPCResponse.h" /** - * SDLChangeRegistrationResponse is sent, when SDLChangeRegistration has been called - * - * @since SDL 2.0 + Response to SDLChangeRegistrations + + @since SDL 2.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCharacterSet.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCharacterSet.h index 4aaf527..51771fe 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCharacterSet.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCharacterSet.h @@ -5,17 +5,29 @@ #import "SDLEnum.h" /** - * Character sets supported by SDL. + * Character sets supported by SDL. Used to describe text field capabilities. * * @since SDL 1.0 */ typedef SDLEnum SDLCharacterSet SDL_SWIFT_ENUM; +/** + Character Set Type 2 + */ extern SDLCharacterSet const SDLCharacterSetType2; +/** + Character Set Type 5 + */ extern SDLCharacterSet const SDLCharacterSetType5; +/** + Character Set CID1 + */ extern SDLCharacterSet const SDLCharacterSetCID1; +/** + Character Set CID2 + */ extern SDLCharacterSet const SDLCharacterSetCID2; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCheckChoiceVROptionalOperation.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCheckChoiceVROptionalOperation.h new file mode 100644 index 0000000..a7a9f14 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCheckChoiceVROptionalOperation.h @@ -0,0 +1,24 @@ +// +// SDLCheckChoiceVROptionalOperation.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/24/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLAsynchronousOperation.h" + +@protocol SDLConnectionManagerType; + +NS_ASSUME_NONNULL_BEGIN + + +@interface SDLCheckChoiceVROptionalOperation : SDLAsynchronousOperation + +@property (assign, nonatomic, getter=isVROptional) BOOL vrOptional; + +- (instancetype)initWithConnectionManager:(id)connectionManager; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCheckChoiceVROptionalOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCheckChoiceVROptionalOperation.m new file mode 100644 index 0000000..0c1be6f --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCheckChoiceVROptionalOperation.m @@ -0,0 +1,100 @@ +// +// SDLCheckChoiceVROptionalOperation.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/24/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLCheckChoiceVROptionalOperation.h" + +#import "SDLChoice.h" +#import "SDLCreateInteractionChoiceSet.h" +#import "SDLConnectionManagerType.h" +#import "SDLLogMacros.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLCheckChoiceVROptionalOperation() + +@property (weak, nonatomic) id connectionManager; +@property (copy, nonatomic, nullable) NSError *internalError; + +@end + +@implementation SDLCheckChoiceVROptionalOperation + +- (instancetype)initWithConnectionManager:(id)connectionManager { + self = [super init]; + if (!self) { return nil; } + + _connectionManager = connectionManager; + + return self; +} + +- (void)start { + [super start]; + + [self sdl_sendTestChoices]; +} + +- (void)sdl_sendTestChoices { + __weak typeof(self) weakself = self; + [self.connectionManager sendConnectionManagerRequest:[self.class sdl_testCellWithVR:NO] withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (error == nil) { + SDLLogD(@"Connected head unit supports choice cells without voice commands. Cells without voice will be sent without voice from now on (no placeholder voice)."); + + weakself.vrOptional = YES; + weakself.internalError = nil; + [weakself finishOperation]; + return; + } + + // Check for choice sets with VR + [self.connectionManager sendConnectionManagerRequest:[self.class sdl_testCellWithVR:YES] withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (error == nil) { + SDLLogW(@"Connected head unit does not support choice cells without voice commands. Cells without voice will be sent with placeholder voices from now on."); + + weakself.vrOptional = NO; + weakself.internalError = nil; + [weakself finishOperation]; + return; + } + + SDLLogE(@"Connected head unit has rejected all choice cells, choice manager disabled. Error: %@, Response: %@", error, response); + weakself.vrOptional = NO; + weakself.internalError = error; + [weakself finishOperation]; + }]; + }]; +} + ++ (SDLCreateInteractionChoiceSet *)sdl_testCellWithVR:(BOOL)hasVR { + SDLChoice *choice = [[SDLChoice alloc] init]; + choice.choiceID = @0; + choice.menuName = @"Test Cell"; + choice.vrCommands = hasVR ? @[@"Test VR"] : nil; + + SDLCreateInteractionChoiceSet *choiceSet = [[SDLCreateInteractionChoiceSet alloc] initWithId:0 choiceSet:@[choice]]; + + return choiceSet; +} + +#pragma mark - Property Overrides + +- (nullable NSString *)name { + return @"com.sdl.choicesetmanager.checkVROptional"; +} + +- (NSOperationQueuePriority)queuePriority { + return NSOperationQueuePriorityVeryHigh; +} + +- (nullable NSError *)error { + return self.internalError; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoice.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoice.h index d5f5218..9abdb56 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoice.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoice.h @@ -8,100 +8,63 @@ /** * A choice is an option which a user can select either via the menu or via voice recognition (VR) during an application initiated interaction. - *

    Parameter List - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
    NameTypeDescriptionSmartDeviceLink Ver. Available
    choiceIDNSNumber * Application-scoped identifier that uniquely identifies this choice. - *
    Min: 0 - *
    Max: 65535 - *
    SmartDeviceLink 1.0
    menuNameNSString * Text which appears in menu, representing this choice. - *
    Min: 1 - *
    Max: 100 - *
    SmartDeviceLink 1.0
    vrCommandsNSArray *An array of strings to be used as VR synonyms for this choice. If this array is provided, it must have at least one non-empty elementSmartDeviceLink 1.0
    imageSDLImage * Either a static hex icon value or a binary image file name identifier (sent by PutFile).SmartDeviceLink 2.0
    * - * Since SmartDeviceLink 1.0
    + * Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN @interface SDLChoice : SDLRPCStruct -- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(NSArray *)vrCommands; +- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(nullable NSArray *)vrCommands; -- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(NSArray *)vrCommands image:(nullable SDLImage *)image secondaryText:(nullable NSString *)secondaryText secondaryImage:(nullable SDLImage *)secondaryImage tertiaryText:(nullable NSString *)tertiaryText; +- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(nullable NSArray *)vrCommands image:(nullable SDLImage *)image secondaryText:(nullable NSString *)secondaryText secondaryImage:(nullable SDLImage *)secondaryImage tertiaryText:(nullable NSString *)tertiaryText; /** - * @abstract the application-scoped identifier that uniquely identifies this choice + * The application-scoped identifier that uniquely identifies this choice * * Required, Integer 0 - 65535 */ @property (strong, nonatomic) NSNumber *choiceID; /** - * @abstract Text which appears in menu, representing this choice + * Text which appears in menu, representing this choice * * Required, Max string length 500 chars */ @property (strong, nonatomic) NSString *menuName; /** - * @abstract VR synonyms for this choice + * VR synonyms for this choice * - * Required, Array of Strings, Array length 1 - 100, Max String length 99 chars + * Optional, Array of Strings, Array length 1 - 100, Max String length 99 chars + * + * @discussion, VR commands are optional beginning with SDL Core v.5.0. They are required for previous versions. */ -@property (strong, nonatomic) NSArray *vrCommands; +@property (nullable, strong, nonatomic) NSArray *vrCommands; /** - * @abstract The image of the choice + * The image of the choice * * Optional */ @property (nullable, strong, nonatomic) SDLImage *image; /** - * @abstract Optional secondary text to display; e.g. address of POI in a search result entry + * Secondary text to display; e.g. address of POI in a search result entry * * Optional, Max String length 500 chars */ @property (nullable, strong, nonatomic) NSString *secondaryText; /** - * @abstract Optional tertiary text to display; e.g. distance to POI for a search result entry + * Tertiary text to display; e.g. distance to POI for a search result entry * * Optional, Max String length 500 chars */ @property (nullable, strong, nonatomic) NSString *tertiaryText; /** - * @abstract Optional secondary image for choice + * Secondary image for choice * * Optional */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoice.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoice.m index 919ef61..7545ec4 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoice.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoice.m @@ -11,7 +11,7 @@ @implementation SDLChoice -- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(NSArray *)vrCommands image:(nullable SDLImage *)image secondaryText:(nullable NSString *)secondaryText secondaryImage:(nullable SDLImage *)secondaryImage tertiaryText:(nullable NSString *)tertiaryText { +- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(nullable NSArray *)vrCommands image:(nullable SDLImage *)image secondaryText:(nullable NSString *)secondaryText secondaryImage:(nullable SDLImage *)secondaryImage tertiaryText:(nullable NSString *)tertiaryText { self = [self initWithId:choiceId menuName:menuName vrCommands:vrCommands]; if (!self) { return nil; @@ -25,7 +25,7 @@ - (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrComm return self; } -- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(NSArray *)vrCommands { +- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(nullable NSArray *)vrCommands { self = [self init]; if (!self) { return nil; @@ -54,11 +54,11 @@ - (NSString *)menuName { return [store sdl_objectForName:SDLNameMenuName]; } -- (void)setVrCommands:(NSArray *)vrCommands { +- (void)setVrCommands:(nullable NSArray *)vrCommands { [store sdl_setObject:vrCommands forName:SDLNameVRCommands]; } -- (NSArray *)vrCommands { +- (nullable NSArray *)vrCommands { return [store sdl_objectForName:SDLNameVRCommands]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceCell.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceCell.h new file mode 100644 index 0000000..5ca267d --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceCell.h @@ -0,0 +1,87 @@ +// +// SDLChoiceCell.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 Livio. All rights reserved. +// + +#import + +@class SDLArtwork; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLChoiceCell: NSObject + +/** + Maps to Choice.menuName. The primary text of the cell. Duplicates within an `SDLChoiceSet` are not permitted and will result in the `SDLChoiceSet` failing to initialize. + */ +@property (copy, nonatomic, readonly) NSString *text; + +/** + Maps to Choice.secondaryText. Optional secondary text of the cell, if available. Duplicates within an `SDLChoiceSet` are permitted. + */ +@property (copy, nonatomic, readonly, nullable) NSString *secondaryText; + +/** + Maps to Choice.tertiaryText. Optional tertitary text of the cell, if available. Duplicates within an `SDLChoiceSet` are permitted. + */ +@property (copy, nonatomic, readonly, nullable) NSString *tertiaryText; + +/** + Maps to Choice.vrCommands. Optional voice commands the user can speak to activate the cell. If not set and the head unit requires it, this will be set to the number in the list that this item appears. However, this would be a very poor experience for a user if the choice set is presented as a voice only interaction or both interaction mode. Therefore, consider not setting this only when you know the choice set will be presented as a touch only interaction. + */ +@property (copy, nonatomic, readonly, nullable) NSArray *voiceCommands; + +/** + Maps to Choice.image. Optional image for the cell. This will be uploaded before the cell is used when the cell is preloaded or presented for the first time. + */ +@property (strong, nonatomic, readonly, nullable) SDLArtwork *artwork; + +/** + Maps to Choice.secondaryImage. Optional secondary image for the cell. This will be uploaded before the cell is used when the cell is preloaded or presented for the first time. + */ +@property (strong, nonatomic, readonly, nullable) SDLArtwork *secondaryArtwork; + +/** + Initialize the cell with nothing. This is unavailable + + @return A crash, probably + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + Initialize the cell with text and nothing else. + + @param text The primary text of the cell. + @return The cell + */ +- (instancetype)initWithText:(NSString *)text; + +/** + Initialize the cell with text, optional artwork, and optional voice commands + + @param text The primary text of the cell + @param artwork The primary artwork of the cell + @param voiceCommands Strings that can be spoken by the user to activate this cell in a voice or both interaction mode + @return The cell + */ +- (instancetype)initWithText:(NSString *)text artwork:(nullable SDLArtwork *)artwork voiceCommands:(nullable NSArray *)voiceCommands; + +/** + Initialize the cell with all optional items + + @param text The primary text + @param secondaryText The secondary text + @param tertiaryText The tertiary text + @param voiceCommands Strings that can be spoken by the user to activate this cell in a voice or both interaction mode + @param artwork The primary artwork + @param secondaryArtwork The secondary artwork + @return The cell + */ +- (instancetype)initWithText:(NSString *)text secondaryText:(nullable NSString *)secondaryText tertiaryText:(nullable NSString *)tertiaryText voiceCommands:(nullable NSArray *)voiceCommands artwork:(nullable SDLArtwork *)artwork secondaryArtwork:(nullable SDLArtwork *)secondaryArtwork; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceCell.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceCell.m new file mode 100644 index 0000000..05ceb4d --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceCell.m @@ -0,0 +1,92 @@ +// +// SDLChoiceCell.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 Livio. All rights reserved. +// + +#import "SDLChoiceCell.h" + +#import "SDLArtwork.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLChoiceCell() + +@property (assign, nonatomic) UInt16 choiceId; + +@end + +@implementation SDLChoiceCell + +#pragma mark - Object Lifecycle + +- (instancetype)initWithText:(NSString *)text { + return [self initWithText:text secondaryText:nil tertiaryText:nil voiceCommands:nil artwork:nil secondaryArtwork:nil]; +} + +- (instancetype)initWithText:(NSString *)text artwork:(nullable SDLArtwork *)artwork voiceCommands:(nullable NSArray *)voiceCommands { + return [self initWithText:text secondaryText:nil tertiaryText:nil voiceCommands:voiceCommands artwork:artwork secondaryArtwork:nil]; +} + +- (instancetype)initWithText:(NSString *)text secondaryText:(nullable NSString *)secondaryText tertiaryText:(nullable NSString *)tertiaryText voiceCommands:(nullable NSArray *)voiceCommands artwork:(nullable SDLArtwork *)artwork secondaryArtwork:(nullable SDLArtwork *)secondaryArtwork { + self = [super init]; + if (!self) { return nil; } + + _text = text; + _secondaryText = secondaryText; + _tertiaryText = tertiaryText; + _voiceCommands = voiceCommands; + _artwork = artwork; + _secondaryArtwork = secondaryArtwork; + + _choiceId = UINT16_MAX; + + return self; +} + + +#pragma mark - Object Equality + +// Based on preprocessor defines in https://www.mikeash.com/pyblog/friday-qa-2010-06-18-implementing-equality-and-hashing.html It is necessary to rotate each of our properties because a simple bitwise OR will produce equivalent results if, for example: +// Object 1: self.text = "Hi", self.secondaryText = "Hello" +// Object 2: self.text = "Hello", self.secondaryText = "Hi" +// To avoid this, we need to rotate our hashes + +NSUInteger const NSUIntBit = (CHAR_BIT * sizeof(NSUInteger)); +NSUInteger NSUIntRotate(NSUInteger val, NSUInteger howMuch) { + return ((((NSUInteger)val) << howMuch) | (((NSUInteger)val) >> (NSUIntBit - howMuch))); +} + +- (NSUInteger)hash { + return NSUIntRotate(self.text.hash, NSUIntBit / 2) + ^ NSUIntRotate(self.secondaryText.hash, NSUIntBit / 3) + ^ NSUIntRotate(self.tertiaryText.hash, NSUIntBit / 4) + ^ NSUIntRotate(self.artwork.name.hash, NSUIntBit / 5) + ^ NSUIntRotate(self.secondaryArtwork.name.hash, NSUIntBit / 6) + ^ NSUIntRotate(self.voiceCommands.hash, NSUIntBit / 7); +} + +- (BOOL)isEqual:(id)object { + if (self == object) { return YES; } + if (![object isMemberOfClass:[self class]]) { return NO; } + + return [self isEqualToChoice:(SDLChoiceCell *)object]; +} + +- (BOOL)isEqualToChoice:(SDLChoiceCell *)choice { + if (choice == nil) { return NO; } + + return (self.hash == choice.hash); +} + +#pragma mark - Etc. + +- (NSString *)description { + return [NSString stringWithFormat:@"SDLChoiceCell: %u-\"%@ - %@ - %@\", artworkNames: %@ - %@, voice commands: %lu", _choiceId, _text, _secondaryText, _tertiaryText, _artwork.name, _secondaryArtwork.name, (unsigned long)_voiceCommands.count]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSet.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSet.h new file mode 100644 index 0000000..bb411b8 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSet.h @@ -0,0 +1,128 @@ +// +// SDLChoiceSet.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +@protocol SDLChoiceSetDelegate; +@class SDLChoiceCell; +@class SDLTTSChunk; +@class SDLVRHelpItem; + +NS_ASSUME_NONNULL_BEGIN + +typedef NS_ENUM(NSUInteger, SDLChoiceSetLayout) { + SDLChoiceSetLayoutList, + SDLChoiceSetLayoutTiles, +}; + +@interface SDLChoiceSet: NSObject + +/** + Set this to change the default timeout for all choice sets. If a timeout is not set on an individual choice set object (or if it is set to 0.0), then it will use this timeout instead. See `timeout` for more details. If this is not set by you, it will default to 10 seconds. + */ +@property (class, assign, nonatomic) NSTimeInterval defaultTimeout; + +/** + Set this to change the default layout for all choice sets. If a layout is not set on an individual choice set object, then it will use this layout instead. See `layout` for more details. If this is not set by you, it will default to `SDLChoiceSetLayoutList`. + */ +@property (class, assign, nonatomic) SDLChoiceSetLayout defaultLayout; + +/** + Maps to PerformInteraction.initialText. The title of the choice set, and/or the initial text on a keyboard prompt. + */ +@property (copy, nonatomic) NSString *title; + +/** + Maps to PerformInteraction.initialPrompt. The initial prompt spoken to the user at the start of an interaction. + */ +@property (copy, nonatomic, nullable) NSArray *initialPrompt; + +/** + Maps to PerformInteraction.interactionLayout. Whether the presented choices are arranged as a set of tiles or a list. + */ +@property (assign, nonatomic) SDLChoiceSetLayout layout; + +/** + Maps to PerformInteraction.timeout. This applies only to a manual selection (not a voice selection, which has its timeout handled by the system). Defaults to `defaultTimeout`. + */ +@property (assign, nonatomic) NSTimeInterval timeout; + +/** + Maps to PerformInteraction.timeoutPrompt. This text is spoken when a VR interaction times out. If this set is presented in a manual (non-voice) only interaction, this will be ignored. + */ +@property (copy, nonatomic, nullable) NSArray *timeoutPrompt; + +/** + Maps to PerformInteraction.helpPrompt. This is the spoken string when a user speaks "help" when the interaction is occurring. + */ +@property (copy, nonatomic, nullable) NSArray *helpPrompt; + +/** + Maps to PerformInteraction.vrHelp. This is a list of help text presented to the user when they are in a voice recognition interaction from your choice set of options. If this set is presented in a touch only interaction, this will be ignored. + + @note that while SDLVRHelpItem's position will be automatically set based on position in the array, the image will need to uploaded by you before use using SDLFileManager. + */ +@property (copy, nonatomic, nullable) NSArray *helpList; + +/** + The delegate of this choice set, called when the user interacts with it. + */ +@property (weak, nonatomic) id delegate; + +/** + The choices to be displayed to the user within this choice set. These choices could match those already preloaded via `SDLScreenManager preloadChoices:withCompletionHandler:`. + + This is limited to 100 items. If you attempt to set more than 100 items, the set will not have any items (this array will be empty). + */ +@property (copy, nonatomic) NSArray *choices; + +/** + Initialize with a title, delegate, and choices. It will use the default timeout and layout, all other properties (such as prompts) will be `nil`. + + @param title The choice set's title + @param delegate The choice set delegate called after the user has interacted with your choice set + @param choices The choices to be displayed to the user for interaction + @return The choice set + */ +- (instancetype)initWithTitle:(NSString *)title delegate:(id)delegate choices:(NSArray *)choices; + +/** + Initializer with all possible properties. + + @param title The choice set's title + @param delegate The choice set delegate called after the user has interacted with your choice set + @param layout The layout of choice options (Manual/touch only) + @param timeout The timeout of a touch interaction (Manual/touch only) + @param initialPrompt A voice prompt spoken to the user when this set is displayed + @param timeoutPrompt A voice prompt spoken to the user when the set times out (Voice only) + @param helpPrompt A voice prompt spoken to the user when the user asks for "help" + @param helpList A table list of text and images shown to the user during a voice recognition session for this choice set (Voice only) + @param choices The list of choices presented to the user either as a manual/touch interaction or via the user's voice + @return The choice set + */ +- (instancetype)initWithTitle:(NSString *)title delegate:(id)delegate layout:(SDLChoiceSetLayout)layout timeout:(NSTimeInterval)timeout initialPromptString:(nullable NSString *)initialPrompt timeoutPromptString:(nullable NSString *)timeoutPrompt helpPromptString:(nullable NSString *)helpPrompt vrHelpList:(nullable NSArray *)helpList choices:(NSArray *)choices; + +/** + Initializer with all possible properties. + + @param title The choice set's title + @param delegate The choice set delegate called after the user has interacted with your choice set + @param layout The layout of choice options (Manual/touch only) + @param timeout The timeout of a touch interaction (Manual/touch only) + @param initialPrompt A voice prompt spoken to the user when this set is displayed + @param timeoutPrompt A voice prompt spoken to the user when the set times out (Voice only) + @param helpPrompt A voice prompt spoken to the user when the user asks for "help" + @param helpList A table list of text and images shown to the user during a voice recognition session for this choice set (Voice only) + @param choices The list of choices presented to the user either as a manual/touch interaction or via the user's voice + @return The choice set + */ +- (instancetype)initWithTitle:(NSString *)title delegate:(id)delegate layout:(SDLChoiceSetLayout)layout timeout:(NSTimeInterval)timeout initialPrompt:(nullable NSArray *)initialPrompt timeoutPrompt:(nullable NSArray *)timeoutPrompt helpPrompt:(nullable NSArray *)helpPrompt vrHelpList:(nullable NSArray *)helpList choices:(NSArray *)choices; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSet.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSet.m new file mode 100644 index 0000000..62bd974 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSet.m @@ -0,0 +1,134 @@ +// +// SDLChoiceSet.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLChoiceSet.h" + +#import "SDLChoiceCell.h" +#import "SDLLogMacros.h" +#import "SDLTTSChunk.h" +#import "SDLVrHelpItem.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLChoiceSet + +static NSTimeInterval _defaultTimeout = 10.0; +static SDLChoiceSetLayout _defaultLayout = SDLChoiceSetLayoutList; + +- (instancetype)init { + self = [super init]; + if (!self) { return nil; } + + _timeout = self.class.defaultTimeout; + _layout = self.class.defaultLayout; + + return self; +} + +- (instancetype)initWithTitle:(NSString *)title delegate:(id)delegate choices:(NSArray *)choices { + return [self initWithTitle:title delegate:delegate layout:SDLChoiceSet.defaultLayout timeout:SDLChoiceSet.defaultTimeout initialPrompt:nil timeoutPrompt:nil helpPrompt:nil vrHelpList:nil choices:choices]; +} + +- (instancetype)initWithTitle:(NSString *)title delegate:(id)delegate layout:(SDLChoiceSetLayout)layout timeout:(NSTimeInterval)timeout initialPromptString:(nullable NSString *)initialPrompt timeoutPromptString:(nullable NSString *)timeoutPrompt helpPromptString:(nullable NSString *)helpPrompt vrHelpList:(nullable NSArray *)helpList choices:(NSArray *)choices { + NSArray *initialTTS = [SDLTTSChunk textChunksFromString:initialPrompt]; + NSArray *timeoutTTS = [SDLTTSChunk textChunksFromString:timeoutPrompt]; + NSArray *helpTTS = [SDLTTSChunk textChunksFromString:helpPrompt]; + + return [self initWithTitle:title delegate:delegate layout:layout timeout:timeout initialPrompt:initialTTS timeoutPrompt:timeoutTTS helpPrompt:helpTTS vrHelpList:helpList choices:choices]; +} + +- (instancetype)initWithTitle:(NSString *)title delegate:(id)delegate layout:(SDLChoiceSetLayout)layout timeout:(NSTimeInterval)timeout initialPrompt:(nullable NSArray *)initialPrompt timeoutPrompt:(nullable NSArray *)timeoutPrompt helpPrompt:(nullable NSArray *)helpPrompt vrHelpList:(nullable NSArray *)helpList choices:(NSArray *)choices { + self = [self init]; + if (!self) { return nil; } + + if (choices.count == 0 || choices.count > 100) { + SDLLogW(@"Attempted to create a choice set with %lu choices; Only 1 - 100 choices are valid", choices.count); + return nil; + } + + if (timeout < 5 || timeout > 100) { + SDLLogW(@"Attempted to create a choice set with a %f second timeout; Only 5 - 100 seconds is valid", timeout); + return nil; + } + + if (title.length == 0 || title.length > 500) { + SDLLogW(@"Attempted to create a choice set with a %lu length. Only 500 characters are supported", title.length); + return nil; + } + + NSMutableSet *choiceTextSet = [NSMutableSet setWithCapacity:choices.count]; + NSMutableSet *uniqueVoiceCommands = [NSMutableSet set]; + NSUInteger allVoiceCommandsCount = 0; + NSUInteger choiceCellWithVoiceCommandCount = 0; + for (SDLChoiceCell *cell in choices) { + [choiceTextSet addObject:cell.text]; + if (cell.voiceCommands == nil) { continue; } + [uniqueVoiceCommands addObjectsFromArray:cell.voiceCommands]; + choiceCellWithVoiceCommandCount += 1; + allVoiceCommandsCount += cell.voiceCommands.count; + } + if (choiceTextSet.count < choices.count) { + SDLLogE(@"Attempted to create a choice set with duplicate cell text. Cell text must be unique. The choice set will not be set."); + return nil; + } + + // All or none of the choices must have VR commands + if ((choiceCellWithVoiceCommandCount > 0 && choiceCellWithVoiceCommandCount < choices.count)) { + SDLLogE(@"If using voice recognition commands, all of the choice set cells must have unique VR commands. There are %lu cells with unique voice commands and %lu total cells. The choice set will not be set.", (unsigned long)choiceCellWithVoiceCommandCount, (unsigned long)choices.count); + return nil; + } + // All the VR commands must be unique + if (uniqueVoiceCommands.count < allVoiceCommandsCount) { + SDLLogE(@"If using voice recognition commands, all VR commands must be unique. There are %lu unique VR commands and %lu VR commands. The choice set will not be set.", (unsigned long)uniqueVoiceCommands.count, (unsigned long)allVoiceCommandsCount); + return nil; + } + + for (NSUInteger i = 0; i < helpList.count; i++) { + helpList[i].position = @(i + 1); + } + + _title = title; + _delegate = delegate; + _layout = layout; + _timeout = timeout; + _initialPrompt = initialPrompt; + _timeoutPrompt = timeoutPrompt; + _helpPrompt = helpPrompt; + _helpList = helpList; + _choices = choices; + + return self; +} + +#pragma mark - Getters / Setters + ++ (NSTimeInterval)defaultTimeout { + return _defaultTimeout; +} + ++ (void)setDefaultTimeout:(NSTimeInterval)defaultTimeout { + _defaultTimeout = defaultTimeout; +} + ++ (SDLChoiceSetLayout)defaultLayout { + return _defaultLayout; +} + ++ (void)setDefaultLayout:(SDLChoiceSetLayout)defaultLayout { + _defaultLayout = defaultLayout; +} + +#pragma mark - Etc. + +- (NSString *)description { + return [NSString stringWithFormat:@"SDLChoiceSet: \"%@\", layout: %@", _title, (_layout == SDLChoiceSetLayoutList ? @"List" : @"Tiles")]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetDelegate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetDelegate.h new file mode 100644 index 0000000..22c9f9d --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetDelegate.h @@ -0,0 +1,25 @@ +// +// SDLChoiceSetDelegate.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLTriggerSource.h" + +@class SDLChoiceCell; +@class SDLChoiceSet; + +NS_ASSUME_NONNULL_BEGIN + +@protocol SDLChoiceSetDelegate + +- (void)choiceSet:(SDLChoiceSet *)choiceSet didSelectChoice:(SDLChoiceCell *)choice withSource:(SDLTriggerSource)source atRowIndex:(NSUInteger)rowIndex; +- (void)choiceSet:(SDLChoiceSet *)choiceSet didReceiveError:(NSError *)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetManager.h new file mode 100644 index 0000000..1c3c9c3 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetManager.h @@ -0,0 +1,107 @@ +// +// SDLChoiceSetManager.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLInteractionMode.h" + +@class SDLChoiceCell; +@class SDLChoiceSet; +@class SDLFileManager; +@class SDLKeyboardProperties; + +@protocol SDLConnectionManagerType; +@protocol SDLKeyboardDelegate; + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^SDLPreloadChoiceCompletionHandler)(NSError *__nullable error); + +typedef NSString SDLChoiceManagerState; +extern SDLChoiceManagerState *const SDLChoiceManagerStateShutdown; +extern SDLChoiceManagerState *const SDLChoiceManagerStateCheckingVoiceOptional; +extern SDLChoiceManagerState *const SDLChoiceManagerStateReady; +extern SDLChoiceManagerState *const SDLChoiceManagerStateStartupError; + +@interface SDLChoiceSetManager : NSObject + +/** + * The state of the choice set manager. + */ +@property (copy, nonatomic, readonly) NSString *currentState; + +/** + The default keyboard configuration, this can be additionally customized by each SDLKeyboardDelegate. + */ +@property (strong, nonatomic, null_resettable) SDLKeyboardProperties *keyboardConfiguration; + +/** + Cells will be hashed by their text, image names, and VR command text. When assembling an SDLChoiceSet, you can pull objects from here, or recreate them. The preloaded versions will be used so long as their text, image names, and VR commands are the same. + */ +@property (copy, nonatomic, readonly) NSSet *preloadedChoices; + +/** + Initialize the manager with required dependencies + + @param connectionManager The connection manager object for sending RPCs + @param fileManager The file manager object for uploading files + @return The choice set manager + */ +- (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager; + +/** + Start the manager and prepare to manage choice sets + */ +- (void)start; + +/** + Stop the manager and reset all properties + */ +- (void)stop; + +/** + Preload cells to the head unit. This will *greatly* reduce the time taken to present a choice set. Any already matching a choice already on the head unit will be ignored. You *do not* need to wait until the completion handler is called to present a choice set containing choices being loaded. The choice set will wait until the preload completes and then immediately present. + + @param choices The choices to be preloaded. + @param handler The handler to be called when complete. + */ +- (void)preloadChoices:(NSArray *)choices withCompletionHandler:(nullable SDLPreloadChoiceCompletionHandler)handler; + +/** + Delete loaded cells from the head unit. If the cells don't exist on the head unit they will be ignored. + + @param choices The choices to be deleted. These will be matched via a hash of the text, image name(s), and VR commands. + */ +- (void)deleteChoices:(NSArray *)choices; + +/** + Present a choice set on the head unit with a certain interaction mode. You should present in VR only if the user reached this choice set by using their voice, in Manual only if the user used touch to reach this choice set. Use Both if you're lazy...for real though, it's kind of confusing to the user and isn't recommended. + + This presents the choice set as searchable when in a touch interaction. The user, when not in a distracted state, will have a keyboard available for searching this set. The user's input in the keyboard will be available in the SDLKeyboardDelegate. + + If the cells in the set are not already preloaded, they will be preloaded before the presentation occurs; this could take a while depending on the contents of the cells. + + If the cells have voice commands and images attached, this could take upwards of 10 seconds. If there are no cells on the set, this will fail, calling `choiceSet:didReceiveError:` on the choice set delegate. + + @param choiceSet The set to be displayed + @param mode If the set should be presented for the user to interact via voice, touch, or both + @param delegate The keyboard delegate called when the user interacts with the search field of the choice set, if not set, a non-searchable choice set will be used + */ +- (void)presentChoiceSet:(SDLChoiceSet *)choiceSet mode:(SDLInteractionMode)mode withKeyboardDelegate:(nullable id)delegate; + +/** + Present a keyboard-only interface to the user and receive input. The user will be able to input text in the keyboard when in a non-driver distraction situation. + + @param initialText The initial text within the keyboard input field. It will disappear once the user selects the field in order to enter text + @param delegate The keyboard delegate called when the user interacts with the keyboard + */ +- (void)presentKeyboardWithInitialText:(NSString *)initialText delegate:(id)delegate; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetManager.m new file mode 100644 index 0000000..8d1ac4f --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLChoiceSetManager.m @@ -0,0 +1,457 @@ +// +// SDLChoiceSetManager.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLChoiceSetManager.h" + +#import "SDLCheckChoiceVROptionalOperation.h" +#import "SDLChoice.h" +#import "SDLChoiceCell.h" +#import "SDLChoiceSet.h" +#import "SDLChoiceSetDelegate.h" +#import "SDLConnectionManagerType.h" +#import "SDLCreateInteractionChoiceSet.h" +#import "SDLCreateInteractionChoiceSetResponse.h" +#import "SDLDeleteChoicesOperation.h" +#import "SDLDisplayCapabilities.h" +#import "SDLDisplayCapabilities+ShowManagerExtensions.h" +#import "SDLError.h" +#import "SDLFileManager.h" +#import "SDLHMILevel.h" +#import "SDLImage.h" +#import "SDLKeyboardProperties.h" +#import "SDLLogMacros.h" +#import "SDLOnHMIStatus.h" +#import "SDLPerformInteraction.h" +#import "SDLPerformInteractionResponse.h" +#import "SDLPreloadChoicesOperation.h" +#import "SDLPresentChoiceSetOperation.h" +#import "SDLPresentKeyboardOperation.h" +#import "SDLRegisterAppInterfaceResponse.h" +#import "SDLRPCNotificationNotification.h" +#import "SDLRPCResponseNotification.h" +#import "SDLSetDisplayLayoutResponse.h" +#import "SDLStateMachine.h" +#import "SDLSystemContext.h" + +NS_ASSUME_NONNULL_BEGIN + +SDLChoiceManagerState *const SDLChoiceManagerStateShutdown = @"Shutdown"; +SDLChoiceManagerState *const SDLChoiceManagerStateCheckingVoiceOptional = @"CheckingVoiceOptional"; +SDLChoiceManagerState *const SDLChoiceManagerStateReady = @"Ready"; +SDLChoiceManagerState *const SDLChoiceManagerStateStartupError = @"StartupError"; + +typedef NSNumber * SDLChoiceId; + +@interface SDLChoiceCell() + +@property (assign, nonatomic) UInt16 choiceId; + +@end + +@interface SDLChoiceSetManager() + +@property (weak, nonatomic) id connectionManager; +@property (weak, nonatomic) SDLFileManager *fileManager; + +@property (strong, nonatomic, readonly) SDLStateMachine *stateMachine; +@property (strong, nonatomic) NSOperationQueue *transactionQueue; + +@property (copy, nonatomic, nullable) SDLHMILevel currentHMILevel; +@property (copy, nonatomic, nullable) SDLSystemContext currentSystemContext; +@property (strong, nonatomic, nullable) SDLDisplayCapabilities *displayCapabilities; + +@property (strong, nonatomic) NSMutableSet *preloadedMutableChoices; +@property (strong, nonatomic, readonly) NSSet *pendingPreloadChoices; +@property (strong, nonatomic) NSMutableSet *pendingMutablePreloadChoices; +@property (strong, nonatomic, nullable) SDLChoiceSet *pendingPresentationSet; +@property (strong, nonatomic, nullable) SDLAsynchronousOperation *pendingPresentOperation; + +@property (assign, nonatomic) UInt16 nextChoiceId; +@property (assign, nonatomic, getter=isVROptional) BOOL vrOptional; + +@end + +UInt16 const ChoiceCellIdMin = 1; + +@implementation SDLChoiceSetManager + +#pragma mark - Lifecycle + +- (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager { + self = [super init]; + if (!self) { return nil; } + + _connectionManager = connectionManager; + _fileManager = fileManager; + _stateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:SDLChoiceManagerStateShutdown states:[self.class sdl_stateTransitionDictionary]]; + _transactionQueue = [self sdl_newTransactionQueue]; + + _preloadedMutableChoices = [NSMutableSet set]; + _pendingMutablePreloadChoices = [NSMutableSet set]; + + _nextChoiceId = ChoiceCellIdMin; + _vrOptional = YES; + _keyboardConfiguration = [self sdl_defaultKeyboardConfiguration]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_registerResponse:) name:SDLDidReceiveRegisterAppInterfaceResponse object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_displayLayoutResponse:) name:SDLDidReceiveSetDisplayLayoutResponse object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_hmiStatusNotification:) name:SDLDidChangeHMIStatusNotification object:nil]; + + return self; +} + +- (void)start { + if ([self.currentState isEqualToString:SDLChoiceManagerStateShutdown]) { + [self.stateMachine transitionToState:SDLChoiceManagerStateCheckingVoiceOptional]; + } + + // Else, we're already started +} + +- (void)stop { + [self.stateMachine transitionToState:SDLChoiceManagerStateShutdown]; +} + ++ (NSDictionary *)sdl_stateTransitionDictionary { + return @{ + SDLChoiceManagerStateShutdown: @[SDLChoiceManagerStateCheckingVoiceOptional], + SDLChoiceManagerStateCheckingVoiceOptional: @[SDLChoiceManagerStateShutdown, SDLChoiceManagerStateReady, SDLChoiceManagerStateStartupError], + SDLChoiceManagerStateReady: @[SDLChoiceManagerStateShutdown], + SDLChoiceManagerStateStartupError: @[SDLChoiceManagerStateShutdown] + }; +} + +- (NSOperationQueue *)sdl_newTransactionQueue { + NSOperationQueue *queue = [[NSOperationQueue alloc] init]; + queue.name = @"SDLChoiceSetManager Transaction Queue"; + queue.maxConcurrentOperationCount = 1; + queue.qualityOfService = NSQualityOfServiceUserInitiated; + queue.suspended = YES; + + return queue; +} + +#pragma mark - State Management + +- (void)didEnterStateShutdown { + _currentHMILevel = nil; + _currentSystemContext = nil; + _displayCapabilities = nil; + + [self.transactionQueue cancelAllOperations]; + self.transactionQueue = [self sdl_newTransactionQueue]; + _preloadedMutableChoices = [NSMutableSet set]; + _pendingMutablePreloadChoices = [NSMutableSet set]; + _pendingPresentationSet = nil; + + _vrOptional = YES; + _nextChoiceId = ChoiceCellIdMin; +} + +- (void)didEnterStateCheckingVoiceOptional { + // Setup by sending a Choice Set without VR, seeing if there's an error. If there is, send one with VR. This choice set will be used for `presentKeyboard` interactions. + SDLCheckChoiceVROptionalOperation *checkOp = [[SDLCheckChoiceVROptionalOperation alloc] initWithConnectionManager:self.connectionManager]; + + __weak typeof(self) weakself = self; + __weak typeof(checkOp) weakOp = checkOp; + checkOp.completionBlock = ^{ + if ([self.currentState isEqualToString:SDLChoiceManagerStateShutdown]) { + return; + } + + weakself.vrOptional = weakOp.isVROptional; + if (weakOp.error != nil) { + [weakself.stateMachine transitionToState:SDLChoiceManagerStateStartupError]; + } else { + [weakself.stateMachine transitionToState:SDLChoiceManagerStateReady]; + } + }; + + [self.transactionQueue addOperation:checkOp]; +} + +- (void)didEnterStateStartupError { + // TODO +} + +#pragma mark - Choice Management + +#pragma mark Upload / Delete + +- (void)preloadChoices:(NSArray *)choices withCompletionHandler:(nullable SDLPreloadChoiceCompletionHandler)handler { + if (![self.currentState isEqualToString:SDLChoiceManagerStateReady]) { return; } + + NSMutableSet *choicesToUpload = [[self sdl_choicesToBeUploadedWithArray:choices] mutableCopy]; + [choicesToUpload minusSet:self.preloadedMutableChoices]; + [choicesToUpload minusSet:self.pendingMutablePreloadChoices]; + + if (choicesToUpload.count == 0) { + if (handler != nil) { + handler(nil); + } + + return; + } + + [self sdl_updateIdsOnChoices:choicesToUpload]; + + // Add the preload cells to the pending preloads + [self.pendingMutablePreloadChoices unionSet:choicesToUpload]; + + // Upload pending preloads + SDLPreloadChoicesOperation *preloadOp = [[SDLPreloadChoicesOperation alloc] initWithConnectionManager:self.connectionManager fileManager:self.fileManager displayCapabilities:self.displayCapabilities isVROptional:self.isVROptional cellsToPreload:choicesToUpload]; + + __weak typeof(self) weakSelf = self; + __weak typeof(preloadOp) weakPreloadOp = preloadOp; + preloadOp.completionBlock = ^{ + [weakSelf.preloadedMutableChoices unionSet:choicesToUpload]; + [weakSelf.pendingMutablePreloadChoices minusSet:choicesToUpload]; + + if (handler != nil) { + handler(weakPreloadOp.error); + } + }; + [self.transactionQueue addOperation:preloadOp]; +} + +- (void)deleteChoices:(NSArray *)choices { + if (![self.currentState isEqualToString:SDLChoiceManagerStateReady]) { return; } + + // Find cells to be deleted that are already uploaded or are pending upload + NSSet *cellsToBeDeleted = [self sdl_choicesToBeDeletedWithArray:choices]; + NSSet *cellsToBeRemovedFromPending = [self sdl_choicesToBeRemovedFromPendingWithArray:choices]; + + // If choices are deleted that are already uploaded or pending and are used by a pending presentation, cancel it and send an error + NSSet *pendingPresentationChoices = [NSSet setWithArray:self.pendingPresentationSet.choices]; + if ((!self.pendingPresentOperation.isCancelled && !self.pendingPresentOperation.isFinished) + && ([cellsToBeDeleted intersectsSet:pendingPresentationChoices] || [cellsToBeRemovedFromPending intersectsSet:pendingPresentationChoices])) { + [self.pendingPresentOperation cancel]; + if (self.pendingPresentationSet.delegate != nil) { + [self.pendingPresentationSet.delegate choiceSet:self.pendingPresentationSet didReceiveError:[NSError sdl_choiceSetManager_choicesDeletedBeforePresentation:@{@"deletedChoices": choices}]]; + } + + self.pendingPresentationSet = nil; + } + + // Remove the cells from pending and delete choices + [self.pendingMutablePreloadChoices minusSet:cellsToBeRemovedFromPending]; + for (SDLAsynchronousOperation *op in self.transactionQueue.operations) { + if (![op isMemberOfClass:[SDLPreloadChoicesOperation class]]) { continue; } + + SDLPreloadChoicesOperation *preloadOp = (SDLPreloadChoicesOperation *)op; + [preloadOp removeChoicesFromUpload:cellsToBeRemovedFromPending]; + } + + // Find choices to delete + if (cellsToBeDeleted.count == 0) { return; } + + [self sdl_findIdsOnChoices:cellsToBeDeleted]; + SDLDeleteChoicesOperation *deleteOp = [[SDLDeleteChoicesOperation alloc] initWithConnectionManager:self.connectionManager cellsToDelete:cellsToBeDeleted]; + + __weak typeof(self) weakself = self; + __weak typeof(deleteOp) weakOp = deleteOp; + deleteOp.completionBlock = ^{ + if (weakOp.error != nil) { + SDLLogE(@"Failed to delete choices: %@", weakOp.error); + return; + } + + [weakself.preloadedMutableChoices minusSet:cellsToBeDeleted]; + }; + [self.transactionQueue addOperation:deleteOp]; +} + +#pragma mark Present + +- (void)presentChoiceSet:(SDLChoiceSet *)choiceSet mode:(SDLInteractionMode)mode withKeyboardDelegate:(nullable id)delegate { + if (![self.currentState isEqualToString:SDLChoiceManagerStateReady]) { return; } + if (choiceSet == nil) { + SDLLogW(@"Attempted to present a nil choice set, ignoring."); + return; + } + + if (self.pendingPresentationSet != nil) { + [self.pendingPresentOperation cancel]; + } + + self.pendingPresentationSet = choiceSet; + [self preloadChoices:self.pendingPresentationSet.choices withCompletionHandler:nil]; + + [self sdl_findIdsOnChoiceSet:self.pendingPresentationSet]; + + SDLPresentChoiceSetOperation *presentOp = nil; + if (delegate == nil) { + // Non-searchable choice set + presentOp = [[SDLPresentChoiceSetOperation alloc] initWithConnectionManager:self.connectionManager choiceSet:self.pendingPresentationSet mode:mode keyboardProperties:nil keyboardDelegate:nil]; + } else { + // Searchable choice set + presentOp = [[SDLPresentChoiceSetOperation alloc] initWithConnectionManager:self.connectionManager choiceSet:self.pendingPresentationSet mode:mode keyboardProperties:self.keyboardConfiguration keyboardDelegate:delegate]; + } + self.pendingPresentOperation = presentOp; + + __weak typeof(self) weakself = self; + __weak typeof(presentOp) weakOp = presentOp; + self.pendingPresentOperation.completionBlock = ^{ + __strong typeof(weakOp) strongOp = weakOp; + + if (strongOp.error != nil && strongOp.choiceSet.delegate != nil) { + [strongOp.choiceSet.delegate choiceSet:strongOp.choiceSet didReceiveError:strongOp.error]; + } else if (strongOp.selectedCell != nil && strongOp.choiceSet.delegate != nil) { + [strongOp.choiceSet.delegate choiceSet:strongOp.choiceSet didSelectChoice:strongOp.selectedCell withSource:strongOp.selectedTriggerSource atRowIndex:strongOp.selectedCellRow]; + } + + weakself.pendingPresentationSet = nil; + weakself.pendingPresentOperation = nil; + }; + [self.transactionQueue addOperation:presentOp]; +} + +- (void)presentKeyboardWithInitialText:(NSString *)initialText delegate:(id)delegate { + if (![self.currentState isEqualToString:SDLChoiceManagerStateReady]) { return; } + + if (self.pendingPresentationSet != nil) { + [self.pendingPresentOperation cancel]; + self.pendingPresentationSet = nil; + } + + // Present a keyboard with the choice set that we used to test VR's optional state + self.pendingPresentOperation = [[SDLPresentKeyboardOperation alloc] initWithConnectionManager:self.connectionManager keyboardProperties:self.keyboardConfiguration initialText:initialText keyboardDelegate:delegate]; + [self.transactionQueue addOperation:self.pendingPresentOperation]; +} + +#pragma mark - Choice Management Helpers + +- (NSSet *)sdl_choicesToBeUploadedWithArray:(NSArray *)choices { + // Check if any of the choices already exist on the head unit and remove them from being preloaded + NSMutableSet *choicesSet = [NSMutableSet setWithArray:choices]; + [choicesSet minusSet:self.preloadedChoices]; + + return [choicesSet copy]; +} + +- (NSSet *)sdl_choicesToBeDeletedWithArray:(NSArray *)choices { + NSMutableSet *choicesSet = [NSMutableSet setWithArray:choices]; + [choicesSet intersectSet:self.preloadedChoices]; + + return [choicesSet copy]; +} + +- (NSSet *)sdl_choicesToBeRemovedFromPendingWithArray:(NSArray *)choices { + NSMutableSet *choicesSet = [NSMutableSet setWithArray:choices]; + [choicesSet intersectSet:self.pendingPreloadChoices]; + + return [choicesSet copy]; +} + +- (void)sdl_updateIdsOnChoices:(NSSet *)choices { + for (SDLChoiceCell *cell in choices) { + cell.choiceId = self.nextChoiceId; + self.nextChoiceId++; + } +} + +- (void)sdl_findIdsOnChoiceSet:(SDLChoiceSet *)choiceSet { + return [self sdl_findIdsOnChoices:[NSSet setWithArray:choiceSet.choices]]; +} + +- (void)sdl_findIdsOnChoices:(NSSet *)choices { + for (SDLChoiceCell *cell in choices) { + SDLChoiceCell *uploadCell = [self.pendingPreloadChoices member:cell] ?: [self.preloadedChoices member:cell]; + if (uploadCell != nil) { + cell.choiceId = uploadCell.choiceId; + } + } +} + +#pragma mark - Setters + +- (void)setKeyboardConfiguration:(nullable SDLKeyboardProperties *)keyboardConfiguration { + if (keyboardConfiguration == nil) { + _keyboardConfiguration = [self sdl_defaultKeyboardConfiguration]; + } else { + _keyboardConfiguration = [[SDLKeyboardProperties alloc] initWithLanguage:keyboardConfiguration.language layout:keyboardConfiguration.keyboardLayout keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:keyboardConfiguration.limitedCharacterList autoCompleteText:keyboardConfiguration.autoCompleteText]; + + if (keyboardConfiguration.keypressMode != SDLKeypressModeResendCurrentEntry) { + SDLLogW(@"Attempted to set a keyboard configuration with an invalid keypress mode; only .resentCurrentEntry is valid. This value will be ignored, the rest of the properties will be set."); + } + } +} + +- (SDLKeyboardProperties *)sdl_defaultKeyboardConfiguration { + return [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageEnUs layout:SDLKeyboardLayoutQWERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteText:nil]; +} + +#pragma mark - Getters + +- (NSSet *)preloadedChoices { + return [_preloadedMutableChoices copy]; +} + +- (NSSet *)pendingPreloadChoices { + return [_pendingMutablePreloadChoices copy]; +} + +- (NSString *)currentState { + return self.stateMachine.currentState; +} + +#pragma mark - RPC Responses / Notifications + +- (void)sdl_registerResponse:(SDLRPCResponseNotification *)notification { + SDLRegisterAppInterfaceResponse *response = (SDLRegisterAppInterfaceResponse *)notification.response; + + if (!response.success.boolValue) { return; } + if (response.displayCapabilities == nil) { + SDLLogE(@"RegisterAppInterface succeeded but didn't send a display capabilities. A lot of things will probably break."); + return; + } + + self.displayCapabilities = response.displayCapabilities; +} + +- (void)sdl_displayLayoutResponse:(SDLRPCResponseNotification *)notification { + SDLSetDisplayLayoutResponse *response = (SDLSetDisplayLayoutResponse *)notification.response; + + if (!response.success.boolValue) { return; } + if (response.displayCapabilities == nil) { + SDLLogE(@"SetDisplayLayout succeeded but didn't send a display capabilities. A lot of things will probably break."); + return; + } + + self.displayCapabilities = response.displayCapabilities; +} + +- (void)sdl_hmiStatusNotification:(SDLRPCNotificationNotification *)notification { + // We can only present a choice set if we're in FULL + SDLOnHMIStatus *hmiStatus = (SDLOnHMIStatus *)notification.notification; + SDLHMILevel oldHMILevel = self.currentHMILevel; + self.currentHMILevel = hmiStatus.hmiLevel; + + if ([self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) { + self.transactionQueue.suspended = YES; + } + + if ([oldHMILevel isEqualToEnum:SDLHMILevelNone] && ![self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) { + self.transactionQueue.suspended = NO; + } + + // We need to check for this to make sure we can currently present the dialog. If the current context is HMI_OBSCURED or ALERT, we have to wait for MAIN to present + self.currentSystemContext = hmiStatus.systemContext; + + if ([self.currentSystemContext isEqualToEnum:SDLSystemContextHMIObscured] || [self.currentSystemContext isEqualToEnum:SDLSystemContextAlert]) { + self.transactionQueue.suspended = YES; + } + + if ([self.currentSystemContext isEqualToEnum:SDLSystemContextMain] && ![self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) { + self.transactionQueue.suspended = NO; + } +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlCapabilities.h index 4648205..8608279 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlCapabilities.h @@ -13,18 +13,22 @@ NS_ASSUME_NONNULL_BEGIN */ @interface SDLClimateControlCapabilities : SDLRPCStruct -- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable; +- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable __deprecated_msg("Use initWithModuleName:fanSpeedAvailable:desiredTemperatureAvailable:acEnableAvailable:acMaxEnableAvailable:circulateAirAvailable:autoModeEnableAvailable: dualModeEnableAvailable:defrostZoneAvailable:ventilationModeAvailable: heatedSteeringWheelAvailable:heatedWindshieldAvailable: heatedRearWindowAvailable:heatedMirrorsAvailable: instead"); + +- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable heatedSteeringWheelAvailable:(BOOL)heatedSteeringWheelAvailable heatedWindshieldAvailable:(BOOL)heatedWindshieldAvailable heatedRearWindowAvailable:(BOOL)heatedRearWindowAvailable heatedMirrorsAvailable:(BOOL)heatedMirrorsAvailable; /** - * @abstract The short friendly name of the climate control module. + * The short friendly name of the climate control module. * It should not be used to identify a module by mobile application. * * Max string length 100 chars + + Required */ @property (strong, nonatomic) NSString *moduleName; /** - * @abstract Availability of the control of fan speed. + * Availability of the control of fan speed. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -32,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *fanSpeedAvailable; /** - * @abstract Availability of the control of desired temperature. + * Availability of the control of desired temperature. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -40,7 +44,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *desiredTemperatureAvailable; /** - * @abstract Availability of the control of turn on/off AC. + * Availability of the control of turn on/off AC. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -48,7 +52,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *acEnableAvailable; /** - * @abstract Availability of the control of enable/disable air conditioning is ON on the maximum level. + * Availability of the control of enable/disable air conditioning is ON on the maximum level. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -56,7 +60,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *acMaxEnableAvailable; /** - * @abstract Availability of the control of enable/disable circulate Air mode. + * Availability of the control of enable/disable circulate Air mode. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -64,7 +68,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *circulateAirEnableAvailable; /** - * @abstract Availability of the control of enable/disable auto mode. + * Availability of the control of enable/disable auto mode. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -72,7 +76,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *autoModeEnableAvailable; /** - * @abstract Availability of the control of enable/disable dual mode. + * Availability of the control of enable/disable dual mode. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -80,7 +84,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *dualModeEnableAvailable; /** - * @abstract Availability of the control of defrost zones. + * Availability of the control of defrost zones. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -88,14 +92,14 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *defrostZoneAvailable; /** - * @abstract A set of all defrost zones that are controllable. + * A set of all defrost zones that are controllable. * * Optional, NSArray of type SDLDefrostZone minsize="1" maxsize="100" */ @property (nullable, strong, nonatomic) NSArray *defrostZone; /** - * @abstract Availability of the control of air ventilation mode. + * Availability of the control of air ventilation mode. * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -103,13 +107,45 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *ventilationModeAvailable; /** - * @abstract A set of all ventilation modes that are controllable. + * A set of all ventilation modes that are controllable. * True: Available, False: Not Available, Not present: Not Available. * * Optional, NSArray of type SDLVentilationMode minsize="1" maxsize="100" */ @property (nullable, strong, nonatomic) NSArray *ventilationMode; +/** + * @abstract Availability of the control (enable/disable) of heated Steering Wheel. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *heatedSteeringWheelAvailable; + +/** + * @abstract Availability of the control (enable/disable) of heated Windshield. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *heatedWindshieldAvailable; + +/** + * @abstract Availability of the control (enable/disable) of heated Rear Window. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *heatedRearWindowAvailable; + +/** + * @abstract Availability of the control (enable/disable) of heated Mirrors. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *heatedMirrorsAvailable; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlCapabilities.m index 9ea4143..429331a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlCapabilities.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlCapabilities.m @@ -11,6 +11,11 @@ @implementation SDLClimateControlCapabilities - (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable { + + return [self initWithModuleName:moduleName fanSpeedAvailable:fanSpeedAvailable desiredTemperatureAvailable:desiredTemperatureAvailable acEnableAvailable:acEnableAvailable acMaxEnableAvailable:acMaxEnableAvailable circulateAirAvailable:circulateAirEnableAvailable autoModeEnableAvailable:autoModeEnableAvailable dualModeEnableAvailable:dualModeEnableAvailable defrostZoneAvailable:defrostZoneAvailable ventilationModeAvailable:ventilationModeAvailable heatedSteeringWheelAvailable:NO heatedWindshieldAvailable:NO heatedRearWindowAvailable:NO heatedMirrorsAvailable:NO]; +} + +- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable heatedSteeringWheelAvailable:(BOOL)steeringWheelAvailable heatedWindshieldAvailable:(BOOL)windshieldAvailable heatedRearWindowAvailable:(BOOL)rearWindowAvailable heatedMirrorsAvailable:(BOOL)mirrorsAvailable { self = [self init]; if (!self) { return nil; @@ -26,6 +31,10 @@ - (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOO self.dualModeEnableAvailable = @(dualModeEnableAvailable); self.defrostZoneAvailable = @(defrostZoneAvailable); self.ventilationModeAvailable = @(ventilationModeAvailable); + self.heatedSteeringWheelAvailable = @(steeringWheelAvailable); + self.heatedWindshieldAvailable = @(windshieldAvailable); + self.heatedRearWindowAvailable = @(rearWindowAvailable); + self.heatedMirrorsAvailable = @(mirrorsAvailable); return self; } @@ -125,6 +134,38 @@ - (void)setVentilationMode:(nullable NSArray *)ventilationMo return [store sdl_objectForName:SDLNameVentilationMode]; } +- (void)setHeatedSteeringWheelAvailable:(nullable NSNumber *)heatedSteeringWheelAvailable { + [store sdl_setObject:heatedSteeringWheelAvailable forName:SDLNameHeatedSteeringWheelAvailable]; +} + +- (nullable NSNumber *)heatedSteeringWheelAvailable { + return [store sdl_objectForName:SDLNameHeatedSteeringWheelAvailable]; +} + +- (void)setHeatedWindshieldAvailable:(nullable NSNumber *)heatedWindshieldAvailable { + [store sdl_setObject:heatedWindshieldAvailable forName:SDLNameHeatedWindshieldAvailable]; +} + +- (nullable NSNumber *)heatedWindshieldAvailable { + return [store sdl_objectForName:SDLNameHeatedWindshieldAvailable]; +} + +- (void)setHeatedRearWindowAvailable:(nullable NSNumber *)heatedRearWindowAvailable { + [store sdl_setObject:heatedRearWindowAvailable forName:SDLNameHeatedRearWindowAvailable]; +} + +- (nullable NSNumber *)heatedRearWindowAvailable { + return [store sdl_objectForName:SDLNameHeatedRearWindowAvailable]; +} + +- (void)setHeatedMirrorsAvailable:(nullable NSNumber *)heatedMirrorsAvailable { + [store sdl_setObject:heatedMirrorsAvailable forName:SDLNameHeatedMirrorsAvailable]; +} + +- (nullable NSNumber *)heatedMirrorsAvailable { + return [store sdl_objectForName:SDLNameHeatedMirrorsAvailable]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlData.h index 722bcd3..29938b2 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlData.h @@ -11,19 +11,24 @@ NS_ASSUME_NONNULL_BEGIN @class SDLTemperature; +/** + The current information for the Climate Remote Control Module + */ @interface SDLClimateControlData : SDLRPCStruct -- (instancetype)initWithFanSpeed:(nullable NSNumber *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber *)acEnable circulateAirEnable:(nullable NSNumber *)circulateAirEnable autoModeEnable:(nullable NSNumber *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber *)dualModeEnable acMaxEnable:(nullable NSNumber *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode; +- (instancetype)initWithFanSpeed:(nullable NSNumber *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber *)acEnable circulateAirEnable:(nullable NSNumber *)circulateAirEnable autoModeEnable:(nullable NSNumber *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber *)dualModeEnable acMaxEnable:(nullable NSNumber *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode __deprecated_msg("Use initWithFanSpeed:desiredTemperature:acEnable:circulateAirEnable:autoModeEnable:defrostZone: dualModeEnable:acMaxEnable:ventilationMode:heatedSteeringWheelEnable: heatedWindshieldEnable:heatedRearWindowEnable:heatedMirrorsEnable: instead"); + +- (instancetype)initWithFanSpeed:(nullable NSNumber *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber *)acEnable circulateAirEnable:(nullable NSNumber *)circulateAirEnable autoModeEnable:(nullable NSNumber *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber *)dualModeEnable acMaxEnable:(nullable NSNumber *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode heatedSteeringWheelEnable:(nullable NSNumber *)heatedSteeringWheelEnable heatedWindshieldEnable:(nullable NSNumber *)heatedWindshieldEnable heatedRearWindowEnable:(nullable NSNumber *)heatedRearWindowEnable heatedMirrorsEnable:(nullable NSNumber *)heatedMirrorsEnable; /** - * @abstract Speed of Fan in integer + * Speed of Fan in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *fanSpeed; /** - * @abstract The Current Temperature in SDLTemperature + * The Current Temperature in SDLTemperature * * @warning This property is readonly and cannot be set on the module. * @@ -32,61 +37,89 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) SDLTemperature *currentTemperature; /** - * @abstract Desired Temperature in SDLTemperature + * Desired Temperature in SDLTemperature * * Optional */ @property (nullable, strong, nonatomic) SDLTemperature *desiredTemperature; /** - * @abstract Represents if AC is enabled. + * Represents if AC is enabled. * * Optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *acEnable; /** - * @abstract Represents if circulation of air is enabled. + * Represents if circulation of air is enabled. * * Optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *circulateAirEnable; /** - * @abstract Represents if auto mode is enabled. + * Represents if auto mode is enabled. * * Optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *autoModeEnable; /** - * @abstract Represents the kind of defrost zone + * Represents the kind of defrost zone * * Optional, SDLDefrostZone */ @property (nullable, strong, nonatomic) SDLDefrostZone defrostZone; /** - * @abstract Represents if dual mode is enabled. + * Represents if dual mode is enabled. * * Optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *dualModeEnable; /** - * @abstract Represents if ac max is enabled. + * Represents if ac max is enabled. * * Optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *acMaxEnable; /** - * @abstract Represents the kind of Ventilation zone + * Represents the kind of Ventilation zone * * Optional, SDLVentilationMode */ @property (nullable, strong, nonatomic) SDLVentilationMode ventilationMode; +/** + * @abstract value false means disabled/turn off, value true means enabled/turn on. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *heatedSteeringWheelEnable; + +/** + * @abstract value false means disabled, value true means enabled. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *heatedWindshieldEnable; + +/** + * @abstract value false means disabled, value true means enabled. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *heatedRearWindowEnable; + +/** + * @abstract Value false means disabled, value true means enabled. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *heatedMirrorsEnable; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlData.m index ddb98c1..0a57e40 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlData.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClimateControlData.m @@ -12,11 +12,15 @@ @implementation SDLClimateControlData - (instancetype)initWithFanSpeed:(nullable NSNumber *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber *)acEnable circulateAirEnable:(nullable NSNumber *)circulateAirEnable autoModeEnable:(nullable NSNumber *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber *)dualModeEnable acMaxEnable:(nullable NSNumber *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode { + return [self initWithFanSpeed:fanSpeed desiredTemperature:desiredTemperature acEnable:acEnable circulateAirEnable:circulateAirEnable autoModeEnable:autoModeEnable defrostZone:defrostZone dualModeEnable:dualModeEnable acMaxEnable:acMaxEnable ventilationMode:ventilationMode heatedSteeringWheelEnable:@NO heatedWindshieldEnable:@NO heatedRearWindowEnable:@NO heatedMirrorsEnable:@NO]; +} + +- (instancetype)initWithFanSpeed:(nullable NSNumber *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber *)acEnable circulateAirEnable:(nullable NSNumber *)circulateAirEnable autoModeEnable:(nullable NSNumber *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber *)dualModeEnable acMaxEnable:(nullable NSNumber *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode heatedSteeringWheelEnable:(nullable NSNumber *)heatedSteeringWheelEnable heatedWindshieldEnable:(nullable NSNumber *)heatedWindshieldEnable heatedRearWindowEnable:(nullable NSNumber *)heatedRearWindowEnable heatedMirrorsEnable:(nullable NSNumber *)heatedMirrorsEnable { self = [self init]; if (!self) { return nil; } - + self.fanSpeed = fanSpeed; self.desiredTemperature = desiredTemperature; self.acEnable = acEnable; @@ -26,7 +30,11 @@ - (instancetype)initWithFanSpeed:(nullable NSNumber *)fanSpeed desiredTe self.dualModeEnable = dualModeEnable; self.acMaxEnable = acMaxEnable; self.ventilationMode = ventilationMode; - + self.heatedSteeringWheelEnable = heatedSteeringWheelEnable; + self.heatedWindshieldEnable = heatedWindshieldEnable; + self.heatedRearWindowEnable = heatedRearWindowEnable; + self.heatedMirrorsEnable = heatedMirrorsEnable; + return self; } @@ -110,6 +118,38 @@ - (nullable SDLVentilationMode)ventilationMode { return [store sdl_objectForName:SDLNameVentilationMode]; } +- (void)setHeatedSteeringWheelEnable:(nullable NSNumber *)heatedSteeringWheelEnable { + [store sdl_setObject:heatedSteeringWheelEnable forName:SDLNameHeatedSteeringWheelEnable]; +} + +- (nullable NSNumber *)heatedSteeringWheelEnable { + return [store sdl_objectForName:SDLNameHeatedSteeringWheelEnable]; +} + +- (void)setHeatedWindshieldEnable:(nullable NSNumber *)heatedWindshieldEnable { + [store sdl_setObject:heatedWindshieldEnable forName:SDLNameHeatedWindshieldEnable]; +} + +- (nullable NSNumber *)heatedWindshieldEnable { + return [store sdl_objectForName:SDLNameHeatedWindshieldEnable]; +} + +- (void)setHeatedRearWindowEnable:(nullable NSNumber *)heatedRearWindowEnable { + [store sdl_setObject:heatedRearWindowEnable forName:SDLNameHeatedRearWindowEnable]; +} + +- (nullable NSNumber *)heatedRearWindowEnable { + return [store sdl_objectForName:SDLNameHeatedRearWindowEnable]; +} + +- (void)setHeatedMirrorsEnable:(nullable NSNumber *)heatedMirrorsEnable { + [store sdl_setObject:heatedMirrorsEnable forName:SDLNameHeatedMirrorsEnable]; +} + +- (nullable NSNumber *)heatedMirrorsEnable { + return [store sdl_objectForName:SDLNameHeatedMirrorsEnable]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClusterModeStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClusterModeStatus.h index 558a1fd..2a3fa59 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLClusterModeStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLClusterModeStatus.h @@ -9,11 +9,37 @@ NS_ASSUME_NONNULL_BEGIN +/** + A vehicle data struct for the cluster mode and power status + */ @interface SDLClusterModeStatus : SDLRPCStruct +/** + References signal "PowerMode_UB". + + Required + */ @property (strong, nonatomic) NSNumber *powerModeActive; + +/** + References signal "PowerModeQF". See PowerModeQualificationStatus. + + Required + */ @property (strong, nonatomic) SDLPowerModeQualificationStatus powerModeQualificationStatus; + +/** + References signal "CarMode". See CarMode. + + Required + */ @property (strong, nonatomic) SDLCarModeStatus carModeStatus; + +/** + References signal "PowerMode". See PowerMode. + + Required + */ @property (strong, nonatomic) SDLPowerModeStatus powerModeStatus; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCompassDirection.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCompassDirection.h index 7120814..ed11f03 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCompassDirection.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCompassDirection.h @@ -5,48 +5,48 @@ #import "SDLEnum.h" /** - * The list of potential compass directions. + * The list of potential compass directions. Used in GPS data * * @since SDL 2.0 */ typedef SDLEnum SDLCompassDirection SDL_SWIFT_ENUM; /** - * @abstract Direction North + * Direction North */ extern SDLCompassDirection const SDLCompassDirectionNorth; /** - * @abstract Direction Northwest + * Direction Northwest */ extern SDLCompassDirection const SDLCompassDirectionNorthwest; /** - * @abstract Direction West + * Direction West */ extern SDLCompassDirection const SDLCompassDirectionWest; /** - * @abstract Direction Southwest + * Direction Southwest */ extern SDLCompassDirection const SDLCompassDirectionSouthwest; /** - * @abstract Direction South + * Direction South */ extern SDLCompassDirection const SDLCompassDirectionSouth; /** - * @abstract Direction Southeast + * Direction Southeast */ extern SDLCompassDirection const SDLCompassDirectionSoutheast; /** - * @abstract Direction East + * Direction East */ extern SDLCompassDirection const SDLCompassDirectionEast; /** - * @abstract Direction Northeast + * Direction Northeast */ extern SDLCompassDirection const SDLCompassDirectionNortheast; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLComponentVolumeStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLComponentVolumeStatus.h index b9e69b7..dc710a5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLComponentVolumeStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLComponentVolumeStatus.h @@ -5,38 +5,38 @@ #import "SDLEnum.h" /** - * The volume status of a vehicle component. + * The volume status of a vehicle component. Used in SingleTireStatus and VehicleData Fuel Level * * @since SDL 2.0 */ typedef SDLEnum SDLComponentVolumeStatus SDL_SWIFT_ENUM; /** - * @abstract Unknown SDLComponentVolumeStatus + * Unknown SDLComponentVolumeStatus */ extern SDLComponentVolumeStatus const SDLComponentVolumeStatusUnknown; /** - * @abstract Normal SDLComponentVolumeStatus + * Normal SDLComponentVolumeStatus */ extern SDLComponentVolumeStatus const SDLComponentVolumeStatusNormal; /** - * @abstract Low SDLComponentVolumeStatus + * Low SDLComponentVolumeStatus */ extern SDLComponentVolumeStatus const SDLComponentVolumeStatusLow; /** - * @abstract Fault SDLComponentVolumeStatus + * Fault SDLComponentVolumeStatus */ extern SDLComponentVolumeStatus const SDLComponentVolumeStatusFault; /** - * @abstract Alert SDLComponentVolumeStatus + * Alert SDLComponentVolumeStatus */ extern SDLComponentVolumeStatus const SDLComponentVolumeStatusAlert; /** - * @abstract Not supported SDLComponentVolumeStatus + * Not supported SDLComponentVolumeStatus */ extern SDLComponentVolumeStatus const SDLComponentVolumeStatusNotSupported; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLConfiguration.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLConfiguration.h index 9f92cd6..2cd6420 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLConfiguration.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLConfiguration.h @@ -8,6 +8,7 @@ #import +@class SDLFileManagerConfiguration; @class SDLLifecycleConfiguration; @class SDLLockScreenConfiguration; @class SDLLogConfiguration; @@ -28,56 +29,107 @@ NS_ASSUME_NONNULL_BEGIN @property (copy, nonatomic, readonly) SDLLockScreenConfiguration *lockScreenConfig; /** - The log configuration. + * The log configuration. */ @property (copy, nonatomic, readonly) SDLLogConfiguration *loggingConfig; /** - The configuration + * The streaming media configuration. */ @property (copy, nonatomic, readonly) SDLStreamingMediaConfiguration *streamingMediaConfig; /** - Create a new configuration to be passed into SDLManager with a custom lifecycle, lock screen, and logging configuration. + * The file manager configuration. + */ +@property (copy, nonatomic, readonly) SDLFileManagerConfiguration *fileManagerConfig; - @param lifecycleConfig The lifecycle configuration to be used. - @param lockScreenConfig The lockscreen configuration to be used, or `enabledConfiguration` if nil. - @param logConfig The logging configuration to be used, or `defaultConfiguration` if nil. - @return The configuration +/** + * Creates a new configuration to be passed to the SDLManager with custom lifecycle, lock screen and logging configurations. + * + * @param lifecycleConfig The lifecycle configuration to be used. + * @param lockScreenConfig The lockscreen configuration to be used. If nil, the `enabledConfiguration` will be used. + * @param logConfig The logging configuration to be used. If nil, the `defaultConfiguration` will be used. + * @return The configuration */ -- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig; +- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig __deprecated_msg("Use initWithLifecycle:lockScreen:logging:fileManager: instead"); /** - Create a new configuration to be passed into SDLManager with a custom lifecycle, lock screen, and logging configuration. + * Creates a new configuration to be passed to the SDLManager with custom lifecycle, lock screen, logging and file manager configurations. + * + * @param lifecycleConfig The lifecycle configuration to be used. + * @param lockScreenConfig The lockscreen configuration to be used. If nil, the `enabledConfiguration` will be used. + * @param logConfig The logging configuration to be used. If nil, the `defaultConfiguration` will be used. + * @param fileManagerConfig The file manager configuration to be used or `defaultConfiguration` if nil. + * @return The configuration + */ +- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig fileManager:(nullable SDLFileManagerConfiguration *)fileManagerConfig; - @param lifecycleConfig The lifecycle configuration to be used. - @param lockScreenConfig The lockscreen configuration to be used, or `enabledConfiguration` if nil. - @param logConfig The logging configuration to be used, or `defaultConfiguration` if nil. - @return The configuration +/** + * Creates a new configuration to be passed to the SDLManager with custom lifecycle, lock screen and logging configurations. + * + * @param lifecycleConfig The lifecycle configuration to be used. + * @param lockScreenConfig The lockscreen configuration to be used. If nil, the `enabledConfiguration` will be used. + * @param logConfig The logging configuration to be used. If nil, the `defaultConfiguration` will be used. + * @return The configuration */ -+ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig NS_SWIFT_UNAVAILABLE("Use an initializer instead"); ++ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig __deprecated_msg("Use configurationWithLifecycle:lockScreen:logging:fileManager: instead") NS_SWIFT_UNAVAILABLE("Use an initializer instead"); /** - Create a new configuration to be passed into SDLManager with a custom lifecycle, lock screen, logging, and streaming media configuration. + * Creates a new configuration to be passed to the SDLManager with custom lifecycle, lock screen, logging and file manager configurations. + * + * @param lifecycleConfig The lifecycle configuration to be used. + * @param lockScreenConfig The lockscreen configuration to be used. If nil, the `enabledConfiguration` will be used. + * @param logConfig The logging configuration to be used. If nil, the `defaultConfiguration` will be used. + * @param fileManagerConfig The file manager configuration to be used or `defaultConfiguration` if nil. + * @return The configuration + */ ++ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig fileManager:(nullable SDLFileManagerConfiguration *)fileManagerConfig NS_SWIFT_UNAVAILABLE("Use an initializer instead"); - @param lifecycleConfig The lifecycle configuration to be used. - @param lockScreenConfig The lockscreen configuration to be used, or `enabledConfiguration` if nil. - @param logConfig The logging configuration to be used, or `defaultConfiguration` if nil. - @param streamingMediaConfig The streaming media configuration to be used, or nil because it is not needed. - @return The configuration +/** + * Creates a new configuration to be passed to the SDLManager with custom lifecycle, lock screen, logging and streaming media configurations. + * + * @param lifecycleConfig The lifecycle configuration to be used. + * @param lockScreenConfig The lockscreen configuration to be used. If nil, the `enabledConfiguration` will be used. + * @param logConfig The logging configuration to be used. If nil, the `defaultConfiguration` will be used. + * @param streamingMediaConfig The streaming media configuration to be used or nil if not used. + * @return The configuration */ -- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig; +- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig __deprecated_msg("Use initWithLifecycle:lockScreen:logging:streamingMedia:fileManager: instead"); /** - Create a new configuration to be passed into SDLManager with a custom lifecycle, lock screen, logging, and streaming media configuration. + * Creates a new configuration to be passed to the SDLManager with custom lifecycle, lock screen, logging, streaming media and file manager configurations. + * + * @param lifecycleConfig The lifecycle configuration to be used. + * @param lockScreenConfig The lockscreen configuration to be used. If nil, the `enabledConfiguration` will be used. + * @param logConfig The logging configuration to be used. If nil, the `defaultConfiguration` will be used. + * @param streamingMediaConfig The streaming media configuration to be used or nil if not used. + * @param fileManagerConfig The file manager configuration to be used or `defaultConfiguration` if nil. + * @return The configuration + */ +- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig fileManager:(nullable SDLFileManagerConfiguration *)fileManagerConfig; - @param lifecycleConfig The lifecycle configuration to be used. - @param lockScreenConfig The lockscreen configuration to be used, or `enabledConfiguration` if nil. - @param logConfig The logging configuration to be used, or `defaultConfiguration` if nil. - @param streamingMediaConfig The streaming media configuration to be used, or nil because it is not needed. - @return The configuration +/** + * Creates a new configuration to be passed to the SDLManager with custom lifecycle, lock screen, logging and streaming media configurations. + * + * @param lifecycleConfig The lifecycle configuration to be used. + * @param lockScreenConfig The lockscreen configuration to be used. If nil, the `enabledConfiguration` will be used. + * @param logConfig The logging configuration to be used. If nil, the `defaultConfiguration` will be used. + * @param streamingMediaConfig The streaming media configuration to be used or nil if not used. + * @return The configuration + */ ++ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig __deprecated_msg("Use configurationWithLifecycle:lockScreen:logging:streamingMedia:fileManager: instead") NS_SWIFT_UNAVAILABLE("Use an initializer instead"); + +/** + * Creates a new configuration to be passed to the SDLManager with custom lifecycle, lock screen, logging, streaming media and file manager configurations. + * + * @param lifecycleConfig The lifecycle configuration to be used. + * @param lockScreenConfig The lockscreen configuration to be used. If nil, the `enabledConfiguration` will be used. + * @param logConfig The logging configuration to be used. If nil, the `defaultConfiguration` will be used. + * @param streamingMediaConfig The streaming media configuration to be used or nil if not used. + * @param fileManagerConfig The file manager configuration to be used or `defaultConfiguration` if nil. + * @return The configuration */ -+ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig NS_SWIFT_UNAVAILABLE("Use an initializer instead"); ++ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig fileManager:(nullable SDLFileManagerConfiguration *)fileManagerConfig NS_SWIFT_UNAVAILABLE("Use an initializer instead"); @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLConfiguration.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLConfiguration.m index 98fddad..a96b27d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLConfiguration.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLConfiguration.m @@ -8,6 +8,7 @@ #import "SDLConfiguration.h" +#import "SDLFileManagerConfiguration.h" #import "SDLLifecycleConfiguration.h" #import "SDLLockScreenConfiguration.h" #import "SDLLogConfiguration.h" @@ -18,22 +19,18 @@ @implementation SDLConfiguration - (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfiguration { - return [self initWithLifecycle:lifecycleConfiguration lockScreen:nil logging:nil]; -} - -+ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfiguration { - return [[self alloc] initWithLifecycle:lifecycleConfiguration lockScreen:nil logging:nil]; + return [self initWithLifecycle:lifecycleConfiguration lockScreen:nil]; } - (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig { - return [self initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:nil]; + return [self initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:nil fileManager:nil]; } -+ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig { - return [[self alloc] initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig]; +- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig { + return [self initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig fileManager:nil]; } -- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig { +- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig fileManager:(nullable SDLFileManagerConfiguration *)fileManagerConfig { self = [super init]; if (!self) { return nil; @@ -42,15 +39,32 @@ - (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig l _lifecycleConfig = lifecycleConfig; _lockScreenConfig = lockScreenConfig ?: [SDLLockScreenConfiguration enabledConfiguration]; _loggingConfig = logConfig ?: [SDLLogConfiguration defaultConfiguration]; + _fileManagerConfig = fileManagerConfig ?: [SDLFileManagerConfiguration defaultConfiguration]; return self; } ++ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfiguration { + return [self configurationWithLifecycle:lifecycleConfiguration lockScreen:nil]; +} + ++ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig { + return [self configurationWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:nil fileManager:nil]; +} + + (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig { - return [[self alloc] initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig]; + return [self configurationWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig fileManager:nil]; +} + ++ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig fileManager:(nullable SDLFileManagerConfiguration *)fileManagerConfig { + return [[self alloc] initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig fileManager:fileManagerConfig]; } - (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig { + return [self initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig streamingMedia:streamingMediaConfig fileManager:nil]; +} + +- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig fileManager:(nullable SDLFileManagerConfiguration *)fileManagerConfig { self = [super init]; if (!self) { return nil; @@ -59,8 +73,8 @@ - (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig l _lifecycleConfig = lifecycleConfig; _lockScreenConfig = lockScreenConfig ?: [SDLLockScreenConfiguration enabledConfiguration]; _loggingConfig = logConfig ?: [SDLLogConfiguration defaultConfiguration]; - _streamingMediaConfig = streamingMediaConfig; + _streamingMediaConfig = streamingMediaConfig; if (_streamingMediaConfig != nil) { // If we have a streaming config, the apptype MUST be navigation or projection NSAssert(([_lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeNavigation] || [_lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeProjection] || [_lifecycleConfig.additionalAppTypes containsObject:SDLAppHMITypeNavigation] || [_lifecycleConfig.additionalAppTypes containsObject:SDLAppHMITypeProjection]), @"You should only set a streaming media configuration if your app is a NAVIGATION or PROJECTION HMI type"); @@ -70,18 +84,23 @@ - (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig l NSAssert(!([_lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeNavigation] || [_lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeProjection] || [_lifecycleConfig.additionalAppTypes containsObject:SDLAppHMITypeNavigation] || [_lifecycleConfig.additionalAppTypes containsObject:SDLAppHMITypeProjection]), @"If your app is a NAVIGATION or PROJECTION HMI type, you must set a streaming media configuration on SDLConfiguration"); } + _fileManagerConfig = fileManagerConfig ?: [SDLFileManagerConfiguration defaultConfiguration]; + return self; } + (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig { - return [[self alloc] initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig streamingMedia:streamingMediaConfig]; + return [self configurationWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig streamingMedia:streamingMediaConfig fileManager:nil]; +} + ++ (instancetype)configurationWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig fileManager:(nullable SDLFileManagerConfiguration *)fileManagerConfig { + return [[self alloc] initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig streamingMedia:streamingMediaConfig fileManager:fileManagerConfig]; } #pragma mark - NSCopying - (id)copyWithZone:(nullable NSZone *)zone { - SDLConfiguration *new = [[SDLConfiguration allocWithZone:zone] initWithLifecycle: _lifecycleConfig lockScreen: _lockScreenConfig logging:_loggingConfig streamingMedia:_streamingMediaConfig]; - + SDLConfiguration *new = [[SDLConfiguration allocWithZone:zone] initWithLifecycle:_lifecycleConfig lockScreen:_lockScreenConfig logging:_loggingConfig streamingMedia:_streamingMediaConfig fileManager:_fileManagerConfig]; return new; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLConnectionManagerType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLConnectionManagerType.h index d1b3163..f7052f6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLConnectionManagerType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLConnectionManagerType.h @@ -33,6 +33,10 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)sendConnectionRequest:(__kindof SDLRPCRequest *)request withResponseHandler:(nullable SDLResponseHandler)handler; +- (void)sendRequests:(NSArray *)requests progressHandler:(nullable SDLMultipleAsyncRequestProgressHandler)progressHandler completionHandler:(nullable SDLMultipleRequestCompletionHandler)completionHandler; + +- (void)sendSequentialRequests:(NSArray *)requests progressHandler:(nullable SDLMultipleSequentialRequestProgressHandler)progressHandler completionHandler:(nullable SDLMultipleRequestCompletionHandler)completionHandler; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadConstants.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadConstants.h index f95b90e..37eb51d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadConstants.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadConstants.h @@ -14,8 +14,14 @@ extern int64_t const SDLControlFrameInt64NotFound; extern char *const SDLControlFrameProtocolVersionKey; extern char *const SDLControlFrameHashIdKey; extern char *const SDLControlFrameMTUKey; +extern char *const SDLControlFrameReasonKey; extern char *const SDLControlFrameRejectedParams; extern char *const SDLControlFrameVideoProtocolKey; extern char *const SDLControlFrameVideoCodecKey; extern char *const SDLControlFrameHeightKey; extern char *const SDLControlFrameWidthKey; +extern char *const SDLControlFrameSecondaryTransportsKey; +extern char *const SDLControlFrameAudioServiceTransportsKey; +extern char *const SDLControlFrameVideoServiceTransportsKey; +extern char *const SDLControlFrameTCPIPAddressKey; +extern char *const SDLControlFrameTCPPortKey; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadConstants.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadConstants.m index 8d9965f..4104876 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadConstants.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadConstants.m @@ -14,8 +14,14 @@ char *const SDLControlFrameProtocolVersionKey = "protocolVersion"; char *const SDLControlFrameHashIdKey = "hashId"; char *const SDLControlFrameMTUKey = "mtu"; +char *const SDLControlFrameReasonKey = "reason"; char *const SDLControlFrameRejectedParams = "rejectedParams"; char *const SDLControlFrameVideoProtocolKey = "videoProtocol"; char *const SDLControlFrameVideoCodecKey = "videoCodec"; char *const SDLControlFrameHeightKey = "height"; char *const SDLControlFrameWidthKey = "width"; +char *const SDLControlFrameSecondaryTransportsKey = "secondaryTransports"; +char *const SDLControlFrameAudioServiceTransportsKey = "audioServiceTransports"; +char *const SDLControlFrameVideoServiceTransportsKey = "videoServiceTransports"; +char *const SDLControlFrameTCPIPAddressKey = "tcpIpAddress"; +char *const SDLControlFrameTCPPortKey = "tcpPort"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.h index 078405e..ba339bd 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.h @@ -23,7 +23,16 @@ NS_ASSUME_NONNULL_BEGIN /// The negotiated version of the protocol. Must be in the format "Major.Minor.Patch" @property (copy, nonatomic, readonly, nullable) NSString *protocolVersion; -- (instancetype)initWithHashId:(int32_t)hashId mtu:(int64_t)mtu protocolVersion:(nullable NSString *)protocolVersion; +/** The transport types for Secondary Transport */ +@property (copy, nonatomic, readonly, nullable) NSArray *secondaryTransports; + +/** List of transports that are allowed to carry audio service. The values can be either 1 (primary transport) or 2 (secondary transport) and are listed in preferred order. */ +@property (copy, nonatomic, readonly, nullable) NSArray *audioServiceTransports; + +/** List of transports that are allowed to carry video service. The values can be either 1 (primary transport) or 2 (secondary transport) and are listed in preferred order. */ +@property (copy, nonatomic, readonly, nullable) NSArray *videoServiceTransports; + +- (instancetype)initWithHashId:(int32_t)hashId mtu:(int64_t)mtu protocolVersion:(nullable NSString *)protocolVersion secondaryTransports:(nullable NSArray *)secondaryTransports audioServiceTransports:(nullable NSArray *)audioServiceTransports videoServiceTransports:(nullable NSArray *)videoServiceTransports; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.m index cc2c2c3..536ecfc 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRPCStartServiceAck.m @@ -19,19 +19,30 @@ @interface SDLControlFramePayloadRPCStartServiceAck () @property (assign, nonatomic, readwrite) int32_t hashId; @property (assign, nonatomic, readwrite) int64_t mtu; @property (copy, nonatomic, readwrite, nullable) NSString *protocolVersion; +@property (copy, nonatomic, readwrite, nullable) NSArray *secondaryTransports; +@property (copy, nonatomic, readwrite, nullable) NSArray *audioServiceTransports; +@property (copy, nonatomic, readwrite, nullable) NSArray *videoServiceTransports; @end @implementation SDLControlFramePayloadRPCStartServiceAck -- (instancetype)initWithHashId:(int32_t)hashId mtu:(int64_t)mtu protocolVersion:(nullable NSString *)protocolVersion { +- (instancetype)initWithHashId:(int32_t)hashId + mtu:(int64_t)mtu + protocolVersion:(nullable NSString *)protocolVersion + secondaryTransports:(nullable NSArray *)secondaryTransports + audioServiceTransports:(nullable NSArray *)audioServiceTransports + videoServiceTransports:(nullable NSArray *)videoServiceTransports { self = [super init]; if (!self) return nil; _hashId = hashId; _mtu = mtu; _protocolVersion = protocolVersion; + _secondaryTransports = secondaryTransports; + _audioServiceTransports = audioServiceTransports; + _videoServiceTransports = videoServiceTransports; return self; } @@ -72,6 +83,22 @@ - (nullable NSData *)data { bson_object_put_string(&payloadObject, SDLControlFrameProtocolVersionKey, (char *)self.protocolVersion.UTF8String); } + if (self.secondaryTransports != nil) { + BsonArray arrayObject; + // Currently there are 8 transport types defined. So initial value of 8 should be sufficient. + bson_array_initialize(&arrayObject, 8); + + for (NSString *transport in self.secondaryTransports) { + bson_array_add_string(&arrayObject, (char *)transport.UTF8String); + } + + bson_object_put_array(&payloadObject, SDLControlFrameSecondaryTransportsKey, &arrayObject); + } + + [self sdl_addServiceTransports:&payloadObject fromArray:self.audioServiceTransports forKey:SDLControlFrameAudioServiceTransportsKey]; + + [self sdl_addServiceTransports:&payloadObject fromArray:self.videoServiceTransports forKey:SDLControlFrameVideoServiceTransportsKey]; + BytePtr bsonData = bson_object_to_bytes(&payloadObject); NSUInteger length = bson_object_size(&payloadObject); @@ -91,11 +118,68 @@ - (void)sdl_parse:(NSData *)data { self.protocolVersion = [NSString stringWithUTF8String:utf8String]; } + BsonArray *arrayObject = bson_object_get_array(&payloadObject, SDLControlFrameSecondaryTransportsKey); + if (arrayObject != NULL) { + NSMutableArray *secondaryTransports = [NSMutableArray array]; + size_t index = 0; + + while ((utf8String = bson_array_get_string(arrayObject, index)) != NULL) { + [secondaryTransports addObject:[NSString stringWithUTF8String:utf8String]]; + index++; + } + self.secondaryTransports = [secondaryTransports copy]; + } + + self.audioServiceTransports = [self sdl_getServiceTransports:&payloadObject forKey:SDLControlFrameAudioServiceTransportsKey]; + + self.videoServiceTransports = [self sdl_getServiceTransports:&payloadObject forKey:SDLControlFrameVideoServiceTransportsKey]; + bson_object_deinitialize(&payloadObject); } +- (nullable NSArray *)sdl_getServiceTransports:(BsonObject *)payloadObject forKey:(const char * const)key { + if (payloadObject == NULL || key == NULL) { + return nil; + } + + BsonArray *arrayObject = bson_object_get_array(payloadObject, key); + if (arrayObject == NULL) { + return nil; + } + + NSMutableArray *transports = [NSMutableArray array]; + int32_t num; + size_t index = 0; + + while ((num = bson_array_get_int32(arrayObject, index)) != -1) { + [transports addObject:@(num)]; + index++; + } + + return [transports copy]; +} + +- (void)sdl_addServiceTransports:(BsonObject *)payloadObject fromArray:(NSArray *)array forKey:(const char * const)key { + if (payloadObject == NULL || array == nil || key == NULL) { + return; + } + + BsonArray arrayObject; + // currently there are 2 transports defined (primary and secondary) + bson_array_initialize(&arrayObject, 2); + + for (NSNumber *num in array) { + int32_t transport = [num intValue]; + if (transport != -1) { + bson_array_add_int32(&arrayObject, transport); + } + } + + bson_object_put_array(payloadObject, key, &arrayObject); +} + - (NSString *)description { - return [NSString stringWithFormat:@"<%@>: Protocol Version: %@, hash id: %d, MTU: %lld", NSStringFromClass(self.class), self.protocolVersion, self.hashId, self.mtu]; + return [NSString stringWithFormat:@"<%@>: Protocol Version: %@, hash id: %d, MTU: %lld, secondary transports: %@, transports for audio service: %@, transports for video service: %@", NSStringFromClass(self.class), self.protocolVersion, self.hashId, self.mtu, self.secondaryTransports, self.audioServiceTransports, self.videoServiceTransports]; } @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRegisterSecondaryTransportNak.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRegisterSecondaryTransportNak.h new file mode 100644 index 0000000..1435ba4 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRegisterSecondaryTransportNak.h @@ -0,0 +1,24 @@ +// +// SDLControlFramePayloadRegisterSecondaryTransportNak.h +// SmartDeviceLink-iOS +// +// Created by Sho Amano on 2018/03/16. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import + +#import "SDLControlFramePayloadType.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLControlFramePayloadRegisterSecondaryTransportNak : NSObject + +@property (copy, nonatomic, readonly, nullable) NSString *reason; + +- (instancetype)initWithReason:(nullable NSString *)reason; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRegisterSecondaryTransportNak.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRegisterSecondaryTransportNak.m new file mode 100644 index 0000000..570d41f --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadRegisterSecondaryTransportNak.m @@ -0,0 +1,83 @@ +// +// SDLControlFramePayloadRegisterSecondaryTransportNak.m +// SmartDeviceLink +// +// Created by Sho Amano on 2018/03/16. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import "SDLControlFramePayloadRegisterSecondaryTransportNak.h" + +#import "bson_object.h" +#import "SDLControlFramePayloadConstants.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLControlFramePayloadRegisterSecondaryTransportNak () + +@property (copy, nonatomic, readwrite, nullable) NSString *reason; + +@end + +@implementation SDLControlFramePayloadRegisterSecondaryTransportNak + +- (instancetype)initWithReason:(nullable NSString *)reason { + self = [super init]; + if (!self) { + return nil; + } + + _reason = reason; + + return self; +} + +- (instancetype)initWithData:(nullable NSData *)data { + self = [super init]; + if (!self) { + return nil; + } + + if (data.length > 0) { + [self sdl_parse:data]; + } + + return self; +} + +- (nullable NSData *)data { + if (self.reason == nil) { + return nil; + } + + BsonObject payloadObject; + bson_object_initialize_default(&payloadObject); + bson_object_put_string(&payloadObject, SDLControlFrameReasonKey, (char *)self.reason.UTF8String); + + BytePtr bsonData = bson_object_to_bytes(&payloadObject); + NSUInteger length = bson_object_size(&payloadObject); + + bson_object_deinitialize(&payloadObject); + + return [[NSData alloc] initWithBytes:bsonData length:length]; +} + +- (void)sdl_parse:(NSData *)data { + BsonObject payloadObject = bson_object_from_bytes((BytePtr)data.bytes); + + char *reasonString = bson_object_get_string(&payloadObject, SDLControlFrameReasonKey); + if (reasonString != NULL) { + self.reason = [NSString stringWithUTF8String:reasonString]; + } + + bson_object_deinitialize(&payloadObject); +} + +- (NSString *)description { + return [NSString stringWithFormat:@"<%@>: reason: %@", NSStringFromClass(self.class), self.reason]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadTransportEventUpdate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadTransportEventUpdate.h new file mode 100644 index 0000000..7479347 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadTransportEventUpdate.h @@ -0,0 +1,27 @@ +// +// SDLControlFramePayloadTransportEventUpdate.h +// SmartDeviceLink-iOS +// +// Created by Sho Amano on 2018/03/05. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import + +#import "SDLControlFramePayloadType.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLControlFramePayloadTransportEventUpdate : NSObject + +/** A string representing IP address of Core's TCP transport. It can be either IPv4 or IPv6 address. */ +@property (copy, nonatomic, readonly, nullable) NSString *tcpIpAddress; +/** TCP port number that Core is listening on */ +@property (assign, nonatomic, readonly) int32_t tcpPort; + + +- (instancetype)initWithTcpIpAddress:(nullable NSString *)tcpIpAddress tcpPort:(int32_t)tcpPort; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadTransportEventUpdate.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadTransportEventUpdate.m new file mode 100644 index 0000000..daaf3f1 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLControlFramePayloadTransportEventUpdate.m @@ -0,0 +1,100 @@ +// +// SDLControlFramePayloadTransportEventUpdate.m +// SmartDeviceLink-iOS +// +// Created by Sho Amano on 2018/03/05. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import "SDLControlFramePayloadTransportEventUpdate.h" + +#import "bson_object.h" +#import "SDLControlFramePayloadConstants.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLControlFramePayloadTransportEventUpdate () + +// A string representing IP address of Core's TCP transport. It can be either IPv4 or IPv6 address. +@property (copy, nonatomic, readwrite, nullable) NSString *tcpIpAddress; +// TCP port number that Core is listening on +@property (assign, nonatomic, readwrite) int32_t tcpPort; + +@end + +@implementation SDLControlFramePayloadTransportEventUpdate + +- (instancetype)initWithTcpIpAddress:(nullable NSString *)tcpIpAddress tcpPort:(int32_t)tcpPort { + self = [super init]; + if (!self) { + return nil; + } + + _tcpIpAddress = tcpIpAddress; + if (tcpPort >= 0 && tcpPort <= 65535) { + _tcpPort = tcpPort; + } else { + _tcpPort = SDLControlFrameInt32NotFound; + } + + return self; +} + +- (instancetype)initWithData:(nullable NSData *)data { + self = [super init]; + if (!self) { + return nil; + } + + _tcpPort = SDLControlFrameInt32NotFound; + + if (data.length > 0) { + [self sdl_parse:data]; + } + + return self; +} + +- (nullable NSData *)data { + if (self.tcpIpAddress == nil && self.tcpPort == SDLControlFrameInt32NotFound) { + return nil; + } + + BsonObject payloadObject; + bson_object_initialize_default(&payloadObject); + + if (self.tcpIpAddress != nil) { + bson_object_put_string(&payloadObject, SDLControlFrameTCPIPAddressKey, (char *)self.tcpIpAddress.UTF8String); + } + if (self.tcpPort != SDLControlFrameInt32NotFound) { + bson_object_put_int32(&payloadObject, SDLControlFrameTCPPortKey, self.tcpPort); + } + + BytePtr bsonData = bson_object_to_bytes(&payloadObject); + NSUInteger length = bson_object_size(&payloadObject); + + bson_object_deinitialize(&payloadObject); + + return [[NSData alloc] initWithBytes:bsonData length:length]; +} + +- (void)sdl_parse:(NSData *)data { + BsonObject payloadObject = bson_object_from_bytes((BytePtr)data.bytes); + + char *utf8String = bson_object_get_string(&payloadObject, SDLControlFrameTCPIPAddressKey); + if (utf8String != NULL) { + self.tcpIpAddress = [NSString stringWithUTF8String:utf8String]; + } + self.tcpPort = bson_object_get_int32(&payloadObject, SDLControlFrameTCPPortKey); + + bson_object_deinitialize(&payloadObject); +} + +- (NSString *)description { + return [NSString stringWithFormat:@"<%@>: TCP IP address: %@, TCP port: %d", NSStringFromClass(self.class), self.tcpIpAddress, self.tcpPort]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCreateInteractionChoiceSet.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCreateInteractionChoiceSet.h index 80ae3e9..1e09446 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCreateInteractionChoiceSet.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCreateInteractionChoiceSet.h @@ -26,14 +26,14 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithId:(UInt32)choiceId choiceSet:(NSArray *)choiceSet; /** - * @abstract A unique ID that identifies the Choice Set + * A unique ID that identifies the Choice Set * * Required, Integer, 0 - 2,000,000,000 */ @property (strong, nonatomic) NSNumber *interactionChoiceSetID; /** - * @abstract Array of choices, which the user can select by menu or voice recognition + * Array of choices, which the user can select by menu or voice recognition * * Required, SDLChoice, Array size 1 - 100 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h index 0f9cd43..c208cd8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLCreateInteractionChoiceSetResponse.h @@ -5,10 +5,9 @@ #import "SDLRPCResponse.h" /** - * SDLCreateInteractionChoiceSetResponse is sent, when SDLCreateInteractionChoiceSet - * has been called - * - * Since SmartDeviceLink 1.0 + Response to SDLCreateInteractionChoiceSet has been called + + Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDIDResult.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDIDResult.h index 2ee14af..673ccaa 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDIDResult.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDIDResult.h @@ -7,10 +7,30 @@ NS_ASSUME_NONNULL_BEGIN +/** + A vehicle data struct + */ @interface SDLDIDResult : SDLRPCStruct +/** + Individual DID result code. + + Required + */ @property (strong, nonatomic) SDLVehicleDataResultCode resultCode; + +/** + Location of raw data from vehicle data DID + + Required + */ @property (strong, nonatomic) NSNumber *didLocation; + +/** + Raw DID-based data returned for requested element. + + Optional + */ @property (nullable, strong, nonatomic) NSString *data; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDateTime.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDateTime.h index 9239696..a7c6e36 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDateTime.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDateTime.h @@ -5,6 +5,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + A struct referenced in SendLocation for an absolute date + */ @interface SDLDateTime : SDLRPCStruct - (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute; @@ -16,63 +19,63 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute second:(UInt8)second millisecond:(UInt16)millisecond day:(UInt8)day month:(UInt8)month year:(UInt16)year timezoneMinuteOffset:(UInt8)timezoneMinuteOffset timezoneHourOffset:(int)timezoneHourOffset; /** - * @abstract Milliseconds part of time + * Milliseconds part of time * * Optional, Integer 0 - 999 */ @property (copy, nonatomic) NSNumber *millisecond; /** - * @abstract Seconds part of time + * Seconds part of time * * Optional, Integer 0 - 59 */ @property (copy, nonatomic) NSNumber *second; /** - * @abstract Minutes part of time + * Minutes part of time * * Optional, Integer 0 - 59 */ @property (copy, nonatomic) NSNumber *minute; /** - * @abstract Hour part of time + * Hour part of time * * Optional, Integer 0 - 23 */ @property (copy, nonatomic) NSNumber *hour; /** - * @abstract Day of the month + * Day of the month * * Optional, Integer 1 - 31 */ @property (copy, nonatomic) NSNumber *day; /** - * @abstract Month of the year + * Month of the year * * Optional, Integer 1 - 12 */ @property (copy, nonatomic) NSNumber *month; /** - * @abstract The year in YYYY format + * The year in YYYY format * * Optional, Max Value 4095 */ @property (copy, nonatomic) NSNumber *year; /** - * @abstract Time zone offset in Min with regard to UTC + * Time zone offset in Min with regard to UTC * * Optional, Integer 0 - 59 */ @property (copy, nonatomic) NSNumber *timezoneMinuteOffset; /** - * @abstract Time zone offset in Hours with regard to UTC + * Time zone offset in Hours with regard to UTC * * Optional, Integer -12 - 14 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDefrostZone.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDefrostZone.h index 3563b58..04519a6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDefrostZone.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDefrostZone.h @@ -5,28 +5,28 @@ #import "SDLEnum.h" /** - * Enumeration listing possible defrost zones. + * Enumeration listing possible defrost zones. Used in ClimateControlCapabilities and Data. * * @since SDL 2.0 */ typedef SDLEnum SDLDefrostZone SDL_SWIFT_ENUM; /** - * @abstract A SDLDefrostZone with the value of *FRONT* + * A SDLDefrostZone with the value of *FRONT* */ extern SDLDefrostZone const SDLDefrostZoneFront; /** - * @abstract A SDLDefrostZone with the value of *REAR* + * A SDLDefrostZone with the value of *REAR* */ extern SDLDefrostZone const SDLDefrostZoneRear; /** - * @abstract A SDLDefrostZone with the value of *All* + * A SDLDefrostZone with the value of *All* */ extern SDLDefrostZone const SDLDefrostZoneAll; /** - * @abstract A SDLDefrostZone with the value of *None* + * A SDLDefrostZone with the value of *None* */ extern SDLDefrostZone const SDLDefrostZoneNone; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteChoicesOperation.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteChoicesOperation.h new file mode 100644 index 0000000..b712759 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteChoicesOperation.h @@ -0,0 +1,25 @@ +// +// SDLDeleteChoicesOperation.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/23/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLAsynchronousOperation.h" + +@class SDLChoiceCell; + +@protocol SDLConnectionManagerType; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLDeleteChoicesOperation : SDLAsynchronousOperation + +- (instancetype)initWithConnectionManager:(id)connectionManager cellsToDelete:(NSSet *)cells; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteChoicesOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteChoicesOperation.m new file mode 100644 index 0000000..46b7c0d --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteChoicesOperation.m @@ -0,0 +1,87 @@ +// +// SDLDeleteChoicesOperation.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/23/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLDeleteChoicesOperation.h" + +#import "SDLChoiceCell.h" +#import "SDLConnectionManagerType.h" +#import "SDLDeleteInteractionChoiceSet.h" +#import "SDLError.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLChoiceCell() + +@property (assign, nonatomic) UInt16 choiceId; + +@end + +@interface SDLDeleteChoicesOperation() + +@property (strong, nonatomic) NSSet *cellsToDelete; +@property (weak, nonatomic) id connectionManager; +@property (copy, nonatomic, nullable) NSError *internalError; + +@end + +@implementation SDLDeleteChoicesOperation + +- (instancetype)initWithConnectionManager:(id)connectionManager cellsToDelete:(NSSet *)cells { + self = [super init]; + if (!self) { return nil; } + + _connectionManager = connectionManager; + _cellsToDelete = cells; + + return self; +} + +- (void)start { + [super start]; + + [self sdl_sendDeletions]; +} + +- (void)sdl_sendDeletions { + NSMutableArray *deleteChoices = [NSMutableArray arrayWithCapacity:self.cellsToDelete.count]; + for (SDLChoiceCell *cell in self.cellsToDelete) { + [deleteChoices addObject:[[SDLDeleteInteractionChoiceSet alloc] initWithId:cell.choiceId]]; + } + + __weak typeof(self) weakSelf = self; + __block NSMutableDictionary *errors = [NSMutableDictionary dictionary]; + [self.connectionManager sendRequests:deleteChoices progressHandler:^(__kindof SDLRPCRequest * _Nonnull request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error, float percentComplete) { + if (error != nil) { + errors[request] = error; + } + } completionHandler:^(BOOL success) { + if (!success) { + weakSelf.internalError = [NSError sdl_choiceSetManager_choiceDeletionFailed:errors]; + } + + [weakSelf finishOperation]; + }]; +} + +#pragma mark - Property Overrides + +- (nullable NSString *)name { + return @"com.sdl.choicesetmanager.deleteChoices"; +} + +- (NSOperationQueuePriority)queuePriority { + return NSOperationQueuePriorityNormal; +} + +- (nullable NSError *)error { + return self.internalError; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteCommand.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteCommand.h index 2bc9e77..3d7e458 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteCommand.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteCommand.h @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithId:(UInt32)commandId; /** - * @abstract the Command ID that identifies the Command to be deleted from Command Menu + * the Command ID that identifies the Command to be deleted from Command Menu * @discussion an NSNumber value representing Command ID *

    * Notes: Min Value: 0; Max Value: 2000000000 diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteCommandResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteCommandResponse.h index 95df39a..6237313 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteCommandResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteCommandResponse.h @@ -5,9 +5,9 @@ #import "SDLRPCResponse.h" /** - * SDLDeleteCommandResponse is sent, when SDLDeleteCommand has been called - * - * Since SmartDeviceLink 1.0
    + Response to SDLDeleteCommand + + Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFile.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFile.h index 4372e43..927d2a7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFile.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFile.h @@ -20,7 +20,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithFileName:(NSString *)fileName; /** - * @abstract a file reference name + * a file reference name * @discussion a String value representing a file reference name */ @property (strong, nonatomic) NSString *syncFileName; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileOperation.m index f45f3cb..4d974a2 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileOperation.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileOperation.m @@ -48,20 +48,21 @@ - (void)sdl_deleteFile { SDLDeleteFile *deleteFile = [[SDLDeleteFile alloc] initWithFileName:self.fileName]; typeof(self) weakself = self; - [self.connectionManager sendConnectionManagerRequest:deleteFile - withResponseHandler:^(__kindof SDLRPCRequest *request, __kindof SDLRPCResponse *response, NSError *error) { - // Pull out the parameters - SDLDeleteFileResponse *deleteFileResponse = (SDLDeleteFileResponse *)response; - BOOL success = [deleteFileResponse.success boolValue]; - NSUInteger bytesAvailable = [deleteFileResponse.spaceAvailable unsignedIntegerValue]; - - // Callback - if (weakself.completionHandler != nil) { - weakself.completionHandler(success, bytesAvailable, error); - } - - [weakself finishOperation]; - }]; + [self.connectionManager sendConnectionManagerRequest:deleteFile withResponseHandler:^(__kindof SDLRPCRequest *request, __kindof SDLRPCResponse *response, NSError *error) { + // Pull out the parameters + SDLDeleteFileResponse *deleteFileResponse = (SDLDeleteFileResponse *)response; + BOOL success = [deleteFileResponse.success boolValue]; + + // If spaceAvailable is nil, set it to the max value + NSUInteger bytesAvailable = deleteFileResponse.spaceAvailable != nil ? deleteFileResponse.spaceAvailable.unsignedIntegerValue : 2000000000; + + // Callback + if (weakself.completionHandler != nil) { + weakself.completionHandler(success, bytesAvailable, error); + } + + [weakself finishOperation]; + }]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileResponse.h index aaf8e8f..c639dcd 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileResponse.h @@ -4,17 +4,20 @@ #import "SDLRPCResponse.h" -/** - * Delete File Response is sent, when DeleteFile has been called - * - * Since SmartDeviceLink 2.0
    - */ NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLDeleteFile + + Since SmartDeviceLink 2.0 + */ @interface SDLDeleteFileResponse : SDLRPCResponse -@property (strong, nonatomic) NSNumber *spaceAvailable; +/** + The remaining available space for your application to store data on the remote system. + */ +@property (nullable, strong, nonatomic) NSNumber *spaceAvailable; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileResponse.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileResponse.m index 5c54b98..42689fa 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileResponse.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteFileResponse.m @@ -17,11 +17,11 @@ - (instancetype)init { return self; } -- (void)setSpaceAvailable:(NSNumber *)spaceAvailable { +- (void)setSpaceAvailable:(nullable NSNumber *)spaceAvailable { [parameters sdl_setObject:spaceAvailable forName:SDLNameSpaceAvailable]; } -- (NSNumber *)spaceAvailable { +- (nullable NSNumber *)spaceAvailable { return [parameters sdl_objectForName:SDLNameSpaceAvailable]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h index 8c03f2e..3bef8d7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h @@ -26,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithId:(UInt32)choiceId; /** - * @abstract a unique ID that identifies the Choice Set + * a unique ID that identifies the Choice Set * @discussion a unique ID that identifies the Choice Set *

    * Notes: Min Value: 0; Max Value: 2000000000 diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h index ad0dc0f..55267a6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteInteractionChoiceSetResponse.h @@ -5,9 +5,9 @@ #import "SDLRPCResponse.h" /** - * SDLDeleteInteractionChoiceSetResponse is sent, when SDLDeleteInteractionChoiceSet has been called - * - * Since SmartDeviceLink 1.0 + SDLDeleteInteractionChoiceSetResponse is sent, when SDLDeleteInteractionChoiceSet has been called + + Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteSubMenu.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteSubMenu.h index 74a6363..c6562e9 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteSubMenu.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteSubMenu.h @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithId:(UInt32)menuId; /** - * @abstract the MenuID that identifies the SDLSubMenu to be delete + * the MenuID that identifies the SDLSubMenu to be delete * @discussion Notes: Min Value: 0; Max Value: 2000000000 */ @property (strong, nonatomic) NSNumber *menuID; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteSubMenuResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteSubMenuResponse.h index e50781e..7b3282e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteSubMenuResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeleteSubMenuResponse.h @@ -5,9 +5,9 @@ #import "SDLRPCResponse.h" /** - * SDLDeleteSubMenuResponse is sent, when SDLDeleteSubMenu has been called - * - * Since SmartDeviceLink 1.0 + Response to SDLDeleteSubMenu + + Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeliveryMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeliveryMode.h index 84575bc..61f9dcf 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeliveryMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeliveryMode.h @@ -4,24 +4,21 @@ #import "SDLEnum.h" /** - *Specifies the mode in which the sendLocation request is sent. + * Specifies the mode in which the sendLocation request is sent. Used in SendLocation. */ typedef SDLEnum SDLDeliveryMode SDL_SWIFT_ENUM; /** - * @abstract User is prompted on HMI - * + * User is prompted on HMI */ extern SDLDeliveryMode const SDLDeliveryModePrompt; /** - * @abstract Set the location as destination without prompting the user - * + * Set the location as destination without prompting the user */ extern SDLDeliveryMode const SDLDeliveryModeDestination; /** - * @abstract Adds the current location to navigation queue - * + * Adds the current location to navigation queue */ extern SDLDeliveryMode const SDLDeliveryModeQueue; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceInfo.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceInfo.h index 0af061a..ba43d32 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceInfo.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceInfo.h @@ -5,15 +5,55 @@ NS_ASSUME_NONNULL_BEGIN +/** + Various information about connecting device. Referenced in RegisterAppInterface + */ @interface SDLDeviceInfo : SDLRPCStruct + (instancetype)currentDevice; +/** + Device model + + Optional + */ @property (nullable, strong, nonatomic) NSString *hardware; + +/** + Device firmware version + + Optional + */ @property (nullable, strong, nonatomic) NSString *firmwareRev; + +/** + Device OS + + Optional + */ @property (nullable, strong, nonatomic) NSString *os; + +/** + Device OS version + + Optional + */ @property (nullable, strong, nonatomic) NSString *osVersion; + +/** + Device mobile carrier + + Optional + */ @property (nullable, strong, nonatomic) NSString *carrier; + +/** + Number of bluetooth RFCOMM ports available. + + Omitted if not connected via BT or on iOS + + Optional + */ @property (nullable, strong, nonatomic) NSNumber *maxNumberRFCOMMPorts; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceLevelStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceLevelStatus.h index 95a3d3c..fb6a58d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceLevelStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceLevelStatus.h @@ -5,38 +5,38 @@ #import "SDLEnum.h" /** - * Reflects the reported battery status of the connected device, if reported. + * Reflects the reported battery status of the connected device, if reported. Used in DeviceStatus. * * @since SDL 2.0 */ typedef SDLEnum SDLDeviceLevelStatus SDL_SWIFT_ENUM; /** - * @abstract Device battery level is zero bars + * Device battery level is zero bars */ extern SDLDeviceLevelStatus const SDLDeviceLevelStatusZeroBars; /** - * @abstract Device battery level is one bar + * Device battery level is one bar */ extern SDLDeviceLevelStatus const SDLDeviceLevelStatusOneBar; /** - * @abstract Device battery level is two bars + * Device battery level is two bars */ extern SDLDeviceLevelStatus const SDLDeviceLevelStatusTwoBars; /** - * @abstract Device battery level is three bars + * Device battery level is three bars */ extern SDLDeviceLevelStatus const SDLDeviceLevelStatusThreeBars; /** - * @abstract Device battery level is four bars + * Device battery level is four bars */ extern SDLDeviceLevelStatus const SDLDeviceLevelStatusFourBars; /** - * @abstract Device battery level is unknown + * Device battery level is unknown */ extern SDLDeviceLevelStatus const SDLDeviceLevelStatusNotProvided; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceStatus.h index d1f36d2..4764ca2 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDeviceStatus.h @@ -8,95 +8,9 @@ /** - * Describes the status related to a connected mobile device or SDL and if or how it is represented in the vehicle. - * - * Parameter List - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
    NameTypeDescriptionSmartDeviceLink Ver. Available
    voiceRecOnNSNumber * Voice recognition is on - * SmartDeviceLink 2.0
    btIconOnNSNumber * Bluetooth connection established - * SmartDeviceLink 2.0
    callActiveNSNumber * A call is being active - * SmartDeviceLink 2.0
    phoneRoamingNSNumber * The phone is in roaming mode - * SmartDeviceLink 2.0
    textMsgAvailableNSNumber * A textmessage is available - * SmartDeviceLink 2.0
    battLevelStatusSDLDeviceLevelStatus * Battery level status - * SmartDeviceLink 2.0
    stereoAudioOutputMutedNSNumber * Status of the stereo audio output channel - * SmartDeviceLink 2.0
    monoAudioOutputMutedNSNumber * Status of the mono audio output channel - * SmartDeviceLink 2.0
    signalLevelStatusSDLDeviceLevelStatus * Signal level status - * SmartDeviceLink 2.0
    primaryAudioSourcePrimaryAudioSource * Reflects the current primary audio source of SDL (if selected). - * SmartDeviceLink 2.0
    eCallEventActiveNSNumber * Reflects, if an eCall event is active - * SmartDeviceLink 2.0
    - * @since SDL 2.0 + Describes the status related to a connected mobile device or SDL and if or how it is represented in the vehicle. + + @since SDL 2.0 */ NS_ASSUME_NONNULL_BEGIN @@ -104,42 +18,42 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLDeviceStatus : SDLRPCStruct /** - * @abstract Indicates whether the voice recognition is on or off + * Indicates whether the voice recognition is on or off * * Required, Boolean */ @property (strong, nonatomic) NSNumber *voiceRecOn; /** - * @abstract Indicates whether the bluetooth connection established + * Indicates whether the bluetooth connection established * * Required, Boolean */ @property (strong, nonatomic) NSNumber *btIconOn; /** - * @abstract Indicates whether a call is being active + * Indicates whether a call is being active * * Required, Boolean */ @property (strong, nonatomic) NSNumber *callActive; /** - * @abstract Indicates whether the phone is in roaming mode + * Indicates whether the phone is in roaming mode * * Required, Boolean */ @property (strong, nonatomic) NSNumber *phoneRoaming; /** - * @abstract Indicates whether a textmessage is available + * Indicates whether a textmessage is available * * Required, Boolean */ @property (strong, nonatomic) NSNumber *textMsgAvailable; /** - * @abstract Battery level status + * Battery level status * * @see SDLDeviceLevelStatus * @@ -148,21 +62,21 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) SDLDeviceLevelStatus battLevelStatus; /** - * @abstract The status of the stereo audio output channel + * The status of the stereo audio output channel * * Required, Boolean */ @property (strong, nonatomic) NSNumber *stereoAudioOutputMuted; /** - * @abstract The status of the mono audio output channel + * The status of the mono audio output channel * * Required, Boolean */ @property (strong, nonatomic) NSNumber *monoAudioOutputMuted; /** - * @abstract Signal level status + * Signal level status * * @see SDLDeviceLevelStatus * @@ -171,7 +85,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) SDLDeviceLevelStatus signalLevelStatus; /** - * @abstract The current primary audio source of SDL (if selected). + * The current primary audio source of SDL (if selected). * * @see SDLPrimaryAudioSource * @@ -180,7 +94,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) SDLPrimaryAudioSource primaryAudioSource; /** - * @abstract Indicates if an emergency call is active + * Indicates if an emergency call is active * * Required, Boolean */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDiagnosticMessage.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDiagnosticMessage.h index d056c54..c4ede3b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDiagnosticMessage.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDiagnosticMessage.h @@ -5,9 +5,9 @@ #import "SDLRPCRequest.h" /** - * Non periodic vehicle diagnostic request + * Non periodic vehicle diagnostic request * - * @since SDL 3.0 + * @since SDL 3.0 */ NS_ASSUME_NONNULL_BEGIN @@ -17,23 +17,23 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithTargetId:(UInt16)targetId length:(UInt16)length data:(NSArray *> *)data; /** - * Name of target ECU + * Name of target ECU * - * Required, Integer, 0 - 65535 + * Required, Integer, 0 - 65535 */ @property (strong, nonatomic) NSNumber *targetID; /** - * Length of message (in bytes) + * Length of message (in bytes) * - * Required, Integer, 65535 + * Required, Integer, 65535 */ @property (strong, nonatomic) NSNumber *messageLength; /** * Array of bytes comprising CAN message. * - * Required, Array of NSNumber (Integers), Array size 1 - 65535, Integer Size 0 - 255 + * Required, Array of NSNumber (Integers), Array size 1 - 65535, Integer Size 0 - 255 */ @property (strong, nonatomic) NSArray *> *messageData; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDiagnosticMessageResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDiagnosticMessageResponse.h index 6012454..f78dbe2 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDiagnosticMessageResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDiagnosticMessageResponse.h @@ -4,14 +4,20 @@ #import "SDLRPCResponse.h" -/** SDLDiagnosticMessageResponse is sent, when SDLDiagnosticMessage has been called. - * SinceSmartDeviceLink 3.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLDiagnosticMessage + + Since SmartDeviceLink 3.0 + */ @interface SDLDiagnosticMessageResponse : SDLRPCResponse +/** + Array of bytes comprising CAN message result. + + Required + */ @property (strong, nonatomic) NSArray *> *messageDataResult; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDialNumberResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDialNumberResponse.h index 7f8dfaa..f1a9265 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDialNumberResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDialNumberResponse.h @@ -5,7 +5,7 @@ #import "SDLRPCResponse.h" /** - Indicates the result, success, or failure of the SDLDialNumber request. + The response to SDLDialNumber @since SDL 4.0 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDimension.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDimension.h index a05d9f1..a1c5ab8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDimension.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDimension.h @@ -5,23 +5,23 @@ #import "SDLEnum.h" /** - * The supported dimensions of the GPS. + * The supported dimensions of the GPS. Used in GPSData * * @since SDL 2.0 */ typedef SDLEnum SDLDimension SDL_SWIFT_ENUM; /** - * @abstract No GPS at all + * No GPS at all */ extern SDLDimension const SDLDimensionNoFix; /** - * @abstract Longitude and latitude of the GPS + * Longitude and latitude of the GPS */ extern SDLDimension const SDLDimension2D; /** - * @abstract Longitude and latitude and altitude of the GPS + * Longitude and latitude and altitude of the GPS */ extern SDLDimension const SDLDimension3D; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities+ShowManagerExtensions.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities+ShowManagerExtensions.m index 351c625..188b107 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities+ShowManagerExtensions.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities+ShowManagerExtensions.m @@ -40,6 +40,10 @@ - (NSUInteger)maxNumberOfMainFieldLines { } - (BOOL)hasImageFieldOfName:(SDLImageFieldName)name { + if (!self.graphicSupported.boolValue) { + return NO; + } + for (SDLImageField *imageField in self.imageFields) { if ([imageField.name isEqualToString:name]) { return YES; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities.h index 3ef70cb..b278ef3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities.h @@ -21,14 +21,21 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLDisplayCapabilities : SDLRPCStruct /** - * @abstract The type of display + * The type of display * * Required */ -@property (strong, nonatomic) SDLDisplayType displayType; +@property (strong, nonatomic) SDLDisplayType displayType __deprecated_msg("See `displayName` instead"); /** - * @abstract An array of SDLTextField structures, each of which describes a field in the HMI which the application can write to using operations such as *SDLShow*, *SDLSetMediaClockTimer*, etc. + The name of the connected display + + Optional + */ +@property (strong, nonatomic, nullable) NSString *displayName; + +/** + * An array of SDLTextField structures, each of which describes a field in the HMI which the application can write to using operations such as *SDLShow*, *SDLSetMediaClockTimer*, etc. * * @discussion This array of SDLTextField structures identify all the text fields to which the application can write on the current display (identified by SDLDisplayType). * @@ -39,7 +46,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) NSArray *textFields; /** - * @abstract An array of SDLImageField elements + * An array of SDLImageField elements * * @discussion A set of all fields that support images. * @@ -50,7 +57,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSArray *imageFields; /** - * @abstract An array of SDLMediaClockFormat elements, defining the valid string formats used in specifying the contents of the media clock field + * An array of SDLMediaClockFormat elements, defining the valid string formats used in specifying the contents of the media clock field * * @see SDLMediaClockFormat * @@ -59,7 +66,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) NSArray *mediaClockFormats; /** - * @abstract The display's persistent screen supports. + * The display's persistent screen supports. * * @since SDL 2.0 * @@ -68,7 +75,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) NSNumber *graphicSupported; /** - * @abstract Number of presets the screen supports + * Number of presets the screen supports * * @discussion The number of on-screen custom presets available (if any) * @@ -77,14 +84,14 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSArray *templatesAvailable; /** - * @abstract A set of all parameters related to a prescribed screen area (e.g. for video / touch input) + * A set of all parameters related to a prescribed screen area (e.g. for video / touch input) * * Optional */ @property (nullable, strong, nonatomic) SDLScreenParams *screenParams; /** - * @abstract The number of on-screen custom presets available (if any); otherwise omitted + * The number of on-screen custom presets available (if any); otherwise omitted * * Optional, Integer 1 - 100 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities.m index 06a8912..c161543 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayCapabilities.m @@ -21,6 +21,14 @@ - (SDLDisplayType)displayType { return [store sdl_objectForName:SDLNameDisplayType]; } +- (void)setDisplayName:(nullable NSString *)displayName { + [store sdl_setObject:displayName forName:SDLNameDisplayName]; +} + +- (nullable NSString *)displayName { + return [store sdl_objectForName:SDLNameDisplayName]; +} + - (void)setTextFields:(NSArray *)textFields { [store sdl_setObject:textFields forName:SDLNameTextFields]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayMode.h new file mode 100644 index 0000000..e570243 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayMode.h @@ -0,0 +1,26 @@ +// SDLDisplayMode.h +// + +#import "SDLEnum.h" + +/** + * Identifies the various display types used by SDL. + * + * @since SDL 1.0 + */ +typedef SDLEnum SDLDisplayMode SDL_SWIFT_ENUM; + +/** + * @abstract Display Mode : DAY + */ +extern SDLDisplayMode const SDLDisplayModeDay; + +/** + * @abstract Display Mode : NIGHT. + */ +extern SDLDisplayMode const SDLDisplayModeNight; + +/** + * @abstract Display Mode : AUTO. + */ +extern SDLDisplayMode const SDLDisplayModeAuto; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayMode.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayMode.m new file mode 100644 index 0000000..fc5a5bb --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayMode.m @@ -0,0 +1,8 @@ +// SDLDisplayMode.m +// + +#import "SDLDisplayMode.h" + +SDLDisplayMode const SDLDisplayModeDay = @"DAY"; +SDLDisplayMode const SDLDisplayModeNight = @"NIGHT"; +SDLDisplayMode const SDLDisplayModeAuto = @"AUTO"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayType.h index e9e9e5f..14ee845 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDisplayType.h @@ -5,36 +5,65 @@ #import "SDLEnum.h" /** - * Identifies the various display types used by SDL. - * - * @since SDL 1.0 + Identifies the various display types used by SDL. Used in DisplayCapabilities. + + @warning This should not be used to identify features of a display, this is a deprecated parameter. + + @since SDL 1.0 */ typedef SDLEnum SDLDisplayType SDL_SWIFT_ENUM; /** - * @abstract This display type provides a 2-line x 20 character "dot matrix" display. + * This display type provides a 2-line x 20 character "dot matrix" display. */ extern SDLDisplayType const SDLDisplayTypeCID; +/** + * Display type 2 + */ extern SDLDisplayType const SDLDisplayTypeType2; +/** + * Display type 5 + */ extern SDLDisplayType const SDLDisplayTypeType5; /** - * @abstract This display type provides an 8 inch touchscreen display. + * This display type provides an 8 inch touchscreen display. */ extern SDLDisplayType const SDLDisplayTypeNGN; +/** + * Display type Gen 28 DMA + */ extern SDLDisplayType const SDLDisplayTypeGen28DMA; +/** + * Display type Gen 26 DMA + */ extern SDLDisplayType const SDLDisplayTypeGen26DMA; +/** + * Display type MFD3 + */ extern SDLDisplayType const SDLDisplayTypeMFD3; +/** + * Display type MFD4 + */ extern SDLDisplayType const SDLDisplayTypeMFD4; +/** + * Display type MFD5 + */ extern SDLDisplayType const SDLDisplayTypeMFD5; +/** + * Display type Gen 3 8-inch + */ extern SDLDisplayType const SDLDisplayTypeGen38Inch; +/** + * Display type Generic + */ extern SDLDisplayType const SDLDisplayTypeGeneric; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDistanceUnit.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDistanceUnit.h new file mode 100644 index 0000000..12092b9 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDistanceUnit.h @@ -0,0 +1,19 @@ +// SDLDistanceUnit.h +// + +#import "SDLEnum.h" + +/** + * Wiper Status + */ +typedef SDLEnum SDLDistanceUnit SDL_SWIFT_ENUM; + +/** + * @abstract SDLDistanceUnit: *MILES* + */ +extern SDLDistanceUnit const SDLDistanceUnitMiles; + +/** + * @abstract SDLDistanceUnit: *KILOMETERS* + */ +extern SDLDistanceUnit const SDLDistanceUnitKilometers; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDistanceUnit.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDistanceUnit.m new file mode 100644 index 0000000..9b58810 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDistanceUnit.m @@ -0,0 +1,7 @@ +// SDLDistanceUnit.m +// + +#import "SDLDistanceUnit.h" + +SDLDistanceUnit const SDLDistanceUnitMiles = @"MILES"; +SDLDistanceUnit const SDLDistanceUnitKilometers = @"KILOMETERS"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDriverDistractionState.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDriverDistractionState.h index be94148..88b26b3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLDriverDistractionState.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLDriverDistractionState.h @@ -5,19 +5,19 @@ #import "SDLEnum.h" /** - * Enumeration that describes possible states of driver distraction. + * Enumeration that describes possible states of driver distraction. Used in OnDriverDistraction. * * @since SDL 1.0 */ typedef SDLEnum SDLDriverDistractionState SDL_SWIFT_ENUM; /** - * @abstract Driver distraction rules are in effect. + * Driver distraction rules are in effect. */ extern SDLDriverDistractionState const SDLDriverDistractionStateOn; /** - * @abstract Driver distraction rules are NOT in effect. + * Driver distraction rules are NOT in effect. */ extern SDLDriverDistractionState const SDLDriverDistractionStateOff; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLECallConfirmationStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLECallConfirmationStatus.h index ae63ca4..763cf0e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLECallConfirmationStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLECallConfirmationStatus.h @@ -4,36 +4,44 @@ #import "SDLEnum.h" -/** Reflects the status of the eCall Notification. - *Since SmartDeviceLink 2.0 -

    +/** + Reflects the status of the eCall Notification. Used in ECallInfo + + Since SmartDeviceLink 2.0 */ typedef SDLEnum SDLECallConfirmationStatus SDL_SWIFT_ENUM; -/** No E-Call signal triggered. +/** + No E-Call signal triggered. */ extern SDLECallConfirmationStatus const SDLECallConfirmationStatusNormal; -/** An E-Call is being in progress. +/** + An E-Call is being in progress. */ extern SDLECallConfirmationStatus const SDLECallConfirmationStatusInProgress; -/** CALL_CANCELLED An E-Call was cancelled by the user. +/** + An E-Call was cancelled by the user. */ extern SDLECallConfirmationStatus const SDLECallConfirmationStatusCancelled; -/** The E-Call sequence is completed. +/** + The E-Call sequence is completed. */ extern SDLECallConfirmationStatus const SDLECallConfirmationStatusCompleted; -/** An E-Call could not be connected. +/** + An E-Call could not be connected. */ extern SDLECallConfirmationStatus const SDLECallConfirmationStatusUnsuccessful; -/** E-Call is not configured on this vehicle. +/** + E-Call is not configured on this vehicle. */ extern SDLECallConfirmationStatus const SDLECallConfirmationStatusConfiguredOff; -/** E-Call is considered to be complete without Emergency Operator contact. +/** + E-Call is considered to be complete without Emergency Operator contact. */ extern SDLECallConfirmationStatus const SDLECallConfirmationStatusCompleteDTMFTimeout; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLECallInfo.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLECallInfo.h index 75d88f3..4d7ccc4 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLECallInfo.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLECallInfo.h @@ -8,10 +8,30 @@ NS_ASSUME_NONNULL_BEGIN +/** + A vehicle data struct for emergency call information + */ @interface SDLECallInfo : SDLRPCStruct +/** + References signal "eCallNotification_4A". See VehicleDataNotificationStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataNotificationStatus eCallNotificationStatus; + +/** + References signal "eCallNotification". See VehicleDataNotificationStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataNotificationStatus auxECallNotificationStatus; + +/** + References signal "eCallConfirmation". See ECallConfirmationStatus. + + Required + */ @property (strong, nonatomic) SDLECallConfirmationStatus eCallConfirmationStatus; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLElectronicParkBrakeStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLElectronicParkBrakeStatus.h new file mode 100644 index 0000000..c0faaad --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLElectronicParkBrakeStatus.h @@ -0,0 +1,35 @@ +// SDLElectronicParkBrakeStatus.h +// + + +#import "SDLEnum.h" + +/** + Reflects the status of the Electronic Parking Brake. A Vehicle Data Type. + */ +typedef SDLEnum SDLElectronicParkBrakeStatus SDL_SWIFT_ENUM; + +/** + Parking brake actuators have been fully applied. + */ +extern SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusClosed; + +/** + Parking brake actuators are transitioning to either Apply/Closed or Release/Open state. + */ +extern SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusTransition; + +/** + Parking brake actuators are released. + */ +extern SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusOpen; + +/** + When driver pulls the Electronic Parking Brake switch while driving "at speed". + */ +extern SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusDriveActive; + +/** + When system has a fault or is under maintenance. + */ +extern SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusFault; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLElectronicParkBrakeStatus.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLElectronicParkBrakeStatus.m new file mode 100644 index 0000000..23b55ca --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLElectronicParkBrakeStatus.m @@ -0,0 +1,18 @@ +// +// SDLElectronicParkBrakeStatus.m +// SmartDeviceLink +// +// Created by Joel Fischer on 7/16/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLElectronicParkBrakeStatus.h" + +typedef SDLEnum SDLElectronicParkBrakeStatus SDL_SWIFT_ENUM; + + +SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusClosed = @"CLOSED"; +SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusTransition = @"TRANSITION"; +SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusOpen = @"OPEN"; +SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusDriveActive = @"DRIVE_ACTIVE"; +SDLElectronicParkBrakeStatus const SDLElectronicParkBrakeStatusFault = @"FAULT"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEmergencyEvent.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEmergencyEvent.h index 759c646..b4d8f4d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEmergencyEvent.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEmergencyEvent.h @@ -9,12 +9,49 @@ NS_ASSUME_NONNULL_BEGIN +/** + A vehicle data struct for an emergency event + */ @interface SDLEmergencyEvent : SDLRPCStruct +/** + References signal "VedsEvntType_D_Ltchd". See EmergencyEventType. + + Required + */ @property (strong, nonatomic) SDLEmergencyEventType emergencyEventType; + +/** + References signal "RCM_FuelCutoff". See FuelCutoffStatus. + + Required + */ @property (strong, nonatomic) SDLFuelCutoffStatus fuelCutoffStatus; + +/** + References signal "VedsEvntRoll_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus rolloverEvent; + +/** + References signal "VedsMaxDeltaV_D_Ltchd". Change in velocity in KPH. + + Additional reserved values: + 0x00 No event, + 0xFE Not supported, + 0xFF Fault + + Required + */ @property (strong, nonatomic) NSNumber *maximumChangeVelocity; + +/** + References signal "VedsMultiEvnt_D_Ltchd". See VehicleDataEventStatus. + + Required + */ @property (strong, nonatomic) SDLVehicleDataEventStatus multipleEvents; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEmergencyEventType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEmergencyEventType.h index d751299..4b93558 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEmergencyEventType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEmergencyEventType.h @@ -4,36 +4,44 @@ #import "SDLEnum.h" -/** Reflects the emergency event status of the vehicle. - * Since: SmartDeviceLink 2.0 - *

    +/** + Reflects the emergency event status of the vehicle. Used in EmergencyEvent + + Since SmartDeviceLink 2.0 */ typedef SDLEnum SDLEmergencyEventType SDL_SWIFT_ENUM; -/** No emergency event has happened. +/** + No emergency event has happened. */ extern SDLEmergencyEventType const SDLEmergencyEventTypeNoEvent; -/** Frontal collision has happened. +/** + Frontal collision has happened. */ extern SDLEmergencyEventType const SDLEmergencyEventTypeFrontal; -/** Side collision has happened. +/** + Side collision has happened. */ extern SDLEmergencyEventType const SDLEmergencyEventTypeSide; -/**Rear collision has happened. +/** + Rear collision has happened. */ extern SDLEmergencyEventType const SDLEmergencyEventTypeRear; -/** A rollover event has happened. +/** + A rollover event has happened. */ extern SDLEmergencyEventType const SDLEmergencyEventTypeRollover; -/** The signal is not supported +/** + The signal is not supported */ extern SDLEmergencyEventType const SDLEmergencyEventTypeNotSupported; -/** Emergency status cannot be determined +/** + Emergency status cannot be determined */ extern SDLEmergencyEventType const SDLEmergencyEventTypeFault; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEncodedSyncPData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEncodedSyncPData.h index 2d2c8fe..402147c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEncodedSyncPData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEncodedSyncPData.h @@ -4,10 +4,23 @@ #import "SDLRPCRequest.h" +/* + * Allows encoded data in the form of SyncP packets to be sent to the SYNC module. Legacy / v1 Protocol implementation; use SyncPData instead. + * + * *** DEPRECATED *** + */ + NS_ASSUME_NONNULL_BEGIN @interface SDLEncodedSyncPData : SDLRPCRequest +/** + * Contains base64 encoded string of SyncP packets. + * + * Required, Array length 1 - 100, String length 1 - 1,000,000 + * + * @see SDLTTSChunk + */ @property (strong, nonatomic) NSArray *data; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEncodedSyncPDataResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEncodedSyncPDataResponse.h index f8a4daf..8536ad3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEncodedSyncPDataResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEncodedSyncPDataResponse.h @@ -6,6 +6,11 @@ NS_ASSUME_NONNULL_BEGIN +/** + The response to SDLEncodedSyncPData + + **DEPRECATED** + */ @interface SDLEncodedSyncPDataResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEndAudioPassThruResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEndAudioPassThruResponse.h index bda7b4f..9962750 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEndAudioPassThruResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEndAudioPassThruResponse.h @@ -5,9 +5,9 @@ #import "SDLRPCResponse.h" /** - * SDLEndAudioPassThruResponse is sent, when SDLEndAudioPassThru has been called - * - * Since SmartDeviceLink 2.0 + Response to SDLEndAudioPassThru + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEnum.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEnum.h index f224d8e..d22bc44 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEnum.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEnum.h @@ -11,6 +11,12 @@ typedef NSString* SDLEnum SDL_SWIFT_ENUM; @interface NSString (SDLEnum) +/** + * Returns whether or not two enums are equal. + * + * @param enumObj A SDLEnum object + * @return YES if the two enums are equal. NO if not. + */ - (BOOL)isEqualToEnum:(SDLEnum)enumObj; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEqualizerSettings.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEqualizerSettings.h new file mode 100644 index 0000000..64da621 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEqualizerSettings.h @@ -0,0 +1,41 @@ +// SDLEqualizerSettings.h +// + +#import "SDLRPCMessage.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Defines the each Equalizer channel settings. + */ + +@interface SDLEqualizerSettings : SDLRPCStruct + +- (instancetype)initWithChannelId:(UInt8)channelId channelSetting:(UInt8)channelSetting; + +/** + * @abstract Read-only channel / frequency name + * (e.i. "Treble, Midrange, Bass" or "125 Hz") + * + * Optional, Max String length 50 chars + */ +@property (nullable, strong, nonatomic) NSString *channelName; + + +/** + * @abstract Reflects the setting, from 0%-100%. + * + * Required, Integer 1 - 100 + */ +@property (strong, nonatomic) NSNumber *channelSetting; + +/** + * @abstract id of the channel. + * + * Required, Integer 1 - 100 + */ +@property (strong, nonatomic) NSNumber *channelId; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLEqualizerSettings.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEqualizerSettings.m new file mode 100644 index 0000000..1106d45 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLEqualizerSettings.m @@ -0,0 +1,50 @@ +// SDLEqualizerSettings.m +// + +#import "SDLEqualizerSettings.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLEqualizerSettings + +- (instancetype)initWithChannelId:(UInt8)channelId channelSetting:(UInt8)channelSetting { + self = [self init]; + if(!self) { + return nil; + } + + self.channelId = @(channelId); + self.channelSetting = @(channelSetting); + + return self; +} + +- (void)setChannelId:(NSNumber *)channelId { + [store sdl_setObject:channelId forName:SDLNameChannelId]; +} + +- (NSNumber *)channelId { + return [store sdl_objectForName:SDLNameChannelId]; +} + +- (void)setChannelName:(nullable NSString *)channelName { + [store sdl_setObject:channelName forName:SDLNameChannelName]; +} + +- (nullable NSString *)channelName { + return [store sdl_objectForName:SDLNameChannelName]; +} + +- (void)setChannelSetting:(NSNumber *)channelSetting { + [store sdl_setObject:channelSetting forName:SDLNameChannelSetting]; +} + +- (NSNumber *)channelSetting { + return [store sdl_objectForName:SDLNameChannelSetting]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLError.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLError.h index 3ae7673..4a0cbd7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLError.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLError.h @@ -19,6 +19,11 @@ NS_ASSUME_NONNULL_BEGIN typedef NSString SDLErrorDomain; extern SDLErrorDomain *const SDLErrorDomainLifecycleManager; extern SDLErrorDomain *const SDLErrorDomainFileManager; +extern SDLErrorDomain *const SDLErrorDomainTextAndGraphicManager; +extern SDLErrorDomain *const SDLErrorDomainSoftButtonManager; +extern SDLErrorDomain *const SDLErrorDomainMenuManager; +extern SDLErrorDomain *const SDLErrorDomainChoiceSetManager; +extern SDLErrorDomain *const SDLErrorDomainTransport; @interface NSError (SDLErrors) @@ -47,9 +52,27 @@ extern SDLErrorDomain *const SDLErrorDomainFileManager; + (NSError *)sdl_fileManager_dataMissingError; #pragma mark Show Managers + + (NSError *)sdl_softButtonManager_pendingUpdateSuperseded; + (NSError *)sdl_textAndGraphicManager_pendingUpdateSuperseded; +#pragma mark Menu Manager + ++ (NSError *)sdl_menuManager_failedToUpdateWithDictionary:(NSDictionary *)userInfo; + +#pragma mark Choice Set Manager + ++ (NSError *)sdl_choiceSetManager_choicesDeletedBeforePresentation:(NSDictionary *)userInfo; ++ (NSError *)sdl_choiceSetManager_choiceDeletionFailed:(NSDictionary *)userInfo; ++ (NSError *)sdl_choiceSetManager_choiceUploadFailed:(NSDictionary *)userInfo; + +#pragma mark Transport + ++ (NSError *)sdl_transport_unknownError; ++ (NSError *)sdl_transport_connectionRefusedError; ++ (NSError *)sdl_transport_connectionTimedOutError; ++ (NSError *)sdl_transport_networkDownError; + @end @interface NSException (SDLExceptions) diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLError.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLError.m index c5bda35..2597a56 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLError.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLError.m @@ -16,6 +16,9 @@ SDLErrorDomain *const SDLErrorDomainFileManager = @"com.sdl.filemanager.error"; SDLErrorDomain *const SDLErrorDomainTextAndGraphicManager = @"com.sdl.textandgraphicmanager.error"; SDLErrorDomain *const SDLErrorDomainSoftButtonManager = @"com.sdl.softbuttonmanager.error"; +SDLErrorDomain *const SDLErrorDomainMenuManager = @"com.sdl.menumanager.error"; +SDLErrorDomain *const SDLErrorDomainChoiceSetManager = @"com.sdl.choicesetmanager.error"; +SDLErrorDomain *const SDLErrorDomainTransport = @"com.sdl.transport.error"; @implementation NSError (SDLErrors) @@ -185,7 +188,7 @@ + (NSError *)sdl_fileManager_fileDoesNotExistError { return [NSError errorWithDomain:SDLErrorDomainFileManager code:SDLFileManagerErrorFileDoesNotExist userInfo:userInfo]; } -#pragma mark Show Managers +#pragma mark Screen Managers + (NSError *)sdl_textAndGraphicManager_pendingUpdateSuperseded { return [NSError errorWithDomain:SDLErrorDomainTextAndGraphicManager code:SDLTextAndGraphicManagerErrorPendingUpdateSuperseded userInfo:nil]; @@ -195,6 +198,64 @@ + (NSError *)sdl_softButtonManager_pendingUpdateSuperseded { return [NSError errorWithDomain:SDLErrorDomainSoftButtonManager code:SDLSoftButtonManagerErrorPendingUpdateSuperseded userInfo:nil]; } +#pragma mark Menu Manager + ++ (NSError *)sdl_menuManager_failedToUpdateWithDictionary:(NSDictionary *)userInfo { + return [NSError errorWithDomain:SDLErrorDomainMenuManager code:SDLMenuManagerErrorRPCsFailed userInfo:userInfo]; +} + +#pragma mark Choice Set Manager + ++ (NSError *)sdl_choiceSetManager_choicesDeletedBeforePresentation:(NSDictionary *)userInfo { + return [NSError errorWithDomain:SDLErrorDomainChoiceSetManager code:SDLChoiceSetManagerErrorPendingPresentationDeleted userInfo:userInfo]; +} + ++ (NSError *)sdl_choiceSetManager_choiceDeletionFailed:(NSDictionary *)userInfo { + return [NSError errorWithDomain:SDLErrorDomainChoiceSetManager code:SDLChoiceSetManagerErrorDeletionFailed userInfo:userInfo]; +} + ++ (NSError *)sdl_choiceSetManager_choiceUploadFailed:(NSDictionary *)userInfo { + return [NSError errorWithDomain:SDLErrorDomainChoiceSetManager code:SDLChoiceSetManagerErrorUploadFailed userInfo:userInfo]; +} + +#pragma mark Transport + ++ (NSError *)sdl_transport_unknownError { + NSDictionary *userInfo = @{ + NSLocalizedDescriptionKey: NSLocalizedString(@"TCP connection error", nil), + NSLocalizedFailureReasonErrorKey: NSLocalizedString(@"TCP connection cannot be established due to unknown error.", nil), + NSLocalizedRecoverySuggestionErrorKey: NSLocalizedString(@"Make sure that correct IP address and TCP port number are specified, and the phone is connected to the correct Wi-Fi network.", nil) + }; + return [NSError errorWithDomain:SDLErrorDomainTransport code:SDLTransportErrorUnknown userInfo:userInfo]; +} + ++ (NSError *)sdl_transport_connectionRefusedError { + NSDictionary *userInfo = @{ + NSLocalizedDescriptionKey: NSLocalizedString(@"TCP connection cannot be established", nil), + NSLocalizedFailureReasonErrorKey: NSLocalizedString(@"The TCP connection is refused by head unit. Possible causes are that the specified TCP port number is not correct, or SDL Core is not running properly on the head unit.", nil), + NSLocalizedRecoverySuggestionErrorKey: NSLocalizedString(@"Make sure that correct IP address and TCP port number are specified. Also, make sure that SDL Core on the head unit enables TCP transport.", nil) + }; + return [NSError errorWithDomain:SDLErrorDomainTransport code:SDLTransportErrorConnectionRefused userInfo:userInfo]; +} + ++ (NSError *)sdl_transport_connectionTimedOutError { + NSDictionary *userInfo = @{ + NSLocalizedDescriptionKey: NSLocalizedString(@"TCP connection timed out", nil), + NSLocalizedFailureReasonErrorKey: NSLocalizedString(@"The TCP connection cannot be established within a given time. Possible causes are that the specified IP address is not correct, or the connection is blocked by a firewall.", nil), + NSLocalizedRecoverySuggestionErrorKey: NSLocalizedString(@"Make sure that correct IP address and TCP port number are specified. Also, make sure that the head unit's system configuration accepts TCP connections.", nil) + }; + return [NSError errorWithDomain:SDLErrorDomainTransport code:SDLTransportErrorConnectionTimedOut userInfo:userInfo]; +} + ++ (NSError *)sdl_transport_networkDownError { + NSDictionary *userInfo = @{ + NSLocalizedDescriptionKey: NSLocalizedString(@"Network is not available", nil), + NSLocalizedFailureReasonErrorKey: NSLocalizedString(@"TCP connection cannot be established because the phone is not connected to the network. Possible causes are: Wi-Fi being disabled on the phone or the phone is connected to a wrong Wi-Fi network.", nil), + NSLocalizedRecoverySuggestionErrorKey: NSLocalizedString(@"Make sure that the phone is connected to the Wi-Fi network that has the head unit on it. Also, make sure that correct IP address and TCP port number are specified.", nil) + }; + return [NSError errorWithDomain:SDLErrorDomainTransport code:SDLTransportErrorNetworkDown userInfo:userInfo]; +} + @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLErrorConstants.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLErrorConstants.h index 5eefd10..8503d8b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLErrorConstants.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLErrorConstants.h @@ -88,10 +88,60 @@ typedef NS_ENUM(NSInteger, SDLFileManagerError) { SDLFileManagerErrorFileDataMissing = -9, }; +/** + Errors associated with the ScreenManager class + + - SDLTextAndGraphicManagerErrorPendingUpdateSuperseded: A pending update was superseded by a newer requested update. The old update will not be sent + */ typedef NS_ENUM(NSInteger, SDLTextAndGraphicManagerError) { SDLTextAndGraphicManagerErrorPendingUpdateSuperseded = -1 }; +/** + Errors associated with the ScreenManager class + + - SDLSoftButtonManagerErrorPendingUpdateSuperseded: A pending update was superseded by a newer requested update. The old update will not be sent + */ typedef NS_ENUM(NSInteger, SDLSoftButtonManagerError) { SDLSoftButtonManagerErrorPendingUpdateSuperseded = -1 }; + +/** + Errors associated with the ScreenManager class + + - SDLMenuManagerErrorRPCsFailed: Sending menu-related RPCs returned an error from the remote system + */ +typedef NS_ENUM(NSInteger, SDLMenuManagerError) { + SDLMenuManagerErrorRPCsFailed = -1 +}; + +typedef NS_ENUM(NSInteger, SDLChoiceSetManagerError) { + SDLChoiceSetManagerErrorPendingPresentationDeleted = -1, + SDLChoiceSetManagerErrorDeletionFailed = -2, + SDLChoiceSetManagerErrorUploadFailed = -3, +}; + +/** + * Errors associated with transport. + */ +typedef NS_ENUM(NSInteger, SDLTransportError) { + /** + * Connection cannot be established due to a reason not listed here. + */ + SDLTransportErrorUnknown = -1, + /** + * TCP connection is refused. + * Probably specified port number is invalid, or SDL Core is not running on the head unit. + */ + SDLTransportErrorConnectionRefused = -2, + /** + * TCP connection cannot be established within given time. + * Probably because of wrong IP address, or the connection may be blocked by a firewall. + */ + SDLTransportErrorConnectionTimedOut = -3, + /** + * TCP connection cannot be established since network is down. + * Probably the phone is not connected to the correct network. + */ + SDLTransportErrorNetworkDown = -4, +}; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFile.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFile.m index 9fc4d54..5e92571 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFile.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFile.m @@ -100,17 +100,17 @@ - (NSData *)data { /** Initalizes a socket from which to read data. + @discussion A new `NSInputStream` is created when requested instead of returning the already open `NSInputStream`. This is done because once a opened, a stream *cannot* be closed and reopened. If the same file is accessed multiple times (i.e. a non-persistant file is uploaded before and after a disconnect from Core during the same session) the file cannot be accessed after the first access because the stream is closed once the upload is completed. Apple `NSInputStream` doc: https://developer.apple.com/documentation/foundation/nsstream/1411963-open + @return A socket */ - (NSInputStream *)inputStream { - if (!_inputStream) { - if (_fileURL) { - // Data in file - _inputStream = [[NSInputStream alloc] initWithURL:_fileURL]; - } else if (_data.length != 0) { - // Data in memory - _inputStream = [[NSInputStream alloc] initWithData:_data]; - } + if (_fileURL) { + // Data in file + _inputStream = [[NSInputStream alloc] initWithURL:_fileURL]; + } else if (_data.length != 0) { + // Data in memory + _inputStream = [[NSInputStream alloc] initWithData:_data]; } return _inputStream; } @@ -161,6 +161,30 @@ - (id)copyWithZone:(nullable NSZone *)zone { return [[self.class allocWithZone:zone] initWithFileURL:_fileURL name:_name persistent:_persistent]; } +#pragma mark - NSObject overrides + +- (NSUInteger)hash { + return self.name.hash ^ self.data.hash; +} + +- (BOOL)isEqual:(id)object { + if (self == object) { return YES; } + + if (![object isKindOfClass:[SDLFile class]]) { return NO; } + + return [self isEqualToFile:(SDLFile *)object]; +} + +- (BOOL)isEqualToFile:(SDLFile *)file { + if (!file) { return NO; } + + BOOL haveEqualNames = [self.name isEqualToString:file.name]; + BOOL haveEqualData = [self.data isEqualToData:file.data]; + BOOL haveEqualFormats = [self.fileType isEqualToEnum:file.fileType]; + + return haveEqualNames && haveEqualData && haveEqualFormats; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManager.h index 49755ae..5eae0ff 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManager.h @@ -12,13 +12,12 @@ #import "SDLFileManagerConstants.h" @class SDLFile; +@class SDLFileManagerConfiguration; @protocol SDLConnectionManagerType; NS_ASSUME_NONNULL_BEGIN -typedef NSString SDLFileName; - typedef void (^SDLFileManagerStartupCompletionHandler)(BOOL success, NSError *__nullable error); @@ -66,7 +65,17 @@ typedef void (^SDLFileManagerStartupCompletionHandler)(BOOL success, NSError *__ * * @return An instance of SDLFileManager */ -- (instancetype)initWithConnectionManager:(id)manager NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithConnectionManager:(id)manager __deprecated_msg("Use initWithConnectionManager:configuration: instead"); + +/** + * Creates a new file manager with a specified connection manager and configuration + * + * @param manager A connection manager to use to forward on RPCs + * @param configuration A configuration for this file manager session + * + * @return An instance of SDLFileManager + */ +- (instancetype)initWithConnectionManager:(id)manager configuration:(SDLFileManagerConfiguration *)configuration NS_DESIGNATED_INITIALIZER; /** * The manager stars up and attempts to fetch its initial list and transfer initial files. diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManager.m index 4d9c296..9ff7498 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManager.m @@ -13,13 +13,13 @@ #import "SDLDeleteFileOperation.h" #import "SDLError.h" #import "SDLFile.h" +#import "SDLFileManagerConfiguration.h" #import "SDLFileWrapper.h" #import "SDLGlobals.h" #import "SDLListFilesOperation.h" #import "SDLManager.h" #import "SDLNotificationConstants.h" #import "SDLPutFile.h" -#import "SDLPutFileResponse.h" #import "SDLStateMachine.h" #import "SDLUploadFileOperation.h" @@ -50,6 +50,10 @@ @interface SDLFileManager () @property (strong, nonatomic) SDLStateMachine *stateMachine; @property (copy, nonatomic, nullable) SDLFileManagerStartupCompletionHandler startupCompletionHandler; +@property (strong, nonatomic) NSMutableDictionary *> *failedFileUploadsCount; +@property (assign, nonatomic) UInt8 maxFileUploadAttempts; +@property (assign, nonatomic) UInt8 maxArtworkUploadAttempts; + @end #pragma mark Constants @@ -59,6 +63,10 @@ @implementation SDLFileManager #pragma mark - Lifecycle - (instancetype)initWithConnectionManager:(id)manager { + return [self initWithConnectionManager:manager configuration:[SDLFileManagerConfiguration defaultConfiguration]]; +} + +- (instancetype)initWithConnectionManager:(id)manager configuration:(SDLFileManagerConfiguration *)configuration { self = [super init]; if (!self) { return nil; @@ -76,10 +84,13 @@ - (instancetype)initWithConnectionManager:(id)manager _stateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:SDLFileManagerStateShutdown states:[self.class sdl_stateTransitionDictionary]]; + _failedFileUploadsCount = [NSMutableDictionary dictionary]; + _maxFileUploadAttempts = configuration.fileRetryCount + 1; + _maxArtworkUploadAttempts = configuration.artworkRetryCount + 1; + return self; } - #pragma mark - Setup / Shutdown - (void)startWithCompletionHandler:(nullable SDLFileManagerStartupCompletionHandler)handler { @@ -94,6 +105,9 @@ - (void)startWithCompletionHandler:(nullable SDLFileManagerStartupCompletionHand - (void)stop { [self.stateMachine transitionToState:SDLFileManagerStateShutdown]; + + // Clear the failed uploads tracking so failed files can be uploaded again when a new connection has been established with Core + _failedFileUploadsCount = [NSMutableDictionary dictionary]; } @@ -147,7 +161,10 @@ - (void)didEnterStateShutdown { [self.class sdl_clearTemporaryFileDirectory]; self.bytesAvailable = 0; - self.startupCompletionHandler = nil; + if (self.startupCompletionHandler != nil) { + self.startupCompletionHandler(NO, [NSError sdl_fileManager_unableToStartError]); + self.startupCompletionHandler = nil; + } } - (void)didEnterStateFetchingInitialList { @@ -211,13 +228,13 @@ - (void)deleteRemoteFileWithName:(SDLFileName *)name completionHandler:(nullable __strong typeof(weakSelf) strongSelf = weakSelf; // Mutate self based on the changes - strongSelf.bytesAvailable = bytesAvailable; if (success) { + strongSelf.bytesAvailable = bytesAvailable; [strongSelf.mutableRemoteFileNames removeObject:name]; } if (handler != nil) { - handler(success, self.bytesAvailable, error); + handler(success, bytesAvailable, error); } }]; @@ -326,35 +343,6 @@ - (void)uploadFiles:(NSArray *)files progressHandler:(nullable SDLFil }); } -/** - * Computes the total amount of bytes to be uploaded to the remote. This total is computed by summing up the file size of all files to be uploaded to the remote - * - * @param files All the files being uploaded to the remote - * @return The total byte count - */ -- (float)sdl_totalBytesToUpload:(NSArray *)files { - float totalBytes = 0.0; - for(SDLFile *file in files) { - totalBytes += file.fileSize; - } - - return totalBytes; -} - -/** - * Computes the percentage of files uploaded to the remote. This percentage is a decimal number between 0.0 - 1.0. It is calculated by dividing the total number of bytes in files successfully or unsuccessfully uploaded by the total number of bytes in all files to be uploaded. - * - * @param totalBytes The total number of bytes in all files to be uploaded - * @param uploadedBytes The total number of bytes in files successfully or unsuccessfully uploaded - * @return The upload percentage - */ -- (float)sdl_uploadPercentage:(float)totalBytes uploadedBytes:(float)uploadedBytes { - if (totalBytes == 0 || uploadedBytes == 0) { - return 0.0; - } - return uploadedBytes / totalBytes; -} - - (void)uploadFile:(SDLFile *)file completionHandler:(nullable SDLFileManagerUploadCompletionHandler)handler { if (file == nil || file.data.length == 0) { if (handler != nil) { @@ -397,14 +385,23 @@ - (void)sdl_uploadFile:(SDLFile *)file completionHandler:(nullable SDLFileManage if (self.uploadsInProgress[file.name]) { [self.uploadsInProgress removeObjectForKey:file.name]; } - - if (bytesAvailable != 0) { - weakSelf.bytesAvailable = bytesAvailable; - } + if (success) { + weakSelf.bytesAvailable = bytesAvailable; [weakSelf.mutableRemoteFileNames addObject:fileName]; [weakSelf.uploadedEphemeralFileNames addObject:fileName]; + } else { + self.failedFileUploadsCount = [self.class sdl_incrementFailedUploadCountForFileName:file.name failedFileUploadsCount:self.failedFileUploadsCount]; + + UInt8 maxUploadCount = [file isKindOfClass:[SDLArtwork class]] ? self.maxArtworkUploadAttempts : self.maxFileUploadAttempts; + if ([self sdl_canFileBeUploadedAgain:file maxUploadCount:maxUploadCount failedFileUploadsCount:self.failedFileUploadsCount]) { + SDLLogD(@"Attempting to resend file with name %@ after a failed upload attempt", file.name); + return [self sdl_uploadFile:file completionHandler:handler]; + } else { + SDLLogE(@"File named %@ failed to upload. Max number of upload attempts reached", file.name); + } } + if (uploadCompletion != nil) { uploadCompletion(success, bytesAvailable, error); } @@ -421,7 +418,7 @@ - (void)sdl_uploadFile:(SDLFile *)file completionHandler:(nullable SDLFileManage - (void)uploadArtwork:(SDLArtwork *)artwork completionHandler:(nullable SDLFileManagerUploadArtworkCompletionHandler)completion { [self uploadFile:artwork completionHandler:^(BOOL success, NSUInteger bytesAvailable, NSError * _Nullable error) { if (completion == nil) { return; } - if ([self isErrorACannotOverwriteError:error]) { + if ([self sdl_isErrorCannotOverwriteError:error]) { // Artwork with same name already uploaded to remote return completion(true, artwork.name, bytesAvailable, nil); } @@ -440,7 +437,7 @@ - (void)uploadArtworks:(NSArray *)artworks progressHandler:(nullab [self uploadFiles:artworks progressHandler:^BOOL(SDLFileName * _Nonnull fileName, float uploadPercentage, NSError * _Nullable error) { if (progressHandler == nil) { return YES; } - if ([self isErrorACannotOverwriteError:error]) { + if ([self sdl_isErrorCannotOverwriteError:error]) { return progressHandler(fileName, uploadPercentage, nil); } return progressHandler(fileName, uploadPercentage, error); @@ -455,7 +452,7 @@ - (void)uploadArtworks:(NSArray *)artworks progressHandler:(nullab if (error != nil) { for (NSString *erroredArtworkName in error.userInfo) { - if (![self isErrorACannotOverwriteError:[error.userInfo objectForKey:erroredArtworkName]]) { + if (![self sdl_isErrorCannotOverwriteError:[error.userInfo objectForKey:erroredArtworkName]]) { [successfulArtworkUploadNames removeObject:erroredArtworkName]; } else { // An overwrite error means that an artwork with the same name is already uploaded to the remote @@ -468,13 +465,80 @@ - (void)uploadArtworks:(NSArray *)artworks progressHandler:(nullab }]; } -- (BOOL)isErrorACannotOverwriteError:(NSError * _Nullable)error { - if (error != nil && error.code == SDLFileManagerErrorCannotOverwrite) { +#pragma mark Helpers + +/** + * Checks an error returned by Core to see if it is a "can not overwrite" error. + * + * @param error The error returned by SDL Core + * @return True if the error is an overwrite error; false if not + */ +- (BOOL)sdl_isErrorCannotOverwriteError:(NSError * _Nullable)error { + if (error != nil && error.domain == SDLErrorDomainFileManager && error.code == SDLFileManagerErrorCannotOverwrite) { return YES; } return NO; } +/** + * Computes the total amount of bytes to be uploaded to the remote. This total is computed by summing up the file size of all files to be uploaded to the remote + * + * @param files All the files being uploaded to the remote + * @return The total byte count + */ +- (float)sdl_totalBytesToUpload:(NSArray *)files { + float totalBytes = 0.0; + for(SDLFile *file in files) { + totalBytes += file.fileSize; + } + + return totalBytes; +} + +/** + * Computes the percentage of files uploaded to the remote. This percentage is a decimal number between 0.0 - 1.0. It is calculated by dividing the total number of bytes in files successfully or unsuccessfully uploaded by the total number of bytes in all files to be uploaded. + * + * @param totalBytes The total number of bytes in all files to be uploaded + * @param uploadedBytes The total number of bytes in files successfully or unsuccessfully uploaded + * @return The upload percentage + */ +- (float)sdl_uploadPercentage:(float)totalBytes uploadedBytes:(float)uploadedBytes { + if (totalBytes == 0 || uploadedBytes == 0) { + return 0.0; + } + return uploadedBytes / totalBytes; +} + +#pragma mark Reuploads + +/** + * Checks if an artwork needs to be uploaded to Core. The arwork should not be sent to Core if the artwork is already on Core or if the artwork is not on Core after the maximum number of repeated upload attempts has been reached. + * + * @param file The file to be uploaded to Core + * @param maxUploadCount The max number of times the file is allowed to be uploaded to Core + * @return True if the file still needs to be (re)sent to Core; false if not. + */ +- (BOOL)sdl_canFileBeUploadedAgain:(nullable SDLFile *)file maxUploadCount:(UInt8)maxUploadCount failedFileUploadsCount:(NSMutableDictionary *> *)failedFileUploadsCount { + if (!file || [self hasUploadedFile:file]) { + return NO; + } + NSNumber *failedUploadCount = failedFileUploadsCount[file.name]; + return (failedUploadCount == nil) ? YES : (failedUploadCount.integerValue < maxUploadCount); +} + +/** + * Increments the number of upload attempts for a file name by 1. + * + * @param fileName The name used to upload the file to Core + */ ++ (NSMutableDictionary *> *)sdl_incrementFailedUploadCountForFileName:(SDLFileName *)fileName failedFileUploadsCount:(NSMutableDictionary *> *)failedFileUploadsCount { + NSNumber *currentFailedUploadCount = failedFileUploadsCount[fileName]; + NSNumber *newFailedUploadCount = (currentFailedUploadCount != nil) ? @(currentFailedUploadCount.integerValue + 1) : @1; + failedFileUploadsCount[fileName] = newFailedUploadCount; + SDLLogW(@"File with name %@ failed to upload %@ times", fileName, newFailedUploadCount); + return failedFileUploadsCount; +} + #pragma mark - Temporary Files + (NSURL *)temporaryFileDirectory { diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManagerConfiguration.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManagerConfiguration.h new file mode 100644 index 0000000..693a411 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManagerConfiguration.h @@ -0,0 +1,52 @@ +// +// SDLFileManagerConfiguration.h +// SmartDeviceLink +// +// Created by Nicole on 7/12/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "NSNumber+NumberType.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLFileManagerConfiguration : NSObject + +/** + * Defines the number of times the file manager will attempt to reupload `SDLArtwork` files in the event of a failed upload to Core. + * + * Defaults to 1. To disable reuploads, set to 0. + */ +@property (assign, nonatomic) UInt8 artworkRetryCount; + +/** + * Defines the number of times the file manager will attempt to reupload general `SDLFile`s in the event of a failed upload to Core. + * + * Defaults to 1. To disable reuploads, set to 0. + */ +@property (assign, nonatomic) UInt8 fileRetryCount; + +/** + * Creates a default file manager configuration. + * + * @return A default configuration that may be customized. + */ ++ (instancetype)defaultConfiguration; + +/** + Use `defaultConfiguration` instead + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + * Creates a file manager configuration with customized upload retry counts. + * + * @return The configuration + */ +- (instancetype)initWithArtworkRetryCount:(UInt8)artworkRetryCount fileRetryCount:(UInt8)fileRetryCount; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManagerConfiguration.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManagerConfiguration.m new file mode 100644 index 0000000..781fdac --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileManagerConfiguration.m @@ -0,0 +1,43 @@ +// +// SDLFileManagerConfiguration.m +// SmartDeviceLink +// +// Created by Nicole on 7/12/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLFileManagerConfiguration.h" + +NS_ASSUME_NONNULL_BEGIN + +static NSUInteger const DefaultRetryCount = 1; + +@implementation SDLFileManagerConfiguration + ++ (instancetype)defaultConfiguration { + return [[self.class alloc] initWithArtworkRetryCount:DefaultRetryCount fileRetryCount:DefaultRetryCount]; +} + +- (instancetype)initWithArtworkRetryCount:(UInt8)artworkRetryCount fileRetryCount:(UInt8)fileRetryCount { + self = [super init]; + if (!self) { + return nil; + } + + _artworkRetryCount = artworkRetryCount; + _fileRetryCount = fileRetryCount; + + return self; +} + + +#pragma mark - NSCopying + +- (id)copyWithZone:(nullable NSZone *)zone { + SDLFileManagerConfiguration *new = [[SDLFileManagerConfiguration allocWithZone:zone] initWithArtworkRetryCount:_artworkRetryCount fileRetryCount:_fileRetryCount]; + return new; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileType.h index 76968d7..00612e1 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFileType.h @@ -5,48 +5,48 @@ #import "SDLEnum.h" /** - * Enumeration listing possible file types. + * Enumeration listing possible file types. Used in SDLFile, PutFile, ImageField, OnSystemRequest * * @since SDL 2.0 */ typedef SDLEnum SDLFileType SDL_SWIFT_ENUM; /** - * @abstract file type: Bitmap (BMP) + * file type: Bitmap (BMP) */ extern SDLFileType const SDLFileTypeBMP; /** - * @abstract file type: JPEG + * file type: JPEG */ extern SDLFileType const SDLFileTypeJPEG; /** - * @abstract file type: PNG + * file type: PNG */ extern SDLFileType const SDLFileTypePNG; /** - * @abstract file type: WAVE (WAV) + * file type: WAVE (WAV) */ extern SDLFileType const SDLFileTypeWAV; /** - * @abstract file type: MP3 + * file type: MP3 */ extern SDLFileType const SDLFileTypeMP3; /** - * @abstract file type: AAC + * file type: AAC */ extern SDLFileType const SDLFileTypeAAC; /** - * @abstract file type: BINARY + * file type: BINARY */ extern SDLFileType const SDLFileTypeBinary; /** - * @abstract file type: JSON + * file type: JSON */ extern SDLFileType const SDLFileTypeJSON; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFocusableItemLocator.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFocusableItemLocator.m index dbd3e0f..1969512 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFocusableItemLocator.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFocusableItemLocator.m @@ -33,10 +33,6 @@ @interface SDLFocusableItemLocator() @implementation SDLFocusableItemLocator -- (instancetype)initWithWindow:(UIWindow *)window connectionManager:(id)connectionManager{ - return [self initWithViewController:window.rootViewController connectionManager:connectionManager]; -} - - (instancetype)initWithViewController:(UIViewController *)viewController connectionManager:(id)connectionManager { self = [super init]; if(!self) { diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFocusableItemLocatorType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFocusableItemLocatorType.h index c75d611..64c2337 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFocusableItemLocatorType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFocusableItemLocatorType.h @@ -26,14 +26,6 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, strong) UIViewController *viewController; -/** - Initializes haptic interface. After initializing the application must call updateInterfaceLayout to process the UIWindow. Application must update later view changes in the window by sending SDLDidUpdateProjectionView notification. - - @param window UIWindow to be stored in haptic interface - @param connectionManager Object of a class that implements ConnectionManagerType. This is used for RPC communication. - */ -- (instancetype)initWithWindow:(UIWindow *)window connectionManager:(id)connectionManager __deprecated_msg("Use initWithViewController:connectionManager: instead"); - /** Initializes the haptic interface. After initializing the application must call updateInterfaceLayout to process the view controller. Application must update later view changes in the view controller (or a change in the view controller itself) by sending the SDLDidUpdateProjectionView notification. diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelCutoffStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelCutoffStatus.h index 2158c31..22adb18 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelCutoffStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelCutoffStatus.h @@ -5,24 +5,23 @@ #import "SDLEnum.h" /** - * Reflects the status of the Restraints Control Module fuel pump cutoff. - * The fuel pump is cut off typically after the vehicle has had a collision. + * Reflects the status of the Restraints Control Module fuel pump cutoff. The fuel pump is cut off typically after the vehicle has had a collision. Used in EmergencyEvent. * * @since SDL 2.0 */ typedef SDLEnum SDLFuelCutoffStatus SDL_SWIFT_ENUM; /** - * @abstract Fuel is cut off + * Fuel is cut off */ extern SDLFuelCutoffStatus const SDLFuelCutoffStatusTerminateFuel; /** - * @abstract Fuel is not cut off + * Fuel is not cut off */ extern SDLFuelCutoffStatus const SDLFuelCutoffStatusNormalOperation; /** - * @abstract Status of the fuel pump cannot be determined + * Status of the fuel pump cannot be determined */ extern SDLFuelCutoffStatus const SDLFuelCutoffStatusFault; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelRange.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelRange.h new file mode 100644 index 0000000..3220256 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelRange.h @@ -0,0 +1,35 @@ +// +// SDLFuelRange.h +// SmartDeviceLink +// +// Created by Nicole on 6/20/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLRPCMessage.h" +#import "SDLFuelType.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Describes the distance a vehicle can travel with the current level of fuel. + */ +@interface SDLFuelRange : SDLRPCStruct + +/** + * The vehicle's fuel type + * + * Optional + */ +@property (nullable, strong, nonatomic) SDLFuelType type; + +/** + * The estimate range in KM the vehicle can travel based on fuel level and consumption. + * + * Optional, Float, 0 - 10,000 + */ +@property (nullable, strong, nonatomic) NSNumber *range; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelRange.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelRange.m new file mode 100644 index 0000000..19ebeba --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelRange.m @@ -0,0 +1,37 @@ +// +// SDLFuelRange.m +// SmartDeviceLink +// +// Created by Nicole on 6/20/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLFuelRange.h" + +#import "NSMutableDictionary+Store.h" +#import "SDLNames.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLFuelRange + +- (void)setType:(nullable SDLFuelType)type { + [store sdl_setObject:type forName:SDLNameType]; +} + +- (nullable SDLFuelType)type { + return [store sdl_objectForName:SDLNameType]; +} + +- (void)setRange:(nullable NSNumber *)range { + [store sdl_setObject:range forName:SDLNameRange]; +} + +- (nullable NSNumber *)range { + return [store sdl_objectForName:SDLNameRange]; +} + + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelType.h new file mode 100644 index 0000000..a87c1f3 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelType.h @@ -0,0 +1,52 @@ +// +// SDLFuelType.h +// SmartDeviceLink +// +// Created by Nicole on 6/20/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLEnum.h" + +/** + * Enumeration listing possible fuel types. + */ +typedef SDLEnum SDLFuelType SDL_SWIFT_ENUM; + +/** + * Fuel type: Gasoline + */ +extern SDLFuelType const SDLFuelTypeGasoline; + +/** + * Fuel type: Diesel + */ +extern SDLFuelType const SDLFuelTypeDiesel; + +/** + * Fuel type: CNG + * + * @discussion For vehicles using compressed natural gas + */ +extern SDLFuelType const SDLFuelTypeCNG; + +/** + * Fuel type: LPG + * + * @discussion For vehicles using liquefied petroleum gas + */ +extern SDLFuelType const SDLFuelTypeLPG; + +/** + * Fuel type: Hydrogen + * + * @discussion For FCEV (fuel cell electric vehicle) + */ +extern SDLFuelType const SDLFuelTypeHydrogen; + +/** + * Fuel type: Battery + * + * @discussion For BEV (Battery Electric Vehicle), PHEV (Plug-in Hybrid Electric Vehicle), solar vehicles and other vehicles which run on a battery. + */ +extern SDLFuelType const SDLFuelTypeBattery; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelType.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelType.m new file mode 100644 index 0000000..32e2b96 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFuelType.m @@ -0,0 +1,16 @@ +// +// SDLFuelType.m +// SmartDeviceLink +// +// Created by Nicole on 6/20/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLFuelType.h" + +SDLFuelType const SDLFuelTypeGasoline = @"GASOLINE"; +SDLFuelType const SDLFuelTypeDiesel = @"DIESEL"; +SDLFuelType const SDLFuelTypeCNG = @"CNG"; +SDLFuelType const SDLFuelTypeLPG = @"LPG"; +SDLFuelType const SDLFuelTypeHydrogen = @"HYDROGEN"; +SDLFuelType const SDLFuelTypeBattery = @"BATTERY"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFunctionID.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFunctionID.m index 7d50014..f96bc83 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLFunctionID.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLFunctionID.m @@ -96,6 +96,7 @@ - (instancetype)init { @32782: SDLNameOnHashChange, @32783: SDLNameOnInteriorVehicleData, @32784: SDLNameOnWayPointChange, + @32785: SDLNameOnRCStatus, @65536: SDLNameEncodedSyncPData, @65537: SDLNameSyncPData, @98304: SDLNameOnEncodedSyncPData, diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGPSData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGPSData.h index 892bd7e..f0bead9 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGPSData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGPSData.h @@ -18,138 +18,138 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLGPSData : SDLRPCStruct /** - * @abstract longitude degrees + * longitude degrees * * Required, Float, -180 - 180 */ @property (strong, nonatomic) NSNumber *longitudeDegrees; /** - * @abstract latitude degrees + * latitude degrees * * Required, Float, -90 - 90 */ @property (strong, nonatomic) NSNumber *latitudeDegrees; /** - * @abstract utc year + * utc year * - * Required, Integer, 2010 - 2100 + * Optional, Integer, 2010 - 2100 */ -@property (strong, nonatomic) NSNumber *utcYear; +@property (nullable, strong, nonatomic) NSNumber *utcYear; /** - * @abstract utc month + * utc month * - * Required, Integer, 1 - 12 + * Optional, Integer, 1 - 12 */ -@property (strong, nonatomic) NSNumber *utcMonth; +@property (nullable, strong, nonatomic) NSNumber *utcMonth; /** - * @abstract utc day + * utc day * - * Required, Integer, 1 - 31 + * Optional, Integer, 1 - 31 */ -@property (strong, nonatomic) NSNumber *utcDay; +@property (nullable, strong, nonatomic) NSNumber *utcDay; /** - * @abstract utc hours + * utc hours * - * Required, Integer, 0 - 23 + * Optional, Integer, 0 - 23 */ -@property (strong, nonatomic) NSNumber *utcHours; +@property (nullable, strong, nonatomic) NSNumber *utcHours; /** - * @abstract utc minutes + * utc minutes * - * Required, Integer, 0 - 59 + * Optional, Integer, 0 - 59 */ -@property (strong, nonatomic) NSNumber *utcMinutes; +@property (nullable, strong, nonatomic) NSNumber *utcMinutes; /** - * @abstract utc seconds + * utc seconds * - * Required, Integer, 0 - 59 + * Optional, Integer, 0 - 59 */ -@property (strong, nonatomic) NSNumber *utcSeconds; +@property (nullable, strong, nonatomic) NSNumber *utcSeconds; /** - * Potential Compass Directions + * Optional, Potential Compass Directions */ -@property (strong, nonatomic) SDLCompassDirection compassDirection; +@property (nullable, strong, nonatomic) SDLCompassDirection compassDirection; /** - * @abstract The 3D positional dilution of precision. + * The 3D positional dilution of precision. * * @discussion If undefined or unavailable, then value shall be set to 0 * - * Required, Float, 0.0 - 10.0 + * Required, Float, 0.0 - 1000.0 */ -@property (strong, nonatomic) NSNumber *pdop; +@property (nullable, strong, nonatomic) NSNumber *pdop; /** - * @abstract The horizontal dilution of precision + * The horizontal dilution of precision * * @discussion If undefined or unavailable, then value shall be set to 0 * - * Required, Float, 0.0 - 10.0 + * Required, Float, 0.0 - 1000.0 */ -@property (strong, nonatomic) NSNumber *hdop; +@property (nullable, strong, nonatomic) NSNumber *hdop; /** - * @abstract the vertical dilution of precision + * the vertical dilution of precision * * @discussion If undefined or unavailable, then value shall be set to 0 * - * Required, Float, 0.0 - 10.0 + * Required, Float, 0.0 - 1000.0 */ -@property (strong, nonatomic) NSNumber *vdop; +@property (nullable, strong, nonatomic) NSNumber *vdop; /** - * @abstract What the coordinates are based on + * What the coordinates are based on * * @discussion YES, if coordinates are based on satellites. NO, if based on dead reckoning. * - * Required, Boolean + * Optional, Boolean */ -@property (strong, nonatomic) NSNumber *actual; +@property (nullable, strong, nonatomic) NSNumber *actual; /** - * @abstract The number of satellites in view + * The number of satellites in view * - * Required, Integer, 0 - 31 + * Optional, Integer, 0 - 31 */ -@property (strong, nonatomic) NSNumber *satellites; +@property (nullable, strong, nonatomic) NSNumber *satellites; /** * The supported dimensions of the GPS * - * Required + * Optional */ -@property (strong, nonatomic) SDLDimension dimension; +@property (nullable, strong, nonatomic) SDLDimension dimension; /** - * @abstract altitude in meters + * Altitude in meters * - * Required, Float, -10000.0 - 10000.0 + * Optional, Float, -10000.0 - 10000.0 */ -@property (strong, nonatomic) NSNumber *altitude; +@property (nullable, strong, nonatomic) NSNumber *altitude; /** - * @abstract Heading based on the GPS data. + * Heading based on the GPS data. * * @discussion North is 0, East is 90, etc. Resolution is 0.01 * - * Required, Float, 0.0 - 359.99 + * Optional, Float, 0.0 - 359.99 */ -@property (strong, nonatomic) NSNumber *heading; +@property (nullable, strong, nonatomic) NSNumber *heading; /** - * @abstract speed in KPH + * Speed in KPH * - * Required, Float, 0.0 - 500.0 + * Optional, Float, 0.0 - 500.0 */ -@property (strong, nonatomic) NSNumber *speed; +@property (nullable, strong, nonatomic) NSNumber *speed; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGPSData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGPSData.m index 8bd1770..eda7edb 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGPSData.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGPSData.m @@ -26,131 +26,131 @@ - (void)setLatitudeDegrees:(NSNumber *)latitudeDegrees { return [store sdl_objectForName:SDLNameLatitudeDegrees]; } -- (void)setUtcYear:(NSNumber *)utcYear { +- (void)setUtcYear:(nullable NSNumber *)utcYear { [store sdl_setObject:utcYear forName:SDLNameUTCYear]; } -- (NSNumber *)utcYear { +- (nullable NSNumber *)utcYear { return [store sdl_objectForName:SDLNameUTCYear]; } -- (void)setUtcMonth:(NSNumber *)utcMonth { +- (void)setUtcMonth:(nullable NSNumber *)utcMonth { [store sdl_setObject:utcMonth forName:SDLNameUTCMonth]; } -- (NSNumber *)utcMonth { +- (nullable NSNumber *)utcMonth { return [store sdl_objectForName:SDLNameUTCMonth]; } -- (void)setUtcDay:(NSNumber *)utcDay { +- (void)setUtcDay:(nullable NSNumber *)utcDay { [store sdl_setObject:utcDay forName:SDLNameUTCDay]; } -- (NSNumber *)utcDay { +- (nullable NSNumber *)utcDay { return [store sdl_objectForName:SDLNameUTCDay]; } -- (void)setUtcHours:(NSNumber *)utcHours { +- (void)setUtcHours:(nullable NSNumber *)utcHours { [store sdl_setObject:utcHours forName:SDLNameUTCHours]; } -- (NSNumber *)utcHours { +- (nullable NSNumber *)utcHours { return [store sdl_objectForName:SDLNameUTCHours]; } -- (void)setUtcMinutes:(NSNumber *)utcMinutes { +- (void)setUtcMinutes:(nullable NSNumber *)utcMinutes { [store sdl_setObject:utcMinutes forName:SDLNameUTCMinutes]; } -- (NSNumber *)utcMinutes { +- (nullable NSNumber *)utcMinutes { return [store sdl_objectForName:SDLNameUTCMinutes]; } -- (void)setUtcSeconds:(NSNumber *)utcSeconds { +- (void)setUtcSeconds:(nullable NSNumber *)utcSeconds { [store sdl_setObject:utcSeconds forName:SDLNameUTCSeconds]; } -- (NSNumber *)utcSeconds { +- (nullable NSNumber *)utcSeconds { return [store sdl_objectForName:SDLNameUTCSeconds]; } -- (void)setCompassDirection:(SDLCompassDirection)compassDirection { +- (void)setCompassDirection:(nullable SDLCompassDirection)compassDirection { [store sdl_setObject:compassDirection forName:SDLNameCompassDirection]; } -- (SDLCompassDirection)compassDirection { +- (nullable SDLCompassDirection)compassDirection { return [store sdl_objectForName:SDLNameCompassDirection]; } -- (void)setPdop:(NSNumber *)pdop { +- (void)setPdop:(nullable NSNumber *)pdop { [store sdl_setObject:pdop forName:SDLNamePDOP]; } -- (NSNumber *)pdop { +- (nullable NSNumber *)pdop { return [store sdl_objectForName:SDLNamePDOP]; } -- (void)setHdop:(NSNumber *)hdop { +- (void)setHdop:(nullable NSNumber *)hdop { [store sdl_setObject:hdop forName:SDLNameHDOP]; } -- (NSNumber *)hdop { +- (nullable NSNumber *)hdop { return [store sdl_objectForName:SDLNameHDOP]; } -- (void)setVdop:(NSNumber *)vdop { +- (void)setVdop:(nullable NSNumber *)vdop { [store sdl_setObject:vdop forName:SDLNameVDOP]; } -- (NSNumber *)vdop { +- (nullable NSNumber *)vdop { return [store sdl_objectForName:SDLNameVDOP]; } -- (void)setActual:(NSNumber *)actual { +- (void)setActual:(nullable NSNumber *)actual { [store sdl_setObject:actual forName:SDLNameActual]; } -- (NSNumber *)actual { +- (nullable NSNumber *)actual { return [store sdl_objectForName:SDLNameActual]; } -- (void)setSatellites:(NSNumber *)satellites { +- (void)setSatellites:(nullable NSNumber *)satellites { [store sdl_setObject:satellites forName:SDLNameSatellites]; } -- (NSNumber *)satellites { +- (nullable NSNumber *)satellites { return [store sdl_objectForName:SDLNameSatellites]; } -- (void)setDimension:(SDLDimension)dimension { +- (void)setDimension:(nullable SDLDimension)dimension { [store sdl_setObject:dimension forName:SDLNameDimension]; } -- (SDLDimension)dimension { +- (nullable SDLDimension)dimension { return [store sdl_objectForName:SDLNameDimension]; } -- (void)setAltitude:(NSNumber *)altitude { +- (void)setAltitude:(nullable NSNumber *)altitude { [store sdl_setObject:altitude forName:SDLNameAltitude]; } -- (NSNumber *)altitude { +- (nullable NSNumber *)altitude { return [store sdl_objectForName:SDLNameAltitude]; } -- (void)setHeading:(NSNumber *)heading { +- (void)setHeading:(nullable NSNumber *)heading { [store sdl_setObject:heading forName:SDLNameHeading]; } -- (NSNumber *)heading { +- (nullable NSNumber *)heading { return [store sdl_objectForName:SDLNameHeading]; } -- (void)setSpeed:(NSNumber *)speed { +- (void)setSpeed:(nullable NSNumber *)speed { [store sdl_setObject:speed forName:SDLNameSpeed]; } -- (NSNumber *)speed { +- (nullable NSNumber *)speed { return [store sdl_objectForName:SDLNameSpeed]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGenericResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGenericResponse.h index 74f1fa4..953d249 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGenericResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGenericResponse.h @@ -5,9 +5,7 @@ #import "SDLRPCResponse.h" /** - * Generic Response is sent, when the name of a received msg cannot be - * retrieved. Only used in case of an error. Currently, only resultCode - * INVALID_DATA is used. + Generic Response is sent when the name of a received request is unknown. It is only used in case of an error. It will have an INVALID_DATA result code. */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetDTCs.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetDTCs.h index c212e7f..3cc55e5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetDTCs.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetDTCs.h @@ -23,7 +23,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithECUName:(UInt16)name mask:(UInt8)mask; /** - * @abstract a name of the module to receive the DTC form + * a name of the module to receive the DTC form * @discussion an NSNumber value representing a name of the module to receive * the DTC form *

    @@ -31,7 +31,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic) NSNumber *ecuName; /** - * @abstract DTC Mask Byte to be sent in diagnostic request to module. NSNumber* dtcMask Minvalue:0; Maxvalue:255 + * DTC Mask Byte to be sent in diagnostic request to module. NSNumber* dtcMask Minvalue:0; Maxvalue:255 */ @property (nullable, strong, nonatomic) NSNumber *dtcMask; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetDTCsResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetDTCsResponse.h index dd87f37..3a8a5a9 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetDTCsResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetDTCsResponse.h @@ -5,16 +5,23 @@ #import "SDLRPCResponse.h" /** - * SDLGetDTCsResponse is sent, when SDLGetDTCs has been called - * - * Since SmartDeviceLink 2.0 + Response to SDLGetDTCs + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN @interface SDLGetDTCsResponse : SDLRPCResponse +/** + 2 byte ECU Header for DTC response (as defined in VHR_Layout_Specification_DTCs.pdf) + */ @property (strong, nonatomic) NSNumber *ecuHeader; + +/** + Array of all reported DTCs on module (ecuHeader contains information if list is truncated). Each DTC is represented by 4 bytes (3 bytes of data and 1 byte status as defined in VHR_Layout_Specification_DTCs.pdf). + */ @property (strong, nonatomic) NSArray *dtc; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h index 6a5de3e..3725318 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h @@ -7,16 +7,24 @@ NS_ASSUME_NONNULL_BEGIN +/** + A response to SDLGetInteriorVehicleData + */ @interface SDLGetInteriorVehicleDataResponse : SDLRPCResponse +/** + The requested data + */ @property (strong, nonatomic) SDLModuleData *moduleData; /** - * @abstract It is a conditional-mandatory parameter: must be returned in case "subscribe" parameter was present in the related request. - * if "true" - the "moduleType" from request is successfully subscribed and the head unit will send onInteriorVehicleData notifications for the moduleType. - * if "false" - the "moduleType" from request is either unsubscribed or failed to subscribe. - * - * Optional, Boolean + It is a conditional-mandatory parameter: must be returned in case "subscribe" parameter was present in the related request. + + If "true" - the "moduleType" from request is successfully subscribed and the head unit will send onInteriorVehicleData notifications for the moduleType. + + If "false" - the "moduleType" from request is either unsubscribed or failed to subscribe. + + Optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *isSubscribed; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetSystemCapabilityResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetSystemCapabilityResponse.h index 944261e..2c43726 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetSystemCapabilityResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetSystemCapabilityResponse.h @@ -15,8 +15,14 @@ NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLGetSystemCapability + */ @interface SDLGetSystemCapabilityResponse : SDLRPCResponse +/** + The requested system capability, of the type that was sent in the request + */ @property (strong, nonatomic) SDLSystemCapability *systemCapability; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleData.h index cee465c..82b3f7c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleData.h @@ -5,129 +5,231 @@ #import "SDLRPCRequest.h" /** - * Requests surrent values of specific published vehicle data items. - *

    - * Function Group: Location, VehicleInfo and DrivingChara - *

    - * HMILevel needs to be FULL, LIMITED or BACKGROUND - *

    + * Requests current values of specific published vehicle data items. * - * Since SmartDeviceLink 2.0
    - * See SDLSubscribeVehicleData SDLUnsubscribeVehicleData + * Function Group: Location, VehicleInfo and DrivingChara + * HMILevel needs to be FULL, LIMITED or BACKGROUND + * Since SmartDeviceLink 2.0 + * See SDLSubscribeVehicleData, SDLUnsubscribeVehicleData */ NS_ASSUME_NONNULL_BEGIN @interface SDLGetVehicleData : SDLRPCRequest -- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus; /** - * @abstract A boolean value. If true, requests Gps data + * Convenience init for getting data for all possible vehicle data items. + * + * @param accelerationPedalPosition Get accelerationPedalPosition data + * @param airbagStatus Get airbagStatus data + * @param beltStatus Get beltStatus data + * @param bodyInformation Get bodyInformation data + * @param clusterModeStatus Get clusterModeStatus data + * @param deviceStatus Get deviceStatus data + * @param driverBraking Get driverBraking data + * @param eCallInfo Get eCallInfo data + * @param emergencyEvent Get emergencyEvent data + * @param engineTorque Get engineTorque data + * @param externalTemperature Get externalTemperature data + * @param fuelLevel Get fuelLevel data + * @param fuelLevelState Get fuelLevelState data + * @param gps Get gps data + * @param headLampStatus Get headLampStatus data + * @param instantFuelConsumption Get instantFuelConsumption data + * @param myKey Get myKey data + * @param odometer Get odometer data + * @param prndl Get prndl data + * @param rpm Get rpm data + * @param speed Get speed data + * @param steeringWheelAngle Get steeringWheelAngle data + * @param tirePressure Get tirePressure data + * @param vin Get vin data + * @param wiperStatus Get wiperStatus data + * @return A SDLGetVehicleData object + */ +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:driverBraking:eCallInfo:electronicParkBrakeStatus:emergencyEvent:engineOilLife:engineTorque:externalTemperature:fuelLevel:fuelLevelState:fuelRange:gps:headLampStatus:instantFuelConsumption:myKey:odometer:prndl:rpm:speed:steeringWheelAngle:tirePressure:turnSignal:wiperStatus: instead"); + +/** + * Convenience init for getting data for all possible vehicle data items. + * + * @param accelerationPedalPosition Get accelerationPedalPosition data + * @param airbagStatus Get airbagStatus data + * @param beltStatus Get beltStatus data + * @param bodyInformation Get bodyInformation data + * @param clusterModeStatus Get clusterModeStatus data + * @param deviceStatus Get deviceStatus data + * @param driverBraking Get driverBraking data + * @param eCallInfo Get eCallInfo data + * @param electronicParkBrakeStatus Get electronicParkBrakeStatus data + * @param emergencyEvent Get emergencyEvent data + * @param engineOilLife Get engineOilLife data + * @param engineTorque Get engineTorque data + * @param externalTemperature Get externalTemperature data + * @param fuelLevel Get fuelLevel data + * @param fuelLevelState Get fuelLevelState data + * @param fuelRange Get fuelRange data + * @param gps Get gps data + * @param headLampStatus Get headLampStatus data + * @param instantFuelConsumption Get instantFuelConsumption data + * @param myKey Get myKey data + * @param odometer Get odometer data + * @param prndl Get prndl data + * @param rpm Get rpm data + * @param speed Get speed data + * @param steeringWheelAngle Get steeringWheelAngle data + * @param tirePressure Get tirePressure data + * @param turnSignal Get turnSignal data + * @param vin Get vin data + * @param wiperStatus Get wiperStatus data + * @return A SDLGetVehicleData object + */ +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus; + +/** + * A boolean value. If true, requests GPS data. */ @property (nullable, strong, nonatomic) NSNumber *gps; /** - * @abstract A boolean value. If true, requests speed data + * A boolean value. If true, requests Speed data. */ @property (nullable, strong, nonatomic) NSNumber *speed; /** - * @abstract A boolean value. If true, requests rpm data + * A boolean value. If true, requests RPM data. */ @property (nullable, strong, nonatomic) NSNumber *rpm; /** - * @abstract A boolean value. If true, requests FuelLevel data + * A boolean value. If true, requests Fuel Level data. */ @property (nullable, strong, nonatomic) NSNumber *fuelLevel; /** - * @abstract A boolean value. If true, requests fuelLevel_State data + * A boolean value. If true, requests Fuel Level State data. */ @property (nullable, strong, nonatomic) NSNumber *fuelLevel_State; /** - * @abstract A boolean value. If true, requests instantFuelConsumption data + * A boolean value. If true, requests Fuel Range data. + */ +@property (nullable, strong, nonatomic) NSNumber *fuelRange; + +/** + * A boolean value. If true, requests Instant Fuel Consumption data. */ @property (nullable, strong, nonatomic) NSNumber *instantFuelConsumption; /** - * @abstract A boolean value. If true, requests externalTemperature data + * A boolean value. If true, requests External Temperature data. */ @property (nullable, strong, nonatomic) NSNumber *externalTemperature; /** - * @abstract A boolean value. If true, requests Vehicle Identification Number + * A boolean value. If true, requests the Vehicle Identification Number. */ @property (nullable, strong, nonatomic) NSNumber *vin; /** - * @abstract A boolean value. If true, requests Currently selected gear data + * A boolean value. If true, requests PRNDL data. */ @property (nullable, strong, nonatomic) NSNumber *prndl; /** - * @abstract A boolean value. If true, requests tire pressure status data + * A boolean value. If true, requests Tire Pressure data. */ @property (nullable, strong, nonatomic) NSNumber *tirePressure; /** - * @abstract A boolean value. If true, requests odometer data + * A boolean value. If true, requests Odometer data. */ @property (nullable, strong, nonatomic) NSNumber *odometer; /** - * @abstract A boolean value. If true, requests belt Status data + * A boolean value. If true, requests Belt Status data. */ @property (nullable, strong, nonatomic) NSNumber *beltStatus; /** - * @abstract A boolean value. If true, requests body Information data + * A boolean value. If true, requests Body Information data. */ @property (nullable, strong, nonatomic) NSNumber *bodyInformation; /** - * @abstract A boolean value. If true, requests device Status data + * A boolean value. If true, requests Device Status data. */ @property (nullable, strong, nonatomic) NSNumber *deviceStatus; /** - * @abstract A boolean value. If true, requests driver Braking data + * A boolean value. If true, requests Driver Braking data. */ @property (nullable, strong, nonatomic) NSNumber *driverBraking; /** - * @abstract A boolean value. If true, requests wiper Status data + * A boolean value. If true, requests Wiper Status data. */ @property (nullable, strong, nonatomic) NSNumber *wiperStatus; /** - * @abstract A boolean value. If true, requests Head Lamp Status data + * A boolean value. If true, requests Head Lamp Status data. */ @property (nullable, strong, nonatomic) NSNumber *headLampStatus; /** - * @abstract A boolean value. If true, requests Engine Torque data + * A boolean value. If true, requests Engine Oil Life data. + */ +@property (strong, nonatomic, nullable) NSNumber *engineOilLife; + +/** + * A boolean value. If true, requests Engine Torque data. */ @property (nullable, strong, nonatomic) NSNumber *engineTorque; /** - * @abstract A boolean value. If true, means the accPedalPosition data has been - * subscribed. + * A boolean value. If true, requests Acc Pedal Position data. */ @property (nullable, strong, nonatomic) NSNumber *accPedalPosition; /** - * @abstract A boolean value. If true, means the steeringWheelAngle data has been - * subscribed. + * A boolean value. If true, requests Steering Wheel Angle data. */ @property (nullable, strong, nonatomic) NSNumber *steeringWheelAngle; + +/** + * A boolean value. If true, requests Emergency Call Info data. + */ @property (nullable, strong, nonatomic) NSNumber *eCallInfo; + +/** + * A boolean value. If true, requests Air Bag Status data. + */ @property (nullable, strong, nonatomic) NSNumber *airbagStatus; + +/** + * A boolean value. If true, requests Emergency Event (if it occurred) data. + */ @property (nullable, strong, nonatomic) NSNumber *emergencyEvent; + +/** + * A boolean value. If true, requests Cluster Mode Status data. + */ @property (nullable, strong, nonatomic) NSNumber *clusterModeStatus; + +/** + * A boolean value. If true, requests MyKey data. + */ @property (nullable, strong, nonatomic) NSNumber *myKey; +/** + A boolean value. If true, requests Electronic Parking Brake status data. + */ +@property (nullable, strong, nonatomic) NSNumber *electronicParkBrakeStatus; + +/** + A boolean value. If true, requests Turn Signal data. + */ +@property (nullable, strong, nonatomic) NSNumber *turnSignal; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleData.m index 53a897b..6b795b0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleData.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleData.m @@ -18,6 +18,10 @@ - (instancetype)init { } - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus { + return [self initWithAccelerationPedalPosition:accelerationPedalPosition airbagStatus:airbagStatus beltStatus:beltStatus bodyInformation:bodyInformation clusterModeStatus:clusterModeStatus deviceStatus:deviceStatus driverBraking:driverBraking eCallInfo:eCallInfo electronicParkBrakeStatus:NO emergencyEvent:emergencyEvent engineOilLife:NO engineTorque:engineTorque externalTemperature:externalTemperature fuelLevel:fuelLevel fuelLevelState:fuelLevelState fuelRange:NO gps:gps headLampStatus:headLampStatus instantFuelConsumption:instantFuelConsumption myKey:myKey odometer:odometer prndl:prndl rpm:rpm speed:speed steeringWheelAngle:steeringWheelAngle tirePressure:tirePressure turnSignal:NO vin:vin wiperStatus:wiperStatus]; +} + +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus { self = [self init]; if (!self) { return nil; @@ -31,11 +35,14 @@ - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPositio self.deviceStatus = @(deviceStatus); self.driverBraking = @(driverBraking); self.eCallInfo = @(eCallInfo); + self.electronicParkBrakeStatus = @(electronicParkBrakeStatus); self.emergencyEvent = @(emergencyEvent); + self.engineOilLife = @(engineOilLife); self.engineTorque = @(engineTorque); self.externalTemperature = @(externalTemperature); self.fuelLevel = @(fuelLevel); self.fuelLevel_State = @(fuelLevelState); + self.fuelRange = @(fuelRange); self.myKey = @(myKey); self.odometer = @(odometer); self.gps = @(gps); @@ -46,6 +53,7 @@ - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPositio self.speed = @(speed); self.steeringWheelAngle = @(steeringWheelAngle); self.tirePressure = @(tirePressure); + self.turnSignal = @(turnSignal); self.vin = @(vin); self.wiperStatus = @(wiperStatus); @@ -92,6 +100,14 @@ - (void)setFuelLevel_State:(nullable NSNumber *)fuelLevel_State { return [parameters sdl_objectForName:SDLNameFuelLevelState]; } +- (void)setFuelRange:(nullable NSNumber *)fuelRange { + [parameters sdl_setObject:fuelRange forName:SDLNameFuelRange]; +} + +- (nullable NSNumber *)fuelRange { + return [parameters sdl_objectForName:SDLNameFuelRange]; +} + - (void)setInstantFuelConsumption:(nullable NSNumber *)instantFuelConsumption { [parameters sdl_setObject:instantFuelConsumption forName:SDLNameInstantFuelConsumption]; } @@ -188,6 +204,14 @@ - (void)setHeadLampStatus:(nullable NSNumber *)headLampStatus { return [parameters sdl_objectForName:SDLNameHeadLampStatus]; } +- (void)setEngineOilLife:(nullable NSNumber *)engineOilLife { + [parameters sdl_setObject:engineOilLife forName:SDLNameEngineOilLife]; +} + +- (nullable NSNumber *)engineOilLife { + return [parameters sdl_objectForName:SDLNameEngineOilLife]; +} + - (void)setEngineTorque:(nullable NSNumber *)engineTorque { [parameters sdl_setObject:engineTorque forName:SDLNameEngineTorque]; } @@ -252,6 +276,22 @@ - (void)setMyKey:(nullable NSNumber *)myKey { return [parameters sdl_objectForName:SDLNameMyKey]; } +- (void)setElectronicParkBrakeStatus:(nullable NSNumber *)electronicParkBrakeStatus { + [parameters sdl_setObject:electronicParkBrakeStatus forName:SDLNameElectronicParkBrakeStatus]; +} + +- (nullable NSNumber *)electronicParkBrakeStatus { + return [parameters sdl_objectForName:SDLNameElectronicParkBrakeStatus]; +} + +- (void)setTurnSignal:(nullable NSNumber *)turnSignal { + [parameters sdl_setObject:turnSignal forName:SDLNameTurnSignal]; +} + +- (nullable NSNumber *)turnSignal { + return [parameters sdl_objectForName:SDLNameTurnSignal]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleDataResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleDataResponse.h index 240f990..689a750 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleDataResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleDataResponse.h @@ -4,7 +4,9 @@ #import "SDLRPCResponse.h" #import "SDLComponentVolumeStatus.h" +#import "SDLElectronicParkBrakeStatus.h" #import "SDLPRNDL.h" +#import "SDLTurnSignal.h" #import "SDLVehicleDataEventStatus.h" #import "SDLWiperStatus.h" @@ -15,15 +17,15 @@ @class SDLDeviceStatus; @class SDLECallInfo; @class SDLEmergencyEvent; +@class SDLFuelRange; @class SDLGPSData; @class SDLHeadLampStatus; @class SDLMyKey; @class SDLTireStatus; - /** - * Get Vehicle Data Response is sent, when SDLGetVehicleData has been called + * Response to SDLGetVehicleData * * Since SmartDeviceLink 2.0 */ @@ -33,110 +35,153 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLGetVehicleDataResponse : SDLRPCResponse /** - * @abstract A SDLGPSData* value. See GPSData. + The car current GPS coordinates */ @property (nullable, strong, nonatomic) SDLGPSData *gps; /** - * @abstract The vehicle speed in kilometers per hour. + The vehicle speed in kilometers per hour */ @property (nullable, strong, nonatomic) NSNumber *speed; /** - * @abstract The number of revolutions per minute of the engine. + The number of revolutions per minute of the engine. */ @property (nullable, strong, nonatomic) NSNumber *rpm; /** - * @abstract The fuel level in the tank (percentage) + The fuel level in the tank (percentage) */ @property (nullable, strong, nonatomic) NSNumber *fuelLevel; /** - * @abstract A SDLComponentVolumeStatus* value. The fuel level state. + The fuel level state */ @property (nullable, strong, nonatomic) SDLComponentVolumeStatus fuelLevel_State; /** - * @abstract The instantaneous fuel consumption in microlitres. + The estimate range in KM the vehicle can travel based on fuel level and consumption + + Optional, Array of length 0 - 100, of SDLFuelRange + */ +@property (nullable, strong, nonatomic) NSArray *fuelRange; + +/** + The instantaneous fuel consumption in microlitres */ @property (nullable, strong, nonatomic) NSNumber *instantFuelConsumption; /** - * @abstract The external temperature in degrees celsius. + The external temperature in degrees celsius. */ @property (nullable, strong, nonatomic) NSNumber *externalTemperature; /** - * @abstract The Vehicle Identification Number + The Vehicle Identification Number */ @property (nullable, strong, nonatomic) NSString *vin; /** - * @abstract See PRNDL. + The current gear shift state of the user's vehicle */ @property (nullable, strong, nonatomic) SDLPRNDL prndl; /** - * @abstract A SDLTireStatus* value. See TireStatus. + The current pressure warnings for the user's vehicle */ @property (nullable, strong, nonatomic) SDLTireStatus *tirePressure; /** - * @abstract Odometer reading in km. + Odometer reading in km */ @property (nullable, strong, nonatomic) NSNumber *odometer; /** - * @abstract A SDLBeltStatus* value. The status of the seat belts. + The status of the seat belts */ @property (nullable, strong, nonatomic) SDLBeltStatus *beltStatus; /** - * @abstract A SDLBodyInformation* value. The body information including power modes. + The body information including power modes */ @property (nullable, strong, nonatomic) SDLBodyInformation *bodyInformation; /** - * @abstract A SDLDeviceStatus* value. The device status including signal and battery strength. + The IVI system status including signal and battery strength */ @property (nullable, strong, nonatomic) SDLDeviceStatus *deviceStatus; /** - * @abstract A SDLVehicleDataResult* value. The status of the brake pedal. + The status of the brake pedal */ @property (nullable, strong, nonatomic) SDLVehicleDataEventStatus driverBraking; /** - * @abstract A SDLWiperStatus* value. The status of the wipers. + The status of the wipers */ @property (nullable, strong, nonatomic) SDLWiperStatus wiperStatus; /** - * @abstract A SDLHeadLampStatus* value. Status of the head lamps. + Status of the head lamps */ @property (nullable, strong, nonatomic) SDLHeadLampStatus *headLampStatus; /** - * @abstract Torque value for engine (in Nm) on non-diesel variants. + The estimated percentage (0% - 100%) of remaining oil life of the engine + */ +@property (strong, nonatomic, nullable) NSNumber *engineOilLife; + +/** + Torque value for engine (in Nm) on non-diesel variants */ @property (nullable, strong, nonatomic) NSNumber *engineTorque; /** - * @abstract Accelerator pedal position (percentage depressed) + Accelerator pedal position (percentage depressed) */ @property (nullable, strong, nonatomic) NSNumber *accPedalPosition; /** - * @abstract Current angle of the steering wheel (in deg) + Current angle of the steering wheel (in deg) */ @property (nullable, strong, nonatomic) NSNumber *steeringWheelAngle; + +/** + Emergency Call notification and confirmation data + */ @property (nullable, strong, nonatomic) SDLECallInfo *eCallInfo; + +/** + The status of the air bags + */ @property (nullable, strong, nonatomic) SDLAirbagStatus *airbagStatus; + +/** + Information related to an emergency event (and if it occurred) + */ @property (nullable, strong, nonatomic) SDLEmergencyEvent *emergencyEvent; + +/** + The status modes of the cluster + */ @property (nullable, strong, nonatomic) SDLClusterModeStatus *clusterModeStatus; + +/** + Information related to the MyKey feature + */ @property (nullable, strong, nonatomic) SDLMyKey *myKey; +/** + The status of the electronic parking brake + */ +@property (nullable, strong, nonatomic) SDLElectronicParkBrakeStatus electronicParkBrakeStatus; + +/** + The status of the turn signal + */ +@property (nullable, strong, nonatomic) SDLTurnSignal turnSignal; + + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleDataResponse.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleDataResponse.m index 81b379b..9e8aeff 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleDataResponse.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetVehicleDataResponse.m @@ -12,6 +12,7 @@ #import "SDLDeviceStatus.h" #import "SDLECallInfo.h" #import "SDLEmergencyEvent.h" +#import "SDLFuelRange.h" #import "SDLGPSData.h" #import "SDLHeadLampStatus.h" #import "SDLMyKey.h" @@ -72,6 +73,14 @@ - (void)setInstantFuelConsumption:(nullable NSNumber *)instantFuelCons [parameters sdl_setObject:instantFuelConsumption forName:SDLNameInstantFuelConsumption]; } +- (void)setFuelRange:(nullable NSArray *)fuelRange { + [parameters sdl_setObject:fuelRange forName:SDLNameFuelRange]; +} + +- (nullable NSArray *)fuelRange { + return [parameters sdl_objectsForName:SDLNameFuelRange ofClass:SDLFuelRange.class]; +} + - (nullable NSNumber *)instantFuelConsumption { return [parameters sdl_objectForName:SDLNameInstantFuelConsumption]; } @@ -164,6 +173,14 @@ - (nullable SDLHeadLampStatus *)headLampStatus { return [parameters sdl_objectForName:SDLNameHeadLampStatus ofClass:SDLHeadLampStatus.class]; } +- (void)setEngineOilLife:(nullable NSNumber *)engineOilLife { + [parameters sdl_setObject:engineOilLife forName:SDLNameEngineOilLife]; +} + +- (nullable NSNumber *)engineOilLife { + return [parameters sdl_objectForName:SDLNameEngineOilLife]; +} + - (void)setEngineTorque:(nullable NSNumber *)engineTorque { [parameters sdl_setObject:engineTorque forName:SDLNameEngineTorque]; } @@ -228,6 +245,22 @@ - (nullable SDLMyKey *)myKey { return [parameters sdl_objectForName:SDLNameMyKey ofClass:SDLMyKey.class]; } +- (void)setElectronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus { + [parameters sdl_setObject:electronicParkBrakeStatus forName:SDLNameElectronicParkBrakeStatus]; +} + +- (nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus { + return [parameters sdl_objectForName:SDLNameElectronicParkBrakeStatus]; +} + +- (void)setTurnSignal:(nullable SDLTurnSignal)turnSignal { + [parameters sdl_setObject:turnSignal forName:SDLNameTurnSignal]; +} + +- (nullable SDLTurnSignal)turnSignal { + return [parameters sdl_objectForName:SDLNameTurnSignal]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetWayPointsResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetWayPointsResponse.h index ab38821..3a22fce 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetWayPointsResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGetWayPointsResponse.h @@ -7,14 +7,15 @@ NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLGetWayPoints + */ @interface SDLGetWayPointsResponse : SDLRPCResponse /** - * @abstract Array of waypoints - * - * @see SDLLocationDetails - * - * Optional, Array size 1 - 10 + Provides additional human readable info regarding the result. + + Optional, Array size 1 - 10 */ @property (nullable, strong, nonatomic) NSArray *waypoints; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobalProperty.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobalProperty.h index 7f8bf98..e719cd4 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobalProperty.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobalProperty.h @@ -5,28 +5,43 @@ #import "SDLEnum.h" /** - * Properties of a user-initiated VR interaction (i.e. interactions started by the user pressing the PTT button). + * Properties of a user-initiated VR interaction (i.e. interactions started by the user pressing the PTT button). Used in RPCs related to ResetGlobalProperties * * @since SDL 1.0 */ typedef SDLEnum SDLGlobalProperty SDL_SWIFT_ENUM; /** - * @abstract The help prompt to be spoken if the user needs assistance during a user-initiated interaction. + * The help prompt to be spoken if the user needs assistance during a user-initiated interaction. */ extern SDLGlobalProperty const SDLGlobalPropertyHelpPrompt; /** - * @abstract The prompt to be spoken if the user-initiated interaction times out waiting for the user's verbal input. + * The prompt to be spoken if the user-initiated interaction times out waiting for the user's verbal input. */ extern SDLGlobalProperty const SDLGlobalPropertyTimeoutPrompt; +/** + * The title of the menu displayed when the user requests help via voice recognition. + */ extern SDLGlobalProperty const SDLGlobalPropertyVoiceRecognitionHelpTitle; +/** + * Items of the menu displayed when the user requests help via voice recognition. + */ extern SDLGlobalProperty const SDLGlobalPropertyVoiceRecognitionHelpItems; +/** + * The name of the menu button displayed in templates + */ extern SDLGlobalProperty const SDLGlobalPropertyMenuName; +/** + * An icon on the menu button displayed in templates + */ extern SDLGlobalProperty const SDLGlobalPropertyMenuIcon; +/** + * Property related to the keyboard + */ extern SDLGlobalProperty const SDLGlobalPropertyKeyboard; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobals.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobals.h index 5b92203..84407f1 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobals.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobals.h @@ -9,6 +9,7 @@ #import #import "SDLProtocolHeader.h" +#import "SDLSyncMsgVersion.h" NS_ASSUME_NONNULL_BEGIN @@ -17,6 +18,7 @@ NS_ASSUME_NONNULL_BEGIN #define BLOCK_RETURN return extern NSString *const SDLMaxProxyProtocolVersion; +extern NSString *const SDLMaxProxyRPCVersion; extern NSUInteger const SDLDefaultMTUSize; extern NSUInteger const SDLV1MTUSize; @@ -24,9 +26,10 @@ extern NSUInteger const SDLV3MTUSize; @interface SDLGlobals : NSObject -@property (strong, nonatomic, readonly) NSString *protocolVersion; +@property (copy, nonatomic, readonly) NSString *protocolVersion; @property (assign, nonatomic, readonly) NSInteger majorProtocolVersion; -@property (strong, nonatomic) NSString *maxHeadUnitVersion; +@property (strong, nonatomic) SDLSyncMsgVersion *rpcVersion; +@property (copy, nonatomic) NSString *maxHeadUnitVersion; + (instancetype)sharedGlobals; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobals.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobals.m index 7d63d60..d5364a1 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobals.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLGlobals.m @@ -13,21 +13,22 @@ NS_ASSUME_NONNULL_BEGIN // VERSION DEPENDENT CODE -NSString *const SDLMaxProxyProtocolVersion = @"5.0.0"; +NSString *const SDLMaxProxyProtocolVersion = @"5.1.0"; +NSString *const SDLMaxProxyRPCVersion = @"5.0.0"; NSUInteger const SDLDefaultMTUSize = UINT32_MAX; NSUInteger const SDLV1MTUSize = 1024; NSUInteger const SDLV3MTUSize = 131024; -typedef NSNumber* ServiceTypeBox; -typedef NSNumber* MTUBox; +typedef NSNumber *ServiceTypeBox; +typedef NSNumber *MTUBox; @interface SDLGlobals () @property (strong, nonatomic) NSMutableDictionary *dynamicMTUDict; -@property (strong, nonatomic, readwrite) NSString *protocolVersion; +@property (copy, nonatomic, readwrite) NSString *protocolVersion; @end @@ -52,6 +53,7 @@ - (instancetype)init { _protocolVersion = @"1.0.0"; _maxHeadUnitVersion = @"0.0.0"; + _rpcVersion = [[SDLSyncMsgVersion alloc] initWithMajorVersion:1 minorVersion:0 patchVersion:0]; _dynamicMTUDict = [NSMutableDictionary dictionary]; return self; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMILevel.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMILevel.h index 205b615..ff45751 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMILevel.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMILevel.h @@ -5,7 +5,7 @@ #import "SDLEnum.h" /** - * Specifies current level of the HMI. An HMI level indicates the degree of user interaction possible through the HMI (e.g. TTS only, display only, VR, etc.). The HMI level varies for an application based on the type of display (i.e. Nav or non-Nav) and the user directing "focus" to other applications (e.g. phone, other mobile applications, etc.) + * Specifies current level of the HMI. An HMI level indicates the degree of user interaction possible through the HMI (e.g. TTS only, display only, VR, etc.). The HMI level varies for an application based on the type of display (i.e. Nav or non-Nav) and the user directing "focus" to other applications (e.g. phone, other mobile applications, etc.). Used in OnHMIStatus * * @since SDL 1.0 */ @@ -17,33 +17,20 @@ typedef SDLEnum SDLHMILevel SDL_SWIFT_ENUM; extern SDLHMILevel const SDLHMILevelFull; /** - * This HMI Level is only defined for a media application using an HMI with an 8 inch touchscreen (Nav) system. The application's Show text is displayed and it receives button presses from media-oriented buttons (SEEKRIGHT, SEEKLEFT, TUNEUP, TUNEDOWN, PRESET_0-9) + * This HMI Level is only defined for a media application using an HMI with an 8 inch touchscreen (Nav) system. The application's Show text is displayed and it receives button presses from media-oriented buttons (SEEKRIGHT, SEEKLEFT, TUNEUP, TUNEDOWN, PRESET_0-9) */ extern SDLHMILevel const SDLHMILevelLimited; /** * App cannot interact with user via TTS, VR, Display or Button Presses. App can perform the following operations: * - * @discussion
      - *
    • Operation : AddCommand
    • - *
    • Operation : DeleteCommand
    • - *
    • Operation : AddSubMenu
    • - *
    • Operation : DeleteSubMenu
    • - *
    • Operation : CreateInteractionChoiceSet
    • - *
    • Operation : DeleteInteractionChoiceSet
    • - *
    • Operation : SubscribeButton
    • - *
    • Operation : UnsubscribeButton
    • - *
    • Operation : Show
    • - *
    • Operation : UnregisterAppInterface
    • - *
    • Operation : ResetGlobalProperties
    • - *
    • Operation : SetGlobalProperties
    • - *
    + * AddCommand, DeleteCommand, AddSubMenu, DeleteSubMenu, CreateInteractionChoiceSet, DeleteInteractionChoiceSet, SubscribeButton, UnsubscribeButton, Show, UnregisterAppInterface, ResetGlobalProperties, SetGlobalProperties */ extern SDLHMILevel const SDLHMILevelBackground; /** * Application has been discovered by SDL, but it cannot send any requests or receive any notifications * - * @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 UnregisterAppInterface + * 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 UnregisterAppInterface */ extern SDLHMILevel const SDLHMILevelNone; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMIPermissions.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMIPermissions.h index ca6f855..fa91517 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMIPermissions.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMIPermissions.h @@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLHMIPermissions : SDLRPCStruct /** - * @abstract a set of all HMI levels that are permitted for this given RPC + * A set of all HMI levels that are permitted for this given RPC * * @see SDLHMILevel * @@ -26,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) NSArray *allowed; /** - * @abstract a set of all HMI levels that are prohibited for this given RPC + * A set of all HMI levels that are prohibited for this given RPC * * @see SDLHMILevel * diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlCapabilities.h new file mode 100644 index 0000000..da7d043 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlCapabilities.h @@ -0,0 +1,62 @@ +// SDLHMISettingsControlCapabilities.h +// + +#import "SDLRPCMessage.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLHMISettingsControlCapabilities : SDLRPCStruct + +/** + Constructs a newly allocated SDLHMISettingsControlCapabilities object with moduleName + + @param moduleName The short friendly name of the hmi setting module + + @return An instance of the SDLHMISettingsControlCapabilities class + */ +- (instancetype)initWithModuleName:(NSString *)moduleName; + +/** + Constructs a newly allocated SDLHMISettingsControlCapabilities object with given parameters + + @param moduleName The short friendly name of the hmi setting module + @param distanceUnitAvailable Availability of the control of distance unit. + @param temperatureUnitAvailable Availability of the control of temperature unit. + @param displayModeUnitAvailable Availability of the control of displayMode unit. + + @return An instance of the SDLHMISettingsControlCapabilities class + */ +- (instancetype)initWithModuleName:(NSString *)moduleName distanceUnitAvailable:(BOOL)distanceUnitAvailable temperatureUnitAvailable:(BOOL)temperatureUnitAvailable displayModeUnitAvailable:(BOOL)displayModeUnitAvailable; + +/** + * @abstract The short friendly name of the hmi setting module. + * It should not be used to identify a module by mobile application. + * + * Required, Max String length 100 chars + */ +@property (strong, nonatomic) NSString *moduleName; + +/** + * @abstract Availability of the control of distance unit. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *distanceUnitAvailable; + +/** + * @abstract Availability of the control of temperature unit. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *temperatureUnitAvailable; + +/** + * @abstract Availability of the control of HMI display mode. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *displayModeUnitAvailable; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlCapabilities.m new file mode 100644 index 0000000..5059367 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlCapabilities.m @@ -0,0 +1,70 @@ +// SDLHMISettingsControlCapabilities.m +// + +#import "SDLHMISettingsControlCapabilities.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLHMISettingsControlCapabilities + +- (instancetype)initWithModuleName:(NSString *)moduleName { + self = [self init]; + if(!self) { + return nil; + } + self.moduleName = moduleName; + + return self; +} + +- (instancetype)initWithModuleName:(NSString *)moduleName distanceUnitAvailable:(BOOL)distanceUnitAvailable temperatureUnitAvailable:(BOOL)temperatureUnitAvailable displayModeUnitAvailable:(BOOL)displayModeUnitAvailable { + self = [self init]; + if(!self) { + return nil; + } + self.moduleName = moduleName; + self.distanceUnitAvailable = @(distanceUnitAvailable); + self.temperatureUnitAvailable = @(temperatureUnitAvailable); + self.displayModeUnitAvailable = @(displayModeUnitAvailable); + + return self; +} + +- (void)setModuleName:(NSString *)moduleName { + [store sdl_setObject:moduleName forName:SDLNameModuleName]; +} + +- (NSString *)moduleName { + return [store sdl_objectForName:SDLNameModuleName]; +} + + +- (void)setDistanceUnitAvailable:(nullable NSNumber *)distanceUnitAvailable { + [store sdl_setObject:distanceUnitAvailable forName:SDLNameDistanceUnitAvailable]; +} + +- (nullable NSNumber *)distanceUnitAvailable { + return [store sdl_objectForName:SDLNameDistanceUnitAvailable]; +} + +- (void)setTemperatureUnitAvailable:(nullable NSNumber *)temperatureUnitAvailable { + [store sdl_setObject:temperatureUnitAvailable forName:SDLNameTemperatureUnitAvailable]; +} + +- (nullable NSNumber *)temperatureUnitAvailable { + return [store sdl_objectForName:SDLNameTemperatureUnitAvailable]; +} + +- (void)setDisplayModeUnitAvailable:(nullable NSNumber *)displayModeUnitAvailable { + [store sdl_setObject:displayModeUnitAvailable forName:SDLNameDisplayModeUnitAvailable]; +} + +- (nullable NSNumber *)displayModeUnitAvailable { + return [store sdl_objectForName:SDLNameDisplayModeUnitAvailable]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlData.h new file mode 100644 index 0000000..c16afb7 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlData.h @@ -0,0 +1,50 @@ +// SDLHMISettingsControlData.h +// + +#import "SDLRPCMessage.h" +#import "SDLDisplayMode.h" +#import "SDLTemperatureUnit.h" +#import "SDLDistanceUnit.h" + +/** + * Corresponds to "HMI_SETTINGS" ModuleType + */ + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLHMISettingsControlData : SDLRPCStruct + +/** + Constructs a newly allocated SDLHMISettingsControlCapabilities object with given parameters + + @param displayMode Display Mode used in HMI setting + @param temperatureUnit temperature unit used in HMI setting + @param distanceUnit distance unit used in HMI setting + @return An instance of the SDLHMISettingsControlCapabilities class + */ +- (instancetype)initWithDisplaymode:(SDLDisplayMode)displayMode temperatureUnit:(SDLTemperatureUnit)temperatureUnit distanceUnit:(SDLDistanceUnit)distanceUnit; + +/** + * @abstract Display the Display Mode used HMI setting + * + * Optional, SDLDisplayMode + */ +@property (nullable, strong, nonatomic) SDLDisplayMode displayMode; + +/** + * @abstract Display the temperature unit used HMI setting + * + * Optional, SDLTemperatureUnit + */ +@property (nullable, strong, nonatomic) SDLTemperatureUnit temperatureUnit; + +/** + * @abstract Display the distance unit used HMI setting + * + * Optional, SDLDistanceUnit + */ +@property (nullable, strong, nonatomic) SDLDistanceUnit distanceUnit; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlData.m new file mode 100644 index 0000000..4a17a92 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMISettingsControlData.m @@ -0,0 +1,50 @@ +// SDLHMISettingsControlData.m +// + +#import "SDLHMISettingsControlData.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLHMISettingsControlData + +- (instancetype)initWithDisplaymode:(SDLDisplayMode)displayMode temperatureUnit:(SDLTemperatureUnit)temperatureUnit distanceUnit:(SDLDistanceUnit)distanceUnit { + self = [self init]; + if(!self) { + return nil; + } + self.displayMode = displayMode; + self.distanceUnit = distanceUnit; + self.temperatureUnit = temperatureUnit; + + return self; +} + +- (void)setDisplayMode:(nullable SDLDisplayMode)displayMode { + [store sdl_setObject:displayMode forName:SDLNameDisplayMode]; +} + +- (nullable SDLDisplayMode)displayMode { + return [store sdl_objectForName:SDLNameDisplayMode]; +} + +- (void)setDistanceUnit:(nullable SDLDistanceUnit)distanceUnit { + [store sdl_setObject:distanceUnit forName:SDLNameDistanceUnit]; +} + +- (nullable SDLDistanceUnit)distanceUnit { + return [store sdl_objectForName:SDLNameDistanceUnit]; +} + +- (void)setTemperatureUnit:(nullable SDLTemperatureUnit)temperatureUnit { + [store sdl_setObject:temperatureUnit forName:SDLNameTemperatureUnit]; +} + +- (nullable SDLTemperatureUnit)temperatureUnit { + return [store sdl_objectForName:SDLNameTemperatureUnit]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMIZoneCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMIZoneCapabilities.h index 9884785..b4b023f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMIZoneCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHMIZoneCapabilities.h @@ -5,18 +5,18 @@ #import "SDLEnum.h" /** - * Specifies HMI Zones in the vehicle. + * Specifies HMI Zones in the vehicle. Used in RegisterAppInterfaceResponse * * @since SDL 1.0 */ typedef SDLEnum SDLHMIZoneCapabilities SDL_SWIFT_ENUM; /** - * @abstract Indicates HMI available for front seat passengers. + * Indicates HMI available for front seat passengers. */ extern SDLHMIZoneCapabilities const SDLHMIZoneCapabilitiesFront; /** - * @abstract Indicates HMI available for rear seat passengers. + * Indicates HMI available for rear seat passengers. */ extern SDLHMIZoneCapabilities const SDLHMIZoneCapabilitiesBack; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHapticRect.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHapticRect.h index 295ea55..44de771 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHapticRect.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHapticRect.h @@ -15,18 +15,24 @@ NS_ASSUME_NONNULL_BEGIN /** - * Defines spatial for each user control object for video streaming application + Defines spatial for each user control object for video streaming application */ @interface SDLHapticRect : SDLRPCStruct - (instancetype)initWithId:(UInt32)id rect:(SDLRectangle *)rect; /** - * A user control spatial identifier - * Required, Integer, 0 - 2,000,000,000 + A user control spatial identifier + + Required, Integer, 0 - 2,000,000,000 */ @property (strong, nonatomic) NSNumber *id; +/** + The position of the haptic rectangle to be highlighted. The center of this rectangle will be "touched" when a press occurs. + + Required + */ @property (strong, nonatomic) SDLRectangle *rect; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHeadLampStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHeadLampStatus.h index f695fdb..8fff2ed 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLHeadLampStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLHeadLampStatus.h @@ -6,23 +6,31 @@ #import "SDLAmbientLightStatus.h" -/** - * Status of the head lamps - */ - NS_ASSUME_NONNULL_BEGIN +/** + Vehicle data struct for status of head lamps + */ @interface SDLHeadLampStatus : SDLRPCStruct /** - * @abstract A boolean value. Status of the low beam lamps. + Low beams are on or off. + + Required, boolean */ @property (strong, nonatomic) NSNumber *lowBeamsOn; /** - * @abstract A boolean value. Status of the high beam lamps. + High beams are on or off + + Required, boolean */ @property (strong, nonatomic) NSNumber *highBeamsOn; +/** + Status of the ambient light senser + + Optional + */ @property (nullable, strong, nonatomic) SDLAmbientLightStatus ambientLightSensorStatus; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPSession.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPSession.m index 47047ec..98cc358 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPSession.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPSession.m @@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN NSString *const IOStreamThreadName = @"com.smartdevicelink.iostream"; -NSTimeInterval const StreamThreadWaitSecs = 1.0; +NSTimeInterval const StreamThreadWaitSecs = 10.0; @interface SDLIAPSession () @@ -80,7 +80,6 @@ - (BOOL)start { } - (void)stop { - // This method must be called on the main thread if ([NSThread isMainThread]) { [self sdl_stop]; } else { @@ -91,6 +90,7 @@ - (void)stop { } - (void)sdl_stop { + NSAssert(NSThread.isMainThread, @"%@ must only be called on the main thread", NSStringFromSelector(_cmd)); if (self.isDataSession) { [self.ioStreamThread cancel]; @@ -137,6 +137,9 @@ - (void)sdl_dequeueAndWriteToOutputStream { if (bytesWritten < 0) { if (ostream.streamError != nil) { [self sdl_handleOutputStreamWriteError:ostream.streamError]; + } else { + // The write operation failed but there is no further information about the error. This can occur when disconnecting from an external accessory. + SDLLogE(@"Output stream write operation failed"); } } else if (bytesWritten == bytesRemaining) { // Remove the data from the queue @@ -173,13 +176,10 @@ - (void)sdl_accessoryEventLoop { [self startStream:self.easession.outputStream]; SDLLogD(@"Starting the accessory event loop"); - do { - if (self.sendDataQueue.count > 0 && !self.sendDataQueue.frontDequeued) { - [self sdl_dequeueAndWriteToOutputStream]; - } - // The principle here is to give the event loop enough time to process stream events while also allowing it to handle new enqueued data buffers in a timely manner. We're capping the run loop CPU time at 0.25s maximum before it will return control to the rest of the loop. + while (!NSThread.currentThread.cancelled) { + // Enqueued data will be written to and read from the streams in the runloop [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.25f]]; - } while (![NSThread currentThread].cancelled); + } SDLLogD(@"Closing the accessory session for id: %tu, name: %@", self.easession.accessory.connectionID, self.easession.accessory.name); diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPSessionDelegate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPSessionDelegate.h index b391a38..66d182a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPSessionDelegate.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPSessionDelegate.h @@ -9,7 +9,19 @@ NS_ASSUME_NONNULL_BEGIN @protocol SDLIAPSessionDelegate +/** + * Session initialized + * + * @param session A SDLIAPSession object + */ - (void)onSessionInitializationCompleteForSession:(SDLIAPSession *)session; + + +/** + * Session ended + * + * @param session A SDLIAPSession object + */ - (void)onSessionStreamsEnded:(SDLIAPSession *)session; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPTransport.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPTransport.h index 94fd01b..ec32ae1 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPTransport.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPTransport.h @@ -3,16 +3,28 @@ #import -#import "SDLAbstractTransport.h" +#import "SDLTransportType.h" #import "SDLIAPSessionDelegate.h" NS_ASSUME_NONNULL_BEGIN -@interface SDLIAPTransport : SDLAbstractTransport +@interface SDLIAPTransport : NSObject +/** + * Session for transporting data between the app and Core. + */ @property (nullable, strong, nonatomic) SDLIAPSession *controlSession; + +/** + * Session for establishing a connection with Core. Once the connection has been established, the session is closed and a control session is established. + */ @property (nullable, strong, nonatomic) SDLIAPSession *session; +/** + * The subscribed listener. + */ +@property (nullable, weak, nonatomic) id delegate; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPTransport.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPTransport.m index 7ee2e59..5283ae6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPTransport.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIAPTransport.m @@ -146,7 +146,8 @@ - (void)sdl_accessoryConnected:(NSNotification *)notification { SDLLogD(@"Accessory connected while app is in background. Starting background task."); [self sdl_backgroundTaskStart]; } - + + self.retryCounter = 0; [self performSelector:@selector(sdl_connect:) withObject:nil afterDelay:retryDelay]; } @@ -548,28 +549,33 @@ - (SDLStreamErrorHandler)sdl_controlStreamErroredHandler { - (SDLStreamEndHandler)sdl_dataStreamEndedHandler { __weak typeof(self) weakSelf = self; - return ^(NSStream *stream) { + NSAssert(!NSThread.isMainThread, @"%@ should only be called on the IO thread", NSStringFromSelector(_cmd)); __strong typeof(weakSelf) strongSelf = weakSelf; + SDLLogD(@"Data stream ended"); - if (strongSelf.session != nil) { - // The handler will be called on the IO thread, but the session stop method must be called on the main thread and we need to wait for the session to stop before nil'ing it out. To do this, we use dispatch_sync() on the main thread. - dispatch_sync(dispatch_get_main_queue(), ^{ - [strongSelf.session stop]; - }); + if (strongSelf.session == nil) { + SDLLogD(@"Data session is nil"); + return; + } + // The handler will be called on the IO thread, but the session stop method must be called on the main thread + dispatch_async(dispatch_get_main_queue(), ^{ + [strongSelf.session stop]; strongSelf.session.streamDelegate = nil; strongSelf.session = nil; - } - // We don't call sdl_retryEstablishSession here because the stream end event usually fires when the accessory is disconnected + + // We don't call sdl_retryEstablishSession here because the stream end event usually fires when the accessory is disconnected + }); + + // To prevent deadlocks the handler must return to the runloop and not block the thread }; } - (SDLStreamHasBytesHandler)sdl_dataStreamHasBytesHandler { __weak typeof(self) weakSelf = self; - return ^(NSInputStream *istream) { + NSAssert(!NSThread.isMainThread, @"%@ should only be called on the IO thread", NSStringFromSelector(_cmd)); __strong typeof(weakSelf) strongSelf = weakSelf; - uint8_t buf[[[SDLGlobals sharedGlobals] mtuSizeForServiceType:SDLServiceTypeRPC]]; while (istream.streamStatus == NSStreamStatusOpen && istream.hasBytesAvailable) { // It is necessary to check the stream status and whether there are bytes available because the dataStreamHasBytesHandler is executed on the IO thread and the accessory disconnect notification arrives on the main thread, causing data to be passed to the delegate while the main thread is tearing down the transport. @@ -596,18 +602,20 @@ - (SDLStreamHasBytesHandler)sdl_dataStreamHasBytesHandler { - (SDLStreamErrorHandler)sdl_dataStreamErroredHandler { __weak typeof(self) weakSelf = self; - return ^(NSStream *stream) { + NSAssert(!NSThread.isMainThread, @"%@ should only be called on the IO thread", NSStringFromSelector(_cmd)); __strong typeof(weakSelf) strongSelf = weakSelf; SDLLogE(@"Data stream error"); - dispatch_sync(dispatch_get_main_queue(), ^{ + dispatch_async(dispatch_get_main_queue(), ^{ [strongSelf.session stop]; + strongSelf.session.streamDelegate = nil; + strongSelf.session = nil; + if (![LegacyProtocolString isEqualToString:strongSelf.session.protocol]) { + [strongSelf sdl_retryEstablishSession]; + } }); - strongSelf.session.streamDelegate = nil; - strongSelf.session = nil; - if (![LegacyProtocolString isEqualToString:strongSelf.session.protocol]) { - [strongSelf sdl_retryEstablishSession]; - } + + // To prevent deadlocks the handler must return to the runloop and not block the thread }; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIgnitionStableStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIgnitionStableStatus.h index 5a907af..4dc750e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIgnitionStableStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIgnitionStableStatus.h @@ -5,20 +5,23 @@ #import "SDLEnum.h" /** - * Reflects the ignition switch stability. + * Reflects the ignition switch stability. Used in BodyInformation * * @since SDL 2.0 */ typedef SDLEnum SDLIgnitionStableStatus SDL_SWIFT_ENUM; /** - * @abstract The current ignition switch status is considered not to be stable. + * The current ignition switch status is considered not to be stable. */ extern SDLIgnitionStableStatus const SDLIgnitionStableStatusNotStable; /** - * @abstract The current ignition switch status is considered to be stable. + * The current ignition switch status is considered to be stable. */ extern SDLIgnitionStableStatus const SDLIgnitionStableStatusStable; +/** + * The current ignition switch status is considered to be missing from the transmitter + */ extern SDLIgnitionStableStatus const SDLIgnitionStableStatusMissingFromTransmitter; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIgnitionStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIgnitionStatus.h index 5f2e95f..5190312 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLIgnitionStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLIgnitionStatus.h @@ -5,38 +5,38 @@ #import "SDLEnum.h" /** - * Reflects the status of ignition.. + * Reflects the status of ignition. Used in BodyInformation. * * @since SDL 2.0 */ typedef SDLEnum SDLIgnitionStatus SDL_SWIFT_ENUM; /** - * @abstract Ignition status currently unknown + * Ignition status currently unknown */ extern SDLIgnitionStatus const SDLIgnitionStatusUnknown; /** - * @abstract Ignition is off + * Ignition is off */ extern SDLIgnitionStatus const SDLIgnitionStatusOff; /** - * @abstract Ignition is in mode accessory + * Ignition is in mode accessory */ extern SDLIgnitionStatus const SDLIgnitionStatusAccessory; /** - * @abstract Ignition is in mode run + * Ignition is in mode run */ extern SDLIgnitionStatus const SDLIgnitionStatusRun; /** - * @abstract Ignition is in mode start + * Ignition is in mode start */ extern SDLIgnitionStatus const SDLIgnitionStatusStart; /** - * @abstract Signal is invalid + * Signal is invalid */ extern SDLIgnitionStatus const SDLIgnitionStatusInvalid; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImage.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImage.h index cb7cb08..83a05b6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImage.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImage.h @@ -4,9 +4,10 @@ #import "SDLRPCMessage.h" #import "SDLImageType.h" +#import "SDLStaticIconName.h" /** - *Specifies, which image shall be used, e.g. in SDLAlerts or on SDLSoftbuttons provided the display supports it. + * Specifies which image shall be used e.g. in SDLAlerts or on SDLSoftbuttons provided the display supports it. * * @since SDL 2.0 */ @@ -15,26 +16,77 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLImage : SDLRPCStruct -- (instancetype)initWithName:(NSString *)name ofType:(SDLImageType)imageType; +/** + * Convenience init for displaying a dynamic image. The image must be uploaded to SDL Core before being displayed. + * + * @param name The unique name used to upload the image to SDL Core + * @param imageType Describes whether the image is static or dynamic + * @return A SDLImage object + */ +- (instancetype)initWithName:(NSString *)name ofType:(SDLImageType)imageType __deprecated_msg("Use initWithName:ofType:isTemplate: instead"); + +/** + * Convenience init for displaying a dynamic image. The image must be uploaded to SDL Core before being displayed. + * + * @param name The unique name used to upload the image to SDL Core + * @param imageType Describes whether the image is static or dynamic + * @param isTemplate Whether or not the image is a template that can be (re)colored by the SDL HMI. Static images are templates by default. + * @return A SDLImage object + */ +- (instancetype)initWithName:(NSString *)name ofType:(SDLImageType)imageType isTemplate:(BOOL)isTemplate; + +/** + * Convenience init for displaying a dynamic image. The image must be uploaded to SDL Core before being displayed. + * + * @param name The unique name used to upload the image to SDL Core + * @return A SDLImage object + */ +- (instancetype)initWithName:(NSString *)name __deprecated_msg("Use initWithName:isTemplate: instead"); -- (instancetype)initWithName:(NSString *)name; +/** + * Convenience init for displaying a dynamic image. The image must be uploaded to SDL Core before being displayed. + * + * @param name The unique name used to upload the image to SDL Core + * @param isTemplate Whether or not the image is a template that can be (re)colored by the SDL HMI + * @return A SDLImage object + */ +- (instancetype)initWithName:(NSString *)name isTemplate:(BOOL)isTemplate; +/** + * Convenience init for displaying a static image. Static images are already on-board SDL Core and can be used by providing the image's value. + * + * @param staticImageValue The image value assigned to the static image + * @return A SDLImage object + */ - (instancetype)initWithStaticImageValue:(UInt16)staticImageValue; /** - * @abstract The static hex icon value or the binary image file name identifier (sent by SDLPutFile) + * Convenience init for displaying a static image. Static images are already on-board SDL Core and can be used by providing the image's value. + * + * @param staticIconName A SDLStaticIconName value + * @return A SDLImage object + */ +- (instancetype)initWithStaticIconName:(SDLStaticIconName)staticIconName; + +/** + * The static hex icon value or the binary image file name identifier (sent by SDLPutFile) * - * Required, max length = 65535 + * Required, max length = 65535 */ @property (strong, nonatomic) NSString *value; /** - * @abstract Describes whether the image is static or dynamic + * Describes whether the image is static or dynamic * - * Required + * Required */ @property (strong, nonatomic) SDLImageType imageType; +/** + * Indicates that this image can be (re)colored by the HMI to best fit the current color scheme. + */ +@property (assign, nonatomic) NSNumber *isTemplate; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImage.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImage.m index 0728295..fcf0581 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImage.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImage.m @@ -18,6 +18,20 @@ - (instancetype)initWithName:(NSString *)name ofType:(SDLImageType)imageType { self.value = name; self.imageType = imageType; + self.isTemplate = @NO; + + return self; +} + +- (instancetype)initWithName:(NSString *)name ofType:(SDLImageType)imageType isTemplate:(BOOL)isTemplate { + self = [self init]; + if (!self) { + return nil; + } + + self.value = name; + self.imageType = imageType; + self.isTemplate = @(isTemplate); return self; } @@ -26,11 +40,22 @@ - (instancetype)initWithName:(NSString *)name { return [self initWithName:name ofType:SDLImageTypeDynamic]; } +- (instancetype)initWithName:(NSString *)name isTemplate:(BOOL)isTemplate { + return [self initWithName:name ofType:SDLImageTypeDynamic isTemplate:isTemplate]; +} + - (instancetype)initWithStaticImageValue:(UInt16)staticImageValue { NSString *value = [NSString stringWithFormat:@"%hu", staticImageValue]; - return [self initWithName:value ofType:SDLImageTypeStatic]; + // All static images are templated by default + return [self initWithName:value ofType:SDLImageTypeStatic isTemplate:YES]; +} + +- (instancetype)initWithStaticIconName:(SDLStaticIconName)staticIconName { + return [self initWithName:staticIconName ofType:SDLImageTypeStatic isTemplate:YES]; } +#pragma mark - Getters / Setters + - (void)setValue:(NSString *)value { [store sdl_setObject:value forName:SDLNameValue]; } @@ -47,6 +72,14 @@ - (SDLImageType)imageType { return [store sdl_objectForName:SDLNameImageType]; } +- (void)setIsTemplate:(NSNumber *)isTemplate { + [store sdl_setObject:isTemplate forName:SDLNameImageTemplate]; +} + +- (NSNumber *)isTemplate { + return [store sdl_objectForName:SDLNameImageTemplate]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageField.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageField.h index f9ec619..5e8d9ab 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageField.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageField.h @@ -10,10 +10,30 @@ NS_ASSUME_NONNULL_BEGIN +/** + A struct used in DisplayCapabilities describing the capability of an image field + */ @interface SDLImageField : SDLRPCStruct +/** + The name that identifies the field. + + Required + */ @property (strong, nonatomic) SDLImageFieldName name; + +/** + The image types that are supported in this field. + + Required + */ @property (strong, nonatomic) NSArray *imageTypeSupported; + +/** + The image resolution of this field + + Optional + */ @property (nullable, strong, nonatomic) SDLImageResolution *imageResolution; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageFieldName.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageFieldName.h index 96e42b3..34e50c3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageFieldName.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageFieldName.h @@ -4,71 +4,76 @@ #import "SDLEnum.h" -/** The name that identifies the filed. - * - * - * @since SmartDeviceLink 3.0 - * +/** + The name that identifies the filed. Used in DisplayCapabilities. + + @since SmartDeviceLink 3.0 */ typedef SDLEnum SDLImageFieldName SDL_SWIFT_ENUM; -/** The image field for SoftButton - * +/** + The image field for SoftButton */ extern SDLImageFieldName const SDLImageFieldNameSoftButtonImage; -/** The first image field for Choice. - * +/** + The first image field for Choice. */ extern SDLImageFieldName const SDLImageFieldNameChoiceImage; -/** The scondary image field for Choice. - * +/** + The scondary image field for Choice. */ extern SDLImageFieldName const SDLImageFieldNameChoiceSecondaryImage; -/** The image field for vrHelpItem. - * +/** + The image field for vrHelpItem. */ extern SDLImageFieldName const SDLImageFieldNameVoiceRecognitionHelpItem; -/** The image field for Turn. - * +/** + The image field for Turn. */ extern SDLImageFieldName const SDLImageFieldNameTurnIcon; -/** The image field for the menu icon in SetGlobalProperties. - * +/** + The image field for the menu icon in SetGlobalProperties. */ extern SDLImageFieldName const SDLImageFieldNameMenuIcon; -/** The image filed for AddCommand. +/** The image field for AddCommand. * */ extern SDLImageFieldName const SDLImageFieldNameCommandIcon; -/** The image field for the app icon (set by setAppIcon). - * +/** + The image field for the app icon (set by setAppIcon). */ extern SDLImageFieldName const SDLImageFieldNameAppIcon; -/** The image filed for Show. +/** The primary image field for Show. * */ extern SDLImageFieldName const SDLImageFieldNameGraphic; +/** The secondary image field for Show. + * + */ +extern SDLImageFieldName const SDLImageFieldNameSecondaryGraphic; + /** The primary image field for ShowConstant TBT. * */ extern SDLImageFieldName const SDLImageFieldNameShowConstantTBTIcon; -/** The secondary image field for ShowConstant TBT. - * +/** + The secondary image field for ShowConstant TBT. */ extern SDLImageFieldName const SDLImageFieldNameShowConstantTBTNextTurnIcon; /** - * The optional image of a destination / location - * @since SDL 4.0 + The optional image of a destination / location + + @since SDL 4.0 */ extern SDLImageFieldName const SDLImageFieldNameLocationImage; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageFieldName.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageFieldName.m index 74054d6..63397b0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageFieldName.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageFieldName.m @@ -13,6 +13,7 @@ SDLImageFieldName const SDLImageFieldNameCommandIcon = @"cmdIcon"; SDLImageFieldName const SDLImageFieldNameAppIcon = @"appIcon"; SDLImageFieldName const SDLImageFieldNameGraphic = @"graphic"; +SDLImageFieldName const SDLImageFieldNameSecondaryGraphic = @"secondaryGraphic"; SDLImageFieldName const SDLImageFieldNameShowConstantTBTIcon = @"showConstantTBTIcon"; SDLImageFieldName const SDLImageFieldNameShowConstantTBTNextTurnIcon = @"showConstantTBTNextTurnIcon"; SDLImageFieldName const SDLImageFieldNameLocationImage = @"locationImage"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageResolution.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageResolution.h index e6ec93a..2e68bfd 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageResolution.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageResolution.h @@ -6,9 +6,23 @@ NS_ASSUME_NONNULL_BEGIN +/** + The resolution of an image + */ @interface SDLImageResolution : SDLRPCStruct +/** + Resolution width + + Required + */ @property (strong, nonatomic) NSNumber *resolutionWidth; + +/** + Resolution height + + Required + */ @property (strong, nonatomic) NSNumber *resolutionHeight; - (instancetype)initWithWidth:(uint16_t)width height:(uint16_t)height; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageType.h index ccb05ab..f06245e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLImageType.h @@ -5,20 +5,20 @@ #import "SDLEnum.h" /** -* Contains information about the type of image. -* -* @since SDL 2.0 -*/ + Contains information about the type of image. Used in Image. + + @since SDL 2.0 + */ typedef SDLEnum SDLImageType SDL_SWIFT_ENUM; /** - * @abstract Just the static hex icon value to be used + Activate an icon that shipped with the IVI system by passing a hex value. */ extern SDLImageType const SDLImageTypeStatic; /** - * @abstract Binary image file to be used (identifier to be sent by SDLPutFile) - * - * @see SDLPutFile + An icon referencing an image uploaded by the app (identifier to be sent by SDLPutFile) + + @see SDLPutFile */ extern SDLImageType const SDLImageTypeDynamic; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLInteractionMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLInteractionMode.h index ba53bc2..f0ff203 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLInteractionMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLInteractionMode.h @@ -5,30 +5,33 @@ #import "SDLEnum.h" /** - * For application-initiated interactions (SDLPerformInteraction), this specifies the mode by which the user is prompted and by which the user's selection is indicated - * - * @since SDL 1.0 + For application-initiated interactions (SDLPerformInteraction), this specifies the mode by which the user is prompted and by which the user's selection is indicated. Used in PerformInteraction. + + @since SDL 1.0 */ typedef SDLEnum SDLInteractionMode SDL_SWIFT_ENUM; /** - * @abstract Interaction Mode : Manual Only - * @discussion This mode causes the interaction to occur only on the display, meaning the choices are presented and selected only via the display. Selections are viewed with the SEEKRIGHT, SEEKLEFT, TUNEUP, TUNEDOWN buttons. User's selection is indicated with the OK button + Interaction Mode : Manual Only + + This mode causes the interaction to occur only on the display, meaning the choices are presented and selected only via the display. Selections are viewed with the SEEKRIGHT, SEEKLEFT, TUNEUP, TUNEDOWN buttons. User's selection is indicated with the OK button */ extern SDLInteractionMode const SDLInteractionModeManualOnly; /** - * @abstract Interaction Mode : VR Only - * @discussion This mode causes the interaction to occur only through TTS and VR. The user is prompted via TTS to select a choice by saying one of the choice's synonyms + Interaction Mode : VR Only + + This mode causes the interaction to occur only through TTS and VR. The user is prompted via TTS to select a choice by saying one of the choice's synonyms */ extern SDLInteractionMode const SDLInteractionModeVoiceRecognitionOnly; /** - * @abstract Interaction Mode : Manual & VR - * @discussion This mode is a combination of MANUAL_ONLY and VR_ONLY, meaning the user is prompted both visually and audibly. The user can make a selection either using the mode described in MANUAL_ONLY or using the mode described in VR_ONLY. - * - * If the user views selections as described in MANUAL_ONLY mode, the interaction becomes strictly, and irreversibly, a MANUAL_ONLY interaction (i.e. the VR session is cancelled, although the interaction itself is still in progress). If the user interacts with the VR session in any way (e.g. speaks a phrase, even if it is not a recognized choice), the interaction becomes strictly, and irreversibly, a VR_ONLY interaction (i.e. the MANUAL_ONLY mode forms of interaction will no longer be honored) - * - * The TriggerSource parameter of the *PerformInteraction* response will indicate which interaction mode the user finally chose to attempt the selection (even if the interaction did not end with a selection being made) + Interaction Mode : Manual & VR + + @discussion This mode is a combination of MANUAL_ONLY and VR_ONLY, meaning the user is prompted both visually and audibly. The user can make a selection either using the mode described in MANUAL_ONLY or using the mode described in VR_ONLY. + + If the user views selections as described in MANUAL_ONLY mode, the interaction becomes strictly, and irreversibly, a MANUAL_ONLY interaction (i.e. the VR session is cancelled, although the interaction itself is still in progress). If the user interacts with the VR session in any way (e.g. speaks a phrase, even if it is not a recognized choice), the interaction becomes strictly, and irreversibly, a VR_ONLY interaction (i.e. the MANUAL_ONLY mode forms of interaction will no longer be honored) + + The TriggerSource parameter of the *PerformInteraction* response will indicate which interaction mode the user finally chose to attempt the selection (even if the interaction did not end with a selection being made) */ extern SDLInteractionMode const SDLInteractionModeBoth; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardDelegate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardDelegate.h new file mode 100644 index 0000000..5178327 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardDelegate.h @@ -0,0 +1,90 @@ +// +// SDLKeyboardDelegate.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLKeyboardEvent.h" + +@class SDLKeyboardProperties; + +NS_ASSUME_NONNULL_BEGIN + +/** + This handler is called when you wish to update your autocomplete text in response to the user's input + + @param updatedAutocompleteText The new autocomplete text to use + */ +typedef void(^SDLKeyboardAutocompleteCompletionHandler)(NSString *_Nullable updatedAutocompleteText); + +/** + This handler is called when you wish to update your keyboard's limitedCharacterSet in response to the user's input + + @param updatedCharacterSet The new set of characters to use + */ +typedef void(^SDLKeyboardCharacterSetCompletionHandler)(NSArray *_Nullable updatedCharacterSet); + +@protocol SDLKeyboardDelegate + +// + +/** + The keyboard session completed with some input. + + This will be sent upon ENTRY_SUBMITTED or ENTRY_VOICE. If the event is ENTRY_VOICE, the user requested to start a voice session in order to submit input to this keyboard. This MUST be handled by you. Start an Audio Pass Thru session if supported. + + @param inputText The submitted input text on the keyboard + @param source ENTRY_SUBMITTED if the user pressed the submit button on the keyboard, ENTRY_VOICE if the user requested that a voice session begin + */ +- (void)userDidSubmitInput:(NSString *)inputText withEvent:(SDLKeyboardEvent)source; + +/** + The keyboard session aborted. + + This will be sent if the keyboard event ENTRY_CANCELLED or ENTRY_ABORTED is sent + + @param event ENTRY_CANCELLED if the user cancelled the keyboard input, or ENTRY_ABORTED if the system aborted the input due to a higher priority event + */ +- (void)keyboardDidAbortWithReason:(SDLKeyboardEvent)event; + +@optional +/** + Implement this in order to provide a custom keyboard configuration to just this keyboard. To apply default settings to all keyboards, see SDLScreenManager.keyboardConfiguration + + @return The custom keyboard configuration to use. + */ +- (SDLKeyboardProperties *)customKeyboardConfiguration; + +/** + Implement this if you wish to update the KeyboardProperties.autoCompleteText as the user updates their input. This is called upon a KEYPRESS event. + + @param currentInputText The user's full current input text + @param completionHandler A completion handler to update the autoCompleteText + */ +- (void)updateAutocompleteWithInput:(NSString *)currentInputText completionHandler:(SDLKeyboardAutocompleteCompletionHandler)completionHandler; + +/** + Implement this if you wish to update the limitedCharacterSet as the user updates their input. This is called upon a KEYPRESS event. + + @param currentInputText The user's full current input text + @param completionHandler A completion handler to update the limitedCharacterSet + */ +-(void)updateCharacterSetWithInput:(NSString *)currentInputText completionHandler:(SDLKeyboardCharacterSetCompletionHandler)completionHandler; + +// This will be sent for any event that occurs with the event and the current input text + +/** + Implement this to be notified of all events occurring on the keyboard + + @param event The event that occurred + @param currentInputText The user's full current input text + */ +- (void)keyboardDidSendEvent:(SDLKeyboardEvent)event text:(NSString *)currentInputText; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardEvent.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardEvent.h index fad15bc..02fbf75 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardEvent.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardEvent.h @@ -4,34 +4,36 @@ #import "SDLEnum.h" -/** Enumeration listing possible keyboard events. - * - * @since SmartDeviceLink 3.0 - * +/** + Enumeration listing possible keyboard events. Used in OnKeyboardInput. + + @since SmartDeviceLink 3.0 */ typedef SDLEnum SDLKeyboardEvent SDL_SWIFT_ENUM; -/** The use has pressed the keyboard key (applies to both SINGLE_KEYPRESS and RESEND_CURRENT_ENTRY modes). - * +/** + The use has pressed the keyboard key (applies to both SINGLE_KEYPRESS and RESEND_CURRENT_ENTRY modes). */ extern SDLKeyboardEvent const SDLKeyboardEventKeypress; -/** The User has finished entering text from the keyboard and submitted the entry. - * +/** + The User has finished entering text from the keyboard and submitted the entry. */ extern SDLKeyboardEvent const SDLKeyboardEventSubmitted; -/** The User has pressed the HMI-defined "Cancel" button. - * +/** + The User has pressed the HMI-defined "Cancel" button. */ extern SDLKeyboardEvent const SDLKeyboardEventCancelled; -/** The User has not finished entering text and the keyboard is aborted with the event of higher priority. - * +/** + The User has not finished entering text and the keyboard is aborted with the event of higher priority. */ extern SDLKeyboardEvent const SDLKeyboardEventAborted; /** - * @since SDL 4.0 + The user used voice as input for the keyboard + + @since SDL 4.0 */ extern SDLKeyboardEvent const SDLKeyboardEventVoice; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardLayout.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardLayout.h index 2f0fd6f..ea36434 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardLayout.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardLayout.h @@ -4,24 +4,24 @@ #import "SDLEnum.h" -/** Enumeration listing possible keyboard layouts - * - *Since SmartDeviceLink 3.0 - * +/** + Enumeration listing possible keyboard layouts. Used in KeyboardProperties. + + Since SmartDeviceLink 3.0 */ typedef SDLEnum SDLKeyboardLayout SDL_SWIFT_ENUM; -/** QWERTY layout (the name comes from the first six keys
    appearing on the top left letter row of the keyboard and read from left to right) - * +/** + QWERTY layout (the name comes from the first six keys
    appearing on the top left letter row of the keyboard and read from left to right) */ extern SDLKeyboardLayout const SDLKeyboardLayoutQWERTY; -/** QWERTZ layout (the name comes from the first six keys
    appearing on the top left letter row of the keyboard and read from left to right) - * +/** + QWERTZ layout (the name comes from the first six keys
    appearing on the top left letter row of the keyboard and read from left to right) */ extern SDLKeyboardLayout const SDLKeyboardLayoutQWERTZ; -/** AZERTY layout (the name comes from the first six keys
    appearing on the top left letter row of the keyboard and read from left to right) - * +/** + AZERTY layout (the name comes from the first six keys
    appearing on the top left letter row of the keyboard and read from left to right) */ extern SDLKeyboardLayout const SDLKeyboardLayoutAZERTY; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardProperties.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardProperties.h index 3092771..a4a0dbf 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardProperties.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeyboardProperties.h @@ -9,14 +9,48 @@ NS_ASSUME_NONNULL_BEGIN +/** + Configuration of on-screen keyboard (if available) + */ @interface SDLKeyboardProperties : SDLRPCStruct - (instancetype)initWithLanguage:(nullable SDLLanguage)language layout:(nullable SDLKeyboardLayout)layout keypressMode:(nullable SDLKeypressMode)keypressMode limitedCharacterList:(nullable NSArray *)limitedCharacterList autoCompleteText:(nullable NSString *)autoCompleteText; +/** + The keyboard language + + Optional + */ @property (nullable, strong, nonatomic) SDLLanguage language; + +/** + Desired keyboard layout + + Optional + */ @property (nullable, strong, nonatomic) SDLKeyboardLayout keyboardLayout; + +/** + Desired keypress mode. + + If omitted, this value will be set to RESEND_CURRENT_ENTRY. + + Optional + */ @property (nullable, strong, nonatomic) SDLKeypressMode keypressMode; + +/** + Array of keyboard characters to enable. All omitted characters will be greyed out (disabled) on the keyboard. If omitted, the entire keyboard will be enabled. + + Optional + */ @property (nullable, strong, nonatomic) NSArray *limitedCharacterList; + +/** + Allows an app to prepopulate the text field with a suggested or completed entry as the user types + + Optional + */ @property (nullable, strong, nonatomic) NSString *autoCompleteText; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeypressMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeypressMode.h index 668f75f..839926c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeypressMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLKeypressMode.h @@ -4,26 +4,28 @@ #import "SDLEnum.h" -/** Enumeration listing possible keyboard events. - *

    - * Note: Depending on keypressMode value (from keyboardProperties structure of UI.SetGlobalProperties),
    HMI must send the onKeyboardInput notification with the following data:
    +/** + Enumeration listing possible keyboard events. + + Note: Depending on keypressMode value (from keyboardProperties structure of UI.SetGlobalProperties), HMI must send the onKeyboardInput notification with the following data: + SINGLE_KEYPRESS,QUEUE_KEYPRESSES,RESEND_CURRENT_ENTRY. - * @since SmartDeviceLink 3.0 - * + + @since SmartDeviceLink 3.0 */ typedef SDLEnum SDLKeypressMode SDL_SWIFT_ENUM; -/** SINGLE_KEYPRESS:
    Each and every User`s keypress must be reported (new notification for every newly entered single symbol). - * +/** + SINGLE_KEYPRESS:
    Each and every User`s keypress must be reported (new notification for every newly entered single symbol). */ extern SDLKeypressMode const SDLKeypressModeSingleKeypress; -/** QUEUE_KEYPRESSES:
    The whole entry is reported only after the User submits it (by ‘Search’ button click displayed on touchscreen keyboard) - * +/** + QUEUE_KEYPRESSES:
    The whole entry is reported only after the User submits it (by ‘Search’ button click displayed on touchscreen keyboard) */ extern SDLKeypressMode const SDLKeypressModeQueueKeypresses; -/** RESEND_CURRENT_ENTRY:
    The whole entry must be reported each and every time the User makes a new keypress
    (new notification with all previously entered symbols and a newly entered one appended). - * +/** + RESEND_CURRENT_ENTRY:
    The whole entry must be reported each and every time the User makes a new keypress
    (new notification with all previously entered symbols and a newly entered one appended). */ extern SDLKeypressMode const SDLKeypressModeResendCurrentEntry; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLanguage.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLanguage.h index 80049bd..0224475 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLanguage.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLanguage.h @@ -5,203 +5,203 @@ #import "SDLEnum.h" /** - * Specifies the language to be used for TTS, VR, displayed messages/menus - * - * @since SDL 1.0 + Specifies the language to be used for TTS, VR, displayed messages/menus. Used in ChangeRegistration and RegisterAppInterface. + + @since SDL 1.0 */ typedef SDLEnum SDLLanguage SDL_SWIFT_ENUM; -/*! - @abstract English_SA +/** + English_SA */ extern SDLLanguage const SDLLanguageEnSa; -/*! - @abstract Hebrew_IL +/** + Hebrew_IL */ extern SDLLanguage const SDLLanguageHeIl; -/*! - @abstract Romainian_RO +/** + Romainian_RO */ extern SDLLanguage const SDLLanguageRoRo; -/*! - @abstract Ukrainian_UA +/** + Ukrainian_UA */ extern SDLLanguage const SDLLanguageUkUa; -/*! - @abstract Indonesian_ID +/** + Indonesian_ID */ extern SDLLanguage const SDLLanguageIdId; -/*! - @abstract Vietnamese_VN +/** + Vietnamese_VN */ extern SDLLanguage const SDLLanguageViVn; -/*! - @abstract Malay_MY +/** + Malay_MY */ extern SDLLanguage const SDLLanguageMsMy; -/*! - @abstract Hindi_IN +/** + Hindi_IN */ extern SDLLanguage const SDLLanguageHiIn; -/*! - @abstract Dutch(Flemish)_BE +/** + Dutch(Flemish)_BE */ extern SDLLanguage const SDLLanguageNlBe; -/*! - @abstract Greek_GR +/** + Greek_GR */ extern SDLLanguage const SDLLanguageElGr; -/*! - @abstract Hungarian_HU +/** + Hungarian_HU */ extern SDLLanguage const SDLLanguageHuHu; -/*! - @abstract Finnish_FI +/** + Finnish_FI */ extern SDLLanguage const SDLLanguageFiFi; -/*! - @abstract Slovak_SK +/** + Slovak_SK */ extern SDLLanguage const SDLLanguageSkSk; -/*! - @abstract English_US +/** + English_US */ extern SDLLanguage const SDLLanguageEnUs; -/*! - @abstract English - India +/** + English - India */ extern SDLLanguage const SDLLanguageEnIn; -/*! - @abstract Thai - Thailand +/** + Thai - Thailand */ extern SDLLanguage const SDLLanguageThTh; /** - @abstract Spanish - Mexico + Spanish - Mexico */ extern SDLLanguage const SDLLanguageEsMx; /** - * @abstract French - Canada + French - Canada */ extern SDLLanguage const SDLLanguageFrCa; /** - * @abstract German - Germany + German - Germany */ extern SDLLanguage const SDLLanguageDeDe; /** - * @abstract Spanish - Spain + * Spanish - Spain */ extern SDLLanguage const SDLLanguageEsEs; /** - @abstract English - Great Britain + English - Great Britain */ extern SDLLanguage const SDLLanguageEnGb; /** - * @abstract Russian - Russia +Russian - Russia */ extern SDLLanguage const SDLLanguageRuRu; /** - * @abstract Turkish - Turkey + Turkish - Turkey */ extern SDLLanguage const SDLLanguageTrTr; /** - * @abstract Polish - Poland + Polish - Poland */ extern SDLLanguage const SDLLanguagePlPl; /** - * @abstract French - France + French - France */ extern SDLLanguage const SDLLanguageFrFr; /** - * @abstract Italian - Italy + Italian - Italy */ extern SDLLanguage const SDLLanguageItIt; /** - * @abstract Swedish - Sweden + Swedish - Sweden */ extern SDLLanguage const SDLLanguageSvSe; /** - * @abstract Portuguese - Portugal + Portuguese - Portugal */ extern SDLLanguage const SDLLanguagePtPt; /** - * @abstract Dutch (Standard) - Netherlands + Dutch (Standard) - Netherlands */ extern SDLLanguage const SDLLanguageNlNl; /** - * @abstract English - Australia + English - Australia */ extern SDLLanguage const SDLLanguageEnAu; /** - * @abstract Mandarin - China + Mandarin - China */ extern SDLLanguage const SDLLanguageZhCn; /** - * @abstract Mandarin - Taiwan + Mandarin - Taiwan */ extern SDLLanguage const SDLLanguageZhTw; /** - * @abstract Japanese - Japan + Japanese - Japan */ extern SDLLanguage const SDLLanguageJaJp; /** - * @abstract Arabic - Saudi Arabia + Arabic - Saudi Arabia */ extern SDLLanguage const SDLLanguageArSa; /** - * @abstract Korean - South Korea + Korean - South Korea */ extern SDLLanguage const SDLLanguageKoKr; /** - * @abstract Portuguese - Brazil + Portuguese - Brazil */ extern SDLLanguage const SDLLanguagePtBr; /** - * @abstract Czech - Czech Republic + Czech - Czech Republic */ extern SDLLanguage const SDLLanguageCsCz; /** - * @abstract Danish - Denmark + Danish - Denmark */ extern SDLLanguage const SDLLanguageDaDk; /** - * @abstract Norwegian - Norway + Norwegian - Norway */ extern SDLLanguage const SDLLanguageNoNo; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLayoutMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLayoutMode.h index 4e6389c..3cb7db7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLayoutMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLayoutMode.h @@ -5,7 +5,7 @@ #import "SDLEnum.h" /** - * For touchscreen interactions, the mode of how the choices are presented. + * For touchscreen interactions, the mode of how the choices are presented. Used in PerformInteraction. * * @since SDL 3.0 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleConfiguration.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleConfiguration.h index a50e436..a558c0d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleConfiguration.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleConfiguration.h @@ -12,6 +12,7 @@ #import "SDLLanguage.h" @class SDLFile; +@class SDLTemplateColorScheme; @class SDLTTSChunk; @@ -28,23 +29,45 @@ NS_ASSUME_NONNULL_BEGIN * A production configuration that runs using IAP. Additional functionality should be customized on the properties. * * @param appName The name of the app. - * @param appId The appId to be used. This should be registered with the radio's manufacturer. + * @param appId The app id to be used. This should be registered with the head unit's manufacturer. * * @return The lifecycle configuration */ -+ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId NS_SWIFT_NAME(init(appName:appId:)); ++ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId NS_SWIFT_NAME(init(appName:appId:)) __deprecated_msg("Use defaultConfigurationWithAppName:fullAppId: instead"); + +/** + * A production configuration that runs using IAP. Additional functionality should be customized on the properties. + * + * @param appName The name of the app. + * @param fullAppId The full app id to be used. This should be registered with the head unit's manufacturer. When set, the `appId` parameter will be set automatically to the first 10 non-dash characters of the `fullAppId`. + * + * @return The lifecycle configuration + */ ++ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName fullAppId:(NSString *)fullAppId NS_SWIFT_NAME(init(appName:fullAppId:)); /** * A debug configuration that runs using TCP. Additional functionality should be customized on the properties. * * @param appName The name of the app. - * @param appId The appId to be used. This should be registered with the radio's manufacturer. + * @param appId The app id to be used. This should be registered with the head unit's manufacturer. * @param ipAddress The ip address of the server to connect to * @param port The port of the server to connect to * * @return The lifecycle configuration */ -+ (SDLLifecycleConfiguration *)debugConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId ipAddress:(NSString *)ipAddress port:(UInt16)port NS_SWIFT_NAME(init(appName:appId:ipAddress:port:)); ++ (SDLLifecycleConfiguration *)debugConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId ipAddress:(NSString *)ipAddress port:(UInt16)port NS_SWIFT_NAME(init(appName:appId:ipAddress:port:)) __deprecated_msg("Use debugConfigurationWithAppName:fullAppId:ipAddress:port: instead"); + +/** + * A debug configuration that runs using TCP. Additional functionality should be customized on the properties. + * + * @param appName The name of the app. + * @param fullAppId The full app id to be used. This should be registered with the head unit's manufacturer. When set, the `appId` parameter will be set automatically to the first 10 non-dash characters of the `fullAppId`. + * @param ipAddress The ip address of the server to connect to + * @param port The port of the server to connect to + * + * @return The lifecycle configuration + */ ++ (SDLLifecycleConfiguration *)debugConfigurationWithAppName:(NSString *)appName fullAppId:(NSString *)fullAppId ipAddress:(NSString *)ipAddress port:(UInt16)port NS_SWIFT_NAME(init(appName:fullAppId:ipAddress:port:)); /** * Whether or not debug mode is enabled @@ -67,10 +90,23 @@ NS_ASSUME_NONNULL_BEGIN @property (copy, nonatomic) NSString *appName; /** - * The app id. This must be the same as the app id received from the SDL developer portal or OEM. + * The app id. This must be the same as the app id received from the SDL developer portal. + * + * @see `fullAppId` + * + * Required */ @property (copy, nonatomic, readonly) NSString *appId; +/** + * The full app id. This must be the same as the full app id received from the SDL developer portal. + * + * Optional + * + * @discussion The `fullAppId` is used to authenticate apps that connect with head units that implement SDL Core v.5.0 and newer. If connecting with older head units, the `fullAppId` can be truncated to create the required `appId` needed to register the app. The `appId` is the first 10 non-dash ("-") characters of the `fullAppId` (e.g. if you have a `fullAppId` of 123e4567-e89b-12d3-a456-426655440000, the `appId` will be 123e4567e8). + */ +@property (copy, nonatomic, nullable, readonly) NSString *fullAppId; + /** * A hash id which should be passed to the remote system in the RegisterAppInterface */ @@ -87,7 +123,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic, null_resettable) SDLAppHMIType appType; /** - Additional application types beyond `appType` + * Additional application types beyond `appType` */ @property (copy, nonatomic, nullable) NSArray *additionalAppTypes; @@ -121,6 +157,16 @@ NS_ASSUME_NONNULL_BEGIN */ @property (copy, nonatomic, nullable) NSArray *voiceRecognitionCommandNames; +/** + * The color scheme to use when the head unit is in a light / day situation. + */ +@property (copy, nonatomic, nullable) SDLTemplateColorScheme *dayColorScheme; + +/** + * The color scheme to use when the head unit is in a dark / night situation. + */ +@property (copy, nonatomic, nullable) SDLTemplateColorScheme *nightColorScheme; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleConfiguration.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleConfiguration.m index d14f0b0..6c5b560 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleConfiguration.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleConfiguration.m @@ -24,12 +24,31 @@ @interface SDLLifecycleConfiguration () @end +static NSUInteger const AppIdCharacterCount = 10; @implementation SDLLifecycleConfiguration #pragma mark Lifecycle -- (instancetype)initDefaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId { ++ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId { + return [[self alloc] initDefaultConfigurationWithAppName:appName fullAppId:nil appId:appId]; +} + ++ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName fullAppId:(NSString *)fullAppId { + return [[self alloc] initDefaultConfigurationWithAppName:appName fullAppId:fullAppId appId:fullAppId]; +} + ++ (SDLLifecycleConfiguration *)debugConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId ipAddress:(NSString *)ipAddress port:(UInt16)port { + return [[self alloc] initDefaultConfigurationWithAppName:appName fullAppId:nil appId:appId ipAddress:ipAddress port:port]; +} + ++ (SDLLifecycleConfiguration *)debugConfigurationWithAppName:(NSString *)appName fullAppId:(NSString *)fullAppId ipAddress:(NSString *)ipAddress port:(UInt16)port { + return [[self alloc] initDefaultConfigurationWithAppName:appName fullAppId:fullAppId appId:fullAppId ipAddress:ipAddress port:port]; +} + +#pragma mark Initalization Helpers + +- (instancetype)initDefaultConfigurationWithAppName:(NSString *)appName fullAppId:(nullable NSString *)fullAppId appId:(NSString *)appId { self = [super init]; if (!self) { return nil; @@ -40,8 +59,6 @@ - (instancetype)initDefaultConfigurationWithAppName:(NSString *)appName appId:(N _tcpDebugPort = DefaultTCPIPPort; _appName = appName; - _appId = appId; - _appType = SDLAppHMITypeDefault; _language = SDLLanguageEnUs; _languagesSupported = @[_language]; @@ -50,15 +67,15 @@ - (instancetype)initDefaultConfigurationWithAppName:(NSString *)appName appId:(N _ttsName = nil; _voiceRecognitionCommandNames = nil; + _fullAppId = fullAppId; + _appId = fullAppId != nil ? [self.class sdlex_shortAppIdFromFullAppId:fullAppId] : appId; + return self; } -+ (SDLLifecycleConfiguration *)defaultConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId { - return [[self alloc] initDefaultConfigurationWithAppName:appName appId:appId]; -} +- (instancetype)initDefaultConfigurationWithAppName:(NSString *)appName fullAppId:(nullable NSString *)fullAppId appId:(nullable NSString *)appId ipAddress:(NSString *)ipAddress port:(UInt16)port { + SDLLifecycleConfiguration *config = [self initDefaultConfigurationWithAppName:appName fullAppId:fullAppId appId:appId]; -+ (SDLLifecycleConfiguration *)debugConfigurationWithAppName:(NSString *)appName appId:(NSString *)appId ipAddress:(NSString *)ipAddress port:(UInt16)port { - SDLLifecycleConfiguration *config = [[self alloc] initDefaultConfigurationWithAppName:appName appId:appId]; config.tcpDebugMode = YES; config.tcpDebugIPAddress = ipAddress; config.tcpDebugPort = port; @@ -66,7 +83,7 @@ + (SDLLifecycleConfiguration *)debugConfigurationWithAppName:(NSString *)appName return config; } -#pragma mark Computed Properties +#pragma mark - Computed Properties - (BOOL)isMedia { if ([self.appType isEqualToEnum:SDLAppHMITypeMedia] || [self.additionalAppTypes containsObject:SDLAppHMITypeMedia]) { @@ -93,11 +110,36 @@ - (void)setAppType:(nullable SDLAppHMIType)appType { _appType = appType; } +#pragma mark - Full App ID Helpers + +/** + * Generates the `appId` from the `fullAppId` + * + * @discussion When an app is registered with an OEM, it is assigned an `appID` and a `fullAppID`. The `fullAppID` is the full UUID appID. The `appID` is the first 10 non-dash (i.e. "-") characters of the `fullAppID`. + * + * @param fullAppId A `fullAppId` + * @return An `appID` made of the first 10 non-dash characters of the "fullAppID" + */ ++ (NSString *)sdlex_shortAppIdFromFullAppId:(NSString *)fullAppId { + NSString *filteredString = [self sdlex_filterDashesFromText:fullAppId]; + return [filteredString substringToIndex:MIN(AppIdCharacterCount, filteredString.length)]; +} + +/** + * Filters the dash characters from a string + * + * @param text The string + * @return The string with all dash characters removed + */ ++ (NSString *)sdlex_filterDashesFromText:(NSString *)text { + NSCharacterSet *supportedCharacters = [NSCharacterSet characterSetWithCharactersInString:@"-"]; + return [[text componentsSeparatedByCharactersInSet:supportedCharacters] componentsJoinedByString:@""]; +} -#pragma mark NSCopying +#pragma mark - NSCopying - (id)copyWithZone:(nullable NSZone *)zone { - SDLLifecycleConfiguration *newConfig = [[self.class allocWithZone:zone] initDefaultConfigurationWithAppName:_appName appId:_appId]; + SDLLifecycleConfiguration *newConfig = [[self.class allocWithZone:zone] initDefaultConfigurationWithAppName:_appName fullAppId:_fullAppId appId:_appId]; newConfig->_tcpDebugMode = _tcpDebugMode; newConfig->_tcpDebugIPAddress = _tcpDebugIPAddress; newConfig->_tcpDebugPort = _tcpDebugPort; @@ -109,6 +151,8 @@ - (id)copyWithZone:(nullable NSZone *)zone { newConfig->_shortAppName = _shortAppName; newConfig->_ttsName = _ttsName; newConfig->_voiceRecognitionCommandNames = _voiceRecognitionCommandNames; + newConfig->_dayColorScheme = _dayColorScheme; + newConfig->_nightColorScheme = _nightColorScheme; return newConfig; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleManager.h index c41c2d9..594dccb 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleManager.h @@ -32,6 +32,7 @@ @class SDLScreenManager; @class SDLStateMachine; @class SDLStreamingMediaManager; +@class SDLSystemCapabilityManager; @protocol SDLManagerDelegate; @@ -67,6 +68,7 @@ typedef void (^SDLManagerReadyBlock)(BOOL success, NSError *_Nullable error); @property (strong, nonatomic, nullable) SDLStreamingMediaManager *streamManager; @property (strong, nonatomic) SDLLockScreenManager *lockScreenManager; @property (strong, nonatomic, readonly) SDLScreenManager *screenManager; +@property (strong, nonatomic) SDLSystemCapabilityManager *systemCapabilityManager; @property (strong, nonatomic, readonly) SDLNotificationDispatcher *notificationDispatcher; @property (strong, nonatomic, readonly) SDLResponseDispatcher *responseDispatcher; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleManager.m index c0950a8..c05ac98 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLifecycleManager.m @@ -11,9 +11,9 @@ #import "SDLLifecycleManager.h" #import "NSMapTable+Subscripting.h" -#import "SDLAbstractProtocol.h" #import "SDLAsynchronousRPCRequestOperation.h" #import "SDLChangeRegistration.h" +#import "SDLChoiceSetManager.h" #import "SDLConfiguration.h" #import "SDLConnectionManagerType.h" #import "SDLLogMacros.h" @@ -21,6 +21,8 @@ #import "SDLError.h" #import "SDLFile.h" #import "SDLFileManager.h" +#import "SDLFileManagerConfiguration.h" +#import "SDLGlobals.h" #import "SDLLifecycleConfiguration.h" #import "SDLLifecycleConfigurationUpdate.h" #import "SDLLockScreenConfiguration.h" @@ -35,19 +37,22 @@ #import "SDLOnHMIStatus.h" #import "SDLOnHashChange.h" #import "SDLPermissionManager.h" +#import "SDLProtocol.h" #import "SDLProxy.h" -#import "SDLProxyFactory.h" #import "SDLRPCNotificationNotification.h" #import "SDLRegisterAppInterface.h" #import "SDLRegisterAppInterfaceResponse.h" #import "SDLResponseDispatcher.h" #import "SDLResult.h" #import "SDLScreenManager.h" +#import "SDLSecondaryTransportManager.h" #import "SDLSequentialRPCRequestOperation.h" #import "SDLSetAppIcon.h" #import "SDLStateMachine.h" #import "SDLStreamingMediaConfiguration.h" #import "SDLStreamingMediaManager.h" +#import "SDLStreamingProtocolDelegate.h" +#import "SDLSystemCapabilityManager.h" #import "SDLUnregisterAppInterface.h" @@ -67,7 +72,7 @@ #pragma mark - SDLManager Private Interface -@interface SDLLifecycleManager () +@interface SDLLifecycleManager () // Readonly public properties @property (copy, nonatomic, readwrite) SDLConfiguration *configuration; @@ -76,6 +81,7 @@ @interface SDLLifecycleManager () @property (strong, nonatomic, readwrite) SDLStateMachine *lifecycleStateMachine; // Private properties +@property (strong, nonatomic, nullable) SDLSecondaryTransportManager *secondaryTransportManager; @property (copy, nonatomic) SDLManagerReadyBlock readyHandler; @property (copy, nonatomic) dispatch_queue_t lifecycleQueue; @@ -87,7 +93,7 @@ @implementation SDLLifecycleManager #pragma mark Lifecycle - (instancetype)init { - return [self initWithConfiguration:[SDLConfiguration configurationWithLifecycle:[SDLLifecycleConfiguration defaultConfigurationWithAppName:@"SDL APP" appId:@"001"] lockScreen:[SDLLockScreenConfiguration disabledConfiguration] logging:[SDLLogConfiguration defaultConfiguration]] delegate:nil]; + return [self initWithConfiguration:[SDLConfiguration configurationWithLifecycle:[SDLLifecycleConfiguration defaultConfigurationWithAppName:@"SDL APP" fullAppId:@"001"] lockScreen:[SDLLockScreenConfiguration disabledConfiguration] logging:[SDLLogConfiguration defaultConfiguration] fileManager:[SDLFileManagerConfiguration defaultConfiguration]] delegate:nil]; } - (instancetype)initWithConfiguration:(SDLConfiguration *)configuration delegate:(nullable id)delegate { @@ -118,10 +124,11 @@ - (instancetype)initWithConfiguration:(SDLConfiguration *)configuration delegate _lifecycleQueue = dispatch_queue_create("com.sdl.lifecycle", DISPATCH_QUEUE_SERIAL); // Managers - _fileManager = [[SDLFileManager alloc] initWithConnectionManager:self]; + _fileManager = [[SDLFileManager alloc] initWithConnectionManager:self configuration:_configuration.fileManagerConfig]; _permissionManager = [[SDLPermissionManager alloc] init]; _lockScreenManager = [[SDLLockScreenManager alloc] initWithConfiguration:_configuration.lockScreenConfig notificationDispatcher:_notificationDispatcher presenter:[[SDLLockScreenPresenter alloc] init]]; _screenManager = [[SDLScreenManager alloc] initWithConnectionManager:self fileManager:_fileManager]; + _systemCapabilityManager = [[SDLSystemCapabilityManager alloc] initWithConnectionManager:self]; if ([configuration.lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeNavigation] || [configuration.lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeProjection] || @@ -156,16 +163,16 @@ - (void)sdl_startWithReadyHandler:(SDLManagerReadyBlock)readyHandler { SDLLogD(@"Starting lifecycle manager"); self.readyHandler = [readyHandler copy]; - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateStarted]; + [self sdl_transitionToState:SDLLifecycleStateStarted]; } - (void)stop { dispatch_sync(_lifecycleQueue, ^{ SDLLogD(@"Lifecycle manager stopped"); if ([self.lifecycleStateMachine isCurrentState:SDLLifecycleStateReady]) { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateUnregistering]; + [self sdl_transitionToState:SDLLifecycleStateUnregistering]; } else { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateStopped]; + [self sdl_transitionToState:SDLLifecycleStateStopped]; } }); } @@ -201,15 +208,20 @@ - (void)didEnterStateStarted { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" if (self.configuration.lifecycleConfig.tcpDebugMode) { - self.proxy = [SDLProxyFactory buildSDLProxyWithListener:self.notificationDispatcher tcpIPAddress:self.configuration.lifecycleConfig.tcpDebugIPAddress tcpPort:[@(self.configuration.lifecycleConfig.tcpDebugPort) stringValue]]; + // secondary transport manager is not used + self.secondaryTransportManager = nil; + self.proxy = [SDLProxy tcpProxyWithListener:self.notificationDispatcher + tcpIPAddress:self.configuration.lifecycleConfig.tcpDebugIPAddress + tcpPort:@(self.configuration.lifecycleConfig.tcpDebugPort).stringValue + secondaryTransportManager:self.secondaryTransportManager]; } else { - self.proxy = [SDLProxyFactory buildSDLProxyWithListener:self.notificationDispatcher]; + // we reuse our queue to run secondary transport manager's state machine + self.secondaryTransportManager = [[SDLSecondaryTransportManager alloc] initWithStreamingProtocolDelegate:self + serialQueue:self.lifecycleQueue]; + self.proxy = [SDLProxy iapProxyWithListener:self.notificationDispatcher + secondaryTransportManager:self.secondaryTransportManager]; } #pragma clang diagnostic pop - - if (self.streamManager != nil) { - [self.streamManager startWithProtocol:self.proxy.protocol]; - } } - (void)didEnterStateStopped { @@ -226,7 +238,14 @@ - (void)sdl_stopManager:(BOOL)shouldRestart { [self.fileManager stop]; [self.permissionManager stop]; [self.lockScreenManager stop]; - [self.streamManager stop]; + [self.screenManager stop]; + if (self.secondaryTransportManager != nil) { + [self.secondaryTransportManager stop]; + } else { + [self audioServiceProtocolDidUpdateFromOldProtocol:self.proxy.protocol toNewProtocol:nil]; + [self videoServiceProtocolDidUpdateFromOldProtocol:self.proxy.protocol toNewProtocol:nil]; + } + [self.systemCapabilityManager stop]; [self.responseDispatcher clear]; [self.rpcOperationQueue cancelAllOperations]; @@ -242,10 +261,13 @@ - (void)sdl_stopManager:(BOOL)shouldRestart { // Apple Bug ID #30059457 __weak typeof(self) weakSelf = self; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [weakSelf.delegate managerDidDisconnect]; + __strong typeof(weakSelf) strongSelf = weakSelf; + if (!strongSelf) { return; } + + [strongSelf.delegate managerDidDisconnect]; if (shouldRestart) { - [weakSelf.lifecycleStateMachine transitionToState:SDLLifecycleStateStarted]; + [strongSelf sdl_transitionToState:SDLLifecycleStateStarted]; } }); } @@ -271,14 +293,15 @@ - (void)didEnterStateConnected { weakSelf.readyHandler(NO, error); if (weakSelf.lifecycleState != SDLLifecycleStateReconnecting) { - [weakSelf.lifecycleStateMachine transitionToState:SDLLifecycleStateStopped]; + [weakSelf sdl_transitionToState:SDLLifecycleStateStopped]; } return; } weakSelf.registerResponse = (SDLRegisterAppInterfaceResponse *)response; - [weakSelf.lifecycleStateMachine transitionToState:SDLLifecycleStateRegistered]; + [SDLGlobals sharedGlobals].rpcVersion = weakSelf.registerResponse.syncMsgVersion; + [weakSelf sdl_transitionToState:SDLLifecycleStateRegistered]; }); }]; } @@ -290,10 +313,10 @@ - (void)didEnterStateRegistered { BOOL delegateCanUpdateLifecycle = [self.delegate respondsToSelector:@selector(managerShouldUpdateLifecycleToLanguage:)]; // language mismatch? but actual language is a supported language? and delegate has implemented method? - if (actualLanguage != desiredLanguage && [supportedLanguages containsObject:actualLanguage] && delegateCanUpdateLifecycle) { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateUpdatingConfiguration]; + if (![actualLanguage isEqualToEnum:desiredLanguage] && [supportedLanguages containsObject:actualLanguage] && delegateCanUpdateLifecycle) { + [self sdl_transitionToState:SDLLifecycleStateUpdatingConfiguration]; } else { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateSettingUpManagers]; + [self sdl_transitionToState:SDLLifecycleStateSettingUpManagers]; } } @@ -327,7 +350,7 @@ - (void)didEnterStateUpdatingConfiguration { [self sendConnectionManagerRequest:changeRegistration withResponseHandler:nil]; } - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateSettingUpManagers]; + [self sdl_transitionToState:SDLLifecycleStateSettingUpManagers]; } - (void)didEnterStateSettingUpManagers { @@ -356,23 +379,46 @@ - (void)didEnterStateSettingUpManagers { dispatch_group_leave(managerGroup); }]; + // if secondary transport manager is used, streaming media manager will be started through onAudioServiceProtocolUpdated and onVideoServiceProtocolUpdated + if (self.secondaryTransportManager == nil && self.streamManager != nil) { + [self audioServiceProtocolDidUpdateFromOldProtocol:nil toNewProtocol:self.proxy.protocol]; + [self videoServiceProtocolDidUpdateFromOldProtocol:nil toNewProtocol:self.proxy.protocol]; + } + + dispatch_group_enter(managerGroup); + [self.screenManager startWithCompletionHandler:^(NSError * _Nullable error) { + if (error != nil) { + SDLLogW(@"Screen Manager was unable to start; error: %@", error); + } + + dispatch_group_leave(managerGroup); + }]; + // We're done synchronously calling all startup methods, so we can now wait. dispatch_group_leave(managerGroup); // When done, we want to transition, even if there were errors. They may be expected, e.g. on head units that do not support files. dispatch_group_notify(managerGroup, self.lifecycleQueue, ^{ - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateSettingUpAppIcon]; + // We could have been shut down while waiting for the completion of starting file manager and permission manager. + if (self.lifecycleState == SDLLifecycleStateSettingUpManagers) { + [self sdl_transitionToState:SDLLifecycleStateSettingUpAppIcon]; + } }); } - (void)didEnterStateSettingUpAppIcon { + if (self.registerResponse.iconResumed.boolValue) { + [self sdl_transitionToState:SDLLifecycleStateSettingUpHMI]; + return; + } + // We only want to send the app icon when the file manager is complete, and when that's done, wait for hmi status to be ready __weak typeof(self) weakself = self; [self sdl_sendAppIcon:self.configuration.lifecycleConfig.appIcon withCompletion:^() { dispatch_async(weakself.lifecycleQueue, ^{ // We could have been shut down while setting up the app icon, make sure we still want to continue or we could crash if (weakself.lifecycleState == SDLLifecycleStateSettingUpAppIcon) { - [weakself.lifecycleStateMachine transitionToState:SDLLifecycleStateSettingUpHMI]; + [weakself sdl_transitionToState:SDLLifecycleStateSettingUpHMI]; } }); }]; @@ -386,7 +432,7 @@ - (void)didEnterStateSettingUpHMI { } // We are sure to have a HMIStatus, set state to ready - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateReady]; + [self sdl_transitionToState:SDLLifecycleStateReady]; } - (void)didEnterStateReady { @@ -427,7 +473,7 @@ - (void)didEnterStateUnregistering { SDLLogE(@"SDL Error unregistering, we are going to hard disconnect: %@, response: %@", error, response); } - [weakSelf.lifecycleStateMachine transitionToState:SDLLifecycleStateStopped]; + [weakSelf sdl_transitionToState:SDLLifecycleStateStopped]; }]; } @@ -482,11 +528,21 @@ - (void)sendRequest:(__kindof SDLRPCRequest *)request withResponseHandler:(nulla } - (void)sendRequests:(NSArray *)requests progressHandler:(nullable SDLMultipleAsyncRequestProgressHandler)progressHandler completionHandler:(nullable SDLMultipleRequestCompletionHandler)completionHandler { + if (requests.count == 0) { + completionHandler(YES); + return; + } + SDLAsynchronousRPCRequestOperation *op = [[SDLAsynchronousRPCRequestOperation alloc] initWithConnectionManager:self requests:requests progressHandler:progressHandler completionHandler:completionHandler]; [self.rpcOperationQueue addOperation:op]; } - (void)sendSequentialRequests:(NSArray *)requests progressHandler:(nullable SDLMultipleSequentialRequestProgressHandler)progressHandler completionHandler:(nullable SDLMultipleRequestCompletionHandler)completionHandler { + if (requests.count == 0) { + completionHandler(YES); + return; + } + SDLSequentialRPCRequestOperation *op = [[SDLSequentialRPCRequestOperation alloc] initWithConnectionManager:self requests:requests progressHandler:progressHandler completionHandler:completionHandler]; [self.rpcOperationQueue addOperation:op]; } @@ -558,6 +614,18 @@ + (BOOL)sdl_checkNotification:(NSNotification *)notification containsKindOfClass return YES; } +// this is to make sure that the transition happens on the dedicated queue +- (void)sdl_transitionToState:(SDLState *)state { + if (strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(self.lifecycleQueue)) == 0) { + [self.lifecycleStateMachine transitionToState:state]; + } else { + // once this method returns, the transition is completed + dispatch_sync(self.lifecycleQueue, ^{ + [self.lifecycleStateMachine transitionToState:state]; + }); + } +} + #pragma mark SDL notification observers @@ -565,7 +633,7 @@ - (void)transportDidConnect { SDLLogD(@"Transport connected"); dispatch_async(self.lifecycleQueue, ^{ - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateConnected]; + [self sdl_transitionToState:SDLLifecycleStateConnected]; }); } @@ -574,9 +642,9 @@ - (void)transportDidDisconnect { dispatch_async(self.lifecycleQueue, ^{ if (self.lifecycleState == SDLLifecycleStateUnregistering || self.lifecycleState == SDLLifecycleStateStopped) { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateStopped]; + [self sdl_transitionToState:SDLLifecycleStateStopped]; } else { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateReconnecting]; + [self sdl_transitionToState:SDLLifecycleStateReconnecting]; } }); } @@ -606,7 +674,7 @@ - (void)sdl_hmiStatusDidChange:(SDLRPCNotificationNotification *)notification { SDLLogD(@"Audio streaming state changed from %@ to %@", oldStreamingState, self.audioStreamingState); if ([self.lifecycleStateMachine isCurrentState:SDLLifecycleStateSettingUpHMI]) { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateReady]; + [self sdl_transitionToState:SDLLifecycleStateReady]; } if (![self.lifecycleStateMachine isCurrentState:SDLLifecycleStateReady]) { @@ -614,16 +682,19 @@ - (void)sdl_hmiStatusDidChange:(SDLRPCNotificationNotification *)notification { } dispatch_async(dispatch_get_main_queue(), ^{ - if (![oldHMILevel isEqualToEnum:self.hmiLevel]) { + if (![oldHMILevel isEqualToEnum:self.hmiLevel] + && !(oldHMILevel == nil && self.hmiLevel == nil)) { [self.delegate hmiLevel:oldHMILevel didChangeToLevel:self.hmiLevel]; } if (![oldStreamingState isEqualToEnum:self.audioStreamingState] + && !(oldStreamingState == nil && self.audioStreamingState == nil) && [self.delegate respondsToSelector:@selector(audioStreamingState:didChangeToState:)]) { [self.delegate audioStreamingState:oldStreamingState didChangeToState:self.audioStreamingState]; } if (![oldSystemContext isEqualToEnum:self.systemContext] + && !(oldSystemContext == nil && self.systemContext == nil) && [self.delegate respondsToSelector:@selector(systemContext:didChangeToContext:)]) { [self.delegate systemContext:oldSystemContext didChangeToContext:self.systemContext]; } @@ -642,14 +713,45 @@ - (void)sdl_remoteHardwareDidUnregister:(SDLRPCNotificationNotification *)notifi } SDLOnAppInterfaceUnregistered *appUnregisteredNotification = notification.notification; - SDLLogW(@"Remote Device forced unregistration for reason: %@", appUnregisteredNotification.reason); + SDLLogE(@"Remote Device forced unregistration for reason: %@", appUnregisteredNotification.reason); if ([self.lifecycleStateMachine isCurrentState:SDLLifecycleStateUnregistering]) { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateStopped]; + [self sdl_transitionToState:SDLLifecycleStateStopped]; } else if ([self.lifecycleStateMachine isCurrentState:SDLLifecycleStateStopped]) { return; + } else if ([appUnregisteredNotification.reason isKindOfClass:[NSString class]] && [appUnregisteredNotification.reason isEqualToEnum:SDLAppInterfaceUnregisteredReasonAppUnauthorized]) { + // HAX: The string check is due to a core "feature" that could cause -1 to be sent as the enum value, which will crash here. + [self sdl_transitionToState:SDLLifecycleStateStopped]; } else { - [self.lifecycleStateMachine transitionToState:SDLLifecycleStateReconnecting]; + [self sdl_transitionToState:SDLLifecycleStateReconnecting]; + } +} + +#pragma mark Streaming protocol listener + +- (void)audioServiceProtocolDidUpdateFromOldProtocol:(nullable SDLProtocol *)oldProtocol toNewProtocol:(nullable SDLProtocol *)newProtocol { + if ((oldProtocol == nil && newProtocol == nil) || (oldProtocol == newProtocol)) { + return; + } + + if (oldProtocol != nil) { + [self.streamManager stopAudio]; + } + if (newProtocol != nil) { + [self.streamManager startAudioWithProtocol:newProtocol]; + } +} + +- (void)videoServiceProtocolDidUpdateFromOldProtocol:(nullable SDLProtocol *)oldProtocol toNewProtocol:(nullable SDLProtocol *)newProtocol { + if ((oldProtocol == nil && newProtocol == nil) || (oldProtocol == newProtocol)) { + return; + } + + if (oldProtocol != nil) { + [self.streamManager stopVideo]; + } + if (newProtocol != nil) { + [self.streamManager startVideoWithProtocol:newProtocol]; } } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightCapabilities.h new file mode 100644 index 0000000..0bdac1a --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightCapabilities.h @@ -0,0 +1,63 @@ +// SDLLightCapabilities.h +// + +#import "SDLRPCMessage.h" + +#import "SDLLightName.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLLightCapabilities : SDLRPCStruct + +/** + Constructs a newly allocated SDLLightCapabilities object with the name of the light or group of lights + + @param name The name of a light or a group of lights + @return An instance of the SDLLightCapabilities class + */ +- (instancetype)initWithName:(SDLLightName)name; + +/** + Constructs a newly allocated SDLLightCapabilities object with given parameters + + @param name The name of a light or a group of lights + @param densityAvailable light's density can be set remotely + @param colorAvailable Light's color can be set remotely by using the RGB color space + @param statusAvailable whether status is available + + @return An instance of the SDLLightCapabilities class + */ +- (instancetype)initWithName:(SDLLightName)name densityAvailable:(BOOL)densityAvailable colorAvailable:(BOOL)colorAvailable statusAvailable:(BOOL)statusAvailable; + +/** + * @abstract The name of a light or a group of lights + * + * Required, SDLLightName + */ +@property (strong, nonatomic) SDLLightName name; + +/** + * @abstract Indicates if the light's density can be set remotely (similar to a dimmer). + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *densityAvailable; + +/** + * @abstract Indicates if the light's color can be set remotely by using the RGB color space. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *colorAvailable; + +/** + * @abstract Indicates if the status (ON/OFF) can be set remotely. + * App shall not use read-only values (RAMP_UP/RAMP_DOWN/UNKNOWN/INVALID) in a setInteriorVehicleData request. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *statusAvailable; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightCapabilities.m new file mode 100644 index 0000000..3db0454 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightCapabilities.m @@ -0,0 +1,69 @@ +// SDLLightCapabilities.m +// + +#import "SDLLightCapabilities.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLLightCapabilities + +- (instancetype)initWithName:(SDLLightName)name { + self = [self init]; + if(!self) { + return nil; + } + self.name = name; + + return self; +} + +- (instancetype)initWithName:(SDLLightName)name densityAvailable:(BOOL)densityAvailable colorAvailable:(BOOL)colorAvailable statusAvailable:(BOOL)statusAvailable { + self = [self init]; + if(!self) { + return nil; + } + self.name = name; + self.densityAvailable = @(densityAvailable); + self.colorAvailable = @(colorAvailable); + self.statusAvailable = @(statusAvailable); + + return self; +} + +- (void)setName:(SDLLightName)name { + [store sdl_setObject:name forName:SDLNameName]; +} + +- (SDLLightName)name { + return [store sdl_objectForName:SDLNameName]; +} + +- (void)setDensityAvailable:(nullable NSNumber *)densityAvailable { + [store sdl_setObject:densityAvailable forName:SDLNameDensityAvailable]; +} + +- (nullable NSNumber *)densityAvailable { + return [store sdl_objectForName:SDLNameDensityAvailable]; +} + +- (void)setColorAvailable:(nullable NSNumber *)colorAvailable { + [store sdl_setObject:colorAvailable forName:SDLNameRGBColorSpaceAvailable]; +} + +- (nullable NSNumber *)colorAvailable { + return [store sdl_objectForName:SDLNameRGBColorSpaceAvailable]; +} + +- (void)setStatusAvailable:(nullable NSNumber *)statusAvailable { + [store sdl_setObject:statusAvailable forName:SDLNameStatusAvailable]; +} + +- (nullable NSNumber *)statusAvailable { + return [store sdl_objectForName:SDLNameStatusAvailable]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlCapabilities.h new file mode 100644 index 0000000..26e675c --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlCapabilities.h @@ -0,0 +1,40 @@ +// SDLLightControlCapabilities.h +// + +#import "SDLRPCMessage.h" + +@class SDLLightCapabilities; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLLightControlCapabilities : SDLRPCStruct + +/** + Constructs a newly allocated SDLLightControlCapabilities object with given parameters + + + @param moduleName friendly name of the light control module + @param supportedLights array of available LightCapabilities + @return An instance of the SDLLightControlCapabilities class + */ +- (instancetype)initWithModuleName:(NSString *)moduleName supportedLights:(NSArray *)supportedLights; + +/** + * @abstract The short friendly name of the light control module. + * It should not be used to identify a module by mobile application. + * + * Required, Max String length 100 chars + */ +@property (strong, nonatomic) NSString *moduleName; + +/** + * @abstract An array of available LightCapabilities that are controllable. + * + * Required, NSArray of type SDLLightCapabilities minsize="1" maxsize="100" + */ +@property (strong, nonatomic) NSArray *supportedLights; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlCapabilities.m new file mode 100644 index 0000000..90494d2 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlCapabilities.m @@ -0,0 +1,45 @@ +// SDLLightControlCapabilities.m +// + +#import "SDLLightControlCapabilities.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" +#import "SDLLightCapabilities.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLLightControlCapabilities + + +- (instancetype)initWithModuleName:(NSString *)moduleName supportedLights:(NSArray *)supportedLights { + self = [self init]; + if(!self) { + return nil; + } + self.moduleName = moduleName; + self.supportedLights = supportedLights; + + return self; +} + +- (void)setModuleName:(NSString *)moduleName { + [store sdl_setObject:moduleName forName:SDLNameModuleName]; +} + +- (NSString *)moduleName { + return [store sdl_objectForName:SDLNameModuleName]; +} + +- (void)setSupportedLights:(NSArray *)supportedLights { + [store sdl_setObject:supportedLights forName:SDLNameSupportedLights]; + +} + +- (NSArray *)supportedLights { + return [store sdl_objectsForName:SDLNameSupportedLights ofClass:SDLLightCapabilities.class]; +} + + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlData.h new file mode 100644 index 0000000..49d2fe6 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlData.h @@ -0,0 +1,30 @@ +// SDLLightControlData.h +// + +#import "SDLRPCMessage.h" + +@class SDLLightState; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLLightControlData : SDLRPCStruct + +/** + Constructs a newly allocated SDLLightControlData object with lightState + + @param lightState An array of LightNames and their current or desired status + @return An instance of the SDLLightControlData class + */ +- (instancetype)initWithLightStates:(NSArray *)lightState; + +/** + * @abstract An array of LightNames and their current or desired status. + * Status of the LightNames that are not listed in the array shall remain unchanged. + * + * Required, NSArray of type SDLLightState minsize="1" maxsize="100" + */ +@property (strong, nonatomic) NSArray *lightState; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlData.m new file mode 100644 index 0000000..ca8bdba --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightControlData.m @@ -0,0 +1,33 @@ +// SDLLightControlData.m +// + +#import "SDLLightControlData.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" +#import "SDLLightState.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLLightControlData + +-(instancetype)initWithLightStates:(NSArray *)lightState { + self = [self init]; + if(!self) { + return nil; + } + self.lightState = lightState; + + return self; +} + +- (void)setLightState:(NSArray *)lightState { + [store sdl_setObject:lightState forName:SDLNameLightState]; +} + +- (NSArray *)lightState { + return [store sdl_objectsForName:SDLNameLightState ofClass:SDLLightState.class]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightName.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightName.h new file mode 100644 index 0000000..09a954f --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightName.h @@ -0,0 +1,259 @@ +// SDLLightName.h +// + +#import "SDLEnum.h" + +/** + * The name that identifies the Light + * + */ +typedef SDLEnum SDLLightName SDL_SWIFT_ENUM; + +/** + * @abstract Represents the Light with name FRONT_LEFT_HIGH_BEAM. + */ +extern SDLLightName const SDLLightNameFrontLeftHighBeam; + +/** + * @abstract Represents the Light with name FRONT_RIGHT_HIGH_BEAM. + */ +extern SDLLightName const SDLLightNameFrontRightHighBeam; + +/** + * @abstract Represents the Light with name FRONT_LEFT_LOW_BEAM. + */ +extern SDLLightName const SDLLightNameFrontLeftLowBeam; + +/** + * @abstract Represents the Light with name FRONT_RIGHT_LOW_BEAM. + */ +extern SDLLightName const SDLLightNameFrontRightLowBeam; + +/** + * @abstract Represents the Light with name FRONT_LEFT_PARKING_LIGHT + */ +extern SDLLightName const SDLLightNameFrontLeftParkingLight; + +/** + * @abstract Represents the Light with name FRONT_RIGHT_PARKING_LIGHT + */ +extern SDLLightName const SDLLightNameFrontRightParkingLight; + +/** + * @abstract Represents the Light with name FRONT_LEFT_FOG_LIGHT + */ +extern SDLLightName const SDLLightNameFrontLeftFogLight; + +/** + * @abstract Represents the Light with name FRONT_RIGHT_FOG_LIGHT + */ +extern SDLLightName const SDLLightNameFrontRightFogLight; + +/** + * @abstract Represents the Light with name FRONT_LEFT_DAYTIME_RUNNING_LIGHT + */ +extern SDLLightName const SDLLightNameFrontLeftDaytimeRunningLight; + +/** + * @abstract Represents the Light with name FRONT_RIGHT_DAYTIME_RUNNING_LIGHT + */ +extern SDLLightName const SDLLightNameFrontRightDaytimeRunningLight; + +/** + * @abstract Represents the Light with name FRONT_LEFT_TURN_LIGHT + */ +extern SDLLightName const SDLLightNameFrontLeftTurnLight; + +/** + * @abstract Represents the Light with name FRONT_Right_TURN_LIGHT + */ +extern SDLLightName const SDLLightNameFrontRightTurnLight; + +/** + * @abstract Represents the Light with name REAR_LEFT_FOG_LIGHT. + */ +extern SDLLightName const SDLLightNameRearLeftFogLight; + +/** + * @abstract Represents the Light with name REAR_RIGHT_FOG_LIGHT + */ +extern SDLLightName const SDLLightNameRearRightFogLight; + +/** + * @abstract Represents the Light with name REAR_LEFT_TAIL_LIGHT + */ +extern SDLLightName const SDLLightNameRearLeftTailLight; + +/** + * @abstract Represents the Light with name REAR_RIGHT_TAIL_LIGHT + */ +extern SDLLightName const SDLLightNameRearRightTailLight; + +/** + * @abstract Represents the Light with name REAR_LEFT_BRAKE_LIGHT + */ +extern SDLLightName const SDLLightNameRearLeftBrakeLight; + +/** + * @abstract Represents the Light with name REAR_RIGHT_BRAKE_LIGHT + */ +extern SDLLightName const SDLLightNameRearRightBrakeLight; + +/** + * @abstract Represents the Light with name REAR_LEFT_TURN_LIGHT + */ +extern SDLLightName const SDLLightNameRearLeftTurnLight; + +/** + * @abstract Represents the Light with name REAR_RIGHT_TURN_LIGHT + */ +extern SDLLightName const SDLLightNameRearRightTurnLight; + +/** + * @abstract Represents the Light with name REAR_REGISTRATION_PLATE_LIGHT + */ +extern SDLLightName const SDLLightNameRearRegistrationPlateLight; + +#pragma mark - Exterior Lights by common function groups +/** + * @abstract Include all high beam lights: front_left and front_right. + */ +extern SDLLightName const SDLLightNameHighBeams; + +/** + * @abstract Include all low beam lights: front_left and front_right. + */ +extern SDLLightName const SDLLightNameLowBeams; + +/** + * @abstract Include all fog lights: front_left, front_right, rear_left and rear_right. + */ +extern SDLLightName const SDLLightNameFogLights; + +/** + * @abstract Include all daytime running lights: front_left and front_right. + */ +extern SDLLightName const SDLLightNameRunningLights; + +/** + * @abstract Include all parking lights: front_left and front_right. + */ +extern SDLLightName const SDLLightNameParkingLights; + +/** + * @abstract Include all brake lights: rear_left and rear_right. + */ +extern SDLLightName const SDLLightNameBrakeLights; + +/** + * @abstract Represents the Light with name REAR_REVERSING_LIGHTS + */ +extern SDLLightName const SDLLightNameRearReversingLights; + +/** + * @abstract Represents the Light with name SIDE_MARKER_LIGHTS + */ +extern SDLLightName const SDLLightNameSideMarkerLights; + +/** + * @abstract Include all left turn signal lights: front_left, rear_left, left_side and mirror_mounted. + */ +extern SDLLightName const SDLLightNameLeftTurnLights; + +/** + * @abstract Include all right turn signal lights: front_right, rear_right, right_side and mirror_mounted. + */ +extern SDLLightName const SDLLightNameRightTurnLights; + +/** + * @abstract Include all hazard lights: front_left, front_right, rear_left and rear_right. + */ +extern SDLLightName const SDLLightNameHazardLights; + +#pragma mark - Interior Lights by common function groups + +/** + * @abstract Represents the Light with name AMBIENT_LIGHTS + */ +extern SDLLightName const SDLLightNameAmbientLights; + +/** + * @abstract Represents the Light with name OVERHEAD_LIGHTS + */ +extern SDLLightName const SDLLightNameOverHeadLights; + +/** + * @abstract Represents the Light with name READING_LIGHTS + */ +extern SDLLightName const SDLLightNameReadingLights; + +/** + * @abstract Represents the Light with name TRUNK_LIGHTS + */ +extern SDLLightName const SDLLightNameTrunkLights; + +#pragma mark - Lights by location + +/** + * @abstract Include exterior lights located in front of the vehicle. For example, fog lights and low beams. + */ +extern SDLLightName const SDLLightNameExteriorFrontLights; + +/** + * @abstract Include exterior lights located at the back of the vehicle. + * For example, license plate lights, reverse lights, cargo lights, bed lights an trailer assist lights. + */ +extern SDLLightName const SDLLightNameExteriorRearLights; + +/** + * @abstract Include exterior lights located at the left side of the vehicle. + * For example, left puddle lights and spot lights. + */ +extern SDLLightName const SDLLightNameExteriorLeftLights; + +/** + * @abstract Include exterior lights located at the right side of the vehicle. + * For example, right puddle lights and spot lights. + */ +extern SDLLightName const SDLLightNameExteriorRightLights; + +/** + * @abstract Cargo lamps illuminate the cargo area. + */ +extern SDLLightName const SDLLightNameExteriorRearCargoLights; + +/** + * @abstract Truck bed lamps light up the bed of the truck. + */ +extern SDLLightName const SDLLightNameExteriorRearTruckBedLights; + +/** + * @abstract Trailer lights are lamps mounted on a trailer hitch. + */ +extern SDLLightName const SDLLightNameExteriorRearTrailerLights; + +/** + * @abstract It is the spotlights mounted on the left side of a vehicle. + * + */ +extern SDLLightName const SDLLightNameExteriorLeftSpotLights; + +/** + * @abstract It is the spotlights mounted on the right side of a vehicle. + */ +extern SDLLightName const SDLLightNameExteriorRightSpotLights; + +/** + * @abstract Puddle lamps illuminate the ground beside the door as the customer is opening or approaching the door. + */ +extern SDLLightName const SDLLightNameExteriorLeftPuddleLights; + +/** + * @abstract Puddle lamps illuminate the ground beside the door as the customer is opening or approaching the door. + */ +extern SDLLightName const SDLLightNameExteriorRightPuddleLights; + +/** + * @abstract Include all exterior lights around the vehicle. + */ +extern SDLLightName const SDLLightNameExteriorAllLights; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightName.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightName.m new file mode 100644 index 0000000..f236bea --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightName.m @@ -0,0 +1,54 @@ +// SDLLightName.m +// + +#import "SDLLightName.h" + +SDLLightName const SDLLightNameFrontLeftHighBeam = @"FRONT_LEFT_HIGH_BEAM"; +SDLLightName const SDLLightNameFrontRightHighBeam = @"FRONT_RIGHT_HIGH_BEAM"; +SDLLightName const SDLLightNameFrontLeftLowBeam = @"FRONT_LEFT_LOW_BEAM"; +SDLLightName const SDLLightNameFrontRightLowBeam = @"FRONT_RIGHT_LOW_BEAM"; +SDLLightName const SDLLightNameFrontLeftParkingLight = @"FRONT_LEFT_PARKING_LIGHT"; +SDLLightName const SDLLightNameFrontRightParkingLight = @"FRONT_RIGHT_PARKING_LIGHT"; +SDLLightName const SDLLightNameFrontLeftFogLight = @"FRONT_LEFT_FOG_LIGHT"; +SDLLightName const SDLLightNameFrontRightFogLight = @"FRONT_RIGHT_FOG_LIGHT"; +SDLLightName const SDLLightNameFrontLeftDaytimeRunningLight = @"FRONT_LEFT_DAYTIME_RUNNING_LIGHT"; +SDLLightName const SDLLightNameFrontRightDaytimeRunningLight = @"FRONT_RIGHT_DAYTIME_RUNNING_LIGHT"; +SDLLightName const SDLLightNameFrontLeftTurnLight = @"FRONT_LEFT_TURN_LIGHT"; +SDLLightName const SDLLightNameFrontRightTurnLight = @"FRONT_RIGHT_TURN_LIGHT"; +SDLLightName const SDLLightNameRearLeftFogLight = @"REAR_LEFT_FOG_LIGHT"; +SDLLightName const SDLLightNameRearRightFogLight = @"REAR_RIGHT_FOG_LIGHT"; +SDLLightName const SDLLightNameRearLeftTailLight = @"REAR_LEFT_TAIL_LIGHT"; +SDLLightName const SDLLightNameRearRightTailLight = @"REAR_RIGHT_TAIL_LIGHT"; +SDLLightName const SDLLightNameRearLeftBrakeLight = @"REAR_LEFT_BRAKE_LIGHT"; +SDLLightName const SDLLightNameRearRightBrakeLight = @"REAR_RIGHT_BRAKE_LIGHT"; +SDLLightName const SDLLightNameRearLeftTurnLight = @"REAR_LEFT_TURN_LIGHT"; +SDLLightName const SDLLightNameRearRightTurnLight = @"REAR_RIGHT_TURN_LIGHT"; +SDLLightName const SDLLightNameRearRegistrationPlateLight = @"REAR_REGISTRATION_PLATE_LIGHT"; +SDLLightName const SDLLightNameHighBeams = @"HIGH_BEAMS"; +SDLLightName const SDLLightNameLowBeams = @"LOW_BEAMS"; +SDLLightName const SDLLightNameFogLights = @"FOG_LIGHTS"; +SDLLightName const SDLLightNameRunningLights = @"RUNNING_LIGHTS"; +SDLLightName const SDLLightNameParkingLights = @"PARKING_LIGHTS"; +SDLLightName const SDLLightNameBrakeLights = @"BRAKE_LIGHTS"; +SDLLightName const SDLLightNameRearReversingLights = @"REAR_REVERSING_LIGHTS"; +SDLLightName const SDLLightNameSideMarkerLights = @"SIDE_MARKER_LIGHTS"; +SDLLightName const SDLLightNameLeftTurnLights = @"LEFT_TURN_LIGHTS"; +SDLLightName const SDLLightNameRightTurnLights = @"RIGHT_TURN_LIGHTS"; +SDLLightName const SDLLightNameHazardLights = @"HAZARD_LIGHTS"; +SDLLightName const SDLLightNameAmbientLights = @"AMBIENT_LIGHTS"; +SDLLightName const SDLLightNameOverHeadLights = @"OVERHEAD_LIGHTS"; +SDLLightName const SDLLightNameReadingLights = @"READING_LIGHTS"; +SDLLightName const SDLLightNameTrunkLights = @"TRUNK_LIGHTS"; +SDLLightName const SDLLightNameExteriorFrontLights = @"EXTERIOR_FRONT_LIGHTS"; +SDLLightName const SDLLightNameExteriorRearLights = @"EXTERIOR_REAR_LIGHTS"; +SDLLightName const SDLLightNameExteriorLeftLights = @"EXTERIOR_LEFT_LIGHTS"; +SDLLightName const SDLLightNameExteriorRightLights = @"EXTERIOR_RIGHT_LIGHTS"; +SDLLightName const SDLLightNameExteriorRearCargoLights = @"REAR_CARGO_LIGHTS"; +SDLLightName const SDLLightNameExteriorRearTruckBedLights = @"REAR_TRUCK_BED_LIGHTS"; +SDLLightName const SDLLightNameExteriorRearTrailerLights = @"REAR_TRAILER_LIGHTS"; +SDLLightName const SDLLightNameExteriorLeftSpotLights = @"LEFT_SPOT_LIGHTS"; +SDLLightName const SDLLightNameExteriorRightSpotLights = @"RIGHT_SPOT_LIGHTS"; +SDLLightName const SDLLightNameExteriorLeftPuddleLights = @"LEFT_PUDDLE_LIGHTS"; +SDLLightName const SDLLightNameExteriorRightPuddleLights = @"RIGHT_PUDDLE_LIGHTS"; +SDLLightName const SDLLightNameExteriorAllLights = @"EXTERIOR_ALL_LIGHTS"; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightState.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightState.h new file mode 100644 index 0000000..c44ebf4 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightState.h @@ -0,0 +1,76 @@ +// SDLLightState.h +// +#import + +#import "SDLRPCMessage.h" +#import "SDLLightName.h" +#import "SDLLightStatus.h" + +@class SDLRGBColor; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLLightState : SDLRPCStruct + +/** + Constructs a newly allocated SDLLightState object with given parameters + + @param id The name of a light or a group of lights + @param status Reflects the status of Light. + @return An instance of the SDLLightState class + */ +- (instancetype)initWithId:(SDLLightName)id status:(SDLLightStatus)status; + +/** + Constructs a newly allocated SDLLightState object with given parameters + + @param id The name of a light or a group of lights + @param status Reflects the status of Light. + @param density Reflects the density of Light. + @param color Reflects the color of Light. + @return An instance of the SDLLightState class + */ +- (instancetype)initWithId:(SDLLightName)id status:(SDLLightStatus)status density:(double)density color:(SDLRGBColor *)color; + +/** + Constructs a newly allocated SDLLightState object with given parameters + + @param id The name of a light or a group of lights + @param lightStatus Reflects the status of Light. + @param lightDensity Reflects the density of Light. + @param lightColor Reflects the color of Light. + @return An instance of the SDLLightState class + */ +- (instancetype)initWithId:(SDLLightName)id lightStatus:(SDLLightStatus)lightStatus lightDensity:(double)lightDensity lightColor:(UIColor *)lightColor; + +/** + * @abstract The name of a light or a group of lights + * + * Required, SDLLightName + */ +@property (strong, nonatomic) SDLLightName id; + +/** + * @abstract Reflects the status of Light. + * + * Required, SDLLightStatus + */ +@property (strong, nonatomic) SDLLightStatus status; + +/** + * @abstract Reflects the density of Light. + * + * Optional, Float type with minValue: 0 maxValue:1 + */ +@property (nullable, copy, nonatomic) NSNumber *density; + +/** + * @abstract Reflects the color of Light. + * + * Optional, SDLLightStatus + */ +@property (nullable, strong, nonatomic) SDLRGBColor *color; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightState.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightState.m new file mode 100644 index 0000000..24e1909 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightState.m @@ -0,0 +1,84 @@ +// SDLLightState.m +// + +#import "SDLLightState.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" +#import "SDLRGBColor.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLLightState + +- (instancetype)initWithId:(SDLLightName)id status:(SDLLightStatus)status{ + self = [self init]; + if(!self) { + return nil; + } + self.id = id; + self.status = status; + + return self; +} + +- (instancetype)initWithId:(SDLLightName)id status:(SDLLightStatus)status density:(double)density color:(SDLRGBColor *)color { + self = [self init]; + if(!self) { + return nil; + } + self.id = id; + self.status = status; + self.density = @(density); + self.color = color; + + return self; +} + +- (instancetype)initWithId:(SDLLightName)id lightStatus:(SDLLightStatus)lightStatus lightDensity:(double)lightDensity lightColor:(UIColor *)lightColor { + self = [self init]; + if(!self) { + return nil; + } + self.id = id; + self.status = lightStatus; + self.density = @(lightDensity); + self.color = [[SDLRGBColor alloc] initWithColor:lightColor]; + + return self; +} + +- (void)setId:(SDLLightName)id { + [store sdl_setObject:id forName:SDLNameId]; +} + +- (SDLLightName)id { + return [store sdl_objectForName:SDLNameId]; +} + +- (void)setStatus:(SDLLightStatus)status { + [store sdl_setObject:status forName:SDLNameStatus]; +} + +- (SDLLightStatus)status { + return [store sdl_objectForName:SDLNameStatus]; +} + +- (void)setDensity:(nullable NSNumber *)density { + [store sdl_setObject:density forName:SDLNameDensity]; +} + +- (nullable NSNumber *)density { + return [store sdl_objectForName:SDLNameDensity]; +} + +- (void)setColor:(nullable SDLRGBColor *)color { + [store sdl_setObject:color forName:SDLNameColor]; +} + +- (nullable SDLRGBColor *)color { + return [store sdl_objectForName:SDLNameColor ofClass:[SDLRGBColor class]]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightStatus.h new file mode 100644 index 0000000..ee9fc4a --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightStatus.h @@ -0,0 +1,40 @@ +// SDLLightStatus.h +// + +#import "SDLEnum.h" + +/** + * Reflects the status of Light. + * + */ +typedef SDLEnum SDLLightStatus SDL_SWIFT_ENUM; + +/** + * @abstract Light status currently on. + */ +extern SDLLightStatus const SDLLightStatusOn; + +/** + * @abstract Light status currently Off. + */ +extern SDLLightStatus const SDLLightStatusOFF; + +/** + * @abstract Light status currently RAMP_UP. + */ +extern SDLLightStatus const SDLLightStatusRampUp; + +/** + * @abstract Light status currently RAMP_DOWN. + */ +extern SDLLightStatus const SDLLightStatusRampDown; + +/** + * @abstract Light status currently UNKNOWN. + */ +extern SDLLightStatus const SDLLightStatusUnknown; + +/** + * @abstract Light status currently INVALID. + */ +extern SDLLightStatus const SDLLightStatusInvalid; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightStatus.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightStatus.m new file mode 100644 index 0000000..d3ede63 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLightStatus.m @@ -0,0 +1,11 @@ +// SDLLightStatus.m +// + +#import "SDLLightStatus.h" + +SDLLightStatus const SDLLightStatusOn = @"ON"; +SDLLightStatus const SDLLightStatusOFF = @"OFF"; +SDLLightStatus const SDLLightStatusRampUp = @"RAMP_UP"; +SDLLightStatus const SDLLightStatusRampDown = @"RAMP_DOWN"; +SDLLightStatus const SDLLightStatusUnknown = @"UNKNOWN"; +SDLLightStatus const SDLLightStatusInvalid = @"INVALID"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesOperation.m index 6929f1f..ca45ac9 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesOperation.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesOperation.m @@ -47,19 +47,20 @@ - (void)sdl_listFiles { SDLListFiles *listFiles = [[SDLListFiles alloc] init]; __weak typeof(self) weakSelf = self; - [self.connectionManager sendConnectionManagerRequest:listFiles - withResponseHandler:^(__kindof SDLRPCRequest *request, __kindof SDLRPCResponse *response, NSError *error) { - SDLListFilesResponse *listFilesResponse = (SDLListFilesResponse *)response; - BOOL success = [listFilesResponse.success boolValue]; - NSUInteger bytesAvailable = [listFilesResponse.spaceAvailable unsignedIntegerValue]; - NSArray *fileNames = [NSArray arrayWithArray:listFilesResponse.filenames]; - - if (weakSelf.completionHandler != nil) { - weakSelf.completionHandler(success, bytesAvailable, fileNames, error); - } - - [weakSelf finishOperation]; - }]; + [self.connectionManager sendConnectionManagerRequest:listFiles withResponseHandler:^(__kindof SDLRPCRequest *request, __kindof SDLRPCResponse *response, NSError *error) { + SDLListFilesResponse *listFilesResponse = (SDLListFilesResponse *)response; + BOOL success = [listFilesResponse.success boolValue]; + NSArray *fileNames = [NSArray arrayWithArray:listFilesResponse.filenames]; + + // If spaceAvailable is nil, set it to the max value + NSUInteger bytesAvailable = listFilesResponse.spaceAvailable != nil ? listFilesResponse.spaceAvailable.unsignedIntegerValue : 2000000000; + + if (weakSelf.completionHandler != nil) { + weakSelf.completionHandler(success, bytesAvailable, fileNames, error); + } + + [weakSelf finishOperation]; + }]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesResponse.h index 4acb007..b5ddef1 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesResponse.h @@ -5,17 +5,24 @@ #import "SDLRPCResponse.h" /** - * SDLListFilesResponse is sent, when SDLListFiles has been called - * - * Since SmartDeviceLink 2.0 + Response to SDLListFiles + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN @interface SDLListFilesResponse : SDLRPCResponse +/** + An array of all filenames resident on the module for the given registered app. If omitted, then no files currently reside on the system. + */ @property (nullable, strong, nonatomic) NSArray *filenames; -@property (strong, nonatomic) NSNumber *spaceAvailable; + +/** + Provides the total local space available on the module for the registered app. + */ +@property (nullable, strong, nonatomic) NSNumber *spaceAvailable; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesResponse.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesResponse.m index f78d83a..376e817 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesResponse.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLListFilesResponse.m @@ -25,11 +25,11 @@ - (void)setFilenames:(nullable NSArray *)filenames { return [parameters sdl_objectForName:SDLNameFilenames]; } -- (void)setSpaceAvailable:(NSNumber *)spaceAvailable { +- (void)setSpaceAvailable:(nullable NSNumber *)spaceAvailable { [parameters sdl_setObject:spaceAvailable forName:SDLNameSpaceAvailable]; } -- (NSNumber *)spaceAvailable { +- (nullable NSNumber *)spaceAvailable { return [parameters sdl_objectForName:SDLNameSpaceAvailable]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLocationCoordinate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLocationCoordinate.h index 0fef535..1bdf906 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLocationCoordinate.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLocationCoordinate.h @@ -5,17 +5,20 @@ NS_ASSUME_NONNULL_BEGIN +/** + Describes a coordinate on earth + */ @interface SDLLocationCoordinate : SDLRPCStruct /** - * @abstract Latitude of the location + * Latitude of the location * * Required, Double -90 - 90 */ @property (copy, nonatomic) NSNumber *latitudeDegrees; /** - * @abstract Longitude of the location + * Longitude of the location * * Required, Double -180 - 180 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLocationDetails.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLocationDetails.h index 3bce4d5..f60e8db 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLocationDetails.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLocationDetails.h @@ -9,10 +9,13 @@ NS_ASSUME_NONNULL_BEGIN +/** + Describes a location, including its coordinate, name, etc. Used in WayPoints. + */ @interface SDLLocationDetails : SDLRPCStruct /** - * @abstract Latitude/Longitude of the location + * Latitude/Longitude of the location * * @see SDLLocationCoordinate * @@ -21,35 +24,35 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) SDLLocationCoordinate *coordinate; /** - * @abstract Name of location. + * Name of location. * * Optional, Max length 500 chars */ @property (nullable, copy, nonatomic) NSString *locationName; /** - * @abstract Location address for display purposes only. + * Location address for display purposes only. * * Optional, Array of Strings, Array length 0 - 4, Max String length 500 */ @property (nullable, copy, nonatomic) NSArray *addressLines; /** - * @abstract Description intended location / establishment. + * Description intended location / establishment. * * Optional, Max length 500 chars */ @property (nullable, copy, nonatomic) NSString *locationDescription; /** - * @abstract Phone number of location / establishment. + * Phone number of location / establishment. * * Optional, Max length 500 chars */ @property (nullable, copy, nonatomic) NSString *phoneNumber; /** - * @abstract Image / icon of intended location. + * Image / icon of intended location. * * @see SDLImage * @@ -58,7 +61,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) SDLImage *locationImage; /** - * @abstract Address to be used by navigation engines for search. + * Address to be used by navigation engines for search. * * @see SDLOASISAddress * diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenConfiguration.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenConfiguration.h index cf1287c..8057556 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenConfiguration.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenConfiguration.h @@ -14,7 +14,13 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLLockScreenConfiguration : NSObject /** - * Whether or not the lock screen should be shown in the "lock screen optional" state. Defaults to 'NO'. + * Whether or not the lock screen should be shown in the "lock screen optional" state. Defaults to false. + * + * @discussion In order for the "lock screen optional" state to occur, the following must be true: + * 1. The app should have received at least 1 driver distraction notification (i.e. a `OnDriverDistraction` notification) from SDL Core. Older versions of Core did not send a notification immediately on connection. + * 2. The driver is not distracted (i.e. the last `OnDriverDistraction` notification received was for a driver distraction state off). + * 3. The `hmiLevel` can not be `NONE`. + * 4. If the `hmiLevel` is currently `BACKGROUND` then the previous `hmiLevel` should have been `FULL` or `LIMITED` (i.e. the user should have interacted with app before it was backgrounded). */ @property (assign, nonatomic) BOOL showInOptionalState; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenManager.m index de9d56f..a8c8c37 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenManager.m @@ -82,7 +82,9 @@ - (void)stop { self.canPresent = NO; // Remove the lock screen if presented, don't allow it to present again until we start - [self.presenter dismiss]; + if (self.presenter.lockViewController != nil) { + [self.presenter dismiss]; + } } - (nullable UIViewController *)lockScreenViewController { @@ -135,7 +137,7 @@ - (void)sdl_checkLockScreen { } else if ([self.lastLockNotification.lockScreenStatus isEqualToEnum:SDLLockScreenStatusOptional]) { if (self.config.showInOptionalState && !self.presenter.presented && self.canPresent) { [self.presenter present]; - } else if (self.presenter.presented) { + } else if (!self.config.showInOptionalState && self.presenter.presented) { [self.presenter dismiss]; } } else if ([self.lastLockNotification.lockScreenStatus isEqualToEnum:SDLLockScreenStatusOff]) { diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenPresenter.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenPresenter.m index 60fc82a..3162f8c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenPresenter.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenPresenter.m @@ -96,6 +96,9 @@ - (void)dismiss { } else if (appWindow.isKeyWindow) { SDLLogW(@"Attempted to dismiss lock screen, but it is already dismissed"); return; + } else if (self.lockViewController == nil) { + SDLLogW(@"Attempted to dismiss lock screen, but lockViewController is not set"); + return; } // Let us know we are about to dismiss. diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenStatus.h index 9c3a676..9926852 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLockScreenStatus.h @@ -6,6 +6,11 @@ #import "SDLEnum.h" +/** + Describes what the status of the lock screen should be + + Used in OnLockScreenStatus + */ typedef SDLEnum SDLLockScreenStatus SDL_SWIFT_ENUM; /** diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogFileModule.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogFileModule.h index 6bd568e..aaad784 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogFileModule.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogFileModule.h @@ -30,7 +30,6 @@ NS_ASSUME_NONNULL_BEGIN */ @property (assign, nonatomic) SDLLogLevel logLevel; - /** This method is unavailable and may not be used. @@ -66,7 +65,6 @@ NS_ASSUME_NONNULL_BEGIN */ + (instancetype)moduleWithName:(NSString *)name files:(NSSet *)files; - /** Returns whether or not this module contains a given file. diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogFileModuleMap.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogFileModuleMap.m index cdbeccc..1ac7615 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogFileModuleMap.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogFileModuleMap.m @@ -21,11 +21,17 @@ @implementation SDLLogFileModuleMap [self sdl_fileManagerModule], [self sdl_lifecycleManagerModule], [self sdl_lockscreenManagerModule], - [self sdl_streamingMediaManagerModule]]]; + [self sdl_streamingMediaManagerModule], + [self sdl_streamingMediaAudioTranscoderModule], + [self sdl_screenManagerModule], + [self sdl_screenManagerTextAndGraphicModule], + [self sdl_screenManagerSoftButtonModule], + [self sdl_screenManagerMenuModule], + [self sdl_screenManagerChoiceSetModule]]]; } + (SDLLogFileModule *)sdl_transportModule { - return [SDLLogFileModule moduleWithName:@"Transport" files:[NSSet setWithArray:@[@"SDLIAPSession", @"SDLIAPTransport", @"SDLStreamDelegate", @"SDLTCPTransport"]]]; + return [SDLLogFileModule moduleWithName:@"Transport" files:[NSSet setWithArray:@[@"SDLIAPSession", @"SDLIAPTransport", @"SDLSecondaryTransportManager", @"SDLSecondaryTransportPrimaryProtocolHandler", @"SDLStreamDelegate", @"SDLTCPTransport"]]]; } + (SDLLogFileModule *)sdl_proxyModule { @@ -56,15 +62,35 @@ + (SDLLogFileModule *)sdl_lifecycleManagerModule { } + (SDLLogFileModule *)sdl_lockscreenManagerModule { - return [SDLLogFileModule moduleWithName:@"Lockscreen" files:[NSSet setWithArray:@[@"SDLLockScreenManager", @"SDLLockScreenViewController"]]]; + return [SDLLogFileModule moduleWithName:@"Lockscreen" files:[NSSet setWithArray:@[@"SDLLockScreenManager", @"SDLLockScreenViewController", @"SDLLockScreenPresenter"]]]; } + (SDLLogFileModule *)sdl_streamingMediaManagerModule { - return [SDLLogFileModule moduleWithName:@"Streaming" files:[NSSet setWithArray:@[@"SDLH264VideoEncoder", @"SDLRAWH264Packetizer", @"SDLRTPH264Packetizer", @"SDLStreamingMediaManager", @"SDLStreamingMediaLifecycleManager", @"SDLTouchManager", @"SDLCarWindow"]]]; + return [SDLLogFileModule moduleWithName:@"Streaming" files:[NSSet setWithArray:@[@"SDLH264VideoEncoder", @"SDLRAWH264Packetizer", @"SDLRTPH264Packetizer", @"SDLStreamingMediaManager", @"SDLStreamingAudioLifecycleManager", @"SDLStreamingVideoLifecycleManager", @"SDLTouchManager", @"SDLCarWindow"]]]; +} + ++ (SDLLogFileModule *)sdl_streamingMediaAudioTranscoderModule { + return [SDLLogFileModule moduleWithName:@"Streaming/Audio Transcode" files:[NSSet setWithArray:@[@"SDLAudioStreamManager", @"SDLPCMAudioConverter"]]]; } + (SDLLogFileModule *)sdl_screenManagerModule { - return [SDLLogFileModule moduleWithName:@"Screen" files:[NSSet setWithArray:@[@"SDLTextAndGraphicManager", @"SDLSoftButtonManager", @"SDLScreenManager", @"SDLSoftButtonObject", @"SDLSoftButtonState"]]]; + return [SDLLogFileModule moduleWithName:@"Screen" files:[NSSet setWithArray:@[@"SDLScreenManager"]]]; +} + ++ (SDLLogFileModule *)sdl_screenManagerTextAndGraphicModule { + return [SDLLogFileModule moduleWithName:@"Screen/TextAndGraphic" files:[NSSet setWithArray:@[@"SDLTextAndGraphicManager"]]]; +} + ++ (SDLLogFileModule *)sdl_screenManagerSoftButtonModule { + return [SDLLogFileModule moduleWithName:@"Screen/SoftButton" files:[NSSet setWithArray:@[@"SDLSoftButtonManager", @"SDLSoftButtonObject", @"SDLSoftButtonState"]]]; +} + ++ (SDLLogFileModule *)sdl_screenManagerMenuModule { + return [SDLLogFileModule moduleWithName:@"Screen/Menu" files:[NSSet setWithArray:@[@"SDLMenuManager", @"SDLVoiceCommandManager"]]]; +} + ++ (SDLLogFileModule *)sdl_screenManagerChoiceSetModule { + return [SDLLogFileModule moduleWithName:@"Screen/ChoiceSet" files:[NSSet setWithArray:@[@"SDLChoiceSetManager", @"SDLCheckChoiceVROptionalOperation", @"SDLDeleteChoicesOperation", @"SDLPreloadChoicesOperation", @"SDLPresentChoiceSetOperation", @"SDLPresentKeyboardOperation", @"SDLChoiceSet"]]]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogMacros.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogMacros.h index f51386e..662382f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogMacros.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogMacros.h @@ -13,22 +13,70 @@ #pragma mark - Macros #pragma mark - General Macros + +/** + Used to get a string value of the current line's file name in Obj-C + + @warning Internal use only + */ #define SDLLOG_FILE [[[NSString stringWithCString:__FILE__ encoding:NSUTF8StringEncoding] lastPathComponent] stringByDeletingPathExtension] + +/** + Used to get a string value of the current line's function in Obj-C + + @warning Internal use only + */ #define SDLLOG_FUNC [NSString stringWithCString:__PRETTY_FUNCTION__ encoding:NSUTF8StringEncoding] + +/** + Used to get a string value of the current line's dispatch queue in Obj-C + + @warning Internal use only + */ #define SDLLOG_QUEUE [NSString stringWithUTF8String:dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL)] #pragma mark Debug Logs #if DEBUG +/** + Log data bytes coming or going from SDL and the remote system to the console in verbose logging mode + + @warning Internal use only + */ #define SDLLogBytes(bytes, transmissionDirection) [SDLLogManager logBytes:bytes direction:transmissionDirection timestamp:[NSDate date] file:SDLLOG_FILE functionName:SDLLOG_FUNC line:__LINE__ queue:SDLLOG_QUEUE] + +/** + Log a verbose log + + @param msg The format string to log + @param ... The format arguments to log + */ #define SDLLogV(msg, ...) [SDLLogManager logWithLevel:SDLLogLevelVerbose timestamp:[NSDate date] file:SDLLOG_FILE functionName:SDLLOG_FUNC line:__LINE__ queue:SDLLOG_QUEUE formatMessage:msg, ##__VA_ARGS__] + +/** + Log a debug log + + @param msg The format string to log + @param ... The format arguments to log + */ #define SDLLogD(msg, ...) [SDLLogManager logWithLevel:SDLLogLevelDebug timestamp:[NSDate date] file:SDLLOG_FILE functionName:SDLLOG_FUNC line:__LINE__ queue:SDLLOG_QUEUE formatMessage:msg, ##__VA_ARGS__] #else +/** + A stub for logging data bytes, does not exist in RELEASE builds + */ #define SDLLogBytes(bytes, transmissionDirection) + +/** + A stub for verbose logs, does not exist in RELEASE builds + */ #define SDLLogV(msg, ...) + +/** + A stub for debug logs, does not exist in DEBUG builds + */ #define SDLLogD(msg, ...) #endif @@ -36,5 +84,18 @@ #pragma mark Release Logs +/** + Log a warning log + + @param msg The format string to log + @param ... The format arguments to log + */ #define SDLLogW(msg, ...) [SDLLogManager logWithLevel:SDLLogLevelWarning timestamp:[NSDate date] file:SDLLOG_FILE functionName:SDLLOG_FUNC line:__LINE__ queue:SDLLOG_QUEUE formatMessage:msg, ##__VA_ARGS__] + +/** + Log an error log + + @param msg The format string to log + @param ... The format arguments to log + */ #define SDLLogE(msg, ...) [SDLLogManager logWithLevel:SDLLogLevelError timestamp:[NSDate date] file:SDLLOG_FILE functionName:SDLLOG_FUNC line:__LINE__ queue:SDLLOG_QUEUE formatMessage:msg, ##__VA_ARGS__] diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogManager.h index 1fe1136..c341fab 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogManager.h @@ -23,20 +23,60 @@ NS_ASSUME_NONNULL_BEGIN */ @interface SDLLogManager : NSObject +/** + Active log modules + */ @property (copy, nonatomic, readonly) NSSet *modules; + +/** + Active log targets + */ @property (copy, nonatomic, readonly) NSSet> *targets; + +/** + Active log filters + */ @property (copy, nonatomic, readonly) NSSet *filters; -/// Any modules that do not have an explicitly specified level will by default use this log level +/** + Any modules that do not have an explicitly specified level will by default use this log level + */ @property (assign, nonatomic, readonly) SDLLogLevel globalLogLevel; + +/** + Active log format + */ @property (assign, nonatomic, readonly) SDLLogFormatType formatType; +/** + Whether or not verbose, debug, and warning logs are logged asynchronously. If logs are performed async, then some may be missed in the event of a terminating signal such as an exception, but performance is improved and your code will not be slowed by logging. + + Defaults to TRUE + */ @property (assign, nonatomic, readonly, getter=isAsynchronous) BOOL asynchronous; + +/** + Whether or not error logs are logged asynchronously. If logs are performed async, then some may be missed in the event of a terminating signal such as an exception, but performance is improved and your code will not be slowed by logging. + + Defaults to FALSE + */ @property (assign, nonatomic, readonly, getter=areErrorsAsynchronous) BOOL errorsAsynchronous; +/** + Active date formatter + */ @property (class, strong, nonatomic, readonly) NSDateFormatter *dateFormatter; + +/** + The queue asynchronously logged logs are logged on. Say that 10 times fast. + */ @property (class, assign, nonatomic, readonly) dispatch_queue_t logQueue; +/** + The singleton object + + @return The singleton object + */ + (SDLLogManager *)sharedManager; // These are automatically sent to the sharedManager diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogTarget.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogTarget.h index 0751dcb..4cb9387 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogTarget.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLLogTarget.h @@ -13,6 +13,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + A protocol describing a place logs from SDLLogManager are logged to + */ @protocol SDLLogTarget /** @@ -36,6 +39,10 @@ NS_ASSUME_NONNULL_BEGIN @param stringLog The formatted message */ - (void)logWithLog:(SDLLogModel *)log formattedLog:(NSString *)stringLog; + +/** + The log target should be torn down. e.g. file handles should be closed + */ - (void)teardownLogger; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMaintenanceModeStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMaintenanceModeStatus.h index fd286f8..0dba0bc 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMaintenanceModeStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMaintenanceModeStatus.h @@ -5,26 +5,26 @@ #import "SDLEnum.h" /** - * The SDLMaintenanceModeStatus class. + * Describes the maintenence mode. Used in nothing. */ typedef SDLEnum SDLMaintenanceModeStatus SDL_SWIFT_ENUM; /** - * @abstract Maintenance Mode Status : Normal + * Maintenance Mode Status : Normal */ extern SDLMaintenanceModeStatus const SDLMaintenanceModeStatusNormal; /** - * @abstract Maintenance Mode Status : Near + * Maintenance Mode Status : Near */ extern SDLMaintenanceModeStatus const SDLMaintenanceModeStatusNear; /** - * @abstract Maintenance Mode Status : Active + * Maintenance Mode Status : Active */ extern SDLMaintenanceModeStatus const SDLMaintenanceModeStatusActive; /** - * @abstract Maintenance Mode Status : Feature not present + * Maintenance Mode Status : Feature not present */ extern SDLMaintenanceModeStatus const SDLMaintenanceModeStatusFeatureNotPresent; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLManager.h index 32a91ce..b984a58 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLManager.h @@ -20,40 +20,13 @@ @class SDLRPCResponse; @class SDLScreenManager; @class SDLStreamingMediaManager; +@class SDLSystemCapabilityManager; @protocol SDLManagerDelegate; NS_ASSUME_NONNULL_BEGIN -/** - A completion handler called after a sequential or simultaneous set of requests have completed sending. - - @param success True if every request succeeded, false if any failed. See the progress handler for more details on failures. - */ -typedef void (^SDLMultipleRequestCompletionHandler)(BOOL success); - -/** - A handler called after each response to a request comes in in a multiple request send. - - @param request The request that received a response - @param response The response received - @param error The error that occurred during the request if any occurred. - @param percentComplete The percentage of requests that have received a response - @return continueSendingRequests NO to cancel any requests that have not yet been sent. This is really only useful for a sequential send (sendSequentialRequests:progressHandler:completionHandler:). Return YES to continue sending requests. - */ -typedef BOOL (^SDLMultipleSequentialRequestProgressHandler)(__kindof SDLRPCRequest *request, __kindof SDLRPCResponse *__nullable response, NSError *__nullable error, float percentComplete); - -/** - A handler called after each response to a request comes in in a multiple request send. - - @param request The request that received a response - @param response The response received - @param error The error that occurred during the request if any occurred. - @param percentComplete The percentage of requests that have received a response - */ -typedef void (^SDLMultipleAsyncRequestProgressHandler)(__kindof SDLRPCRequest *request, __kindof SDLRPCResponse *__nullable response, NSError *__nullable error, float percentComplete); - typedef void (^SDLManagerReadyBlock)(BOOL success, NSError *_Nullable error); @@ -95,8 +68,16 @@ typedef void (^SDLManagerReadyBlock)(BOOL success, NSError *_Nullable error); */ @property (strong, nonatomic, readonly, nullable) SDLStreamingMediaManager *streamManager; +/** + * The screen manager for sending UI related RPCs. + */ @property (strong, nonatomic, readonly) SDLScreenManager *screenManager; +/** + * Centralized manager for retrieving all system capabilities. + */ +@property (strong, nonatomic, readonly) SDLSystemCapabilityManager *systemCapabilityManager; + /** * The response of a register call after it has been received. */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLManager.m index 575711a..fa7c9e8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLManager.m @@ -7,6 +7,7 @@ #import "NSMapTable+Subscripting.h" #import "SDLConfiguration.h" #import "SDLConnectionManagerType.h" +#import "SDLFileManagerConfiguration.h" #import "SDLLifecycleConfiguration.h" #import "SDLLifecycleManager.h" #import "SDLLockScreenConfiguration.h" @@ -39,7 +40,7 @@ @implementation SDLManager #pragma mark Lifecycle - (instancetype)init { - return [self initWithConfiguration:[SDLConfiguration configurationWithLifecycle:[SDLLifecycleConfiguration defaultConfigurationWithAppName:@"SDL APP" appId:@"001"] lockScreen:[SDLLockScreenConfiguration enabledConfiguration] logging:[SDLLogConfiguration defaultConfiguration]] delegate:nil]; + return [self initWithConfiguration:[SDLConfiguration configurationWithLifecycle:[SDLLifecycleConfiguration defaultConfigurationWithAppName:@"SDL APP" fullAppId:@"001"] lockScreen:[SDLLockScreenConfiguration enabledConfiguration] logging:[SDLLogConfiguration defaultConfiguration] fileManager:[SDLFileManagerConfiguration defaultConfiguration]] delegate:nil]; } - (instancetype)initWithConfiguration:(SDLConfiguration *)configuration delegate:(nullable id)delegate { @@ -88,6 +89,10 @@ - (SDLScreenManager *)screenManager { return self.lifecycleManager.screenManager; } +- (SDLSystemCapabilityManager *)systemCapabilityManager { + return self.lifecycleManager.systemCapabilityManager; +} + - (nullable SDLRegisterAppInterfaceResponse *)registerResponse { return self.lifecycleManager.registerResponse; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushion.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushion.h new file mode 100644 index 0000000..f4886d3 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushion.h @@ -0,0 +1,35 @@ +// SDLMassageCushion.h +// + +#import "SDLEnum.h" + +/** + * The List possible cushions of a multi-contour massage seat. + */ +typedef SDLEnum SDLMassageCushion SDL_SWIFT_ENUM; + +/** + * @abstract TOP LUMBAR cushions of a multi-contour massage seat + */ +extern SDLMassageCushion const SDLMassageCushionTopLumbar; + +/** + * @abstract MIDDLE LUMBAR cushion of a multi-contour massage seat + */ +extern SDLMassageCushion const SDLMassageCushionMiddleLumbar; + +/** + * @abstract BOTTOM LUMBAR cushion of a multi-contour massage seat + */ +extern SDLMassageCushion const SDLMassageCushionBottomLumbar; + +/** + * @abstract BACK BOLSTERS cushion of a multi-contour massage seat + */ +extern SDLMassageCushion const SDLMassageCushionBackBolsters; + +/** + * @abstract SEAT BOLSTERS cushion of a multi-contour massage seat + */ +extern SDLMassageCushion const SDLMassageCushionSeatBolsters; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushion.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushion.m new file mode 100644 index 0000000..0b81626 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushion.m @@ -0,0 +1,10 @@ +// SDLMassageCushion.m +// + +#import "SDLMassageCushion.h" + +SDLMassageCushion const SDLMassageCushionTopLumbar = @"TOP_LUMBAR"; +SDLMassageCushion const SDLMassageCushionMiddleLumbar = @"MIDDLE_LUMBAR"; +SDLMassageCushion const SDLMassageCushionBottomLumbar = @"BOTTOM_LUMBAR"; +SDLMassageCushion const SDLMassageCushionBackBolsters = @"BACK_BOLSTERS"; +SDLMassageCushion const SDLMassageCushionSeatBolsters = @"SEAT_BOLSTERS"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushionFirmness.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushionFirmness.h new file mode 100644 index 0000000..d8bb5d4 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushionFirmness.h @@ -0,0 +1,40 @@ +// SDLMassageCushionFirmness.h +// + +#import "SDLRPCStruct.h" +#import "SDLMassageCushion.h" +/** + * The intensity or firmness of a cushion. + */ + +NS_ASSUME_NONNULL_BEGIN +@interface SDLMassageCushionFirmness : SDLRPCStruct + + +/** + Constructs a newly allocated SDLMassageCushionFirmness object with cushion and firmness + + @param cushion The cushion type for a multi-contour massage seat + @param firmness The firmness value for the multi-contour massage seat, MinValue: 0 MaxValue: 100 + @return An instance of the SDLMassageCushionFirmness class + */ +- (instancetype)initWithMassageCushion:(SDLMassageCushion)cushion firmness:(UInt8)firmness; + +/** + * @abstract cushion of a multi-contour massage seat. + * + * @see SDLMassageCushion + */ +@property (strong, nonatomic) SDLMassageCushion cushion; + +/** + * @abstract zone of a multi-contour massage seat. + * + * Required, MinValue: 0 MaxValue: 100 + * + */ +@property (strong, nonatomic) NSNumber *firmness; +@end + +NS_ASSUME_NONNULL_END + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushionFirmness.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushionFirmness.m new file mode 100644 index 0000000..480f131 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageCushionFirmness.m @@ -0,0 +1,42 @@ +// SDLMassageCushionFirmness.m +// + +#import "SDLNames.h" +#import "SDLMassageCushionFirmness.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLMassageCushionFirmness + +- (instancetype)initWithMassageCushion:(SDLMassageCushion)cushion firmness:(UInt8)firmness { + self = [super init]; + if (!self) { + return nil; + } + + self.cushion = cushion; + self.firmness = @(firmness); + + return self; +} + +- (void)setCushion:(SDLMassageCushion)cushion { + [store sdl_setObject:cushion forName:SDLNameCushion]; +} + +- (SDLMassageCushion)cushion { + return [store sdl_objectForName:SDLNameCushion]; +} + +- (void)setFirmness:(NSNumber *)firmness { + [store sdl_setObject:firmness forName:SDLNameFirmness]; +} + +- (NSNumber *)firmness { + return [store sdl_objectForName:SDLNameFirmness]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageMode.h new file mode 100644 index 0000000..bcd0055 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageMode.h @@ -0,0 +1,25 @@ +// SDLMassageMode.h +// + +#import "SDLEnum.h" + +/** + * The List possible modes of a massage zone. + */ +typedef SDLEnum SDLMassageMode SDL_SWIFT_ENUM; + +/** + * @abstract Massage Mode Status : OFF + */ +extern SDLMassageMode const SDLMassageModeOff; + +/** + * @abstract Massage Mode Status : LOW + */ +extern SDLMassageMode const SDLMassageModeLow; + +/** + * @abstract Massage Mode Status : HIGH + */ +extern SDLMassageMode const SDLMassageModeHigh; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageMode.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageMode.m new file mode 100644 index 0000000..782aa66 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageMode.m @@ -0,0 +1,9 @@ +// SDLMassageMode.m +// + +#import "SDLMassageMode.h" + +SDLMassageMode const SDLMassageModeOff = @"OFF"; +SDLMassageMode const SDLMassageModeLow = @"LOW"; +SDLMassageMode const SDLMassageModeHigh = @"HIGH"; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageModeData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageModeData.h new file mode 100644 index 0000000..25d3d0d --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageModeData.h @@ -0,0 +1,39 @@ +// SDLMassageModeData.h +// + +#import "SDLRPCStruct.h" +#import "SDLMassageZone.h" +#import "SDLMassageMode.h" + +/** + * Specify the mode of a massage zone. + */ + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLMassageModeData : SDLRPCStruct + +/** + * @abstract Constructs a newly allocated SDLMassageModeData object with massageMode and massageZone + */ +- (instancetype)initWithMassageMode:(SDLMassageMode)massageMode massageZone:(SDLMassageZone)massageZone; + +/** +* @abstract mode of a massage zone +* +* @see SDLMassageMode +* +*/ +@property (strong, nonatomic) SDLMassageMode massageMode; + +/** + * @abstract zone of a multi-contour massage seat. + * + * @see SDLMassageZone + * + */ +@property (strong, nonatomic) SDLMassageZone massageZone; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageModeData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageModeData.m new file mode 100644 index 0000000..83046f3 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageModeData.m @@ -0,0 +1,41 @@ +// SDLMassageModeData.m +// + +#import "SDLNames.h" +#import "SDLMassageModeData.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLMassageModeData + +- (instancetype)initWithMassageMode:(SDLMassageMode)massageMode massageZone:(SDLMassageZone)massageZone { + self = [super init]; + if (!self) { + return nil; + } + + self.massageMode = massageMode; + self.massageZone = massageZone; + + return self; +} + +- (void)setMassageMode:(SDLMassageMode)massageMode { + [store sdl_setObject:massageMode forName:SDLNameMassageMode]; +} + +- (SDLMassageMode)massageMode { + return [store sdl_objectForName:SDLNameMassageMode]; +} + +- (void)setMassageZone:(SDLMassageZone)massageZone { + [store sdl_setObject:massageZone forName:SDLNameMassageZone]; +} + +- (SDLMassageZone)massageZone { + return [store sdl_objectForName:SDLNameMassageZone]; +} + +@end +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageZone.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageZone.h new file mode 100644 index 0000000..06b7aa4 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageZone.h @@ -0,0 +1,20 @@ +// SDLMassageZone.h +// + +#import "SDLEnum.h" + +/** + * List possible zones of a multi-contour massage seat. + */ +typedef SDLEnum SDLMassageZone SDL_SWIFT_ENUM; + +/** + * @abstract The back of a multi-contour massage seat. or SEAT_BACK + */ +extern SDLMassageZone const SDLMassageZoneLumbar; + +/** + * @abstract The bottom a multi-contour massage seat. or SEAT_BOTTOM + */ +extern SDLMassageZone const SDLMassageZoneSeatCushion; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageZone.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageZone.m new file mode 100644 index 0000000..26f9e0a --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMassageZone.m @@ -0,0 +1,7 @@ +// SDLMassageZone.m +// + +#import "SDLMassageZone.h" + +SDLMassageZone const SDLMassageZoneLumbar = @"LUMBAR"; +SDLMassageZone const SDLMassageZoneSeatCushion = @"SEAT_CUSHION"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMediaClockFormat.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMediaClockFormat.h index 91b0333..c16ebb8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMediaClockFormat.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMediaClockFormat.h @@ -5,49 +5,45 @@ #import "SDLEnum.h" /** - * Indicates the format of the time displayed on the connected SDL unit. - * - * Format description follows the following nomenclature:
    - * Sp = Space
    - * | = or
    - * c = character
    - * - * @since SDL 1.0 + Indicates the format of the time displayed on the connected SDL unit. + + Format description follows the following nomenclature:
    + Sp = Space
    + | = or
    + c = character
    + + Used in DisplayCapabilities + + @since SDL 1.0 */ typedef SDLEnum SDLMediaClockFormat SDL_SWIFT_ENUM; /** - * @abstract Media clock format: Clock1 + * Media clock format: Clock1 * - * @discussion - *

      - *
    • maxHours = 19
    • - *
    • maxMinutes = 59
    • - *
    • maxSeconds = 59
    • - *
    + * maxHours = 19 + * maxMinutes = 59 + * maxSeconds = 59 */ extern SDLMediaClockFormat const SDLMediaClockFormatClock1; /** - * @abstract Media clock format: Clock2 + * Media clock format: Clock2 * - * @discussion - *
      - *
    • maxHours = 59
    • - *
    • maxMinutes = 59
    • - *
    • maxSeconds = 59
    • - *
    + * maxHours = 59 + * maxMinutes = 59 + * maxSeconds = 59 */ extern SDLMediaClockFormat const SDLMediaClockFormatClock2; /** - * @abstract Media clock format: Clock3 + * Media clock format: Clock3 * * @discussion *
      - *
    • maxHours = 9
    • - *
    • maxMinutes = 59
    • - *
    • maxSeconds = 59
    • + * maxHours = 9 + * maxMinutes = 59 + * maxSeconds = 59 *
    * * @since SDL 2.0 @@ -55,33 +51,33 @@ extern SDLMediaClockFormat const SDLMediaClockFormatClock2; extern SDLMediaClockFormat const SDLMediaClockFormatClock3; /** - * @abstract Media clock format: ClockText1 + * Media clock format: ClockText1 * * @discussion *
      - *
    • 5 characters possible
    • - *
    • Format: 1|sp c :|sp c c
    • - *
    • 1|sp : digit "1" or space
    • - *
    • c : character out of following character set: sp|0-9|[letters, see - * TypeII column in XLS.
    • - *
    • :|sp : colon or space
    • - *
    • used for Type II headunit
    • + * 5 characters possible + * Format: 1|sp c :|sp c c + * 1|sp : digit "1" or space + * c : character out of following character set: sp|0-9|[letters, see + * TypeII column in XLS. + * :|sp : colon or space + * used for Type II headunit *
    */ extern SDLMediaClockFormat const SDLMediaClockFormatClockText1; /** - * @abstract Media clock format: ClockText2 + * Media clock format: ClockText2 * * @discussion *
      - *
    • 5 characters possible
    • - *
    • Format: 1|sp c :|sp c c
    • - *
    • 1|sp : digit "1" or space
    • - *
    • c : character out of following character set: sp|0-9|[letters, see - * CID column in XLS.
    • - *
    • :|sp : colon or space
    • - *
    • used for CID headunit
    • + * 5 characters possible + * Format: 1|sp c :|sp c c + * 1|sp : digit "1" or space + * c : character out of following character set: sp|0-9|[letters, see + * CID column in XLS. + * :|sp : colon or space + * used for CID headunit *
    * difference between CLOCKTEXT1 and CLOCKTEXT2 is the supported character * set @@ -89,17 +85,17 @@ extern SDLMediaClockFormat const SDLMediaClockFormatClockText1; extern SDLMediaClockFormat const SDLMediaClockFormatClockText2; /** - * @abstract Media clock format: ClockText3 + * Media clock format: ClockText3 * * @discussion *
      - *
    • 6 chars possible
    • - *
    • Format: 1|sp c c :|sp c c
    • - *
    • 1|sp : digit "1" or space
    • - *
    • c : character out of following character set: sp|0-9|[letters, see - * Type 5 column in XLS].
    • - *
    • :|sp : colon or space
    • - *
    • used for Type V headunit
    • + * 6 chars possible + * Format: 1|sp c c :|sp c c + * 1|sp : digit "1" or space + * c : character out of following character set: sp|0-9|[letters, see + * Type 5 column in XLS]. + * :|sp : colon or space + * used for Type V headunit *
    * difference between CLOCKTEXT1 and CLOCKTEXT2 is the supported character * set @@ -107,16 +103,12 @@ extern SDLMediaClockFormat const SDLMediaClockFormatClockText2; extern SDLMediaClockFormat const SDLMediaClockFormatClockText3; /** - * @abstract Media clock format: ClockText4 + * Media clock format: ClockText4 * - * @discussion - *
      - *
    • 6 chars possible
    • - *
    • Format: c :|sp c c : c c
    • - *
    • :|sp : colon or space
    • - *
    • c : character out of following character set: sp|0-9|[letters]
    • - *
    • used for MFD3/4/5 headunits
    • - *
    + * 6 chars possible + * Format: c :|sp c c : c c + * :|sp : colon or space + * c : character out of following character set: sp|0-9|[letters] used for MFD3/4/5 headunits * * @since SDL 2.0 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuCell.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuCell.h new file mode 100644 index 0000000..1c9c8dc --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuCell.h @@ -0,0 +1,78 @@ +// +// SDLMenuCell.h +// SmartDeviceLink +// +// Created by Joel Fischer on 4/9/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLTriggerSource.h" + +@class SDLArtwork; + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^SDLMenuCellSelectionHandler)(SDLTriggerSource triggerSource); + +@interface SDLMenuCell : NSObject + +/** + The cell's text to be displayed + */ +@property (copy, nonatomic, readonly) NSString *title; + +/** + The cell's icon to be displayed + */ +@property (strong, nonatomic, readonly, nullable) SDLArtwork *icon; + +/** + The strings the user can say to activate this voice command + */ +@property (copy, nonatomic, readonly, nullable) NSArray *voiceCommands; + +/** + The handler that will be called when the command is activated + */ +@property (copy, nonatomic, readonly, nullable) SDLMenuCellSelectionHandler handler; + +/** + If this is non-nil, this cell will be a sub-menu button, displaying the subcells in a menu when pressed. + */ +@property (copy, nonatomic, readonly, nullable) NSArray *subCells; + +/** + Create a menu cell that has no subcells. + + @param title The cell's primary text + @param icon The cell's image + @param voiceCommands Voice commands that will activate the menu cell + @param handler The code that will be run when the menu cell is selected + @return The menu cell + */ +- (instancetype)initWithTitle:(NSString *)title icon:(nullable SDLArtwork *)icon voiceCommands:(nullable NSArray *)voiceCommands handler:(SDLMenuCellSelectionHandler)handler; + +/** + Create a menu cell that has subcells and when selected will go into a deeper part of the menu + + @param title The cell's primary text + @param subCells The subcells that will appear when the cell is selected + @return The menu cell + */ +- (instancetype)initWithTitle:(NSString *)title subCells:(NSArray *)subCells __deprecated_msg(("Use initWithTitle:icon:subcells: instead")); + +/** + Create a menu cell that has subcells and when selected will go into a deeper part of the menu + + @param title The cell's primary text + @param icon The cell's image + @param subCells The subcells that will appear when the cell is selected + @return The menu cell + */ +- (instancetype)initWithTitle:(NSString *)title icon:(nullable SDLArtwork *)icon subCells:(NSArray *)subCells; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuCell.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuCell.m new file mode 100644 index 0000000..cc7bfd5 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuCell.m @@ -0,0 +1,63 @@ +// +// SDLMenuCell.m +// SmartDeviceLink +// +// Created by Joel Fischer on 4/9/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLMenuCell.h" + +#import "SDLArtwork.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLMenuCell() + +@property (assign, nonatomic) UInt32 parentCellId; +@property (assign, nonatomic) UInt32 cellId; + +@end + +@implementation SDLMenuCell + +- (instancetype)initWithTitle:(NSString *)title icon:(nullable SDLArtwork *)icon voiceCommands:(nullable NSArray *)voiceCommands handler:(SDLMenuCellSelectionHandler)handler { + self = [super init]; + if (!self) { return nil; } + + _title = title; + _icon = icon; + _voiceCommands = voiceCommands; + _handler = handler; + + _cellId = UINT32_MAX; + _parentCellId = UINT32_MAX; + + return self; +} + +- (instancetype)initWithTitle:(NSString *)title subCells:(NSArray *)subCells { + return [self initWithTitle:title icon:nil subCells:subCells]; +} + +- (instancetype)initWithTitle:(NSString *)title icon:(nullable SDLArtwork *)icon subCells:(NSArray *)subCells { + self = [super init]; + if (!self) { return nil; } + + _title = title; + _icon = icon; + _subCells = subCells; + + _cellId = UINT32_MAX; + _parentCellId = UINT32_MAX; + + return self; +} + +- (NSString *)description { + return [NSString stringWithFormat:@"SDLMenuCell: %u-\"%@\", artworkName: %@, voice commands: %lu, isSubcell: %@, hasSubcells: %@", (unsigned int)_cellId, _title, _icon.name, (unsigned long)_voiceCommands.count, (_parentCellId != UINT32_MAX ? @"YES" : @"NO"), (_subCells.count > 0 ? @"YES" : @"NO")]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuManager.h new file mode 100644 index 0000000..cd3ead6 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuManager.h @@ -0,0 +1,39 @@ +// +// SDLMenuManager.h +// SmartDeviceLink +// +// Created by Joel Fischer on 4/9/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +@class SDLFileManager; +@class SDLMenuCell; +@class SDLVoiceCommand; + +@protocol SDLConnectionManagerType; + +NS_ASSUME_NONNULL_BEGIN + +/** + The handler run when the update has completed + + @param error An error if the update failed and an error occurred + */ +typedef void(^SDLMenuUpdateCompletionHandler)(NSError *__nullable error); + +@interface SDLMenuManager : NSObject + +- (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager; + +/** + * Stops the manager. This method is used internally. + */ +- (void)stop; + +@property (copy, nonatomic) NSArray *menuCells; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuManager.m new file mode 100644 index 0000000..aa8528a --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuManager.m @@ -0,0 +1,469 @@ +// +// SDLMenuManager.m +// SmartDeviceLink +// +// Created by Joel Fischer on 4/9/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLMenuManager.h" + +#import "SDLAddCommand.h" +#import "SDLAddSubMenu.h" +#import "SDLArtwork.h" +#import "SDLConnectionManagerType.h" +#import "SDLDeleteCommand.h" +#import "SDLDeleteSubMenu.h" +#import "SDLDisplayCapabilities.h" +#import "SDLDisplayCapabilities+ShowManagerExtensions.h" +#import "SDLError.h" +#import "SDLFileManager.h" +#import "SDLImage.h" +#import "SDLLogMacros.h" +#import "SDLMenuCell.h" +#import "SDLMenuParams.h" +#import "SDLOnCommand.h" +#import "SDLOnHMIStatus.h" +#import "SDLRegisterAppInterfaceResponse.h" +#import "SDLRPCNotificationNotification.h" +#import "SDLRPCResponseNotification.h" +#import "SDLSetDisplayLayoutResponse.h" +#import "SDLVoiceCommand.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLMenuCell() + +@property (assign, nonatomic) UInt32 parentCellId; +@property (assign, nonatomic) UInt32 cellId; + +@end + +@interface SDLMenuManager() + +@property (weak, nonatomic) id connectionManager; +@property (weak, nonatomic) SDLFileManager *fileManager; + +@property (copy, nonatomic, nullable) SDLHMILevel currentHMILevel; +@property (copy, nonatomic, nullable) SDLSystemContext currentSystemContext; +@property (strong, nonatomic, nullable) SDLDisplayCapabilities *displayCapabilities; + +@property (strong, nonatomic, nullable) NSArray *inProgressUpdate; +@property (assign, nonatomic) BOOL hasQueuedUpdate; +@property (assign, nonatomic) BOOL waitingOnHMIUpdate; +@property (copy, nonatomic) NSArray *waitingUpdateMenuCells; + +@property (assign, nonatomic) UInt32 lastMenuId; +@property (copy, nonatomic) NSArray *oldMenuCells; + +@end + +UInt32 const ParentIdNotFound = UINT32_MAX; +UInt32 const MenuCellIdMin = 1; + +@implementation SDLMenuManager + +- (instancetype)init { + self = [super init]; + if (!self) { return nil; } + + _lastMenuId = MenuCellIdMin; + _menuCells = @[]; + _oldMenuCells = @[]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_registerResponse:) name:SDLDidReceiveRegisterAppInterfaceResponse object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_displayLayoutResponse:) name:SDLDidReceiveSetDisplayLayoutResponse object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_hmiStatusNotification:) name:SDLDidChangeHMIStatusNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_commandNotification:) name:SDLDidReceiveCommandNotification object:nil]; + + return self; +} + +- (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager { + self = [self init]; + if (!self) { return nil; } + + _connectionManager = connectionManager; + _fileManager = fileManager; + + return self; +} + +- (void)stop { + _lastMenuId = MenuCellIdMin; + _menuCells = @[]; + _oldMenuCells = @[]; + + _currentHMILevel = nil; + _currentSystemContext = SDLSystemContextMain; + _displayCapabilities = nil; + _inProgressUpdate = nil; + _hasQueuedUpdate = NO; + _waitingOnHMIUpdate = NO; + _waitingUpdateMenuCells = @[]; +} + +#pragma mark - Setters + +- (void)setMenuCells:(NSArray *)menuCells { + if (self.currentHMILevel == nil + || [self.currentHMILevel isEqualToEnum:SDLHMILevelNone] + || [self.currentSystemContext isEqualToEnum:SDLSystemContextMenu]) { + self.waitingOnHMIUpdate = YES; + self.waitingUpdateMenuCells = menuCells; + return; + } + + self.waitingOnHMIUpdate = NO; + + NSMutableSet *titleCheckSet = [NSMutableSet set]; + NSMutableSet *allMenuVoiceCommands = [NSMutableSet set]; + NSUInteger voiceCommandCount = 0; + for (SDLMenuCell *cell in menuCells) { + [titleCheckSet addObject:cell.title]; + if (cell.voiceCommands == nil) { continue; } + [allMenuVoiceCommands addObjectsFromArray:cell.voiceCommands]; + voiceCommandCount += cell.voiceCommands.count; + } + + // Check for duplicate titles + if (titleCheckSet.count != menuCells.count) { + SDLLogE(@"Not all cell titles are unique. The menu will not be set."); + return; + } + + // Check for duplicate voice recognition commands + if (allMenuVoiceCommands.count != voiceCommandCount) { + SDLLogE(@"Attempted to create a menu with duplicate voice commands. Voice commands must be unique. The menu will not be set."); + return; + } + + // Set the ids + self.lastMenuId = MenuCellIdMin; + [self sdl_updateIdsOnMenuCells:menuCells parentId:ParentIdNotFound]; + + _oldMenuCells = _menuCells; + _menuCells = menuCells; + + // Upload the artworks + NSArray *artworksToBeUploaded = [self sdl_findAllArtworksToBeUploadedFromCells:self.menuCells]; + if (artworksToBeUploaded.count > 0) { + [self.fileManager uploadArtworks:artworksToBeUploaded completionHandler:^(NSArray * _Nonnull artworkNames, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Error uploading menu artworks: %@", error); + } + + SDLLogD(@"Menu artworks uploaded"); + [self sdl_updateWithCompletionHandler:nil]; + }]; + } + + [self sdl_updateWithCompletionHandler:nil]; +} + +#pragma mark - Updating System + +- (void)sdl_updateWithCompletionHandler:(nullable SDLMenuUpdateCompletionHandler)completionHandler { + if (self.currentHMILevel == nil + || [self.currentHMILevel isEqualToEnum:SDLHMILevelNone] + || [self.currentSystemContext isEqualToEnum:SDLSystemContextMenu]) { + self.waitingOnHMIUpdate = YES; + self.waitingUpdateMenuCells = self.menuCells; + return; + } + + if (self.inProgressUpdate != nil) { + // There's an in progress update, we need to put this on hold + self.hasQueuedUpdate = YES; + return; + } + + __weak typeof(self) weakself = self; + [self sdl_sendDeleteCurrentMenu:^(NSError * _Nullable error) { + [weakself sdl_sendCurrentMenu:^(NSError * _Nullable error) { + weakself.inProgressUpdate = nil; + + if (completionHandler != nil) { + completionHandler(error); + } + + if (weakself.hasQueuedUpdate) { + [weakself sdl_updateWithCompletionHandler:nil]; + weakself.hasQueuedUpdate = NO; + } + }]; + }]; +} + +#pragma mark Delete Old Menu Items + +- (void)sdl_sendDeleteCurrentMenu:(SDLMenuUpdateCompletionHandler)completionHandler { + if (self.oldMenuCells.count == 0) { + completionHandler(nil); + return; + } + + NSArray *deleteMenuCommands = [self sdl_deleteCommandsForCells:self.oldMenuCells]; + self.oldMenuCells = @[]; + [self.connectionManager sendRequests:deleteMenuCommands progressHandler:nil completionHandler:^(BOOL success) { + if (!success) { + SDLLogW(@"Unable to delete all old menu commands"); + } else { + SDLLogD(@"Finished deleting old menu"); + } + + completionHandler(nil); + }]; +} + +#pragma mark Send New Menu Items + +- (void)sdl_sendCurrentMenu:(SDLMenuUpdateCompletionHandler)completionHandler { + if (self.menuCells.count == 0) { + SDLLogD(@"No main menu to send"); + completionHandler(nil); + + return; + } + + NSArray *mainMenuCommands = nil; + NSArray *subMenuCommands = nil; + if ([self sdl_findAllArtworksToBeUploadedFromCells:self.menuCells].count > 0 || ![self.displayCapabilities hasImageFieldOfName:SDLImageFieldNameCommandIcon]) { + // Send artwork-less menu + mainMenuCommands = [self sdl_mainMenuCommandsForCells:self.menuCells withArtwork:NO]; + subMenuCommands = [self sdl_subMenuCommandsForCells:self.menuCells withArtwork:NO]; + } else { + // Send full artwork menu + mainMenuCommands = [self sdl_mainMenuCommandsForCells:self.menuCells withArtwork:YES]; + subMenuCommands = [self sdl_subMenuCommandsForCells:self.menuCells withArtwork:YES]; + } + + self.inProgressUpdate = [mainMenuCommands arrayByAddingObjectsFromArray:subMenuCommands]; + + __block NSMutableDictionary *errors = [NSMutableDictionary dictionary]; + __weak typeof(self) weakSelf = self; + [self.connectionManager sendRequests:mainMenuCommands progressHandler:^(__kindof SDLRPCRequest * _Nonnull request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error, float percentComplete) { + if (error != nil) { + errors[request] = error; + } + } completionHandler:^(BOOL success) { + if (!success) { + SDLLogE(@"Failed to send main menu commands: %@", errors); + completionHandler([NSError sdl_menuManager_failedToUpdateWithDictionary:errors]); + return; + } + + weakSelf.oldMenuCells = weakSelf.menuCells; + [weakSelf.connectionManager sendRequests:subMenuCommands progressHandler:^(__kindof SDLRPCRequest * _Nonnull request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error, float percentComplete) { + if (error != nil) { + errors[request] = error; + } + } completionHandler:^(BOOL success) { + if (!success) { + SDLLogE(@"Failed to send sub menu commands: %@", errors); + completionHandler([NSError sdl_menuManager_failedToUpdateWithDictionary:errors]); + return; + } + + SDLLogD(@"Finished updating menu"); + completionHandler(nil); + }]; + }]; +} + +#pragma mark - Helpers + +#pragma mark Artworks + +- (NSArray *)sdl_findAllArtworksToBeUploadedFromCells:(NSArray *)cells { + if (![self.displayCapabilities hasImageFieldOfName:SDLImageFieldNameCommandIcon]) { + return @[]; + } + + NSMutableSet *mutableArtworks = [NSMutableSet set]; + for (SDLMenuCell *cell in cells) { + if (cell.icon != nil && ![self.fileManager hasUploadedFile:cell.icon]) { + [mutableArtworks addObject:cell.icon]; + } + + if (cell.subCells.count > 0) { + [mutableArtworks addObjectsFromArray:[self sdl_findAllArtworksToBeUploadedFromCells:cell.subCells]]; + } + } + + return [mutableArtworks allObjects]; +} + +#pragma mark IDs + +- (void)sdl_updateIdsOnMenuCells:(NSArray *)menuCells parentId:(UInt32)parentId { + for (SDLMenuCell *cell in menuCells) { + cell.cellId = self.lastMenuId++; + cell.parentCellId = parentId; + if (cell.subCells.count > 0) { + [self sdl_updateIdsOnMenuCells:cell.subCells parentId:cell.cellId]; + } + } +} + +#pragma mark Deletes + +- (NSArray *)sdl_deleteCommandsForCells:(NSArray *)cells { + NSMutableArray *mutableDeletes = [NSMutableArray array]; + for (SDLMenuCell *cell in cells) { + if (cell.subCells == nil) { + SDLDeleteCommand *delete = [[SDLDeleteCommand alloc] initWithId:cell.cellId]; + [mutableDeletes addObject:delete]; + } else { + SDLDeleteSubMenu *delete = [[SDLDeleteSubMenu alloc] initWithId:cell.cellId]; + [mutableDeletes addObject:delete]; + } + } + + return [mutableDeletes copy]; +} + +#pragma mark Commands / SubMenu RPCs + +- (NSArray *)sdl_mainMenuCommandsForCells:(NSArray *)cells withArtwork:(BOOL)shouldHaveArtwork { + NSMutableArray *mutableCommands = [NSMutableArray array]; + [cells enumerateObjectsUsingBlock:^(SDLMenuCell * _Nonnull cell, NSUInteger index, BOOL * _Nonnull stop) { + if (cell.subCells.count > 0) { + [mutableCommands addObject:[self sdl_subMenuCommandForMenuCell:cell withArtwork:shouldHaveArtwork position:(UInt16)index]]; + } else { + [mutableCommands addObject:[self sdl_commandForMenuCell:cell withArtwork:shouldHaveArtwork position:(UInt16)index]]; + } + }]; + + return [mutableCommands copy]; +} + +- (NSArray *)sdl_subMenuCommandsForCells:(NSArray *)cells withArtwork:(BOOL)shouldHaveArtwork { + NSMutableArray *mutableCommands = [NSMutableArray array]; + for (SDLMenuCell *cell in cells) { + if (cell.subCells.count > 0) { + [mutableCommands addObjectsFromArray:[self sdl_allCommandsForCells:cell.subCells withArtwork:shouldHaveArtwork]]; + } + } + + return [mutableCommands copy]; +} + +- (NSArray *)sdl_allCommandsForCells:(NSArray *)cells withArtwork:(BOOL)shouldHaveArtwork { + NSMutableArray *mutableCommands = [NSMutableArray array]; + [cells enumerateObjectsUsingBlock:^(SDLMenuCell * _Nonnull cell, NSUInteger index, BOOL * _Nonnull stop) { + if (cell.subCells.count > 0) { + [mutableCommands addObject:[self sdl_subMenuCommandForMenuCell:cell withArtwork:shouldHaveArtwork position:(UInt16)index]]; + [mutableCommands addObjectsFromArray:[self sdl_allCommandsForCells:cell.subCells withArtwork:shouldHaveArtwork]]; + } else { + [mutableCommands addObject:[self sdl_commandForMenuCell:cell withArtwork:shouldHaveArtwork position:(UInt16)index]]; + } + }]; + + return [mutableCommands copy]; +} + +- (SDLAddCommand *)sdl_commandForMenuCell:(SDLMenuCell *)cell withArtwork:(BOOL)shouldHaveArtwork position:(UInt16)position { + SDLAddCommand *command = [[SDLAddCommand alloc] init]; + + SDLMenuParams *params = [[SDLMenuParams alloc] init]; + params.menuName = cell.title; + params.parentID = cell.parentCellId != UINT32_MAX ? @(cell.parentCellId) : nil; + params.position = @(position); + + command.menuParams = params; + command.vrCommands = cell.voiceCommands; + command.cmdIcon = (cell.icon && shouldHaveArtwork) ? [[SDLImage alloc] initWithName:cell.icon.name isTemplate:cell.icon.isTemplate] : nil; + command.cmdID = @(cell.cellId); + + return command; +} + +- (SDLAddSubMenu *)sdl_subMenuCommandForMenuCell:(SDLMenuCell *)cell withArtwork:(BOOL)shouldHaveArtwork position:(UInt16)position { + SDLImage *icon = (shouldHaveArtwork && (cell.icon.name != nil)) ? [[SDLImage alloc] initWithName:cell.icon.name isTemplate:cell.icon.isTemplate] : nil; + return [[SDLAddSubMenu alloc] initWithId:cell.cellId menuName:cell.title menuIcon:icon position:(UInt8)position]; +} + +#pragma mark - Calling handlers + +- (BOOL)sdl_callHandlerForCells:(NSArray *)cells command:(SDLOnCommand *)onCommand { + for (SDLMenuCell *cell in cells) { + if (cell.cellId == onCommand.cmdID.unsignedIntegerValue && cell.handler != nil) { + cell.handler(onCommand.triggerSource); + return YES; + } + + if (cell.subCells.count > 0) { + BOOL succeeded = [self sdl_callHandlerForCells:cell.subCells command:onCommand]; + if (succeeded) { return YES; } + } + } + + return NO; +} + +#pragma mark - Observers + +- (void)sdl_commandNotification:(SDLRPCNotificationNotification *)notification { + SDLOnCommand *onCommand = (SDLOnCommand *)notification.notification; + + [self sdl_callHandlerForCells:self.menuCells command:onCommand]; +} + +- (void)sdl_registerResponse:(SDLRPCResponseNotification *)notification { + SDLRegisterAppInterfaceResponse *response = (SDLRegisterAppInterfaceResponse *)notification.response; + + if (!response.success.boolValue) { return; } + if (response.displayCapabilities == nil) { + SDLLogE(@"RegisterAppInterface succeeded but didn't send a display capabilities. A lot of things will probably break."); + return; + } + + self.displayCapabilities = response.displayCapabilities; +} + +- (void)sdl_displayLayoutResponse:(SDLRPCResponseNotification *)notification { + SDLSetDisplayLayoutResponse *response = (SDLSetDisplayLayoutResponse *)notification.response; + + if (!response.success.boolValue) { return; } + if (response.displayCapabilities == nil) { + SDLLogE(@"SetDisplayLayout succeeded but didn't send a display capabilities. A lot of things will probably break."); + return; + } + + self.displayCapabilities = response.displayCapabilities; +} + +- (void)sdl_hmiStatusNotification:(SDLRPCNotificationNotification *)notification { + SDLOnHMIStatus *hmiStatus = (SDLOnHMIStatus *)notification.notification; + SDLHMILevel oldHMILevel = self.currentHMILevel; + self.currentHMILevel = hmiStatus.hmiLevel; + + // Auto-send an updated menu if we were in NONE and now we are not, and we need an update + if ([oldHMILevel isEqualToString:SDLHMILevelNone] && ![self.currentHMILevel isEqualToString:SDLHMILevelNone] && + ![self.currentSystemContext isEqualToEnum:SDLSystemContextMenu]) { + if (self.waitingOnHMIUpdate) { + [self setMenuCells:self.waitingUpdateMenuCells]; + self.waitingUpdateMenuCells = @[]; + return; + } + } + + // If we don't check for this and only update when not in the menu, there can be IN_USE errors, especially with submenus. We also don't want to encourage changing out the menu while the user is using it for usability reasons. + SDLSystemContext oldSystemContext = self.currentSystemContext; + self.currentSystemContext = hmiStatus.systemContext; + + if ([oldSystemContext isEqualToEnum:SDLSystemContextMenu] + && ![self.currentSystemContext isEqualToEnum:SDLSystemContextMenu] + && ![self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) { + if (self.waitingOnHMIUpdate) { + [self setMenuCells:self.waitingUpdateMenuCells]; + self.waitingUpdateMenuCells = @[]; + } + } +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuParams.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuParams.h index c5b0c81..60f05d4 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuParams.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMenuParams.h @@ -4,14 +4,14 @@ #import "SDLRPCMessage.h" + +NS_ASSUME_NONNULL_BEGIN + /** * Used when adding a sub menu to an application menu or existing sub menu. * * @since SDL 1.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLMenuParams : SDLRPCStruct - (instancetype)initWithMenuName:(NSString *)menuName; @@ -19,29 +19,31 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithMenuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position; /** - * @abstract the unique ID of an existing submenu to which a command will be added - * @discussion If this element is not provided, the command will be added to the top level of the Command Menu. + * The unique ID of an existing submenu to which a command will be added + + * If this element is not provided, the command will be added to the top level of the Command Menu. * * Optional, Integer, 0 - 2,000,000,000 */ @property (nullable, strong, nonatomic) NSNumber *parentID; /** - * @abstract The position within the items of the parent Command Menu - * @discussion 0 will insert at the front, 1 will insert after the first existing element, etc. + * The position within the items of the parent Command Menu + + * 0 will insert at the front, 1 will insert after the first existing element, etc. * * Position of any submenu will always be located before the return and exit options. * - * * If position is greater or equal than the number of items in the parent Command Menu, the sub menu will be appended to the end of that Command Menu. + * If position is greater or equal than the number of items in the parent Command Menu, the sub menu will be appended to the end of that Command Menu. * - * * If this element is omitted, the entry will be added at the end of the parent menu. + * If this element is omitted, the entry will be added at the end of the parent menu. * * Optional, Integer, 0 - 1000 */ @property (nullable, strong, nonatomic) NSNumber *position; /** - * @abstract the menu name which appears in menu, representing this command + * The menu name which appears in menu, representing this command * * Required, max length 500 characters */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMetadataTags.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMetadataTags.h index a1820c5..50f5830 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMetadataTags.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMetadataTags.h @@ -14,45 +14,45 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLMetadataTags : SDLRPCStruct /** - * @abstract Constructs a newly allocated SDLMetadataType object with NSArrays + Constructs a newly allocated SDLMetadataType object with NSArrays */ - (instancetype)initWithTextFieldTypes:(nullable NSArray *)mainField1 mainField2:(nullable NSArray *)mainField2; - (instancetype)initWithTextFieldTypes:(nullable NSArray *)mainField1 mainField2:(nullable NSArray *)mainField2 mainField3:(nullable NSArray *)mainField3 mainField4:(nullable NSArray *)mainField4; /** - * @abstract The type of data contained in the "mainField1" text field, Optional. - * - * minsize= 0 - * - * maxsize= 5 + The type of data contained in the "mainField1" text field. + + minsize= 0, maxsize= 5 + + Optional */ @property (nullable, strong, nonatomic) NSArray *mainField1; /** - * @abstract The type of data contained in the "mainField2" text field, Optional. - * - * minsize= 0 - * - * maxsize= 5 + The type of data contained in the "mainField2" text field. + + minsize= 0, maxsize= 5 + + Optional */ @property (nullable, strong, nonatomic) NSArray *mainField2; /** - * @abstract The type of data contained in the "mainField3" text field, Optional. - * - * minsize= 0 - * - * maxsize= 5 + The type of data contained in the "mainField3" text field. + + minsize= 0, maxsize= 5 + + Optional */ @property (nullable, strong, nonatomic) NSArray *mainField3; /** - * @abstract The type of data contained in the "mainField4" text field, Optional. - * - * minsize= 0 - * - * maxsize= 5 + The type of data contained in the "mainField4" text field. + + minsize= 0, maxsize= 5 + + Optional */ @property (nullable, strong, nonatomic) NSArray *mainField4; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMetadataType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMetadataType.h index c5a3094..da79a4a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMetadataType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMetadataType.h @@ -1,3 +1,4 @@ + // // SDLMetadataType.h // SmartDeviceLink-iOS @@ -9,67 +10,67 @@ #import "SDLEnum.h" /** - * Text Field Types + * Text Field metadata types. Used in Show. */ typedef SDLEnum SDLMetadataType SDL_SWIFT_ENUM; /** - * @abstract SDLMetadataType: *mediaTitle* + * The song / media title name */ extern SDLMetadataType const SDLMetadataTypeMediaTitle; /** - * @abstract SDLMetadataType: *mediaArtist* + * The "artist" of the media */ extern SDLMetadataType const SDLMetadataTypeMediaArtist; /** - * @abstract SDLMetadataType: *mediaAlbum* + * The "album" of the media" */ extern SDLMetadataType const SDLMetadataTypeMediaAlbum; /** - * @abstract SDLMetadataType: *mediaYear* + * The "year" that the media was created */ extern SDLMetadataType const SDLMetadataTypeMediaYear; /** - * @abstract SDLMetadataType: *mediaGenre* + * The "genre" of the media */ extern SDLMetadataType const SDLMetadataTypeMediaGenre; /** - * @abstract SDLMetadataType: *mediaStation* + * The "station" that the media is playing on */ extern SDLMetadataType const SDLMetadataTypeMediaStation; /** - * @abstract SDLMetadataType: *rating* + * The "rating" given to the media */ extern SDLMetadataType const SDLMetadataTypeRating; /** - * @abstract SDLMetadataType: *currentTemperature* + * The current temperature of the weather information */ extern SDLMetadataType const SDLMetadataTypeCurrentTemperature; /** - * @abstract SDLMetadataType: *maximumTemperature* + * The high / maximum temperature of the weather information for the current period */ extern SDLMetadataType const SDLMetadataTypeMaximumTemperature; /** - * @abstract SDLMetadataType: *minimumTemperature* + * The low / minimum temperature of the weather information for the current period */ extern SDLMetadataType const SDLMetadataTypeMinimumTemperature; /** - * @abstract SDLMetadataType: *weatherTerm* + * A description of the weather for the current period */ extern SDLMetadataType const SDLMetadataTypeWeatherTerm; /** - * @abstract SDLMetadataType: *humidity* + * The humidity of the weather information for the current period */ extern SDLMetadataType const SDLMetadataTypeHumidity; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleData.h index b777a78..cd65280 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleData.h @@ -7,25 +7,118 @@ @class SDLRadioControlData; @class SDLClimateControlData; +@class SDLSeatControlData; +@class SDLAudioControlData; +@class SDLHMISettingsControlData; +@class SDLLightControlData; + NS_ASSUME_NONNULL_BEGIN +/** + Describes a remote control module's data + */ @interface SDLModuleData : SDLRPCStruct +/** + Constructs a newly allocated SDLModuleData object with radio control data + + @param radioControlData The radio control data + @return An instance of the SDLModuleData class + */ - (instancetype)initWithRadioControlData:(SDLRadioControlData *)radioControlData; + +/** + Constructs a newly allocated SDLModuleData object with climate control data + + @param climateControlData The climate control data + @return An instance of the SDLModuleData class + */ - (instancetype)initWithClimateControlData:(SDLClimateControlData *)climateControlData; /** - * The moduleType indicates which type of data should be changed - * and identifies which data object exists in this struct. - * For example, if the moduleType is CLIMATE then a "climateControlData" should exist + Constructs a newly allocated SDLModuleData object with audio control data + + @param audioControlData The audio control data + @return An instance of the SDLModuleData class + */ +- (instancetype)initWithAudioControlData:(SDLAudioControlData *)audioControlData; + +/** + Constructs a newly allocated SDLModuleData object with light control data + + @param lightControlData The light control data + @return An instance of the SDLModuleData class + */ +- (instancetype)initWithLightControlData:(SDLLightControlData *)lightControlData; + +/** + Constructs a newly allocated SDLModuleData object with hmi settings data + + @param hmiSettingsControlData The hmi settings data + @return An instance of the SDLModuleData class + */ +- (instancetype)initWithHMISettingsControlData:(SDLHMISettingsControlData *)hmiSettingsControlData; + +/** + Constructs a newly allocated SDLModuleData object with seat control data + + @param seatControlData The seat control data + @return An instance of the SDLModuleData class + */ +- (instancetype)initWithSeatControlData:(SDLSeatControlData *)seatControlData; + +/** + The moduleType indicates which type of data should be changed and identifies which data object exists in this struct. + + For example, if the moduleType is CLIMATE then a "climateControlData" should exist + + Required */ @property (strong, nonatomic) SDLModuleType moduleType; +/** + The radio control data + + Optional + */ @property (nullable, strong, nonatomic) SDLRadioControlData *radioControlData; +/** + The climate control data + + Optional + */ @property (nullable, strong, nonatomic) SDLClimateControlData *climateControlData; +/** + The seat control data + + Optional + */ +@property (nullable, strong, nonatomic) SDLSeatControlData *seatControlData; + +/** + The audio control data + + Optional + */ +@property (nullable, strong, nonatomic) SDLAudioControlData *audioControlData; + +/** + The light control data + + Optional + */ +@property (nullable, strong, nonatomic) SDLLightControlData *lightControlData; + +/** + The hmi control data + + Optional + */ +@property (nullable, strong, nonatomic) SDLHMISettingsControlData *hmiSettingsControlData; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleData.m index 3d37896..947f8b5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleData.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleData.m @@ -6,6 +6,10 @@ #import "SDLNames.h" #import "SDLClimateControlData.h" #import "SDLRadioControlData.h" +#import "SDLSeatControlData.h" +#import "SDLAudioControlData.h" +#import "SDLLightControlData.h" +#import "SDLHMISettingsControlData.h" #import "NSMutableDictionary+Store.h" NS_ASSUME_NONNULL_BEGIN @@ -36,6 +40,54 @@ - (instancetype)initWithClimateControlData:(SDLClimateControlData *)climateContr return self; } +- (instancetype)initWithAudioControlData:(SDLAudioControlData *)audioControlData { + self = [self init]; + if(!self){ + return nil; + } + + self.moduleType = SDLModuleTypeAudio; + self.audioControlData = audioControlData; + + return self; +} + +- (instancetype)initWithLightControlData:(SDLLightControlData *)lightControlData { + self = [self init]; + if(!self){ + return nil; + } + + self.moduleType = SDLModuleTypeLight; + self.lightControlData = lightControlData; + + return self; +} + +- (instancetype)initWithHMISettingsControlData:(SDLHMISettingsControlData *)hmiSettingsControlData { + self = [self init]; + if(!self){ + return nil; + } + + self.moduleType = SDLModuleTypeHMISettings; + self.hmiSettingsControlData = hmiSettingsControlData; + + return self; +} + +- (instancetype)initWithSeatControlData:(SDLSeatControlData *)seatControlData { + self = [self init]; + if(!self){ + return nil; + } + + self.moduleType = SDLModuleTypeSeat; + self.seatControlData = seatControlData; + + return self; +} + - (void)setModuleType:(SDLModuleType)moduleType { [store sdl_setObject:moduleType forName:SDLNameModuleType]; } @@ -60,6 +112,38 @@ - (nullable SDLClimateControlData *)climateControlData { return [store sdl_objectForName:SDLNameClimateControlData ofClass:SDLClimateControlData.class]; } +- (void)setSeatControlData:(nullable SDLSeatControlData *)seatControlData { + [store sdl_setObject:seatControlData forName:SDLNameSeatControlData]; +} + +- (nullable SDLSeatControlData *)seatControlData { + return [store sdl_objectForName:SDLNameSeatControlData ofClass:SDLSeatControlData.class]; +} + +- (void)setAudioControlData:(nullable SDLAudioControlData *)audioControlData { + [store sdl_setObject:audioControlData forName:SDLNameAudioControlData]; +} + +- (nullable SDLAudioControlData *)audioControlData { + return [store sdl_objectForName:SDLNameAudioControlData ofClass:SDLAudioControlData.class]; +} + +- (void)setLightControlData:(nullable SDLLightControlData *)lightControlData { + [store sdl_setObject:lightControlData forName:SDLNameLightControlData]; +} + +- (nullable SDLLightControlData *)lightControlData { + return [store sdl_objectForName:SDLNameLightControlData ofClass:SDLLightControlData.class]; +} + +- (void)setHmiSettingsControlData:(nullable SDLHMISettingsControlData *)hmiSettingsControlData { + [store sdl_setObject:hmiSettingsControlData forName:SDLNameHmiSettingsControlData]; +} + +- (nullable SDLHMISettingsControlData *)hmiSettingsControlData { + return [store sdl_objectForName:SDLNameHmiSettingsControlData ofClass:SDLHMISettingsControlData.class]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleType.h index 4d52f08..c69004e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleType.h @@ -4,14 +4,38 @@ #import "SDLEnum.h" +/** + * The type of remote control data. Used in ButtonPress, GetInteriorVehicleData, and ModuleData + */ typedef SDLEnum SDLModuleType SDL_SWIFT_ENUM; /** - * @abstract A SDLModuleType with the value of *CLIMATE* + * A SDLModuleType with the value of *CLIMATE* */ extern SDLModuleType const SDLModuleTypeClimate; /** - * @abstract A SDLModuleType with the value of *RADIO* + * A SDLModuleType with the value of *RADIO* */ extern SDLModuleType const SDLModuleTypeRadio; + +/** + * A SDLModuleType with the value of *SEAT* + */ +extern SDLModuleType const SDLModuleTypeSeat; + +/** + * A SDLModuleType with the value of *AUDIO* + */ +extern SDLModuleType const SDLModuleTypeAudio; + +/** + * A SDLModuleType with the value of *LIGHT* + */ +extern SDLModuleType const SDLModuleTypeLight; + +/** + * A SDLModuleType with the value of *HMI_SETTINGS* + */ +extern SDLModuleType const SDLModuleTypeHMISettings; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleType.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleType.m index 30744e0..d23b195 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleType.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLModuleType.m @@ -6,3 +6,7 @@ SDLModuleType const SDLModuleTypeClimate = @"CLIMATE"; SDLModuleType const SDLModuleTypeRadio = @"RADIO"; +SDLModuleType const SDLModuleTypeSeat = @"SEAT"; +SDLModuleType const SDLModuleTypeAudio = @"AUDIO"; +SDLModuleType const SDLModuleTypeLight = @"LIGHT"; +SDLModuleType const SDLModuleTypeHMISettings = @"HMI_SETTINGS"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMyKey.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMyKey.h index aa395f9..e9f53aa 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLMyKey.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLMyKey.h @@ -6,8 +6,14 @@ NS_ASSUME_NONNULL_BEGIN +/** + Vehicle Data struct + */ @interface SDLMyKey : SDLRPCStruct +/** + Indicates whether e911 override is on. References signal "MyKey_e911Override_St". See VehicleDataStatus. + */ @property (strong, nonatomic) SDLVehicleDataStatus e911Override; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNames.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNames.h index a1790af..514899a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNames.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNames.h @@ -13,6 +13,7 @@ extern SDLName const SDLNameACEnableAvailable; extern SDLName const SDLNameACMaxEnable; extern SDLName const SDLNameACMaxEnableAvailable; extern SDLName const SDLNameAccelerationPedalPosition; +extern SDLName const SDLNameAction; extern SDLName const SDLNameActual; extern SDLName const SDLNameAddCommand; extern SDLName const SDLNameAddress; @@ -26,8 +27,10 @@ extern SDLName const SDLNameAlertText1; extern SDLName const SDLNameAlertText2; extern SDLName const SDLNameAlertText3; extern SDLName const SDLNameAlignment; +extern SDLName const SDLNameAllocatedModules; extern SDLName const SDLNameAllowed; extern SDLName const SDLNameAltitude; +extern SDLName const SDLNameAltitudeMeters; extern SDLName const SDLNameAmbientLightSensorStatus; extern SDLName const SDLNameAmbientLightStatus; extern SDLName const SDLNameAppBundleId; @@ -37,9 +40,12 @@ extern SDLName const SDLNameAppInfo; extern SDLName const SDLNameAppName; extern SDLName const SDLNameAppDisplayName; extern SDLName const SDLNameAppVersion; +extern SDLName const SDLNameAudioControlCapabilities; +extern SDLName const SDLNameAudioControlData; extern SDLName const SDLNameAudioPassThruCapabilities; extern SDLName const SDLNameAudioPassThruDisplayText1; extern SDLName const SDLNameAudioPassThruDisplayText2; +extern SDLName const SDLNameAudioStreamingIndicator; extern SDLName const SDLNameAudioStreamingState; extern SDLName const SDLNameAudioType; extern SDLName const SDLNameAutoCompleteText; @@ -48,11 +54,17 @@ extern SDLName const SDLNameAutoModeEnableAvailable; extern SDLName const SDLNameAuxECallNotificationStatus; extern SDLName const SDLNameAvailableHDs; extern SDLName const SDLNameAvailableHDsAvailable; +extern SDLName const SDLNameBackgroundColor; +extern SDLName const SDLNameBackTiltAngle; +extern SDLName const SDLNameBackTiltAngleAvailable; +extern SDLName const SDLNameBackVerticalPosition; +extern SDLName const SDLNameBackVerticalPositionAvailable; extern SDLName const SDLNameBand; extern SDLName const SDLNameBatteryLevelStatus; extern SDLName const SDLNameBeltStatus; extern SDLName const SDLNameBitsPerSample; extern SDLName const SDLNameBodyInformation; +extern SDLName const SDLNameBlue; extern SDLName const SDLNameBluetoothIconOn; extern SDLName const SDLNameBulkData; extern SDLName const SDLNameButtonCapabilities; @@ -60,11 +72,19 @@ extern SDLName const SDLNameButtonEventMode; extern SDLName const SDLNameButtonName; extern SDLName const SDLNameButtonPress; extern SDLName const SDLNameButtonPressMode; +extern SDLName const SDLNameColor; +extern SDLName const SDLNameCoolingEnabled; +extern SDLName const SDLNameCoolingEnabledAvailable; +extern SDLName const SDLNameCoolingLevel; +extern SDLName const SDLNameCoolingLevelAvailable; extern SDLName const SDLNameCoordinate; extern SDLName const SDLNameCallActive; extern SDLName const SDLNameCarModeStatus; extern SDLName const SDLNameCarrier; extern SDLName const SDLNameChangeRegistration; +extern SDLName const SDLNameChannelId; +extern SDLName const SDLNameChannelName; +extern SDLName const SDLNameChannelSetting; extern SDLName const SDLNameCharacterSet; extern SDLName const SDLNameChoiceId; extern SDLName const SDLNameChoiceSet; @@ -80,15 +100,18 @@ extern SDLName const SDLNameCompassDirection; extern SDLName const SDLNameCorrelationId; extern SDLName const SDLNameCountryCode; extern SDLName const SDLNameCountryName; +extern SDLName const SDLNameCRC; extern SDLName const SDLNameCreateInteractionChoiceSet; extern SDLName const SDLNameClockText; extern SDLName const SDLNameCurrentTemperature; +extern SDLName const SDLNameCushion; extern SDLName const SDLNameCustomButtonId; extern SDLName const SDLNameCustomPresets; extern SDLName const SDLNameData; extern SDLName const SDLNameDataResult; extern SDLName const SDLNameDataType; extern SDLName const SDLNameDay; +extern SDLName const SDLNameDayColorScheme; extern SDLName const SDLNameDefrostZone; extern SDLName const SDLNameDefrostZoneAvailable; extern SDLName const SDLNameDeleteCommand; @@ -96,6 +119,8 @@ extern SDLName const SDLNameDeleteFile; extern SDLName const SDLNameDeleteInteractionChoiceSet; extern SDLName const SDLNameDeleteSubMenu; extern SDLName const SDLNameDeliveryMode; +extern SDLName const SDLNameDensity; +extern SDLName const SDLNameDensityAvailable; extern SDLName const SDLNameDesiredTemperature; extern SDLName const SDLNameDesiredTemperatureAvailable; extern SDLName const SDLNameDeviceInfo; @@ -107,11 +132,16 @@ extern SDLName const SDLNameDIDLocation; extern SDLName const SDLNameDIDResult; extern SDLName const SDLNameDimension; extern SDLName const SDLNameDisplayCapabilities; +extern SDLName const SDLNameDisplayMode; +extern SDLName const SDLNameDisplayModeUnitAvailable; extern SDLName const SDLNameDisplayLayout; +extern SDLName const SDLNameDisplayName; extern SDLName const SDLNameDisplayType; +extern SDLName const SDLNameDistanceUnit; extern SDLName const SDLNameDistanceToEmpty; extern SDLName const SDLNameDistanceToManeuver; extern SDLName const SDLNameDistanceToManeuverScale; +extern SDLName const SDLNameDistanceUnitAvailable; extern SDLName const SDLNameDoublePressAvailable; extern SDLName const SDLNameDriverAirbagDeployed; extern SDLName const SDLNameDriverBeltDeployed; @@ -134,27 +164,39 @@ extern SDLName const SDLNameECallInfo; extern SDLName const SDLNameECallNotificationStatus; extern SDLName const SDLNameECUHeader; extern SDLName const SDLNameECUName; +extern SDLName const SDLNameElectronicParkBrakeStatus; extern SDLName const SDLNameEmergencyEvent; extern SDLName const SDLNameEmergencyEventType; extern SDLName const SDLNameEncodedSyncPData; extern SDLName const SDLNameEndAudioPassThru; extern SDLName const SDLNameEndTime; +extern SDLName const SDLNameEngineOilLife; extern SDLName const SDLNameEngineTorque; +extern SDLName const SDLNameEqualizerAvailable; +extern SDLName const SDLNameEqualizerMaxChannelId; +extern SDLName const SDLNameEqualizerSettings; extern SDLName const SDLNameETA; extern SDLName const SDLNameEvent; extern SDLName const SDLNameExternalTemperature; extern SDLName const SDLNameFanSpeed; extern SDLName const SDLNameFanSpeedAvailable; +extern SDLName const SDLNameFCCFacilityId; extern SDLName const SDLNameFilename; extern SDLName const SDLNameFilenames; extern SDLName const SDLNameFileType; +extern SDLName const SDLNameFirmness; extern SDLName const SDLNameFirmwareRevision; +extern SDLName const SDLNameFreeModules; extern SDLName const SDLNameFrequencyInteger; extern SDLName const SDLNameFrequencyFraction; +extern SDLName const SDLNameFrontVerticalPosition; +extern SDLName const SDLNameFrontVerticalPositionAvailable; extern SDLName const SDLNameFuelCutoffStatus; extern SDLName const SDLNameFuelLevel; extern SDLName const SDLNameFuelLevelState; extern SDLName const SDLNameFuelMaintenanceMode; +extern SDLName const SDLNameFuelRange; +extern SDLName const SDLNameFullAppID; extern SDLName const SDLNameGenericResponse; extern SDLName const SDLNameGetDTCs; extern SDLName const SDLNameGetInteriorVehicleData; @@ -165,6 +207,7 @@ extern SDLName const SDLNameGetWayPointsEnabled; extern SDLName const SDLNameGPS; extern SDLName const SDLNameGraphic; extern SDLName const SDLNameGraphicSupported; +extern SDLName const SDLNameGreen; extern SDLName const SDLNameHapticRectData; extern SDLName const SDLNameHapticSpatialDataSupported; extern SDLName const SDLNameHardware; @@ -172,19 +215,42 @@ extern SDLName const SDLNameHashId; extern SDLName const SDLNameHDOP; extern SDLName const SDLNameHDChannel; extern SDLName const SDLNameHDChannelAvailable; +extern SDLName const SDLNameHDRadioEnable; +extern SDLName const SDLNameHDRadioEnableAvailable; extern SDLName const SDLNameHeading; extern SDLName const SDLNameHeadLampStatus; +extern SDLName const SDLNameHeadSupportHorizontalPosition; +extern SDLName const SDLNameHeadSupportHorizontalPositionAvailable; +extern SDLName const SDLNameHeadSupportVerticalPosition; +extern SDLName const SDLNameHeadSupportVerticalPositionAvailable; +extern SDLName const SDLNameHeatingLevel; +extern SDLName const SDLNameHeatingLevelAvailable; +extern SDLName const SDLNameHeatingEnabled; +extern SDLName const SDLNameHeatingEnabledAvailable; +extern SDLName const SDLNameHeatedSteeringWheelAvailable; +extern SDLName const SDLNameHeatedWindshieldAvailable; +extern SDLName const SDLNameHeatedRearWindowAvailable; +extern SDLName const SDLNameHeatedMirrorsAvailable; +extern SDLName const SDLNameHeatedSteeringWheelEnable; +extern SDLName const SDLNameHeatedWindshieldEnable; +extern SDLName const SDLNameHeatedRearWindowEnable; +extern SDLName const SDLNameHeatedMirrorsEnable; extern SDLName const SDLNameHeight; extern SDLName const SDLNameHelpPrompt; extern SDLName const SDLNameHighBeamsOn; +extern SDLName const SDLNameHMICapabilities; extern SDLName const SDLNameHMIDisplayLanguage; extern SDLName const SDLNameHMIDisplayLanguageDesired; extern SDLName const SDLNameHMILevel; extern SDLName const SDLNameHMIPermissions; -extern SDLName const SDLNameHMICapabilities; +extern SDLName const SDLNameHmiSettingsControlCapabilities; +extern SDLName const SDLNameHmiSettingsControlData; extern SDLName const SDLNameHMIZoneCapabilities; +extern SDLName const SDLNameHorizontalPosition; +extern SDLName const SDLNameHorizontalPositionAvailable; extern SDLName const SDLNameHour; extern SDLName const SDLNameHours; +extern SDLName const SDLNameIconResumed; extern SDLName const SDLNameId; extern SDLName const SDLNameIgnitionStableStatus; extern SDLName const SDLNameIgnitionStatus; @@ -192,6 +258,7 @@ extern SDLName const SDLNameImage; extern SDLName const SDLNameImageFields; extern SDLName const SDLNameImageResolution; extern SDLName const SDLNameImageSupported; +extern SDLName const SDLNameImageTemplate; extern SDLName const SDLNameImageType; extern SDLName const SDLNameImageTypeSupported; extern SDLName const SDLNameInfo; @@ -207,9 +274,12 @@ extern SDLName const SDLNameInteractionMode; extern SDLName const SDLNameIsHighlighted; extern SDLName const SDLNameIsMediaApplication; extern SDLName const SDLNameIsSubscribed; +extern SDLName const SDLNameKeepContext; +extern SDLName const SDLNameKeepContextAvailable; extern SDLName const SDLNameKeyboardLayout; extern SDLName const SDLNameKeyboardProperties; extern SDLName const SDLNameKeypressMode; +extern SDLName const SDLNameLabel; extern SDLName const SDLNameLanguage; extern SDLName const SDLNameLanguageDesired; extern SDLName const SDLNameLatitudeDegrees; @@ -219,6 +289,9 @@ extern SDLName const SDLNameLeftRearInflatableBelted; extern SDLName const SDLNameLeftRow2BuckleBelted; extern SDLName const SDLNameLeftRow3BuckleBelted; extern SDLName const SDLNameLength; +extern SDLName const SDLNameLightControlCapabilities; +extern SDLName const SDLNameLightControlData; +extern SDLName const SDLNameLightState; extern SDLName const SDLNameLimitedCharacterList; extern SDLName const SDLNameListFiles; extern SDLName const SDLNameLocality; @@ -243,6 +316,14 @@ extern SDLName const SDLNameMajorVersion; extern SDLName const SDLNameMake; extern SDLName const SDLNameManeuverComplete; extern SDLName const SDLNameManualTextEntry; +extern SDLName const SDLNameMassageCushionFirmness; +extern SDLName const SDLNameMassageCushionFirmnessAvailable; +extern SDLName const SDLNameMassageEnabled; +extern SDLName const SDLNameMassageEnabledAvailable; +extern SDLName const SDLNameMassageMode; +extern SDLName const SDLNameMassageModeAvailable; +extern SDLName const SDLNameMemoryAvailable; +extern SDLName const SDLNameMassageZone; extern SDLName const SDLNameMaxBitrate; extern SDLName const SDLNameMaxDuration; extern SDLName const SDLNameMaximumChangeVelocity; @@ -250,6 +331,7 @@ extern SDLName const SDLNameMaxNumberRFCOMMPorts; extern SDLName const SDLNameMediaClock; extern SDLName const SDLNameMediaClockFormats; extern SDLName const SDLNameMediaTrack; +extern SDLName const SDLNameMemory; extern SDLName const SDLNameMenuIcon; extern SDLName const SDLNameMenuId; extern SDLName const SDLNameMenuName; @@ -286,6 +368,7 @@ extern SDLName const SDLNameNavigationText1; extern SDLName const SDLNameNavigationText2; extern SDLName const SDLNameNextTurnIcon; extern SDLName const SDLNameNGNMediaScreenAppName; +extern SDLName const SDLNameNightColorScheme; extern SDLName const SDLNameNotification; extern SDLName const SDLNameNumber; extern SDLName const SDLNameNumberCustomPresetsAvailable; @@ -306,6 +389,7 @@ extern SDLName const SDLNameOnKeyboardInput; extern SDLName const SDLNameOnLanguageChange; extern SDLName const SDLNameOnLockScreenStatus; extern SDLName const SDLNameOnPermissionsChange; +extern SDLName const SDLNameOnRCStatus; extern SDLName const SDLNameOnScreenPresetsAvailable; extern SDLName const SDLNameOnSyncPData; extern SDLName const SDLNameOnSystemRequest; @@ -353,6 +437,7 @@ extern SDLName const SDLNamePressAvailable; extern SDLName const SDLNamePressure; extern SDLName const SDLNamePressureTelltale; extern SDLName const SDLNamePrimaryAudioSource; +extern SDLName const SDLNamePrimaryColor; extern SDLName const SDLNamePRNDL; extern SDLName const SDLNameProgressIndicator; extern SDLName const SDLNameProperties; @@ -365,6 +450,7 @@ extern SDLName const SDLNameRadioControlData; extern SDLName const SDLNameRadioEnable; extern SDLName const SDLNameRadioEnableAvailable; extern SDLName const SDLNameRadioFrequencyAvailable; +extern SDLName const SDLNameRange; extern SDLName const SDLNameRDSData; extern SDLName const SDLNameRDSDataAvailable; extern SDLName const SDLNameReadDID; @@ -372,10 +458,12 @@ extern SDLName const SDLNameRearLeftDoorAjar; extern SDLName const SDLNameRearRightDoorAjar; extern SDLName const SDLNameReason; extern SDLName const SDLNameRect; +extern SDLName const SDLNameRed; extern SDLName const SDLNameRegion; extern SDLName const SDLNameRegisterAppInterface; extern SDLName const SDLNameRemoteControlCapability; extern SDLName const SDLNameRequest; +extern SDLName const SDLNameRequestSubType; extern SDLName const SDLNameRequestType; extern SDLName const SDLNameReserved; extern SDLName const SDLNameResetGlobalProperties; @@ -402,6 +490,9 @@ extern SDLName const SDLNameScrollableMessage; extern SDLName const SDLNameScrollableMessageBody; extern SDLName const SDLNameSDLVersion; extern SDLName const SDLNameSearchAddress; +extern SDLName const SDLNameSeatControlData; +extern SDLName const SDLNameSeatControlCapabilities; +extern SDLName const SDLNameSecondaryColor; extern SDLName const SDLNameSecondaryGraphic; extern SDLName const SDLNameSecondaryImage; extern SDLName const SDLNameSecondaryText; @@ -425,6 +516,9 @@ extern SDLName const SDLNameSignalChangeThreshold; extern SDLName const SDLNameSignalChangeThresholdAvailable; extern SDLName const SDLNameSignalStrength; extern SDLName const SDLNameSignalStrengthAvailable; +extern SDLName const SDLNameSiriusXMRadioAvailable; +extern SDLName const SDLNameSISData; +extern SDLName const SDLNameSISDataAvailable; extern SDLName const SDLNameSlider; extern SDLName const SDLNameSliderFooter; extern SDLName const SDLNameSliderHeader; @@ -432,15 +526,24 @@ extern SDLName const SDLNameSliderPosition; extern SDLName const SDLNameSoftButtonCapabilities; extern SDLName const SDLNameSoftButtonId; extern SDLName const SDLNameSoftButtons; +extern SDLName const SDLNameSource; +extern SDLName const SDLNameSourceAvailable; extern SDLName const SDLNameSpaceAvailable; extern SDLName const SDLNameSpeak; extern SDLName const SDLNameSpeechCapabilities; extern SDLName const SDLNameSpeed; +extern SDLName const SDLNameRGBColorSpaceAvailable; extern SDLName const SDLNameStartTime; extern SDLName const SDLNameState; extern SDLName const SDLNameStateAvailable; extern SDLName const SDLNameStateOfCharge; +extern SDLName const SDLNameStationIDNumber; +extern SDLName const SDLNameStationLongName; +extern SDLName const SDLNameStationLocation; +extern SDLName const SDLNameStationMessage; +extern SDLName const SDLNameStationShortName; extern SDLName const SDLNameStatus; +extern SDLName const SDLNameStatusAvailable; extern SDLName const SDLNameStatusBar; extern SDLName const SDLNameSteeringWheelAngle; extern SDLName const SDLNameStereoAudioOutputMuted; @@ -454,6 +557,7 @@ extern SDLName const SDLNameSubThoroughfare; extern SDLName const SDLNameSuccess; extern SDLName const SDLNameSupportedDiagnosticModes; extern SDLName const SDLNameSupportedFormats; +extern SDLName const SDLNameSupportedLights; extern SDLName const SDLNameSyncFileName; extern SDLName const SDLNameSyncMessageVersion; extern SDLName const SDLNameSyncPData; @@ -466,6 +570,8 @@ extern SDLName const SDLNameSystemRequest; extern SDLName const SDLNameSystemSoftwareVersion; extern SDLName const SDLNameTrafficAnnouncementIdentification; extern SDLName const SDLNameTargetId; +extern SDLName const SDLNameTemperatureUnit; +extern SDLName const SDLNameTemperatureUnitAvailable; extern SDLName const SDLNameTemplatesAvailable; extern SDLName const SDLNameTertiaryText; extern SDLName const SDLNameText; @@ -481,6 +587,7 @@ extern SDLName const SDLNameTimezoneMinuteOffset; extern SDLName const SDLNameTirePressure; extern SDLName const SDLNameTotalDistance; extern SDLName const SDLNameTouchEventAvailable; +extern SDLName const SDLNameTPMS; extern SDLName const SDLNameTrafficProgramIdentification; extern SDLName const SDLNameTriggerSource; extern SDLName const SDLNameTrim; @@ -490,6 +597,7 @@ extern SDLName const SDLNameTTSChunks; extern SDLName const SDLNameTTSName; extern SDLName const SDLNameTurnIcon; extern SDLName const SDLNameTurnList; +extern SDLName const SDLNameTurnSignal; extern SDLName const SDLNameType; extern SDLName const SDLNameUnit; extern SDLName const SDLNameUnregisterAppInterface; @@ -513,14 +621,19 @@ extern SDLName const SDLNameUTCYear; extern SDLName const SDLNameValue; extern SDLName const SDLNameVDOP; extern SDLName const SDLNameVehicleType; +extern SDLName const SDLNameVerticalPosition; +extern SDLName const SDLNameVerticalPositionAvailable; extern SDLName const SDLNameVideoCodec; extern SDLName const SDLNameVideoProtocol; extern SDLName const SDLNameVideoStreaming; extern SDLName const SDLNameVideoStreamingCapability; +extern SDLName const SDLNameVideoStreamingState; extern SDLName const SDLNameVentilationMode; extern SDLName const SDLNameVentilationModeAvailable; extern SDLName const SDLNameVIN; extern SDLName const SDLNameVoiceRecognitionOn; +extern SDLName const SDLNameVolume; +extern SDLName const SDLNameVolumeAvailable; extern SDLName const SDLNameVRCapabilities; extern SDLName const SDLNameVRCommands; extern SDLName const SDLNameVRHelp; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNames.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNames.m index c2fec2b..62ad20e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNames.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNames.m @@ -11,6 +11,7 @@ SDLName const SDLNameACMaxEnable = @"acMaxEnable"; SDLName const SDLNameACMaxEnableAvailable = @"acMaxEnableAvailable"; SDLName const SDLNameAccelerationPedalPosition = @"accPedalPosition"; +SDLName const SDLNameAction = @"action"; SDLName const SDLNameActual = @"actual"; SDLName const SDLNameAddCommand = @"AddCommand"; SDLName const SDLNameAddress = @"address"; @@ -25,7 +26,9 @@ SDLName const SDLNameAlertText3 = @"alertText3"; SDLName const SDLNameAlignment = @"alignment"; SDLName const SDLNameAllowed = @"allowed"; +SDLName const SDLNameAllocatedModules = @"allocatedModules"; SDLName const SDLNameAltitude = @"altitude"; +SDLName const SDLNameAltitudeMeters = @"altitudeMeters"; SDLName const SDLNameAmbientLightSensorStatus = @"ambientLightSensorStatus"; SDLName const SDLNameAmbientLightStatus = @"ambientLightStatus"; SDLName const SDLNameAppBundleId = @"appBundleID"; @@ -35,9 +38,12 @@ SDLName const SDLNameAppName = @"appName"; SDLName const SDLNameAppDisplayName = @"appDisplayName"; SDLName const SDLNameAppVersion = @"appVersion"; +SDLName const SDLNameAudioControlCapabilities = @"audioControlCapabilities"; +SDLName const SDLNameAudioControlData = @"audioControlData"; SDLName const SDLNameAudioPassThruCapabilities = @"audioPassThruCapabilities"; SDLName const SDLNameAudioPassThruDisplayText1 = @"audioPassThruDisplayText1"; SDLName const SDLNameAudioPassThruDisplayText2 = @"audioPassThruDisplayText2"; +SDLName const SDLNameAudioStreamingIndicator = @"audioStreamingIndicator"; SDLName const SDLNameAudioStreamingState = @"audioStreamingState"; SDLName const SDLNameAudioType = @"audioType"; SDLName const SDLNameAutoCompleteText = @"autoCompleteText"; @@ -46,11 +52,17 @@ SDLName const SDLNameAuxECallNotificationStatus = @"auxECallNotificationStatus"; SDLName const SDLNameAvailableHDs = @"availableHDs"; SDLName const SDLNameAvailableHDsAvailable = @"availableHDsAvailable"; +SDLName const SDLNameBackgroundColor = @"backgroundColor"; +SDLName const SDLNameBackTiltAngle = @"backTiltAngle"; +SDLName const SDLNameBackTiltAngleAvailable = @"backTiltAngleAvailable"; +SDLName const SDLNameBackVerticalPosition = @"backVerticalPosition"; +SDLName const SDLNameBackVerticalPositionAvailable = @"backVerticalPositionAvailable"; SDLName const SDLNameBand = @"band"; SDLName const SDLNameBatteryLevelStatus = @"battLevelStatus"; SDLName const SDLNameBeltStatus = @"beltStatus"; SDLName const SDLNameBitsPerSample = @"bitsPerSample"; SDLName const SDLNameBodyInformation = @"bodyInformation"; +SDLName const SDLNameBlue = @"blue"; SDLName const SDLNameBluetoothIconOn = @"btIconOn"; SDLName const SDLNameBulkData = @"bulkData"; SDLName const SDLNameButtonCapabilities = @"buttonCapabilities"; @@ -58,11 +70,18 @@ SDLName const SDLNameButtonName = @"buttonName"; SDLName const SDLNameButtonPress = @"ButtonPress"; SDLName const SDLNameButtonPressMode = @"buttonPressMode"; +SDLName const SDLNameCoolingEnabled = @"coolingEnabled"; +SDLName const SDLNameCoolingEnabledAvailable = @"coolingEnabledAvailable"; +SDLName const SDLNameCoolingLevel = @"coolingLevel"; +SDLName const SDLNameCoolingLevelAvailable = @"coolingLevelAvailable"; SDLName const SDLNameCoordinate = @"c"; SDLName const SDLNameCallActive = @"callActive"; SDLName const SDLNameCarModeStatus = @"carModeStatus"; SDLName const SDLNameCarrier = @"carrier"; SDLName const SDLNameChangeRegistration = @"ChangeRegistration"; +SDLName const SDLNameChannelId = @"channelId"; +SDLName const SDLNameChannelName = @"channelName"; +SDLName const SDLNameChannelSetting = @"channelSetting"; SDLName const SDLNameCharacterSet = @"characterSet"; SDLName const SDLNameChoiceId = @"choiceID"; SDLName const SDLNameChoiceSet = @"choiceSet"; @@ -72,21 +91,25 @@ SDLName const SDLNameClimateControlCapabilities = @"climateControlCapabilities"; SDLName const SDLNameClusterModes = @"clusterModes"; SDLName const SDLNameClusterModeStatus = @"clusterModeStatus"; +SDLName const SDLNameColor = @"color"; SDLName const SDLNameCommandIcon = @"cmdIcon"; SDLName const SDLNameCommandId = @"cmdID"; SDLName const SDLNameCompassDirection = @"compassDirection"; SDLName const SDLNameCorrelationId = @"correlationID"; SDLName const SDLNameCountryCode = @"countryCode"; SDLName const SDLNameCountryName = @"countryName"; +SDLName const SDLNameCRC = @"crc"; SDLName const SDLNameCreateInteractionChoiceSet = @"CreateInteractionChoiceSet"; SDLName const SDLNameClockText = @"CT"; SDLName const SDLNameCurrentTemperature = @"currentTemperature"; +SDLName const SDLNameCushion = @"cushion"; SDLName const SDLNameCustomButtonId = @"customButtonID"; SDLName const SDLNameCustomPresets = @"customPresets"; SDLName const SDLNameData = @"data"; SDLName const SDLNameDataResult = @"dataResult"; SDLName const SDLNameDataType = @"dataType"; SDLName const SDLNameDay = @"day"; +SDLName const SDLNameDayColorScheme = @"dayColorScheme"; SDLName const SDLNameDefrostZone = @"defrostZone"; SDLName const SDLNameDefrostZoneAvailable = @"defrostZoneAvailable"; SDLName const SDLNameDeleteCommand = @"DeleteCommand"; @@ -94,6 +117,8 @@ SDLName const SDLNameDeleteInteractionChoiceSet = @"DeleteInteractionChoiceSet"; SDLName const SDLNameDeleteSubMenu = @"DeleteSubMenu"; SDLName const SDLNameDeliveryMode = @"deliveryMode"; +SDLName const SDLNameDensity = @"density"; +SDLName const SDLNameDensityAvailable = @"densityAvailable"; SDLName const SDLNameDesiredTemperature = @"desiredTemperature"; SDLName const SDLNameDesiredTemperatureAvailable = @"desiredTemperatureAvailable"; SDLName const SDLNameDeviceInfo = @"deviceInfo"; @@ -105,10 +130,14 @@ SDLName const SDLNameDimension = @"dimension"; SDLName const SDLNameDisplayCapabilities = @"displayCapabilities"; SDLName const SDLNameDisplayLayout = @"displayLayout"; +SDLName const SDLNameDisplayMode = @"displayMode"; +SDLName const SDLNameDisplayModeUnitAvailable = @"displayModeUnitAvailable"; SDLName const SDLNameDisplayType = @"displayType"; SDLName const SDLNameDistanceToEmpty = @"distanceToEmpty"; SDLName const SDLNameDistanceToManeuver = @"distanceToManeuver"; SDLName const SDLNameDistanceToManeuverScale = @"distanceToManeuverScale"; +SDLName const SDLNameDistanceUnitAvailable = @"distanceUnitAvailable"; +SDLName const SDLNameDistanceUnit = @"distanceUnit"; SDLName const SDLNameDoublePressAvailable = @"doublePressAvailable"; SDLName const SDLNameDriverAirbagDeployed = @"driverAirbagDeployed"; SDLName const SDLNameDriverBeltDeployed = @"driverBeltDeployed"; @@ -131,27 +160,39 @@ SDLName const SDLNameECallNotificationStatus = @"eCallNotificationStatus"; SDLName const SDLNameECUHeader = @"ecuHeader"; SDLName const SDLNameECUName = @"ecuName"; +SDLName const SDLNameElectronicParkBrakeStatus = @"electronicParkBrakeStatus"; SDLName const SDLNameEmergencyEvent = @"emergencyEvent"; SDLName const SDLNameEmergencyEventType = @"emergencyEventType"; SDLName const SDLNameEncodedSyncPData = @"EncodedSyncPData"; SDLName const SDLNameEndAudioPassThru = @"EndAudioPassThru"; SDLName const SDLNameEndTime = @"endTime"; +SDLName const SDLNameEngineOilLife = @"engineOilLife"; SDLName const SDLNameEngineTorque = @"engineTorque"; +SDLName const SDLNameEqualizerAvailable = @"equalizerAvailable"; +SDLName const SDLNameEqualizerMaxChannelId = @"equalizerMaxChannelId"; +SDLName const SDLNameEqualizerSettings = @"equalizerSettings";; SDLName const SDLNameETA = @"eta"; SDLName const SDLNameEvent = @"event"; SDLName const SDLNameExternalTemperature = @"externalTemperature"; SDLName const SDLNameFanSpeed = @"fanSpeed"; SDLName const SDLNameFanSpeedAvailable = @"fanSpeedAvailable"; +SDLName const SDLNameFCCFacilityId = @"fccFacilityId"; SDLName const SDLNameFilename = @"fileName"; SDLName const SDLNameFilenames = @"filenames"; SDLName const SDLNameFileType = @"fileType"; +SDLName const SDLNameFirmness = @"firmness"; SDLName const SDLNameFirmwareRevision = @"firmwareRev"; +SDLName const SDLNameFreeModules = @"freeModules"; SDLName const SDLNameFrequencyInteger = @"frequencyInteger"; SDLName const SDLNameFrequencyFraction = @"frequencyFraction"; +SDLName const SDLNameFrontVerticalPosition = @"frontVerticalPosition"; +SDLName const SDLNameFrontVerticalPositionAvailable = @"frontVerticalPositionAvailable"; SDLName const SDLNameFuelCutoffStatus = @"fuelCutoffStatus"; SDLName const SDLNameFuelLevel = @"fuelLevel"; SDLName const SDLNameFuelLevelState = @"fuelLevel_State"; SDLName const SDLNameFuelMaintenanceMode = @"fuelMaintenanceMode"; +SDLName const SDLNameFuelRange = @"fuelRange"; +SDLName const SDLNameFullAppID = @"fullAppID"; SDLName const SDLNameGenericResponse = @"GenericResponse"; SDLName const SDLNameGetDTCs = @"GetDTCs"; SDLName const SDLNameGetInteriorVehicleData = @"GetInteriorVehicleData"; @@ -162,6 +203,7 @@ SDLName const SDLNameGPS = @"gps"; SDLName const SDLNameGraphic = @"graphic"; SDLName const SDLNameGraphicSupported = @"graphicSupported"; +SDLName const SDLNameGreen = @"green"; SDLName const SDLNameHapticRectData = @"hapticRectData"; SDLName const SDLNameHapticSpatialDataSupported = @"hapticSpatialDataSupported"; SDLName const SDLNameHardware = @"hardware"; @@ -169,20 +211,43 @@ SDLName const SDLNameHDChannel = @"hdChannel"; SDLName const SDLNameHDChannelAvailable = @"hdChannelAvailable"; SDLName const SDLNameHDOP = @"hdop"; +SDLName const SDLNameHDRadioEnable = @"hdRadioEnable"; +SDLName const SDLNameHDRadioEnableAvailable = @"hdRadioEnableAvailable"; SDLName const SDLNameHeading = @"heading"; SDLName const SDLNameHeadLampStatus = @"headLampStatus"; +SDLName const SDLNameHeadSupportHorizontalPosition = @"headSupportHorizontalPosition"; +SDLName const SDLNameHeadSupportHorizontalPositionAvailable = @"headSupportHorizontalPositionAvailable"; +SDLName const SDLNameHeadSupportVerticalPosition = @"headSupportVerticalPosition"; +SDLName const SDLNameHeadSupportVerticalPositionAvailable = @"headSupportVerticalPositionAvailable"; +SDLName const SDLNameHeatingLevel = @"heatingLevel"; +SDLName const SDLNameHeatingLevelAvailable = @"heatingLevelAvailable"; +SDLName const SDLNameHeatingEnabled = @"heatingEnabled"; +SDLName const SDLNameHeatingEnabledAvailable = @"heatingEnabledAvailable"; +SDLName const SDLNameHeatedSteeringWheelAvailable = @"heatedSteeringWheelAvailable"; +SDLName const SDLNameHeatedWindshieldAvailable = @"heatedWindshieldAvailable"; +SDLName const SDLNameHeatedRearWindowAvailable = @"heatedRearWindowAvailable"; +SDLName const SDLNameHeatedMirrorsAvailable = @"heatedMirrorsAvailable"; +SDLName const SDLNameHeatedSteeringWheelEnable = @"heatedSteeringWheelEnable"; +SDLName const SDLNameHeatedWindshieldEnable = @"heatedWindshieldEnable"; +SDLName const SDLNameHeatedRearWindowEnable = @"heatedRearWindowEnable"; +SDLName const SDLNameHeatedMirrorsEnable = @"heatedMirrorsEnable"; SDLName const SDLNameHeight = @"height"; SDLName const SDLNameHelpPrompt = @"helpPrompt"; SDLName const SDLNameHighBeamsOn = @"highBeamsOn"; +SDLName const SDLNameHMICapabilities = @"hmiCapabilities"; +SDLName const SDLNameHmiSettingsControlData = @"hmiSettingsControlData"; SDLName const SDLNameHMIDisplayLanguage = @"hmiDisplayLanguage"; SDLName const SDLNameHMIDisplayLanguageDesired = @"hmiDisplayLanguageDesired"; SDLName const SDLNameHMILevel = @"hmiLevel"; SDLName const SDLNameHMILevelLowercase = @"hmilevel"; SDLName const SDLNameHMIPermissions = @"hmiPermissions"; -SDLName const SDLNameHMICapabilities = @"hmiCapabilities"; +SDLName const SDLNameHmiSettingsControlCapabilities = @"hmiSettingsControlCapabilities"; SDLName const SDLNameHMIZoneCapabilities = @"hmiZoneCapabilities"; +SDLName const SDLNameHorizontalPosition = @"horizontalPosition"; +SDLName const SDLNameHorizontalPositionAvailable = @"horizontalPositionAvailable"; SDLName const SDLNameHour = @"hour"; SDLName const SDLNameHours = @"hours"; +SDLName const SDLNameIconResumed = @"iconResumed"; SDLName const SDLNameId = @"id"; SDLName const SDLNameIgnitionStableStatus = @"ignitionStableStatus"; SDLName const SDLNameIgnitionStatus = @"ignitionStatus"; @@ -190,6 +255,7 @@ SDLName const SDLNameImageFields = @"imageFields"; SDLName const SDLNameImageResolution = @"imageResolution"; SDLName const SDLNameImageSupported = @"imageSupported"; +SDLName const SDLNameImageTemplate = @"isTemplate"; SDLName const SDLNameImageType = @"imageType"; SDLName const SDLNameImageTypeSupported = @"imageTypeSupported"; SDLName const SDLNameInfo = @"info"; @@ -205,9 +271,12 @@ SDLName const SDLNameIsHighlighted = @"isHighlighted"; SDLName const SDLNameIsMediaApplication = @"isMediaApplication"; SDLName const SDLNameIsSubscribed = @"isSubscribed"; +SDLName const SDLNameKeepContext = @"keepContext"; +SDLName const SDLNameKeepContextAvailable = @"keepContextAvailable"; SDLName const SDLNameKeyboardLayout = @"keyboardLayout"; SDLName const SDLNameKeyboardProperties = @"keyboardProperties"; SDLName const SDLNameKeypressMode = @"keypressMode"; +SDLName const SDLNameLabel = @"label"; SDLName const SDLNameLanguage = @"language"; SDLName const SDLNameLanguageDesired = @"languageDesired"; SDLName const SDLNameLatitudeDegrees = @"latitudeDegrees"; @@ -217,6 +286,9 @@ SDLName const SDLNameLeftRow2BuckleBelted = @"leftRow2BuckleBelted"; SDLName const SDLNameLeftRow3BuckleBelted = @"leftRow3BuckleBelted"; SDLName const SDLNameLength = @"length"; +SDLName const SDLNameLightControlCapabilities = @"lightControlCapabilities"; +SDLName const SDLNameLightControlData = @"lightControlData"; +SDLName const SDLNameLightState = @"lightState"; SDLName const SDLNameLimitedCharacterList = @"limitedCharacterList"; SDLName const SDLNameListFiles = @"ListFiles"; SDLName const SDLNameLocality = @"locality"; @@ -237,6 +309,13 @@ SDLName const SDLNameMake = @"make"; SDLName const SDLNameManeuverComplete = @"maneuverComplete"; SDLName const SDLNameManualTextEntry = @"manualTextEntry"; +SDLName const SDLNameMassageCushionFirmness = @"massageCushionFirmness"; +SDLName const SDLNameMassageCushionFirmnessAvailable = @"massageCushionFirmnessAvailable"; +SDLName const SDLNameMassageEnabled = @"massageEnabled"; +SDLName const SDLNameMassageEnabledAvailable = @"massageEnabledAvailable"; +SDLName const SDLNameMassageMode = @"massageMode"; +SDLName const SDLNameMassageModeAvailable = @"massageModeAvailable"; +SDLName const SDLNameMassageZone = @"massageZone"; SDLName const SDLNameMaxBitrate = @"maxBitrate"; SDLName const SDLNameMaxDuration = @"maxDuration"; SDLName const SDLNameMaximumChangeVelocity = @"maximumChangeVelocity"; @@ -244,6 +323,8 @@ SDLName const SDLNameMediaClock = @"mediaClock"; SDLName const SDLNameMediaClockFormats = @"mediaClockFormats"; SDLName const SDLNameMediaTrack = @"mediaTrack"; +SDLName const SDLNameMemory = @"memory"; +SDLName const SDLNameMemoryAvailable = @"memoryAvailable"; SDLName const SDLNameMenuIcon = @"menuIcon"; SDLName const SDLNameMenuId = @"menuID"; SDLName const SDLNameMenuName = @"menuName"; @@ -280,6 +361,7 @@ SDLName const SDLNameNavigationText2 = @"navigationText2"; SDLName const SDLNameNextTurnIcon = @"nextTurnIcon"; SDLName const SDLNameNGNMediaScreenAppName = @"ngnMediaScreenAppName"; +SDLName const SDLNameNightColorScheme = @"nightColorScheme"; SDLName const SDLNameNotification = @"notification"; SDLName const SDLNameNumber = @"number"; SDLName const SDLNameNumberCustomPresetsAvailable = @"numCustomPresetsAvailable"; @@ -300,6 +382,7 @@ SDLName const SDLNameOnLanguageChange = @"OnLanguageChange"; SDLName const SDLNameOnLockScreenStatus = @"OnLockScreenStatus"; SDLName const SDLNameOnPermissionsChange = @"OnPermissionsChange"; +SDLName const SDLNameOnRCStatus = @"OnRCStatus"; SDLName const SDLNameOnScreenPresetsAvailable = @"onScreenPresetsAvailable"; SDLName const SDLNameOnSyncPData = @"OnSyncPData"; SDLName const SDLNameOnSystemRequest = @"OnSystemRequest"; @@ -333,6 +416,7 @@ SDLName const SDLNamePhoneCapability = @"phoneCapability"; SDLName const SDLNamePhoneNumber = @"phoneNumber"; SDLName const SDLNamePhoneRoaming = @"phoneRoaming"; +SDLName const SDLNamePrimaryColor = @"primaryColor"; SDLName const SDLNameProgramIdentification = @"PI"; SDLName const SDLNamePlayTone = @"playTone"; SDLName const SDLNamePosition = @"position"; @@ -359,20 +443,24 @@ SDLName const SDLNameRadioControlData = @"radioControlData"; SDLName const SDLNameRadioEnable = @"radioEnable"; SDLName const SDLNameRadioEnableAvailable = @"radioEnableAvailable"; +SDLName const SDLNameRange = @"range"; SDLName const SDLNameRDSData = @"rdsData"; SDLName const SDLNameRDSDataAvailable = @"rdsDataAvailable"; SDLName const SDLNameReadDID = @"ReadDID"; SDLName const SDLNameRearLeftDoorAjar = @"rearLeftDoorAjar"; SDLName const SDLNameRearRightDoorAjar = @"rearRightDoorAjar"; SDLName const SDLNameReason = @"reason"; +SDLName const SDLNameRed = @"red"; SDLName const SDLNameRect = @"rect"; SDLName const SDLNameRegion = @"REG"; SDLName const SDLNameRegisterAppInterface = @"RegisterAppInterface"; SDLName const SDLNameRemoteControlCapability = @"remoteControlCapability"; SDLName const SDLNameRequest = @"request"; +SDLName const SDLNameRequestSubType = @"requestSubType"; SDLName const SDLNameRequestType = @"requestType"; SDLName const SDLNameReserved = @"reserved"; SDLName const SDLNameResetGlobalProperties = @"ResetGlobalProperties"; +SDLName const SDLNameSecondaryColor = @"secondaryColor"; SDLName const SDLNameSetInteriorVehicleData = @"SetInteriorVehicleData"; SDLName const SDLNameResolution = @"resolution"; SDLName const SDLNameResolutionHeight = @"resolutionHeight"; @@ -397,6 +485,8 @@ SDLName const SDLNameScrollableMessageBody = @"scrollableMessageBody"; SDLName const SDLNameSDLVersion = @"sdlVersion"; SDLName const SDLNameSearchAddress = @"searchAddress"; +SDLName const SDLNameSeatControlData = @"seatControlData"; +SDLName const SDLNameSeatControlCapabilities = @"seatControlCapabilities"; SDLName const SDLNameSecondaryGraphic = @"secondaryGraphic"; SDLName const SDLNameSecondaryImage = @"secondaryImage"; SDLName const SDLNameSecondaryText = @"secondaryText"; @@ -408,6 +498,7 @@ SDLName const SDLNameSendLocationEnabled = @"sendLocationEnabled"; SDLName const SDLNameSetAppIcon = @"SetAppIcon"; SDLName const SDLNameSetDisplayLayout = @"SetDisplayLayout"; +SDLName const SDLNameDisplayName = @"displayName"; SDLName const SDLNameSetGlobalProperties = @"SetGlobalProperties"; SDLName const SDLNameSetMediaClockTimer = @"SetMediaClockTimer"; SDLName const SDLNameShortPress = @"shortPress"; @@ -419,6 +510,9 @@ SDLName const SDLNameSignalChangeThresholdAvailable = @"signalChangeThresholdAvailable"; SDLName const SDLNameSignalStrength = @"signalStrength"; SDLName const SDLNameSignalStrengthAvailable = @"signalStrengthAvailable"; +SDLName const SDLNameSiriusXMRadioAvailable = @"siriusxmRadioAvailable"; +SDLName const SDLNameSISData = @"sisData"; +SDLName const SDLNameSISDataAvailable = @"sisDataAvailable"; SDLName const SDLNameSlider = @"Slider"; SDLName const SDLNameSliderFooter = @"sliderFooter"; SDLName const SDLNameSliderHeader = @"sliderHeader"; @@ -426,15 +520,24 @@ SDLName const SDLNameSoftButtonCapabilities = @"softButtonCapabilities"; SDLName const SDLNameSoftButtonId = @"softButtonID"; SDLName const SDLNameSoftButtons = @"softButtons"; +SDLName const SDLNameSource = @"source"; +SDLName const SDLNameSourceAvailable = @"sourceAvailable"; SDLName const SDLNameSpaceAvailable = @"spaceAvailable"; SDLName const SDLNameSpeak = @"Speak"; SDLName const SDLNameSpeechCapabilities = @"speechCapabilities"; SDLName const SDLNameSpeed = @"speed"; +SDLName const SDLNameRGBColorSpaceAvailable = @"rgbColorSpaceAvailable"; SDLName const SDLNameStartTime = @"startTime"; SDLName const SDLNameState = @"state"; SDLName const SDLNameStateAvailable = @"stateAvailable"; SDLName const SDLNameStateOfCharge = @"stateOfCharge"; +SDLName const SDLNameStationIDNumber = @"stationIDNumber"; +SDLName const SDLNameStationLongName = @"stationLongName"; +SDLName const SDLNameStationLocation = @"stationLocation"; +SDLName const SDLNameStationMessage = @"stationMessage"; +SDLName const SDLNameStationShortName = @"stationShortName"; SDLName const SDLNameStatus = @"status"; +SDLName const SDLNameStatusAvailable = @"statusAvailable"; SDLName const SDLNameStatusBar = @"statusBar"; SDLName const SDLNameSteeringWheelAngle = @"steeringWheelAngle"; SDLName const SDLNameStereoAudioOutputMuted = @"stereoAudioOutputMuted"; @@ -448,6 +551,7 @@ SDLName const SDLNameSuccess = @"success"; SDLName const SDLNameSupportedDiagnosticModes = @"supportedDiagModes"; SDLName const SDLNameSupportedFormats = @"supportedFormats"; +SDLName const SDLNameSupportedLights = @"supportedLights"; SDLName const SDLNameSyncFileName = @"syncFileName"; SDLName const SDLNameSyncMessageVersion = @"syncMsgVersion"; SDLName const SDLNameSyncPData = @"SyncPData"; @@ -461,6 +565,8 @@ SDLName const SDLNameDialNumber = @"DialNumber"; SDLName const SDLNameTrafficAnnouncementIdentification = @"TA"; SDLName const SDLNameTargetId = @"targetID"; +SDLName const SDLNameTemperatureUnit = @"temperatureUnit"; +SDLName const SDLNameTemperatureUnitAvailable = @"temperatureUnitAvailable"; SDLName const SDLNameTemplatesAvailable = @"templatesAvailable"; SDLName const SDLNameTertiaryText = @"tertiaryText"; SDLName const SDLNameText = @"text"; @@ -476,6 +582,7 @@ SDLName const SDLNameTirePressure = @"tirePressure"; SDLName const SDLNameTotalDistance = @"totalDistance"; SDLName const SDLNameTouchEventAvailable = @"touchEventAvailable"; +SDLName const SDLNameTPMS = @"tpms"; SDLName const SDLNameTrafficProgramIdentification = @"TP"; SDLName const SDLNameTriggerSource = @"triggerSource"; SDLName const SDLNameTrim = @"trim"; @@ -485,6 +592,7 @@ SDLName const SDLNameTTSName = @"ttsName"; SDLName const SDLNameTurnIcon = @"turnIcon"; SDLName const SDLNameTurnList = @"turnList"; +SDLName const SDLNameTurnSignal = @"turnSignal"; SDLName const SDLNameType = @"type"; SDLName const SDLNameUnit = @"unit"; SDLName const SDLNameUnregisterAppInterface = @"UnregisterAppInterface"; @@ -508,14 +616,19 @@ SDLName const SDLNameValue = @"value"; SDLName const SDLNameVDOP = @"vdop"; SDLName const SDLNameVehicleType = @"vehicleType"; +SDLName const SDLNameVerticalPosition = @"verticalPosition"; +SDLName const SDLNameVerticalPositionAvailable = @"verticalPositionAvailable"; SDLName const SDLNameVideoCodec = @"codec"; SDLName const SDLNameVideoProtocol = @"protocol"; SDLName const SDLNameVideoStreaming = @"videoStreaming"; SDLName const SDLNameVideoStreamingCapability = @"videoStreamingCapability"; +SDLName const SDLNameVideoStreamingState = @"videoStreamingState"; SDLName const SDLNameVentilationMode = @"ventilationMode"; SDLName const SDLNameVentilationModeAvailable = @"ventilationModeAvailable"; SDLName const SDLNameVIN = @"vin"; SDLName const SDLNameVoiceRecognitionOn = @"voiceRecOn"; +SDLName const SDLNameVolume = @"volume"; +SDLName const SDLNameVolumeAvailable = @"volumeAvailable"; SDLName const SDLNameVRCapabilities = @"vrCapabilities"; SDLName const SDLNameVRCommands = @"vrCommands"; SDLName const SDLNameVRHelp = @"vrHelp"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNavigationCapability.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNavigationCapability.h index 7879f53..25785aa 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNavigationCapability.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNavigationCapability.h @@ -10,18 +10,23 @@ NS_ASSUME_NONNULL_BEGIN +/** + Extended capabilities for an onboard navigation system + */ @interface SDLNavigationCapability : SDLRPCStruct - (instancetype)initWithSendLocation:(BOOL)sendLocationEnabled waypoints:(BOOL)waypointsEnabled; /** Whether or not the SendLocation RPC is enabled. + Boolean, optional */ @property (nullable, copy, nonatomic) NSNumber *sendLocationEnabled; /** Whether or not Waypoint related RPCs are enabled. + Boolean, optional */ @property (nullable, copy, nonatomic) NSNumber *getWayPointsEnabled; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationConstants.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationConstants.h index be7c0b2..a2a371d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationConstants.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationConstants.h @@ -47,6 +47,33 @@ typedef void (^SDLAudioPassThruHandler)(NSData *__nullable audioData); */ typedef void (^SDLResponseHandler)(__kindof SDLRPCRequest *__nullable request, __kindof SDLRPCResponse *__nullable response, NSError *__nullable error); +/** + A completion handler called after a sequential or simultaneous set of requests have completed sending. + + @param success True if every request succeeded, false if any failed. See the progress handler for more details on failures. + */ +typedef void (^SDLMultipleRequestCompletionHandler)(BOOL success); + +/** + A handler called after each response to a request comes in in a multiple request send. + + @param request The request that received a response + @param response The response received + @param error The error that occurred during the request if any occurred. + @param percentComplete The percentage of requests that have received a response + @return continueSendingRequests NO to cancel any requests that have not yet been sent. This is really only useful for a sequential send (sendSequentialRequests:progressHandler:completionHandler:). Return YES to continue sending requests. + */ +typedef BOOL (^SDLMultipleSequentialRequestProgressHandler)(__kindof SDLRPCRequest *request, __kindof SDLRPCResponse *__nullable response, NSError *__nullable error, float percentComplete); + +/** + A handler called after each response to a request comes in in a multiple request send. + + @param request The request that received a response + @param response The response received + @param error The error that occurred during the request if any occurred. + @param percentComplete The percentage of requests that have received a response + */ +typedef void (^SDLMultipleAsyncRequestProgressHandler)(__kindof SDLRPCRequest *request, __kindof SDLRPCResponse *__nullable response, NSError *__nullable error, float percentComplete); /** A handler that may optionally be run when an SDLSubscribeButton or SDLSoftButton has a corresponding notification occur. @@ -79,6 +106,7 @@ extern SDLNotificationUserInfoKey const SDLNotificationUserInfoObject; #pragma mark - General notifications extern SDLNotificationName const SDLTransportDidDisconnect; extern SDLNotificationName const SDLTransportDidConnect; +extern SDLNotificationName const SDLTransportConnectError; extern SDLNotificationName const SDLDidReceiveError; extern SDLNotificationName const SDLDidReceiveLockScreenIcon; extern SDLNotificationName const SDLDidBecomeReady; @@ -157,6 +185,7 @@ extern SDLNotificationName const SDLDidChangeLockScreenStatusNotification; extern SDLNotificationName const SDLDidReceiveNewHashNotification; extern SDLNotificationName const SDLDidReceiveVehicleIconNotification; extern SDLNotificationName const SDLDidChangePermissionsNotification; +extern SDLNotificationName const SDLDidReceiveRemoteControlStatusNotification; extern SDLNotificationName const SDLDidReceiveSystemRequestNotification; extern SDLNotificationName const SDLDidChangeTurnByTurnStateNotification; extern SDLNotificationName const SDLDidReceiveTouchEventNotification; @@ -165,7 +194,18 @@ extern SDLNotificationName const SDLDidReceiveWaypointNotification; @interface SDLNotificationConstants : NSObject +/** + All of the possible SDL RPC Response notification names + + @return The names + */ + (NSArray *)allResponseNames; + +/** + All of the possible SDL Button event notification names + + @return The names + */ + (NSArray *)allButtonEventNotifications; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationConstants.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationConstants.m index 8645242..35f12b4 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationConstants.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationConstants.m @@ -16,6 +16,7 @@ #pragma mark - General notifications SDLNotificationName const SDLTransportDidDisconnect = @"com.sdl.transport.disconnect"; SDLNotificationName const SDLTransportDidConnect = @"com.sdl.transport.connect"; +SDLNotificationName const SDLTransportConnectError = @"com.sdl.transport.connectError"; SDLNotificationName const SDLDidReceiveError = @"com.sdl.general.error"; SDLNotificationName const SDLDidReceiveLockScreenIcon = @"com.sdl.general.lockscreenIconReceived"; SDLNotificationName const SDLDidBecomeReady = @"com.sdl.notification.managerReady"; @@ -89,6 +90,7 @@ SDLNotificationName const SDLDidReceiveNewHashNotification = @"com.sdl.notification.newHash"; SDLNotificationName const SDLDidChangePermissionsNotification = @"com.sdl.notification.changePermission"; SDLNotificationName const SDLDidReceiveSystemRequestNotification = @"com.sdl.notification.receiveSystemRequest"; +SDLNotificationName const SDLDidReceiveRemoteControlStatusNotification = @"com.sdl.notification.rcStatus"; SDLNotificationName const SDLDidChangeTurnByTurnStateNotification = @"com.sdl.notification.changeTurnByTurnState"; SDLNotificationName const SDLDidReceiveTouchEventNotification = @"com.sdl.notification.touchEvent"; SDLNotificationName const SDLDidReceiveVehicleDataNotification = @"com.sdl.notification.vehicleData"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationDispatcher.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationDispatcher.m index a28befb..f2a4b69 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationDispatcher.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLNotificationDispatcher.m @@ -59,6 +59,10 @@ - (void)onProxyClosed { [self postNotificationName:SDLTransportDidDisconnect infoObject:nil]; } +- (void)onTransportError:(NSError *)error { + [self postNotificationName:SDLTransportConnectError infoObject:error]; +} + #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wincompatible-pointer-types" @@ -325,6 +329,10 @@ - (void)onOnPermissionsChange:(SDLOnPermissionsChange *)notification { [self postRPCNotificationNotification:SDLDidChangePermissionsNotification notification:notification]; } +- (void)onOnRCStatus:(SDLOnRCStatus *)notification { + [self postRPCNotificationNotification:SDLDidReceiveRemoteControlStatusNotification notification:notification]; +} + - (void)onOnSyncPData:(SDLOnSyncPData *)notification { [self postRPCNotificationNotification:SDLDidReceiveSystemRequestNotification notification:notification]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOasisAddress.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOasisAddress.h index d2a4632..60edbb3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOasisAddress.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOasisAddress.h @@ -5,6 +5,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + Struct used in SendLocation describing an address + */ @interface SDLOasisAddress : SDLRPCStruct - (instancetype)initWithSubThoroughfare:(nullable NSString *)subThoroughfare thoroughfare:(nullable NSString *)thoroughfare locality:(nullable NSString *)locality administrativeArea:(nullable NSString *)administrativeArea postalCode:(nullable NSString *)postalCode countryCode:(nullable NSString *)countryCode; @@ -12,63 +15,63 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithSubThoroughfare:(nullable NSString *)subThoroughfare thoroughfare:(nullable NSString *)thoroughfare locality:(nullable NSString *)locality administrativeArea:(nullable NSString *)administrativeArea postalCode:(nullable NSString *)postalCode countryCode:(nullable NSString *)countryCode countryName:(nullable NSString *)countryName subAdministrativeArea:(nullable NSString *)subAdministrativeArea subLocality:(nullable NSString *)subLocality; /** - * @abstract Name of the country (localized) + * Name of the country (localized) * * Optional, max length = 200 */ @property (nullable, copy, nonatomic) NSString *countryName; /** - * @abstract countryCode of the country(ISO 3166-2) + * countryCode of the country(ISO 3166-2) * * Optional, max length = 200 */ @property (nullable, copy, nonatomic) NSString *countryCode; /** - * @abstract postalCode of location (PLZ, ZIP, PIN, CAP etc.) + * postalCode of location (PLZ, ZIP, PIN, CAP etc.) * * Optional, max length = 200 */ @property (nullable, copy, nonatomic) NSString *postalCode; /** - * @abstract Portion of country (e.g. state) + * Portion of country (e.g. state) * * Optional, max length = 200 */ @property (nullable, copy, nonatomic) NSString *administrativeArea; /** - * @abstract Portion of administrativeArea (e.g. county) + * Portion of administrativeArea (e.g. county) * * Optional, max length = 200 */ @property (nullable, copy, nonatomic) NSString *subAdministrativeArea; /** - * @abstract Hypernym for city/village + * Hypernym for city/village * * Optional, max length = 200 */ @property (nullable, copy, nonatomic) NSString *locality; /** - * @abstract Hypernym for district + * Hypernym for district * * Optional, max length = 200 */ @property (nullable, copy, nonatomic) NSString *subLocality; /** - * @abstract Hypernym for street, road etc. + * Hypernym for street, road etc. * * Optional, max length = 200 */ @property (nullable, copy, nonatomic) NSString *thoroughfare; /** - * @abstract Portion of thoroughfare (e.g. house number) + * Portion of thoroughfare (e.g. house number) * * Optional, max length = 200 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h index 7e18b85..c24381c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnAppInterfaceUnregistered.h @@ -20,7 +20,7 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnAppInterfaceUnregistered : SDLRPCNotification /** - * @abstract The reason application's interface was terminated + * The reason application's interface was terminated */ @property (strong, nonatomic) SDLAppInterfaceUnregisteredReason reason; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnAudioPassThru.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnAudioPassThru.h index 4fc9d9e..13b2448 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnAudioPassThru.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnAudioPassThru.h @@ -4,28 +4,15 @@ #import "SDLRPCNotification.h" +NS_ASSUME_NONNULL_BEGIN + /** * Binary data is in binary part of hybrid msg. * - * HMI Status Requirements: - *
      - * HMILevel: - *
        - *
      • BACKGROUND, FULL, LIMITED
      • - *
      - * AudioStreamingState: - *
        - *
      • TBD
      • - *
      - * SystemContext: - *
        - *
      • TBD
      • - *
      - *
    + * HMILevel must be: + * + * * BACKGROUND, FULL, LIMITED */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLOnAudioPassThru : SDLRPCNotification @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnButtonEvent.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnButtonEvent.h index f4b65d9..25f18d7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnButtonEvent.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnButtonEvent.h @@ -7,41 +7,35 @@ #import "SDLButtonEventMode.h" /** - * Notifies application that user has depressed or released a button to which - * the application has subscribed. - * - * Further information about button events - * and button-presses can be found at SDLSubscribeButton. - *

    - *

    - * HMI Status Requirements: - *
      - * HMILevel: - *
        - *
      • The application will receive SDLOnButtonEvent notifications for all - * subscribed buttons when HMILevel is FULL.
      • - *
      • The application will receive SDLOnButtonEvent notifications for subscribed - * media buttons when HMILevel is LIMITED.
      • - *
      • Media buttons include SEEKLEFT, SEEKRIGHT, TUNEUP, TUNEDOWN, and - * PRESET_0-PRESET_9.
      • - *
      • The application will not receive SDLOnButtonEvent notification when HMILevel - * is BACKGROUND.
      • - *
      - * AudioStreamingState: - *
        - *
      • Any
      • - *
      - * SystemContext: - *
        - *
      • MAIN, VR. In MENU, only PRESET buttons. In VR, pressing any subscribable - * button will cancel VR.
      • - *
      - *
    - *

    - * - * @see SDLSubscribeButton - * - * @since SDL 1.0 + Notifies application that user has depressed or released a button to which + the application has subscribed. + + Further information about button events and button-presses can be found at SDLSubscribeButton. + + HMI Status Requirements: + + HMILevel: + + * The application will receive SDLOnButtonEvent notifications for all subscribed buttons when HMILevel is FULL. + + * The application will receive SDLOnButtonEvent notifications for subscribed media buttons when HMILevel is LIMITED. + + * Media buttons include SEEKLEFT, SEEKRIGHT, TUNEUP, TUNEDOWN, and PRESET_0-PRESET_9. + + * The application will not receive SDLOnButtonEvent notification when HMILevel is BACKGROUND. + + AudioStreamingState: + * Any + + SystemContext: + + * MAIN, VR. In MENU, only PRESET buttons. + + * In VR, pressing any subscribable button will cancel VR. + + @see SDLSubscribeButton + + @since SDL 1.0 */ NS_ASSUME_NONNULL_BEGIN @@ -49,17 +43,17 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnButtonEvent : SDLRPCNotification /** - * @abstract The name of the button + * The name of the button */ @property (strong, nonatomic) SDLButtonName buttonName; /** - * @abstract Indicates whether this is an UP or DOWN event + * Indicates whether this is an UP or DOWN event */ @property (strong, nonatomic) SDLButtonEventMode buttonEventMode; /** - * @abstract If ButtonName is "CUSTOM_BUTTON", this references the integer ID passed by a custom button. (e.g. softButton ID) + * If ButtonName is "CUSTOM_BUTTON", this references the integer ID passed by a custom button. (e.g. softButton ID) * * @since SDL 2.0 * diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnButtonPress.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnButtonPress.h index 1c83811..1a2668e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnButtonPress.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnButtonPress.h @@ -7,46 +7,27 @@ #import "SDLButtonPressMode.h" /** - * Notifies application of button press events for buttons to which the - * application is subscribed. SDL supports two button press events defined as - * follows: - * - *

      - *
    • SHORT - Occurs when a button is depressed, then released within two - * seconds. The event is considered to occur immediately after the button is - * released.
    • - *
    • LONG - Occurs when a button is depressed and held for two seconds or - * more. The event is considered to occur immediately after the two second - * threshold has been crossed, before the button is released
    • - *
    - * HMI Status Requirements: - *
      - * HMILevel: - *
        - *
      • The application will receive OnButtonPress notifications for all - * subscribed buttons when HMILevel is FULL.
      • - *
      • The application will receive OnButtonPress notifications for subscribed - * media buttons when HMILevel is LIMITED.
      • - *
      • Media buttons include SEEKLEFT, SEEKRIGHT, TUNEUP, TUNEDOWN, and - * PRESET_0-PRESET_9.
      • - *
      • The application will not receive OnButtonPress notification when HMILevel - * is BACKGROUND or NONE.
      • - *
      - * AudioStreamingState: - *
        - *
      • Any
      • - *
      - * SystemContext: - *
        - *
      • MAIN, VR. In MENU, only PRESET buttons. In VR, pressing any subscribable - * button will cancel VR.
      • - *
      - *
    - * - * @see SDLSubscribeButton - * @see SDLUnsubscribeButton - * - * @since SDL 1.0 + Notifies application of button press events for buttons to which the application is subscribed. SDL supports two button press events defined as follows: + + SHORT - Occurs when a button is depressed, then released within two seconds. The event is considered to occur immediately after the button is released. + + LONG - Occurs when a button is depressed and held for two seconds or more. The event is considered to occur immediately after the two second threshold has been crossed, before the button is released. + + HMI Status Requirements: + + HMILevel: + + The application will receive OnButtonPress notifications for all subscribed buttons when HMILevel is FULL. + + The application will receive OnButtonPress notifications for subscribed media buttons when HMILevel is LIMITED. Media buttons include SEEKLEFT, SEEKRIGHT, TUNEUP, TUNEDOWN, and PRESET_0-PRESET_9. + + The application will not receive OnButtonPress notification when HMILevel is BACKGROUND or NONE. + + AudioStreamingState: Any + + SystemContext: MAIN, VR. In MENU, only PRESET buttons. In VR, pressing any subscribable button will cancel VR. + + @since SDL 1.0 */ NS_ASSUME_NONNULL_BEGIN @@ -54,25 +35,21 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnButtonPress : SDLRPCNotification /** - * @abstract the button's name - * - * @see SDLButtonName + * The button's name * * Required */ @property (strong, nonatomic) SDLButtonName buttonName; /** - * @abstract Indicates whether this is a LONG or SHORT button press event - * - * @see SDLButtonPressMode + * Indicates whether this is a LONG or SHORT button press event * * Required */ @property (strong, nonatomic) SDLButtonPressMode buttonPressMode; /** - * @abstract If ButtonName is "CUSTOM_BUTTON", this references the integer ID passed by a custom button. (e.g. softButton ID) + * If ButtonName is "CUSTOM_BUTTON", this references the integer ID passed by a custom button. (e.g. softButton ID) * * @since SDL 2.0 * diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnCommand.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnCommand.h index 0b685a4..7fff804 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnCommand.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnCommand.h @@ -6,13 +6,12 @@ #import "SDLTriggerSource.h" /** - * This is called when a command was selected via VR after pressing the PTT button, or selected from the menu after - * pressing the MENU button. - * - * Note: The sequence of *SDLOnHMIStatus* and *SDLOnCommand* notifications for user-initiated interactions is indeterminate. - * - * @since SDL 1.0 - * @see SDLAddCommand SDLDeleteCommand SDLDeleteSubMenu + This is called when a command was selected via VR after pressing the PTT button, or selected from the menu after pressing the MENU button. + + Note: The sequence of *SDLOnHMIStatus* and *SDLOnCommand* notifications for user-initiated interactions is indeterminate. + + @since SDL 1.0 + @see SDLAddCommand SDLDeleteCommand SDLDeleteSubMenu */ NS_ASSUME_NONNULL_BEGIN @@ -20,12 +19,12 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnCommand : SDLRPCNotification /** - * @abstract The command ID of the command the user selected. This is the command ID value provided by the application in the SDLAddCommand operation that created the command. + The command ID of the command the user selected. This is the command ID value provided by the application in the SDLAddCommand operation that created the command. */ @property (strong, nonatomic) NSNumber *cmdID; /** - * @abstract Indicates whether command was selected via voice or via a menu selection (using the OK button). + Indicates whether command was selected via voice or via a menu selection (using the OK button). */ @property (strong, nonatomic) SDLTriggerSource triggerSource; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnDriverDistraction.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnDriverDistraction.h index 7a0b4e1..d7f3693 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnDriverDistraction.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnDriverDistraction.h @@ -6,21 +6,17 @@ #import "SDLDriverDistractionState.h" /** - * Notifies the application of the current driver distraction state (whether driver distraction rules are in effect, or - * not). - * - * HMI Status Requirements: - * - *
      - * HMILevel: - *
      • Can be sent with FULL, LIMITED or BACKGROUND
      - * AudioStreamingState: - *
      • Any
      - * SystemContext: - *
      • Any
      - *
    - * - * @since SDL 1.0 + Notifies the application of the current driver distraction state (whether driver distraction rules are in effect, or not). + + HMI Status Requirements: + + HMILevel: Can be sent with FULL, LIMITED or BACKGROUND + + AudioStreamingState: Any + + SystemContext: Any + + @since SDL 1.0 */ NS_ASSUME_NONNULL_BEGIN @@ -28,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnDriverDistraction : SDLRPCNotification /** - * @abstract The driver distraction state (i.e. whether driver distraction rules are in effect, or not) + The driver distraction state (i.e. whether driver distraction rules are in effect, or not) */ @property (strong, nonatomic) SDLDriverDistractionState state; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnEncodedSyncPData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnEncodedSyncPData.h index 4694cf7..01aa48b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnEncodedSyncPData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnEncodedSyncPData.h @@ -5,10 +5,24 @@ NS_ASSUME_NONNULL_BEGIN +/** + Callback including encoded data of any SyncP packets that SYNC needs to send back to the mobile device. Legacy / v1 Protocol implementation; responds to EncodedSyncPData. *** DEPRECATED *** + */ @interface SDLOnEncodedSyncPData : SDLRPCNotification +/** + Contains base64 encoded string of SyncP packets. + */ @property (strong, nonatomic) NSArray *data; + +/** + If blank, the SyncP data shall be forwarded to the app. If not blank, the SyncP data shall be forwarded to the provided URL. + */ @property (nullable, strong, nonatomic) NSString *URL; + +/** + If blank, the SyncP data shall be forwarded to the app. If not blank, the SyncP data shall be forwarded with the provided timeout in seconds. + */ @property (nullable, strong, nonatomic) NSNumber *Timeout; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHMIStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHMIStatus.h index 10ae219..069f778 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHMIStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHMIStatus.h @@ -6,21 +6,16 @@ #import "SDLAudioStreamingState.h" #import "SDLHMILevel.h" #import "SDLSystemContext.h" +#import "SDLVideoStreamingState.h" /** - * Notifies an application that HMI conditions have changed for the application. This indicates whether the application - * can speak phrases, display text, perform interactions, receive button presses and events, stream audio, etc. This - * notification will be sent to the application when there has been a change in any one or several of the indicated - * states (SDLHMILevel, SDLAudioStreamingState or SDLSystemContext) for the application. - * - * All three values are, in principle, independent of each other (though there may be some relationships). A value for - * one parameter should not be interpreted from the value of another parameter. - * - * There are no guarantees about the timeliness or latency of the SDLOnHMIStatus notification. Therefore, for example, - * information such as SDLAudioStreamingState may not indicate that the audio stream became inaudible to the user - * exactly when the SDLOnHMIStatus notification was received. - * - * @since SDL 1.0 + * Notifies an application that HMI conditions have changed for the application. This indicates whether the application can speak phrases, display text, perform interactions, receive button presses and events, stream audio, etc. This notification will be sent to the application when there has been a change in any one or several of the indicated states (SDLHMILevel, SDLAudioStreamingState or SDLSystemContext) for the application. + + All three values are, in principle, independent of each other (though there may be some relationships). A value for one parameter should not be interpreted from the value of another parameter. + + There are no guarantees about the timeliness or latency of the SDLOnHMIStatus notification. Therefore, for example, information such as SDLAudioStreamingState may not indicate that the audio stream became inaudible to the user exactly when the SDLOnHMIStatus notification was received. + + @since SDL 1.0 */ NS_ASSUME_NONNULL_BEGIN @@ -28,20 +23,24 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnHMIStatus : SDLRPCNotification /** - * @abstract SDLHMILevel in effect for the application + SDLHMILevel in effect for the application */ @property (strong, nonatomic) SDLHMILevel hmiLevel; /** - * @abstract Current state of audio streaming for the application. When this parameter has a value of NOT_AUDIBLE, the application must stop streaming audio to SDL. - * - * Informs app whether any currently streaming audio is audible to user (AUDIBLE) or not (NOT_AUDIBLE). A value of NOT_AUDIBLE means that either the application's audio will not be audible to the user, or that the application's audio should not be audible to the user (i.e. some other application on the mobile device may be streaming audio and the application's audio would be blended with that other audio). + Current state of audio streaming for the application. When this parameter has a value of NOT_AUDIBLE, the application must stop streaming audio to SDL. + + Informs app whether any currently streaming audio is audible to user (AUDIBLE) or not (NOT_AUDIBLE). A value of NOT_AUDIBLE means that either the application's audio will not be audible to the user, or that the application's audio should not be audible to the user (i.e. some other application on the mobile device may be streaming audio and the application's audio would be blended with that other audio). */ @property (strong, nonatomic) SDLAudioStreamingState audioStreamingState; /** - * @abstract the System Context - * @discussion whether a user-initiated interaction is in-progress (VRSESSION or MENU), or not (MAIN) + Current availablility of video streaming for the application. When this parameter is NOT_STREAMABLE, the application must stop video streaming to SDL. + */ +@property (strong, nonatomic, nullable) SDLVideoStreamingState videoStreamingState; + +/** + Whether a user-initiated interaction is in-progress (VRSESSION or MENU), or not (MAIN) */ @property (strong, nonatomic) SDLSystemContext systemContext; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHMIStatus.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHMIStatus.m index 6240ec9..b345856 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHMIStatus.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHMIStatus.m @@ -37,6 +37,14 @@ - (SDLAudioStreamingState)audioStreamingState { return (SDLAudioStreamingState)obj; } +- (void)setVideoStreamingState:(nullable SDLVideoStreamingState)videoStreamingState { + [parameters sdl_setObject:videoStreamingState forName:SDLNameVideoStreamingState]; +} + +- (nullable SDLVideoStreamingState)videoStreamingState { + return [parameters sdl_objectForName:SDLNameVideoStreamingState]; +} + - (void)setSystemContext:(SDLSystemContext)systemContext { [parameters sdl_setObject:systemContext forName:SDLNameSystemContext]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHashChange.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHashChange.h index 59dd0f0..f2b9cbb 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHashChange.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnHashChange.h @@ -6,8 +6,14 @@ NS_ASSUME_NONNULL_BEGIN +/** + Notification containing an updated hashID which can be used over connection cycles (i.e. loss of connection, ignition cycles, etc.). Sent after initial registration and subsequently after any change in the calculated hash of all persisted app data. + */ @interface SDLOnHashChange : SDLRPCNotification +/** + Calculated hash ID to be referenced during RegisterAppInterface request. + */ @property (strong, nonatomic) NSString *hashID; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnInteriorVehicleData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnInteriorVehicleData.h index 196690d..e54ad91 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnInteriorVehicleData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnInteriorVehicleData.h @@ -7,8 +7,16 @@ NS_ASSUME_NONNULL_BEGIN +/** + Notifications when subscribed vehicle data changes. + + See: SDLSubscribeVehicleData + */ @interface SDLOnInteriorVehicleData : SDLRPCNotification +/** + The subscribed module data that changed + */ @property (strong, nonatomic) SDLModuleData *moduleData; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnKeyboardInput.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnKeyboardInput.h index 38c4989..2090fb8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnKeyboardInput.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnKeyboardInput.h @@ -7,9 +7,19 @@ NS_ASSUME_NONNULL_BEGIN +/** + Sent when a keyboard presented by a PerformInteraction has a keyboard input. + */ @interface SDLOnKeyboardInput : SDLRPCNotification +/** + The type of keyboard input + */ @property (strong, nonatomic) SDLKeyboardEvent event; + +/** + The current keyboard string input from the user + */ @property (nullable, strong, nonatomic) NSString *data; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnLanguageChange.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnLanguageChange.h index 4937c70..103532a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnLanguageChange.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnLanguageChange.h @@ -17,12 +17,12 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnLanguageChange : SDLRPCNotification /** - * @abstract Current SDL voice engine (VR+TTS) language + Current SDL voice engine (VR+TTS) language */ @property (strong, nonatomic) SDLLanguage language; /** - * @abstract Current display language + Current display language */ @property (strong, nonatomic) SDLLanguage hmiDisplayLanguage; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnLockScreenStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnLockScreenStatus.h index 830cd22..255c0d7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnLockScreenStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnLockScreenStatus.h @@ -10,12 +10,15 @@ /** - * 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. - * - * This lockscreen must perform the following: - * Limit all application control usability from the mobile device with a full-screen static image overlay or separate view. - * For simplicity, the OnLockScreenStatus RPC will be provided via the onOnLockScreenNotification call back. The call back will include the LockScreenStatus enum which indicates if the lockscreen is required, optional or not required. - * The call back also includes details regarding the current HMI_Status level, driver distraction status and user selection status of the application. + 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. + + This lockscreen must perform the following: + + Limit all application control usability from the mobile device with a full-screen static image overlay or separate view. + + For simplicity, the `OnLockScreenStatus` RPC will be provided via the `onOnLockScreenNotification` call back. The call back will include the LockScreenStatus enum which indicates if the lockscreen is required, optional or not required. + + The call back also includes details regarding the current HMI_Status level, driver distraction status and user selection status of the application. */ NS_ASSUME_NONNULL_BEGIN @@ -23,24 +26,23 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnLockScreenStatus : SDLRPCNotification /** - *

    Get the current driver distraction status(i.e. whether driver distraction rules are in effect, or not)

    - * @return String + Get the current driver distraction status(i.e. whether driver distraction rules are in effect, or not) */ @property (strong, nonatomic) NSNumber *driverDistractionStatus; + /** - *

    Get user selection status for the application (has the app been selected via hmi or voice command)

    - * @return Boolean the current user selection status + Get user selection status for the application (has the app been selected via hmi or voice command) */ @property (strong, nonatomic) NSNumber *userSelected; + /** - *

    Get the {@linkplain LockScreenStatus} enumeration, indicating if the lockscreen should be required, optional or off

    - * @return {@linkplain LockScreenStatus} + Indicates if the lockscreen should be required, optional or off */ @property (strong, nonatomic) SDLLockScreenStatus lockScreenStatus; + /** - *

    Get HMILevel in effect for the application

    - * @return {@linkplain HMILevel} the current HMI Level in effect for the application + Get HMILevel in effect for the application */ @property (strong, nonatomic) SDLHMILevel hmiLevel; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnPermissionsChange.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnPermissionsChange.h index 007a5e7..60fb932 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnPermissionsChange.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnPermissionsChange.h @@ -16,11 +16,9 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnPermissionsChange : SDLRPCNotification /** - * @abstract Describes change in permissions for a given set of RPCs - * - * Required, Array of SDLPermissionItem, Array size 0 - 500 - * - * @see SDLPermissionItem + Describes change in permissions for a given set of RPCs + + Required, Array of SDLPermissionItem, Array size 0 - 500 */ @property (strong, nonatomic) NSArray *permissionItem; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnRCStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnRCStatus.h new file mode 100644 index 0000000..9c3d73c --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnRCStatus.h @@ -0,0 +1,49 @@ +// SDLOnRCStatus.h +// + +#import "SDLRPCNotification.h" + +@class SDLModuleData; + +/** + * OnRCStatus notifications to all registered mobile applications and the HMI whenever + * (1) SDL allocates a module to an application or + * (2) it de-allocates a module from an application, or + * (3) an application registers with SDL + * + */ + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLOnRCStatus : SDLRPCNotification + +/** + * @abstract Contains a list (zero or more) of module types that + * are allocated to the application. + * + * Required, Array of SDLModuleData, Array size 0 - 100 + * + * @see SDLPermissionItem + */ +@property (strong, nonatomic) NSArray *allocatedModules; + +/** + * @abstract Contains a list (zero or more) of module types that are free to access for the application. + * + * Required, Array of SDLModuleData, Array size 0 - 100 + * + * @see SDLPermissionItem + */ +@property (strong, nonatomic) NSArray *freeModules; + +/** + * Issued by SDL to notify the application about remote control status change on SDL + * If "true" - RC is allowed; if "false" - RC is disallowed. + * + * optional, Boolean, default Value = false + */ +@property (nullable, strong, nonatomic) NSNumber *allowed; + +NS_ASSUME_NONNULL_END + +@end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnRCStatus.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnRCStatus.m new file mode 100644 index 0000000..eeae250 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnRCStatus.m @@ -0,0 +1,47 @@ +// SDLOnRCStatus.m +// + +#import "SDLOnRCStatus.h" + +#import "NSMutableDictionary+Store.h" +#import "SDLModuleData.h" +#import "SDLNames.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLOnRCStatus + +- (instancetype)init { + if (self = [super initWithName:SDLNameOnRCStatus]) { + } + return self; +} + +- (nullable NSNumber *)allowed { + return [parameters sdl_objectForName:SDLNameAllowed]; +} + +- (void)setAllowed:(nullable NSNumber *)allowed { + [parameters sdl_setObject:allowed forName:SDLNameAllowed]; +} + +- (void)setAllocatedModules:(NSArray *)allocatedModules { + [parameters sdl_setObject:allocatedModules forName:SDLNameAllocatedModules]; + +} + +- (NSArray *)allocatedModules { + return [parameters sdl_objectsForName:SDLNameAllocatedModules ofClass:SDLModuleData.class]; +} + +- (void)setFreeModules:(NSArray *)freeModules { + [parameters sdl_setObject:freeModules forName:SDLNameFreeModules]; +} + +- (NSArray *)freeModules { + return [parameters sdl_objectsForName:SDLNameFreeModules ofClass:SDLModuleData.class]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSyncPData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSyncPData.h index cf2e1af..247e27f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSyncPData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSyncPData.h @@ -6,6 +6,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + DEPRECATED + */ @interface SDLOnSyncPData : SDLRPCNotification @property (nullable, strong, nonatomic) NSString *URL; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSystemRequest.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSystemRequest.h index 236cde2..c4a540f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSystemRequest.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSystemRequest.h @@ -8,13 +8,46 @@ NS_ASSUME_NONNULL_BEGIN +/** + An asynchronous request from the system for specific data from the device or the cloud or response to a request from the device or cloud Binary data can be included in hybrid part of message for some requests (such as Authentication request responses) + */ @interface SDLOnSystemRequest : SDLRPCNotification +/** + The type of system request. + */ @property (strong, nonatomic) SDLRequestType requestType; + +/** + A request subType used when the `requestType` is `OEM_SPECIFIC`. + + Optional, Max length 255 + */ +@property (strong, nonatomic, nullable) NSString *requestSubType; + +/** + Optional URL for HTTP requests. If blank, the binary data shall be forwarded to the app. If not blank, the binary data shall be forwarded to the url with a provided timeout in seconds. + */ @property (nullable, strong, nonatomic) NSString *url; + +/** + Optional timeout for HTTP requests Required if a URL is provided + */ @property (nullable, strong, nonatomic) NSNumber *timeout; + +/** + Optional file type (meant for HTTP file requests). + */ @property (nullable, strong, nonatomic) SDLFileType fileType; + +/** + Optional offset in bytes for resuming partial data chunks + */ @property (nullable, strong, nonatomic) NSNumber *offset; + +/** + Optional length in bytes for resuming partial data chunks + */ @property (nullable, strong, nonatomic) NSNumber *length; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSystemRequest.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSystemRequest.m index 30e58a1..aecd16a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSystemRequest.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnSystemRequest.m @@ -24,6 +24,14 @@ - (SDLRequestType)requestType { return [parameters sdl_objectForName:SDLNameRequestType]; } +- (void)setRequestSubType:(nullable NSString *)requestSubType { + [parameters sdl_setObject:requestSubType forName:SDLNameRequestSubType]; +} + +- (nullable NSString *)requestSubType { + return [parameters sdl_objectForName:SDLNameRequestSubType]; +} + - (void)setUrl:(nullable NSString *)url { [parameters sdl_setObject:url forName:SDLNameURL]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnTBTClientState.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnTBTClientState.h index 33e9c37..9d5d2d1 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnTBTClientState.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnTBTClientState.h @@ -7,8 +7,14 @@ NS_ASSUME_NONNULL_BEGIN +/** + Provides applications with notifications specific to the current TBT client status on the module + */ @interface SDLOnTBTClientState : SDLRPCNotification +/** + Current State of TBT client + */ @property (strong, nonatomic) SDLTBTState state; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnTouchEvent.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnTouchEvent.h index f9fa919..2e0f299 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnTouchEvent.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnTouchEvent.h @@ -9,9 +9,19 @@ NS_ASSUME_NONNULL_BEGIN +/** + Notifies about touch events on the screen's prescribed area during video streaming + */ @interface SDLOnTouchEvent : SDLRPCNotification +/** + The type of touch event. + */ @property (strong, nonatomic) SDLTouchType type; + +/** + List of all individual touches involved in this event. + */ @property (strong, nonatomic) NSArray *event; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnVehicleData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnVehicleData.h index 6a8c4af..f4449c0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnVehicleData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnVehicleData.h @@ -4,7 +4,9 @@ #import "SDLRPCNotification.h" #import "SDLComponentVolumeStatus.h" +#import "SDLElectronicParkBrakeStatus.h" #import "SDLPRNDL.h" +#import "SDLTurnSignal.h" #import "SDLVehicleDataEventStatus.h" #import "SDLWiperStatus.h" @@ -15,6 +17,7 @@ @class SDLDeviceStatus; @class SDLECallInfo; @class SDLEmergencyEvent; +@class SDLFuelRange; @class SDLGPSData; @class SDLHeadLampStatus; @class SDLMyKey; @@ -22,9 +25,9 @@ /** - * Request vehicle data. - * - * Since SmartDeviceLink 2.0 + Callback for the periodic and non periodic vehicle data read function. + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN @@ -32,110 +35,151 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLOnVehicleData : SDLRPCNotification /** - * @abstract A SDLGPSData* value. See GPSData. + The car current GPS coordinates */ @property (nullable, strong, nonatomic) SDLGPSData *gps; /** - * @abstract The vehicle speed in kilometers per hour. + The vehicle speed in kilometers per hour */ @property (nullable, strong, nonatomic) NSNumber *speed; /** - * @abstract The number of revolutions per minute of the engine. + The number of revolutions per minute of the engine. */ @property (nullable, strong, nonatomic) NSNumber *rpm; /** - * @abstract The fuel level in the tank (percentage) + The fuel level in the tank (percentage) */ @property (nullable, strong, nonatomic) NSNumber *fuelLevel; /** - * @abstract A SDLComponentVolumeStatus* value. The fuel level state. + The fuel level state */ @property (nullable, strong, nonatomic) SDLComponentVolumeStatus fuelLevel_State; /** - * @abstract The instantaneous fuel consumption in microlitres. + The estimate range in KM the vehicle can travel based on fuel level and consumption + + Optional, Array of length 0 - 100, of SDLFuelRange + */ +@property (nullable, strong, nonatomic) NSArray *fuelRange; + +/** + The instantaneous fuel consumption in microlitres */ @property (nullable, strong, nonatomic) NSNumber *instantFuelConsumption; /** - * @abstract The external temperature in degrees celsius. + The external temperature in degrees celsius. */ @property (nullable, strong, nonatomic) NSNumber *externalTemperature; /** - * @abstract The Vehicle Identification Number + The Vehicle Identification Number */ @property (nullable, strong, nonatomic) NSString *vin; /** - * @abstract See PRNDL. + The current gear shift state of the user's vehicle */ @property (nullable, strong, nonatomic) SDLPRNDL prndl; /** - * @abstract A SDLTireStatus* value. See TireStatus. + The current pressure warnings for the user's vehicle */ @property (nullable, strong, nonatomic) SDLTireStatus *tirePressure; /** - * @abstract Odometer reading in km. + Odometer reading in km */ @property (nullable, strong, nonatomic) NSNumber *odometer; /** - * @abstract A SDLBeltStatus* value. The status of the seat belts. + The status of the seat belts */ @property (nullable, strong, nonatomic) SDLBeltStatus *beltStatus; /** - * @abstract A SDLBodyInformation* value. The body information including power modes. + The body information including power modes */ @property (nullable, strong, nonatomic) SDLBodyInformation *bodyInformation; /** - * @abstract A SDLDeviceStatus* value. The device status including signal and battery strength. + The IVI system status including signal and battery strength */ @property (nullable, strong, nonatomic) SDLDeviceStatus *deviceStatus; /** - * @abstract A SDLVehicleDataResult* value. The status of the brake pedal. + The status of the brake pedal */ @property (nullable, strong, nonatomic) SDLVehicleDataEventStatus driverBraking; /** - * @abstract A SDLWiperStatus* value. The status of the wipers. + The status of the wipers */ @property (nullable, strong, nonatomic) SDLWiperStatus wiperStatus; /** - * @abstract A SDLHeadLampStatus* value. Status of the head lamps. + Status of the head lamps */ @property (nullable, strong, nonatomic) SDLHeadLampStatus *headLampStatus; /** - * @abstract Torque value for engine (in Nm) on non-diesel variants. + The estimated percentage (0% - 100%) of remaining oil life of the engine + */ +@property (nullable, strong, nonatomic) NSNumber *engineOilLife; + +/** + Torque value for engine (in Nm) on non-diesel variants */ @property (nullable, strong, nonatomic) NSNumber *engineTorque; /** - * @abstract Accelerator pedal position (percentage depressed) + Accelerator pedal position (percentage depressed) */ @property (nullable, strong, nonatomic) NSNumber *accPedalPosition; /** - * @abstract Current angle of the steering wheel (in deg) + Current angle of the steering wheel (in deg) */ @property (nullable, strong, nonatomic) NSNumber *steeringWheelAngle; + +/** + Emergency Call notification and confirmation data + */ @property (nullable, strong, nonatomic) SDLECallInfo *eCallInfo; + +/** + The status of the air bags + */ @property (nullable, strong, nonatomic) SDLAirbagStatus *airbagStatus; + +/** + Information related to an emergency event (and if it occurred) + */ @property (nullable, strong, nonatomic) SDLEmergencyEvent *emergencyEvent; + +/** + The status modes of the cluster + */ @property (nullable, strong, nonatomic) SDLClusterModeStatus *clusterModeStatus; + +/** + Information related to the MyKey feature + */ @property (nullable, strong, nonatomic) SDLMyKey *myKey; +/** + The status of the electronic parking brake + */ +@property (nullable, strong, nonatomic) SDLElectronicParkBrakeStatus electronicParkBrakeStatus; + +/** + The status of the turn signal + */ +@property (nullable, strong, nonatomic) SDLTurnSignal turnSignal; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnVehicleData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnVehicleData.m index 6f4e995..8c77db3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnVehicleData.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnVehicleData.m @@ -11,6 +11,7 @@ #import "SDLDeviceStatus.h" #import "SDLECallInfo.h" #import "SDLEmergencyEvent.h" +#import "SDLFuelRange.h" #import "SDLGPSData.h" #import "SDLHeadLampStatus.h" #import "SDLMyKey.h" @@ -67,6 +68,14 @@ - (nullable SDLComponentVolumeStatus)fuelLevel_State { return [parameters sdl_objectForName:SDLNameFuelLevelState]; } +- (void)setFuelRange:(nullable NSArray *)fuelRange { + [parameters sdl_setObject:fuelRange forName:SDLNameFuelRange]; +} + +- (nullable NSArray *)fuelRange { + return [parameters sdl_objectsForName:SDLNameFuelRange ofClass:SDLFuelRange.class]; +} + - (void)setInstantFuelConsumption:(nullable NSNumber *)instantFuelConsumption { [parameters sdl_setObject:instantFuelConsumption forName:SDLNameInstantFuelConsumption]; } @@ -164,6 +173,14 @@ - (nullable SDLHeadLampStatus *)headLampStatus { return [parameters sdl_objectForName:SDLNameHeadLampStatus ofClass:SDLHeadLampStatus.class]; } +- (void)setEngineOilLife:(nullable NSNumber *)engineOilLife { + [parameters sdl_setObject:engineOilLife forName:SDLNameEngineOilLife]; +} + +- (nullable NSNumber *)engineOilLife { + return [parameters sdl_objectForName:SDLNameEngineOilLife]; +} + - (void)setEngineTorque:(nullable NSNumber *)engineTorque { [parameters sdl_setObject:engineTorque forName:SDLNameEngineTorque]; } @@ -228,6 +245,22 @@ - (nullable SDLMyKey *)myKey { return [parameters sdl_objectForName:SDLNameMyKey ofClass:SDLMyKey.class]; } +- (void)setElectronicParkBrakeStatus:(nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus { + [parameters sdl_setObject:electronicParkBrakeStatus forName:SDLNameElectronicParkBrakeStatus]; +} + +- (nullable SDLElectronicParkBrakeStatus)electronicParkBrakeStatus { + return [parameters sdl_objectForName:SDLNameElectronicParkBrakeStatus]; +} + +- (void)setTurnSignal:(nullable SDLTurnSignal)turnSignal { + [parameters sdl_setObject:turnSignal forName:SDLNameTurnSignal]; +} + +- (nullable SDLTurnSignal)turnSignal { + return [parameters sdl_objectForName:SDLNameTurnSignal]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnWayPointChange.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnWayPointChange.h index bfcbff1..2fe3488 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnWayPointChange.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLOnWayPointChange.h @@ -7,12 +7,15 @@ NS_ASSUME_NONNULL_BEGIN +/** + Notification which provides the entire LocationDetails when there is a change to any waypoints or destination. + */ @interface SDLOnWayPointChange : SDLRPCNotification /** - * @abstract Location address for display purposes only. - * - * Required, Array of Strings, Array size 1 - 10 + Location address for display purposes only + + Required, Array of Strings, Array size 1 - 10 */ @property (copy, nonatomic) NSArray *waypoints; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPRNDL.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPRNDL.h index 68c05b2..db9c6e3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPRNDL.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPRNDL.h @@ -5,24 +5,24 @@ #import "SDLEnum.h" /** - * The selected gear the car is in. + * The selected gear the car is in. Used in retrieving vehicle data. * * @since SDL 2.0 */ typedef SDLEnum SDLPRNDL SDL_SWIFT_ENUM; /** - * @abstract Park + * Park */ extern SDLPRNDL const SDLPRNDLPark; /** - * @abstract Reverse gear + * Reverse gear */ extern SDLPRNDL const SDLPRNDLReverse; /** - * @abstract No gear + * No gear */ extern SDLPRNDL const SDLPRNDLNeutral; @@ -32,61 +32,61 @@ extern SDLPRNDL const SDLPRNDLNeutral; extern SDLPRNDL const SDLPRNDLDrive; /** - * @abstract Drive Sport mode + * Drive Sport mode */ extern SDLPRNDL const SDLPRNDLSport; /** - * @abstract 1st gear hold + * 1st gear hold */ extern SDLPRNDL const SDLPRNDLLowGear; /** - * @abstract First gear + * First gear */ extern SDLPRNDL const SDLPRNDLFirst; /** - * @abstract Second gear + * Second gear */ extern SDLPRNDL const SDLPRNDLSecond; /** - * @abstract Third gear + * Third gear */ extern SDLPRNDL const SDLPRNDLThird; /** - * @abstract Fourth gear + * Fourth gear */ extern SDLPRNDL const SDLPRNDLFourth; /** - * @abstract Fifth gear + * Fifth gear */ extern SDLPRNDL const SDLPRNDLFifth; /** - * @abstract Sixth gear + * Sixth gear */ extern SDLPRNDL const SDLPRNDLSixth; /** - * @abstract Seventh gear + * Seventh gear */ extern SDLPRNDL const SDLPRNDLSeventh; /** - * @abstract Eighth gear + * Eighth gear */ extern SDLPRNDL const SDLPRNDLEighth; /** - * @abstract Unknown + * Unknown */ extern SDLPRNDL const SDLPRNDLUnknown; /** - * @abstract Fault + * Fault */ extern SDLPRNDL const SDLPRNDLFault; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLParameterPermissions.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLParameterPermissions.h index 0a1bdcc..48d8b43 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLParameterPermissions.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLParameterPermissions.h @@ -4,24 +4,23 @@ #import "SDLRPCMessage.h" +NS_ASSUME_NONNULL_BEGIN + /** * Defining sets of parameters, which are permitted or prohibited for a given RPC. * * @since SDL 2.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLParameterPermissions : SDLRPCStruct /** - * @abstract A set of all parameters that are permitted for this given RPC. + * A set of all parameters that are permitted for this given RPC. * * Required, Array of String, max String length = 100, Array size 0 - 100 */ @property (strong, nonatomic) NSArray *allowed; /** - * @abstract A set of all parameters that are prohibited for this given RPC. + * A set of all parameters that are prohibited for this given RPC. * * Required, Array of String, max String length = 100, Array size 0 - 100 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformAudioPassThru.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformAudioPassThru.h index 9f550fe..7d21159 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformAudioPassThru.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformAudioPassThru.h @@ -36,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt audioPassThruDisplayText1:(nullable NSString *)audioPassThruDisplayText1 audioPassThruDisplayText2:(nullable NSString *)audioPassThruDisplayText2 samplingRate:(SDLSamplingRate)samplingRate bitsPerSample:(SDLBitsPerSample)bitsPerSample audioType:(SDLAudioType)audioType maxDuration:(UInt32)maxDuration muteAudio:(BOOL)muteAudio audioDataHandler:(nullable SDLAudioPassThruHandler)audioDataHandler; /** - * @abstract initial prompt which will be spoken before opening the audio pass + * initial prompt which will be spoken before opening the audio pass * thru session by SDL * @discussion initialPrompt * a Vector value represents the initial prompt which @@ -54,7 +54,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nullable, strong, nonatomic) NSArray *initialPrompt; /** - * @abstract a line of text displayed during audio capture + * a line of text displayed during audio capture * @discussion audioPassThruDisplayText1 * a String value representing the line of text displayed during * audio capture @@ -63,7 +63,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nullable, strong, nonatomic) NSString *audioPassThruDisplayText1; /** - * @abstract A line of text displayed during audio capture + * A line of text displayed during audio capture * @discussion audioPassThruDisplayText2 * a String value representing the line of text displayed during * audio capture @@ -72,13 +72,13 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nullable, strong, nonatomic) NSString *audioPassThruDisplayText2; /** - * @abstract A samplingRate + * A samplingRate * * @discussion a SamplingRate value representing a 8 or 16 or 22 or 24 khz */ @property (strong, nonatomic) SDLSamplingRate samplingRate; /** - * @abstract the maximum duration of audio recording in milliseconds + * the maximum duration of audio recording in milliseconds * * @discussion maxDuration * an Integer value representing the maximum duration of audio @@ -88,17 +88,17 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic) NSNumber *maxDuration; /** - * @abstract the quality the audio is recorded - 8 bit or 16 bit + * the quality the audio is recorded - 8 bit or 16 bit * * @discussion a BitsPerSample value representing 8 bit or 16 bit */ @property (strong, nonatomic) SDLBitsPerSample bitsPerSample; /** - * @abstract an audioType + * an audioType */ @property (strong, nonatomic) SDLAudioType audioType; /** - * @abstract a Boolean value representing if the current audio source should be + * a Boolean value representing if the current audio source should be * muted during the APT session
    */ @property (nullable, strong, nonatomic) NSNumber *muteAudio; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformAudioPassThruResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformAudioPassThruResponse.h index 853a566..7f7b211 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformAudioPassThruResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformAudioPassThruResponse.h @@ -5,9 +5,9 @@ #import "SDLRPCResponse.h" /** - * Perform Audio Pass Thru Response is sent, when PerformAudioPassThru has been called - * - * Since SmartDeviceLink 2.0 + Response to SDLPerformAudioPassThru + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformInteraction.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformInteraction.h index c8d27e2..c8929af 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformInteraction.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformInteraction.h @@ -47,45 +47,45 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithInitialChunks:(nullable NSArray *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *> *)interactionChoiceSetIDList helpChunks:(nullable NSArray *)helpChunks timeoutChunks:(nullable NSArray *)timeoutChunks interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout vrHelp:(nullable NSArray *)vrHelp interactionLayout:(nullable SDLLayoutMode)layout; /** - * @abstract The Text that Displayed when the interaction begins. This text may + * The Text that Displayed when the interaction begins. This text may * be overlaid by the "Listening" prompt during the interaction. Text is * displayed on first line of multiline display, and is centered. If text * does not fit on line, it will be truncated */ @property (strong, nonatomic) NSString *initialText; /** - * @abstract An array of one or more TTSChunks that, taken together, specify + * An array of one or more TTSChunks that, taken together, specify * what is to be spoken to the user at the start of an interaction */ @property (nullable, strong, nonatomic) NSArray *initialPrompt; /** - * @abstract The Indicates mode that indicate how user selects interaction + * The Indicates mode that indicate how user selects interaction * choice. User can choose either by voice (VR_ONLY), by visual selection * from the menu (MANUAL_ONLY), or by either mode (BOTH) */ @property (strong, nonatomic) SDLInteractionMode interactionMode; /** - * @abstract A Vector value representing an Array of one or more Choice + * A Vector value representing an Array of one or more Choice * Set IDs */ @property (strong, nonatomic) NSArray *> *interactionChoiceSetIDList; /** - * @abstract A Vector which taken together, specify the help phrase to + * A Vector which taken together, specify the help phrase to * be spoken when the user says "help" during the VR session */ @property (nullable, strong, nonatomic) NSArray *helpPrompt; /** - * @abstract An array of TTSChunks which, taken together, specify the phrase to + * An array of TTSChunks which, taken together, specify the phrase to * be spoken when the listen times out during the VR session */ @property (nullable, strong, nonatomic) NSArray *timeoutPrompt; /** - * @abstract An Integer value representing the amount of time, in milliseconds, + * An Integer value representing the amount of time, in milliseconds, * SDL will wait for the user to make a choice (VR or Menu) */ @property (nullable, strong, nonatomic) NSNumber *timeout; /** - * @abstract A Voice recognition Help, which is a suggested VR Help Items to + * A Voice recognition Help, which is a suggested VR Help Items to * display on-screen during Perform Interaction * @since SmartDeviceLink 2.0 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformInteractionResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformInteractionResponse.h index 587b0e9..74b89d5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformInteractionResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPerformInteractionResponse.h @@ -7,9 +7,9 @@ #import "SDLTriggerSource.h" /** - * PerformInteraction Response is sent, when SDLPerformInteraction has been called - * - * @since SDL 1.0 + PerformInteraction Response is sent, when SDLPerformInteraction has been called + + @since SDL 1.0 */ NS_ASSUME_NONNULL_BEGIN @@ -17,27 +17,21 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLPerformInteractionResponse : SDLRPCResponse /** - * @abstract ID of the choice that was selected in response to PerformInteraction. - * - * @discussion Only is valid if general result is "success:true". - * - * Optional, Integer, 0 - 2,000,000,000 + ID of the choice that was selected in response to PerformInteraction. Only is valid if general result is "success:true". + + Optional, Integer, 0 - 2,000,000,000 */ @property (nullable, strong, nonatomic) NSNumber *choiceID; /** - * @abstract Manually entered text selection, e.g. through keyboard - * - * @discussion Can be returned in lieu of choiceID, depending on trigger source - * - * Optional, Max length 500 chars + Manually entered text selection, e.g. through keyboard. Can be returned in lieu of choiceID, depending on the trigger source. + + Optional, Max length 500 chars */ @property (nullable, strong, nonatomic) NSString *manualTextEntry; /** - * @abstract A *SDLTriggerSource* object which will be shown in the HMI - * - * @discussion Only is valid if resultCode is SUCCESS. + A *SDLTriggerSource* object which will be shown in the HMI. Only is valid if resultCode is SUCCESS. */ @property (nullable, strong, nonatomic) SDLTriggerSource triggerSource; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionItem.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionItem.h index ea7eb71..990e845 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionItem.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionItem.h @@ -10,8 +10,25 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLPermissionItem : SDLRPCStruct +/** + Name of the individual RPC in the policy table. + + Required + */ @property (strong, nonatomic) NSString *rpcName; + +/** + HMI Permissions for the individual RPC; i.e. which HMI levels may it be used in + + Required + */ @property (strong, nonatomic) SDLHMIPermissions *hmiPermissions; + +/** + RPC parameters for the individual RPC + + Required + */ @property (strong, nonatomic) SDLParameterPermissions *parameterPermissions; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionManager.m index f07d4b2..08c37ee 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionManager.m @@ -55,7 +55,9 @@ - (void)startWithCompletionHandler:(void (^)(BOOL, NSError *_Nullable))completio } - (void)stop { - // Nothing to do here right now + _permissions = [NSMutableDictionary dictionary]; + _filters = [NSMutableArray array]; + _currentHMILevel = nil; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionStatus.h index 48bcec9..45b0241 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPermissionStatus.h @@ -5,28 +5,28 @@ #import "SDLEnum.h" /** - * Enumeration that describes possible permission states of a policy table entry. + * Enumeration that describes possible permission states of a policy table entry. Used in nothing. * * @since SDL 2.0 */ typedef SDLEnum SDLPermissionStatus SDL_SWIFT_ENUM; /** - * @abstract permission: allowed + * permission: allowed */ extern SDLPermissionStatus const SDLPermissionStatusAllowed; /** - * @abstract permission: disallowed + * permission: disallowed */ extern SDLPermissionStatus const SDLPermissionStatusDisallowed; /** - * @abstract permission: user disallowed + * permission: user disallowed */ extern SDLPermissionStatus const SDLPermissionStatusUserDisallowed; /** - * @abstract permission: user consent pending + * permission: user consent pending */ extern SDLPermissionStatus const SDLPermissionStatusUserConsentPending; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPhoneCapability.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPhoneCapability.h index 8dce8c7..6dcbcfc 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPhoneCapability.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPhoneCapability.h @@ -10,12 +10,16 @@ NS_ASSUME_NONNULL_BEGIN +/** + Extended capabilities of the module's phone feature + */ @interface SDLPhoneCapability : SDLRPCStruct - (instancetype)initWithDialNumber:(BOOL)dialNumberEnabled; /** Whether or not the DialNumber RPC is enabled. + Boolean, optional */ @property (nullable, strong, nonatomic) NSNumber *dialNumberEnabled; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPowerModeQualificationStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPowerModeQualificationStatus.h index 273bc20..837837e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPowerModeQualificationStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPowerModeQualificationStatus.h @@ -4,9 +4,27 @@ #import "SDLEnum.h" +/** + Describes the power mode qualification status. Used in ClusterModeStatus. + */ typedef SDLEnum SDLPowerModeQualificationStatus SDL_SWIFT_ENUM; +/** + An undefined status + */ extern SDLPowerModeQualificationStatus const SDLPowerModeQualificationStatusUndefined; + +/** + An "evaluation in progress" status + */ extern SDLPowerModeQualificationStatus const SDLPowerModeQualificationStatusEvaluationInProgress; + +/** + A "not defined" status + */ extern SDLPowerModeQualificationStatus const SDLPowerModeQualificationStatusNotDefined; + +/** + An "ok" status + */ extern SDLPowerModeQualificationStatus const SDLPowerModeQualificationStatusOk; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPowerModeStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPowerModeStatus.h index e490633..92c7d5c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPowerModeStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPowerModeStatus.h @@ -4,14 +4,52 @@ #import "SDLEnum.h" +/** + The status of the car's power. Used in ClusterModeStatus. + */ typedef SDLEnum SDLPowerModeStatus SDL_SWIFT_ENUM; +/** + The key is not in the ignition, and the power is off + */ extern SDLPowerModeStatus const SDLPowerModeStatusKeyOut; + +/** + The key is not in the ignition and it was just recently removed + */ extern SDLPowerModeStatus const SDLPowerModeStatusKeyRecentlyOut; + +/** + The key is not in the ignition, but an approved key is available + */ extern SDLPowerModeStatus const SDLPowerModeStatusKeyApproved; + +/** + We are in a post-accessory power situation + */ extern SDLPowerModeStatus const SDLPowerModeStatusPostAccessory; + +/** + The car is in accessory power mode + */ extern SDLPowerModeStatus const SDLPowerModeStatusAccessory; + +/** + We are in a post-ignition power situation + */ extern SDLPowerModeStatus const SDLPowerModeStatusPostIgnition; + +/** + The ignition is on but the car is not yet running + */ extern SDLPowerModeStatus const SDLPowerModeStatusIgnitionOn; + +/** + The ignition is on and the car is running + */ extern SDLPowerModeStatus const SDLPowerModeStatusRunning; + +/** + We are in a crank power situation + */ extern SDLPowerModeStatus const SDLPowerModeStatusCrank; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPredefinedLayout.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPredefinedLayout.h index cf310dc..f56c275 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPredefinedLayout.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPredefinedLayout.h @@ -4,25 +4,107 @@ #import "SDLEnum.h" +/** + A template layout an app uses to display information. The broad details of the layout are defined, but the details depend on the IVI system. Used in SetDisplayLayout. + */ typedef SDLEnum SDLPredefinedLayout SDL_SWIFT_ENUM; +/** + A default layout + */ extern SDLPredefinedLayout const SDLPredefinedLayoutDefault; + +/** + The default media layout + */ extern SDLPredefinedLayout const SDLPredefinedLayoutMedia; + +/** + The default non-media layout + */ extern SDLPredefinedLayout const SDLPredefinedLayoutNonMedia; + +/** + A media layout containing preset buttons + */ extern SDLPredefinedLayout const SDLPredefinedLayoutOnscreenPresets; + +/** + The default navigation layout with a fullscreen map + */ extern SDLPredefinedLayout const SDLPredefinedLayoutNavigationFullscreenMap; + +/** + A list layout used for navigation apps + */ extern SDLPredefinedLayout const SDLPredefinedLayoutNavigationList; + +/** + A keyboard layout used for navigation apps + */ extern SDLPredefinedLayout const SDLPredefinedLayoutNavigationKeyboard; + +/** + A layout with a single graphic on the left and text on the right + */ extern SDLPredefinedLayout const SDLPredefinedLayoutGraphicWithText; + +/** + A layout with text on the left and a single graphic on the right + */ extern SDLPredefinedLayout const SDLPredefinedLayoutTextWithGraphic; + +/** + A layout with only softbuttons placed in a tile layout + */ extern SDLPredefinedLayout const SDLPredefinedLayoutTilesOnly; + +/** + A layout with only soft buttons that only accept text + */ extern SDLPredefinedLayout const SDLPredefinedLayoutTextButtonsOnly; + +/** + A layout with a single graphic on the left and soft buttons in a tile layout on the right + */ extern SDLPredefinedLayout const SDLPredefinedLayoutGraphicWithTiles; + +/** + A layout with soft buttons in a tile layout on the left and a single graphic on the right + */ extern SDLPredefinedLayout const SDLPredefinedLayoutTilesWithGraphic; + +/** + A layout with a single graphic on the left and both text and soft buttons on the right + */ extern SDLPredefinedLayout const SDLPredefinedLayoutGraphicWithTextAndSoftButtons; + +/** + A layout with both text and soft buttons on the left and a single graphic on the right + */ extern SDLPredefinedLayout const SDLPredefinedLayoutTextAndSoftButtonsWithGraphic; + +/** + A layout with a single graphic on the left and text-only soft buttons on the right + */ extern SDLPredefinedLayout const SDLPredefinedLayoutGraphicWithTextButtons; + +/** + A layout with text-only soft buttons on the left and a single graphic on the right + */ extern SDLPredefinedLayout const SDLPredefinedLayoutTextButtonsWithGraphic; + +/** + A layout with a single large graphic and soft buttons + */ extern SDLPredefinedLayout const SDLPredefinedLayoutLargeGraphicWithSoftButtons; + +/** + A layout with two graphics and soft buttons + */ extern SDLPredefinedLayout const SDLPredefinedLayoutDoubleGraphicWithSoftButtons; + +/** + A layout with only a single large graphic + */ extern SDLPredefinedLayout const SDLPredefinedLayoutLargeGraphicOnly; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPreloadChoicesOperation.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPreloadChoicesOperation.h new file mode 100644 index 0000000..cc6c7ae --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPreloadChoicesOperation.h @@ -0,0 +1,38 @@ +// +// SDLPreloadChoicesOperation.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/23/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLAsynchronousOperation.h" + +@class SDLChoiceCell; +@class SDLDisplayCapabilities; +@class SDLFileManager; + +@protocol SDLConnectionManagerType; + +NS_ASSUME_NONNULL_BEGIN + +typedef NS_ENUM(NSUInteger, SDLPreloadChoicesOperationState) { + SDLPreloadChoicesOperationStateWaitingToStart, + SDLPreloadChoicesOperationStateUploadingArtworks, + SDLPreloadChoicesOperationStatePreloadingChoices, + SDLPreloadChoicesOperationStateFinished +}; + +@interface SDLPreloadChoicesOperation : SDLAsynchronousOperation + +@property (assign, nonatomic) SDLPreloadChoicesOperationState currentState; + +- (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager displayCapabilities:(SDLDisplayCapabilities *)displayCapabilities isVROptional:(BOOL)isVROptional cellsToPreload:(NSSet *)cells; + +- (BOOL)removeChoicesFromUpload:(NSSet *)choices; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPreloadChoicesOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPreloadChoicesOperation.m new file mode 100644 index 0000000..725c6ba --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPreloadChoicesOperation.m @@ -0,0 +1,180 @@ +// +// SDLPreloadChoicesOperation.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/23/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLPreloadChoicesOperation.h" + +#import "SDLChoice.h" +#import "SDLChoiceCell.h" +#import "SDLConnectionManagerType.h" +#import "SDLCreateInteractionChoiceSet.h" +#import "SDLCreateInteractionChoiceSetResponse.h" +#import "SDLDisplayCapabilities.h" +#import "SDLDisplayCapabilities+ShowManagerExtensions.h" +#import "SDLError.h" +#import "SDLFileManager.h" +#import "SDLImage.h" +#import "SDLLogMacros.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLChoiceCell() + +@property (assign, nonatomic) UInt16 choiceId; + +@end + +@interface SDLPreloadChoicesOperation() + +@property (strong, nonatomic) NSMutableSet *cellsToUpload; +@property (strong, nonatomic) SDLDisplayCapabilities *displayCapabilities; +@property (assign, nonatomic, getter=isVROptional) BOOL vrOptional; + +@property (weak, nonatomic) id connectionManager; +@property (weak, nonatomic) SDLFileManager *fileManager; +@property (copy, nonatomic, nullable) NSError *internalError; + +@end + +@implementation SDLPreloadChoicesOperation + +- (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager displayCapabilities:(SDLDisplayCapabilities *)displayCapabilities isVROptional:(BOOL)isVROptional cellsToPreload:(NSSet *)cells { + self = [super init]; + if (!self) { return nil; } + + _connectionManager = connectionManager; + _fileManager = fileManager; + _displayCapabilities = displayCapabilities; + _vrOptional = isVROptional; + _cellsToUpload = [cells mutableCopy]; + + _currentState = SDLPreloadChoicesOperationStateWaitingToStart; + + return self; +} + +- (void)start { + [super start]; + + [self sdl_preloadCellArtworksWithCompletionHandler:^(NSError * _Nullable error) { + self.internalError = error; + + [self sdl_preloadCells]; + }]; +} + +- (BOOL)removeChoicesFromUpload:(NSSet *)choices { + if (self.isExecuting) { return NO; } + + [self.cellsToUpload minusSet:choices]; + return YES; +} + +#pragma mark - Sending Choice Data + +- (void)sdl_preloadCellArtworksWithCompletionHandler:(void(^)(NSError *_Nullable))completionHandler { + _currentState = SDLPreloadChoicesOperationStateUploadingArtworks; + + NSMutableArray *artworksToUpload = [NSMutableArray arrayWithCapacity:self.cellsToUpload.count]; + for (SDLChoiceCell *cell in self.cellsToUpload) { + if ([self.displayCapabilities hasImageFieldOfName:SDLImageFieldNameChoiceImage]) { + cell.artwork != nil ? [artworksToUpload addObject:cell.artwork] : nil; + } + if ([self.displayCapabilities hasImageFieldOfName:SDLImageFieldNameChoiceSecondaryImage]) { + cell.secondaryArtwork != nil ? [artworksToUpload addObject:cell.secondaryArtwork] : nil; + } + } + + if (artworksToUpload.count == 0) { + SDLLogD(@"No choice artworks to be uploaded"); + completionHandler(nil); + return; + } + + [self.fileManager uploadArtworks:[artworksToUpload copy] completionHandler:^(NSArray * _Nonnull artworkNames, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Error uploading choice artworks: %@", error); + } else { + SDLLogD(@"Finished uploading choice artworks"); + SDLLogV(@"%@", artworkNames); + } + + completionHandler(error); + }]; +} + +- (void)sdl_preloadCells { + _currentState = SDLPreloadChoicesOperationStatePreloadingChoices; + + NSMutableArray *choiceRPCs = [NSMutableArray arrayWithCapacity:self.cellsToUpload.count]; + for (SDLChoiceCell *cell in self.cellsToUpload) { + [choiceRPCs addObject:[self sdl_choiceFromCell:cell]]; + } + + __weak typeof(self) weakSelf = self; + __block NSMutableDictionary *errors = [NSMutableDictionary dictionary]; + [self.connectionManager sendRequests:[choiceRPCs copy] progressHandler:^(__kindof SDLRPCRequest * _Nonnull request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error, float percentComplete) { + if (error != nil) { + errors[request] = error; + } + } completionHandler:^(BOOL success) { + if (!success) { + SDLLogW(@"Error preloading choice cells: %@", errors); + weakSelf.internalError = [NSError sdl_choiceSetManager_choiceUploadFailed:errors]; + } + + SDLLogD(@"Finished preloading choice cells"); + + [weakSelf finishOperation]; + }]; +} + +#pragma mark - Assembling Choice Data + +- (SDLCreateInteractionChoiceSet *)sdl_choiceFromCell:(SDLChoiceCell *)cell { + NSArray *vrCommands = nil; + if (cell.voiceCommands == nil) { + vrCommands = self.isVROptional ? nil : @[[NSString stringWithFormat:@"%hu", cell.choiceId]]; + } else { + vrCommands = cell.voiceCommands; + } + + NSString *menuName = [self.displayCapabilities hasTextFieldOfName:SDLTextFieldNameMenuName] ? cell.text : nil; + NSString *secondaryText = [self.displayCapabilities hasTextFieldOfName:SDLTextFieldNameSecondaryText] ? cell.secondaryText : nil; + NSString *tertiaryText = [self.displayCapabilities hasTextFieldOfName:SDLTextFieldNameTertiaryText] ? cell.tertiaryText : nil; + + SDLImage *image = ([self.displayCapabilities hasImageFieldOfName:SDLImageFieldNameChoiceImage] && cell.artwork != nil) ? [[SDLImage alloc] initWithName:cell.artwork.name isTemplate:cell.artwork.isTemplate] : nil; + SDLImage *secondaryImage = ([self.displayCapabilities hasImageFieldOfName:SDLImageFieldNameChoiceSecondaryImage] && cell.secondaryArtwork != nil) ? [[SDLImage alloc] initWithName:cell.secondaryArtwork.name isTemplate:cell.secondaryArtwork.isTemplate] : nil; + + SDLChoice *choice = [[SDLChoice alloc] initWithId:cell.choiceId menuName:(NSString *_Nonnull)menuName vrCommands:(NSArray * _Nonnull)vrCommands image:image secondaryText:secondaryText secondaryImage:secondaryImage tertiaryText:tertiaryText]; + + return [[SDLCreateInteractionChoiceSet alloc] initWithId:(UInt32)choice.choiceID.unsignedIntValue choiceSet:@[choice]]; +} + +#pragma mark - Property Overrides + +- (void)finishOperation { + _currentState = SDLPreloadChoicesOperationStateFinished; + + [super finishOperation]; +} + +- (nullable NSString *)name { + return @"com.sdl.choicesetmanager.preloadChoices"; +} + +- (NSOperationQueuePriority)queuePriority { + return NSOperationQueuePriorityNormal; +} + +- (nullable NSError *)error { + return self.internalError; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrerecordedSpeech.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrerecordedSpeech.h index c4e1fb4..0905663 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrerecordedSpeech.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrerecordedSpeech.h @@ -4,10 +4,32 @@ #import "SDLEnum.h" +/** + Contains information about the speech capabilities on the SDL platform. Used in RegisterAppInterfaceResponse to indicate capability. + */ typedef SDLEnum SDLPrerecordedSpeech SDL_SWIFT_ENUM; +/** + A prerecorded help prompt + */ extern SDLPrerecordedSpeech const SDLPrerecordedSpeechHelp; + +/** + A prerecorded initial prompt + */ extern SDLPrerecordedSpeech const SDLPrerecordedSpeechInitial; + +/** + A prerecorded listen prompt is available + */ extern SDLPrerecordedSpeech const SDLPrerecordedSpeechListen; + +/** + A prerecorded positive indicator noise is available + */ extern SDLPrerecordedSpeech const SDLPrerecordedSpeechPositive; + +/** + A prerecorded negative indicator noise is available + */ extern SDLPrerecordedSpeech const SDLPrerecordedSpeechNegative; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentChoiceSetOperation.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentChoiceSetOperation.h new file mode 100644 index 0000000..cf92f51 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentChoiceSetOperation.h @@ -0,0 +1,35 @@ +// +// SDLPresentChoiceSetOperation.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/24/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLAsynchronousOperation.h" +#import "SDLInteractionMode.h" +#import "SDLTriggerSource.h" + +@class SDLChoiceCell; +@class SDLChoiceSet; +@class SDLKeyboardProperties; + +@protocol SDLConnectionManagerType; +@protocol SDLKeyboardDelegate; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLPresentChoiceSetOperation : SDLAsynchronousOperation + +@property (strong, nonatomic, readonly) SDLChoiceSet *choiceSet; +@property (strong, nonatomic, readonly, nullable) SDLChoiceCell *selectedCell; +@property (strong, nonatomic, readonly, nullable) SDLTriggerSource selectedTriggerSource; +@property (assign, nonatomic, readonly) NSUInteger selectedCellRow; + +- (instancetype)initWithConnectionManager:(id)connectionManager choiceSet:(SDLChoiceSet *)choiceSet mode:(SDLInteractionMode)mode keyboardProperties:(nullable SDLKeyboardProperties *)originalKeyboardProperties keyboardDelegate:(nullable id)keyboardDelegate; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentChoiceSetOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentChoiceSetOperation.m new file mode 100644 index 0000000..4e923b8 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentChoiceSetOperation.m @@ -0,0 +1,270 @@ +// +// SDLPresentChoiceSetOperation.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/24/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLPresentChoiceSetOperation.h" + +#import "SDLChoiceCell.h" +#import "SDLChoiceSet.h" +#import "SDLChoiceSetDelegate.h" +#import "SDLConnectionManagerType.h" +#import "SDLKeyboardDelegate.h" +#import "SDLKeyboardProperties.h" +#import "SDLLogMacros.h" +#import "SDLNotificationConstants.h" +#import "SDLOnKeyboardInput.h" +#import "SDLPerformInteraction.h" +#import "SDLPerformInteractionResponse.h" +#import "SDLRPCNotificationNotification.h" +#import "SDLSetGlobalProperties.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLChoiceCell() + +@property (assign, nonatomic) UInt16 choiceId; + +@end + +@interface SDLPresentChoiceSetOperation() + +@property (weak, nonatomic) id connectionManager; +@property (strong, nonatomic, readwrite) SDLChoiceSet *choiceSet; +@property (strong, nonatomic) SDLInteractionMode presentationMode; +@property (strong, nonatomic, nullable) SDLKeyboardProperties *originalKeyboardProperties; +@property (strong, nonatomic, nullable) SDLKeyboardProperties *keyboardProperties; +@property (weak, nonatomic) id keyboardDelegate; + +@property (strong, nonatomic, readonly) SDLPerformInteraction *performInteraction; +@property (strong, nonatomic, readonly) SDLLayoutMode layoutMode; +@property (strong, nonatomic, readonly) NSArray *> *choiceIds; +@property (assign, nonatomic) BOOL updatedKeyboardProperties; + +@property (copy, nonatomic, nullable) NSError *internalError; +@property (strong, nonatomic, readwrite, nullable) SDLChoiceCell *selectedCell; +@property (strong, nonatomic, readwrite, nullable) SDLTriggerSource selectedTriggerSource; +@property (assign, nonatomic, readwrite) NSUInteger selectedCellRow; + +@end + +@implementation SDLPresentChoiceSetOperation + +- (instancetype)initWithConnectionManager:(id)connectionManager choiceSet:(SDLChoiceSet *)choiceSet mode:(SDLInteractionMode)mode keyboardProperties:(nullable SDLKeyboardProperties *)originalKeyboardProperties keyboardDelegate:(nullable id)keyboardDelegate { + self = [super init]; + if (!self) { return self; } + + _connectionManager = connectionManager; + _choiceSet = choiceSet; + _presentationMode = mode; + + _originalKeyboardProperties = originalKeyboardProperties; + _keyboardProperties = originalKeyboardProperties; + _keyboardDelegate = keyboardDelegate; + + _selectedCellRow = NSNotFound; + + return self; +} + +- (void)start { + [super start]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_keyboardInputNotification:) name:SDLDidReceiveKeyboardInputNotification object:nil]; + + [self sdl_start]; +} + +- (void)sdl_start { + // Check if we're using a keyboard (searchable) choice set and setup keyboard properties if we need to + if (self.keyboardDelegate != nil && [self.keyboardDelegate respondsToSelector:@selector(customKeyboardConfiguration)]) { + SDLKeyboardProperties *customProperties = self.keyboardDelegate.customKeyboardConfiguration; + if (customProperties != nil) { + self.keyboardProperties = customProperties; + } + } + + [self sdl_updateKeyboardPropertiesWithCompletionHandler:^{ + if (self.isCancelled) { + [self finishOperation]; + return; + } + + [self sdl_presentChoiceSet]; + }]; +} + +#pragma mark - Sending Requests + +- (void)sdl_updateKeyboardPropertiesWithCompletionHandler:(nullable void(^)(void))completionHandler { + if (self.keyboardProperties == nil) { + if (completionHandler != nil) { + completionHandler(); + } + return; + } + + SDLSetGlobalProperties *setProperties = [[SDLSetGlobalProperties alloc] init]; + setProperties.keyboardProperties = self.keyboardProperties; + + __weak typeof(self) weakself = self; + [self.connectionManager sendConnectionRequest:setProperties withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Error setting keyboard properties to new value: %@, with error: %@", request, error); + } + + weakself.updatedKeyboardProperties = YES; + + if (completionHandler != nil) { + completionHandler(); + } + }]; +} + +- (void)sdl_presentChoiceSet { + __weak typeof(self) weakself = self; + [self.connectionManager sendConnectionRequest:self.performInteraction withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Presenting choice set failed with response: %@, error: %@", response, error); + weakself.internalError = error; + + [weakself finishOperation]; + return; + } + + SDLPerformInteractionResponse *performResponse = (SDLPerformInteractionResponse *)response; + [weakself sdl_setSelectedCellWithId:performResponse.choiceID]; + weakself.selectedTriggerSource = performResponse.triggerSource; + + [weakself finishOperation]; + }]; +} + +#pragma mark - Helpers + +- (void)sdl_setSelectedCellWithId:(NSNumber *)cellId { + __weak typeof(self) weakself = self; + [self.choiceSet.choices enumerateObjectsUsingBlock:^(SDLChoiceCell * _Nonnull cell, NSUInteger i, BOOL * _Nonnull stop) { + if (cell.choiceId == cellId.unsignedIntValue) { + weakself.selectedCell = cell; + weakself.selectedCellRow = i; + } + }]; +} + +#pragma mark - Getters + +- (SDLPerformInteraction *)performInteraction { + SDLPerformInteraction *performInteraction = [[SDLPerformInteraction alloc] init]; + performInteraction.interactionMode = self.presentationMode; + performInteraction.initialText = self.choiceSet.title; + performInteraction.initialPrompt = self.choiceSet.initialPrompt; + performInteraction.helpPrompt = self.choiceSet.helpPrompt; + performInteraction.timeoutPrompt = self.choiceSet.timeoutPrompt; + performInteraction.vrHelp = self.choiceSet.helpList; + performInteraction.timeout = @((NSUInteger)(self.choiceSet.timeout * 1000)); + performInteraction.interactionLayout = self.layoutMode; + performInteraction.interactionChoiceSetIDList = self.choiceIds; + + return performInteraction; +} + +- (SDLLayoutMode)layoutMode { + switch (self.choiceSet.layout) { + case SDLChoiceSetLayoutList: + return self.keyboardDelegate ? SDLLayoutModeListWithSearch : SDLLayoutModeListOnly; + case SDLChoiceSetLayoutTiles: + return self.keyboardDelegate ? SDLLayoutModeIconWithSearch : SDLLayoutModeIconOnly; + } +} + +- (NSArray *> *)choiceIds { + NSMutableArray *> *choiceIds = [NSMutableArray arrayWithCapacity:self.choiceSet.choices.count]; + for (SDLChoiceCell *cell in self.choiceSet.choices) { + [choiceIds addObject:@(cell.choiceId)]; + } + + return [choiceIds copy]; +} + +#pragma mark - SDL Notifications + +- (void)sdl_keyboardInputNotification:(SDLRPCNotificationNotification *)notification { + if (self.isCancelled) { + [self finishOperation]; + return; + } + + if (self.keyboardDelegate == nil) { return; } + SDLOnKeyboardInput *onKeyboard = notification.notification; + + if ([self.keyboardDelegate respondsToSelector:@selector(keyboardDidSendEvent:text:)]) { + [self.keyboardDelegate keyboardDidSendEvent:onKeyboard.event text:onKeyboard.data]; + } + + __weak typeof(self) weakself = self; + if ([onKeyboard.event isEqualToEnum:SDLKeyboardEventVoice] || [onKeyboard.event isEqualToEnum:SDLKeyboardEventSubmitted]) { + // Submit voice or text + [self.keyboardDelegate userDidSubmitInput:onKeyboard.data withEvent:onKeyboard.event]; + } else if ([onKeyboard.event isEqualToEnum:SDLKeyboardEventKeypress]) { + // Notify of keypress + if ([self.keyboardDelegate respondsToSelector:@selector(updateAutocompleteWithInput:completionHandler:)]) { + [self.keyboardDelegate updateAutocompleteWithInput:onKeyboard.data completionHandler:^(NSString *updatedAutocompleteText) { + weakself.keyboardProperties.autoCompleteText = updatedAutocompleteText; + [weakself sdl_updateKeyboardPropertiesWithCompletionHandler:nil]; + }]; + } + + if ([self.keyboardDelegate respondsToSelector:@selector(updateCharacterSetWithInput:completionHandler:)]) { + [self.keyboardDelegate updateCharacterSetWithInput:onKeyboard.data completionHandler:^(NSArray *updatedCharacterSet) { + weakself.keyboardProperties.limitedCharacterList = updatedCharacterSet; + [self sdl_updateKeyboardPropertiesWithCompletionHandler:nil]; + }]; + } + } else if ([onKeyboard.event isEqualToEnum:SDLKeyboardEventAborted] || [onKeyboard.event isEqualToEnum:SDLKeyboardEventCancelled]) { + // Notify of abort / cancellation + [self.keyboardDelegate keyboardDidAbortWithReason:onKeyboard.event]; + } +} + +#pragma mark - Property Overrides + +- (void)finishOperation { + [[NSNotificationCenter defaultCenter] removeObserver:self]; + + if (self.keyboardProperties == nil) { + [super finishOperation]; + return; + } + + // We need to reset the keyboard properties + SDLSetGlobalProperties *setProperties = [[SDLSetGlobalProperties alloc] init]; + setProperties.keyboardProperties = self.originalKeyboardProperties; + + [self.connectionManager sendConnectionRequest:setProperties withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Error resetting keyboard properties to values: %@, with error: %@", request, error); + } + + [super finishOperation]; + }]; +} + +- (nullable NSString *)name { + return @"com.sdl.choicesetmanager.presentChoiceSet"; +} + +- (NSOperationQueuePriority)queuePriority { + return NSOperationQueuePriorityNormal; +} + +- (nullable NSError *)error { + return self.internalError; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentKeyboardOperation.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentKeyboardOperation.h new file mode 100644 index 0000000..754260a --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentKeyboardOperation.h @@ -0,0 +1,24 @@ +// +// SDLPresentKeyboardOperation.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/24/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLAsynchronousOperation.h" + +@class SDLKeyboardProperties; + +@protocol SDLConnectionManagerType; +@protocol SDLKeyboardDelegate; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLPresentKeyboardOperation : SDLAsynchronousOperation + +- (instancetype)initWithConnectionManager:(id)connectionManager keyboardProperties:(SDLKeyboardProperties *)originalKeyboardProperties initialText:(NSString *)initialText keyboardDelegate:(id)keyboardDelegate; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentKeyboardOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentKeyboardOperation.m new file mode 100644 index 0000000..b81284e --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresentKeyboardOperation.m @@ -0,0 +1,195 @@ +// +// SDLPresentKeyboardOperation.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/24/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLPresentKeyboardOperation.h" + +#import "SDLConnectionManagerType.h" +#import "SDLKeyboardDelegate.h" +#import "SDLKeyboardProperties.h" +#import "SDLLogMacros.h" +#import "SDLNotificationConstants.h" +#import "SDLOnKeyboardInput.h" +#import "SDLPerformInteraction.h" +#import "SDLPerformInteractionResponse.h" +#import "SDLRPCNotificationNotification.h" +#import "SDLSetGlobalProperties.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLPresentKeyboardOperation() + +@property (weak, nonatomic) id connectionManager; +@property (weak, nonatomic) id keyboardDelegate; +@property (copy, nonatomic) NSString *initialText; +@property (strong, nonatomic) SDLKeyboardProperties *originalKeyboardProperties; +@property (strong, nonatomic) SDLKeyboardProperties *keyboardProperties; + +@property (strong, nonatomic, readonly) SDLPerformInteraction *performInteraction; + +@property (copy, nonatomic, nullable) NSError *internalError; + +@end + +@implementation SDLPresentKeyboardOperation + +- (instancetype)initWithConnectionManager:(id)connectionManager keyboardProperties:(SDLKeyboardProperties *)originalKeyboardProperties initialText:(NSString *)initialText keyboardDelegate:(id)keyboardDelegate { + self = [super init]; + if (!self) { return self; } + + _connectionManager = connectionManager; + _initialText = initialText; + _keyboardDelegate = keyboardDelegate; + _originalKeyboardProperties = originalKeyboardProperties; + _keyboardProperties = originalKeyboardProperties; + + return self; +} + +- (void)start { + [super start]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_keyboardInputNotification:) name:SDLDidReceiveKeyboardInputNotification object:nil]; + + [self sdl_start]; +} + +- (void)sdl_start { + if (self.keyboardDelegate != nil && [self.keyboardDelegate respondsToSelector:@selector(customKeyboardConfiguration)]) { + SDLKeyboardProperties *customProperties = self.keyboardDelegate.customKeyboardConfiguration; + if (customProperties != nil) { + self.keyboardProperties = customProperties; + } + } + + [self sdl_updateKeyboardPropertiesWithCompletionHandler:^{ + if (self.isCancelled) { + [self finishOperation]; + return; + } + + [self sdl_presentKeyboard]; + }]; +} + +#pragma mark - Sending Requests + +- (void)sdl_updateKeyboardPropertiesWithCompletionHandler:(nullable void(^)(void))completionHandler { + SDLSetGlobalProperties *setProperties = [[SDLSetGlobalProperties alloc] init]; + setProperties.keyboardProperties = self.keyboardProperties; + + [self.connectionManager sendConnectionRequest:setProperties withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Error setting keyboard properties to new value: %@, with error: %@", request, error); + } + + if (completionHandler != nil) { + completionHandler(); + } + }]; +} + +- (void)sdl_presentKeyboard { + [self.connectionManager sendConnectionRequest:self.performInteraction withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (self.isCancelled) { + [self finishOperation]; + return; + } + + if (error != nil) { + self.internalError = error; + } + + [self finishOperation]; + }]; +} + +#pragma mark - Private Getters / Setters + +- (SDLPerformInteraction *)performInteraction { + SDLPerformInteraction *performInteraction = [[SDLPerformInteraction alloc] init]; + performInteraction.initialText = self.initialText; + performInteraction.interactionMode = SDLInteractionModeManualOnly; + performInteraction.interactionChoiceSetIDList = @[]; + performInteraction.interactionLayout = SDLLayoutModeKeyboard; + + return performInteraction; +} + +#pragma mark - Notification Observers + +- (void)sdl_keyboardInputNotification:(SDLRPCNotificationNotification *)notification { + if (self.isCancelled) { + [self finishOperation]; + return; + } + + if (self.keyboardDelegate == nil) { return; } + SDLOnKeyboardInput *onKeyboard = notification.notification; + + if ([self.keyboardDelegate respondsToSelector:@selector(keyboardDidSendEvent:text:)]) { + [self.keyboardDelegate keyboardDidSendEvent:onKeyboard.event text:onKeyboard.data]; + } + + __weak typeof(self) weakself = self; + if ([onKeyboard.event isEqualToEnum:SDLKeyboardEventVoice] || [onKeyboard.event isEqualToEnum:SDLKeyboardEventSubmitted]) { + // Submit voice or text + [self.keyboardDelegate userDidSubmitInput:onKeyboard.data withEvent:onKeyboard.event]; + } else if ([onKeyboard.event isEqualToEnum:SDLKeyboardEventKeypress]) { + // Notify of keypress + if ([self.keyboardDelegate respondsToSelector:@selector(updateAutocompleteWithInput:completionHandler:)]) { + [self.keyboardDelegate updateAutocompleteWithInput:onKeyboard.data completionHandler:^(NSString *updatedAutocompleteText) { + weakself.keyboardProperties.autoCompleteText = updatedAutocompleteText; + [weakself sdl_updateKeyboardPropertiesWithCompletionHandler:nil]; + }]; + } + + if ([self.keyboardDelegate respondsToSelector:@selector(updateCharacterSetWithInput:completionHandler:)]) { + [self.keyboardDelegate updateCharacterSetWithInput:onKeyboard.data completionHandler:^(NSArray *updatedCharacterSet) { + weakself.keyboardProperties.limitedCharacterList = updatedCharacterSet; + [self sdl_updateKeyboardPropertiesWithCompletionHandler:nil]; + }]; + } + } else if ([onKeyboard.event isEqualToEnum:SDLKeyboardEventAborted] || [onKeyboard.event isEqualToEnum:SDLKeyboardEventCancelled]) { + // Notify of abort / cancellation + [self.keyboardDelegate keyboardDidAbortWithReason:onKeyboard.event]; + } +} + +#pragma mark - Property Overrides + +- (nullable NSString *)name { + return @"com.sdl.choicesetmanager.presentKeyboard"; +} + +- (NSOperationQueuePriority)queuePriority { + return NSOperationQueuePriorityNormal; +} + +- (void)finishOperation { + [[NSNotificationCenter defaultCenter] removeObserver:self]; + + // We need to reset the keyboard properties + SDLSetGlobalProperties *setProperties = [[SDLSetGlobalProperties alloc] init]; + setProperties.keyboardProperties = self.originalKeyboardProperties; + + [self.connectionManager sendConnectionRequest:setProperties withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Error resetting keyboard properties to values: %@, with error: %@", request, error); + } + + [super finishOperation]; + }]; +} + +- (nullable NSError *)error { + return self.internalError; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresetBankCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresetBankCapabilities.h index 9242bdd..a737616 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresetBankCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPresetBankCapabilities.h @@ -4,18 +4,17 @@ #import "SDLRPCMessage.h" +NS_ASSUME_NONNULL_BEGIN + /** * Contains information about on-screen preset capabilities. * * @since SDL 2.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLPresetBankCapabilities : SDLRPCStruct /** - * @abstract If Onscreen custom presets are available. + * If Onscreen custom presets are available. * * Required, Boolean */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrimaryAudioSource.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrimaryAudioSource.h index 4eb31c5..c02bd09 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrimaryAudioSource.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrimaryAudioSource.h @@ -5,43 +5,68 @@ #import "SDLEnum.h" /** - * Reflects the current primary audio source of SDL (if selected). + * Reflects the current primary audio source of SDL (if selected). Used in DeviceStatus. * * @since SDL 2.0 */ typedef SDLEnum SDLPrimaryAudioSource SDL_SWIFT_ENUM; /** - * @abstract Currently no source selected + * Currently no source selected */ extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceNoSourceSelected; /** - * @abstract USB is current source + * USB is current source */ extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceUSB; /** - * @abstract USB2 is current source + * USB2 is current source */ extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceUSB2; /** - * @abstract Bluetooth Stereo is current source + * Bluetooth Stereo is current source */ extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceBluetoothStereo; /** - * @abstract Line in is current source + * Line in is current source */ extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceLineIn; /** - * @abstract iPod is current source + * iPod is current source */ extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceIpod; /** - * @abstract Mobile app is current source + * Mobile app is current source */ extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceMobileApp; + +/** + * @abstract CD is current source + */ +extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceCD; + +/** + * @abstract Radio frequency AM is current source + */ +extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceAM; + +/** + * @abstract Radio frequency FM is current source + */ +extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceFM; + +/** + * @abstract Radio frequency XM is current source + */ +extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceXM; + +/** + * @abstract Radio frequency DAB is current source + */ +extern SDLPrimaryAudioSource const SDLPrimaryAudioSourceDAB; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrimaryAudioSource.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrimaryAudioSource.m index d0cdd82..c9764cb 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrimaryAudioSource.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPrimaryAudioSource.m @@ -11,3 +11,9 @@ SDLPrimaryAudioSource const SDLPrimaryAudioSourceLineIn = @"LINE_IN"; SDLPrimaryAudioSource const SDLPrimaryAudioSourceIpod = @"IPOD"; SDLPrimaryAudioSource const SDLPrimaryAudioSourceMobileApp = @"MOBILE_APP"; +SDLPrimaryAudioSource const SDLPrimaryAudioSourceCD = @"CD"; +SDLPrimaryAudioSource const SDLPrimaryAudioSourceRadioTuner = @"RADIO_TUNER"; +SDLPrimaryAudioSource const SDLPrimaryAudioSourceAM = @"AM"; +SDLPrimaryAudioSource const SDLPrimaryAudioSourceFM = @"FM"; +SDLPrimaryAudioSource const SDLPrimaryAudioSourceXM = @"XM"; +SDLPrimaryAudioSource const SDLPrimaryAudioSourceDAB = @"DAB"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocol.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocol.h index a0a4d1e..e4d0e44 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocol.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocol.h @@ -1,12 +1,25 @@ // SDLSmartDeviceLinkProtocol.h // -#import "SDLAbstractProtocol.h" +#import + +#import "SDLTransportType.h" +#import "SDLProtocolConstants.h" +#import "SDLProtocolListener.h" +#import "SDLSecurityType.h" +#import "SDLTransportDelegate.h" + @class SDLProtocolHeader; @class SDLProtocolRecievedMessageRouter; +@class SDLRPCMessage; NS_ASSUME_NONNULL_BEGIN +/** + * A protocol error type + * + * - SDLProtocolErrorNoSecurityManager: No security manager was provided + */ typedef NS_ENUM(NSUInteger, SDLProtocolError) { SDLProtocolErrorNoSecurityManager, }; @@ -14,18 +27,117 @@ typedef NS_ENUM(NSUInteger, SDLProtocolError) { extern NSString *const SDLProtocolSecurityErrorDomain; -@interface SDLProtocol : SDLAbstractProtocol +@interface SDLProtocol : NSObject + +/** + * Deprecated debug logging tool. + */ +@property (strong, nonatomic) NSString *debugConsoleGroupName; + +/** + * The transport layer for sending data between the app and Core + */ +@property (nullable, weak, nonatomic) id transport; + +/** + * A table for tracking all subscribers + * + * If you update protocolDelegateTable while the protocol is running, please make sure to guard with @synchronized. + */ +@property (nullable, strong, nonatomic) NSHashTable> *protocolDelegateTable; + +/** + * A security manager for sending encrypted data. + */ +@property (nullable, nonatomic, strong) id securityManager; + +/** + * The app's id + */ +@property (nonatomic, copy) NSString *appId; + +#pragma mark - Sending + +/** + * Pre-configure protocol header for specified service type + * + * This is used to initialize Session ID before starting a protocol. + * + * @param header The header which is applied to the service type + * @param serviceType A SDLServiceType object + * @return YES if the header is successfully set, NO otherwise + */ +- (BOOL)storeHeader:(SDLProtocolHeader *)header forServiceType:(SDLServiceType)serviceType; -// Sending +/** + * Sends a start service message to Core + * + * @param serviceType A SDLServiceType object + * @param payload The data to send in the message + */ - (void)startServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload; + +/** + * Sends a secure start service message to Core + * + * @param serviceType A SDLServiceType object + * @param payload The data to send in the message + * @param completionHandler The handler is called when the secure service is started. If a secure service can not be started, an error message is also returned + */ - (void)startSecureServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload completionHandler:(void (^)(BOOL success, NSError *error))completionHandler; + +/** + * Sends an end service message to Core + * + * @param serviceType A SDLServiceType object + */ - (void)endServiceWithType:(SDLServiceType)serviceType; + +/** + * Sends a Register Secondary Transport control frame to Core + */ +- (void)registerSecondaryTransport; + +/** + * Sends an unencrypted RPC to Core + * + * @param message A SDLRPCMessage message + */ - (void)sendRPC:(SDLRPCMessage *)message; + +/** + * Sends an RPC to Core + * + * @param message A SDLRPCMessage message + * @param encryption Whether or not the message should be encrypted + * @param error A pointer to a NSError object + * @return YES if the message was created successfully, NO if not + */ - (BOOL)sendRPC:(SDLRPCMessage *)message encrypted:(BOOL)encryption error:(NSError **)error; + +/** + * Sends an unencrypted message to Core + * + * @param data The data to send + * @param serviceType A SDLServiceType object + */ - (void)sendRawData:(NSData *)data withServiceType:(SDLServiceType)serviceType; + +/** + * Sends an encrypted message to Core + * + * @param data The data to send + * @param serviceType A SDLServiceType object + */ - (void)sendEncryptedRawData:(NSData *)data onService:(SDLServiceType)serviceType; -// Recieving +#pragma mark - Recieving + +/** + * Turns received bytes into message objects. + * + * @param receivedData The data received from Core + */ - (void)handleBytesFromTransport:(NSData *)receivedData; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocol.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocol.m index 4093dbf..ab6eb64 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocol.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocol.m @@ -4,10 +4,11 @@ #import "SDLFunctionID.h" -#import "SDLAbstractTransport.h" +#import "SDLTransportType.h" #import "SDLControlFramePayloadConstants.h" #import "SDLControlFramePayloadEndService.h" #import "SDLControlFramePayloadNak.h" +#import "SDLControlFramePayloadRegisterSecondaryTransportNak.h" #import "SDLControlFramePayloadRPCStartService.h" #import "SDLControlFramePayloadRPCStartServiceAck.h" #import "SDLLogMacros.h" @@ -63,6 +64,7 @@ - (instancetype)init { _receiveQueue = dispatch_queue_create("com.sdl.protocol.receive", DISPATCH_QUEUE_SERIAL); _sendQueue = dispatch_queue_create("com.sdl.protocol.transmit", DISPATCH_QUEUE_SERIAL); _prioritizedCollection = [[SDLPrioritizedObjectCollection alloc] init]; + _protocolDelegateTable = [NSHashTable weakObjectsHashTable]; _serviceHeaders = [[NSMutableDictionary alloc] init]; _messageRouter = [[SDLProtocolReceivedMessageRouter alloc] init]; _messageRouter.delegate = self; @@ -73,6 +75,16 @@ - (instancetype)init { #pragma mark - Service metadata +- (BOOL)storeHeader:(SDLProtocolHeader *)header forServiceType:(SDLServiceType)serviceType { + if (header == nil) { + return NO; + } + + SDLLogD(@"Storing SessionID %i of serviceType %i", header.sessionID, serviceType); + self.serviceHeaders[@(serviceType)] = [header copy]; + return YES; +} + - (UInt8)sdl_retrieveSessionIDforServiceType:(SDLServiceType)serviceType { SDLProtocolHeader *header = self.serviceHeaders[@(serviceType)]; if (header == nil) { @@ -82,6 +94,43 @@ - (UInt8)sdl_retrieveSessionIDforServiceType:(SDLServiceType)serviceType { return header.sessionID; } +#pragma mark - SDLTransportDelegate + +- (void)onTransportConnected { + NSArray> *listeners; + @synchronized(self.protocolDelegateTable) { + listeners = self.protocolDelegateTable.allObjects; + } + for (id listener in listeners) { + if ([listener respondsToSelector:@selector(onProtocolOpened)]) { + [listener onProtocolOpened]; + } + } +} + +- (void)onTransportDisconnected { + NSArray> *listeners; + @synchronized(self.protocolDelegateTable) { + listeners = self.protocolDelegateTable.allObjects; + } + for (id listener in listeners) { + if ([listener respondsToSelector:@selector(onProtocolClosed)]) { + [listener onProtocolClosed]; + } + } +} + +- (void)onDataReceived:(NSData *)receivedData { + [self handleBytesFromTransport:receivedData]; +} + +- (void)onError:(NSError *)error { + for (id listener in self.protocolDelegateTable.allObjects) { + if ([listener respondsToSelector:@selector(onTransportError:)]) { + [listener onTransportError:error]; + } + } +} #pragma mark - Start Service @@ -188,6 +237,23 @@ - (void)endServiceWithType:(SDLServiceType)serviceType { } +#pragma mark - Register Secondary Transport + +- (void)registerSecondaryTransport { + SDLProtocolHeader *header = [SDLProtocolHeader headerForVersion:(UInt8)[SDLGlobals sharedGlobals].majorProtocolVersion]; + header.frameType = SDLFrameTypeControl; + header.serviceType = SDLServiceTypeControl; + header.frameData = SDLFrameInfoRegisterSecondaryTransport; + header.sessionID = [self sdl_retrieveSessionIDforServiceType:SDLServiceTypeControl]; + if ([SDLGlobals sharedGlobals].majorProtocolVersion >= 2) { + [((SDLV2ProtocolHeader *)header) setMessageID:++_messageID]; + } + + SDLProtocolMessage *message = [SDLProtocolMessage messageWithHeader:header andPayload:nil]; + [self sdl_sendDataToTransport:message.data onService:SDLServiceTypeControl]; +} + + #pragma mark - Send Data - (void)sendRPC:(SDLRPCMessage *)message { @@ -436,7 +502,8 @@ - (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceA self.serviceHeaders[@(startServiceACK.header.serviceType)] = [startServiceACK.header copy]; // Pass along to all the listeners - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(handleProtocolStartServiceACKMessage:)]) { [listener handleProtocolStartServiceACKMessage:startServiceACK]; } @@ -446,7 +513,8 @@ - (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceA - (void)handleProtocolStartServiceNAKMessage:(SDLProtocolMessage *)startServiceNAK { [self sdl_logControlNAKPayload:startServiceNAK]; - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(handleProtocolStartServiceNAKMessage:)]) { [listener handleProtocolStartServiceNAKMessage:startServiceNAK]; } @@ -457,7 +525,8 @@ - (void)handleProtocolEndServiceACKMessage:(SDLProtocolMessage *)endServiceACK { // Remove the session id [self.serviceHeaders removeObjectForKey:@(endServiceACK.header.serviceType)]; - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(handleProtocolEndServiceACKMessage:)]) { [listener handleProtocolEndServiceACKMessage:endServiceACK]; } @@ -467,13 +536,34 @@ - (void)handleProtocolEndServiceACKMessage:(SDLProtocolMessage *)endServiceACK { - (void)handleProtocolEndServiceNAKMessage:(SDLProtocolMessage *)endServiceNAK { [self sdl_logControlNAKPayload:endServiceNAK]; - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(handleProtocolEndServiceNAKMessage:)]) { [listener handleProtocolEndServiceNAKMessage:endServiceNAK]; } } } +- (void)handleProtocolRegisterSecondaryTransportACKMessage:(SDLProtocolMessage *)registerSecondaryTransportACK { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { + if ([listener respondsToSelector:@selector(handleProtocolRegisterSecondaryTransportACKMessage:)]) { + [listener handleProtocolRegisterSecondaryTransportACKMessage:registerSecondaryTransportACK]; + } + } +} + +- (void)handleProtocolRegisterSecondaryTransportNAKMessage:(SDLProtocolMessage *)registerSecondaryTransportNAK { + [self sdl_logControlNAKPayload:registerSecondaryTransportNAK]; + + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { + if ([listener respondsToSelector:@selector(handleProtocolRegisterSecondaryTransportNAKMessage:)]) { + [listener handleProtocolRegisterSecondaryTransportNAKMessage:registerSecondaryTransportNAK]; + } + } +} + - (void)handleHeartbeatForSession:(Byte)session { // Respond with a heartbeat ACK SDLProtocolHeader *header = [SDLProtocolHeader headerForVersion:(UInt8)[SDLGlobals sharedGlobals].majorProtocolVersion]; @@ -484,7 +574,8 @@ - (void)handleHeartbeatForSession:(Byte)session { SDLProtocolMessage *message = [SDLProtocolMessage messageWithHeader:header andPayload:nil]; [self sdl_sendDataToTransport:message.data onService:header.serviceType]; - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(handleHeartbeatForSession:)]) { [listener handleHeartbeatForSession:session]; } @@ -492,13 +583,23 @@ - (void)handleHeartbeatForSession:(Byte)session { } - (void)handleHeartbeatACK { - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(handleHeartbeatACK)]) { [listener handleHeartbeatACK]; } } } +- (void)handleTransportEventUpdateMessage:(SDLProtocolMessage *)transportEventUpdate { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { + if ([listener respondsToSelector:@selector(handleTransportEventUpdateMessage:)]) { + [listener handleTransportEventUpdateMessage:transportEventUpdate]; + } + } +} + - (void)onProtocolMessageReceived:(SDLProtocolMessage *)msg { // Control service (but not control frame type) messages are TLS handshake messages if (msg.header.serviceType == SDLServiceTypeControl) { @@ -506,7 +607,8 @@ - (void)onProtocolMessageReceived:(SDLProtocolMessage *)msg { return; } - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(onProtocolMessageReceived:)]) { [listener onProtocolMessageReceived:msg]; } @@ -514,7 +616,8 @@ - (void)onProtocolMessageReceived:(SDLProtocolMessage *)msg { } - (void)onProtocolOpened { - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(onProtocolOpened)]) { [listener onProtocolOpened]; } @@ -522,7 +625,8 @@ - (void)onProtocolOpened { } - (void)onProtocolClosed { - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(onProtocolClosed)]) { [listener onProtocolClosed]; } @@ -530,7 +634,8 @@ - (void)onProtocolClosed { } - (void)onError:(NSString *)info exception:(NSException *)e { - for (id listener in self.protocolDelegateTable.allObjects) { + NSArray> *listeners = [self sdl_getProtocolListeners]; + for (id listener in listeners) { if ([listener respondsToSelector:@selector(onError:exception:)]) { [listener onError:info exception:e]; } @@ -538,12 +643,29 @@ - (void)onError:(NSString *)info exception:(NSException *)e { } - (void)sdl_logControlNAKPayload:(SDLProtocolMessage *)nakMessage { - if (nakMessage.header.version >= 5) { - SDLControlFramePayloadNak *endServiceNakPayload = [[SDLControlFramePayloadNak alloc] initWithData:nakMessage.payload]; - NSArray *rejectedParams = endServiceNakPayload.rejectedParams; - if (rejectedParams.count > 0) { - SDLLogE(@"Start Service NAK'd, service type: %@, rejectedParams: %@", @(nakMessage.header.serviceType), rejectedParams); - } + switch (nakMessage.header.frameData) { + case SDLFrameInfoStartServiceNACK: // fallthrough + case SDLFrameInfoEndServiceNACK: { + if (nakMessage.header.version >= 5) { + SDLControlFramePayloadNak *endServiceNakPayload = [[SDLControlFramePayloadNak alloc] initWithData:nakMessage.payload]; + NSArray *rejectedParams = endServiceNakPayload.rejectedParams; + if (rejectedParams.count > 0) { + SDLLogE(@"Start Service NAK'd, service type: %@, rejectedParams: %@", @(nakMessage.header.serviceType), rejectedParams); + } + } + } break; + case SDLFrameInfoRegisterSecondaryTransportNACK: { + SDLControlFramePayloadRegisterSecondaryTransportNak *payload = [[SDLControlFramePayloadRegisterSecondaryTransportNak alloc] initWithData:nakMessage.payload]; + SDLLogE(@"Register Secondary Transport NAK'd, reason: %@", payload.reason); + } break; + default: + break; + } +} + +- (NSArray> *)sdl_getProtocolListeners { + @synchronized(self.protocolDelegateTable) { + return self.protocolDelegateTable.allObjects; } } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolConstants.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolConstants.h new file mode 100644 index 0000000..592605b --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolConstants.h @@ -0,0 +1,82 @@ +// +// SDLProtocolConstants.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/1/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import +/** + * The data packet's header and payload combination. + + - SDLFrameTypeControl: Lowest-level type of packets. They can be sent over any of the defined services. They are used for the control of the services in which they are sent. + - SDLFrameTypeSingle: Contains all the data for a particular packet in the payload. The majority of frames sent over the protocol utilize this frame type. + - SDLFrameTypeFirst: The First Frame in a multiple frame payload contains information about the entire sequence of frames so that the receiving end can correctly parse all the frames and reassemble the entire payload. The payload of this frame is only eight bytes and contains information regarding the rest of the sequence. + - SDLFrameTypeConsecutive: The Consecutive Frames in a multiple frame payload contain the actual raw data of the original payload. The parsed payload contained in each of the Consecutive Frames' payloads should be buffered until the entire sequence is complete. + */ +typedef NS_ENUM(UInt8, SDLFrameType) { + SDLFrameTypeControl = 0x00, + SDLFrameTypeSingle = 0x01, + SDLFrameTypeFirst = 0x02, + SDLFrameTypeConsecutive = 0x03 +}; + +/** + * The data packet's format and priority. + + - SDLServiceTypeControl: The lowest level service available. + - SDLServiceTypeRPC: Used to send requests, responses, and notifications between an application and a head unit. + - SDLServiceTypeAudio: The application can start the audio service to send PCM audio data to the head unit. After the StartService packet is sent and the ACK received, the payload for the Audio Service is only PCM audio data. + - SDLServiceTypeVideo: The application can start the video service to send H.264 video data to the head unit. After the StartService packet is sent and the ACK received, the payload for the Video Service is only H.264 video data. + - SDLServiceTypeBulkData: Similar to the RPC Service but adds a bulk data field. The payload of a message sent via the Hybrid service consists of a Binary Header, JSON Data, and Bulk Data. + */ +typedef NS_ENUM(UInt8, SDLServiceType) { + SDLServiceTypeControl = 0x00, + SDLServiceTypeRPC NS_SWIFT_NAME(rpc) = 0x07, + SDLServiceTypeAudio = 0x0A, + SDLServiceTypeVideo = 0x0B, + SDLServiceTypeBulkData = 0x0F +}; + +/** + * The data packet's available data. + + - SDLFrameInfoHeartbeat: A ping packet that is sent to ensure the connection is still active and the service is still valid. + - SDLFrameInfoStartService: Requests that a specific type of service is started. + - SDLFrameInfoStartServiceACK: Acknowledges that the specific service has been started successfully. + - SDLFrameInfoStartServiceNACK: Negatively acknowledges that the specific service was not started. + - SDLFrameInfoEndService: Requests that a specific type of service is ended. + - SDLFrameInfoEndServiceACK: Acknowledges that the specific service has been ended successfully. + - SDLFrameInfoEndServiceNACK: Negatively acknowledges that the specific service was not ended or has not yet been started. + - SDLFrameInfoRegisterSecondaryTransport: Notifies that a Secondary Transport has been established. + - SDLFrameInfoRegisterSecondaryTransportACK: Acknowledges that the Secondary Transport has been recognized. + - SDLFrameInfoRegisterSecondaryTransportNACK: Negatively acknowledges that the Secondary Transport has not been recognized. + - SDLFrameInfoTransportEventUpdate: Indicates the status or configuration of transport(s) is/are updated. + - SDLFrameInfoServiceDataAck: Deprecated. + - SDLFrameInfoHeartbeatACK: Acknowledges that a Heartbeat control packet has been received. + - SDLFrameInfoSingleFrame: Payload contains a single packet. + - SDLFrameInfoFirstFrame: First frame in a multiple frame payload. + - SDLFrameInfoConsecutiveLastFrame: Frame in a multiple frame payload. + */ +typedef NS_ENUM(UInt8, SDLFrameInfo) { + SDLFrameInfoHeartbeat = 0x00, + SDLFrameInfoStartService = 0x01, + SDLFrameInfoStartServiceACK = 0x02, + SDLFrameInfoStartServiceNACK = 0x03, + SDLFrameInfoEndService = 0x04, + SDLFrameInfoEndServiceACK = 0x05, + SDLFrameInfoEndServiceNACK = 0x06, + SDLFrameInfoRegisterSecondaryTransport = 0x07, + SDLFrameInfoRegisterSecondaryTransportACK = 0x08, + SDLFrameInfoRegisterSecondaryTransportNACK = 0x09, + SDLFrameInfoTransportEventUpdate = 0xFD, + SDLFrameInfoServiceDataAck = 0xFE, + SDLFrameInfoHeartbeatACK = 0xFF, + // If frameType == Single (0x01) + SDLFrameInfoSingleFrame = 0x00, + // If frameType == First (0x02) + SDLFrameInfoFirstFrame = 0x00, + // If frametype == Consecutive (0x03) + SDLFrameInfoConsecutiveLastFrame = 0x00 +}; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolConstants.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolConstants.m new file mode 100644 index 0000000..c60de84 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolConstants.m @@ -0,0 +1,9 @@ +// +// SDLProtocolConstants.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/1/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLProtocolConstants.h" diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolHeader.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolHeader.h index e285395..4d9550a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolHeader.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolHeader.h @@ -3,39 +3,7 @@ #import - -typedef NS_ENUM(UInt8, SDLFrameType) { - SDLFrameTypeControl = 0x00, - SDLFrameTypeSingle = 0x01, - SDLFrameTypeFirst = 0x02, - SDLFrameTypeConsecutive = 0x03 -}; - -typedef NS_ENUM(UInt8, SDLServiceType) { - SDLServiceTypeControl = 0x00, - SDLServiceTypeRPC NS_SWIFT_NAME(rpc) = 0x07, - SDLServiceTypeAudio = 0x0A, - SDLServiceTypeVideo = 0x0B, - SDLServiceTypeBulkData = 0x0F -}; - -typedef NS_ENUM(UInt8, SDLFrameInfo) { - SDLFrameInfoHeartbeat = 0x00, - SDLFrameInfoStartService = 0x01, - SDLFrameInfoStartServiceACK = 0x02, - SDLFrameInfoStartServiceNACK = 0x03, - SDLFrameInfoEndService = 0x04, - SDLFrameInfoEndServiceACK = 0x05, - SDLFrameInfoEndServiceNACK = 0x06, - SDLFrameInfoServiceDataAck = 0xFE, - SDLFrameInfoHeartbeatACK = 0xFF, - // If frameType == Single (0x01) - SDLFrameInfoSingleFrame = 0x00, - // If frameType == First (0x02) - SDLFrameInfoFirstFrame = 0x00, - // If frametype == Consecutive (0x03) - SDLFrameInfoConsecutiveLastFrame = 0x00 -}; +#import "SDLProtocolConstants.h" NS_ASSUME_NONNULL_BEGIN @@ -44,20 +12,92 @@ NS_ASSUME_NONNULL_BEGIN NSUInteger _size; } +/** + * The protocol version. The frame header differs between versions. + */ @property (assign, nonatomic, readonly) UInt8 version; + +/** + * The total size of the data packet. + */ @property (assign, nonatomic, readonly) NSUInteger size; + +/** + * Whether or not the data packet is encrypted. + * + * @note Only available in Protocol Version 2 and higher. + */ @property (assign, nonatomic) BOOL encrypted; + +/** + * The data packet's header and payload combination. + */ @property (assign, nonatomic) SDLFrameType frameType; + +/** + * The data packet's payload format and priority. Lower values for service type have higher delivery priority. + */ @property (assign, nonatomic) SDLServiceType serviceType; + +/** + * The type of data in the packet. This differs based on the control frame type and the service type. + */ @property (assign, nonatomic) SDLFrameInfo frameData; + +/** + * The session identifier. + */ @property (assign, nonatomic) UInt8 sessionID; + +/** + * The payload size differs if the frame type is first frame or single or consecutive frame: + * First frame: The data size for a first frame is always 8 bytes. In the payload, the first four bytes denote the total size of the data contained in all consecutive frames, and the second four bytes denote the number of consecutive frames following this one. + * Single or consecutive frame: The total bytes in this frame's payload. + */ @property (assign, nonatomic) UInt32 bytesInPayload; +/** + * The initializer for the class. + * + * @return A SDLProtocolHeader object + */ - (instancetype)init; + +/** + * Not implemented + * + * @return Unused + */ - (nullable NSData *)data; + +/** + * Not implemented + * + * @param data Unused + */ - (void)parse:(NSData *)data; + +/** + * Prints a description of the SDLProtocolHeader object. + * + * @return A string description of the SDLProtocolHeader object + */ - (NSString *)description; + +/** + * Returns the correct header for the protocol version. + * + * @param version The protocol version + * @return A SDLProtocolHeader object + */ + (__kindof SDLProtocolHeader *)headerForVersion:(UInt8)version; + +/** + * For use in decoding a stream of bytes. + * + * @param data Bytes representing message (or beginning of message) + * @return The version number + */ + (UInt8)determineVersion:(NSData *)data; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolListener.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolListener.h index 7888a9e..e944f25 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolListener.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolListener.h @@ -10,20 +10,88 @@ NS_ASSUME_NONNULL_BEGIN @protocol SDLProtocolListener @optional -// v4.7.0 protocol handlers + +#pragma mark - v4.7.0 protocol handlers + +/** + * Called when the message is a start service success message. + * + * @param startServiceACK A SDLProtocolMessage object + */ - (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceACK; + +/** + * Called when the message is a start service failed message. + * + * @param startServiceNAK A SDLProtocolMessage object + */ - (void)handleProtocolStartServiceNAKMessage:(SDLProtocolMessage *)startServiceNAK; + +/** + * Called when the message is a end service success message. + * + * @param endServiceACK A SDLProtocolMessage object + */ - (void)handleProtocolEndServiceACKMessage:(SDLProtocolMessage *)endServiceACK; + +/** + * Called when the message is a end service failed message. + * + * @param endServiceNAK A SDLProtocolMessage object + */ - (void)handleProtocolEndServiceNAKMessage:(SDLProtocolMessage *)endServiceNAK; +- (void)handleProtocolRegisterSecondaryTransportACKMessage:(SDLProtocolMessage *)registerSecondaryTransportACK; +- (void)handleProtocolRegisterSecondaryTransportNAKMessage:(SDLProtocolMessage *)registerSecondaryTransportNAK; +- (void)handleTransportEventUpdateMessage:(SDLProtocolMessage *)transportEventUpdate; + +#pragma mark - Older protocol handlers -// Older protocol handlers +/** + * Called when the message is a heartbeat message. + * + * @param session Session number + */ - (void)handleHeartbeatForSession:(Byte)session; + +/** + * Called when the message is a heartbeat success message. + */ - (void)handleHeartbeatACK; + +/** + * Called when the message is protocol message. + * + * @param msg A SDLProtocolMessage object + */ - (void)onProtocolMessageReceived:(SDLProtocolMessage *)msg; + +/** + * Called when the message is a protocol opened message. + */ - (void)onProtocolOpened; + +/** + * Called when the message is a protocol closed message. + */ - (void)onProtocolClosed; + +/** + * Called when the message is an error message. + * + * @param info The error info message + * @param e The exception + */ - (void)onError:(NSString *)info exception:(NSException *)e; +/** + * Called when an error is notified from transport. + * + * Note: currently, this is used only by TCP transport. + * + * @param error The type of the error + */ +- (void)onTransportError:(NSError *)error; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolMessage.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolMessage.h index 4028ec4..2fb741a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolMessage.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolMessage.h @@ -9,15 +9,50 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLProtocolMessage : NSObject +/** + * The message's header. + */ @property (strong, nonatomic) SDLProtocolHeader *header; + +/** + * The message's payload. + */ @property (nullable, strong, nonatomic) NSData *payload; + +/** + * Returns the message's header and payload data. + */ @property (strong, nonatomic, readonly) NSData *data; +/** + * Creates a SDLProtocolMessage object with the provided header and payload. + * + * @param header A SDLProtocolHeader object + * @param payload The data to be passed in the message + * @return A SDLProtocolMessage object + */ + (instancetype)messageWithHeader:(SDLProtocolHeader *)header andPayload:(nullable NSData *)payload; // Returns a V1 or V2 object +/** + * Returns the total size of the message. + * + * @return The size of the message + */ - (NSUInteger)size; + +/** + * Prints a description of the SDLProtocolMessage object. + * + * @return A string description of the SDLProtocolMessage + */ - (NSString *)description; -- (nullable NSDictionary *)rpcDictionary; // Use for RPC type messages to obtain the data in a dictionary + +/** + * Used for RPC type messages to obtain the data in a dictionary. + * + * @return The data in a dictionary + */ +- (nullable NSDictionary *)rpcDictionary; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolReceivedMessageRouter.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolReceivedMessageRouter.h index c153c0c..30cafa5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolReceivedMessageRouter.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolReceivedMessageRouter.h @@ -9,8 +9,16 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLProtocolReceivedMessageRouter : NSObject +/** + * A listener. + */ @property (weak, nonatomic, nullable) id delegate; +/** + * Called when a message is received from Core. + * + * @param message A SDLProtocolMessage object + */ - (void)handleReceivedMessage:(SDLProtocolMessage *)message; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolReceivedMessageRouter.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolReceivedMessageRouter.m index cb12229..a4bbf71 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolReceivedMessageRouter.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProtocolReceivedMessageRouter.m @@ -72,6 +72,16 @@ - (void)sdl_dispatchControlMessage:(SDLProtocolMessage *)message { [self.delegate handleProtocolEndServiceNAKMessage:message]; } } break; + case SDLFrameInfoRegisterSecondaryTransportACK: { + if ([self.delegate respondsToSelector:@selector(handleProtocolRegisterSecondaryTransportACKMessage:)]) { + [self.delegate handleProtocolRegisterSecondaryTransportACKMessage:message]; + } + } break; + case SDLFrameInfoRegisterSecondaryTransportNACK: { + if ([self.delegate respondsToSelector:@selector(handleProtocolRegisterSecondaryTransportNAKMessage:)]) { + [self.delegate handleProtocolRegisterSecondaryTransportNAKMessage:message]; + } + } break; case SDLFrameInfoHeartbeat: { if ([self.delegate respondsToSelector:@selector(handleHeartbeatForSession:)]) { [self.delegate handleHeartbeatForSession:message.header.sessionID]; @@ -82,6 +92,11 @@ - (void)sdl_dispatchControlMessage:(SDLProtocolMessage *)message { [self.delegate handleHeartbeatACK]; } } break; + case SDLFrameInfoTransportEventUpdate: { + if ([self.delegate respondsToSelector:@selector(handleTransportEventUpdateMessage:)]) { + [self.delegate handleTransportEventUpdateMessage:message]; + } + } break; default: break; // Other frame data is possible, but we don't care about them } } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxy.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxy.h index 6beb28d..9049cf9 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxy.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxy.h @@ -1,57 +1,132 @@ // SDLProxy.h // -@class SDLAbstractProtocol; -@class SDLAbstractTransport; @class SDLProtocol; @class SDLPutFile; @class SDLRPCMessage; +@class SDLSecondaryTransportManager; @class SDLStreamingMediaManager; @class SDLTimer; #import "SDLProtocolListener.h" #import "SDLProxyListener.h" #import "SDLSecurityType.h" +#import "SDLTransportType.h" NS_ASSUME_NONNULL_BEGIN -__deprecated_msg("Use SDLManager instead") - @interface SDLProxy : NSObject { +@interface SDLProxy : NSObject { Byte _version; Byte _bulkSessionID; BOOL _isConnected; } -@property (nullable, strong, nonatomic) SDLAbstractProtocol *protocol; -@property (nullable, strong, nonatomic) SDLAbstractTransport *transport; +/** + * The protocol that handles sending and receiving messages from Core. + */ +@property (nullable, strong, nonatomic) SDLProtocol *protocol; + +/** + * The transport type used to connect the app to Core. + */ +@property (nullable, strong, nonatomic) id transport; + +/** + * A set of all subscribers. + */ @property (readonly, copy, nonatomic) NSSet *> *proxyListeners; + +/** + * Closes an open session if no start service ACK message received from Core within a given amount of time. + */ @property (strong, nonatomic) SDLTimer *startSessionTimer; -@property (copy, nonatomic) NSString *debugConsoleGroupName; + +/** + * The proxy version number. + */ @property (readonly, copy, nonatomic) NSString *proxyVersion; -- (id)initWithTransport:(SDLAbstractTransport *)transport - protocol:(SDLAbstractProtocol *)protocol - delegate:(NSObject *)delegate; +/** + * Convenience init. + * + * @param transport The type of network connection + * @param delegate The subscriber + * @param secondaryTransportManager The secondary transport manager + * @return A SDLProxy object + */ +- (id)initWithTransport:(id)transport delegate:(id)delegate secondaryTransportManager:(nullable SDLSecondaryTransportManager *)secondaryTransportManager; +/** + * Creates a SDLProxy object with an iap (USB / Bluetooth) transport network connection. + * + * @param delegate The subscriber + * @param secondaryTransportManager The secondary transport manager + * @return A SDLProxy object + */ ++ (SDLProxy *)iapProxyWithListener:(id)delegate secondaryTransportManager:(nullable SDLSecondaryTransportManager *)secondaryTransportManager; + +/** + * Creates a SDLProxy object with a TCP (WiFi) transport network connection. + * + * @param delegate The subscriber + * @param ipaddress The IP address of Core + * @param port The port address of Core + * @param secondaryTransportManager The secondary transport manager + * @return A SDLProxy object + */ ++ (SDLProxy *)tcpProxyWithListener:(id)delegate tcpIPAddress:(NSString *)ipaddress tcpPort:(NSString *)port secondaryTransportManager:(nullable SDLSecondaryTransportManager *)secondaryTransportManager; + +/** + * Adds a delegate. + * + * @param delegate The delegate to add + */ - (void)addDelegate:(NSObject *)delegate; + +/** + * Removes a delegate. + * + * @param delegate The delegate to remove + */ - (void)removeDelegate:(NSObject *)delegate; +/** + * Sends a RPC to Core. + * + * @param message A SDLRPCMessage object + */ - (void)sendRPC:(SDLRPCMessage *)message; +/** + * Parses a dictionary object and notifies the subscribed delegates of the messages sent by Core. Some messages are also intercepted and handled by the library. + * + * @param dictionary The message data + */ - (void)handleRPCDictionary:(NSDictionary *)dictionary; +/** + * Parses a SDLProtocolMessage object and notifies the subscribed delegates of the messages sent by Core. Some messages are also intercepted and handled by the library. + * + * @param msgData The message data + */ - (void)handleProtocolMessage:(SDLProtocolMessage *)msgData; +/** + * Adds the security manangers needed to send encrypted data. + * + * @param securityManagerClasses The security manager classes + * @param appId The app's id + */ - (void)addSecurityManagers:(NSArray *)securityManagerClasses forAppId:(NSString *)appId; /** - * Puts data into a file on the module - * @abstract Performs a putFile for a given input stream, performed in chunks, for handling very large files. - * @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 based on the max MTU size and send them in individual putFile requests. - * 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. + * Puts data into a file on the module. Performs a putFile for a given input stream, performed in chunks, for handling very large files. + * + * @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 based on the max MTU size and send them in individual putFile requests. 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/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxy.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxy.m index cc2a5f7..4d78fcf 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxy.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxy.m @@ -6,7 +6,6 @@ #import #import -#import "SDLAbstractTransport.h" #import "SDLAudioStreamingState.h" #import "SDLLogMacros.h" #import "SDLEncodedSyncPData.h" @@ -14,10 +13,12 @@ #import "SDLFunctionID.h" #import "SDLGlobals.h" #import "SDLHMILevel.h" +#import "SDLIAPTransport.h" #import "SDLLanguage.h" #import "SDLLayoutMode.h" #import "SDLLockScreenStatusManager.h" - +#import "SDLOnButtonEvent.h" +#import "SDLOnButtonPress.h" #import "SDLOnHMIStatus.h" #import "SDLOnSystemRequest.h" #import "SDLPolicyDataParser.h" @@ -28,10 +29,15 @@ #import "SDLRPCResponse.h" #import "SDLRegisterAppInterfaceResponse.h" #import "SDLRequestType.h" +#import "SDLSecondaryTransportManager.h" #import "SDLStreamingMediaManager.h" +#import "SDLSubscribeButton.h" #import "SDLSystemContext.h" #import "SDLSystemRequest.h" +#import "SDLTCPTransport.h" #import "SDLTimer.h" +#import "SDLTransportType.h" +#import "SDLUnsubscribeButton.h" #import "SDLVehicleType.h" NS_ASSUME_NONNULL_BEGIN @@ -41,7 +47,7 @@ typedef void (^URLSessionTaskCompletionHandler)(NSData *data, NSURLResponse *response, NSError *error); typedef void (^URLSessionDownloadTaskCompletionHandler)(NSURL *location, NSURLResponse *response, NSError *error); -NSString *const SDLProxyVersion = @"5.2.0"; +NSString *const SDLProxyVersion = @"6.1.0"; const float StartSessionTime = 10.0; const float NotifyProxyClosedDelay = (float)0.1; const int PoliciesCorrelationId = 65535; @@ -64,21 +70,26 @@ @interface SDLProxy () { @implementation SDLProxy #pragma mark - Object lifecycle -- (instancetype)initWithTransport:(SDLAbstractTransport *)transport protocol:(SDLAbstractProtocol *)protocol delegate:(NSObject *)theDelegate { +- (instancetype)initWithTransport:(id)transport delegate:(id)delegate secondaryTransportManager:(nullable SDLSecondaryTransportManager *)secondaryTransportManager { if (self = [super init]) { SDLLogD(@"Framework Version: %@", self.proxyVersion); - _debugConsoleGroupName = @"default"; _lsm = [[SDLLockScreenStatusManager alloc] init]; _rpcProcessingQueue = dispatch_queue_create("com.sdl.rpcProcessingQueue", DISPATCH_QUEUE_SERIAL); - - _mutableProxyListeners = [NSMutableSet setWithObject:theDelegate]; + _mutableProxyListeners = [NSMutableSet setWithObject:delegate]; _securityManagers = [NSMutableDictionary dictionary]; - _protocol = protocol; + + _protocol = [[SDLProtocol alloc] init]; _transport = transport; - _transport.delegate = protocol; + _transport.delegate = _protocol; + [_protocol.protocolDelegateTable addObject:self]; _protocol.transport = transport; + // make sure that secondary transport manager is started prior to starting protocol + if (secondaryTransportManager != nil) { + [secondaryTransportManager startWithPrimaryProtocol:_protocol]; + } + [self.transport connect]; SDLLogV(@"Proxy transport initialization"); @@ -96,6 +107,21 @@ - (instancetype)initWithTransport:(SDLAbstractTransport *)transport protocol:(SD return self; } ++ (SDLProxy *)iapProxyWithListener:(id)delegate secondaryTransportManager:(nullable SDLSecondaryTransportManager *)secondaryTransportManager { + SDLIAPTransport *transport = [[SDLIAPTransport alloc] init]; + SDLProxy *ret = [[SDLProxy alloc] initWithTransport:transport delegate:delegate secondaryTransportManager:secondaryTransportManager]; + + return ret; +} + ++ (SDLProxy *)tcpProxyWithListener:(id)delegate tcpIPAddress:(NSString *)ipaddress tcpPort:(NSString *)port secondaryTransportManager:(nullable SDLSecondaryTransportManager *)secondaryTransportManager { + SDLTCPTransport *transport = [[SDLTCPTransport alloc] initWithHostName:ipaddress portNumber:port]; + + SDLProxy *ret = [[SDLProxy alloc] initWithTransport:transport delegate:delegate secondaryTransportManager:secondaryTransportManager]; + + return ret; +} + - (void)dealloc { if (self.protocol.securityManager != nil) { [self.protocol.securityManager stop]; @@ -227,6 +253,10 @@ - (void)onError:(NSString *)info exception:(NSException *)e { [self invokeMethodOnDelegates:@selector(onError:) withObject:e]; } +- (void)onTransportError:(NSError *)error { + [self invokeMethodOnDelegates:@selector(onTransportError:) withObject:error]; +} + - (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceACK { // Turn off the timer, the start session response came back [self.startSessionTimer cancel]; @@ -246,8 +276,16 @@ - (void)onProtocolMessageReceived:(SDLProtocolMessage *)msgData { } -#pragma mark - Message sending and recieving +#pragma mark - Message sending - (void)sendRPC:(SDLRPCMessage *)message { + if ([message.getFunctionName isEqualToString:@"SubscribeButton"]) { + BOOL handledRPC = [self sdl_adaptButtonSubscribeMessage:(SDLSubscribeButton *)message]; + if (handledRPC) { return; } + } else if ([message.getFunctionName isEqualToString:@"UnsubscribeButton"]) { + BOOL handledRPC = [self sdl_adaptButtonUnsubscribeMessage:(SDLUnsubscribeButton *)message]; + if (handledRPC) { return; } + } + @try { [self.protocol sendRPC:message]; } @catch (NSException *exception) { @@ -255,6 +293,85 @@ - (void)sendRPC:(SDLRPCMessage *)message { } } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +- (BOOL)sdl_adaptButtonSubscribeMessage:(SDLSubscribeButton *)message { + if ([SDLGlobals sharedGlobals].rpcVersion.majorVersion.intValue >= 5) { + if ([message.buttonName isEqualToEnum:SDLButtonNameOk]) { + SDLSubscribeButton *playPauseMessage = [message copy]; + playPauseMessage.buttonName = SDLButtonNamePlayPause; + + @try { + [self.protocol sendRPC:message]; + [self.protocol sendRPC:playPauseMessage]; + } @catch (NSException *exception) { + SDLLogE(@"Proxy: Failed to send RPC message: %@", message.name); + } + + return YES; + } else if ([message.buttonName isEqualToEnum:SDLButtonNamePlayPause]) { + return NO; + } + } else { // Major version < 5 + if ([message.buttonName isEqualToEnum:SDLButtonNameOk]) { + return NO; + } else if ([message.buttonName isEqualToEnum:SDLButtonNamePlayPause]) { + SDLSubscribeButton *okMessage = [message copy]; + okMessage.buttonName = SDLButtonNameOk; + + @try { + [self.protocol sendRPC:okMessage]; + } @catch (NSException *exception) { + SDLLogE(@"Proxy: Failed to send RPC message: %@", message.name); + } + + return YES; + } + } + + return NO; +} + +- (BOOL)sdl_adaptButtonUnsubscribeMessage:(SDLUnsubscribeButton *)message { + if ([SDLGlobals sharedGlobals].rpcVersion.majorVersion.intValue >= 5) { + if ([message.buttonName isEqualToEnum:SDLButtonNameOk]) { + SDLUnsubscribeButton *playPauseMessage = [message copy]; + playPauseMessage.buttonName = SDLButtonNamePlayPause; + + @try { + [self.protocol sendRPC:message]; + [self.protocol sendRPC:playPauseMessage]; + } @catch (NSException *exception) { + SDLLogE(@"Proxy: Failed to send RPC message: %@", message.name); + } + + return YES; + } else if ([message.buttonName isEqualToEnum:SDLButtonNamePlayPause]) { + return NO; + } + } else { // Major version < 5 + if ([message.buttonName isEqualToEnum:SDLButtonNameOk]) { + return NO; + } else if ([message.buttonName isEqualToEnum:SDLButtonNamePlayPause]) { + SDLUnsubscribeButton *okMessage = [message copy]; + okMessage.buttonName = SDLButtonNameOk; + + @try { + [self.protocol sendRPC:okMessage]; + } @catch (NSException *exception) { + SDLLogE(@"Proxy: Failed to send RPC message: %@", message.name); + } + + return YES; + } + } + + return NO; +} +#pragma clang diagnostic pop + +#pragma mark - Message Receiving + - (void)handleProtocolMessage:(SDLProtocolMessage *)incomingMessage { // Convert protocol message to dictionary NSDictionary *rpcMessageAsDictionary = [incomingMessage rpcDictionary]; @@ -278,9 +395,6 @@ - (void)handleRPCDictionary:(NSDictionary *)dict { NSString *functionClassName = [NSString stringWithFormat:@"SDL%@", functionName]; SDLRPCMessage *newMessage = [[NSClassFromString(functionClassName) alloc] initWithDictionary:[dict mutableCopy]]; - // Log the RPC message - SDLLogV(@"Message received: %@", newMessage); - // Intercept and handle several messages ourselves if ([functionName isEqualToString:SDLNameOnAppInterfaceUnregistered] || [functionName isEqualToString:SDLNameUnregisterAppInterface]) { [self handleRPCUnregistered:dict]; @@ -302,10 +416,30 @@ - (void)handleRPCDictionary:(NSDictionary *)dict { [self handleSystemRequestResponse:newMessage]; } - // Formulate the name of the method to call and invoke the method on the delegate(s) - NSString *handlerName = [NSString stringWithFormat:@"on%@:", functionName]; - SEL handlerSelector = NSSelectorFromString(handlerName); - [self invokeMethodOnDelegates:handlerSelector withObject:newMessage]; + + if ([functionName isEqualToString:@"OnButtonPress"]) { + SDLOnButtonPress *message = (SDLOnButtonPress *)newMessage; + if ([SDLGlobals sharedGlobals].rpcVersion.majorVersion.intValue >= 5) { + BOOL handledRPC = [self sdl_handleOnButtonPressPostV5:message]; + if (handledRPC) { return; } + } else { // RPC version of 4 or less (connected to an old head unit) + BOOL handledRPC = [self sdl_handleOnButtonPressPreV5:message]; + if (handledRPC) { return; } + } + } + + if ([functionName isEqualToString:@"OnButtonEvent"]) { + SDLOnButtonEvent *message = (SDLOnButtonEvent *)newMessage; + if ([SDLGlobals sharedGlobals].rpcVersion.majorVersion.intValue >= 5) { + BOOL handledRPC = [self sdl_handleOnButtonEventPostV5:message]; + if (handledRPC) { return; } + } else { + BOOL handledRPC = [self sdl_handleOnButtonEventPreV5:message]; + if (handledRPC) { return; } + } + } + + [self sdl_invokeDelegateMethodsWithFunction:functionName message:newMessage]; // When an OnHMIStatus notification comes in, after passing it on (above), generate an "OnLockScreenNotification" if ([functionName isEqualToString:@"OnHMIStatus"]) { @@ -318,6 +452,13 @@ - (void)handleRPCDictionary:(NSDictionary *)dict { } } +- (void)sdl_invokeDelegateMethodsWithFunction:(NSString *)functionName message:(SDLRPCMessage *)message { + // Formulate the name of the method to call and invoke the method on the delegate(s) + NSString *handlerName = [NSString stringWithFormat:@"on%@:", functionName]; + SEL handlerSelector = NSSelectorFromString(handlerName); + [self invokeMethodOnDelegates:handlerSelector withObject:message]; +} + #pragma mark - RPC Handlers @@ -377,6 +518,89 @@ - (void)handleSystemRequestResponse:(SDLRPCMessage *)message { SDLLogV(@"SystemRequestResponse to be discarded"); } +#pragma mark BackCompatability ButtonName Helpers + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +- (BOOL)sdl_handleOnButtonPressPreV5:(SDLOnButtonPress *)message { + // Drop PlayPause, this shouldn't come in + if ([message.buttonName isEqualToEnum:SDLButtonNamePlayPause]) { + return YES; + } else if ([message.buttonName isEqualToEnum:SDLButtonNameOk]) { + // Send Ok and Play/Pause notifications + SDLOnButtonPress *playPausePress = [message copy]; + playPausePress.buttonName = SDLButtonNamePlayPause; + + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:playPausePress]; + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:message]; + return YES; + } + + return NO; +} + +- (BOOL)sdl_handleOnButtonPressPostV5:(SDLOnButtonPress *)message { + if ([message.buttonName isEqualToEnum:SDLButtonNamePlayPause]) { + // Send PlayPause & OK notifications + SDLOnButtonPress *okPress = [message copy]; + okPress.buttonName = SDLButtonNameOk; + + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:okPress]; + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:message]; + return YES; + } else if ([message.buttonName isEqualToEnum:SDLButtonNameOk]) { + // Send PlayPause and OK notifications + SDLOnButtonPress *playPausePress = [message copy]; + playPausePress.buttonName = SDLButtonNamePlayPause; + + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:playPausePress]; + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:message]; + return YES; + } + + return NO; +} + +- (BOOL)sdl_handleOnButtonEventPreV5:(SDLOnButtonEvent *)message { + // Drop PlayPause, this shouldn't come in + if ([message.buttonName isEqualToEnum:SDLButtonNamePlayPause]) { + return YES; + } else if ([message.buttonName isEqualToEnum:SDLButtonNameOk]) { + // Send Ok and Play/Pause notifications + SDLOnButtonEvent *playPauseEvent = [message copy]; + playPauseEvent.buttonName = SDLButtonNamePlayPause; + + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:playPauseEvent]; + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:message]; + return YES; + } + + return NO; +} + +- (BOOL)sdl_handleOnButtonEventPostV5:(SDLOnButtonEvent *)message { + if ([message.buttonName isEqualToEnum:SDLButtonNamePlayPause]) { + // Send PlayPause & OK notifications + SDLOnButtonEvent *okEvent = [message copy]; + okEvent.buttonName = SDLButtonNameOk; + + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:okEvent]; + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:message]; + return YES; + } else if ([message.buttonName isEqualToEnum:SDLButtonNameOk]) { + // Send PlayPause and OK notifications + SDLOnButtonEvent *playPauseEvent = [message copy]; + playPauseEvent.buttonName = SDLButtonNamePlayPause; + + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:playPauseEvent]; + [self sdl_invokeDelegateMethodsWithFunction:message.getFunctionName message:message]; + return YES; + } + + return NO; +} +#pragma clang diagnostic pop + #pragma mark Handle Post-Invoke of Delegate Methods - (void)handleAfterHMIStatus:(SDLRPCMessage *)message { diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyFactory.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyFactory.h deleted file mode 100644 index 5d2212e..0000000 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyFactory.h +++ /dev/null @@ -1,23 +0,0 @@ -// SDLProxyFactory.h -// - -#import - -#import "SDLProxyListener.h" - -@class SDLProxy; - -NS_ASSUME_NONNULL_BEGIN - -__deprecated_msg("Use SDLManager instead") -@interface SDLProxyFactory : NSObject { -} - -+ (SDLProxy *)buildSDLProxyWithListener:(NSObject *)listener; - -+ (SDLProxy *)buildSDLProxyWithListener:(NSObject *)listener - tcpIPAddress:(NSString *)ipaddress - tcpPort:(NSString *)port; -@end - -NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyFactory.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyFactory.m deleted file mode 100644 index 3a703e0..0000000 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyFactory.m +++ /dev/null @@ -1,39 +0,0 @@ -// SDLSyncProxyFactory.m -// - -#import "SDLProxyFactory.h" - -#import "SDLIAPTransport.h" -#import "SDLProtocol.h" -#import "SDLProxy.h" -#import "SDLTCPTransport.h" - -NS_ASSUME_NONNULL_BEGIN - -@implementation SDLProxyFactory - -+ (SDLProxy *)buildSDLProxyWithListener:(NSObject *)delegate { - SDLIAPTransport *transport = [[SDLIAPTransport alloc] init]; - SDLProtocol *protocol = [[SDLProtocol alloc] init]; - SDLProxy *ret = [[SDLProxy alloc] initWithTransport:transport protocol:protocol delegate:delegate]; - - return ret; -} - -+ (SDLProxy *)buildSDLProxyWithListener:(NSObject *)delegate - tcpIPAddress:(NSString *)ipaddress - tcpPort:(NSString *)port { - SDLTCPTransport *transport = [[SDLTCPTransport alloc] init]; - transport.hostName = ipaddress; - transport.portNumber = port; - - SDLProtocol *protocol = [[SDLProtocol alloc] init]; - - SDLProxy *ret = [[SDLProxy alloc] initWithTransport:transport protocol:protocol delegate:delegate]; - - return ret; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyListener.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyListener.h index 70a02f3..d9f0c25 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyListener.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLProxyListener.h @@ -39,6 +39,7 @@ @class SDLOnLanguageChange; @class SDLOnLockScreenStatus; @class SDLOnPermissionsChange; +@class SDLOnRCStatus; @class SDLOnSyncPData; @class SDLOnSystemRequest; @class SDLOnVehicleData; @@ -78,81 +79,520 @@ NS_ASSUME_NONNULL_BEGIN @protocol SDLProxyListener +/** + * Called when a Driver Distraction notification is received from Core + * + * @param notification A SDLOnDriverDistraction object + */ - (void)onOnDriverDistraction:(SDLOnDriverDistraction *)notification; + +/** + * Called when the HMI Status of the SDL app has changed + * + * @param notification A SDLOnHMIStatus object + */ - (void)onOnHMIStatus:(SDLOnHMIStatus *)notification; + +/** + * Called when a connection with Core has closed + */ - (void)onProxyClosed; + +/** + * Called when a connection with Core has been established + */ - (void)onProxyOpened; @optional +/** + * Called when an Add Command Response is received from Core + * + * @param response A SDLAddCommandResponse object + */ - (void)onAddCommandResponse:(SDLAddCommandResponse *)response; + +/** + * Called when an Add SubMenu Response is received from Core + * + * @param response A SDLAddSubMenuResponse object + */ - (void)onAddSubMenuResponse:(SDLAddSubMenuResponse *)response; + +/** + * Called when a Alert Maneuver Response is received from Core + * + * @param response A SDLAlertManeuverResponse object + */ - (void)onAlertManeuverResponse:(SDLAlertManeuverResponse *)response; + +/** + * Called when a Alert Response is received from Core + * + * @param response A SDLAlertResponse object + */ - (void)onAlertResponse:(SDLAlertResponse *)response; + +/** + * Called when a Button Press Response is received from Core + * + * @param response A SDLButtonPressResponse object + */ - (void)onButtonPressResponse:(SDLButtonPressResponse *)response; + +/** + * Called when a Change Registration Response is received from Core + * + * @param response A SDLChangeRegistrationResponse object + */ - (void)onChangeRegistrationResponse:(SDLChangeRegistrationResponse *)response; + +/** + * Called when a Create Interaction Choice Set Response is received from Core + * + * @param response A SDLCreateInteractionChoiceSetResponse object + */ - (void)onCreateInteractionChoiceSetResponse:(SDLCreateInteractionChoiceSetResponse *)response; + +/** + * Called when a Delete Command Response is received from Core + * + * @param response A SDLDeleteCommandResponse object + */ - (void)onDeleteCommandResponse:(SDLDeleteCommandResponse *)response; + +/** + * Called when a Delete File Response is received from Core + * + * @param response A SDLDeleteFileResponse object + */ - (void)onDeleteFileResponse:(SDLDeleteFileResponse *)response; + +/** + * Called when a Delete Interaction Choice Set Response is received from Core + * + * @param response A SDLDeleteInteractionChoiceSetResponse object + */ - (void)onDeleteInteractionChoiceSetResponse:(SDLDeleteInteractionChoiceSetResponse *)response; + +/** + * Called when a Delete SubMenu Response is received from Core + * + * @param response A SDLDeleteSubMenuResponse object + */ - (void)onDeleteSubMenuResponse:(SDLDeleteSubMenuResponse *)response; + +/** + * Called when a Diagnostic Message Response is received from Core + * + * @param response A SDLDiagnosticMessageResponse object + */ - (void)onDiagnosticMessageResponse:(SDLDiagnosticMessageResponse *)response; + +/** + * Called when a Dial Number Response is received from Core + * + * @param response A SDLDialNumberResponse object + */ - (void)onDialNumberResponse:(SDLDialNumberResponse *)response; + +/** + * Called when an Encoded Sync P Data Response is received from Core + * + * @param response A SDLEncodedSyncPDataResponse object + */ - (void)onEncodedSyncPDataResponse:(SDLEncodedSyncPDataResponse *)response; + +/** + * Called when an End Audio Pass Thru Response is received from Core + * + * @param response A SDLEndAudioPassThruResponse object + */ - (void)onEndAudioPassThruResponse:(SDLEndAudioPassThruResponse *)response; + +/** + * Called when an Error message is received from Core + * + * @param e An exception message + */ - (void)onError:(NSException *)e; + +/** + * Called when a Generic Response is received from Core + * + * @param response A SDLGenericResponse object + */ - (void)onGenericResponse:(SDLGenericResponse *)response; + +/** + * Called when a Get DTCs Response is received from Core + * + * @param response A SDLGetDTCsResponse object + */ - (void)onGetDTCsResponse:(SDLGetDTCsResponse *)response; + +/** + * Called when a Get Interior Vehicle Data Response is received from Core + * + * @param response A SDLGetInteriorVehicleDataResponse object + */ - (void)onGetInteriorVehicleDataResponse:(SDLGetInteriorVehicleDataResponse *)response; + +/** + * Called when a Get System Capability Response is received from Core + * + * @param response A SDLGetSystemCapabilityResponse object + */ - (void)onGetSystemCapabilityResponse:(SDLGetSystemCapabilityResponse *)response; + +/** + * Called when a Get Vehicle Data Response is received from Core + * + * @param response A SDLGetVehicleDataResponse object + */ - (void)onGetVehicleDataResponse:(SDLGetVehicleDataResponse *)response; + +/** + * Called when a Get Way Points Response is received from Core + * + * @param response A SDLGetWaypointsResponse object + */ - (void)onGetWayPointsResponse:(SDLGetWaypointsResponse *)response; + +/** + * Called when a List Files Response is received from Core + * + * @param response A SDLListFilesResponse object + */ - (void)onListFilesResponse:(SDLListFilesResponse *)response; + +/** + * Called when a Received Lock Screen Icon notification is received from Core + * + * @param icon An image + */ - (void)onReceivedLockScreenIcon:(UIImage *)icon; + +/** + * Called when an On App Interface Unregistered notification is received from Core + * + * @param notification A SDLOnAppInterfaceUnregistered object + */ - (void)onOnAppInterfaceUnregistered:(SDLOnAppInterfaceUnregistered *)notification; + +/** + * Called when an On Audio Pass Thru notification is received from Core + * + * @param notification A SDLOnAudioPassThru object + */ - (void)onOnAudioPassThru:(SDLOnAudioPassThru *)notification; + +/** + * Called when an On Button Event notification is received from Core + * + * @param notification A SDLOnButtonEvent object + */ - (void)onOnButtonEvent:(SDLOnButtonEvent *)notification; + +/** + * Called when an On Button Press notification is received from Core + * + * @param notification A SDLOnButtonPress object + */ - (void)onOnButtonPress:(SDLOnButtonPress *)notification; + +/** + * Called when an On Command notification is received from Core + * + * @param notification A SDLOnCommand object + */ - (void)onOnCommand:(SDLOnCommand *)notification; + +/** + * Called when an On Encoded Sync P Data notification is received from Core + * + * @param notification A SDLOnEncodedSyncPData object + */ - (void)onOnEncodedSyncPData:(SDLOnEncodedSyncPData *)notification; + +/** + * Called when an On Hash Change notification is received from Core + * + * @param notification A SDLOnHashChange object + */ - (void)onOnHashChange:(SDLOnHashChange *)notification; + +/** + * Called when an On Interior Vehicle Data notification is received from Core + * + * @param notification A SDLOnInteriorVehicleData object + */ - (void)onOnInteriorVehicleData:(SDLOnInteriorVehicleData *)notification; + +/** + * Called when an On Keyboard Input notification is received from Core + * + * @param notification A SDLOnKeyboardInput object + */ - (void)onOnKeyboardInput:(SDLOnKeyboardInput *)notification; + +/** + * Called when an On Language Change notification is received from Core + * + * @param notification A SDLOnLanguageChange object + */ - (void)onOnLanguageChange:(SDLOnLanguageChange *)notification; + +/** + * Called when an On Lock Screen notification is received from Core + * + * @param notification A SDLOnLockScreenStatus object + */ - (void)onOnLockScreenNotification:(SDLOnLockScreenStatus *)notification; + +/** + * Called when an On Permissions Change notification is received from Core + * + * @param notification A SDLOnPermissionsChange object + */ - (void)onOnPermissionsChange:(SDLOnPermissionsChange *)notification; + +/** + * Called when an On RC Change notification is received from Core + * + * @param notification A SDLOnRCStatus object + */ +- (void)onOnRCStatus:(SDLOnRCStatus *)notification; + +/** + * Called when an On Sync P notification is received from Core + * + * @param notification A SDLOnSyncPData object + */ - (void)onOnSyncPData:(SDLOnSyncPData *)notification; + +/** + * Called when an On System Request notification is received from Core + * + * @param notification A SDLOnSystemRequest object + */ - (void)onOnSystemRequest:(SDLOnSystemRequest *)notification; + +/** + * Called when an On TBT Client State notification is received from Core + * + * @param notification A SDLOnTBTClientState object + */ - (void)onOnTBTClientState:(SDLOnTBTClientState *)notification; + +/** + * Called when an On Touch Event notification is received from Core + * + * @param notification A SDLOnTouchEvent object + */ - (void)onOnTouchEvent:(SDLOnTouchEvent *)notification; + +/** + * Called when an On Vehicle Data notification is received from Core + * + * @param notification A SDLOnVehicleData object + */ - (void)onOnVehicleData:(SDLOnVehicleData *)notification; + +/** + * Called when an On Way Point Change notification is received from Core + * + * @param notification A SDLOnWayPointChange object + */ - (void)onOnWayPointChange:(SDLOnWayPointChange *)notification; + +/** + * Called when a Perform Audio Pass Thru Response is received from Core + * + * @param response A SDLPerformAudioPassThruResponse object + */ - (void)onPerformAudioPassThruResponse:(SDLPerformAudioPassThruResponse *)response; + +/** + * Called when a Perform Interaction Response is received from Core + * + * @param response A SDLPerformInteractionResponse object + */ - (void)onPerformInteractionResponse:(SDLPerformInteractionResponse *)response; + +/** + * Called when a Put File Response is received from Core + * + * @param response A SDLPutFileResponse object + */ - (void)onPutFileResponse:(SDLPutFileResponse *)response; + +/** + * Called when a Read DID Response is received from Core + * + * @param response A SDLReadDIDResponse object + */ - (void)onReadDIDResponse:(SDLReadDIDResponse *)response; + +/** + * Called when a Register App Interface Response is received from Core + * + * @param response A SDLRegisterAppInterfaceResponse object + */ - (void)onRegisterAppInterfaceResponse:(SDLRegisterAppInterfaceResponse *)response; + +/** + * Called when a Reset Global Properties Response is received from Core + * + * @param response A SDLResetGlobalPropertiesResponse object + */ - (void)onResetGlobalPropertiesResponse:(SDLResetGlobalPropertiesResponse *)response; + +/** + * Called when a Scrollable Message Response is received from Core + * + * @param response A SDLScrollableMessageResponse object + */ - (void)onScrollableMessageResponse:(SDLScrollableMessageResponse *)response; + +/** + * Called when a Send Haptic Data Response is received from Core + * + * @param response A SDLSendHapticDataResponse object + */ - (void)onSendHapticDataResponse:(SDLSendHapticDataResponse *)response; + +/** + * Called when a Send Location Response is received from Core + * + * @param response A SDLSendLocationResponse object + */ - (void)onSendLocationResponse:(SDLSendLocationResponse *)response; + +/** + * Called when a Set App Icon Response is received from Core + * + * @param response A SDLSetAppIconResponse object + */ - (void)onSetAppIconResponse:(SDLSetAppIconResponse *)response; + +/** + * Called when a Set Display Layout Response is received from Core + * + * @param response A SDLSetDisplayLayoutResponse object + */ - (void)onSetDisplayLayoutResponse:(SDLSetDisplayLayoutResponse *)response; + +/** + * Called when a Set Global Properties Response is received from Core + * + * @param response A SDLSetGlobalPropertiesResponse object + */ - (void)onSetGlobalPropertiesResponse:(SDLSetGlobalPropertiesResponse *)response; + +/** + * Called when a Set Interior Vehicle Data Response is received from Core + * + * @param response A SDLSetInteriorVehicleDataResponse object + */ - (void)onSetInteriorVehicleDataResponse:(SDLSetInteriorVehicleDataResponse *)response; + +/** + * Called when a Set Media Clock Timer Response is received from Core + * + * @param response A SDLSetMediaClockTimerResponse object + */ - (void)onSetMediaClockTimerResponse:(SDLSetMediaClockTimerResponse *)response; + +/** + * Called when a Show Constant TBT Response is received from Core + * + * @param response A SDLShowConstantTBTResponse object + */ - (void)onShowConstantTBTResponse:(SDLShowConstantTBTResponse *)response; + +/** + * Called when a Show Response is received from Core + * + * @param response A SDLShowResponse object + */ - (void)onShowResponse:(SDLShowResponse *)response; + +/** + * Called when a Slider Response is received from Core + * + * @param response A SDLSliderResponse object + */ - (void)onSliderResponse:(SDLSliderResponse *)response; + +/** + * Called when a Speak Response is received from Core + * + * @param response A SDLSpeakResponse object + */ - (void)onSpeakResponse:(SDLSpeakResponse *)response; + +/** + * Called when a Subscribe Button Response is received from Core + * + * @param response A SDLSubscribeButtonResponse object + */ - (void)onSubscribeButtonResponse:(SDLSubscribeButtonResponse *)response; + +/** + * Called when a Subscribe Vehicle Data Response is received from Core + * + * @param response A SDLSubscribeVehicleDataResponse object + */ - (void)onSubscribeVehicleDataResponse:(SDLSubscribeVehicleDataResponse *)response; + +/** + * Called when a Subscribe Way Points Response is received from Core + * + * @param response A SDLSubscribeWayPointsResponse object + */ - (void)onSubscribeWayPointsResponse:(SDLSubscribeWayPointsResponse *)response; + +/** + * Called when a Sync P Data Response is received from Core + * + * @param response A SDLSyncPDataResponse object + */ - (void)onSyncPDataResponse:(SDLSyncPDataResponse *)response; + +/** + * Called when an Update Turn List Response is received from Core + * + * @param response A SDLUpdateTurnListResponse object + */ - (void)onUpdateTurnListResponse:(SDLUpdateTurnListResponse *)response; + +/** + * Called when an Unregister App Interface Response is received from Core + * + * @param response A SDLUnregisterAppInterfaceResponse object + */ - (void)onUnregisterAppInterfaceResponse:(SDLUnregisterAppInterfaceResponse *)response; + +/** + * Called when an Unsubscribe Button Response is received from Core + * + * @param response A SDLUnsubscribeButtonResponse object + */ - (void)onUnsubscribeButtonResponse:(SDLUnsubscribeButtonResponse *)response; + +/** + * Called when an Unsubscribe Vehicle Data Response is received from Core + * + * @param response A SDLUnsubscribeVehicleDataResponse object + */ - (void)onUnsubscribeVehicleDataResponse:(SDLUnsubscribeVehicleDataResponse *)response; + +/** + * Called when an Unsubscribe Way Points Response is received from Core + * + * @param response A SDLUnsubscribeWayPointsResponse object + */ - (void)onUnsubscribeWayPointsResponse:(SDLUnsubscribeWayPointsResponse *)response; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFile.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFile.h index 247228f..ac621a0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFile.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFile.h @@ -6,72 +6,132 @@ #import "SDLFileType.h" /** - * Used to push a binary data onto the SDL module from a mobile device, such as - * icons and album art + * Used to push a binary data onto the SDL module from a mobile device, such as icons and album art. * - * Since SmartDeviceLink 2.0 - * @see SDLDeleteFile - * @see SDLListFiles + * Since SmartDeviceLink 2.0 + * @see SDLDeleteFile, SDLListFiles */ NS_ASSUME_NONNULL_BEGIN @interface SDLPutFile : SDLRPCRequest +/** + * Init + * + * @return A SDLPutFile object + */ +- (instancetype)init; + +/** + * Convenience init for creating a putfile with a name and file format. + * + * @param fileName The file's name + * @param fileType The file's format + * @return A SDLPutFile object + */ - (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType; +/** + * Convenience init for creating a putfile with a name, file format, and persistance. + * + * @param fileName The file's name + * @param fileType The file's format + * @param persistentFile Whether or not the image should persist between ignition cycles + * @return A SDLPutFile object + */ - (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile; -- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length; +/** + * Convenience init for creating a putfile that is part of a multiple frame payload. + * + * @param fileName The file's name + * @param fileType The file's format + * @param persistentFile Whether or not the image should persist between ignition cycles + * @param systemFile Whether or not the file is meant to be passed through Core to elsewhere on the system + * @param offset Offset in bytes for resuming partial data chunks + * @param length Length in bytes for resuming partial data chunks + * @return A SDLPutFile object + */ +- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length __deprecated_msg("Use initWithFileName:fileType:persistentFile:systemFile:offset:length:crc: instead"); /** - * A file reference name + * Convenience init for creating a putfile that is part of a multiple frame payload. * - * Required, maxlength 255 characters + * @param fileName The file's name + * @param fileType The file's format + * @param persistentFile Whether or not the image should persist between ignition cycles + * @param systemFile Whether or not the file is meant to be passed through Core to elsewhere on the system + * @param offset Offset in bytes for resuming partial data chunks + * @param length Length in bytes for resuming partial data chunks + * @param crc Checksum of the bulk data. Used by Core to check data integrity + * @return A SDLPutFile object + */ +- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length crc:(UInt64)crc; + +/** + * Convenience init for creating a putfile that is part of a multiple frame payload. A CRC checksum is calculated for the bulk data. + * + * @param fileName The file's name + * @param fileType The file's format + * @param persistentFile Whether or not the image should persist between ignition cycles + * @param systemFile Whether or not the file is meant to be passed through Core to elsewhere on the system + * @param offset Offset in bytes for resuming partial data chunks + * @param length Length in bytes for resuming partial data chunks + * @param bulkData Data being sent in the putfile + * @return A SDLPutFile object + */ +- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length bulkData:(NSData *)bulkData; + +/** + * File reference name + * + * Required, max length 255 characters */ @property (strong, nonatomic) NSString *syncFileName; /** - * A FileType value representing a selected file type + * A FileType value representing a selected file type * - * Required + * Required */ @property (strong, nonatomic) SDLFileType fileType; /** - * 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 + * 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 + * Boolean, Optional, default = NO */ @property (nullable, strong, nonatomic) NSNumber *persistentFile; /** - * 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. + * 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 + * Boolean, Optional, default = NO */ @property (nullable, strong, nonatomic) NSNumber *systemFile; /** - * Offset in bytes for resuming partial data chunks. + * Offset in bytes for resuming partial data chunks. * - * Integer, Optional, 0 - 100,000,000,000 + * Integer, Optional, 0 - 100,000,000,000 */ @property (nullable, strong, nonatomic) NSNumber *offset; /** - * 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 + * 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 + * Integer, Optional, 0 - 100,000,000,000 */ @property (nullable, strong, nonatomic) NSNumber *length; +/** + * Additional CRC32 checksum to protect data integrity up to 512 Mbits. + * + * Integer, Optional, 0 - 4,294,967,295 + */ +@property (nullable, strong, nonatomic) NSNumber *crc; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFile.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFile.m index 5b289d4..f058b5e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFile.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFile.m @@ -6,6 +6,8 @@ #import "NSMutableDictionary+Store.h" #import "SDLNames.h" +#import + NS_ASSUME_NONNULL_BEGIN @implementation SDLPutFile @@ -16,6 +18,29 @@ - (instancetype)init { return self; } +- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType { + self = [self init]; + if (!self) { + return nil; + } + + self.syncFileName = fileName; + self.fileType = fileType; + + return self; +} + +- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile { + self = [self initWithFileName:fileName fileType:fileType]; + if (!self) { + return nil; + } + + self.persistentFile = @(persistentFile); + + return self; +} + - (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length { self = [self initWithFileName:fileName fileType:fileType persistentFile:persistentFile]; if (!self) { @@ -29,29 +54,34 @@ - (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)file return self; } -- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile { - self = [self initWithFileName:fileName fileType:fileType]; +- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length crc:(UInt64)crc { + self = [self initWithFileName:fileName fileType:fileType persistentFile:persistentFile]; if (!self) { return nil; } - self.persistentFile = @(persistentFile); + self.systemFile = @(systemFile); + self.offset = @(offset); + self.length = @(length); + self.crc = crc == 0 ? nil : @(crc); return self; } -- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType { - self = [self init]; +- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length bulkData:(NSData *)bulkData { + + self = [self initWithFileName:fileName fileType:fileType persistentFile:persistentFile systemFile:systemFile offset:offset length:length crc:[self.class sdl_getCRC32ChecksumForBulkData:bulkData]]; if (!self) { return nil; } - self.syncFileName = fileName; - self.fileType = fileType; + self.bulkData = bulkData; return self; } +#pragma mark - Getters and Setters + - (void)setSyncFileName:(NSString *)syncFileName { [parameters sdl_setObject:syncFileName forName:SDLNameSyncFileName]; } @@ -100,6 +130,24 @@ - (void)setLength:(nullable NSNumber *)length { return [parameters sdl_objectForName:SDLNameLength]; } +- (void)setCrc:(nullable NSNumber *)crc { + [parameters sdl_setObject:crc forName:SDLNameCRC]; +} + +- (nullable NSNumber *)crc { + return [parameters sdl_objectForName:SDLNameCRC]; +} + +#pragma mark - Helpers + ++ (unsigned long)sdl_getCRC32ChecksumForBulkData:(NSData *)data { + if (data.length == 0) { + return 0; + } + + return crc32(0, data.bytes, (uInt)data.length); +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFileResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFileResponse.h index dfa7a74..0c87721 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFileResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFileResponse.h @@ -5,16 +5,20 @@ #import "SDLRPCResponse.h" /** - * Put File Response is sent, when SDLPutFile has been called - * - * Since SmartDeviceLink 2.0 + Response to SDLPutFile + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN @interface SDLPutFileResponse : SDLRPCResponse -@property (strong, nonatomic) NSNumber *spaceAvailable; +/** + * Provides the total local space available in SDL Core for the registered app. If the transfer has systemFile enabled, then the value will be set to 0 automatically. + */ +@property (nullable, strong, nonatomic) NSNumber *spaceAvailable; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFileResponse.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFileResponse.m index 2d3de33..93d0caa 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFileResponse.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLPutFileResponse.m @@ -17,11 +17,11 @@ - (instancetype)init { return self; } -- (void)setSpaceAvailable:(NSNumber *)spaceAvailable { +- (void)setSpaceAvailable:(nullable NSNumber *)spaceAvailable { [parameters sdl_setObject:spaceAvailable forName:SDLNameSpaceAvailable]; } -- (NSNumber *)spaceAvailable { +- (nullable NSNumber *)spaceAvailable { return [parameters sdl_objectForName:SDLNameSpaceAvailable]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRDSData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRDSData.h index f734b45..80d269a 100755 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRDSData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRDSData.h @@ -4,48 +4,45 @@ #import "SDLRPCMessage.h" -/** - * Include the data defined in Radio Data System, - * which is a communications protocol standard for embedding small amounts of digital information - * in conventional FM radio broadcasts. - */ - NS_ASSUME_NONNULL_BEGIN +/** + * Include the data defined in Radio Data System, which is a communications protocol standard for embedding small amounts of digital information in conventional FM radio broadcasts. + */ @interface SDLRDSData : SDLRPCStruct - (instancetype)initWithProgramService:(nullable NSString *)programService radioText:(nullable NSString *)radioText clockText:(nullable NSString *)clockText programIdentification:(nullable NSString *)programIdentification programType:(nullable NSNumber *)programType trafficProgramIdentification:(nullable NSNumber *)trafficProgramIdentification trafficAnnouncementIdentification:(nullable NSNumber *)trafficAnnouncementIdentification region:(nullable NSString *)region; /** - * @abstract Program Service Name + * Program Service Name * * optional, 0-8 */ @property (nullable, strong, nonatomic) NSString *programService; /** - * @abstract Radio Text + * Radio Text * * optional, 0-64 */ @property (nullable, strong, nonatomic) NSString *radioText; /** - * @abstract The clock text in UTC format as YYYY-MM-DDThh:mm:ss.sTZD + * The clock text in UTC format as YYYY-MM-DDThh:mm:ss.sTZD * * optional, 0-24 */ @property (nullable, strong, nonatomic) NSString *clockText; /** - * @abstract Program Identification - the call sign for the radio station + * Program Identification - the call sign for the radio station * * optional, 0-6 */ @property (nullable, strong, nonatomic) NSString *programIdentification; /** - * @abstract The program type - The region should be used to differentiate between EU + * The program type - The region should be used to differentiate between EU * and North America program types * * optional, 0-31 @@ -53,21 +50,21 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *programType; /** - * @abstract Traffic Program Identification - Identifies a station that offers traffic + * Traffic Program Identification - Identifies a station that offers traffic * * optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *trafficProgramIdentification; /** - * @abstract Traffic Announcement Identification - Indicates an ongoing traffic announcement + * Traffic Announcement Identification - Indicates an ongoing traffic announcement * * optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *trafficAnnouncementIdentification; /** - * @abstract Region + * Region * * optional, 0-8 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRGBColor.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRGBColor.h new file mode 100644 index 0000000..4de64a6 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRGBColor.h @@ -0,0 +1,58 @@ +// +// SDLRGBColor.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/18/18. +// Copyright © 2018 Livio. All rights reserved. +// + +#import + +#import "NSNumber+NumberType.h" +#import "SDLRPCStruct.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLRGBColor : SDLRPCStruct + +/** + Create an SDL color object with red / green / blue values between 0-255 + + @param red The red value of the color + @param green The green value of the color + @param blue The blue value of the color + @return The color + */ +- (instancetype)initWithRed:(UInt8)red green:(UInt8)green blue:(UInt8)blue; + +/** + Create an SDL color object with a UIColor object. + + @warning The alpha color of the UIColor object will be ignored + + @param color The UIColor object to base this color on + @return The color + */ +- (instancetype)initWithColor:(UIColor *)color; + +/** + * The red value of the RGB color + * Required, Integer, 0-255 + */ +@property (copy, nonatomic) NSNumber *red; + +/** + * The green value of the RGB color + * Required, Integer, 0-255 + */ +@property (copy, nonatomic) NSNumber *green; + +/** + * The blue value of the RGB color + * Required, Integer, 0-255 + */ +@property (copy, nonatomic) NSNumber *blue; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRGBColor.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRGBColor.m new file mode 100644 index 0000000..9ed7b30 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRGBColor.m @@ -0,0 +1,69 @@ +// +// SDLRGBColor.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/18/18. +// Copyright © 2018 Livio. All rights reserved. +// + +#import "SDLRGBColor.h" + +#import "NSMutableDictionary+Store.h" +#import "SDLNames.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLRGBColor + +- (instancetype)initWithRed:(UInt8)red green:(UInt8)green blue:(UInt8)blue { + self = [self init]; + if (!self) { return nil; } + + self.red = @(red); + self.green = @(green); + self.blue = @(blue); + + return self; +} + +- (instancetype)initWithColor:(UIColor *)color { + CGFloat redf, greenf, bluef, alphaf; + [color getRed:&redf green:&greenf blue:&bluef alpha:&alphaf]; + + UInt8 red, green, blue; + red = (UInt8)round(redf * 255.0); + green = (UInt8)round(greenf * 255.0); + blue = (UInt8)round(bluef * 255.0); + + return [self initWithRed:red green:green blue:blue]; +} + +#pragma mark - Setters + +- (void)setRed:(NSNumber *)red { + [store sdl_setObject:red forName:SDLNameRed]; +} + +- (NSNumber *)red { + return [store sdl_objectForName:SDLNameRed]; +} + +- (void)setGreen:(NSNumber *)green { + [store sdl_setObject:green forName:SDLNameGreen]; +} + +- (NSNumber *)green { + return [store sdl_objectForName:SDLNameGreen]; +} + +- (void)setBlue:(NSNumber *)blue { + [store sdl_setObject:blue forName:SDLNameBlue]; +} + +- (NSNumber *)blue { + return [store sdl_objectForName:SDLNameBlue]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessage.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessage.h index 3612d15..dcc5457 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessage.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessage.h @@ -7,21 +7,71 @@ NS_ASSUME_NONNULL_BEGIN -@interface SDLRPCMessage : SDLRPCStruct { +@interface SDLRPCMessage : SDLRPCStruct { NSMutableDictionary *function; NSMutableDictionary *parameters; NSString *messageType; } +/** + * Convenience init + * + * @param name The name of the message + * @return A SDLRPCMessage object + */ - (instancetype)initWithName:(NSString *)name; + +/** + * Convenience init + * + * @param dict A dictionary with the format @{messageType: @{parameters}} + * @return A SDLRPCMessage object + */ - (instancetype)initWithDictionary:(NSDictionary *)dict; + +/** + * Returns the function name. + * + * @return The function name + */ - (nullable NSString *)getFunctionName; + +/** + * Sets the function name. + * + * @param functionName The function name + */ - (void)setFunctionName:(nullable NSString *)functionName; + +/** + * Returns the value associated with the provided key. If the key does not exist, null is returned. + * + * @param functionName The key name + * @return The value associated with the function name + */ - (nullable NSObject *)getParameters:(NSString *)functionName; + +/** + * Sets a key-value pair using the function name as the key. + * + * @param functionName The name for the key + * @param value The value associated with the function name + */ - (void)setParameters:(NSString *)functionName value:(nullable NSObject *)value; +/** + * The data in the message + */ @property (nullable, strong, nonatomic) NSData *bulkData; + +/** + * The name of the message + */ @property (strong, nonatomic, readonly) NSString *name; + +/** + * The type of data in the message + */ @property (strong, nonatomic, readonly) NSString *messageType; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessage.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessage.m index 140762d..7ca6b4b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessage.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessage.m @@ -34,10 +34,13 @@ - (instancetype)initWithDictionary:(NSDictionary *)dict { } } if (messageType != nil) { - function = [[store objectForKey:messageType] mutableCopy]; - parameters = [[function objectForKey:SDLNameParameters] mutableCopy]; + store[messageType] = [store[messageType] mutableCopy]; + function = store[messageType]; + + function[SDLNameParameters] = [function[SDLNameParameters] mutableCopy]; + parameters = function[SDLNameParameters]; } - self.bulkData = [dict objectForKey:SDLNameBulkData]; + self.bulkData = dict[SDLNameBulkData]; } return self; @@ -69,6 +72,12 @@ - (NSString *)description { return description; } +- (id)copyWithZone:(nullable NSZone *)zone { + SDLRPCMessage *newMessage = [[self.class allocWithZone:zone] initWithDictionary:self->store]; + + return newMessage; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessageType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessageType.h index 35f8416..383da11 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessageType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCMessageType.h @@ -3,6 +3,13 @@ #import +/** + The type of RPC message + + - SDLRPCMessageTypeRequest: A request from the app to the IVI system + - SDLRPCMessageTypeResponse: A response from the IVI system to the app + - SDLRPCMessageTypeNotification: A notification from the IVI system to the app + */ typedef NS_ENUM(Byte, SDLRPCMessageType) { SDLRPCMessageTypeRequest = 0, SDLRPCMessageTypeResponse, diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCNotification.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCNotification.h index cb5044d..269fdc7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCNotification.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCNotification.h @@ -6,6 +6,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + An RPC sent from the head unit to the app about some data change, such as a button was pressed + */ @interface SDLRPCNotification : SDLRPCMessage @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCNotificationNotification.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCNotificationNotification.h index 6b0060a..8e0d9a6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCNotificationNotification.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCNotificationNotification.h @@ -13,10 +13,24 @@ NS_ASSUME_NONNULL_BEGIN +/** + An NSNotification object that makes retrieving internal SDLRPCNotification data easier + */ @interface SDLRPCNotificationNotification : NSNotification +/** + The notification within the userinfo dictionary + */ @property (copy, nonatomic, readonly) __kindof SDLRPCNotification *notification; +/** + Create an NSNotification object caontaining an SDLRPCNotification + + @param name The NSNotification name + @param object The NSNotification object + @param notification The SDLRPCNotification payload + @return The NSNotification + */ - (instancetype)initWithName:(NSString *)name object:(nullable id)object rpcNotification:(__kindof SDLRPCNotification *)notification; /** diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCRequest.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCRequest.h index b99449a..a25016a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCRequest.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCRequest.h @@ -8,6 +8,9 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLRPCRequest : SDLRPCMessage +/** + * A unique id assigned to message sent to Core. The Correlation ID is used to map a request to its response. + */ @property (strong, nonatomic) NSNumber *correlationID; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCResponse.h index 270217e..bdb6989 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCResponse.h @@ -10,9 +10,24 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLRPCResponse : SDLRPCMessage +/** + * The correlation id of the corresponding SDLRPCRequest. + */ @property (strong, nonatomic) NSNumber *correlationID; + +/** + * Whether or not the SDLRPCRequest was successful. + */ @property (strong, nonatomic) NSNumber *success; + +/** + * The result of the SDLRPCRequest. If the request failed, the result code contains the failure reason. + */ @property (strong, nonatomic) SDLResult resultCode; + +/** + * More detailed success or error message. + */ @property (nullable, strong, nonatomic) NSString *info; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCResponseNotification.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCResponseNotification.h index 4264789..c6c7cdf 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCResponseNotification.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCResponseNotification.h @@ -13,10 +13,24 @@ NS_ASSUME_NONNULL_BEGIN +/** + An NSNotification object that makes retrieving internal SDLRPCResponse data easier + */ @interface SDLRPCResponseNotification : NSNotification +/** + The response within the userinfo dictionary + */ @property (copy, nonatomic, readonly) __kindof SDLRPCResponse *response; +/** + Create an NSNotification object caontaining an SDLRPCResponse + + @param name The NSNotification name + @param object The NSNotification object + @param response The SDLRPCResponse payload + @return The NSNotification + */ - (instancetype)initWithName:(NSString *)name object:(nullable id)object rpcResponse:(__kindof SDLRPCResponse *)response; /** diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCStruct.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCStruct.h index 224dfd3..2b05e74 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCStruct.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCStruct.h @@ -12,9 +12,27 @@ NS_ASSUME_NONNULL_BEGIN NSMutableDictionary *store; } +/** + * Convenience init + * + * @param dict A dictionary + * @return A SDLRPCStruct object + */ - (instancetype)initWithDictionary:(NSDictionary *)dict; + +/** + * Init + * + * @return A SDLRPCStruct object + */ - (instancetype)init; +/** + * Converts struct to JSON formatted data + * + * @param version The protocol version + * @return JSON formatted data + */ - (NSDictionary *)serializeAsDictionary:(Byte)version; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCStruct.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCStruct.m index b6a5888..b0bccaa 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCStruct.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRPCStruct.m @@ -31,10 +31,10 @@ - (id)init { - (NSDictionary *)serializeAsDictionary:(Byte)version { if (version >= 2) { - NSString *messageType = [[store keyEnumerator] nextObject]; - NSMutableDictionary *function = [store objectForKey:messageType]; + NSString *messageType = store.keyEnumerator.nextObject; + NSMutableDictionary *function = store[messageType]; if ([function isKindOfClass:NSMutableDictionary.class]) { - NSMutableDictionary *parameters = [function objectForKey:SDLNameParameters]; + NSMutableDictionary *parameters = function[SDLNameParameters]; return [self.class sdl_serializeDictionary:parameters version:version]; } else { return [self.class sdl_serializeDictionary:store version:version]; @@ -50,34 +50,34 @@ - (NSString *)description { + (NSDictionary *)sdl_serializeDictionary:(NSDictionary *)dict version:(Byte)version { NSMutableDictionary *ret = [NSMutableDictionary dictionaryWithCapacity:dict.count]; - for (NSString *key in [dict keyEnumerator]) { - NSObject *value = [dict objectForKey:key]; + for (NSString *key in dict.keyEnumerator) { + NSObject *value = dict[key]; if ([value isKindOfClass:SDLRPCStruct.class]) { - [ret setObject:[(SDLRPCStruct *)value serializeAsDictionary:version] forKey:key]; + ret[key] = [(SDLRPCStruct *)value serializeAsDictionary:version]; } else if ([value isKindOfClass:NSDictionary.class]) { - [ret setObject:[self sdl_serializeDictionary:(NSDictionary *)value version:version] forKey:key]; + ret[key] = [self sdl_serializeDictionary:(NSDictionary *)value version:version]; } else if ([value isKindOfClass:NSArray.class]) { NSArray *arrayVal = (NSArray *)value; - if (arrayVal.count > 0 && ([[arrayVal objectAtIndex:0] isKindOfClass:SDLRPCStruct.class])) { + if (arrayVal.count > 0 && ([arrayVal.firstObject isKindOfClass:SDLRPCStruct.class])) { NSMutableArray *> *serializedList = [NSMutableArray arrayWithCapacity:arrayVal.count]; for (SDLRPCStruct *serializeable in arrayVal) { [serializedList addObject:[serializeable serializeAsDictionary:version]]; } - [ret setObject:serializedList forKey:key]; + ret[key] = serializedList; } else { - [ret setObject:value forKey:key]; + ret[key] = value; } } else { - [ret setObject:value forKey:key]; + ret[key] = value; } } return ret; } --(id)copyWithZone:(nullable NSZone *)zone { +- (id)copyWithZone:(nullable NSZone *)zone { SDLRPCStruct *newStruct = [[[self class] allocWithZone:zone] init]; - newStruct->store = [self->store copy]; + newStruct->store = [self->store mutableCopy]; return newStruct; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioBand.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioBand.h index 86d2c5b..537706b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioBand.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioBand.h @@ -4,23 +4,22 @@ #import "SDLEnum.h" - +/** + Radio bands, such as AM and FM, used in RadioControlData + */ typedef SDLEnum SDLRadioBand SDL_SWIFT_ENUM; /** - * @abstract Represents AM radio band - * + * Represents AM radio band */ extern SDLRadioBand const SDLRadioBandAM NS_SWIFT_NAME(am); /** - * @abstract Represents FM radio band - * + * Represents FM radio band */ extern SDLRadioBand const SDLRadioBandFM NS_SWIFT_NAME(fm); /** - * @abstract Represents XM radio band - * + * Represents XM radio band */ extern SDLRadioBand const SDLRadioBandXM NS_SWIFT_NAME(xm); diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlCapabilities.h index 38f3478..5bdcbeb 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlCapabilities.h @@ -11,10 +11,46 @@ NS_ASSUME_NONNULL_BEGIN */ @interface SDLRadioControlCapabilities : SDLRPCStruct -- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable; +/** + Constructs a newly allocated SDLRadioControlCapabilities object with given parameters. + + @param moduleName The short friendly name of the radio control module. + @param radioEnableAvailable Availability of the control of enable/disable radio. + @param radioBandAvailable Availability of the control of radio band. + @param radioFrequencyAvailable Availability of the control of radio frequency. + @param hdChannelAvailable Availability of the control of HD radio channel. + @param rdsDataAvailable Availability of the getting Radio Data System (RDS) data. + @param availableHDsAvailable Availability of the getting the number of available HD channels. + @param stateAvailable Availability of the getting the Radio state. + @param signalStrengthAvailable Availability of the getting the signal strength. + @param signalChangeThresholdAvailable Availability of the getting the signal Change Threshold. + @return An instance of the SDLRadioControlCapabilities class. + */ +- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable __deprecated_msg(("Use initWithModuleName:moduleName:radioEnableAvailable radioFrequencyAvailable:hdChannelAvailable:rdsDataAvailable:availableHDsAvailable:stateAvailable:signalStrengthAvailable:signalChangeThresholdAvailable:hdRadioEnableAvailable:siriusXMRadioAvailable:sisDataAvailable: instead")); + +/** + Constructs a newly allocated SDLRadioControlCapabilities object with given parameters. + + @param moduleName The short friendly name of the radio control module. + @param radioEnableAvailable Availability of the control of enable/disable radio. + @param radioBandAvailable Availability of the control of radio band. + @param radioFrequencyAvailable Availability of the control of radio frequency. + @param hdChannelAvailable Availability of the control of HD radio channel. + @param rdsDataAvailable Availability of the getting Radio Data System (RDS) data. + @param availableHDsAvailable Availability of the getting the number of available HD channels. + @param stateAvailable Availability of the getting the Radio state. + @param signalStrengthAvailable Availability of the getting the signal strength. + @param signalChangeThresholdAvailable Availability of the getting the signal Change Threshold. + @param hdRadioEnableAvailable Availability of the control of enable/disable HD radio. + @param siriusXMRadioAvailable Availability of sirius XM radio. + @param sisDataAvailable Availability of sis data. + @return An instance of the SDLRadioControlCapabilities class + */ +- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable hdRadioEnableAvailable:(BOOL)hdRadioEnableAvailable siriusXMRadioAvailable:(BOOL)siriusXMRadioAvailable sisDataAvailable:(BOOL)sisDataAvailable; /** - * @abstract The short friendly name of the climate control module. + * The short friendly name of the radio control module. + * It should not be used to identify a module by mobile application. * * Max string length 100 chars @@ -22,7 +58,8 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) NSString *moduleName; /** - * @abstract Availability of the control of enable/disable radio. + * Availability of the control of enable/disable radio. + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -30,7 +67,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *radioEnableAvailable; /** - * @abstract Availability of the control of radio band. + * Availability of the control of radio band. + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -38,7 +76,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *radioBandAvailable; /** - * @abstract Availability of the control of radio frequency. + * Availability of the control of radio frequency. + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -46,7 +85,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *radioFrequencyAvailable; /** - * @abstract Availability of the control of HD radio channel. + * Availability of the control of HD radio channel. + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -54,7 +94,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *hdChannelAvailable; /** - * @abstract Availability of the getting Radio Data System (RDS) data. + * Availability of the getting Radio Data System (RDS) data. + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -62,7 +103,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *rdsDataAvailable; /** - * @abstract Availability of the getting the number of available HD channels. + * Availability of the getting the number of available HD channels. + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -70,7 +112,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *availableHDsAvailable; /** - * @abstract Availability of the getting the Radio state. + * Availability of the getting the Radio state. + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -78,7 +121,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *stateAvailable; /** - * @abstract Availability of the getting the signal strength. + * Availability of the getting the signal strength. + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean @@ -86,13 +130,38 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *signalStrengthAvailable; /** - * @abstract Availability of the getting the signal Change Threshold + * Availability of the getting the signal Change Threshold + * True: Available, False: Not Available, Not present: Not Available. * * Optional, Boolean */ @property (nullable, strong, nonatomic) NSNumber *signalChangeThresholdAvailable; +/** + * Availability of the control of enable/disable HD radio. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *hdRadioEnableAvailable; + +/** + * Availability of sirius XM radio. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *siriusXMRadioAvailable; + +/** + * Availability of the getting HD radio Station Information Service (SIS) data. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber *sisDataAvailable; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlCapabilities.m index 775178a..db45eb8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlCapabilities.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlCapabilities.m @@ -11,6 +11,10 @@ @implementation SDLRadioControlCapabilities - (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable { + return [self initWithModuleName:moduleName radioEnableAvailable:radioEnableAvailable radioBandAvailable:radioBandAvailable radioFrequencyAvailable:radioFrequencyAvailable hdChannelAvailable:hdChannelAvailable rdsDataAvailable:rdsDataAvailable availableHDsAvailable:availableHDsAvailable stateAvailable:stateAvailable signalStrengthAvailable:signalStrengthAvailable signalChangeThresholdAvailable:signalChangeThresholdAvailable hdRadioEnableAvailable:NO siriusXMRadioAvailable:NO sisDataAvailable:NO]; +} + +- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable hdRadioEnableAvailable:(BOOL)hdRadioEnableAvailable siriusXMRadioAvailable:(BOOL)siriusXMRadioAvailable sisDataAvailable:(BOOL)sisDataAvailable { self = [self init]; if(!self){ return nil; @@ -26,6 +30,9 @@ - (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:( self.stateAvailable = @(stateAvailable); self.signalStrengthAvailable = @(signalStrengthAvailable); self.signalChangeThresholdAvailable = @(signalChangeThresholdAvailable); + self.hdRadioEnableAvailable = @(hdRadioEnableAvailable); + self.siriusXMRadioAvailable = @(siriusXMRadioAvailable); + self.sisDataAvailable = @(sisDataAvailable); return self; } @@ -72,7 +79,6 @@ - (void)setHdChannelAvailable:(nullable NSNumber *)hdChannelAvailable { - (void)setRdsDataAvailable:(nullable NSNumber *)rdsDataAvailable { [store sdl_setObject:rdsDataAvailable forName:SDLNameRDSDataAvailable]; - } - (nullable NSNumber *)rdsDataAvailable { @@ -111,6 +117,30 @@ - (void)setSignalChangeThresholdAvailable:(nullable NSNumber *)signalCh return [store sdl_objectForName:SDLNameSignalChangeThresholdAvailable]; } +- (void)setHdRadioEnableAvailable:(nullable NSNumber *)hdRadioEnableAvailable { + [store sdl_setObject:hdRadioEnableAvailable forName:SDLNameHDRadioEnableAvailable]; +} + +- (nullable NSNumber *)hdRadioEnableAvailable { + return [store sdl_objectForName:SDLNameHDRadioEnableAvailable]; +} + +- (void)setSiriusXMRadioAvailable:(nullable NSNumber *)siriusXMRadioAvailable { + [store sdl_setObject:siriusXMRadioAvailable forName:SDLNameSiriusXMRadioAvailable]; +} + +- (nullable NSNumber *)siriusXMRadioAvailable { + return [store sdl_objectForName:SDLNameSiriusXMRadioAvailable]; +} + +- (void)setSisDataAvailable:(nullable NSNumber *)sisDataAvailable { + [store sdl_setObject:sisDataAvailable forName:SDLNameSISDataAvailable]; +} + +- (nullable NSNumber *)sisDataAvailable { + return [store sdl_objectForName:SDLNameSISDataAvailable]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlData.h index f9ff2fd..0fe489e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlData.h @@ -7,40 +7,63 @@ #import "SDLRadioState.h" @class SDLRDSData; +@class SDLSISData; + +NS_ASSUME_NONNULL_BEGIN /** * Include information (both read-only and changeable data) about a remote control radio module. */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLRadioControlData : SDLRPCStruct -- (instancetype)initWithFrequencyInteger:(nullable NSNumber *)frequencyInteger frequencyFraction:(nullable NSNumber *)frequencyFraction band:(nullable SDLRadioBand)band hdChannel:(nullable NSNumber *)hdChannel radioEnable:(nullable NSNumber *)radioEnable; +/** + Constructs a newly allocated SDLRadioControlCapabilities object with given parameters. + + @param frequencyInteger integer part of the frequency + @param frequencyFraction fractional part of the frequency + @param band Radio band value + @param hdChannel Current HD sub-channel + @param radioEnable whether or not radio is enabled + @return An instance of the SDLRadioControlData class + */ +- (instancetype)initWithFrequencyInteger:(nullable NSNumber *)frequencyInteger frequencyFraction:(nullable NSNumber *)frequencyFraction band:(nullable SDLRadioBand)band hdChannel:(nullable NSNumber *)hdChannel radioEnable:(nullable NSNumber *)radioEnable __deprecated_msg(("Use initWithFrequencyInteger:frequencyInteger:frequencyFraction:band:hdChannel:radioEnable:sisData: instead")); + +/** + Constructs a newly allocated SDLRadioControlCapabilities object with given parameters. + + @param frequencyInteger integer part of the frequency + @param frequencyFraction fractional part of the frequency + @param band Radio band value + @param hdChannel Current HD sub-channel + @param radioEnable whether or not radio is enabled + @param hdRadioEnable whether or not hdradio is enabled + @return An instance of the SDLRadioControlData class + */ +- (instancetype)initWithFrequencyInteger:(nullable NSNumber *)frequencyInteger frequencyFraction:(nullable NSNumber *)frequencyFraction band:(nullable SDLRadioBand)band hdChannel:(nullable NSNumber *)hdChannel radioEnable:(nullable NSNumber *)radioEnable hdRadioEnable:(nullable NSNumber *)hdRadioEnable; /** - * @abstract The integer part of the frequency ie for 101.7 this value should be 101 + * The integer part of the frequency ie for 101.7 this value should be 101 * * Integer */ @property (nullable, strong, nonatomic) NSNumber *frequencyInteger; /** - * @abstract The fractional part of the frequency for 101.7 is 7 + * The fractional part of the frequency for 101.7 is 7 * * Integer */ @property (nullable, strong, nonatomic) NSNumber *frequencyFraction; /** - * @abstract Radio band value + * Radio band value * * SDLRadioBand */ @property (nullable, strong, nonatomic) SDLRadioBand band; /** - * @abstract Read only parameter. See RDSData data type for details. + * Read only parameter. See RDSData data type for details. * * @warning This property is readonly and cannot be set on the module. * @@ -49,23 +72,23 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) SDLRDSData *rdsData; /** - * @abstract number of HD sub-channels if available + * number of HD sub-channels if available * * @warning This property is readonly and cannot be set on the module. * - * Integer value Min Value - 1 Max Value -3 + * Integer value Min Value - 1 Max Value -7 */ @property (nullable, strong, nonatomic) NSNumber *availableHDs; /** - * @abstract Current HD sub-channel if available + * Current HD sub-channel if available * - * Integer value Min Value - 1 Max Value -3 + * Integer value Min Value - 1 Max Value -7 */ @property (nullable, strong, nonatomic) NSNumber *hdChannel; /** - * @abstract Signal Strength Value + * Signal Strength Value * * @warning This property is readonly and cannot be set on the module. * @@ -74,7 +97,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *signalStrength; /** - * @abstract If the signal strength falls below the set value for this parameter, the radio will tune to an alternative frequency + * If the signal strength falls below the set value for this parameter, the radio will tune to an alternative frequency * * @warning This property is readonly and cannot be set on the module. * @@ -83,7 +106,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSNumber *signalChangeThreshold; /** - * @abstract True if the radio is on, false is the radio is off. When the radio is disabled, no data other than radioEnable is included in a GetInteriorVehicleData response + * True if the radio is on, false is the radio is off. When the radio is disabled, no data other than radioEnable is included in a GetInteriorVehicleData response * * Boolean value */ @@ -98,6 +121,22 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nullable, strong, nonatomic) SDLRadioState state; +/** + * True if the hd radio is on, false is the radio is off + * + * Boolean value + */ +@property (nullable, strong, nonatomic) NSNumber *hdRadioEnable; + +/** + * Read Read-only Station Information Service (SIS) data provides basic information + * about the station such as call sign, + * as well as information not displayable to the consumer such as the station identification number + * + * Optional, SDLSISData + */ +@property (nullable, strong, nonatomic) SDLSISData *sisData; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlData.m index d996a8c..f1af682 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlData.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioControlData.m @@ -5,6 +5,7 @@ #import "SDLRadioControlData.h" #import "SDLNames.h" #import "SDLRDSData.h" +#import "SDLSISData.h" #import "NSMutableDictionary+Store.h" NS_ASSUME_NONNULL_BEGIN @@ -26,6 +27,22 @@ - (instancetype)initWithFrequencyInteger:(nullable NSNumber *)frequencyI return self; } +- (instancetype)initWithFrequencyInteger:(nullable NSNumber *)frequencyInteger frequencyFraction:(nullable NSNumber *)frequencyFraction band:(nullable SDLRadioBand)band hdChannel:(nullable NSNumber *)hdChannel radioEnable:(nullable NSNumber *)radioEnable hdRadioEnable:(nullable NSNumber *)hdRadioEnable { + self = [self init]; + if(!self) { + return nil; + } + + self.frequencyInteger = frequencyInteger; + self.frequencyFraction = frequencyFraction; + self.band = band; + self.hdChannel = hdChannel; + self.radioEnable = radioEnable; + self.hdRadioEnable = hdRadioEnable; + + return self; +} + - (void)setFrequencyInteger:(nullable NSNumber *)frequencyInteger { [store sdl_setObject:frequencyInteger forName:SDLNameFrequencyInteger]; } @@ -106,6 +123,22 @@ - (nullable SDLRadioState)state { return [store sdl_objectForName:SDLNameState]; } +- (void)setHdRadioEnable:(nullable NSNumber *)hdRadioEnable { + [store sdl_setObject:hdRadioEnable forName:SDLNameHDRadioEnable]; +} + +- (nullable NSNumber *)hdRadioEnable { + return [store sdl_objectForName:SDLNameHDRadioEnable]; +} + +- (void)setSisData:(nullable SDLSISData *)sisData { + [store sdl_setObject:sisData forName:SDLNameSISData]; +} + +- (nullable SDLSISData *)sisData { + return [store sdl_objectForName:SDLNameSISData ofClass:SDLSISData.class]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioState.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioState.h index ceecab0..ee5945a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioState.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRadioState.h @@ -5,31 +5,26 @@ #import "SDLEnum.h" /** - * List possible states of a remote control radio module. + * List possible states of a remote control radio module. Used in RadioControlData. */ - typedef SDLEnum SDLRadioState SDL_SWIFT_ENUM; /** - * @abstract Represents Radio state as ACQUIRING - * + * Represents Radio state as ACQUIRING */ extern SDLRadioState const SDLRadioStateAcquiring; /** - * @abstract Represents Radio state as ACQUIRED - * + * Represents Radio state as ACQUIRED */ extern SDLRadioState const SDLRadioStateAcquired; /** - * @abstract Represents Radio state as MULTICAST - * + * Represents Radio state as MULTICAST */ extern SDLRadioState const SDLRadioStateMulticast; /** - * @abstract Represents Radio state as NOT_FOUND - * + * Represents Radio state as NOT_FOUND */ extern SDLRadioState const SDLRadioStateNotFound; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLReadDID.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLReadDID.h index 153ea6a..04a3982 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLReadDID.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLReadDID.h @@ -24,13 +24,13 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithECUName:(UInt16)ecuNumber didLocation:(NSArray *> *)didLocation; /** - * @abstract An ID of the vehicle module + * An ID of the vehicle module *
    Notes: Minvalue:0; Maxvalue:65535 */ @property (strong, nonatomic) NSNumber *ecuName; /** - * @abstract Raw data from vehicle data DID location(s) + * Raw data from vehicle data DID location(s) *
    a Vector value representing raw data from vehicle * data DID location(s) *

    diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLReadDIDResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLReadDIDResponse.h index 8509409..612ed48 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLReadDIDResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLReadDIDResponse.h @@ -7,15 +7,18 @@ @class SDLDIDResult; /** - * Read DID Response is sent, when ReadDID has been called - * - * Since SmartDeviceLink 2.0 + A response to ReadDID + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN @interface SDLReadDIDResponse : SDLRPCResponse +/** + Array of requested DID results (with data if available). + */ @property (nullable, strong, nonatomic) NSArray *didResult; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRectangle.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRectangle.h index 78f87b1..04d9e76 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRectangle.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRectangle.h @@ -12,6 +12,9 @@ #import "NSNumber+NumberType.h" #import "SDLRPCStruct.h" +/** + A struct describing a rectangle + */ @interface SDLRectangle : SDLRPCStruct /** @@ -35,24 +38,28 @@ /** * The X-coordinate of the user control + * Required, Float */ @property (strong, nonatomic) NSNumber *x; /** * The Y-coordinate of the user control + * Required, Float */ @property (strong, nonatomic) NSNumber *y; /** * The width of the user control's bounding rectangle + * Required, Float */ @property (strong, nonatomic) NSNumber *width; /** * The height of the user control's bounding rectangle + * Required, Float */ @property (strong, nonatomic) NSNumber *height; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterface.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterface.h index c86e235..a03c438 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterface.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterface.h @@ -10,124 +10,120 @@ @class SDLDeviceInfo; @class SDLLifecycleConfiguration; @class SDLSyncMsgVersion; +@class SDLTemplateColorScheme; @class SDLTTSChunk; /** - * Registers the application's interface with SDL®, declaring properties of - * the registration, including the messaging interface version, the app name, - * etc. The mobile application must establish its interface registration with - * SDL before any other interaction with SDL® can take place. The - * registration lasts until it is terminated either by the application calling - * the SDLUnregisterAppInterface method, or by SDL® - * sending an SDLOnAppInterfaceUnregistered notification, or - * by loss of the underlying transport connection, or closing of the underlying - * message transmission protocol RPC session - *

    - * Until the application receives its first SDLOnHMIStatus - * Notification, its HMI Status is assumed to be: - * SDLHMILevel=NONE, - * SDLAudioStreamingState - * =NOT_AUDIBLE, - * SDLSystemContext=MAIN - *

    - * All SDL® resources which the application creates or uses (e.g. Choice - * Sets, Command Menu, etc.) are associated with the application's interface - * registration. Therefore, when the interface registration ends, the SDL® - * resources associated with the application are disposed of. As a result, even - * though the application itself may continue to run on its host platform (e.g. - * mobile device) after the interface registration terminates, the application - * will not be able to use the SDL® HMI without first establishing a new - * interface registration and re-creating its required SDL® resources. That - * is, SDL® resources created by (or on behalf of) an application do not - * persist beyond the life-span of the interface registration - *

    - * Resources and settings whose lifespan is tied to the duration of an - * application's interface registration:
    - *

      - *
    • Choice Sets
    • - *
    • Command Menus (built by successive calls to SDLAddCommand - * )
    • - *
    • Media clock timer display value
    • - *
    • Media clock timer display value
    • - *
    • Media clock timer display value
    • - *
    - *

    - * The autoActivateID is used to grant an application the HMILevel and - * AudioStreamingState it had when it last disconnected - *

    - * Notes: The autoActivateID parameter, and associated behavior, is - * currently ignored by SDL® - *

    - * When first calling this method (i.e. first time within life cycle of mobile - * app), an autoActivateID should not be included. After successfully - * registering an interface, an autoActivateID is returned to the mobile - * application for it to use in subsequent connections. If the connection - * between SDL® and the mobile application is lost, such as the vehicle is - * turned off while the application is running, the autoActivateID can then be - * passed in another call to RegisterAppInterface to re-acquire - * SDLHMILevel=FULL - *

    - * If the application intends to stream audio it is important to indicate so via - * the isMediaApp parameter. When set to true, audio will reliably stream - * without any configuration required by the user. When not set, audio may - * stream, depending on what the user might have manually configured as a media - * source on SDL® - *

    - * There is no time limit for how long the autoActivateID is "valid" (i.e. would - * confer focus and opt-in) - *

    - * HMILevel is not defined before registering
    - *

    + * Registers the application's interface with SDL. The `RegisterAppInterface` RPC declares the properties of the app, including the messaging interface version, the app name, etc. The mobile application must establish its interface registration with SDL before any other interaction with SDL can take place. The registration lasts until it is terminated either by the application calling the `SDLUnregisterAppInterface` method, or by SDL sending an `SDLOnAppInterfaceUnregistered` notification, or by loss of the underlying transport connection, or closing of the underlying message transmission protocol RPC session. + * + * Until the application receives its first `SDLOnHMIStatus` notification, its `SDLHMILevel` is assumed to be `NONE`, the `SDLAudioStreamingState` is assumed to be `NOT_AUDIBLE`, and the `SDLSystemContext` is assumed to be `MAIN`. + * + * All SDL resources which the application creates or uses (e.g. choice sets, command menu, etc.) are associated with the application's interface registration. Therefore, when the interface registration ends, the SDL resources associated with the application are disposed of. As a result, even though the application itself may continue to run on its host platform (e.g. mobile device) after the interface registration terminates, the application will not be able to use the SDL HMI without first establishing a new interface registration and re-creating its required SDL resources. That is, SDL resources created by (or on behalf of) an application do not persist beyond the life-span of the interface registration. Resources and settings whose lifespan is tied to the duration of an application's interface registration include: choice sets, command menus, and the media clock timer display value + * + * If the application intends to stream audio it is important to indicate so via the `isMediaApp` parameter. When set to true, audio will reliably stream without any configuration required by the user. When not set, audio may stream, depending on what the user might have manually configured as a media source on SDL. * * @since SDL 1.0 * - * @see SDLUnregisterAppInterface SDLOnAppInterfaceUnregistered + * @see SDLUnregisterAppInterface, SDLOnAppInterfaceUnregistered */ NS_ASSUME_NONNULL_BEGIN @interface SDLRegisterAppInterface : SDLRPCRequest +/** + * Convenience init for registering the application with a lifecycle configuration. + * + * @param lifecycleConfiguration Configuration options for SDLManager + */ - (instancetype)initWithLifecycleConfiguration:(SDLLifecycleConfiguration *)lifecycleConfiguration; +/** + * Convenience init for registering the application. + * + * @param appName The mobile application's name + * @param appId An appId used to validate app with policy table entries + * @param languageDesired The language the application intends to use for user interaction + * @return A SDLRegisterAppInterface object + */ - (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired; -- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appType:(SDLAppHMIType)appType shortAppName:(nullable NSString *)shortAppName __deprecated_msg(("use initWithAppName:appId:languageDesired:isMediaApp:appTypes:shortAppName:")); - -- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray *)appTypes shortAppName:(nullable NSString *)shortAppName; +/** + * Convenience init for registering the application. + * + * @param appName The mobile application's name + * @param appId An appId used to validate app with policy table entries + * @param languageDesired The language the application intends to use for user interaction + * @param isMediaApp Indicates if the application is a media or a non-media application + * @param appTypes A list of all applicable app types stating which classifications to be given to the app + * @param shortAppName An abbreviated version of the mobile application's name + * @return A SDLRegisterAppInterface object + */ +- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray *)appTypes shortAppName:(nullable NSString *)shortAppName __deprecated_msg(("Use initWithAppName:appId:fullAppId:languageDesired:isMediaApp:appTypes:shortAppName:ttsName:vrSynonyms:hmiDisplayLanguageDesired:resumeHash:dayColorScheme:nightColorScheme: instead")); -- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appType:(SDLAppHMIType)appType shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray *)ttsName vrSynonyms:(nullable NSArray *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash __deprecated_msg(("use initWithAppName:appId:languageDesired:isMediaApp:appTypes:shortAppName:ttsName:vrSynonyms:hmiDisplayLanguageDesired:resumeHash:")); +/** + * Convenience init for registering the application. + * + * @param appName The mobile application's name + * @param appId An appId used to validate app with policy table entries + * @param languageDesired The language the application intends to use for user interaction + * @param isMediaApp Indicates if the application is a media or a non-media application + * @param appTypes A list of all applicable app types stating which classifications to be given to the app + * @param shortAppName An abbreviated version of the mobile application's name + * @param ttsName TTS string for VR recognition of the mobile application name + * @param vrSynonyms Additional voice recognition commands + * @param hmiDisplayLanguageDesired Current app's expected VR+TTS language + * @param resumeHash ID used to uniquely identify current state of all app data that can persist through connection cycles + * @return A SDLRegisterAppInterface object + */ +- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray *)appTypes shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray *)ttsName vrSynonyms:(nullable NSArray *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash __deprecated_msg(("Use initWithAppName:appId:fullAppId:languageDesired:isMediaApp:appTypes:shortAppName:ttsName:vrSynonyms:hmiDisplayLanguageDesired:resumeHash:dayColorScheme:nightColorScheme: instead")); -- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray *)appTypes shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray *)ttsName vrSynonyms:(nullable NSArray *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash; +/** + * Convenience init for registering the application with all possible options. + * + * @param appName The mobile application's name + * @param appId An appId used to validate app with policy table entries + * @param fullAppId A full UUID appID used to validate app with policy table entries. + * @param languageDesired The language the application intends to use for user interaction + * @param isMediaApp Indicates if the application is a media or a non-media application + * @param appTypes A list of all applicable app types stating which classifications to be given to the app + * @param shortAppName An abbreviated version of the mobile application's name + * @param ttsName TTS string for VR recognition of the mobile application name + * @param vrSynonyms Additional voice recognition commands + * @param hmiDisplayLanguageDesired Current app's expected VR+TTS language + * @param resumeHash ID used to uniquely identify current state of all app data that can persist through connection cycles + * @param dayColorScheme The color scheme to be used on a head unit using a "light" or "day" color scheme. + * @param nightColorScheme The color scheme to be used on a head unit using a "dark" or "night" color scheme + * @return A SDLRegisterAppInterface object + */ +- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId fullAppId:(nullable NSString *)fullAppId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray *)appTypes shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray *)ttsName vrSynonyms:(nullable NSArray *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash dayColorScheme:(nullable SDLTemplateColorScheme *)dayColorScheme nightColorScheme:(nullable SDLTemplateColorScheme *)nightColorScheme; /** - * @abstract The version of the SDL interface + * The version of the SDL interface * * Required */ @property (strong, nonatomic) SDLSyncMsgVersion *syncMsgVersion; /** - * @abstract The Mobile Application's Name, This name is displayed in the SDL Mobile Applications menu. It also serves as the unique identifier of the application for SmartDeviceLink + * The mobile application's name. This name is displayed in the SDL Mobile Applications menu. It also serves as the unique identifier of the application for SmartDeviceLink. * - * @discussion - *
  • Needs to be unique over all applications.
  • - *
  • May not be empty.
  • - *
  • May not start with a new line character.
  • - *
  • May not interfere with any name or synonym of previously registered applications and any predefined blacklist of words (global commands).
  • - *
  • Needs to be unique over all applications. Applications with the same name will be rejected.
  • + * 1. Needs to be unique over all applications. Applications with the same name will be rejected. + * 2. May not be empty. + * 3. May not start with a new line character. + * 4. May not interfere with any name or synonym of previously registered applications and any predefined blacklist of words (global commands). * * Required, Max length 100 chars */ @property (strong, nonatomic) NSString *appName; /** - * @abstract TTS string for VR recognition of the mobile application name. + * TTS string for VR recognition of the mobile application name. * * @discussion Meant to overcome any failing on speech engine in properly pronouncing / understanding app name. - *
  • Needs to be unique over all applications.
  • - *
  • May not be empty.
  • - *
  • May not start with a new line character.
  • + * 1. Needs to be unique over all applications. + * 2. May not be empty. + * 3. May not start with a new line character. * * Optional, Array of SDLTTSChunk, Array size 1 - 100 * @@ -137,7 +133,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSArray *ttsName; /** - * @abstract A String representing an abbreviated version of the mobile application's name (if necessary) that will be displayed on the media screen + * A String representing an abbreviated version of the mobile application's name (if necessary) that will be displayed on the media screen. * * @discussion If not provided, the appName is used instead (and will be truncated if too long) * @@ -146,16 +142,16 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSString *ngnMediaScreenAppName; /** - * @abstract Defines a additional voice recognition commands + * Defines additional voice recognition commands * - * @discussion May not interfere with any app name of previously registered applications and any predefined blacklist of words (global commands) + * @discussion May not interfere with any app name of previously registered applications and any predefined blacklist of words (global commands). * * Optional, Array of Strings, Array length 1 - 100, Max String length 40 */ @property (nullable, strong, nonatomic) NSArray *vrSynonyms; /** - * @abstract Indicates if the application is a media or a non-media application. + * Indicates if the application is a media or a non-media application. * * @discussion Only media applications will be able to stream audio to head units that is audible outside of the BT media source. * @@ -164,7 +160,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) NSNumber *isMediaApplication; /** - * @abstract A Language enumeration indicating what language the application intends to use for user interaction (TTS and VR). + * A Language enumeration indicating what language the application intends to use for user interaction (TTS and VR). * * @discussion If there is a mismatch with the head unit, the app will be able to change this registration with changeRegistration prior to app being brought into focus. * @@ -173,7 +169,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) SDLLanguage languageDesired; /** - * @abstract An enumeration indicating what language the application intends to use for user interaction (Display). + * An enumeration indicating what language the application intends to use for user interaction (Display). * * @discussion If there is a mismatch with the head unit, the app will be able to change this registration with changeRegistration prior to app being brought into focus. * @@ -184,7 +180,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) SDLLanguage hmiDisplayLanguageDesired; /** - * @abstract A list of all applicable app types stating which classifications to be given to the app. + * A list of all applicable app types stating which classifications to be given to the app. * * Optional, Array of SDLAppHMIType, Array size 1 - 100 * @@ -194,7 +190,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSArray *appHMIType; /** - * @abstract ID used to uniquely identify current state of all app data that can persist through connection cycles (e.g. ignition cycles). + * ID used to uniquely identify current state of all app data that can persist through connection cycles (e.g. ignition cycles). * * @discussion This registered data (commands, submenus, choice sets, etc.) can be reestablished without needing to explicitly reregister each piece. If omitted, then the previous state of an app's commands, etc. will not be restored. * @@ -205,28 +201,53 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSString *hashID; /** - * @abstract Information about the connecting device + * Information about the connecting device * * Optional */ @property (nullable, strong, nonatomic) SDLDeviceInfo *deviceInfo; /** - * @abstract ID used to validate app with policy table entries + * ID used to validate app with policy table entries * * Required, max length 100 * + * @see `fullAppID` + * * @since SDL 2.0 */ @property (strong, nonatomic) NSString *appID; /** - * @abstract Information about the application running + * A full UUID appID used to validate app with policy table entries. + * + * Optional + * + * @discussion The `fullAppId` is used to authenticate apps that connect with head units that implement SDL Core v.5.0 and newer. If connecting with older head units, the `fullAppId` can be truncated to create the required `appId` needed to register the app. The `appId` is the first 10 non-dash ("-") characters of the `fullAppID` (e.g. if you have a `fullAppId` of 123e4567-e89b-12d3-a456-426655440000, the `appId` will be 123e4567e8). + */ +@property (nullable, strong, nonatomic) NSString *fullAppID; + +/** + * Information about the application running * * Optional */ @property (nullable, strong, nonatomic) SDLAppInfo *appInfo; +/** + * The color scheme to be used on a head unit using a "light" or "day" color scheme. The OEM may only support this theme if their head unit only has a light color scheme. + * + * Optional + */ +@property (strong, nonatomic, nullable) SDLTemplateColorScheme *dayColorScheme; + +/** + * The color scheme to be used on a head unit using a "dark" or "night" color scheme. The OEM may only support this theme if their head unit only has a dark color scheme. + * + * Optional + */ +@property (strong, nonatomic, nullable) SDLTemplateColorScheme *nightColorScheme; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterface.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterface.m index 6562b78..cf23d1b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterface.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterface.m @@ -8,16 +8,20 @@ #import "SDLAppHMIType.h" #import "SDLAppInfo.h" #import "SDLDeviceInfo.h" +#import "SDLGlobals.h" #import "SDLLanguage.h" #import "SDLLifecycleConfiguration.h" #import "SDLNames.h" #import "SDLSyncMsgVersion.h" +#import "SDLTemplateColorScheme.h" #import "SDLTTSChunk.h" NS_ASSUME_NONNULL_BEGIN @implementation SDLRegisterAppInterface +#pragma mark - Lifecycle + - (instancetype)init { if (self = [super initWithName:SDLNameRegisterAppInterface]) { } @@ -29,6 +33,7 @@ - (instancetype)initWithLifecycleConfiguration:(SDLLifecycleConfiguration *)life return [self initWithAppName:lifecycleConfiguration.appName appId:lifecycleConfiguration.appId + fullAppId:lifecycleConfiguration.fullAppId languageDesired:lifecycleConfiguration.language isMediaApp:lifecycleConfiguration.isMedia appTypes:allHMITypes @@ -36,7 +41,9 @@ - (instancetype)initWithLifecycleConfiguration:(SDLLifecycleConfiguration *)life ttsName:lifecycleConfiguration.ttsName vrSynonyms:lifecycleConfiguration.voiceRecognitionCommandNames hmiDisplayLanguageDesired:lifecycleConfiguration.language - resumeHash:lifecycleConfiguration.resumeHash]; + resumeHash:lifecycleConfiguration.resumeHash + dayColorScheme:lifecycleConfiguration.dayColorScheme + nightColorScheme:lifecycleConfiguration.nightColorScheme]; } - (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired { @@ -44,21 +51,24 @@ - (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId lang if (!self) { return nil; } - + self.appName = appName; self.appID = appId; + self.fullAppID = nil; self.languageDesired = languageDesired; - - self.syncMsgVersion = [[SDLSyncMsgVersion alloc] initWithMajorVersion:1 minorVersion:0 patchVersion:0]; + + self.hmiDisplayLanguageDesired = languageDesired; + + UInt8 majorVersion = (UInt8)[SDLMaxProxyRPCVersion substringWithRange:NSMakeRange(0, 1)].intValue; + UInt8 minorVersion = (UInt8)[SDLMaxProxyRPCVersion substringWithRange:NSMakeRange(2, 1)].intValue; + UInt8 patchVersion = (UInt8)[SDLMaxProxyRPCVersion substringWithRange:NSMakeRange(4, 1)].intValue; + self.syncMsgVersion = [[SDLSyncMsgVersion alloc] initWithMajorVersion:majorVersion minorVersion:minorVersion patchVersion:patchVersion]; self.appInfo = [SDLAppInfo currentAppInfo]; self.deviceInfo = [SDLDeviceInfo currentDevice]; self.correlationID = @1; - - return self; -} + self.isMediaApplication = @NO; -- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appType:(SDLAppHMIType)appType shortAppName:(nullable NSString *)shortAppName { - return [self initWithAppName:appName appId:appId languageDesired:languageDesired isMediaApp:isMediaApp appTypes:@[appType] shortAppName:shortAppName]; + return self; } - (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray *)appTypes shortAppName:(nullable NSString *)shortAppName { @@ -74,10 +84,6 @@ - (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId lang return self; } -- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appType:(SDLAppHMIType)appType shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray *)ttsName vrSynonyms:(nullable NSArray *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash { - return [self initWithAppName:appName appId:appId languageDesired:languageDesired isMediaApp:isMediaApp appTypes:@[appType] shortAppName:shortAppName ttsName:ttsName vrSynonyms:vrSynonyms hmiDisplayLanguageDesired:hmiDisplayLanguageDesired resumeHash:resumeHash]; -} - - (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray *)appTypes shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray *)ttsName vrSynonyms:(nullable NSArray *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash { self = [self initWithAppName:appName appId:appId languageDesired:languageDesired isMediaApp:isMediaApp appTypes:appTypes shortAppName:shortAppName]; if (!self) { @@ -92,6 +98,23 @@ - (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId lang return self; } +- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId fullAppId:(nullable NSString *)fullAppId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray *)appTypes shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray *)ttsName vrSynonyms:(nullable NSArray *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash dayColorScheme:(nullable SDLTemplateColorScheme *)dayColorScheme nightColorScheme:(nullable SDLTemplateColorScheme *)nightColorScheme { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + self = [self initWithAppName:appName appId:appId languageDesired:languageDesired isMediaApp:isMediaApp appTypes:appTypes shortAppName:shortAppName ttsName:ttsName vrSynonyms:vrSynonyms hmiDisplayLanguageDesired:hmiDisplayLanguageDesired resumeHash:resumeHash]; +#pragma clang diagnostic pop + + if (!self) { return nil; } + + self.fullAppID = fullAppId; + self.dayColorScheme = dayColorScheme; + self.nightColorScheme = nightColorScheme; + + return self; +} + +#pragma mark - Getters and Setters + - (void)setSyncMsgVersion:(SDLSyncMsgVersion *)syncMsgVersion { [parameters sdl_setObject:syncMsgVersion forName:SDLNameSyncMessageVersion]; } @@ -188,6 +211,14 @@ - (NSString *)appID { return [parameters sdl_objectForName:SDLNameAppId]; } +- (void)setFullAppID:(nullable NSString *)fullAppID { + [parameters sdl_setObject:fullAppID forName:SDLNameFullAppID]; +} + +- (nullable NSString *)fullAppID { + return [parameters sdl_objectForName:SDLNameFullAppID]; +} + - (void)setAppInfo:(nullable SDLAppInfo *)appInfo { [parameters sdl_setObject:appInfo forName:SDLNameAppInfo]; } @@ -196,6 +227,22 @@ - (nullable SDLAppInfo *)appInfo { return [parameters sdl_objectForName:SDLNameAppInfo ofClass:SDLAppInfo.class]; } +- (void)setDayColorScheme:(nullable SDLTemplateColorScheme *)dayColorScheme { + [parameters sdl_setObject:dayColorScheme forName:SDLNameDayColorScheme]; +} + +- (nullable SDLTemplateColorScheme *)dayColorScheme { + return [parameters sdl_objectForName:SDLNameDayColorScheme ofClass:[SDLTemplateColorScheme class]]; +} + +- (void)setNightColorScheme:(nullable SDLTemplateColorScheme *)nightColorScheme { + [parameters sdl_setObject:nightColorScheme forName:SDLNameNightColorScheme]; +} + +- (nullable SDLTemplateColorScheme *)nightColorScheme { + return [parameters sdl_objectForName:SDLNameNightColorScheme ofClass:[SDLTemplateColorScheme class]]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h index 8909659..90a1600 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterfaceResponse.h @@ -21,9 +21,9 @@ /** - * @abstract Register AppInterface Response is sent, when SDLRegisterAppInterface has been called - * - * Since SmartDeviceLink 1.0 + Response to SDLRegisterAppInterface + + Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN @@ -31,140 +31,133 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLRegisterAppInterfaceResponse : SDLRPCResponse /** - * @see SDLSyncMsgVersion - * - * Optional + The RPC spec version supported by the connected IVI system. + + Optional */ @property (nullable, strong, nonatomic) SDLSyncMsgVersion *syncMsgVersion; /** - * The currently active VR+TTS language on Sync. - * - * @see SDLLanguage - * - * Optional + The currently active VR+TTS language on the module. See "Language" for options. + + Optional */ @property (nullable, strong, nonatomic) SDLLanguage language; /** - * The currently active display language on Sync - * - * @see SDLLanguage - * @since SmartDeviceLink 2.0 - * - * Optional + The currently active display language on the module. See "Language" for options. + + Since SmartDeviceLink 2.0 + + Optional */ @property (nullable, strong, nonatomic) SDLLanguage hmiDisplayLanguage; /** - * @see SDLDisplayCapabilities - * - * Optional + Contains information about the display for the SDL system to which the application is currently connected. + + Optional */ @property (nullable, strong, nonatomic) SDLDisplayCapabilities *displayCapabilities; /** - * @see SDLButtonCapabilities - * - * Optional, Array of length 1 - 100, of SDLButtonCapabilities + Provides information about the capabilities of a SDL HMI button. + + Optional, Array of length 1 - 100, of SDLButtonCapabilities */ @property (nullable, strong, nonatomic) NSArray *buttonCapabilities; /** - * If returned, the platform supports on-screen SoftButtons - * - * @see SDLSoftButtonCapabilities - * - * Optional, Array of length 1 - 100, of SDLSoftButtonCapabilities + Contains information about a SoftButton's capabilities. + + Optional, Array of length 1 - 100, of SDLSoftButtonCapabilities */ @property (nullable, strong, nonatomic) NSArray *softButtonCapabilities; /** - * If returned, the platform supports custom on-screen Presets - * - * @see SDLPresetBankCapabilities - * - * Optional + If returned, the platform supports custom on-screen Presets + + Optional */ @property (nullable, strong, nonatomic) SDLPresetBankCapabilities *presetBankCapabilities; /** - * @see SDLHMIZoneCapabilities - * - * Optional, Array of length 1 - 100, of SDLHMIZoneCapabilities + Specifies HMI Zones in the vehicle. + + Optional, Array of length 1 - 100, of SDLHMIZoneCapabilities */ @property (nullable, strong, nonatomic) NSArray *hmiZoneCapabilities; /** - * @see SDLSpeechCapabilities - * - * Optional, Array of length 1 - 100, of SDLSpeechCapabilities + Contains information about TTS capabilities on the SDL platform. + + Optional, Array of length 1 - 100, of SDLSpeechCapabilities */ @property (nullable, strong, nonatomic) NSArray *speechCapabilities; /** - * @see SDLPrerecordedSpeech + Contains information about the speech capabilities on the SDL platform * * Optional, Array of length 1 - 100, of SDLPrerecordedSpeech */ @property (nullable, strong, nonatomic) NSArray *prerecordedSpeech; /** - * @see SDLVRCapabilities - * - * Optional, Array of length 1 - 100, of SDLVRCapabilities + The VR capabilities of the connected SDL platform. + + Optional, Array of length 1 - 100, of SDLVRCapabilities */ @property (nullable, strong, nonatomic) NSArray *vrCapabilities; /** - * @see SDLAudioPassThruCapabilities - * - * Optional, Array of length 1 - 100, of SDLAudioPassThruCapabilities + Describes different audio type configurations for SDLPerformAudioPassThru, e.g. {8kHz,8-bit,PCM} + + Optional, Array of length 1 - 100, of SDLAudioPassThruCapabilities */ @property (nullable, strong, nonatomic) NSArray *audioPassThruCapabilities; /** - @see SDLAudioPassThruCapabilities + Describes different audio type configurations for the audio PCM stream service, e.g. {8kHz,8-bit,PCM} */ @property (nullable, strong, nonatomic) SDLAudioPassThruCapabilities *pcmStreamCapabilities; /** - * Specifies the vehicle's type - * - * @see SDLVehicleType - * - * Optional, Array of length 1 - 100, of SDLVehicleType + Specifies the connected vehicle's type */ @property (nullable, strong, nonatomic) SDLVehicleType *vehicleType; /** - * Specifies the white-list of supported diagnostic modes (0x00-0xFF) capable for DiagnosticMessage requests. If a mode outside this list is requested, it will be rejected. - * - * Optional, Array of length 1 - 100, Integer 0 - 255 + Specifies the white-list of supported diagnostic modes (0x00-0xFF) capable for DiagnosticMessage requests. If a mode outside this list is requested, it will be rejected. + + Optional, Array of length 1 - 100, Integer 0 - 255 */ @property (nullable, strong, nonatomic) NSArray *> *supportedDiagModes; /** - * @see SDLHMICapabilities - * - * Optional + Specifies the availability of various SDL features. + + Optional */ @property (nullable, strong, nonatomic) SDLHMICapabilities *hmiCapabilities; /** - * The SmartDeviceLink version - * - * Optional, String max length 100 + The SmartDeviceLink Core version + + Optional, String max length 100 */ @property (nullable, strong, nonatomic) NSString *sdlVersion; /** - * The software version of the system that implements the SmartDeviceLink core - * - * Optional, String max length 100 + The software version of the system that implements SmartDeviceLink Core + + Optional, String max length 100 */ @property (nullable, strong, nonatomic) NSString *systemSoftwareVersion; +/** + Whether or not the app's icon already existed on the system and was resumed. That means that the icon does not need to be sent by the app. + */ +@property (nullable, strong, nonatomic) NSNumber *iconResumed; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m index f8017f8..f8b3b62 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRegisterAppInterfaceResponse.m @@ -135,7 +135,7 @@ - (void)setVehicleType:(nullable SDLVehicleType *)vehicleType { } - (nullable SDLVehicleType *)vehicleType { - return [parameters sdl_objectForName:SDLNameVehicleType ofClass:SDLVehicleType.class]; + return [parameters sdl_objectForName:SDLNameVehicleType ofClass:[SDLVehicleType class]]; } - (void)setSupportedDiagModes:(nullable NSArray *> *)supportedDiagModes { @@ -170,6 +170,14 @@ - (nullable NSString *)systemSoftwareVersion { return [parameters sdl_objectForName:SDLNameSystemSoftwareVersion]; } +- (void)setIconResumed:(nullable NSNumber *)iconResumed { + [parameters sdl_setObject:iconResumed forName:SDLNameIconResumed]; +} + +- (nullable NSNumber *)iconResumed { + return [parameters sdl_objectForName:SDLNameIconResumed]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRemoteControlCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRemoteControlCapabilities.h index 6ccda96..15eedff 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRemoteControlCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRemoteControlCapabilities.h @@ -4,18 +4,39 @@ #import "SDLRPCMessage.h" +@class SDLAudioControlCapabilities; +@class SDLButtonCapabilities; @class SDLClimateControlCapabilities; +@class SDLHMISettingsControlCapabilities; +@class SDLLightControlCapabilities; @class SDLRadioControlCapabilities; -@class SDLButtonCapabilities; +@class SDLSeatControlCapabilities; NS_ASSUME_NONNULL_BEGIN +/** + Capabilities of the remote control feature + */ @interface SDLRemoteControlCapabilities : SDLRPCStruct -- (instancetype)initWithClimateControlCapabilities:(nullable NSArray *)climateControlCapabilities radioControlCapabilities:(nullable NSArray *)radioControlCapabilities buttonCapabilities:(nullable NSArray *)buttonCapabilities; +- (instancetype)initWithClimateControlCapabilities:(nullable NSArray *)climateControlCapabilities radioControlCapabilities:(nullable NSArray *)radioControlCapabilities buttonCapabilities:(nullable NSArray *)buttonCapabilities __deprecated_msg("Use initWithClimateControlCapabilities:climateControlCapabilities:radioControlCapabilities:buttonCapabilities:seatControlCapabilities:audioControlCapabilities:hmiSettingsControlCapabilities:lightControlCapabilities: instead"); /** - * @abstract If included, the platform supports RC climate controls. + Constructs a newly allocated SDLRemoteControlCapabilities object with given parameters + + @param climateControlCapabilities Array of SDLClimateControlCapabilities + @param radioControlCapabilities Array of SDLRadioControlCapabilities + @param buttonCapabilities Array of SDLButtonCapabilities + @param lightControlCapabilities Array of SDLLightControlCapabilities + @param seatControlCapabilities Array of SDLSeatControlCapabilities + + @return An instance of the SDLRemoteControlCapabilities class + + */ +- (instancetype)initWithClimateControlCapabilities:(nullable NSArray *)climateControlCapabilities radioControlCapabilities:(nullable NSArray *)radioControlCapabilities buttonCapabilities:(nullable NSArray *)buttonCapabilities seatControlCapabilities:(nullable NSArray *)seatControlCapabilities audioControlCapabilities:(nullable NSArray *)audioControlCapabilities hmiSettingsControlCapabilities:(nullable NSArray *)hmiSettingsControlCapabilities lightControlCapabilities:(nullable NSArray *)lightControlCapabilities; + +/** + * If included, the platform supports RC climate controls. * For this baseline version, maxsize=1. i.e. only one climate control module is supported. * * Optional, Array of SDLClimateControlCapabilities, Array length 1 - 100 @@ -23,7 +44,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSArray *climateControlCapabilities; /** - * @abstract If included, the platform supports RC radio controls. + * If included, the platform supports RC radio controls. * For this baseline version, maxsize=1. i.e. only one radio control module is supported. * * Optional, Array of SDLRadioControlCapabilities, Array length 1 - 100 @@ -31,12 +52,40 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) NSArray *radioControlCapabilities; /** - * @abstract If included, the platform supports RC button controls with the included button names. + * If included, the platform supports RC button controls with the included button names. * * Optional, Array of SDLButtonCapabilities, Array length 1 - 100 */ @property (nullable, strong, nonatomic) NSArray *buttonCapabilities; +/** + * If included, the platform supports seat controls. + * + * Optional, Array of SDLSeatControlCapabilities, Array length 1 - 100 + */ +@property (nullable, strong, nonatomic) NSArray *seatControlCapabilities; + +/** + * If included, the platform supports audio controls. + * + * Optional, Array of SDLAudioControlCapabilities, Array length 1 - 100 + */ +@property (nullable, strong, nonatomic) NSArray *audioControlCapabilities; + +/** + * If included, the platform supports hmi setting controls. + * + * Optional, Array of SDLHMISettingsControlCapabilities, Array length 1 - 100 + */ +@property (nullable, strong, nonatomic) NSArray *hmiSettingsControlCapabilities; + +/** + * If included, the platform supports light controls. + * + * Optional, Array of SDLLightControlCapabilities, Array length 1 - 100 + */ +@property (nullable, strong, nonatomic) NSArray *lightControlCapabilities; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRemoteControlCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRemoteControlCapabilities.m index 1a12d7c..2e4ab74 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRemoteControlCapabilities.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRemoteControlCapabilities.m @@ -2,10 +2,14 @@ // SDLRemoteControlCapabilities.m // -#import "SDLRemoteControlCapabilities.h" +#import "SDLAudioControlCapabilities.h" +#import "SDLButtonCapabilities.h" #import "SDLClimateControlCapabilities.h" +#import "SDLHMISettingsControlCapabilities.h" +#import "SDLLightControlCapabilities.h" +#import "SDLRemoteControlCapabilities.h" #import "SDLRadioControlCapabilities.h" -#import "SDLButtonCapabilities.h" +#import "SDLSeatControlCapabilities.h" #import "NSMutableDictionary+Store.h" #import "SDLNames.h" @@ -14,14 +18,23 @@ @implementation SDLRemoteControlCapabilities - (instancetype)initWithClimateControlCapabilities:(nullable NSArray *)climateControlCapabilities radioControlCapabilities:(nullable NSArray *)radioControlCapabilities buttonCapabilities:(nullable NSArray *)buttonCapabilities { + + return [self initWithClimateControlCapabilities:climateControlCapabilities radioControlCapabilities:radioControlCapabilities buttonCapabilities:buttonCapabilities seatControlCapabilities:nil audioControlCapabilities:nil hmiSettingsControlCapabilities:nil lightControlCapabilities:nil]; +} + +- (instancetype)initWithClimateControlCapabilities:(nullable NSArray *)climateControlCapabilities radioControlCapabilities:(nullable NSArray *)radioControlCapabilities buttonCapabilities:(nullable NSArray *)buttonCapabilities seatControlCapabilities:(nullable NSArray *)seatControlCapabilities audioControlCapabilities:(nullable NSArray *)audioControlCapabilities hmiSettingsControlCapabilities:(nullable NSArray *)hmiSettingsControlCapabilities lightControlCapabilities:(nullable NSArray *)lightControlCapabilities { self = [super init]; if (!self) { return nil; } - + self.climateControlCapabilities = climateControlCapabilities; self.radioControlCapabilities = radioControlCapabilities; self.buttonCapabilities = buttonCapabilities; + self.seatControlCapabilities = seatControlCapabilities; + self.audioControlCapabilities = audioControlCapabilities; + self.hmiSettingsControlCapabilities = hmiSettingsControlCapabilities; + self.lightControlCapabilities = lightControlCapabilities; return self; } @@ -49,6 +62,39 @@ - (void)setButtonCapabilities:(nullable NSArray *)butto return [store sdl_objectsForName:SDLNameButtonCapabilities ofClass:SDLButtonCapabilities.class]; } +- (void)setSeatControlCapabilities:(nullable NSArray *)seatControlCapabilities { + [store sdl_setObject:seatControlCapabilities forName:SDLNameSeatControlCapabilities]; +} + +- (nullable NSArray *)seatControlCapabilities { + return [store sdl_objectsForName:SDLNameSeatControlCapabilities ofClass:SDLSeatControlCapabilities.class]; +} + +- (void)setAudioControlCapabilities:(nullable NSArray *)audioControlCapabilities { + [store sdl_setObject:audioControlCapabilities forName:SDLNameAudioControlCapabilities]; +} + +- (nullable NSArray *)audioControlCapabilities { + return [store sdl_objectsForName:SDLNameAudioControlCapabilities ofClass:SDLAudioControlCapabilities.class]; + +} + +- (void)setHmiSettingsControlCapabilities:(nullable NSArray *)hmiSettingsControlCapabilities { + [store sdl_setObject:hmiSettingsControlCapabilities forName:SDLNameHmiSettingsControlCapabilities]; +} + +- (nullable NSArray *)hmiSettingsControlCapabilities { + return [store sdl_objectsForName:SDLNameHmiSettingsControlCapabilities ofClass:SDLHMISettingsControlCapabilities.class]; +} + +- (void)setLightControlCapabilities:(nullable NSArray *)lightControlCapabilities { + [store sdl_setObject:lightControlCapabilities forName:SDLNameLightControlCapabilities]; +} + +- (nullable NSArray *)lightControlCapabilities { + return [store sdl_objectsForName:SDLNameLightControlCapabilities ofClass:SDLLightControlCapabilities.class]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRequestType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRequestType.h index 3a3140d..918ce02 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRequestType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRequestType.h @@ -4,25 +4,112 @@ #import "SDLEnum.h" +/** + A type of system request. Used in SystemRequest. + */ typedef SDLEnum SDLRequestType SDL_SWIFT_ENUM; +/** + An HTTP request + */ extern SDLRequestType const SDLRequestTypeHTTP; + +/** + A file resumption request + */ extern SDLRequestType const SDLRequestTypeFileResume; + +/** + An authentication request + */ extern SDLRequestType const SDLRequestTypeAuthenticationRequest; + +/** + An authentication challenge + */ extern SDLRequestType const SDLRequestTypeAuthenticationChallenge; + +/** + An authentication acknowledgment + */ extern SDLRequestType const SDLRequestTypeAuthenticationAck; + +/** + An proprietary formatted request + */ extern SDLRequestType const SDLRequestTypeProprietary; + +/** + An Query Apps request + */ extern SDLRequestType const SDLRequestTypeQueryApps; + +/** + A Launch Apps request + */ extern SDLRequestType const SDLRequestTypeLaunchApp; + +/** + The URL for a lock screen icon + */ extern SDLRequestType const SDLRequestTypeLockScreenIconURL; + +/** + A traffic message channel request + */ extern SDLRequestType const SDLRequestTypeTrafficMessageChannel; + +/** + A driver profile request + */ extern SDLRequestType const SDLRequestTypeDriverProfile; + +/** + A voice search request + */ extern SDLRequestType const SDLRequestTypeVoiceSearch; + +/** + A navigation request + */ extern SDLRequestType const SDLRequestTypeNavigation; + +/** + A phone request + */ extern SDLRequestType const SDLRequestTypePhone; + +/** + A climate request + */ extern SDLRequestType const SDLRequestTypeClimate; + +/** + A settings request + */ extern SDLRequestType const SDLRequestTypeSettings; + +/** + A vehicle diagnostics request + */ extern SDLRequestType const SDLRequestTypeVehicleDiagnostics; + +/** + An emergency request + */ extern SDLRequestType const SDLRequestTypeEmergency; + +/** + A media request + */ extern SDLRequestType const SDLRequestTypeMedia; + +/** + A firmware over-the-air request + */ extern SDLRequestType const SDLRequestTypeFOTA; + +/** + A request that is OEM specific using the `RequestSubType` in SystemRequest + */ +extern SDLRequestType const SDLRequestTypeOEMSpecific; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRequestType.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRequestType.m index ba3d2d9..d766e04 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLRequestType.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLRequestType.m @@ -24,3 +24,4 @@ SDLRequestType const SDLRequestTypeEmergency = @"EMERGENCY"; SDLRequestType const SDLRequestTypeMedia = @"MEDIA"; SDLRequestType const SDLRequestTypeFOTA = @"FOTA"; +SDLRequestType const SDLRequestTypeOEMSpecific = @"OEM_SPECIFIC"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResetGlobalProperties.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResetGlobalProperties.h index 1b77b8e..f581969 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResetGlobalProperties.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResetGlobalProperties.h @@ -30,7 +30,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithProperties:(NSArray *)properties; /** - * @abstract An array of one or more GlobalProperty enumeration elements + * An array of one or more GlobalProperty enumeration elements * indicating which global properties to reset to their default value */ @property (strong, nonatomic) NSArray *properties; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h index 23a043c..8e941a7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResetGlobalPropertiesResponse.h @@ -5,9 +5,9 @@ #import "SDLRPCResponse.h" /** - * Reset Global Properties Response is sent, when SDLResetGlobalProperties has been called - * - * Since SmartDeviceLink 1.0 + Response to ResetGlobalProperties + + Since SmartDeviceLink 1.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResponseDispatcher.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResponseDispatcher.m index e95c3be..6851a15 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResponseDispatcher.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResponseDispatcher.m @@ -8,6 +8,7 @@ #import "SDLResponseDispatcher.h" +#import "NSMutableArray+Safe.h" #import "NSMutableDictionary+SafeRemove.h" #import "SDLAddCommand.h" #import "SDLAlert.h" @@ -15,6 +16,7 @@ #import "SDLDeleteCommand.h" #import "SDLDeleteCommandResponse.h" #import "SDLError.h" +#import "SDLGlobals.h" #import "SDLLogMacros.h" #import "SDLOnAudioPassThru.h" #import "SDLOnButtonEvent.h" @@ -215,10 +217,9 @@ - (void)sdl_runHandlerForCommand:(SDLRPCNotificationNotification *)notification - (void)sdl_runHandlerForButton:(SDLRPCNotificationNotification *)notification { __kindof SDLRPCNotification *rpcNotification = notification.notification; - - SDLRPCButtonNotificationHandler handler = nil; SDLButtonName name = nil; NSNumber *customID = nil; + SDLRPCButtonNotificationHandler handler = nil; if ([rpcNotification isMemberOfClass:[SDLOnButtonEvent class]]) { name = ((SDLOnButtonEvent *)rpcNotification).buttonName; @@ -226,20 +227,26 @@ - (void)sdl_runHandlerForButton:(SDLRPCNotificationNotification *)notification { } else if ([rpcNotification isMemberOfClass:[SDLOnButtonPress class]]) { name = ((SDLOnButtonPress *)rpcNotification).buttonName; customID = ((SDLOnButtonPress *)rpcNotification).customButtonID; + } else { + return; } if ([name isEqualToEnum:SDLButtonNameCustomButton]) { + // Custom buttons handler = self.customButtonHandlerMap[customID]; } else { + // Static buttons handler = self.buttonHandlerMap[name]; } - if (handler) { - if ([rpcNotification isMemberOfClass:[SDLOnButtonEvent class]]) { - handler(nil, rpcNotification); - } else if ([rpcNotification isMemberOfClass:[SDLOnButtonPress class]]) { - handler(rpcNotification, nil); - } + if (handler == nil) { + return; + } + + if ([rpcNotification isMemberOfClass:[SDLOnButtonEvent class]]) { + handler(nil, rpcNotification); + } else if ([rpcNotification isMemberOfClass:[SDLOnButtonPress class]]) { + handler(rpcNotification, nil); } } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResult.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResult.h index dadc0be..fe98204 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResult.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResult.h @@ -5,140 +5,147 @@ #import "SDLEnum.h" /** - * Defines the possible result codes returned by SDL to the application in a response to a requested operation + * Defines the possible result codes returned by SDL to the application in a response to a requested operation. Used in RPC responses * * @since SDL 1.0 */ typedef SDLEnum SDLResult SDL_SWIFT_ENUM; /** - * @abstract The request succeeded + * The request succeeded */ extern SDLResult const SDLResultSuccess; /** - * @abstract Result code : Invalid Data - * - * @discussion The data sent is invalid. For example: - *
  • Invalid Json syntax
  • - *
  • Parameters out of bounds (number or enum range)
  • - *
  • Mandatory parameters not provided
  • - *
  • Parameter provided with wrong type
  • - *
  • Invalid characters
  • - *
  • Empty string
  • + The request contained invalid data + + The data sent is invalid. For example: + + Invalid JSON syntax + + Parameters out of bounds (number or enum range) + + Mandatory parameters not provided + + Parameter provided with wrong type + + Invalid characters + + Empty string */ extern SDLResult const SDLResultInvalidData; +/** + The request had a string containing too many characters + */ extern SDLResult const SDLResultCharacterLimitExceeded; /** - * @abstract The request is not supported by SDL + The request is not supported by the IVI unit implementing SDL */ extern SDLResult const SDLResultUnsupportedRequest; /** - * @abstract The system could not process the request because the necessary memory couldn't be allocated + The system could not process the request because the necessary memory couldn't be allocated */ extern SDLResult const SDLResultOutOfMemory; /** - * @abstract There are too many requests pending (means that the response has not been delivered yet). - * - * @discussion There is a limit of 1000 pending requests at a time. + 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. */ extern SDLResult const SDLResultTooManyPendingRequests; /** - * @abstract One of the provided IDs is not valid. - * @discussion For example: - *
  • CorrelationID
  • - *
  • CommandID
  • - *
  • MenuID
  • + One of the provided IDs is not valid. + + For example: CorrelationID, CommandID, MenuID */ extern SDLResult const SDLResultInvalidId; /** - * @abstract The provided name or synonym is a duplicate of some already-defined name or synonym. + The provided name or synonym is a duplicate of some already-defined name or synonym. */ extern SDLResult const SDLResultDuplicateName; /** - * There are already too many registered applications. + There are already too many registered applications. */ extern SDLResult const SDLResultTooManyApplications; /** - * RegisterApplication has been called again, after a RegisterApplication was successful before. + RegisterAppInterface has been called, but this app is already registered */ extern SDLResult const SDLResultApplicationRegisteredAlready; /** - * The Head Unit doesn't support the protocol that is requested by the mobile application. + The Head Unit doesn't support the SDL version that is requested by the mobile application. */ extern SDLResult const SDLResultUnsupportedVersion; /** - * The requested language is currently not supported. Might be because of a mismatch of the currently active language on the head unit and the requested language. + The requested language is currently not supported. This might be because of a mismatch of the currently active language on the head unit and the requested language. */ extern SDLResult const SDLResultWrongLanguage; /** - * A command can not be executed because no application has been registered with RegisterApplication. + A command can not be executed because no application has been registered with RegisterApplication. */ extern SDLResult const SDLResultApplicationNotRegistered; /** - * 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. + 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. */ extern SDLResult const SDLResultInUse; /** - * The user has turned off access to vehicle data, and it is globally unavailable to mobile applications. + The user has turned off access to vehicle data, and it is globally unavailable to mobile applications. */ extern SDLResult const SDLResultVehicleDataNotAllowed; /** - * The requested vehicle data is not available on this vehicle or is not published. + The requested vehicle data is not available on this vehicle or is not published. */ extern SDLResult const SDLResultVehicleDataNotAvailable; /** - * 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. + The requested command was rejected, e.g. because the 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. */ extern SDLResult const SDLResultRejected; /** - * 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. + A command was aborted, e.g. due to user interaction (user pressed button), or an HMI command (e.g. Speak) is aborted because a higher priority HMI command (e.g. Alert) was requested. */ extern SDLResult const SDLResultAborted; /** - * 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. + 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. */ extern SDLResult const SDLResultIgnored; /** - * A button that was requested for subscription is not supported under the current system. + A button that was requested for subscription is not supported under the current system. */ extern SDLResult const SDLResultUnsupportedResource; /** - * A specified file could not be found on the head unit. + A specified file could not be found on the head unit. */ extern SDLResult const SDLResultFileNotFound; /** - * Provided data is valid but something went wrong in the lower layers. + Provided data is valid but something went wrong in the lower layers. */ extern SDLResult const SDLResultGenericError; /** - * RPC is not authorized in local policy table. + RPC is not authorized in local policy table. */ extern SDLResult const SDLResultDisallowed; /** - * RPC is included in a functional group explicitly blocked by the user. + RPC is included in a functional group explicitly blocked by the user. */ extern SDLResult const SDLResultUserDisallowed; @@ -153,45 +160,51 @@ extern SDLResult const SDLResultTimedOut; extern SDLResult const SDLResultCancelRoute; /** - * The RPC (e.g. ReadDID) executed successfully but the data exceeded the platform maximum threshold and thus, only part of the data is available. + * The data sent failed to pass CRC check in receiver end. + */ +extern SDLResult const SDLResultCorruptedData; + +/** + The RPC (e.g. ReadDID) executed successfully but the data exceeded the platform maximum threshold and thus, only part of the data is available. */ extern SDLResult const SDLResultTruncatedData; + /** - * The user interrupted the RPC (e.g. PerformAudioPassThru) and indicated to start over. Note, the app must issue the new RPC. + The user interrupted the RPC (e.g. PerformAudioPassThru) and indicated to start over. Note, the app must issue the new RPC. */ extern SDLResult const SDLResultRetry; /** - * The RPC (e.g. SubscribeVehicleData) executed successfully but one or more items have a warning or failure. + The RPC (e.g. SubscribeVehicleData) executed successfully but one or more items have a warning or failure. */ extern SDLResult const SDLResultWarnings; /** - * The RPC (e.g. Slider) executed successfully and the user elected to save the current position / value. + The RPC (e.g. Slider) executed successfully and the user elected to save the current position / value. */ extern SDLResult const SDLResultSaved; /** - * The certificate provided during authentication is invalid. + The certificate provided during authentication is invalid. */ extern SDLResult const SDLResultInvalidCertificate; /** - * The certificate provided during authentication is expired. + The certificate provided during authentication is expired. */ extern SDLResult const SDLResultExpiredCertificate; /** - * 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. + 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. */ extern SDLResult const SDLResultResumeFailed; /** - * The requested data is not available on this vehicle or is not published for the connected app. + The requested data is not available on this vehicle or is not published for the connected app. */ extern SDLResult const SDLResultDataNotAvailable; /** - * The requested data is read only thus cannot be change via remote control . + The requested data is read only thus cannot be change via remote control . */ extern SDLResult const SDLResultReadOnly; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResult.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResult.m index 77c8c55..5e169c3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLResult.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLResult.m @@ -30,6 +30,7 @@ SDLResult const SDLResultUserDisallowed = @"USER_DISALLOWED"; SDLResult const SDLResultTimedOut = @"TIMED_OUT"; SDLResult const SDLResultCancelRoute = @"CANCEL_ROUTE"; +SDLResult const SDLResultCorruptedData = @"CORRUPTED_DATA"; SDLResult const SDLResultTruncatedData = @"TRUNCATED_DATA"; SDLResult const SDLResultRetry = @"RETRY"; SDLResult const SDLResultWarnings = @"WARNINGS"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSISData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSISData.h new file mode 100644 index 0000000..b7d9396 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSISData.h @@ -0,0 +1,61 @@ +// SDLSISData.h +// + +#import "SDLRPCMessage.h" + +@class SDLStationIDNumber; +@class SDLGPSData; + +/** + * HD radio Station Information Service (SIS) data. + * + */ + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLSISData : SDLRPCStruct + +- (instancetype)initWithStationShortName:(nullable NSString *)stationShortName stationIDNumber:(nullable SDLStationIDNumber *)id stationLongName:(nullable NSString *)stationLongName stationLocation:(nullable SDLGPSData *)stationLocation stationMessage:(nullable NSString *)stationMessage; + +/** + * @abstract Identifies the 4-alpha-character station call sign + * plus an optional (-FM) extension + * + * Optional, String, minLength: 4characters maxlength: 7characters + */ +@property (nullable, strong, nonatomic) NSString *stationShortName; + +/** + * @abstract Used for network Application. + * Consists of Country Code and FCC Facility ID. + * + * Optional, SDLStationIDNumber type + */ +@property (nullable, strong, nonatomic) SDLStationIDNumber *stationIDNumber; + +/** + * @abstract Identifies the station call sign or other identifying + * information in the long format. + * + * Optional, String, minLength: 0characters maxlength: 56characters + */ +@property (nullable, strong, nonatomic) NSString *stationLongName; + +/** + * @abstract Provides the 3-dimensional geographic station location + * + * Optional, SDLGPSData type + */ +@property (nullable, strong, nonatomic) SDLGPSData *stationLocation; + +/** + * @abstract May be used to convey textual information of general interest + * to the consumer such as weather forecasts or public service announcements. + * + * Optional, String, minLength: 0characters maxlength: 56characters + */ +@property (nullable, strong, nonatomic) NSString *stationMessage; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSISData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSISData.m new file mode 100644 index 0000000..27681aa --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSISData.m @@ -0,0 +1,72 @@ +// SDLSISData.m +// + +#import "SDLSISData.h" + +#import "SDLStationIDNumber.h" +#import "SDLGPSData.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLSISData + +- (instancetype)initWithStationShortName:(nullable NSString *)stationShortName stationIDNumber:(nullable SDLStationIDNumber *)stationIDNumber stationLongName:(nullable NSString *)stationLongName stationLocation:(nullable SDLGPSData *)stationLocation stationMessage:(nullable NSString *)stationMessage { + self = [self init]; + if(!self) { + return nil; + } + self.stationShortName = stationShortName; + self.stationIDNumber = stationIDNumber; + self.stationLongName = stationLongName; + self.stationLocation = stationLocation; + self.stationMessage = stationMessage; + + return self; +} + +- (void)setStationShortName:(nullable NSString *)stationShortName { + [store sdl_setObject:stationShortName forName:SDLNameStationShortName]; +} + +- (nullable NSString *)stationShortName { + return [store sdl_objectForName:SDLNameStationShortName]; +} + +- (void)setStationIDNumber:(nullable SDLStationIDNumber *)stationIDNumber { + [store sdl_setObject:stationIDNumber forName:SDLNameStationIDNumber]; +} + +- (nullable SDLStationIDNumber *)stationIDNumber { + return [store sdl_objectForName:SDLNameStationIDNumber ofClass:SDLStationIDNumber.class]; +} + +- (void)setStationLongName:(nullable NSString *)stationLongName { + [store sdl_setObject:stationLongName forName:SDLNameStationLongName]; +} + +- (nullable NSString *)stationLongName { + return [store sdl_objectForName:SDLNameStationLongName]; +} + +- (void)setStationLocation:(nullable SDLGPSData *)stationLocation { + [store sdl_setObject:stationLocation forName:SDLNameStationLocation]; +} + +- (nullable SDLGPSData *)stationLocation { + return [store sdl_objectForName:SDLNameStationLocation ofClass:SDLGPSData.class]; +} + +- (void)setStationMessage:(nullable NSString *)stationMessage { + [store sdl_setObject:stationMessage forName:SDLNameStationMessage]; +} + +- (nullable NSString *)stationMessage { + return [store sdl_objectForName:SDLNameStationMessage]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSamplingRate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSamplingRate.h index 36f0396..4db452d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSamplingRate.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSamplingRate.h @@ -5,28 +5,28 @@ #import "SDLEnum.h" /** - * Describes different sampling rates for PerformAudioPassThru - * - * @since SDL 2.0 + Describes different sampling rates for PerformAudioPassThru and AudioPassThruCapabilities + + @since SDL 2.0 */ typedef SDLEnum SDLSamplingRate SDL_SWIFT_ENUM; /** - * @abstract Sampling rate of 8 kHz + Sampling rate of 8 kHz */ extern SDLSamplingRate const SDLSamplingRate8KHZ; /** - * @abstract Sampling rate of 16 kHz + * Sampling rate of 16 kHz */ extern SDLSamplingRate const SDLSamplingRate16KHZ; /** - * @abstract Sampling rate of 22 kHz + * Sampling rate of 22 kHz */ extern SDLSamplingRate const SDLSamplingRate22KHZ; /** - * @abstract Sampling rate of 44 kHz + * Sampling rate of 44 kHz */ extern SDLSamplingRate const SDLSamplingRate44KHZ; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenManager.h index 716a0ea..34764b0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenManager.h @@ -8,14 +8,22 @@ #import +#import "SDLInteractionMode.h" #import "SDLMetadataType.h" #import "SDLTextAlignment.h" @class SDLArtwork; +@class SDLChoiceCell; +@class SDLChoiceSet; @class SDLFileManager; +@class SDLKeyboardProperties; +@class SDLMenuCell; @class SDLSoftButtonObject; +@class SDLVoiceCommand; @protocol SDLConnectionManagerType; +@protocol SDLChoiceSetDelegate; +@protocol SDLKeyboardDelegate; NS_ASSUME_NONNULL_BEGIN @@ -26,31 +34,162 @@ NS_ASSUME_NONNULL_BEGIN */ typedef void(^SDLScreenManagerUpdateCompletionHandler)(NSError *__nullable error); +/** + Return an error with userinfo [key: SDLChoiceCell, value: NSError] if choices failed to upload + + @param error The error if one occurred + */ +typedef void(^SDLPreloadChoiceCompletionHandler)(NSError *__nullable error); + @interface SDLScreenManager : NSObject +#pragma mark Text and Graphics + +/** + The top text field within a template layout + */ @property (copy, nonatomic, nullable) NSString *textField1; + +/** + The second text field within a template layout + */ @property (copy, nonatomic, nullable) NSString *textField2; + +/** + The third text field within a template layout + */ @property (copy, nonatomic, nullable) NSString *textField3; + +/** + The fourth text field within a template layout + */ @property (copy, nonatomic, nullable) NSString *textField4; + +/** + The media text field available within the media layout. Often less emphasized than textField(1-4) + */ @property (copy, nonatomic, nullable) NSString *mediaTrackTextField; + +/** + The primary graphic within a template layout + */ @property (strong, nonatomic, nullable) SDLArtwork *primaryGraphic; + +/** + A secondary graphic used in some template layouts + */ @property (strong, nonatomic, nullable) SDLArtwork *secondaryGraphic; +/** + What alignment textField(1-4) should use + */ @property (copy, nonatomic) SDLTextAlignment textAlignment; + +/** + The type of data textField1 describes + */ @property (copy, nonatomic, nullable) SDLMetadataType textField1Type; + +/** + The type of data textField2 describes + */ @property (copy, nonatomic, nullable) SDLMetadataType textField2Type; + +/** + The type of data textField3 describes + */ @property (copy, nonatomic, nullable) SDLMetadataType textField3Type; + +/** + The type of data textField4 describes + */ @property (copy, nonatomic, nullable) SDLMetadataType textField4Type; +#pragma mark Soft Buttons + +/** + The current list of soft buttons within a template layout. Set this array to change the displayed soft buttons. + */ @property (copy, nonatomic) NSArray *softButtonObjects; +#pragma mark Menu + +/** + The current list of menu cells displayed in the app's menu. + */ +@property (copy, nonatomic) NSArray *menu; + +/** + The current list of voice commands available for the user to speak and be recognized by the IVI's voice recognition engine. + */ +@property (copy, nonatomic) NSArray *voiceCommands; + +#pragma mark Choice Sets + +/** + The default keyboard configuration, this can be additionally customized by each SDLKeyboardDelegate. + */ +@property (strong, nonatomic, null_resettable) SDLKeyboardProperties *keyboardConfiguration; + +/** + Cells will be hashed by their text, image names, and VR command text. When assembling an SDLChoiceSet, you can pull objects from here, or recreate them. The preloaded versions will be used so long as their text, image names, and VR commands are the same. + */ +@property (copy, nonatomic, readonly) NSSet *preloadedChoices; + + +#pragma mark - Methods + +#pragma mark Lifecycle + +/** + Initialize a screen manager + + @warning For internal use + + @param connectionManager The connection manager used to send RPCs + @param fileManager The file manager used to upload files + @return The screen manager + */ + - (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager; +/** + Starts the manager and all sub-managers + + @param handler The handler called when setup is complete + */ +- (void)startWithCompletionHandler:(void(^)(NSError * _Nullable error))handler; + +/** + Stops the manager. + + @warning For internal use + */ +- (void)stop; + +#pragma mark Text and Graphic /** Delays all screen updates until endUpdatesWithCompletionHandler: is called. */ - (void)beginUpdates; +/** + Update text fields with new text set into the text field properties. Pass an empty string `\@""` to clear the text field. + + If the system does not support a full 4 fields, this will automatically be concatenated and properly send the field available. + + If 3 lines are available: [field1, field2, field3 - field 4] + + If 2 lines are available: [field1 - field2, field3 - field4] + + If 1 line is available: [field1 - field2 - field3 - field4] + + Also updates the primary and secondary images with new image(s) if new one(s) been set. This method will take care of naming the files (based on a hash). This is assumed to be a non-persistant image. + + If it needs to be uploaded, it will be. Once the upload is complete, the on-screen graphic will be updated. + */ +- (void)endUpdates; + /** Update text fields with new text set into the text field properties. Pass an empty string `\@""` to clear the text field. @@ -70,8 +209,62 @@ typedef void(^SDLScreenManagerUpdateCompletionHandler)(NSError *__nullable error */ - (void)endUpdatesWithCompletionHandler:(nullable SDLScreenManagerUpdateCompletionHandler)handler; +#pragma mark Soft Button + - (nullable SDLSoftButtonObject *)softButtonObjectNamed:(NSString *)name; +#pragma mark Choice Sets + +/** + Preload cells to the head unit. This will *greatly* reduce the time taken to present a choice set. Any already matching a choice already on the head unit will be ignored. You *do not* need to wait until the completion handler is called to present a choice set containing choices being loaded. The choice set will wait until the preload completes and then immediately present. + + @param choices The choices to be preloaded. + @param handler The handler to be called when complete. + */ +- (void)preloadChoices:(NSArray *)choices withCompletionHandler:(nullable SDLPreloadChoiceCompletionHandler)handler; + +/** + Delete loaded cells from the head unit. If the cells don't exist on the head unit they will be ignored. + + @param choices The choices to be deleted. These will be matched via a hash of the text, image name(s), and VR commands. + */ +- (void)deleteChoices:(NSArray *)choices; + +/** + Present a choice set on the head unit with a certain interaction mode. You should present in VR only if the user reached this choice set by using their voice, in Manual only if the user used touch to reach this choice set. Use Both if you're lazy...for real though, it's kind of confusing to the user and isn't recommended. + + If the cells in the set are not already preloaded, they will be preloaded before the presentation occurs; this could take a while depending on the contents of the cells. + + If the cells have voice commands and images attached, this could take upwards of 10 seconds. If there are no cells on the set, this will fail, calling `choiceSet:didReceiveError:` on the choice set delegate. + + @param choiceSet The set to be displayed + @param mode If the set should be presented for the user to interact via voice, touch, or both + */ +- (void)presentChoiceSet:(SDLChoiceSet *)choiceSet mode:(SDLInteractionMode)mode; + +/** + Present a choice set on the head unit with a certain interaction mode. You should present in VR only if the user reached this choice set by using their voice, in Manual only if the user used touch to reach this choice set. Use Both if you're lazy...for real though, it's kind of confusing to the user and isn't recommended. + + This presents the choice set as searchable when in a touch interaction. The user, when not in a distracted state, will have a keyboard available for searching this set. The user's input in the keyboard will be available in the SDLKeyboardDelegate. + + If the cells in the set are not already preloaded, they will be preloaded before the presentation occurs; this could take a while depending on the contents of the cells. + + If the cells have voice commands and images attached, this could take upwards of 10 seconds. If there are no cells on the set, this will fail, calling `choiceSet:didReceiveError:` on the choice set delegate. + + @param choiceSet The set to be displayed + @param mode If the set should be presented for the user to interact via voice, touch, or both + @param delegate The keyboard delegate called when the user interacts with the search field of the choice set + */ +- (void)presentSearchableChoiceSet:(SDLChoiceSet *)choiceSet mode:(SDLInteractionMode)mode withKeyboardDelegate:(id)delegate; + +/** + Present a keyboard-only interface to the user and receive input. The user will be able to input text in the keyboard when in a non-driver distraction situation. + + @param initialText The initial text within the keyboard input field. It will disappear once the user selects the field in order to enter text + @param delegate The keyboard delegate called when the user interacts with the keyboard + */ +- (void)presentKeyboardWithInitialText:(NSString *)initialText delegate:(id)delegate; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenManager.m index 85c5793..bfd8c9b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenManager.m @@ -9,8 +9,11 @@ #import "SDLScreenManager.h" #import "SDLArtwork.h" +#import "SDLChoiceSetManager.h" +#import "SDLMenuManager.h" #import "SDLSoftButtonManager.h" #import "SDLTextAndGraphicManager.h" +#import "SDLVoiceCommandManager.h" NS_ASSUME_NONNULL_BEGIN @@ -18,6 +21,9 @@ @interface SDLScreenManager() @property (strong, nonatomic) SDLTextAndGraphicManager *textAndGraphicManager; @property (strong, nonatomic) SDLSoftButtonManager *softButtonManager; +@property (strong, nonatomic) SDLMenuManager *menuManager; +@property (strong, nonatomic) SDLVoiceCommandManager *voiceCommandMenuManager; +@property (strong, nonatomic) SDLChoiceSetManager *choiceSetManager; @property (weak, nonatomic) id connectionManager; @property (weak, nonatomic) SDLFileManager *fileManager; @@ -35,10 +41,27 @@ - (instancetype)initWithConnectionManager:(id)connecti _textAndGraphicManager = [[SDLTextAndGraphicManager alloc] initWithConnectionManager:connectionManager fileManager:fileManager]; _softButtonManager = [[SDLSoftButtonManager alloc] initWithConnectionManager:connectionManager fileManager:fileManager]; + _menuManager = [[SDLMenuManager alloc] initWithConnectionManager:connectionManager fileManager:fileManager]; + _voiceCommandMenuManager = [[SDLVoiceCommandManager alloc] initWithConnectionManager:connectionManager]; + _choiceSetManager = [[SDLChoiceSetManager alloc] initWithConnectionManager:connectionManager fileManager:fileManager]; return self; } +- (void)startWithCompletionHandler:(void (^)(NSError * _Nullable))handler { + [self.choiceSetManager start]; + + handler(nil); +} + +- (void)stop { + [self.textAndGraphicManager stop]; + [self.softButtonManager stop]; + [self.menuManager stop]; + [self.voiceCommandMenuManager stop]; + [self.choiceSetManager stop]; +} + - (nullable SDLSoftButtonObject *)softButtonObjectNamed:(NSString *)name { return [self.softButtonManager softButtonObjectNamed:name]; } @@ -108,6 +131,18 @@ - (void)setSoftButtonObjects:(NSArray *)softButtonObjects self.softButtonManager.softButtonObjects = softButtonObjects; } +- (void)setMenu:(NSArray *)menu { + self.menuManager.menuCells = menu; +} + +- (void)setVoiceCommands:(NSArray *)voiceCommands { + self.voiceCommandMenuManager.voiceCommands = voiceCommands; +} + +- (void)setKeyboardConfiguration:(nullable SDLKeyboardProperties *)keyboardConfiguration { + self.choiceSetManager.keyboardConfiguration = keyboardConfiguration; +} + #pragma mark - Getters - (nullable NSString *)textField1 { @@ -170,6 +205,22 @@ - (nullable SDLMetadataType)textField4Type { return _softButtonManager.softButtonObjects; } +- (NSArray *)menu { + return _menuManager.menuCells; +} + +- (NSArray *)voiceCommands { + return _voiceCommandMenuManager.voiceCommands; +} + +- (NSSet *)preloadedChoices { + return _choiceSetManager.preloadedChoices; +} + +- (SDLKeyboardProperties *)keyboardConfiguration { + return _choiceSetManager.keyboardConfiguration; +} + #pragma mark - Begin / End Updates - (void)beginUpdates { @@ -177,6 +228,10 @@ - (void)beginUpdates { self.textAndGraphicManager.batchUpdates = YES; } +- (void)endUpdates { + [self endUpdatesWithCompletionHandler:nil]; +} + - (void)endUpdatesWithCompletionHandler:(nullable SDLScreenManagerUpdateCompletionHandler)handler { self.softButtonManager.batchUpdates = NO; self.textAndGraphicManager.batchUpdates = NO; @@ -185,6 +240,28 @@ - (void)endUpdatesWithCompletionHandler:(nullable SDLScreenManagerUpdateCompleti [self.softButtonManager updateWithCompletionHandler:handler]; } +#pragma mark - Choice Sets + +- (void)deleteChoices:(NSArray *)choices { + [self.choiceSetManager deleteChoices:choices]; +} + +- (void)preloadChoices:(NSArray *)choices withCompletionHandler:(nullable SDLPreloadChoiceCompletionHandler)handler { + [self.choiceSetManager preloadChoices:choices withCompletionHandler:handler]; +} + +- (void)presentChoiceSet:(SDLChoiceSet *)choiceSet mode:(SDLInteractionMode)mode { + [self.choiceSetManager presentChoiceSet:choiceSet mode:mode withKeyboardDelegate:nil]; +} + +- (void)presentSearchableChoiceSet:(SDLChoiceSet *)choiceSet mode:(SDLInteractionMode)mode withKeyboardDelegate:(id)delegate { + [self.choiceSetManager presentChoiceSet:choiceSet mode:mode withKeyboardDelegate:delegate]; +} + +- (void)presentKeyboardWithInitialText:(NSString *)initialText delegate:(id)delegate { + [self.choiceSetManager presentKeyboardWithInitialText:initialText delegate:delegate]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenParams.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenParams.h index 23c7a16..1a4969b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenParams.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScreenParams.h @@ -8,9 +8,23 @@ NS_ASSUME_NONNULL_BEGIN +/** + A struct in DisplayCapabilities describing parameters related to a video / touch input area + */ @interface SDLScreenParams : SDLRPCStruct +/** + The resolution of the prescribed screen area + + Required + */ @property (strong, nonatomic) SDLImageResolution *resolution; + +/** + Types of screen touch events available in screen area + + Optional + */ @property (nullable, strong, nonatomic) SDLTouchEventCapabilities *touchEventAvailable; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScrollableMessage.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScrollableMessage.h index a74aa5c..67fab47 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScrollableMessage.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScrollableMessage.h @@ -25,7 +25,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithMessage:(NSString *)message timeout:(UInt16)timeout softButtons:(nullable NSArray *)softButtons; /** - * @abstract A Body of text that can include newlines and tabs + * A Body of text that can include newlines and tabs * @discussion A String value representing the Body of text that can include * newlines and tabs *

    @@ -33,7 +33,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic) NSString *scrollableMessageBody; /** - * @abstract Gets/Sets an App defined timeout. Indicates how long of a timeout in milliseconds from the + * Gets/Sets an App defined timeout. Indicates how long of a timeout in milliseconds from the * last action * @discussion An Integer value representing an App defined timeout in milliseconds *

    @@ -41,7 +41,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nullable, strong, nonatomic) NSNumber *timeout; /** - * @abstract Gets/Sets App defined SoftButtons.If omitted on supported displays, only the + * Gets/Sets App defined SoftButtons.If omitted on supported displays, only the * system defined "Close" SoftButton will be displayed * @discussion A Vector value representing App defined * SoftButtons diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScrollableMessageResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScrollableMessageResponse.h index 4f6d17a..4da587c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLScrollableMessageResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLScrollableMessageResponse.h @@ -5,9 +5,9 @@ #import "SDLRPCResponse.h" /** - * Scrollable Message Response is sent, when SDLScrollableMessage has been called - * - * Since SmartDeviceLink 2.0 + Response to SDLScrollableMessage + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlCapabilities.h new file mode 100644 index 0000000..de166d3 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlCapabilities.h @@ -0,0 +1,134 @@ +// SDLSeatControlCapabilities.h +// + + +#import "SDLRPCStruct.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Include information about a seat control capabilities. + */ +@interface SDLSeatControlCapabilities : SDLRPCStruct + +- (instancetype)initWithName:(NSString *)moduleName; + +- (instancetype)initWithName:(NSString *)moduleName heatingEnabledAvailable:(BOOL)heatingEnabledAvail + coolingEnabledAvailable:(BOOL)coolingEnabledAvail heatingLevelAvailable:(BOOL)heatingLevelAvail coolingLevelAvailable:(BOOL)coolingLevelAvail horizontalPositionAvailable:(BOOL)horizontalPositionAvail verticalPositionAvailable:(BOOL)verticalPositionAvail frontVerticalPositionAvailable:(BOOL)frontVerticalPositionAvail backVerticalPositionAvailable:(BOOL)backVerticalPositionAvail backTiltAngleAvailable:(BOOL)backTitlAngleAvail headSupportHorizontalPositionAvailable:(BOOL)headSupportHorizontalPositionAvail headSupportVerticalPositionAvailable:(BOOL)headSupportVerticalPositionAvail massageEnabledAvailable:(BOOL)massageEnabledAvail massageModeAvailable:(BOOL)massageModeAvail massageCushionFirmnessAvailable:(BOOL)massageCushionFirmnessAvail memoryAvailable:(BOOL)memoryAvail; +/** + * @abstract The short friendly name of the light control module. + * It should not be used to identify a module by mobile application. + * + * Required, Max length 100 chars + */ +@property (strong, nonatomic) NSString *moduleName; + +/** + * @abstract Whether or not heating is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *heatingEnabledAvailable; + +/** + * @abstract Whether or not cooling is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *coolingEnabledAvailable; + +/** + * @abstract Whether or not heating level is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *heatingLevelAvailable; + +/** + * @abstract Whether or not cooling level is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *coolingLevelAvailable; + +/** + * @abstract Whether or not horizontal Position is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *horizontalPositionAvailable; + +/** + * @abstract Whether or not vertical Position is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *verticalPositionAvailable; + +/** + * @abstract Whether or not front Vertical Position is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *frontVerticalPositionAvailable; + +/** + * @abstract Whether or not back Vertical Position is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *backVerticalPositionAvailable; + +/** + * @abstract Whether or not backTilt Angle Available is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *backTiltAngleAvailable; + +/** + * @abstract Whether or not head Supports for Horizontal Position is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *headSupportHorizontalPositionAvailable; + +/** + * @abstract Whether or not head Supports for Vertical Position is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *headSupportVerticalPositionAvailable; + +/** + * @abstract Whether or not massage Enabled is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *massageEnabledAvailable; + +/** + * @abstract Whether or not massage Mode is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *massageModeAvailable; + +/** + * @abstract Whether or not massage Cushion Firmness is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *massageCushionFirmnessAvailable; + +/** + * @abstract Whether or not memory is Available. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *memoryAvailable; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlCapabilities.m new file mode 100644 index 0000000..5f7fd93 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlCapabilities.m @@ -0,0 +1,203 @@ +// SDLSeatControlCapabilities.m +// + +#import "SDLSeatControlCapabilities.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLSeatControlCapabilities + +- (instancetype)initWithName:(NSString *)moduleName { + if (self = [super init]) { + self.moduleName = moduleName; + } + return self; +} + +- (instancetype)initWithName:(NSString *)moduleName heatingEnabledAvailable:(BOOL)heatingEnabledAvail coolingEnabledAvailable:(BOOL)coolingEnabledAvail heatingLevelAvailable:(BOOL)heatingLevelAvail coolingLevelAvailable:(BOOL)coolingLevelAvail horizontalPositionAvailable:(BOOL)horizontalPositionAvail verticalPositionAvailable:(BOOL)verticalPositionAvail frontVerticalPositionAvailable:(BOOL)frontVerticalPositionAvail backVerticalPositionAvailable:(BOOL)backVerticalPositionAvail backTiltAngleAvailable:(BOOL)backTitlAngleAvail headSupportHorizontalPositionAvailable:(BOOL)headSupportHorizontalPositionAvail headSupportVerticalPositionAvailable:(BOOL)headSupportVerticalPositionAvail massageEnabledAvailable:(BOOL)massageEnabledAvail massageModeAvailable:(BOOL)massageModeAvail massageCushionFirmnessAvailable:(BOOL)massageCushionFirmnessAvail memoryAvailable:(BOOL)memoryAvail { + + self = [super init]; + if (!self) { + return nil; + } + + self.moduleName = moduleName; + self.heatingEnabledAvailable = @(heatingEnabledAvail); + self.coolingEnabledAvailable = @(coolingEnabledAvail); + self.heatingLevelAvailable = @(heatingLevelAvail); + self.coolingLevelAvailable = @(coolingLevelAvail); + self.horizontalPositionAvailable = @(horizontalPositionAvail); + self.verticalPositionAvailable = @(verticalPositionAvail); + self.frontVerticalPositionAvailable = @(frontVerticalPositionAvail); + self.backVerticalPositionAvailable = @(backVerticalPositionAvail); + self.backTiltAngleAvailable = @(backTitlAngleAvail); + self.headSupportVerticalPositionAvailable = @(headSupportVerticalPositionAvail); + self.headSupportHorizontalPositionAvailable = @(headSupportHorizontalPositionAvail); + self.massageEnabledAvailable = @(massageEnabledAvail); + self.massageModeAvailable = @(massageModeAvail); + self.massageCushionFirmnessAvailable = @(massageCushionFirmnessAvail); + self.memoryAvailable = @(memoryAvail); + + return self; +} + +- (void)setModuleName:(NSString *)moduleName { + [store sdl_setObject:moduleName forName:SDLNameModuleName]; +} + +- (NSString *)moduleName { + return [store sdl_objectForName:SDLNameModuleName]; +} + +- (void)setHeatingEnabledAvailable:(nullable NSNumber *)heatingEnabledAvailable { + [store sdl_setObject:heatingEnabledAvailable forName:SDLNameHeatingEnabledAvailable]; +} + +- (nullable NSNumber *)heatingEnabledAvailable { + return [store sdl_objectForName:SDLNameHeatingEnabledAvailable]; +} + +- (void)setCoolingEnabledAvailable:(nullable NSNumber *)coolingEnabledAvailable { + [store sdl_setObject:coolingEnabledAvailable forName:SDLNameCoolingEnabledAvailable]; + +} + +- (nullable NSNumber *)coolingEnabledAvailable { + return [store sdl_objectForName:SDLNameCoolingEnabledAvailable]; + +} + +- (void)setHeatingLevelAvailable:(nullable NSNumber *)heatingLevelAvailable { + [store sdl_setObject:heatingLevelAvailable forName:SDLNameHeatingLevelAvailable]; + +} + +- (nullable NSNumber *)heatingLevelAvailable { + return [store sdl_objectForName:SDLNameHeatingLevelAvailable]; + +} + +- (void)setCoolingLevelAvailable:(nullable NSNumber *)coolingLevelAvailable { + [store sdl_setObject:coolingLevelAvailable forName:SDLNameCoolingLevelAvailable]; + +} + +- (nullable NSNumber *)coolingLevelAvailable { + return [store sdl_objectForName:SDLNameCoolingLevelAvailable]; + +} + +- (void)setHorizontalPositionAvailable:(nullable NSNumber *)horizontalPositionAvailable { + [store sdl_setObject:horizontalPositionAvailable forName:SDLNameHorizontalPositionAvailable]; + +} + +- (nullable NSNumber *)horizontalPositionAvailable { + return [store sdl_objectForName:SDLNameHorizontalPositionAvailable]; + +} + +- (void)setVerticalPositionAvailable:(nullable NSNumber *)verticalPositionAvailable { + [store sdl_setObject:verticalPositionAvailable forName:SDLNameVerticalPositionAvailable]; + +} + +- (nullable NSNumber *)verticalPositionAvailable { + return [store sdl_objectForName:SDLNameVerticalPositionAvailable]; + +} + +- (void)setFrontVerticalPositionAvailable:(nullable NSNumber *)frontVerticalPositionAvailable { + [store sdl_setObject:frontVerticalPositionAvailable forName:SDLNameFrontVerticalPositionAvailable]; + +} + +- (nullable NSNumber *)frontVerticalPositionAvailable { + return [store sdl_objectForName:SDLNameFrontVerticalPositionAvailable]; + +} + +- (void)setBackVerticalPositionAvailable:(nullable NSNumber *)backVerticalPositionAvailable { + [store sdl_setObject:backVerticalPositionAvailable forName:SDLNameBackVerticalPositionAvailable]; + +} + +- (nullable NSNumber *)backVerticalPositionAvailable { + return [store sdl_objectForName:SDLNameBackVerticalPositionAvailable]; + +} + +- (void)setBackTiltAngleAvailable:(nullable NSNumber *)backTiltAngleAvailable { + [store sdl_setObject:backTiltAngleAvailable forName:SDLNameBackTiltAngleAvailable]; + +} + +- (nullable NSNumber *)backTiltAngleAvailable { + return [store sdl_objectForName:SDLNameBackTiltAngleAvailable]; + +} + +- (void)setHeadSupportHorizontalPositionAvailable:(nullable NSNumber *)headSupportHorizontalPositionAvailable { + [store sdl_setObject:headSupportHorizontalPositionAvailable forName:SDLNameHeadSupportHorizontalPositionAvailable]; + +} + +- (nullable NSNumber *)headSupportHorizontalPositionAvailable { + return [store sdl_objectForName:SDLNameHeadSupportHorizontalPositionAvailable]; + +} + +- (void)setHeadSupportVerticalPositionAvailable:(nullable NSNumber *)headSupportVerticalPositionAvailable { + [store sdl_setObject:headSupportVerticalPositionAvailable forName:SDLNameHeadSupportVerticalPositionAvailable]; + +} + +- (nullable NSNumber *)headSupportVerticalPositionAvailable { + return [store sdl_objectForName:SDLNameHeadSupportVerticalPositionAvailable]; + +} + +- (void)setMassageEnabledAvailable:(nullable NSNumber *)massageEnabledAvailable { + [store sdl_setObject:massageEnabledAvailable forName:SDLNameMassageEnabledAvailable]; + +} + +- (nullable NSNumber *)massageEnabledAvailable { + return [store sdl_objectForName:SDLNameMassageEnabledAvailable]; + +} + +- (void)setMassageModeAvailable:(nullable NSNumber *)massageModeAvailable { + [store sdl_setObject:massageModeAvailable forName:SDLNameMassageModeAvailable]; + +} + +- (nullable NSNumber *)massageModeAvailable { + return [store sdl_objectForName:SDLNameMassageModeAvailable]; + +} + +- (void)setMassageCushionFirmnessAvailable:(nullable NSNumber *)massageCushionFirmnessAvailable { + [store sdl_setObject:massageCushionFirmnessAvailable forName:SDLNameMassageCushionFirmnessAvailable]; + +} + +- (nullable NSNumber *)massageCushionFirmnessAvailable { + return [store sdl_objectForName:SDLNameMassageCushionFirmnessAvailable]; + +} + +- (void)setMemoryAvailable:(nullable NSNumber *)memoryAvailable { + [store sdl_setObject:memoryAvailable forName:SDLNameMemoryAvailable]; + +} + +- (nullable NSNumber *)memoryAvailable { + return [store sdl_objectForName:SDLNameMemoryAvailable]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlData.h new file mode 100644 index 0000000..e08492d --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlData.h @@ -0,0 +1,166 @@ +// SDLSeatControlData.h +// + +#import "SDLRPCStruct.h" +#import "SDLSeatMemoryActionType.h" +#import "SDLSupportedSeat.h" + +@class SDLMassageModeData; +@class SDLMassageCushionFirmness; +@class SDLSeatMemoryAction; + +NS_ASSUME_NONNULL_BEGIN + +/** + * Seat control data corresponds to "SEAT" ModuleType. + */ + +@interface SDLSeatControlData : SDLRPCStruct + +/** + Constructs a newly allocated SDLSeatControlData object with cushion and firmness + + @param supportedSeat id of remote controllable seat. + @return An instance of the SDLSeatControlData class + */ +- (instancetype)initWithId:(SDLSupportedSeat)supportedSeat; + +/** + Constructs a newly allocated SDLSeatControlData object with cushion and firmness + + @param supportedSeat id of remote controllable seat. + @param heatingEnable Whether or not heating is enabled. + @param coolingEnable Whether or not cooling is enabled. + @param heatingLevel heating level + @param coolingLevel cooling Level + @param horizontal horizontal Position + @param vertical vertical Position + @param frontVertical frontVertical Position + @param backVertical backVertical Position + @param backAngle backAngle Position + @param headSupportedHorizontal headSupportedHorizontal Position + @param headSupportedVertical headSupportedVertical Position + @param massageEnable Whether or not massage is enabled. + @param massageMode Array of massage mode data. + @param firmness Array of firmness data. + @param memoryAction type of action to be performed. + @return An instance of the SDLSeatControlData class + */ +- (instancetype)initWithId:(SDLSupportedSeat)supportedSeat heatingEnabled:(BOOL)heatingEnable coolingEnable:(BOOL)coolingEnable heatingLevel:(UInt8)heatingLevel coolingLevel:(UInt8)coolingLevel horizontalPostion:(UInt8)horizontal verticalPostion:(UInt8)vertical frontVerticalPostion:(UInt8)frontVertical backVerticalPostion:(UInt8)backVertical backTiltAngle:(UInt8)backAngle headSupportedHorizontalPostion:(UInt8)headSupportedHorizontal headSupportedVerticalPostion:(UInt8)headSupportedVertical massageEnabled:(BOOL)massageEnable massageMode:(NSArray *)massageMode massageCussionFirmness:(NSArray *)firmness memory:(SDLSeatMemoryAction *)memoryAction; + +/** + * @abstract id of seat that is a remote controllable seat. + * + * Required + */ +@property (strong, nonatomic) SDLSupportedSeat id; + +/** + * @abstract Whether or not heating is enabled. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *heatingEnabled; + +/** + * @abstract Whether or not cooling is enabled. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *coolingEnabled; + +/** + * @abstract heating level in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *heatingLevel; + +/** + * @abstract cooling level in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *coolingLevel; + +/** + * @abstract horizontal Position in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *horizontalPosition; + +/** + * @abstract heating level in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *verticalPosition; + +/** + * @abstract heating level in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *frontVerticalPosition; + +/** + * @abstract heating level in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *backVerticalPosition; + +/** + * @abstract heating level in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *backTiltAngle; + +/** + * @abstract head Support Horizontal Position in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *headSupportHorizontalPosition; + +/** + * @abstract head Support Vertical Position in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber *headSupportVerticalPosition; + +/** + * @abstract Whether or not massage is enabled. + + * Optional + */ +@property (nullable, strong, nonatomic) NSNumber *massageEnabled; + +/** + * @abstract Array of massage mode data. + + * Optional, Array of SDLMassageModeData objects, MinArray size-1 MaxArray size-2 + */ +@property (nullable, strong, nonatomic) NSArray *massageMode; + + +/** + * @abstract Array of firmness of a cushion. + + * Optional, Array of SDLMassageCushionFirmness objects, MinArray size-1 MaxArray size-5 + */ +@property (nullable, strong, nonatomic) NSArray *massageCushionFirmness; + +/** + * @abstract type of action to be performed + * + * Required, @see SDLSeatMemoryAction + */ +@property (nullable, strong, nonatomic) SDLSeatMemoryAction *memory; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlData.m new file mode 100644 index 0000000..df2b435 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatControlData.m @@ -0,0 +1,187 @@ +// SDLSeatControlData.m +// + +#import "SDLSeatControlData.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +#import "SDLMassageModeData.h" +#import "SDLMassageCushionFirmness.h" +#import "SDLSeatMemoryAction.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLSeatControlData + +- (instancetype)initWithId:(SDLSupportedSeat)supportedSeat { + self = [self init]; + if (!self) { + return nil; + } + self.id = supportedSeat; + + return self; +} + +- (instancetype)initWithId:(SDLSupportedSeat)supportedSeat heatingEnabled:(BOOL)heatingEnable coolingEnable:(BOOL)coolingEnabled heatingLevel:(UInt8)heatingLevel coolingLevel:(UInt8)coolingLevel horizontalPostion:(UInt8)horizontal verticalPostion:(UInt8)vertical frontVerticalPostion:(UInt8)frontVertical backVerticalPostion:(UInt8)backVertical backTiltAngle:(UInt8)backAngle headSupportedHorizontalPostion:(UInt8)headSupportedHorizontal headSupportedVerticalPostion:(UInt8)headSupportedVertical massageEnabled:(BOOL)massageEnable massageMode:(NSArray *)massageMode massageCussionFirmness:(NSArray *)firmness memory:(SDLSeatMemoryAction *)memoryAction { + + self = [super init]; + if (!self) { + return nil; + } + + self.id = supportedSeat; + self.heatingEnabled = @(heatingEnable); + self.coolingEnabled = @(coolingEnabled); + self.heatingLevel = @(heatingLevel); + self.coolingLevel = @(coolingLevel); + + self.horizontalPosition = @(horizontal); + self.verticalPosition = @(vertical); + self.frontVerticalPosition = @(frontVertical); + self.backVerticalPosition = @(backVertical); + self.backTiltAngle = @(backAngle); + + self.headSupportHorizontalPosition = @(headSupportedHorizontal); + self.headSupportVerticalPosition = @(headSupportedVertical); + + self.massageEnabled = @(massageEnable); + self.massageMode = massageMode; + self.massageCushionFirmness = firmness; + self.memory = memoryAction; + + return self; +} + +- (void)setId:(SDLSupportedSeat)id { + [store sdl_setObject:id forName:SDLNameId]; +} + +- (SDLSupportedSeat)id { + return [store sdl_objectForName:SDLNameId]; +} + +- (void)setHeatingEnabled:(nullable NSNumber *)heatingEnabled { + [store sdl_setObject:heatingEnabled forName:SDLNameHeatingEnabled]; +} + +- (nullable NSNumber *)heatingEnabled { + return [store sdl_objectForName:SDLNameHeatingEnabled]; +} + +- (void)setCoolingEnabled:(nullable NSNumber *)coolingEnabled { + [store sdl_setObject:coolingEnabled forName:SDLNameCoolingEnabled]; +} + +- (nullable NSNumber *)coolingEnabled { + return [store sdl_objectForName:SDLNameCoolingEnabled]; +} + +- (void)setHeatingLevel:(nullable NSNumber *)heatingLevel { + [store sdl_setObject:heatingLevel forName:SDLNameHeatingLevel]; +} + +- (nullable NSNumber *)heatingLevel { + return [store sdl_objectForName:SDLNameHeatingLevel]; +} + +- (void)setCoolingLevel:(nullable NSNumber *)coolingLevel { + [store sdl_setObject:coolingLevel forName:SDLNameCoolingLevel]; +} + +- (nullable NSNumber *)coolingLevel { + return [store sdl_objectForName:SDLNameCoolingLevel]; +} + +- (void)setHorizontalPosition:(nullable NSNumber *)horizontalPosition { + [store sdl_setObject:horizontalPosition forName:SDLNameHorizontalPosition]; +} + +- (nullable NSNumber *)horizontalPosition { + return [store sdl_objectForName:SDLNameHorizontalPosition]; +} + +- (void)setVerticalPosition:(nullable NSNumber *)verticalPosition { + [store sdl_setObject:verticalPosition forName:SDLNameVerticalPosition]; +} + +- (nullable NSNumber *)verticalPosition { + return [store sdl_objectForName:SDLNameVerticalPosition]; +} + +- (void)setFrontVerticalPosition:(nullable NSNumber *)frontVerticalPosition { + [store sdl_setObject:frontVerticalPosition forName:SDLNameFrontVerticalPosition]; +} + +- (nullable NSNumber *)frontVerticalPosition { + return [store sdl_objectForName:SDLNameFrontVerticalPosition]; +} + +- (void)setBackVerticalPosition:(nullable NSNumber *)backVerticalPosition { + [store sdl_setObject:backVerticalPosition forName:SDLNameBackVerticalPosition]; +} + +- (nullable NSNumber *)backVerticalPosition { + return [store sdl_objectForName:SDLNameBackVerticalPosition]; +} + +- (void)setBackTiltAngle:(nullable NSNumber *)backTiltAngle { + [store sdl_setObject:backTiltAngle forName:SDLNameBackTiltAngle]; +} + +- (nullable NSNumber *)backTiltAngle { + return [store sdl_objectForName:SDLNameBackTiltAngle]; +} + +- (void)setHeadSupportHorizontalPosition:(nullable NSNumber *)headSupportHorizontalPosition { + [store sdl_setObject:headSupportHorizontalPosition forName:SDLNameHeadSupportHorizontalPosition]; +} + +- (nullable NSNumber *)headSupportHorizontalPosition { + return [store sdl_objectForName:SDLNameHeadSupportHorizontalPosition]; +} + +-(void)setHeadSupportVerticalPosition:(nullable NSNumber *)headSupportVerticalPosition { + [store sdl_setObject:headSupportVerticalPosition forName:SDLNameHeadSupportVerticalPosition]; +} + +- (nullable NSNumber *)headSupportVerticalPosition { + return [store sdl_objectForName:SDLNameHeadSupportVerticalPosition]; +} + +- (void)setMassageEnabled:(nullable NSNumber *)massageEnabled { + [store sdl_setObject:massageEnabled forName:SDLNameMassageEnabled]; +} + +- (nullable NSNumber *)massageEnabled { + return [store sdl_objectForName:SDLNameMassageEnabled]; + +} + +- (void)setMassageMode:(nullable NSArray *)massageMode { + [store sdl_setObject:massageMode forName:SDLNameMassageMode]; +} + +- (nullable NSArray *)massageMode { + return [store sdl_objectForName:SDLNameMassageMode ]; +} + +- (void)setMassageCushionFirmness:(nullable NSArray *)massageCushionFirmness { + [store sdl_setObject:massageCushionFirmness forName:SDLNameMassageCushionFirmness]; +} + +- (nullable NSArray *)massageCushionFirmness { + return [store sdl_objectForName:SDLNameMassageCushionFirmness]; +} + +- (void)setMemory:(nullable SDLSeatMemoryAction *)memory { + [store sdl_setObject:memory forName:SDLNameMemory]; +} + +- (nullable SDLSeatMemoryAction *)memory { + return [store sdl_objectForName:SDLNameMemory ofClass:SDLSeatMemoryAction.class]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryAction.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryAction.h new file mode 100644 index 0000000..7dbcf64 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryAction.h @@ -0,0 +1,61 @@ +// SDLSeatMemoryAction.h +// + +#import "SDLRPCStruct.h" +#import "SDLSeatMemoryActionType.h" + +/** + * Specify the action to be performed. + */ + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLSeatMemoryAction : SDLRPCStruct + + +/** + @abstract Constructs a newly allocated SDLSeatMemoryAction object with id, label (max length 100 chars) and action type + + @param id of the action to be performed + @param action type of action to be performed + @return A SDLSeatMemoryAction object + */ +- (instancetype)initWithId:(UInt8)id action:(SDLSeatMemoryActionType)action; + +/** + @abstract Constructs a newly allocated SDLSeatMemoryAction object with id, label (max length 100 chars) and action type + + @param id of the action to be performed + @param label of the action to be performed. + @param action type of action to be performed + @return A SDLSeatMemoryAction object + */ +- (instancetype)initWithId:(UInt8)id label:(nullable NSString*) label action:(SDLSeatMemoryActionType)action; + +/** + * @abstract id of the action to be performed. + * + * Required, MinValue- 0 MaxValue= 10 + * + */ +@property (strong, nonatomic) NSNumber *id; + +/** + * @abstract label of the action to be performed. + * + * Optional, Max length 100 chars + */ +@property (nullable, strong, nonatomic) NSString *label; + +/** + * @abstract type of action to be performed + * + * Required, @see SDLSeatMemoryActionType + * + */ +@property (strong, nonatomic) SDLSeatMemoryActionType action; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryAction.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryAction.m new file mode 100644 index 0000000..76f5192 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryAction.m @@ -0,0 +1,60 @@ +// SDLSeatMemoryAction.m +// + +#import "SDLSeatMemoryAction.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLSeatMemoryAction + +- (instancetype)initWithId:(UInt8)id action:(SDLSeatMemoryActionType)action { + self = [super init]; + if (!self) { + return nil; + } + + self.id = @(id); + self.action = action; + + return self; +} + +- (instancetype)initWithId:(UInt8)id label:(nullable NSString*)label action:(SDLSeatMemoryActionType)action { + self = [self initWithId:id action:action]; + if (!self) { + return nil; + } + + self.label = label; + return self; +} + +- (void)setId:(NSNumber *)id { + [store sdl_setObject:id forName:SDLNameId]; +} + +- (NSNumber *)id { + return [store sdl_objectForName:SDLNameId]; +} + +- (void)setLabel:(nullable NSString *)label { + [store sdl_setObject:label forName:SDLNameLabel]; +} + +- (nullable NSString *)label { + return [store sdl_objectForName:SDLNameLabel]; +} + +- (void)setAction:(SDLSeatMemoryActionType)action { + [store sdl_setObject:action forName:SDLNameAction]; +} + +- (SDLSeatMemoryActionType)action { + return [store sdl_objectForName:SDLNameAction]; +} +@end + + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryActionType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryActionType.h new file mode 100644 index 0000000..9ac8eaf --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryActionType.h @@ -0,0 +1,27 @@ +// SDLSeatMemoryActionType.h +// + +#import "SDLEnum.h" + +/** + * List of possible actions on Seat Meomry + * + * @since SDL 2.0 + */ +typedef SDLEnum SDLSeatMemoryActionType SDL_SWIFT_ENUM; + +/** + * @abstract Save current seat postions and settings to seat memory. + */ +extern SDLSeatMemoryActionType const SDLSeatMemoryActionTypeSave; + +/** + * @abstract Restore / apply the seat memory settings to the current seat. + */ +extern SDLSeatMemoryActionType const SDLSeatMemoryActionTypeRestore; + +/** + * @abstract No action to be performed. + */ +extern SDLSeatMemoryActionType const SDLSeatMemoryActionTypeNone; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryActionType.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryActionType.m new file mode 100644 index 0000000..6e27c1c --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSeatMemoryActionType.m @@ -0,0 +1,8 @@ +// SDLSeatMemoryActionType.m +// + +#import "SDLSeatMemoryActionType.h" + +SDLSeatMemoryActionType const SDLSeatMemoryActionTypeSave = @"SAVE"; +SDLSeatMemoryActionType const SDLSeatMemoryActionTypeRestore = @"RESTORE"; +SDLSeatMemoryActionType const SDLSeatMemoryActionTypeNone = @"NONE"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportManager.h new file mode 100644 index 0000000..0af612d --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportManager.h @@ -0,0 +1,80 @@ +// +// SDLSecondaryTransportManager.h +// SmartDeviceLink-iOS +// +// Created by Sho Amano on 2018/02/28. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import "SDLProtocolListener.h" +#import "SDLStreamingProtocolDelegate.h" + +@class SDLControlFramePayloadRPCStartServiceAck; +@class SDLControlFramePayloadTransportEventUpdate; +@class SDLProtocol; +@class SDLStateMachine; + +NS_ASSUME_NONNULL_BEGIN + +typedef NSString SDLSecondaryTransportState; +extern SDLSecondaryTransportState *const SDLSecondaryTransportStateStopped; +extern SDLSecondaryTransportState *const SDLSecondaryTransportStateStarted; +extern SDLSecondaryTransportState *const SDLSecondaryTransportStateConfigured; +extern SDLSecondaryTransportState *const SDLSecondaryTransportStateConnecting; +extern SDLSecondaryTransportState *const SDLSecondaryTransportStateRegistered; +extern SDLSecondaryTransportState *const SDLSecondaryTransportStateReconnecting; + +/** + A class to control and manage secondary transport feature. + + Secondary transport manager does most of the things required for the feature. It listens + on the primary transport and receives necessary information through Version Negotiation + and TransportEventUpdate control frame. It initiates secondary transport's connection + and sets up SDLProtocol that runs on the transport. Then it starts streaming media + manager with appropriate SDLProtocol instance. When the secondary transport is + disconnected, this manager retries connection with a regular interval. + */ +@interface SDLSecondaryTransportManager : NSObject + +/** state of this manager */ +@property (strong, nonatomic, readonly) SDLStateMachine *stateMachine; + +/** + Create a new secondary transport manager. + + @param streamingProtocolDelegate a delegate to handle updates on protocol instances + @param queue a serial dispatch queue that the internal state machine runs on + @return A new secondary transport manager + */ +- (instancetype)initWithStreamingProtocolDelegate:(id)streamingProtocolDelegate + serialQueue:(dispatch_queue_t)queue; + +/** + * Start the manager. + + @param primaryProtocol protocol that runs on the main (primary) transport + */ +- (void)startWithPrimaryProtocol:(SDLProtocol *)primaryProtocol; + +/** + * Stop the manager. + */ +- (void)stop; + +/** + * Call this method when Start Service ACK control frame is received on primary transport. + + @param payload payload of Start Service ACK frame received on the primary transport + */ +- (void)onStartServiceAckReceived:(SDLControlFramePayloadRPCStartServiceAck *)payload; + +/** + * Call this method when Transport Event Update control frame is received on primary transport. + + @param payload payload of Transport Event Update frame received on the primary transport + */ +- (void)onTransportEventUpdateReceived:(SDLControlFramePayloadTransportEventUpdate *)payload; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportManager.m new file mode 100644 index 0000000..6f3b952 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportManager.m @@ -0,0 +1,710 @@ +// +// SDLSecondaryTransportManager.m +// SmartDeviceLink +// +// Created by Sho Amano on 2018/02/28. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import +#import + +#import "SDLSecondaryTransportManager.h" + +#import "SDLControlFramePayloadConstants.h" +#import "SDLControlFramePayloadRPCStartServiceAck.h" +#import "SDLControlFramePayloadTransportEventUpdate.h" +#import "SDLIAPTransport.h" +#import "SDLLogMacros.h" +#import "SDLProtocol.h" +#import "SDLProtocolHeader.h" +#import "SDLSecondaryTransportPrimaryProtocolHandler.h" +#import "SDLStateMachine.h" +#import "SDLTCPTransport.h" +#import "SDLTimer.h" + +NS_ASSUME_NONNULL_BEGIN + +// same as SDLProtocol.m +typedef NSNumber SDLServiceTypeBox; + +typedef NS_ENUM(NSInteger, SDLTransportClass) { + SDLTransportClassInvalid = 0, + SDLTransportClassPrimary = 1, + SDLTransportClassSecondary = 2, +}; +typedef NSNumber SDLTransportClassBox; + +typedef NS_ENUM(NSInteger, SDLSecondaryTransportType) { + SDLSecondaryTransportTypeDisabled, // only for Secondary Transport + SDLSecondaryTransportTypeIAP, + SDLSecondaryTransportTypeTCP +}; +typedef NSNumber SDLSecondaryTransportTypeBox; + +SDLSecondaryTransportState *const SDLSecondaryTransportStateStopped = @"Stopped"; +SDLSecondaryTransportState *const SDLSecondaryTransportStateStarted = @"Started"; +SDLSecondaryTransportState *const SDLSecondaryTransportStateConfigured = @"Configured"; +SDLSecondaryTransportState *const SDLSecondaryTransportStateConnecting = @"Connecting"; +SDLSecondaryTransportState *const SDLSecondaryTransportStateRegistered = @"Registered"; +SDLSecondaryTransportState *const SDLSecondaryTransportStateReconnecting = @"Reconnecting"; + +// Timeout for receiving Register Secondary Transport ACK frame +static const float RegisterTransportTime = 10.0; + +// Delay to retry connection after secondary transport is disconnected or registration is failed +static const float RetryConnectionDelay = 5.0; + +// Indicates that a TCP port is not specified (unconfigured). +static const int TCPPortUnspecified = -1; + + +@interface SDLSecondaryTransportManager () + +// State of this manager. +@property (strong, nonatomic, readwrite) SDLStateMachine *stateMachine; +// Dedicated queue that the state machine will run on. +@property (copy, nonatomic) dispatch_queue_t stateMachineQueue; + +// Instance of the protocol that runs on primary transport. +@property (weak, nonatomic) SDLProtocol *primaryProtocol; +// A class to catch Start Service ACK and Transport Config Update frames. +@property (strong, nonatomic) SDLSecondaryTransportPrimaryProtocolHandler *primaryProtocolHandler; + +// Selected type of secondary transport. If 'SDLSecondaryTransportTypeDisabled' then secondary transport is disabled. +@property (assign, nonatomic) SDLSecondaryTransportType secondaryTransportType; +// Instance of the transport for secondary transport. +@property (nullable, strong, nonatomic) id secondaryTransport; +// Instance of the protocol that runs on secondary transport. +@property (nullable, strong, nonatomic) SDLProtocol *secondaryProtocol; +// Timer to check Register Secondary Transport ACK response on secondary transport. +@property (strong, nonatomic, nullable) SDLTimer *registerTransportTimer; + +// A delegate to notify protocol change. +@property (weak, nonatomic) id streamingProtocolDelegate; + +// Configuration sent by system; list of transports that are allowed to carry audio service +@property (strong, nonatomic, nonnull) NSArray *transportsForAudioService; +// Configuration sent by system; list of transports that are allowed to carry video service +@property (strong, nonatomic, nonnull) NSArray *transportsForVideoService; +// A map to remember which service is currently running on which transport +@property (strong, nonatomic) NSMutableDictionary *streamingServiceTransportMap; + +// IP address of SDL Core (either IPv4 or IPv6 address) +@property (strong, nonatomic, nullable) NSString *ipAddress; +// TCP port number of SDL Core. If the information isn't available then TCPPortUnspecified is stored. +@property (assign, nonatomic) int tcpPort; + +@end + +@implementation SDLSecondaryTransportManager + +#pragma mark - Public + +- (instancetype)initWithStreamingProtocolDelegate:(id)streamingProtocolDelegate + serialQueue:(dispatch_queue_t)queue { + self = [super init]; + if (!self) { + return nil; + } + + _stateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:SDLSecondaryTransportStateStopped states:[self.class sdl_stateTransitionDictionary]]; + _stateMachineQueue = queue; + _streamingProtocolDelegate = streamingProtocolDelegate; + + _secondaryTransportType = SDLSecondaryTransportTypeDisabled; + _transportsForAudioService = @[]; + _transportsForVideoService = @[]; + _streamingServiceTransportMap = [@{@(SDLServiceTypeAudio):@(SDLTransportClassInvalid), + @(SDLServiceTypeVideo):@(SDLTransportClassInvalid)} mutableCopy]; + _tcpPort = TCPPortUnspecified; + + return self; +} + +- (void)startWithPrimaryProtocol:(SDLProtocol *)primaryProtocol { + SDLLogD(@"SDLSecondaryTransportManager start"); + + // this method must be called in SDLLifecycleManager's state machine queue + if (strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(self.stateMachineQueue)) != 0) { + SDLLogE(@"startWithPrimaryProtocol: must be called in SDLLifecycleManager's state machine queue!"); + } + + if (![self.stateMachine isCurrentState:SDLSecondaryTransportStateStopped]) { + SDLLogW(@"Secondary transport manager is already started!"); + return; + } + + self.primaryProtocol = primaryProtocol; + self.primaryProtocolHandler = [[SDLSecondaryTransportPrimaryProtocolHandler alloc] initWithSecondaryTransportManager:self primaryProtocol:primaryProtocol]; + + [self.stateMachine transitionToState:SDLSecondaryTransportStateStarted]; +} + +- (void)stop { + SDLLogD(@"SDLSecondaryTransportManager stop"); + + // this method must be called in SDLLifecycleManager's state machine queue + if (strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(self.stateMachineQueue)) != 0) { + SDLLogE(@"stop must be called in SDLLifecycleManager's state machine queue!"); + } + + // stop all services, including those running on primary transport + SDLLogD(@"Stopping audio / video services on both transports"); + [self sdl_handleTransportUpdateWithPrimaryAvailable:NO secondaryAvailable:NO]; + + [self.stateMachine transitionToState:SDLSecondaryTransportStateStopped]; +} + +// called from SDLProtocol's _receiveQueue of "primary" transport +- (void)onStartServiceAckReceived:(SDLControlFramePayloadRPCStartServiceAck *)payload { + NSMutableArray *secondaryTransports = nil; + if (payload.secondaryTransports != nil) { + secondaryTransports = [NSMutableArray array]; + for (NSString *transportString in payload.secondaryTransports) { + SDLSecondaryTransportType transport = [self sdl_convertTransportType:transportString]; + [secondaryTransports addObject:@(transport)]; + } + } + NSArray *transportsForAudio = [self sdl_convertServiceTransports:payload.audioServiceTransports]; + NSArray *transportsForVideo = [self sdl_convertServiceTransports:payload.videoServiceTransports]; + + SDLLogV(@"Secondary transports: %@, transports for audio: %@, transports for video: %@", secondaryTransports, transportsForAudio, transportsForVideo); + + dispatch_async(_stateMachineQueue, ^{ + [self sdl_configureManager:secondaryTransports availableTransportsForAudio:transportsForAudio availableTransportsForVideo:transportsForVideo]; + }); +} + +// called from SDLProtocol's _receiveQueue of "primary" transport +- (void)onTransportEventUpdateReceived:(SDLControlFramePayloadTransportEventUpdate *)payload { + dispatch_async(_stateMachineQueue, ^{ + BOOL updated = NO; + + if (payload.tcpIpAddress != nil) { + if (![self.ipAddress isEqualToString:payload.tcpIpAddress]) { + self.ipAddress = payload.tcpIpAddress; + updated = YES; + SDLLogD(@"TCP transport IP address updated: %@", self.ipAddress); + } + } + if (payload.tcpPort != SDLControlFrameInt32NotFound) { + if (self.tcpPort != payload.tcpPort) { + self.tcpPort = payload.tcpPort; + updated = YES; + SDLLogD(@"TCP transport port number updated: %d", self.tcpPort); + } + } + + if (updated) { + [self sdl_handleTransportEventUpdate]; + } + }); +} + +#pragma mark - State machine + ++ (NSDictionary *)sdl_stateTransitionDictionary { + return @{ + SDLSecondaryTransportStateStopped: @[SDLSecondaryTransportStateStarted], + SDLSecondaryTransportStateStarted: @[SDLSecondaryTransportStateConfigured, SDLSecondaryTransportStateStopped], + SDLSecondaryTransportStateConfigured: @[SDLSecondaryTransportStateConnecting, SDLSecondaryTransportStateStopped], + SDLSecondaryTransportStateConnecting: @[SDLSecondaryTransportStateRegistered, SDLSecondaryTransportStateConfigured, SDLSecondaryTransportStateReconnecting, SDLSecondaryTransportStateStopped], + SDLSecondaryTransportStateRegistered: @[SDLSecondaryTransportStateReconnecting, SDLSecondaryTransportStateConfigured, SDLSecondaryTransportStateStopped], + SDLSecondaryTransportStateReconnecting: @[SDLSecondaryTransportStateConfigured, SDLSecondaryTransportStateStopped] + }; +} + +- (void)didEnterStateStopped { + [self sdl_stopManager]; +} + +- (void)didEnterStateStarted { + [self sdl_startManager]; +} + +- (void)didEnterStateConfigured { + if ((self.secondaryTransportType == SDLSecondaryTransportTypeTCP && [self sdl_isTCPReady]) + || self.secondaryTransportType == SDLSecondaryTransportTypeIAP) { + [self.stateMachine transitionToState:SDLSecondaryTransportStateConnecting]; + } +} + +- (void)didEnterStateConnecting { + [self sdl_connectSecondaryTransport]; +} + +- (void)willLeaveStateConnecting { + // make sure to terminate the timer, which is only used in Connecting state + [self.registerTransportTimer cancel]; + self.registerTransportTimer = nil; +} + +- (void)willTransitionFromStateConnectingToStateConfigured { + [self sdl_disconnectSecondaryTransport]; +} + +- (void)willTransitionFromStateConnectingToStateReconnecting { + [self sdl_disconnectSecondaryTransport]; +} + +- (void)willTransitionFromStateConnectingToStateStopped { + [self sdl_disconnectSecondaryTransport]; +} + +- (void)didEnterStateRegistered { + [self sdl_handleTransportUpdateWithPrimaryAvailable:YES secondaryAvailable:YES]; +} + +- (void)willTransitionFromStateRegisteredToStateConfigured { + // before disconnecting Secondary Transport, stop running services + SDLLogD(@"Stopping services on secondary transport"); + [self sdl_handleTransportUpdateWithPrimaryAvailable:YES secondaryAvailable:NO]; + + [self sdl_disconnectSecondaryTransport]; +} + +- (void)willTransitionFromStateRegisteredToStateReconnecting { + SDLLogD(@"Stopping services on secondary transport"); + [self sdl_handleTransportUpdateWithPrimaryAvailable:YES secondaryAvailable:NO]; + + [self sdl_disconnectSecondaryTransport]; +} + +- (void)willTransitionFromStateRegisteredToStateStopped { + // sdl_handleTransportUpdateWithPrimaryAvailable is called in stop method + [self sdl_disconnectSecondaryTransport]; +} + +- (void)didEnterStateReconnecting { + __weak typeof(self) weakSelf = self; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(RetryConnectionDelay * NSEC_PER_SEC)), _stateMachineQueue, ^{ + if ([weakSelf.stateMachine isCurrentState:SDLSecondaryTransportStateReconnecting]) { + SDLLogD(@"Retry secondary transport after disconnection or registration failure"); + [weakSelf.stateMachine transitionToState:SDLSecondaryTransportStateConfigured]; + } + }); +} + +- (void)sdl_startManager { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_onAppStateUpdated:) name:UIApplicationDidBecomeActiveNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_onAppStateUpdated:) name:UIApplicationWillResignActiveNotification object:nil]; + + [self.primaryProtocolHandler start]; +} + +- (void)sdl_stopManager { + SDLLogD(@"SDLSecondaryTransportManager stop"); + + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillResignActiveNotification object:nil]; + + [self.primaryProtocolHandler stop]; + + self.streamingServiceTransportMap = [@{@(SDLServiceTypeAudio):@(SDLTransportClassInvalid), + @(SDLServiceTypeVideo):@(SDLTransportClassInvalid)} mutableCopy]; + self.secondaryTransportType = SDLSecondaryTransportTypeDisabled; + self.transportsForAudioService = @[]; + self.transportsForVideoService = @[]; + + self.ipAddress = nil; + self.tcpPort = TCPPortUnspecified; +} + +- (void)sdl_configureManager:(nullable NSArray *)availableSecondaryTransports + availableTransportsForAudio:(nullable NSArray *)availableTransportsForAudio + availableTransportsForVideo:(nullable NSArray *)availableTransportsForVideo { + if (![self.stateMachine isCurrentState:SDLSecondaryTransportStateStarted]) { + SDLLogW(@"SecondaryTransportManager ignores duplicate Start Service ACK frame"); + return; + } + + // default values + self.secondaryTransportType = SDLSecondaryTransportTypeDisabled; + self.transportsForAudioService = @[@(SDLTransportClassPrimary)]; // If SDL Core did not send a transport list for the service, start it on Primary Transport. + self.transportsForVideoService = @[@(SDLTransportClassPrimary)]; + BOOL validConfig = YES; + + if (availableSecondaryTransports.count > 0) { + // current proposal says the list should contain only one element + SDLSecondaryTransportTypeBox *transportType = availableSecondaryTransports[0]; + self.secondaryTransportType = [transportType integerValue]; + } else { + SDLLogW(@"Did not receive secondary transport type from system. Secondary transport is disabled."); + } + + SDLSecondaryTransportType primaryTransportType = [self sdl_getTransportTypeFromProtocol:self.primaryProtocol]; + if (self.secondaryTransportType == primaryTransportType) { + SDLLogW(@"Same transport is specified for both primary and secondary transport. Secondary transport is disabled."); + self.secondaryTransportType = SDLSecondaryTransportTypeDisabled; + validConfig = NO; // let audio and video services start on primary transport + } else if (self.secondaryTransportType == SDLSecondaryTransportTypeIAP) { + SDLLogW(@"Starting IAP as secondary transport, which does not usually happen"); + } + + if (availableTransportsForAudio != nil && validConfig) { + self.transportsForAudioService = availableTransportsForAudio; + } + if (availableTransportsForVideo != nil && validConfig) { + self.transportsForVideoService = availableTransportsForVideo; + } + + // this will trigger audio / video streaming if they are allowed on primary transport + [self sdl_handleTransportUpdateWithPrimaryAvailable:YES secondaryAvailable:NO]; + + [self.stateMachine transitionToState:SDLSecondaryTransportStateConfigured]; +} + +- (void)sdl_handleTransportEventUpdate { + if ([self.stateMachine isCurrentState:SDLSecondaryTransportStateStarted]) { + // The system sent Transport Event Update frame prior to Start Service ACK. Just keep the information and do nothing here. + SDLLogV(@"Received TCP transport information prior to Start Service ACK"); + return; + } + if (self.secondaryTransportType != SDLSecondaryTransportTypeTCP) { + SDLLogV(@"Received TCP transport information while the transport is not TCP"); + return; + } + + if ([self.stateMachine isCurrentState:SDLSecondaryTransportStateConfigured] && [self sdl_isTCPReady]) { + [self.stateMachine transitionToState:SDLSecondaryTransportStateConnecting]; + } else if ([self sdl_isTransportOpened]) { + // Disconnect current transport. If the IP address is available then we will reconnect immediately. + SDLLogD(@"TCP transport information updated, disconnecting current transport"); + [self.stateMachine transitionToState:SDLSecondaryTransportStateConfigured]; + } else if ([self.stateMachine isCurrentState:SDLSecondaryTransportStateReconnecting]) { + SDLLogD(@"TCP transport information updated, aborting reconnection timer"); + [self.stateMachine transitionToState:SDLSecondaryTransportStateConfigured]; + } +} + +- (BOOL)sdl_isTransportOpened { + return [self.stateMachine isCurrentState:SDLSecondaryTransportStateConnecting] + || [self.stateMachine isCurrentState:SDLSecondaryTransportStateRegistered]; +} + + +#pragma mark - Starting / Stopping / Restarting services + +- (void)sdl_handleTransportUpdateWithPrimaryAvailable:(BOOL)primaryAvailable secondaryAvailable:(BOOL)secondaryAvailable { + // update audio service + [self sdl_updateService:SDLServiceTypeAudio + allowedTransports:self.transportsForAudioService + primaryAvailable:primaryAvailable + secondaryAvailable:secondaryAvailable + transportUpdatedBlock:^(SDLProtocol * _Nullable oldProtocol, SDLProtocol * _Nullable newProtocol) { + [self.streamingProtocolDelegate audioServiceProtocolDidUpdateFromOldProtocol:oldProtocol toNewProtocol:newProtocol]; + }]; + + // update video service + [self sdl_updateService:SDLServiceTypeVideo + allowedTransports:self.transportsForVideoService + primaryAvailable:primaryAvailable + secondaryAvailable:secondaryAvailable + transportUpdatedBlock:^(SDLProtocol * _Nullable oldProtocol, SDLProtocol * _Nullable newProtocol) { + [self.streamingProtocolDelegate videoServiceProtocolDidUpdateFromOldProtocol:oldProtocol toNewProtocol:newProtocol]; + }]; +} + +- (void)sdl_updateService:(UInt8)service + allowedTransports:(nonnull NSArray *)transportList + primaryAvailable:(BOOL)primaryTransportAvailable + secondaryAvailable:(BOOL)secondaryTransportAvailable + transportUpdatedBlock:(void (^)(SDLProtocol * _Nullable oldProtocol, SDLProtocol * _Nullable newProtocol))transportUpdatedBlock { + SDLTransportClass newTransport = SDLTransportClassInvalid; + // the list is in preferred order, so take a look from the beginning + for (SDLTransportClassBox *transport in transportList) { + if ([transport intValue] == SDLTransportClassSecondary && secondaryTransportAvailable) { + newTransport = SDLTransportClassSecondary; + break; + } else if ([transport intValue] == SDLTransportClassPrimary && primaryTransportAvailable) { + newTransport = SDLTransportClassPrimary; + break; + } + } + + SDLTransportClass oldTransport = [self.streamingServiceTransportMap[@(service)] intValue]; + + // update transport, and notify the change to start/stop/restart service + self.streamingServiceTransportMap[@(service)] = @(newTransport); + + if (oldTransport != newTransport) { + if (oldTransport != SDLTransportClassInvalid && newTransport != SDLTransportClassInvalid) { + SDLLogD(@"Restarting service 0x%X from %@ to %@ transport", service, [self sdl_getTransportClassName:oldTransport], [self sdl_getTransportClassName:newTransport]); + } else if (oldTransport != SDLTransportClassInvalid) { + SDLLogD(@"Stopping service 0x%X on %@ transport", service, [self sdl_getTransportClassName:oldTransport]); + } else if (newTransport != SDLTransportClassInvalid) { + SDLLogD(@"Starting service 0x%X on %@ transport", service, [self sdl_getTransportClassName:newTransport]); + } + + transportUpdatedBlock([self sdl_getProtocolFromTransportClass:oldTransport], + [self sdl_getProtocolFromTransportClass:newTransport]); + } +} + +- (nullable SDLProtocol *)sdl_getProtocolFromTransportClass:(SDLTransportClass)transportClass { + switch (transportClass) { + case SDLTransportClassPrimary: return self.primaryProtocol; + case SDLTransportClassSecondary: return self.secondaryProtocol; + default: return nil; + } +} + +- (nullable NSString *)sdl_getTransportClassName:(SDLTransportClass)transportClass { + switch (transportClass) { + case SDLTransportClassPrimary: return @"primary"; + case SDLTransportClassSecondary: return @"secondary"; + default: return nil; + } +} + + +#pragma mark - Transport management + +// try establishing secondary transport. Returns NO if failed +- (BOOL)sdl_connectSecondaryTransport { + if (self.secondaryTransport != nil) { + SDLLogW(@"Attempting to connect secondary transport, but it's already started."); + return NO; + } + + switch (self.secondaryTransportType) { + case SDLSecondaryTransportTypeTCP: + return [self sdl_startTCPSecondaryTransport]; + case SDLSecondaryTransportTypeIAP: + return [self sdl_startIAPSecondaryTransport]; + default: + SDLLogW(@"Unknown transport type for secondary transport: %ld", (long)self.secondaryTransportType); + return NO; + } +} + +- (BOOL)sdl_disconnectSecondaryTransport { + if (self.secondaryTransport == nil) { + SDLLogW(@"Attempted to disconnect secondary transport, but it's already stopped."); + return NO; + } + + SDLLogD(@"Disconnect secondary transport"); + [self.secondaryTransport disconnect]; + self.secondaryTransport = nil; + + return YES; +} + +- (BOOL)sdl_startTCPSecondaryTransport { + if (![self sdl_isTCPReady]) { + SDLLogD(@"TCP secondary transport is not ready."); + return NO; + } + + SDLLogD(@"Starting TCP Secondary Transport (IP address = \"%@\", port = \"%d\")", self.ipAddress, self.tcpPort); + + SDLTCPTransport *transport = [[SDLTCPTransport alloc] init]; + transport.hostName = self.ipAddress; + transport.portNumber = [NSString stringWithFormat:@"%d", self.tcpPort]; + SDLProtocol *protocol = [[SDLProtocol alloc] init]; + transport.delegate = protocol; + protocol.transport = transport; + [protocol.protocolDelegateTable addObject:self]; + + self.secondaryProtocol = protocol; + self.secondaryTransport = transport; + + // we reuse Session ID acquired from primary transport's protocol + // this is for Register Secondary Transport frame + [self.secondaryProtocol storeHeader:self.primaryProtocolHandler.primaryRPCHeader forServiceType:SDLServiceTypeControl]; + // this is for video and audio services + [self.secondaryProtocol storeHeader:self.primaryProtocolHandler.primaryRPCHeader forServiceType:SDLServiceTypeRPC]; + + [self.secondaryTransport connect]; + return YES; +} + +- (BOOL)sdl_startIAPSecondaryTransport { + SDLLogD(@"Starting Secondary Transport: iAP"); + + SDLIAPTransport *transport = [[SDLIAPTransport alloc] init]; + SDLProtocol *protocol = [[SDLProtocol alloc] init]; + transport.delegate = protocol; + protocol.transport = transport; + [protocol.protocolDelegateTable addObject:self]; + + self.secondaryProtocol = protocol; + self.secondaryTransport = transport; + + // we reuse Session ID acquired from primary transport's protocol + // this is for Register Secondary Transport frame + [self.secondaryProtocol storeHeader:self.primaryProtocolHandler.primaryRPCHeader forServiceType:SDLServiceTypeControl]; + // this is for video and audio services + [self.secondaryProtocol storeHeader:self.primaryProtocolHandler.primaryRPCHeader forServiceType:SDLServiceTypeRPC]; + + [self.secondaryTransport connect]; + return YES; +} + +- (BOOL)sdl_isTCPReady { + if ([self.ipAddress length] == 0) { + SDLLogD(@"IP address is empty"); + return NO; + } + if (self.tcpPort == TCPPortUnspecified) { + SDLLogD(@"TCP port number is not available"); + return NO; + } + if (!(self.tcpPort > 0 && self.tcpPort <= 65535)) { + SDLLogW(@"Invalid TCP port number for secondary transport: %d", self.tcpPort); + return NO; + } + + if ([self sdl_getAppState] != UIApplicationStateActive) { + SDLLogD(@"App state is not Active, abort starting TCP transport"); + return NO; + } + + return YES; +} + +- (UIApplicationState)sdl_getAppState { + if ([NSThread isMainThread]) { + return [UIApplication sharedApplication].applicationState; + } else { + __block UIApplicationState appState; + dispatch_sync(dispatch_get_main_queue(), ^{ + appState = [UIApplication sharedApplication].applicationState; + }); + return appState; + } +} + + +#pragma mark - SDLProtocolListener Implementation + +// called on transport's thread, notifying that the transport is established +- (void)onProtocolOpened { + SDLLogD(@"Secondary transport connected"); + + self.registerTransportTimer = [[SDLTimer alloc] initWithDuration:RegisterTransportTime repeat:NO]; + __weak typeof(self) weakSelf = self; + self.registerTransportTimer.elapsedBlock = ^{ + SDLLogW(@"Timeout for registration of secondary transport"); + dispatch_async(weakSelf.stateMachineQueue, ^{ + __strong typeof(self) strongSelf = weakSelf; + if (!strongSelf) { + return; + } + + // if the state is still Connecting, go back to Configured state and retry immediately + if ([strongSelf.stateMachine isCurrentState:SDLSecondaryTransportStateConnecting]) { + SDLLogD(@"Retry secondary transport connection after registration timeout"); + [strongSelf.stateMachine transitionToState:SDLSecondaryTransportStateConfigured]; + } + }); + }; + [self.registerTransportTimer start]; + + [self.secondaryProtocol registerSecondaryTransport]; +} + +// called on transport's thread, notifying that the transport is disconnected +// (Note: when transport's disconnect method is called, this method will not be called) +- (void)onProtocolClosed { + SDLLogD(@"secondary transport disconnected"); + + dispatch_async(self.stateMachineQueue, ^{ + if ([self sdl_isTransportOpened]) { + [self.stateMachine transitionToState:SDLSecondaryTransportStateReconnecting]; + } + }); +} + +// called from SDLProtocol's _receiveQueue of secondary transport +- (void)handleProtocolRegisterSecondaryTransportACKMessage:(SDLProtocolMessage *)registerSecondaryTransportACK { + SDLLogD(@"Received Register Secondary Transport ACK frame"); + + dispatch_async(self.stateMachineQueue, ^{ + // secondary transport is now ready + [self.stateMachine transitionToState:SDLSecondaryTransportStateRegistered]; + }); +} + +// called from SDLProtocol's _receiveQueue of secondary transport +- (void)handleProtocolRegisterSecondaryTransportNAKMessage:(SDLProtocolMessage *)registerSecondaryTransportNAK { + SDLLogW(@"Received Register Secondary Transport NAK frame"); + + dispatch_async(self.stateMachineQueue, ^{ + [self.stateMachine transitionToState:SDLSecondaryTransportStateReconnecting]; + }); +} + +#pragma mark - App state handling + +- (void)sdl_onAppStateUpdated:(NSNotification *)notification { + dispatch_async(_stateMachineQueue, ^{ + if (notification.name == UIApplicationWillResignActiveNotification) { + if ([self sdl_isTransportOpened] && self.secondaryTransportType == SDLSecondaryTransportTypeTCP) { + SDLLogD(@"Disconnecting TCP transport since the app will go to background"); + [self.stateMachine transitionToState:SDLSecondaryTransportStateConfigured]; + } + } else if (notification.name == UIApplicationDidBecomeActiveNotification) { + if (([self.stateMachine isCurrentState:SDLSecondaryTransportStateConfigured]) + && self.secondaryTransportType == SDLSecondaryTransportTypeTCP && [self sdl_isTCPReady]) { + SDLLogD(@"Resuming TCP transport since the app becomes foreground"); + [self.stateMachine transitionToState:SDLSecondaryTransportStateConnecting]; + } + } + }); +} + +#pragma mark - Utility methods + +- (SDLSecondaryTransportType)sdl_convertTransportType:(NSString *)transportString { + if ([transportString isEqualToString:@"TCP_WIFI"]) { + return SDLSecondaryTransportTypeTCP; + } else if ([transportString isEqualToString:@"IAP_BLUETOOTH"] || + [transportString isEqualToString:@"IAP_USB"] || + [transportString isEqualToString:@"IAP_USB_HOST_MODE"] || + [transportString isEqualToString:@"IAP_USB_DEVICE_MODE"] || + [transportString isEqualToString:@"IAP_CARPLAY"]) { + return SDLSecondaryTransportTypeIAP; + } else { + // "SPP_BLUETOOTH" and "AOA_USB" are not used + return SDLSecondaryTransportTypeDisabled; + } +} + +- (nullable NSArray *)sdl_convertServiceTransports:(nullable NSArray *)transports { + if (transports == nil) { + return nil; + } + + // Actually there is nothing to "convert" here. We just check the range and recreate an array. + NSMutableArray *array = [[NSMutableArray alloc] init]; + for (NSNumber *num in transports) { + int transport = [num intValue]; + if (transport == 1) { + [array addObject:@(SDLTransportClassPrimary)]; + } else if (transport == 2) { + [array addObject:@(SDLTransportClassSecondary)]; + } else { + SDLLogE(@"Unknown transport class received: %d", transport); + } + } + + return [array copy]; +} + +- (SDLSecondaryTransportType)sdl_getTransportTypeFromProtocol:(SDLProtocol *)protocol { + if ([protocol.transport isMemberOfClass:[SDLIAPTransport class]]) { + return SDLSecondaryTransportTypeIAP; + } else if ([protocol.transport isMemberOfClass:[SDLTCPTransport class]]) { + return SDLSecondaryTransportTypeTCP; + } else { + SDLLogE(@"Unknown type of primary transport"); + return SDLSecondaryTransportTypeDisabled; + } +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportPrimaryProtocolHandler.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportPrimaryProtocolHandler.h new file mode 100644 index 0000000..d3e8510 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportPrimaryProtocolHandler.h @@ -0,0 +1,46 @@ +// +// SDLSecondaryTransportPrimaryProtocolHandler.h +// SmartDeviceLink-iOS +// +// Created by Sho Amano on 2018/08/09. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import "SDLProtocolListener.h" + +@class SDLProtocol; +@class SDLSecondaryTransportManager; + +NS_ASSUME_NONNULL_BEGIN + +/** + A class to receive event from primary transport. + */ +@interface SDLSecondaryTransportPrimaryProtocolHandler : NSObject + +/** The header of Start Service ACK frame received on primary transport. */ +@property (copy, nonatomic) SDLProtocolHeader *primaryRPCHeader; + +/** + Create a new primary protocol handler with given SDLSecondaryTransportManager and SDLProtocol instances. + + @param manager instance of SDLSecondaryTransportManager + @param primaryProtocol instance of SDLProtocol for the primary transport + @return A new primary protocol handler + */ +- (instancetype)initWithSecondaryTransportManager:(SDLSecondaryTransportManager *)manager + primaryProtocol:(SDLProtocol *)primaryProtocol; + +/** + * Start the handler. + */ +- (void)start; + +/** + * Stop the handler. + */ +- (void)stop; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportPrimaryProtocolHandler.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportPrimaryProtocolHandler.m new file mode 100644 index 0000000..066a689 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecondaryTransportPrimaryProtocolHandler.m @@ -0,0 +1,76 @@ +// +// SDLSecondaryTransportPrimaryProtocolHandler.m +// SmartDeviceLink +// +// Created by Sho Amano on 2018/08/09. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import + +#import "SDLSecondaryTransportPrimaryProtocolHandler.h" + +#import "SDLControlFramePayloadRPCStartServiceAck.h" +#import "SDLControlFramePayloadTransportEventUpdate.h" +#import "SDLLogMacros.h" +#import "SDLProtocol.h" +#import "SDLProtocolMessage.h" +#import "SDLSecondaryTransportManager.h" + +@interface SDLSecondaryTransportPrimaryProtocolHandler () +@property (weak, nonatomic) SDLSecondaryTransportManager *secondaryTransportManager; +@property (weak, nonatomic) SDLProtocol *primaryProtocol; +@end + +@implementation SDLSecondaryTransportPrimaryProtocolHandler + +- (instancetype)initWithSecondaryTransportManager:(SDLSecondaryTransportManager *)manager + primaryProtocol:(SDLProtocol *)primaryProtocol { + self = [super init]; + if (!self) { + return nil; + } + + _secondaryTransportManager = manager; + _primaryProtocol = primaryProtocol; + + return self; +} + +- (void)start { + @synchronized(self.primaryProtocol.protocolDelegateTable) { + [self.primaryProtocol.protocolDelegateTable addObject:self]; + } +} + +- (void)stop { + @synchronized(self.primaryProtocol.protocolDelegateTable) { + [self.primaryProtocol.protocolDelegateTable removeObject:self]; + } +} + +// called from protocol's _reeiveQueue of Primary Transport +- (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceACK { + if (startServiceACK.header.serviceType != SDLServiceTypeRPC) { + return; + } + + SDLLogV(@"Received Start Service ACK header of RPC service on primary transport"); + + // keep header to acquire Session ID + self.primaryRPCHeader = startServiceACK.header; + + SDLControlFramePayloadRPCStartServiceAck *payload = [[SDLControlFramePayloadRPCStartServiceAck alloc] initWithData:startServiceACK.payload]; + + [self.secondaryTransportManager onStartServiceAckReceived:payload]; +} + +// called from protocol's _reeiveQueue of Primary Transport +- (void)handleTransportEventUpdateMessage:(SDLProtocolMessage *)transportEventUpdate { + SDLControlFramePayloadTransportEventUpdate *payload = [[SDLControlFramePayloadTransportEventUpdate alloc] initWithData:transportEventUpdate.payload]; + SDLLogV(@"Transport Config Update: %@", payload); + + [self.secondaryTransportManager onTransportEventUpdateReceived:payload]; +} + +@end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecurityType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecurityType.h index c459665..202149e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecurityType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSecurityType.h @@ -10,18 +10,63 @@ NS_ASSUME_NONNULL_BEGIN +/** + A protocol used by SDL Security libraries. + + @warning Used internally + */ @protocol SDLSecurityType +/** + The app id of the app + */ @property (copy, nonatomic) NSString *appId; +/** + Initialize the SDL security library with the app's id and a completion handler + + @param appId The app's id + @param completionHandler A handler for when the security library is initialized + */ - (void)initializeWithAppId:(NSString *)appId completionHandler:(void (^)(NSError *_Nullable error))completionHandler; + +/** + Stop the security library + */ - (void)stop; +/** + Run the SSL/TLS handshake + + @param data The client data for the handshake + @param error A returnable error + @return The server handshake data + */ - (nullable NSData *)runHandshakeWithClientData:(NSData *)data error:(NSError **)error; +/** + Encrypt data using SSL/TLS + + @param data The data to encrypt + @param error A returnable error + @return The encrypted data + */ - (nullable NSData *)encryptData:(NSData *)data withError:(NSError **)error; + +/** + Decrypt data using SSL/TLS + + @param data The data to decrypt + @param error A returnable error + @return The decrypted data + */ - (nullable NSData *)decryptData:(NSData *)data withError:(NSError **)error; +/** + The vehicle makes this security library covers + + @return The makes + */ + (NSSet *)availableMakes; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSendHapticDataResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSendHapticDataResponse.h index c811c0e..3be41e5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSendHapticDataResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSendHapticDataResponse.h @@ -9,8 +9,9 @@ #import "SDLRPCResponse.h" NS_ASSUME_NONNULL_BEGIN + /** - * SDLSendHapticDataResponse is sent when SDLSendHapticData has been called + Response to SDLSendHapticData */ @interface SDLSendHapticDataResponse : SDLRPCResponse diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSendLocationResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSendLocationResponse.h index 8059bc1..35bcc56 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSendLocationResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSendLocationResponse.h @@ -6,6 +6,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLSendLocation + */ @interface SDLSendLocationResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetAppIcon.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetAppIcon.h index 2b99843..5a8c256 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetAppIcon.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetAppIcon.h @@ -20,7 +20,7 @@ NS_ASSUME_NONNULL_BEGIN /** - * @abstract A file reference name + * A file reference name * @discussion A String value representing a file reference name *

    * Notes: Maxlength=500 diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetAppIconResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetAppIconResponse.h index ba189dc..80fee98 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetAppIconResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetAppIconResponse.h @@ -4,12 +4,13 @@ #import "SDLRPCResponse.h" -/** SDLSetAppIconResponse is sent, when SDLSetAppIcon has been called. - * SinceSmartDeviceLink 2.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLSetAppIcon + + Since SmartDeviceLink 2.0 + */ @interface SDLSetAppIconResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayout.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayout.h index c2097d8..e19c259 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayout.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayout.h @@ -6,6 +6,8 @@ #import "SDLPredefinedLayout.h" +@class SDLTemplateColorScheme; + /** * Used to set an alternate display layout. If not sent, default screen for * given platform will be shown @@ -21,15 +23,31 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithLayout:(NSString *)displayLayout; +- (instancetype)initWithPredefinedLayout:(SDLPredefinedLayout)predefinedLayout dayColorScheme:(SDLTemplateColorScheme *)dayColorScheme nightColorScheme:(SDLTemplateColorScheme *)nightColorScheme; + /** - * @abstract A display layout. Predefined or dynamically created screen layout. + * A display layout. Predefined or dynamically created screen layout. * Currently only predefined screen layouts are defined. Predefined layouts * include: "ONSCREEN_PRESETS" Custom screen containing app-defined onscreen * presets. Currently defined for GEN2 */ @property (strong, nonatomic) NSString *displayLayout; +/** + The color scheme to be used on a head unit using a "light" or "day" color scheme. The OEM may only support this theme if their head unit only has a light color scheme. + + Optional + */ +@property (strong, nonatomic, nullable) SDLTemplateColorScheme *dayColorScheme; + +/** + The color scheme to be used on a head unit using a "dark" or "night" color scheme. The OEM may only support this theme if their head unit only has a dark color scheme. + + Optional + */ +@property (strong, nonatomic, nullable) SDLTemplateColorScheme *nightColorScheme; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayout.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayout.m index 21c8627..ac3736b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayout.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayout.m @@ -6,6 +6,7 @@ #import "NSMutableDictionary+Store.h" #import "SDLNames.h" +#import "SDLTemplateColorScheme.h" NS_ASSUME_NONNULL_BEGIN @@ -32,6 +33,16 @@ - (instancetype)initWithLayout:(NSString *)displayLayout { return self; } +- (instancetype)initWithPredefinedLayout:(SDLPredefinedLayout)predefinedLayout dayColorScheme:(SDLTemplateColorScheme *)dayColorScheme nightColorScheme:(SDLTemplateColorScheme *)nightColorScheme { + self = [self initWithPredefinedLayout:predefinedLayout]; + if (!self) { return nil; } + + self.dayColorScheme = dayColorScheme; + self.nightColorScheme = nightColorScheme; + + return self; +} + - (void)setDisplayLayout:(NSString *)displayLayout { [parameters sdl_setObject:displayLayout forName:SDLNameDisplayLayout]; } @@ -40,6 +51,22 @@ - (NSString *)displayLayout { return [parameters sdl_objectForName:SDLNameDisplayLayout]; } +- (void)setDayColorScheme:(nullable SDLTemplateColorScheme *)dayColorScheme { + [parameters sdl_setObject:dayColorScheme forName:SDLNameDayColorScheme]; +} + +- (nullable SDLTemplateColorScheme *)dayColorScheme { + return [parameters sdl_objectForName:SDLNameDayColorScheme ofClass:[SDLTemplateColorScheme class]]; +} + +- (void)setNightColorScheme:(nullable SDLTemplateColorScheme *)nightColorScheme { + [parameters sdl_setObject:nightColorScheme forName:SDLNameNightColorScheme]; +} + +- (nullable SDLTemplateColorScheme *)nightColorScheme { + return [parameters sdl_objectForName:SDLNameNightColorScheme ofClass:[SDLTemplateColorScheme class]]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayoutResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayoutResponse.h index e1e8813..6998722 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayoutResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetDisplayLayoutResponse.h @@ -8,19 +8,34 @@ @class SDLPresetBankCapabilities; @class SDLSoftButtonCapabilities; -/** - * Set Display Layout Response is sent, when SetDisplayLayout has been called - * - * Since SmartDeviceLink 2.0 - */ NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLSetDisplayLayout + + Since SmartDeviceLink 2.0 + */ @interface SDLSetDisplayLayoutResponse : SDLRPCResponse +/** + The display capabilities of the new template layout + */ @property (nullable, strong, nonatomic) SDLDisplayCapabilities *displayCapabilities; + +/** + The button capabilities of the new template layout + */ @property (nullable, strong, nonatomic) NSArray *buttonCapabilities; + +/** + The soft button capabilities of the new template layout + */ @property (nullable, strong, nonatomic) NSArray *softButtonCapabilities; + +/** + The preset bank capabilities of the new template layout + */ @property (nullable, strong, nonatomic) SDLPresetBankCapabilities *presetBankCapabilities; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetGlobalProperties.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetGlobalProperties.h index f6ac19b..7b3370d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetGlobalProperties.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetGlobalProperties.h @@ -8,87 +8,100 @@ @class SDLTTSChunk; @class SDLVRHelpItem; -/** - * Sets value(s) for the specified global property(ies) - *

    - * Function Group: Base

    - * HMILevel needs to be FULL, LIMITED or BACKGROUND - *

    - * - * Since SmartDeviceLink 1.0 - * See SDLResetGlobalProperties - */ - NS_ASSUME_NONNULL_BEGIN +/** + Sets global property values + + Since SmartDeviceLink 1.0 + + See SDLResetGlobalProperties + */ @interface SDLSetGlobalProperties : SDLRPCRequest +/** + Initialize SetGlobalProperties with help text and timeout text + + @param helpText A string that will be turned into TTS chunks for the help prompt + @param timeoutText A string that will be turned into TTS chunks for the timeout prompt + @return The SetGlobalProperties RPC + */ - (instancetype)initWithHelpText:(nullable NSString *)helpText timeoutText:(nullable NSString *)timeoutText; +/** + Initialize SetGlobalProperties with help text, timeout text, help title, and help items + + @param helpText A string that will be turned into TTS chunks for the help prompt + @param timeoutText A string that will be turned into TTS chunks for the timeout prompt + @param vrHelpTitle The title of the help interface prompt + @param vrHelp The items of the help interface prompt + @return The SetGlobalProperties RPC + */ - (instancetype)initWithHelpText:(nullable NSString *)helpText timeoutText:(nullable NSString *)timeoutText vrHelpTitle:(nullable NSString *)vrHelpTitle vrHelp:(nullable NSArray *)vrHelp; +/** + Initialize SetGlobalProperties with all possible items + + @param helpText A string that will be turned into TTS chunks for the help prompt + @param timeoutText A string that will be turned into TTS chunks for the timeout prompt + @param vrHelpTitle The title of the help interface prompt + @param vrHelp The items of the help interface prompt + @param menuTitle The title of the menu button + @param menuIcon The icon on the menu button + @param keyboardProperties The properties of a keyboard prompt + @return The SetGlobalProperties RPC + */ - (instancetype)initWithHelpText:(nullable NSString *)helpText timeoutText:(nullable NSString *)timeoutText vrHelpTitle:(nullable NSString *)vrHelpTitle vrHelp:(nullable NSArray *)vrHelp menuTitle:(nullable NSString *)menuTitle menuIcon:(nullable SDLImage *)menuIcon keyboardProperties:(nullable SDLKeyboardProperties *)keyboardProperties; /** - * @abstract Sets a Vector for Help Prompt that Array of one or more - * TTSChunk elements specifying the help prompt used in an interaction - * started by PTT - * @discussion helpPrompt - * a Vector of one or more TTSChunk elements - *

    - * Notes: - *

      - *
    • Array must have at least one element
    • - *
    • Only optional it timeoutPrompt has been specified
    • - *
    + Help prompt for when the user asks for help with an interface prompt + + Optional */ @property (strong, nonatomic, nullable) NSArray *helpPrompt; + /** - * @abstract A Vector for Timeout Prompt representing Array of one or - * more TTSChunk elements specifying the help prompt used in an interaction - * started by PTT - * + Help prompt for when an interface prompt times out + + Optional, Array, at least 1 item */ @property (strong, nonatomic, nullable) NSArray *timeoutPrompt; + /** - * @abstract Sets a voice recognition Help Title - * - * @discussion A String value representing a voice recognition Help Title - *

    - * Notes:
    - *

      - *
    • If omitted on supported displays, the default SDL help - * title will be used
    • - *
    • If omitted and one or more vrHelp items are provided, the - * request will be rejected.
    • - *
    • String Maxlength = 500
    • - *
    - * @since SmartDeviceLink 2.0 + Sets a voice recognition Help Title + + Optional */ @property (strong, nonatomic, nullable) NSString *vrHelpTitle; + /** - * @abstract Sets the items listed in the VR help screen used in an interaction - * started by PTT - * - * @discussion A Vector value representing items listed in the VR help screen - * used in an interaction started by PTT - *

    - * Notes:
    - *

      - *
    • If omitted on supported displays, the default SmartDeviceLink VR - * help / What Can I Say? screen will be used
    • - *
    • If the list of VR Help Items contains nonsequential - * positions (e.g. [1,2,4]), the RPC will be rejected
    • - *
    • If omitted and a vrHelpTitle is provided, the request - * will be rejected
    • - *
    • Array Minsize: = 1
    • - *
    • Array Maxsize = 100
    • - *
    - * @since SmartDeviceLink 2.0 + Sets the items listed in the VR help screen used in an interaction started by Push to Talk + + @since SmartDeviceLink 2.0 + + Optional */ @property (strong, nonatomic, nullable) NSArray *vrHelp; + +/** + Text for the menu button label + + Optional + */ @property (strong, nonatomic, nullable) NSString *menuTitle; + +/** + Icon for the menu button + + Optional + */ @property (strong, nonatomic, nullable) SDLImage *menuIcon; + +/** + On-screen keyboard (perform interaction) configuration + + Optional + */ @property (strong, nonatomic, nullable) SDLKeyboardProperties *keyboardProperties; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h index f41991d..6e9bb3c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetGlobalPropertiesResponse.h @@ -4,14 +4,13 @@ #import "SDLRPCResponse.h" -/** - * Set Global Properties Response is sent, when SDLSetGlobalProperties has been called - * - * Since SmartDeviceLink 1.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLSetGlobalProperties + + Since SmartDeviceLink 1.0 + */ @interface SDLSetGlobalPropertiesResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h index fd44ce3..1005090 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h @@ -8,14 +8,12 @@ NS_ASSUME_NONNULL_BEGIN /** - * Used to set the values of one remote control module - * + Response to SDLSetInteriorVehicleData */ @interface SDLSetInteriorVehicleDataResponse : SDLRPCResponse /** - * The module data to set for the requested remote control module. - * + The new module data for the requested module */ @property (strong, nonatomic) SDLModuleData *moduleData; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimer.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimer.h index f561299..db41591 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimer.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimer.h @@ -4,6 +4,7 @@ #import "SDLRPCRequest.h" #import "SDLUpdateMode.h" +#import "SDLAudioStreamingIndicator.h" @class SDLStartTime; @@ -22,12 +23,14 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLSetMediaClockTimer : SDLRPCRequest +- (instancetype)initWithUpdateMode:(SDLUpdateMode)updateMode hours:(UInt8)hours minutes:(UInt8)minutes seconds:(UInt8)seconds audioStreamingIndicator:(SDLAudioStreamingIndicator)audioStreamingIndicator; + - (instancetype)initWithUpdateMode:(SDLUpdateMode)updateMode hours:(UInt8)hours minutes:(UInt8)minutes seconds:(UInt8)seconds; - (instancetype)initWithUpdateMode:(SDLUpdateMode)updateMode; /** - * @abstract A Start Time with specifying hour, minute, second values + * A Start Time with specifying hour, minute, second values * * @discussion A startTime object with specifying hour, minute, second values *

    @@ -40,13 +43,13 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) SDLStartTime *startTime; /** - * @abstract An END time of type SDLStartTime, specifying hour, minute, second values + * An END time of type SDLStartTime, specifying hour, minute, second values * * @discussion An SDLStartTime object with specifying hour, minute, second values */ @property (strong, nonatomic, nullable) SDLStartTime *endTime; /** - * @abstract The media clock/timer update mode (COUNTUP/COUNTDOWN/PAUSE/RESUME) + * The media clock/timer update mode (COUNTUP/COUNTDOWN/PAUSE/RESUME) * * @discussion a Enumeration value (COUNTUP/COUNTDOWN/PAUSE/RESUME) *

    @@ -60,6 +63,16 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic) SDLUpdateMode updateMode; +/** + * The audio streaming indicator used for a play/pause button. + * + * @discussion Set the indicator icon of a play/pause button depending on the + * current audio playback. This parameter is optional. If omitted the last indicator sent + * will not change. + */ +@property (strong, nonatomic, nullable) SDLAudioStreamingIndicator audioStreamingIndicator; + + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimer.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimer.m index 793fd14..ac14c21 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimer.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimer.m @@ -18,6 +18,16 @@ - (instancetype)init { return self; } +- (instancetype)initWithUpdateMode:(SDLUpdateMode)updateMode hours:(UInt8)hours minutes:(UInt8)minutes seconds:(UInt8)seconds audioStreamingIndicator:(SDLAudioStreamingIndicator)audioStreamingIndicator { + self = [self initWithUpdateMode:updateMode hours:hours minutes:minutes seconds:seconds]; + if (!self) { + return nil; + } + + self.audioStreamingIndicator = audioStreamingIndicator; + + return self; +} - (instancetype)initWithUpdateMode:(SDLUpdateMode)updateMode hours:(UInt8)hours minutes:(UInt8)minutes seconds:(UInt8)seconds { self = [self initWithUpdateMode:updateMode]; @@ -65,6 +75,14 @@ - (SDLUpdateMode)updateMode { return [parameters sdl_objectForName:SDLNameUpdateMode]; } +- (void)setAudioStreamingIndicator:(nullable SDLAudioStreamingIndicator)audioStreamingIndicator { + [parameters sdl_setObject:audioStreamingIndicator forName:SDLNameAudioStreamingIndicator]; +} + +- (nullable SDLAudioStreamingIndicator)audioStreamingIndicator { + return [parameters sdl_objectForName:SDLNameAudioStreamingIndicator]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimerResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimerResponse.h index 54a5998..f6c4438 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimerResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSetMediaClockTimerResponse.h @@ -4,14 +4,13 @@ #import "SDLRPCResponse.h" -/** - * Set Media Clock Timer Response is sent, when SDLSetMediaClockTimer has been called - * - * Since SmartDeviceLink 1.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLSetMediaClockTimer + + Since SmartDeviceLink 1.0 + */ @interface SDLSetMediaClockTimerResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShow.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShow.h index 8eef691..833a3de 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShow.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShow.h @@ -51,7 +51,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField2:(nullable NSString *)mainField2 mainField3:(nullable NSString *)mainField3 mainField4:(nullable NSString *)mainField4 alignment:(nullable SDLTextAlignment)alignment statusBar:(nullable NSString *)statusBar mediaClock:(nullable NSString *)mediaClock mediaTrack:(nullable NSString *)mediaTrack graphic:(nullable SDLImage *)graphic softButtons:(nullable NSArray *)softButtons customPresets:(nullable NSArray *)customPresets textFieldMetadata:(nullable SDLMetadataTags *)metadata; /** - * @abstract The text displayed in a single-line display, or in the upper display + * The text displayed in a single-line display, or in the upper display * line in a two-line display * @discussion The String value representing the text displayed in a * single-line display, or in the upper display line in a @@ -67,7 +67,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSString *mainField1; /** - * @abstract The text displayed on the second display line of a two-line display + * The text displayed on the second display line of a two-line display * * @discussion The String value representing the text displayed on the second * display line of a two-line display @@ -85,7 +85,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSString *mainField2; /** - * @abstract The text displayed on the first display line of the second page + * The text displayed on the first display line of the second page * * @discussion The String value representing the text displayed on the first * display line of the second page @@ -104,7 +104,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSString *mainField3; /** - * @abstract The text displayed on the second display line of the second page + * The text displayed on the second display line of the second page * * @discussion The String value representing the text displayed on the second * display line of the second page @@ -123,7 +123,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSString *mainField4; /** - * @abstract The alignment that Specifies how mainField1 and mainField2 text + * The alignment that Specifies how mainField1 and mainField2 text * should be aligned on display * * @discussion An Enumeration value @@ -139,7 +139,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) SDLTextAlignment alignment; /** - * @abstract Text in the Status Bar + * Text in the Status Bar * * @discussion A String representing the text you want to add in the Status * Bar @@ -157,7 +157,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSString *statusBar; /** - * @abstract This property is deprecated use SetMediaClockTimer instead. + * This property is deprecated use SetMediaClockTimer instead. *

    The value for the MediaClock field using a format described in the * MediaClockFormat enumeration * @@ -174,7 +174,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSString *mediaClock; /** - * @abstract The text in the track field + * The text in the track field * * @discussion A String value disaplayed in the track field *

    @@ -187,7 +187,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSString *mediaTrack; /** - * @abstract An image to be shown on supported displays + * An image to be shown on supported displays * * @discussion The value representing the image shown on supported displays *

    @@ -197,7 +197,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) SDLImage *graphic; /** - * @abstract An image to be shown on supported displays + * An image to be shown on supported displays * * @discussion The value representing the image shown on supported displays *

    @@ -207,7 +207,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) SDLImage *secondaryGraphic; /** - * @abstract The the Soft buttons defined by the App + * The the Soft buttons defined by the App * * @discussion A Vector value represemting the Soft buttons defined by the * App @@ -224,10 +224,9 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSArray *softButtons; /** - * @abstract The Custom Presets defined by the App + * The Custom Presets defined by the App * - * @discussion A Vector value representing the Custom Presets defined by the - * App + * @discussion A Vector value representing the Custom Presets defined by the App *

    *

      *
    • If omitted on supported displays, the presets will be shown as not defined
    • @@ -239,15 +238,11 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic, nullable) NSArray *customPresets; /** - * @abstract Text Field Metadata - * - * @discussion A Vector value representing the Custom Presets defined by the - * App - *

      - * App defined metadata information. See MetadataStruct. Uses mainField1, mainField2, mainField3, mainField4. - * If omitted on supported displays, the currently set metadata tags will not change. - * If any text field contains no tags or the none tag, the metadata tag for that textfield should be removed. - * @since SmartDeviceLink 2.0 + Text Field Metadata + + App defined metadata information. See MetadataStruct. Uses mainField1, mainField2, mainField3, mainField4. If omitted on supported displays, the currently set metadata tags will not change. If any text field contains no tags or the none tag, the metadata tag for that textfield should be removed. + + @since SmartDeviceLink 2.0 */ @property (strong, nonatomic, nullable) SDLMetadataTags *metadataTags; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShow.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShow.m index 388865d..743e494 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShow.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShow.m @@ -31,9 +31,9 @@ - (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField1Typ return nil; } - NSArray *field1Array = @[mainField1Type]; - NSArray *field2Array = @[mainField2Type]; - SDLMetadataTags* metadataTags = [[SDLMetadataTags alloc] initWithTextFieldTypes:field1Array mainField2:field2Array]; + NSArray *field1Array = mainField1Type ? @[mainField1Type] : nil; + NSArray *field2Array = mainField2Type ? @[mainField2Type] : nil; + SDLMetadataTags* metadataTags = (field1Array != nil || field2Array != nil) ? [[SDLMetadataTags alloc] initWithTextFieldTypes:field1Array mainField2:field2Array] : nil; self.mainField1 = mainField1; self.mainField2 = mainField2; @@ -47,17 +47,17 @@ - (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField2:(n return [self initWithMainField1:mainField1 mainField2:mainField2 mainField3:mainField3 mainField4:mainField4 alignment:alignment statusBar:nil mediaClock:nil mediaTrack:nil graphic:nil softButtons:nil customPresets:nil textFieldMetadata:nil]; } -- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField1Type:(nullable SDLMetadataType)mainField1Type mainField2:(nullable NSString *)mainField2 mainField2Type:(nullable SDLMetadataType)mainField2Type mainField3:(nullable NSString *)mainField3 mainField3Type:(nullable SDLMetadataType)mainField3Type mainField4:(nullable NSString *)mainField4 mainField4Type:(nullable SDLMetadataType)mainField4Type alignment:(nullable SDLTextAlignment)alignment{ +- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField1Type:(nullable SDLMetadataType)mainField1Type mainField2:(nullable NSString *)mainField2 mainField2Type:(nullable SDLMetadataType)mainField2Type mainField3:(nullable NSString *)mainField3 mainField3Type:(nullable SDLMetadataType)mainField3Type mainField4:(nullable NSString *)mainField4 mainField4Type:(nullable SDLMetadataType)mainField4Type alignment:(nullable SDLTextAlignment)alignment { self = [self init]; if (!self) { return nil; } - NSArray *field1Array = @[mainField1Type]; - NSArray *field2Array = @[mainField2Type]; - NSArray *field3Array = @[mainField3Type]; - NSArray *field4Array = @[mainField4Type]; - SDLMetadataTags* metadataTags = [[SDLMetadataTags alloc] initWithTextFieldTypes:field1Array mainField2:field2Array mainField3:field3Array mainField4:field4Array]; + NSArray *field1Array = mainField1Type ? @[mainField1Type] : nil; + NSArray *field2Array = mainField2Type ? @[mainField2Type] : nil; + NSArray *field3Array = mainField3Type ? @[mainField3Type] : nil; + NSArray *field4Array = mainField4Type ? @[mainField4Type] : nil; + SDLMetadataTags* metadataTags = (field1Array != nil || field2Array != nil || field3Array != nil || field4Array != nil) ? [[SDLMetadataTags alloc] initWithTextFieldTypes:field1Array mainField2:field2Array mainField3:field3Array mainField4:field4Array] : nil; self.mainField1 = mainField1; self.mainField2 = mainField2; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowConstantTBT.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowConstantTBT.h index 8d25893..e3a4845 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowConstantTBT.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowConstantTBT.h @@ -6,11 +6,10 @@ @class SDLImage; @class SDLSoftButton; -/** This RPC is used to update the user with navigation information
      - * for the constantly shown screen (base screen),but also for the
      - * alert type screen. - *

      - * @since SmartDeviceLink 2.0 +/** + * This RPC is used to update the user with navigation information for the constantly shown screen (base screen), but also for the alert maneuver screen. + * + * @since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN @@ -19,16 +18,87 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithNavigationText1:(nullable NSString *)navigationText1 navigationText2:(nullable NSString *)navigationText2 eta:(nullable NSString *)eta timeToDestination:(nullable NSString *)timeToDestination totalDistance:(nullable NSString *)totalDistance turnIcon:(nullable SDLImage *)turnIcon nextTurnIcon:(nullable SDLImage *)nextTurnIcon distanceToManeuver:(double)distanceToManeuver distanceToManeuverScale:(double)distanceToManeuverScale maneuverComplete:(BOOL)maneuverComplete softButtons:(nullable NSArray *)softButtons; +/** + * The first line of text in a multi-line overlay screen. + * + * Optional, Max length 500 chars + */ @property (strong, nonatomic, nullable) NSString *navigationText1; + +/** + * The second line of text in a multi-line overlay screen. + * + * Optional, 1 - 500 chars + */ @property (strong, nonatomic, nullable) NSString *navigationText2; + +/** + * Estimated Time of Arrival time at final destination + * + * Optional, 1 - 500 chars + */ @property (strong, nonatomic, nullable) NSString *eta; + +/** + * The amount of time needed to reach the final destination + * + * Optional, 1 - 500 chars + */ @property (strong, nonatomic, nullable) NSString *timeToDestination; + +/** + * The distance to the final destination + * + * Optional, 1 - 500 chars + */ @property (strong, nonatomic, nullable) NSString *totalDistance; + +/** + * An icon to show with the turn description + * + * Optional + * + * @see SDLImage + */ @property (strong, nonatomic, nullable) SDLImage *turnIcon; + +/** + * An icon to show with the next turn description + * + * Optional + * + * @see SDLImage + */ @property (strong, nonatomic, nullable) SDLImage *nextTurnIcon; + +/** + * Fraction of distance till next maneuver (starting from when AlertManeuver is triggered). Used to calculate progress bar. + * + * Optional, Float, 0 - 1,000,000,000 + */ @property (strong, nonatomic, nullable) NSNumber *distanceToManeuver; + +/** + * Distance till next maneuver (starting from) from previous maneuver. Used to calculate progress bar. + * + * Optional, Float, 0 - 1,000,000,000 + */ @property (strong, nonatomic, nullable) NSNumber *distanceToManeuverScale; + +/** + * If and when a maneuver has completed while an AlertManeuver is active, the app must send this value set to TRUE in order to clear the AlertManeuver overlay. If omitted the value will be assumed as FALSE. + * + * Optional + */ @property (strong, nonatomic, nullable) NSNumber *maneuverComplete; + +/** + * Three dynamic SoftButtons available (first SoftButton is fixed to "Turns"). If omitted on supported displays, the currently displayed SoftButton values will not change. + * + * Optional, Array length 0 - 3 + * + * @see SDLSoftButton + */ @property (strong, nonatomic, nullable) NSArray *softButtons; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowConstantTBTResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowConstantTBTResponse.h index b6c1967..c7db2ce 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowConstantTBTResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowConstantTBTResponse.h @@ -4,12 +4,13 @@ #import "SDLRPCResponse.h" -/** SDLShowConstantTBTResponse is sent, when SDLShowConstantTBT has been called. - * SinceSmartDeviceLink 2.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLShowConstantTBT + + Since SmartDeviceLink 2.0 + */ @interface SDLShowConstantTBTResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowResponse.h index 0cb87e9..2f69910 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLShowResponse.h @@ -4,14 +4,13 @@ #import "SDLRPCResponse.h" -/** - * Show Response is sent, when Show has been called - * - * Since SmartDeviceLink 1.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLShow + + Since SmartDeviceLink 1.0 + */ @interface SDLShowResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSingleTireStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSingleTireStatus.h index da8e710..9ebe1b3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSingleTireStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSingleTireStatus.h @@ -4,22 +4,38 @@ #import "SDLRPCMessage.h" #import "SDLComponentVolumeStatus.h" +#import "SDLTPMS.h" + +NS_ASSUME_NONNULL_BEGIN /** * Tire pressure status of a single tire. * * @since SmartDeviceLink 2.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLSingleTireStatus : SDLRPCStruct /** - * @abstract The volume status of a single tire + * The volume status of a single tire + + Required */ @property (strong, nonatomic) SDLComponentVolumeStatus status; +/** + The status of TPMS for this particular tire + + Optional + */ +@property (strong, nonatomic, nullable) SDLTPMS monitoringSystemStatus; + +/** + The pressure value of this particular tire in kPa (kilopascals) + + Optional, Float, 0-2000 + */ +@property (copy, nonatomic, nullable) NSNumber *pressure; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSingleTireStatus.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSingleTireStatus.m index a43be45..6f88953 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSingleTireStatus.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSingleTireStatus.m @@ -4,8 +4,11 @@ #import "SDLSingleTireStatus.h" #import "NSMutableDictionary+Store.h" +#import "NSNumber+NumberType.h" #import "SDLNames.h" +NS_ASSUME_NONNULL_BEGIN + @implementation SDLSingleTireStatus - (void)setStatus:(SDLComponentVolumeStatus)status { @@ -16,4 +19,22 @@ - (SDLComponentVolumeStatus)status { return [store sdl_objectForName:SDLNameStatus]; } +- (void)setMonitoringSystemStatus:(nullable SDLTPMS)monitoringSystemStatus { + [store sdl_setObject:monitoringSystemStatus forName:SDLNameTPMS]; +} + +- (nullable SDLTPMS)monitoringSystemStatus { + return [store sdl_objectForName:SDLNameTPMS]; +} + +- (void)setPressure:(nullable NSNumber *)pressure { + [store sdl_setObject:pressure forName:SDLNamePressure]; +} + +- (nullable NSNumber *)pressure { + return [store sdl_objectForName:SDLNamePressure]; +} + @end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSlider.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSlider.h index c236063..2b3b187 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSlider.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSlider.h @@ -50,28 +50,28 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithNumTicks:(UInt8)numTicks position:(UInt8)position sliderHeader:(NSString *)sliderHeader sliderFooters:(nullable NSArray *)sliderFooters timeout:(UInt16)timeout; /** - * @abstract Represents a number of selectable items on a horizontal axis + * Represents a number of selectable items on a horizontal axis * * Required, Integer, 2 - 26 */ @property (strong, nonatomic) NSNumber *numTicks; /** - * @abstract An Initial position of slider control + * An Initial position of slider control * * Required, Integer, 1 - 26 */ @property (strong, nonatomic) NSNumber *position; /** - * @abstract A text header to display + * A text header to display * * Required, Max length 500 chars */ @property (strong, nonatomic) NSString *sliderHeader; /** - * @abstract A text footer to display + * A text footer to display * * @discussion For a static text footer, only one footer string shall be provided in the array. * @@ -86,7 +86,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic, nullable) NSArray *sliderFooter; /** - * @abstract An App defined timeout in milliseconds + * An App defined timeout in milliseconds * * @discussion Indicates how long of a timeout from the last action (i.e. sliding control resets timeout). * diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSliderResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSliderResponse.h index 1dd4232..c7f7732 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSliderResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSliderResponse.h @@ -4,18 +4,17 @@ #import "SDLRPCResponse.h" -/** - * Slider Response is sent, when Slider has been called - * - * Since SmartDeviceLink 2.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLSlider + + Since SmartDeviceLink 2.0 + */ @interface SDLSliderResponse : SDLRPCResponse /** - * @abstract The selected position of the slider. + The selected position of the slider. */ @property (strong, nonatomic, nullable) NSNumber *sliderPosition; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButton.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButton.h index 398bf80..742b102 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButton.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButton.h @@ -11,6 +11,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + Describes an on-screen button which may be presented in various contexts, e.g. templates or alerts + */ @interface SDLSoftButton : SDLRPCStruct - (instancetype)initWithHandler:(nullable SDLRPCButtonNotificationHandler)handler; @@ -19,11 +22,46 @@ NS_ASSUME_NONNULL_BEGIN @property (copy, nonatomic) SDLRPCButtonNotificationHandler handler; +/** + Describes whether this soft button displays only text, only an image, or both + + Required + */ @property (strong, nonatomic) SDLSoftButtonType type; + +/** + Optional text to display (if defined as TEXT or BOTH type) + + Optional + */ @property (strong, nonatomic, nullable) NSString *text; + +/** + Optional image struct for SoftButton (if defined as IMAGE or BOTH type) + + Optional + */ @property (strong, nonatomic, nullable) SDLImage *image; + +/** + Displays in an alternate mode, e.g. with a colored background or foreground. Depends on the IVI system. + + Optional + */ @property (strong, nonatomic, nullable) NSNumber *isHighlighted; + +/** + Value which is returned via OnButtonPress / OnButtonEvent + + Required + */ @property (strong, nonatomic) NSNumber *softButtonID; + +/** + Parameter indicating whether selecting a SoftButton shall call a specific system action. This is intended to allow Notifications to bring the callee into full / focus; or in the case of persistent overlays, the overlay can persist when a SoftButton is pressed. + + Optional + */ @property (strong, nonatomic, nullable) SDLSystemAction systemAction; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonCapabilities.h index c06cd02..c49d78a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonCapabilities.h @@ -4,45 +4,44 @@ #import "SDLRPCMessage.h" +NS_ASSUME_NONNULL_BEGIN + /** * Contains information about a SoftButton's capabilities. * * @since SDL 2.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLSoftButtonCapabilities : SDLRPCStruct /** - * @abstract The button supports a short press. + * The button supports a short press. * - * @discussion Whenever the button is pressed short, onButtonPressed(SHORT) will be invoked. + * Whenever the button is pressed short, onButtonPressed(SHORT) will be invoked. * * Required, Boolean */ @property (strong, nonatomic) NSNumber *shortPressAvailable; /** - * @abstract The button supports a LONG press. + * The button supports a LONG press. * - * @discussion Whenever the button is pressed long, onButtonPressed(LONG) will be invoked. + * Whenever the button is pressed long, onButtonPressed(LONG) will be invoked. * * Required, Boolean */ @property (strong, nonatomic) NSNumber *longPressAvailable; /** - * @abstract The button supports "button down" and "button up". + * The button supports "button down" and "button up". * - * @discussion Whenever the button is pressed, onButtonEvent(DOWN) will be invoked. Whenever the button is released, onButtonEvent(UP) will be invoked. + * Whenever the button is pressed, onButtonEvent(DOWN) will be invoked. Whenever the button is released, onButtonEvent(UP) will be invoked. * * Required, Boolean */ @property (strong, nonatomic) NSNumber *upDownAvailable; /** - * @abstract The button supports referencing a static or dynamic image. + * The button supports referencing a static or dynamic image. * * Required, Boolean */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonManager.h index 04f646d..b163fe5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonManager.h @@ -48,6 +48,11 @@ typedef void(^SDLSoftButtonUpdateCompletionHandler)(NSError *__nullable error); */ - (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager; +/** + * Stops the manager. This method is used internally. + */ +- (void)stop; + /** Cause all transitions in between `beginUpdates` and this method call to occur in one RPC update. diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonManager.m index 995c0c1..10e61fa 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonManager.m @@ -43,7 +43,6 @@ @interface SDLSoftButtonManager() @property (strong, nonatomic, nullable) SDLShow *inProgressUpdate; @property (copy, nonatomic, nullable) SDLSoftButtonUpdateCompletionHandler inProgressHandler; -@property (strong, nonatomic, nullable) SDLShow *queuedImageUpdate; @property (assign, nonatomic) BOOL hasQueuedUpdate; @property (copy, nonatomic, nullable) SDLSoftButtonUpdateCompletionHandler queuedUpdateHandler; @@ -51,7 +50,8 @@ @interface SDLSoftButtonManager() @property (strong, nonatomic, nullable) SDLDisplayCapabilities *displayCapabilities; @property (strong, nonatomic, nullable) SDLSoftButtonCapabilities *softButtonCapabilities; -@property (assign, nonatomic) BOOL waitingOnHMILevelUpdateToSetButtons; +@property (assign, nonatomic) BOOL waitingOnHMILevelUpdateToUpdate; +@property (assign, nonatomic) BOOL isDirty; @end @@ -65,8 +65,9 @@ - (instancetype)initWithConnectionManager:(id)connecti _fileManager = fileManager; _softButtonObjects = @[]; - _currentLevel = SDLHMILevelNone; // Assume NONE until we get something else - _waitingOnHMILevelUpdateToSetButtons = NO; + _currentLevel = nil; + _waitingOnHMILevelUpdateToUpdate = NO; + _isDirty = NO; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_registerResponse:) name:SDLDidReceiveRegisterAppInterfaceResponse object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_displayLayoutResponse:) name:SDLDidReceiveSetDisplayLayoutResponse object:nil]; @@ -75,11 +76,27 @@ - (instancetype)initWithConnectionManager:(id)connecti return self; } +- (void)stop { + _softButtonObjects = @[]; + _currentMainField1 = nil; + + _inProgressUpdate = nil; + _inProgressHandler = nil; + _hasQueuedUpdate = NO; + _queuedUpdateHandler = nil; + _currentLevel = nil; + _displayCapabilities = nil; + _softButtonCapabilities = nil; + _waitingOnHMILevelUpdateToUpdate = NO; + _isDirty = NO; +} + - (void)setSoftButtonObjects:(NSArray *)softButtonObjects { - if (self.currentLevel == nil || [self.currentLevel isEqualToString:SDLHMILevelNone]) { - _waitingOnHMILevelUpdateToSetButtons = YES; - _softButtonObjects = softButtonObjects; + // Only update if something changed. This prevents, for example, an empty array being reset + if (_softButtonObjects == softButtonObjects) { return; + } else { + self.isDirty = YES; } self.inProgressUpdate = nil; @@ -106,57 +123,13 @@ - (void)setSoftButtonObjects:(NSArray *)softButtonObjects } } - _softButtonObjects = softButtonObjects; - - for (SDLSoftButtonObject *button in _softButtonObjects) { + for (SDLSoftButtonObject *button in softButtonObjects) { button.manager = self; } - NSMutableArray *initialStatesToBeUploaded = [NSMutableArray array]; - NSMutableArray *otherStatesToBeUploaded = [NSMutableArray array]; - if (self.displayCapabilities ? self.displayCapabilities.graphicSupported.boolValue : YES) { - // Upload all soft button images, the initial state images first, then the other states. We need to send updates when the initial state is ready. - for (SDLSoftButtonObject *object in self.softButtonObjects) { - if (object.currentState.artwork != nil && ![self.fileManager hasUploadedFile:object.currentState.artwork]) { - [initialStatesToBeUploaded addObject:object.currentState.artwork]; - } - } - for (SDLSoftButtonObject *object in self.softButtonObjects) { - for (SDLSoftButtonState *state in object.states) { - if ([state.name isEqualToString:object.currentState.name]) { continue; } - if (state.artwork != nil && ![self.fileManager hasUploadedFile:state.artwork]) { - [otherStatesToBeUploaded addObject:state.artwork]; - } - } - } - } - - // Upload initial images, then other state images - if (initialStatesToBeUploaded.count > 0) { - SDLLogD(@"Uploading soft button initial artworks"); - [self.fileManager uploadArtworks:[initialStatesToBeUploaded copy] completionHandler:^(NSArray * _Nonnull artworkNames, NSError * _Nullable error) { - if (error != nil) { - SDLLogE(@"Error uploading soft button artworks: %@", error); - } - - SDLLogD(@"Soft button initial artworks uploaded"); - [self sdl_updateWithCompletionHandler:nil]; - }]; - } - if (otherStatesToBeUploaded.count > 0) { - SDLLogD(@"Uploading soft button other state artworks"); - [self.fileManager uploadArtworks:[otherStatesToBeUploaded copy] completionHandler:^(NSArray * _Nonnull artworkNames, NSError * _Nullable error) { - if (error != nil) { - SDLLogE(@"Error uploading soft button artworks: %@", error); - } - - SDLLogD(@"Soft button other state artworks uploaded"); - // In case our soft button states have changed in the meantime - [self sdl_updateWithCompletionHandler:nil]; - }]; - } + _softButtonObjects = softButtonObjects; - [self sdl_updateWithCompletionHandler:nil]; + [self updateWithCompletionHandler:nil]; } - (nullable SDLSoftButtonObject *)softButtonObjectNamed:(NSString *)name { @@ -169,19 +142,30 @@ - (nullable SDLSoftButtonObject *)softButtonObjectNamed:(NSString *)name { return nil; } -- (void)updateWithCompletionHandler:(nullable SDLSoftButtonUpdateCompletionHandler)handler { - if (self.isBatchingUpdates) { return; } - - [self sdl_updateWithCompletionHandler:handler]; +- (void)sdl_transitionSoftButton:(SDLSoftButtonObject *)softButton { + self.isDirty = YES; + [self updateWithCompletionHandler:nil]; } -- (void)sdl_updateWithCompletionHandler:(nullable SDLSoftButtonUpdateCompletionHandler)handler { +- (void)updateWithCompletionHandler:(nullable SDLSoftButtonUpdateCompletionHandler)handler { + // Don't send if we're batching + if (self.isBatchingUpdates || !self.isDirty) { return; } + // Don't send if we're in HMI NONE if (self.currentLevel == nil || [self.currentLevel isEqualToString:SDLHMILevelNone]) { + self.waitingOnHMILevelUpdateToUpdate = YES; return; + } else { + self.waitingOnHMILevelUpdateToUpdate = NO; } + [self sdl_updateWithCompletionHandler:handler]; +} + +- (void)sdl_updateWithCompletionHandler:(nullable SDLSoftButtonUpdateCompletionHandler)handler { SDLLogD(@"Updating soft buttons"); + self.isDirty = NO; + if (self.inProgressUpdate != nil) { SDLLogV(@"In progress update exists, queueing update"); // If we already have a pending update, we're going to tell the old handler that it was superseded by a new update and then return @@ -203,12 +187,18 @@ - (void)sdl_updateWithCompletionHandler:(nullable SDLSoftButtonUpdateCompletionH self.inProgressHandler = [handler copy]; self.inProgressUpdate = [[SDLShow alloc] init]; self.inProgressUpdate.mainField1 = self.currentMainField1 ?: @""; + + if ([self sdl_supportsSoftButtonImages]) { + [self sdl_uploadInitialStateImages]; + [self sdl_uploadOtherStateImages]; + } + if (self.softButtonObjects == nil) { SDLLogV(@"Soft button objects are nil, sending an empty array"); self.inProgressUpdate.softButtons = @[]; } else if (([self sdl_currentStateHasImages] && ![self sdl_allCurrentStateImagesAreUploaded]) - && (self.softButtonCapabilities ? !self.softButtonCapabilities.imageSupported : YES)) { - // The images don't yet exist on the head unit, or we cannot use images, send a text update if possible, otherwise, don't send anything yet + || ![self sdl_supportsSoftButtonImages]) { + // The images don't yet exist on the head unit, or we cannot use images, send a text update, if possible. Otherwise, don't send anything yet. NSArray *textOnlyButtons = [self sdl_textButtonsForCurrentState]; if (textOnlyButtons != nil) { SDLLogV(@"Soft button images unavailable, sending text buttons"); @@ -267,6 +257,62 @@ - (BOOL)sdl_allCurrentStateImagesAreUploaded { return YES; } +- (BOOL)sdl_supportsSoftButtonImages { + BOOL supportsGraphics = self.displayCapabilities ? self.displayCapabilities.graphicSupported.boolValue : YES; + BOOL supportsSoftButtonImages = self.softButtonCapabilities ? self.softButtonCapabilities.imageSupported.boolValue : NO; + + return (supportsGraphics && supportsSoftButtonImages); +} + +- (void)sdl_uploadInitialStateImages { + NSMutableArray *initialStatesToBeUploaded = [NSMutableArray array]; + // Upload all soft button images, the initial state images first, then the other states. We need to send updates when the initial state is ready. + for (SDLSoftButtonObject *object in self.softButtonObjects) { + if (object.currentState.artwork != nil && ![self.fileManager hasUploadedFile:object.currentState.artwork]) { + [initialStatesToBeUploaded addObject:object.currentState.artwork]; + } + } + + // Upload initial images, then other state images + if (initialStatesToBeUploaded.count > 0) { + SDLLogD(@"Uploading soft button initial artworks"); + [self.fileManager uploadArtworks:[initialStatesToBeUploaded copy] completionHandler:^(NSArray * _Nonnull artworkNames, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Error uploading soft button artworks: %@", error); + } + + SDLLogD(@"Soft button initial artworks uploaded"); + [self sdl_updateWithCompletionHandler:nil]; + }]; + } +} + +- (void)sdl_uploadOtherStateImages { + NSMutableArray *otherStatesToBeUploaded = [NSMutableArray array]; + // Upload all soft button images, the initial state images first, then the other states. We need to send updates when the initial state is ready. + for (SDLSoftButtonObject *object in self.softButtonObjects) { + for (SDLSoftButtonState *state in object.states) { + if ([state.name isEqualToString:object.currentState.name]) { continue; } + if (state.artwork != nil && ![self.fileManager hasUploadedFile:state.artwork]) { + [otherStatesToBeUploaded addObject:state.artwork]; + } + } + } + + if (otherStatesToBeUploaded.count > 0) { + SDLLogD(@"Uploading soft button other state artworks"); + [self.fileManager uploadArtworks:[otherStatesToBeUploaded copy] completionHandler:^(NSArray * _Nonnull artworkNames, NSError * _Nullable error) { + if (error != nil) { + SDLLogE(@"Error uploading soft button artworks: %@", error); + } + + SDLLogD(@"Soft button other state artworks uploaded"); + // In case our soft button states have changed in the meantime + [self sdl_updateWithCompletionHandler:nil]; + }]; + } +} + #pragma mark - Creating Soft Buttons /** @@ -309,6 +355,13 @@ - (BOOL)hasQueuedUpdate { - (void)sdl_registerResponse:(SDLRPCResponseNotification *)notification { SDLRegisterAppInterfaceResponse *response = (SDLRegisterAppInterfaceResponse *)notification.response; + + if (!response.success.boolValue) { return; } + if (response.displayCapabilities == nil) { + SDLLogE(@"RegisterAppInterface succeeded but didn't send a display capabilities. A lot of things will probably break."); + return; + } + self.softButtonCapabilities = response.softButtonCapabilities ? response.softButtonCapabilities.firstObject : nil; self.displayCapabilities = response.displayCapabilities; } @@ -316,11 +369,19 @@ - (void)sdl_registerResponse:(SDLRPCResponseNotification *)notification { - (void)sdl_displayLayoutResponse:(SDLRPCResponseNotification *)notification { SDLSetDisplayLayoutResponse *response = (SDLSetDisplayLayoutResponse *)notification.response; + if (!response.success.boolValue) { return; } + if (response.displayCapabilities == nil) { + SDLLogE(@"SetDisplayLayout succeeded but didn't send a display capabilities. A lot of things will probably break."); + return; + } + self.softButtonCapabilities = response.softButtonCapabilities ? response.softButtonCapabilities.firstObject : nil; self.displayCapabilities = response.displayCapabilities; // Auto-send an updated Show - [self updateWithCompletionHandler:nil]; + if (self.softButtonObjects.count > 0) { + [self updateWithCompletionHandler:nil]; + } } - (void)sdl_hmiStatusNotification:(SDLRPCNotificationNotification *)notification { @@ -330,12 +391,8 @@ - (void)sdl_hmiStatusNotification:(SDLRPCNotificationNotification *)notification self.currentLevel = hmiStatus.hmiLevel; // Auto-send an updated show if we were in NONE and now we are not - if ([oldHMILevel isEqualToString:SDLHMILevelNone] && ![self.currentLevel isEqualToString:SDLHMILevelNone]) { - if (self.waitingOnHMILevelUpdateToSetButtons) { - [self setSoftButtonObjects:_softButtonObjects]; - } else { - [self sdl_updateWithCompletionHandler:nil]; - } + if ([oldHMILevel isEqualToString:SDLHMILevelNone] && ![self.currentLevel isEqualToString:SDLHMILevelNone] && self.waitingOnHMILevelUpdateToUpdate) { + [self updateWithCompletionHandler:nil]; } } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonObject.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonObject.h index 706c31d..fe641a5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonObject.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonObject.h @@ -17,6 +17,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + A soft button wrapper object that is capable of storing and switching between states + */ @interface SDLSoftButtonObject : NSObject /** @@ -70,6 +73,9 @@ NS_ASSUME_NONNULL_BEGIN */ - (BOOL)transitionToStateNamed:(NSString *)stateName NS_SWIFT_NAME(transition(toState:)); +/** + Transition the soft button to the next state of the array set when in the `states` property + */ - (void)transitionToNextState; /** diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonObject.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonObject.m index be7915a..4274215 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonObject.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonObject.m @@ -16,6 +16,12 @@ NS_ASSUME_NONNULL_BEGIN +@interface SDLSoftButtonManager() + +- (void)sdl_transitionSoftButton:(SDLSoftButtonObject *)softButton; + +@end + @interface SDLSoftButtonObject() @property (assign, nonatomic) NSUInteger buttonId; @@ -55,7 +61,7 @@ - (BOOL)transitionToStateNamed:(NSString *)stateName { SDLLogD(@"Transitioning button %@ to state %@", self.name, stateName); self.currentStateName = stateName; - [self.manager updateWithCompletionHandler:nil]; + [self.manager sdl_transitionSoftButton:self]; return YES; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonState.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonState.m index 38da171..a150a22 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonState.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonState.m @@ -71,7 +71,7 @@ - (SDLSoftButtonType)type { - (nullable SDLImage *)image { if (self.artwork == nil) { return nil; } - return [[SDLImage alloc] initWithName:self.artwork.name ofType:SDLImageTypeDynamic]; + return [[SDLImage alloc] initWithName:self.artwork.name ofType:SDLImageTypeDynamic isTemplate:self.artwork.isTemplate]; } - (NSString *)description { diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonType.h index ee4f706..0519ce1 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSoftButtonType.h @@ -5,21 +5,21 @@ #import "SDLEnum.h" /** - SoftButtonType (TEXT / IMAGE / BOTH) + SoftButtonType (TEXT / IMAGE / BOTH). Used by SoftButton. */ typedef SDLEnum SDLSoftButtonType SDL_SWIFT_ENUM; /** - @abstract Text kind Softbutton + Text kind Softbutton */ extern SDLSoftButtonType const SDLSoftButtonTypeText; /** - @abstract Image kind Softbutton + Image kind Softbutton */ extern SDLSoftButtonType const SDLSoftButtonTypeImage; /** - @abstract Both (Text & Image) kind Softbutton + Both (Text & Image) kind Softbutton */ extern SDLSoftButtonType const SDLSoftButtonTypeBoth; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeak.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeak.h index 33046a8..ea8782d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeak.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeak.h @@ -48,7 +48,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithTTSChunks:(NSArray *)ttsChunks; /** - * @abstract An array of TTSChunk structs which, taken together, specify the phrase to be spoken + * An array of TTSChunk structs which, taken together, specify the phrase to be spoken * * @discussion The total length of the phrase composed from the ttsChunks provided must be less than 500 characters or the request will be rejected * diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeakResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeakResponse.h index 8e4c442..0ae8ce8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeakResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeakResponse.h @@ -4,14 +4,13 @@ #import "SDLRPCResponse.h" -/** - * Speak Response is sent, when Speak has been called - * - * Since SmartDeviceLink 1.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLSpeak + + Since SmartDeviceLink 1.0 + */ @interface SDLSpeakResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeechCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeechCapabilities.h index 7f7b55b..6f25dee 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeechCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeechCapabilities.h @@ -5,21 +5,38 @@ #import "SDLEnum.h" /* - * Contains information about TTS capabilities on the SDL platform. + * Contains information about TTS capabilities on the SDL platform. Used in RegisterAppInterfaceResponse, and TTSChunk. * * @since SDL 1.0 */ typedef SDLEnum SDLSpeechCapabilities SDL_SWIFT_ENUM; /** - * @abstract The SDL platform can speak text phrases. + The SDL platform can speak text phrases. */ extern SDLSpeechCapabilities const SDLSpeechCapabilitiesText; +/** + The SDL platform can speak SAPI Phonemes. + */ extern SDLSpeechCapabilities const SDLSpeechCapabilitiesSAPIPhonemes; +/** + The SDL platform can speak LHPlus Phonemes. + */ extern SDLSpeechCapabilities const SDLSpeechCapabilitiesLHPlusPhonemes; +/** + The SDL platform can speak Prerecorded indicators and prompts. + */ extern SDLSpeechCapabilities const SDLSpeechCapabilitiesPrerecorded; +/** + The SDL platform can speak Silence. + */ extern SDLSpeechCapabilities const SDLSpeechCapabilitiesSilence; + +/** + The SDL platform can play a file + */ +extern SDLSpeechCapabilities const SDLSpeechCapabilitiesFile; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeechCapabilities.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeechCapabilities.m index 22dceb6..33a3499 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeechCapabilities.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSpeechCapabilities.m @@ -9,3 +9,4 @@ SDLSpeechCapabilities const SDLSpeechCapabilitiesLHPlusPhonemes = @"LHPLUS_PHONEMES"; SDLSpeechCapabilities const SDLSpeechCapabilitiesPrerecorded = @"PRE_RECORDED"; SDLSpeechCapabilities const SDLSpeechCapabilitiesSilence = @"SILENCE"; +SDLSpeechCapabilities const SDLSpeechCapabilitiesFile = @"FILE"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStartTime.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStartTime.h index 5fbc0e9..1c1ebde 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStartTime.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStartTime.h @@ -4,36 +4,35 @@ #import "SDLRPCMessage.h" +NS_ASSUME_NONNULL_BEGIN + /** * Describes the hour, minute and second values used to set the media clock. * * @since SDL 1.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLStartTime : SDLRPCStruct - (instancetype)initWithHours:(UInt8)hours minutes:(UInt8)minutes seconds:(UInt8)seconds; /** - * @abstract The hour of the media clock + * The hour of the media clock * - * @discussion Some display types only support a max value of 19. If out of range, it will be rejected. + * Some display types only support a max value of 19. If out of range, it will be rejected. * * Required, Integer, 0 - 59 */ @property (strong, nonatomic) NSNumber *hours; /** - * @abstract The minute of the media clock + * The minute of the media clock * * Required, Integer, 0 - 59 */ @property (strong, nonatomic) NSNumber *minutes; /** - * @abstract The second of the media clock + * The second of the media clock * * Required, Integer, 0 - 59 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStaticIconName.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStaticIconName.h new file mode 100644 index 0000000..fcda703 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStaticIconName.h @@ -0,0 +1,900 @@ +// +// SDLStaticIconName.h +// SmartDeviceLink +// +// Created by Nicole on 7/23/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLEnum.h" + +/* + * Static icon names + */ +typedef SDLEnum SDLStaticIconName SDL_SWIFT_ENUM; + +/* + * Static icon accept call / active phone call in progress / initiate a phone call + */ +extern SDLStaticIconName const SDLStaticIconNameAcceptCall; + +/* + * Static icon add waypoint + */ +extern SDLStaticIconName const SDLStaticIconNameAddWaypoint; + +/* + * Static icon album + */ +extern SDLStaticIconName const SDLStaticIconNameAlbum; + +/* + * Static icon ambient lighting + */ +extern SDLStaticIconName const SDLStaticIconNameAmbientLighting; + +/* + * Static icon arrow - north + */ +extern SDLStaticIconName const SDLStaticIconNameArrowNorth; + +/* + * Static icon audio mute + */ +extern SDLStaticIconName const SDLStaticIconNameAudioMute; + +/* + * Static icon audiobook episode + */ +extern SDLStaticIconName const SDLStaticIconNameAudiobookEpisode; + +/* + * Static icon audiobook narrator + */ +extern SDLStaticIconName const SDLStaticIconNameAudiobookNarrator; + +/* + * Static icon auxillary audio + */ +extern SDLStaticIconName const SDLStaticIconNameAuxillaryAudio; + +/* + * Static icon back / return + */ +extern SDLStaticIconName const SDLStaticIconNameBack; + +/* + * Static icon battery capacity 0 of 5 + */ +extern SDLStaticIconName const SDLStaticIconNameBatteryCapacity0Of5; + +/* + * Static icon battery capacity 1 of 5 + */ +extern SDLStaticIconName const SDLStaticIconNameBatteryCapacity1Of5; + +/* + * Static icon battery capacity 2 of 5 + */ +extern SDLStaticIconName const SDLStaticIconNameBatteryCapacity2Of5; + +/* + * Static icon battery capacity 3 of 5 + */ +extern SDLStaticIconName const SDLStaticIconNameBatteryCapacity3Of5; + +/* + * Static icon battery capacity 4 of 5 + */ +extern SDLStaticIconName const SDLStaticIconNameBatteryCapacity4Of5; + +/* + * Static icon battery capacity 5 of 5 + */ +extern SDLStaticIconName const SDLStaticIconNameBatteryCapacity5Of5; + +/* + * Static icon bluetooth audio source + */ +extern SDLStaticIconName const SDLStaticIconNameBluetoothAudioSource; + +/* + * Static icon bluetooth1 + */ +extern SDLStaticIconName const SDLStaticIconNameBluetooth1; + +/* + * Static icon bluetooth2 + */ +extern SDLStaticIconName const SDLStaticIconNameBluetooth2; + +/* + * Static icon browse + */ +extern SDLStaticIconName const SDLStaticIconNameBrowse; + +/* + * Static icon cell phone in roaming mode + */ +extern SDLStaticIconName const SDLStaticIconNameCellPhoneInRoamingMode; + +/* + * Static icon cell service signal strength 0 of 5 bars + */ +extern SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength0Of5Bars; + +/* + * Static icon cell service signal strength 1 of 5 bars + */ +extern SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength1Of5Bars; + +/* + * Static icon cell service signal strength 2 of 5 bars + */ +extern SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength2Of5Bars; + +/* + * Static icon cell service signal strength 3 of 5 bars + */ +extern SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength3Of5Bars; + +/* + * Static icon cell service signal strength 4 of 5 bars + */ +extern SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength4Of5Bars; + +/* + * Static icon cell service signal strength 5 of 5 bars + */ +extern SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength5Of5Bars; + +/* + * Static icon change lane left + */ +extern SDLStaticIconName const SDLStaticIconNameChangeLaneLeft; + +/* + * Static icon change lane right + */ +extern SDLStaticIconName const SDLStaticIconNameChangeLaneRight; + +/* + * Static icon check box checked + */ +extern SDLStaticIconName const SDLStaticIconNameCheckBoxChecked; + +/* + * Static icon check box unchecked + */ +extern SDLStaticIconName const SDLStaticIconNameCheckBoxUnchecked; + +/* + * Static icon climate + */ +extern SDLStaticIconName const SDLStaticIconNameClimate; + +/* + * Static icon clock + */ +extern SDLStaticIconName const SDLStaticIconNameClock; + +/* + * Static icon compose (e.g. message) + */ +extern SDLStaticIconName const SDLStaticIconNameCompose; + +/* + * Static icon contact / person + */ +extern SDLStaticIconName const SDLStaticIconNameContact; + +/* + * Static icon continue + */ +extern SDLStaticIconName const SDLStaticIconNameContinue; + +/* + * Static icon dash / bullet point + */ +extern SDLStaticIconName const SDLStaticIconNameDash; + +/* + * Static icon date / calendar + */ +extern SDLStaticIconName const SDLStaticIconNameDate; + +/* + * Static icon delete/remove - trash + */ +extern SDLStaticIconName const SDLStaticIconNameDelete; + +/* + * Static icon destination + */ +extern SDLStaticIconName const SDLStaticIconNameDestination; + +/* + * Static icon destination ferry ahead + */ +extern SDLStaticIconName const SDLStaticIconNameDestinationFerryAhead; + +/* + * Static icon ebookmark (e.g. message, feed) + */ +extern SDLStaticIconName const SDLStaticIconNameEbookmark; + +/* + * Static icon empty (i.e. no image) + */ +extern SDLStaticIconName const SDLStaticIconNameEmpty; + +/* + * Static icon end call / reject call + */ +extern SDLStaticIconName const SDLStaticIconNameEndCall; + +/* + * Static icon fail / X + */ +extern SDLStaticIconName const SDLStaticIconNameFail; + +/* + * Static icon fast forward 30 secs + */ +extern SDLStaticIconName const SDLStaticIconNameFastForward30Secs; + +/* + * Static icon favorite / heart + */ +extern SDLStaticIconName const SDLStaticIconNameFavoriteHeart; + +/* + * Static icon favorite / star + */ +extern SDLStaticIconName const SDLStaticIconNameFavoriteStar; + +/* + * Static icon fax number + */ +extern SDLStaticIconName const SDLStaticIconNameFaxNumber; + +/* + * Static icon filename + */ +extern SDLStaticIconName const SDLStaticIconNameFilename; + +/* + * Static icon filter / search + */ +extern SDLStaticIconName const SDLStaticIconNameFilter; + +/* + * Static icon folder + */ +extern SDLStaticIconName const SDLStaticIconNameFolder; + +/* + * Static icon fuel prices + */ +extern SDLStaticIconName const SDLStaticIconNameFuelPrices; + +/* + * Static icon full map + */ +extern SDLStaticIconName const SDLStaticIconNameFullMap; + +/* + * Static icon generic phone number + */ +extern SDLStaticIconName const SDLStaticIconNameGenericPhoneNumber; + +/* + * Static icon genre + */ +extern SDLStaticIconName const SDLStaticIconNameGenre; + +/* + * Static icon global keyboard + */ +extern SDLStaticIconName const SDLStaticIconNameGlobalKeyboard; + +/* + * Static icon highway exit information + */ +extern SDLStaticIconName const SDLStaticIconNameHighwayExitInformation; + +/* + * Static icon home phone number + */ +extern SDLStaticIconName const SDLStaticIconNameHomePhoneNumber; + +/* + * Static icon hyperlink + */ +extern SDLStaticIconName const SDLStaticIconNameHyperlink; + +/* + * Static icon ID3 tag unknown + */ +extern SDLStaticIconName const SDLStaticIconNameID3TagUnknown; + +/* + * Static icon incoming calls (in list of phone calls) + */ +extern SDLStaticIconName const SDLStaticIconNameIncomingCalls; + +/* + * Static icon information + */ +extern SDLStaticIconName const SDLStaticIconNameInformation; + +/* + * Static icon IPOD media source + */ +extern SDLStaticIconName const SDLStaticIconNameIPodMediaSource; + +/* + * Static icon join calls + */ +extern SDLStaticIconName const SDLStaticIconNameJoinCalls; + +/* + * Static icon keep left + */ +extern SDLStaticIconName const SDLStaticIconNameKeepLeft; + +/* + * Static icon keep right + */ +extern SDLStaticIconName const SDLStaticIconNameKeepRight; + +/* + * Static icon key / keycode + */ +extern SDLStaticIconName const SDLStaticIconNameKey; + +/* + * Static icon left + */ +extern SDLStaticIconName const SDLStaticIconNameLeft; + +/* + * Static icon left arrow / back + */ +extern SDLStaticIconName const SDLStaticIconNameLeftArrow; + +/* + * Static icon left exit + */ +extern SDLStaticIconName const SDLStaticIconNameLeftExit; + +/* + * Static icon LINE IN audio source + */ +extern SDLStaticIconName const SDLStaticIconNameLineInAudioSource; + +/* + * Static icon locked + */ +extern SDLStaticIconName const SDLStaticIconNameLocked; + +/* + * Static icon media control - left arrow + */ +extern SDLStaticIconName const SDLStaticIconNameMediaControlLeftArrow; + +/* + * Static icon media control - recording + */ +extern SDLStaticIconName const SDLStaticIconNameMediaControlRecording; + +/* + * Static icon media control - right arrow + */ +extern SDLStaticIconName const SDLStaticIconNameMediaControlRightArrow; + +/* + * Static icon media control - stop (e.g. streaming) + */ +extern SDLStaticIconName const SDLStaticIconNameMediaControlStop; + +/* + * Static icon microphone + */ +extern SDLStaticIconName const SDLStaticIconNameMicrophone; + +/* + * Static icon missed calls (in list of phone calls) + */ +extern SDLStaticIconName const SDLStaticIconNameMissedCalls; + +/* + * Static icon mobile phone number + */ +extern SDLStaticIconName const SDLStaticIconNameMobilePhoneNumber; + +/* + * Static icon move down / download + */ +extern SDLStaticIconName const SDLStaticIconNameMoveDown; + +/* + * Static icon move up + */ +extern SDLStaticIconName const SDLStaticIconNameMoveUp; + +/* + * Static icon MP3 tag artist + */ +extern SDLStaticIconName const SDLStaticIconNameMP3TagArtist; + +/* + * Static icon navigation / navigation settings + */ +extern SDLStaticIconName const SDLStaticIconNameNavigation; + +/* + * Static icon navigation current direction + */ +extern SDLStaticIconName const SDLStaticIconNameNavigationCurrentDirection; + +/* + * Static icon negative rating - thumbs down + */ +extern SDLStaticIconName const SDLStaticIconNameNegativeRatingThumbsDown; + +/* + * Static icon new/unread text message/email + */ +extern SDLStaticIconName const SDLStaticIconNameNew; + +/* + * Static icon office phone number / work phone number + */ +extern SDLStaticIconName const SDLStaticIconNameOfficePhoneNumber; + +/* + * Static icon opened/read text message/email + */ +extern SDLStaticIconName const SDLStaticIconNameOpened; + +/* + * Static icon origin / nearby locale / current position + */ +extern SDLStaticIconName const SDLStaticIconNameOrigin; + +/* + * Static icon outgoing calls (in list of phone calls) + */ +extern SDLStaticIconName const SDLStaticIconNameOutgoingCalls; + +/* + * Static icon play / pause - pause active + */ +extern SDLStaticIconName const SDLStaticIconNamePause; + +/* + * Static icon phone call 1 + */ +extern SDLStaticIconName const SDLStaticIconNamePhoneCall1; + +/* + * Static icon phone call 2 + */ +extern SDLStaticIconName const SDLStaticIconNamePhoneCall2; + +/* + * Static icon phone device + */ +extern SDLStaticIconName const SDLStaticIconNamePhoneDevice; + +/* + * Static icon phonebook + */ +extern SDLStaticIconName const SDLStaticIconNamePhonebook; + +/* + * Static icon photo / picture + */ +extern SDLStaticIconName const SDLStaticIconNamePhoto; + +/* + * Static icon play / pause - play active + */ +extern SDLStaticIconName const SDLStaticIconNamePlay; + +/* + * Static icon playlist + */ +extern SDLStaticIconName const SDLStaticIconNamePlaylist; + +/* + * Static icon pop-up + */ +extern SDLStaticIconName const SDLStaticIconNamePopUp; + +/* + * Static icon positive rating - thumbs up + */ +extern SDLStaticIconName const SDLStaticIconNamePositiveRatingThumbsUp; + +/* + * Static icon power + */ +extern SDLStaticIconName const SDLStaticIconNamePower; + +/* + * Static icon primary phone (favorite) + */ +extern SDLStaticIconName const SDLStaticIconNamePrimaryPhone; + +/* + * Static icon radio button checked + */ +extern SDLStaticIconName const SDLStaticIconNameRadioButtonChecked; + +/* + * Static icon radio button unchecked + */ +extern SDLStaticIconName const SDLStaticIconNameRadioButtonUnchecked; + +/* + * Static icon recent calls / history + */ +extern SDLStaticIconName const SDLStaticIconNameRecentCalls; + +/* + * Static icon recent destinations + */ +extern SDLStaticIconName const SDLStaticIconNameRecentDestinations; + +/* + * Static icon redo + */ +extern SDLStaticIconName const SDLStaticIconNameRedo; + +/* + * Static icon refresh + */ +extern SDLStaticIconName const SDLStaticIconNameRefresh; + +/* + * Static icon remote diagnostics - check engine + */ +extern SDLStaticIconName const SDLStaticIconNameRemoteDiagnosticsCheckEngine; + +/* + * Static icon rendered 911 assist / emergency assistance + */ +extern SDLStaticIconName const SDLStaticIconNameRendered911Assist; + +/* + * Static icon repeat + */ +extern SDLStaticIconName const SDLStaticIconNameRepeat; + +/* + * Static icon repeat play + */ +extern SDLStaticIconName const SDLStaticIconNameRepeatPlay; + +/* + * Static icon reply + */ +extern SDLStaticIconName const SDLStaticIconNameReply; + +/* + * Static icon rewind 30 secs + */ +extern SDLStaticIconName const SDLStaticIconNameRewind30Secs; + +/* + * Static icon right + */ +extern SDLStaticIconName const SDLStaticIconNameRight; + +/* + * Static icon right exit + */ +extern SDLStaticIconName const SDLStaticIconNameRightExit; + +/* + * Static icon ringtones + */ +extern SDLStaticIconName const SDLStaticIconNameRingtones; + +/* + * Static icon roundabout left hand 1 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand1; + +/* + * Static icon roundabout left hand 2 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand2; + +/* + * Static icon roundabout left hand 3 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand3; + +/* + * Static icon roundabout left hand 4 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand4; + +/* + * Static icon roundabout left hand 5 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand5; + +/* + * Static icon roundabout left hand 6 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand6; + +/* + * Static icon roundabout left hand 7 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand7; + +/* + * Static icon roundabout right hand 1 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand1; + +/* + * Static icon roundabout right hand 2 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand2; + +/* + * Static icon roundabout right hand 3 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand3; + +/* + * Static icon roundabout right hand 4 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand4; + +/* + * Static icon roundabout right hand 5 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand5; + +/* + * Static icon roundabout right hand 6 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand6; + +/* + * Static icon roundabout right hand 7 + */ +extern SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand7; + +/* + * Static icon RSS + */ +extern SDLStaticIconName const SDLStaticIconNameRSS; + +/* + * Static icon settings / menu + */ +extern SDLStaticIconName const SDLStaticIconNameSettings; + +/* + * Static icon sharp left + */ +extern SDLStaticIconName const SDLStaticIconNameSharpLeft; + +/* + * Static icon sharp right + */ +extern SDLStaticIconName const SDLStaticIconNameSharpRight; + +/* + * Static icon show + */ +extern SDLStaticIconName const SDLStaticIconNameShow; + +/* + * Static icon shuffle play + */ +extern SDLStaticIconName const SDLStaticIconNameShufflePlay; + +/* + * Static icon ski places / elevation / altitude + */ +extern SDLStaticIconName const SDLStaticIconNameSkiPlaces; + +/* + * Static icon slight left + */ +extern SDLStaticIconName const SDLStaticIconNameSlightLeft; + +/* + * Static icon slight right + */ +extern SDLStaticIconName const SDLStaticIconNameSlightRight; + +/* + * Static icon smartphone + */ +extern SDLStaticIconName const SDLStaticIconNameSmartphone; + +/* + * Static icon sort list + */ +extern SDLStaticIconName const SDLStaticIconNameSortList; + +/* + * Static icon speed dial numbers - number 0 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber0; + +/* + * Static icon speed dial numbers - number 1 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber1; + +/* + * Static icon speed dial numbers - number 2 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber2; + +/* + * Static icon speed dial numbers - number 3 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber3; + +/* + * Static icon speed dial numbers - number 4 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber4; + +/* + * Static icon speed dial numbers - number 5 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber5; + +/* + * Static icon speed dial numbers - number 6 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber6; + +/* + * Static icon speed dial numbers - number 7 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber7; + +/* + * Static icon speed dial numbers - number 8 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber8; + +/* + * Static icon speed dial numbers - number 9 + */ +extern SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber9; + +/* + * Static icon success / check + */ +extern SDLStaticIconName const SDLStaticIconNameSuccess; + +/* + * Static icon track title / song title + */ +extern SDLStaticIconName const SDLStaticIconNameTrackTitle; + +/* + * Static icon traffic report + */ +extern SDLStaticIconName const SDLStaticIconNameTrafficReport; + +/* + * Static icon turn list + */ +extern SDLStaticIconName const SDLStaticIconNameTurnList; + +/* + * Static icon u-turn left traffic + */ +extern SDLStaticIconName const SDLStaticIconNameUTurnLeftTraffic; + +/* + * Static icon u-turn right traffic + */ +extern SDLStaticIconName const SDLStaticIconNameUTurnRightTraffic; + +/* + * Static icon undo + */ +extern SDLStaticIconName const SDLStaticIconNameUndo; + +/* + * Static icon unlocked + */ +extern SDLStaticIconName const SDLStaticIconNameUnlocked; + +/* + * Static icon USB media audio source + */ +extern SDLStaticIconName const SDLStaticIconNameUSBMediaAudioSource; + +/* + * Static icon voice control scrollbar - list item no. 1 + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceControlScrollbarListItemNo1; + +/* + * Static icon voice control scrollbar - list item no. 2 + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceControlScrollbarListItemNo2; + +/* + * Static icon voice control scrollbar - list item no. 3 + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceControlScrollbarListItemNo3; + +/* + * Static icon voice control scrollbar - list item no. 4 + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceControlScrollbarListItemNo4; + +/* + * Static icon voice recognition - failed + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceRecognitionFailed; + +/* + * Static icon voice recognition - pause + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceRecognitionPause; + +/* + * Static icon voice recognition - successful + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceRecognitionSuccessful; + +/* + * Static icon voice recognition - system active + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceRecognitionSystemActive; + +/* + * Static icon voice recognition - system listening + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceRecognitionSystemListening; + +/* + * Static icon voice recognition - try again + */ +extern SDLStaticIconName const SDLStaticIconNameVoiceRecognitionTryAgain; + +/* + * Static icon warning / safety alert + */ +extern SDLStaticIconName const SDLStaticIconNameWarning; + +/* + * Static icon weather + */ +extern SDLStaticIconName const SDLStaticIconNameWeather; + +/* + * Static icon wifi full + */ +extern SDLStaticIconName const SDLStaticIconNameWifiFull; + +/* + * Static icon zoom in + */ +extern SDLStaticIconName const SDLStaticIconNameZoomIn; + +/* + * Static icon zoom out + */ +extern SDLStaticIconName const SDLStaticIconNameZoomOut; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStaticIconName.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStaticIconName.m new file mode 100644 index 0000000..c39ef14 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStaticIconName.m @@ -0,0 +1,188 @@ +// +// SDLStaticIconName.m +// SmartDeviceLink +// +// Created by Nicole on 7/23/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLStaticIconName.h" + +SDLStaticIconName const SDLStaticIconNameAcceptCall = @"0x29"; +SDLStaticIconName const SDLStaticIconNameAddWaypoint = @"0x1B"; +SDLStaticIconName const SDLStaticIconNameAlbum = @"0x21"; +SDLStaticIconName const SDLStaticIconNameAmbientLighting = @"0x3d"; +SDLStaticIconName const SDLStaticIconNameArrowNorth = @"0x40"; +SDLStaticIconName const SDLStaticIconNameAudioMute = @"0x12"; +SDLStaticIconName const SDLStaticIconNameAudiobookEpisode = @"0x83"; +SDLStaticIconName const SDLStaticIconNameAudiobookNarrator = @"0x82"; +SDLStaticIconName const SDLStaticIconNameAuxillaryAudio = @"0x45"; +SDLStaticIconName const SDLStaticIconNameBack = @"0x86"; +SDLStaticIconName const SDLStaticIconNameBatteryCapacity0Of5 = @"0xF7"; +SDLStaticIconName const SDLStaticIconNameBatteryCapacity1Of5 = @"0xF8"; +SDLStaticIconName const SDLStaticIconNameBatteryCapacity2Of5 = @"0xF9"; +SDLStaticIconName const SDLStaticIconNameBatteryCapacity3Of5 = @"0xFA"; +SDLStaticIconName const SDLStaticIconNameBatteryCapacity4Of5 = @"0xf6"; +SDLStaticIconName const SDLStaticIconNameBatteryCapacity5Of5 = @"0xFB"; +SDLStaticIconName const SDLStaticIconNameBluetoothAudioSource = @"0x09"; +SDLStaticIconName const SDLStaticIconNameBluetooth1 = @"0xcc"; +SDLStaticIconName const SDLStaticIconNameBluetooth2 = @"0xCD"; +SDLStaticIconName const SDLStaticIconNameBrowse = @"0x77"; +SDLStaticIconName const SDLStaticIconNameCellPhoneInRoamingMode = @"0x66"; +SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength0Of5Bars = @"0x67"; +SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength1Of5Bars = @"0x68"; +SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength2Of5Bars = @"0x69"; +SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength3Of5Bars = @"0x6A"; +SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength4Of5Bars = @"0x6B"; +SDLStaticIconName const SDLStaticIconNameCellServiceSignalStrength5Of5Bars = @"0xd3"; +SDLStaticIconName const SDLStaticIconNameChangeLaneLeft = @"0xc3"; +SDLStaticIconName const SDLStaticIconNameChangeLaneRight = @"0xc1"; +SDLStaticIconName const SDLStaticIconNameCheckBoxChecked = @"0x27"; +SDLStaticIconName const SDLStaticIconNameCheckBoxUnchecked = @"0x28"; +SDLStaticIconName const SDLStaticIconNameClimate = @"0xd1"; +SDLStaticIconName const SDLStaticIconNameClock = @"0xfc"; +SDLStaticIconName const SDLStaticIconNameCompose = @"0x1A"; +SDLStaticIconName const SDLStaticIconNameContact = @"0x5C"; +SDLStaticIconName const SDLStaticIconNameContinue = @"0x42"; +SDLStaticIconName const SDLStaticIconNameDash = @"0x7F"; +SDLStaticIconName const SDLStaticIconNameDate = @"0x87"; +SDLStaticIconName const SDLStaticIconNameDelete = @"0x0F"; +SDLStaticIconName const SDLStaticIconNameDestination = @"0x94"; +SDLStaticIconName const SDLStaticIconNameDestinationFerryAhead = @"0x4D"; +SDLStaticIconName const SDLStaticIconNameEbookmark = @"0x2B"; +SDLStaticIconName const SDLStaticIconNameEmpty = @"0x01"; +SDLStaticIconName const SDLStaticIconNameEndCall = @"0x2C"; +SDLStaticIconName const SDLStaticIconNameFail = @"0xD6"; +SDLStaticIconName const SDLStaticIconNameFastForward30Secs = @"0x08"; +SDLStaticIconName const SDLStaticIconNameFavoriteHeart = @"0x0E"; +SDLStaticIconName const SDLStaticIconNameFavoriteStar = @"0x95"; +SDLStaticIconName const SDLStaticIconNameFaxNumber = @"0x80"; +SDLStaticIconName const SDLStaticIconNameFilename = @"0x50"; +SDLStaticIconName const SDLStaticIconNameFilter = @"0x79"; +SDLStaticIconName const SDLStaticIconNameFolder = @"0x1C"; +SDLStaticIconName const SDLStaticIconNameFuelPrices = @"0xe9"; +SDLStaticIconName const SDLStaticIconNameFullMap = @"0x0c"; +SDLStaticIconName const SDLStaticIconNameGenericPhoneNumber = @"0x53"; +SDLStaticIconName const SDLStaticIconNameGenre = @"0x4E"; +SDLStaticIconName const SDLStaticIconNameGlobalKeyboard = @"0xea"; +SDLStaticIconName const SDLStaticIconNameHighwayExitInformation = @"0xf4"; +SDLStaticIconName const SDLStaticIconNameHomePhoneNumber = @"0x55"; +SDLStaticIconName const SDLStaticIconNameHyperlink = @"0x78"; +SDLStaticIconName const SDLStaticIconNameID3TagUnknown = @"0x51"; +SDLStaticIconName const SDLStaticIconNameIncomingCalls = @"0x57"; +SDLStaticIconName const SDLStaticIconNameInformation = @"0x5d"; +SDLStaticIconName const SDLStaticIconNameIPodMediaSource = @"0x0D"; +SDLStaticIconName const SDLStaticIconNameJoinCalls = @"0x02"; +SDLStaticIconName const SDLStaticIconNameKeepLeft = @"0x46"; +SDLStaticIconName const SDLStaticIconNameKeepRight = @"0x48"; +SDLStaticIconName const SDLStaticIconNameKey = @"0x7D"; +SDLStaticIconName const SDLStaticIconNameLeft = @"0x9f"; +SDLStaticIconName const SDLStaticIconNameLeftArrow = @"0x4B"; +SDLStaticIconName const SDLStaticIconNameLeftExit = @"0xaf"; +SDLStaticIconName const SDLStaticIconNameLineInAudioSource = @"0x06"; +SDLStaticIconName const SDLStaticIconNameLocked = @"0x22"; +SDLStaticIconName const SDLStaticIconNameMediaControlLeftArrow = @"0x17"; +SDLStaticIconName const SDLStaticIconNameMediaControlRecording = @"0x20"; +SDLStaticIconName const SDLStaticIconNameMediaControlRightArrow = @"0x15"; +SDLStaticIconName const SDLStaticIconNameMediaControlStop = @"0x16"; +SDLStaticIconName const SDLStaticIconNameMicrophone = @"0xe8"; +SDLStaticIconName const SDLStaticIconNameMissedCalls = @"0x58"; +SDLStaticIconName const SDLStaticIconNameMobilePhoneNumber = @"0x54"; +SDLStaticIconName const SDLStaticIconNameMoveDown = @"0xE5"; +SDLStaticIconName const SDLStaticIconNameMoveUp = @"0xe4"; +SDLStaticIconName const SDLStaticIconNameMP3TagArtist = @"0x24"; +SDLStaticIconName const SDLStaticIconNameNavigation = @"0x8e"; +SDLStaticIconName const SDLStaticIconNameNavigationCurrentDirection = @"0x0a"; +SDLStaticIconName const SDLStaticIconNameNegativeRatingThumbsDown = @"0x14"; +SDLStaticIconName const SDLStaticIconNameNew = @"0x5E"; +SDLStaticIconName const SDLStaticIconNameOfficePhoneNumber = @"0x56"; +SDLStaticIconName const SDLStaticIconNameOpened = @"0x5F"; +SDLStaticIconName const SDLStaticIconNameOrigin = @"0x96"; +SDLStaticIconName const SDLStaticIconNameOutgoingCalls = @"0x59"; +SDLStaticIconName const SDLStaticIconNamePause = @"0xCF"; +SDLStaticIconName const SDLStaticIconNamePhoneCall1 = @"0x1D"; +SDLStaticIconName const SDLStaticIconNamePhoneCall2 = @"0x1E"; +SDLStaticIconName const SDLStaticIconNamePhoneDevice = @"0x03"; +SDLStaticIconName const SDLStaticIconNamePhonebook = @"0x81"; +SDLStaticIconName const SDLStaticIconNamePhoto = @"0x88"; +SDLStaticIconName const SDLStaticIconNamePlay = @"0xD0"; +SDLStaticIconName const SDLStaticIconNamePlaylist = @"0x4F"; +SDLStaticIconName const SDLStaticIconNamePopUp = @"0x76"; +SDLStaticIconName const SDLStaticIconNamePositiveRatingThumbsUp = @"0x13"; +SDLStaticIconName const SDLStaticIconNamePower = @"0x5b"; +SDLStaticIconName const SDLStaticIconNamePrimaryPhone = @"0x1F"; +SDLStaticIconName const SDLStaticIconNameRadioButtonChecked = @"0x25"; +SDLStaticIconName const SDLStaticIconNameRadioButtonUnchecked = @"0x26"; +SDLStaticIconName const SDLStaticIconNameRecentCalls = @"0xe7"; +SDLStaticIconName const SDLStaticIconNameRecentDestinations = @"0xf2"; +SDLStaticIconName const SDLStaticIconNameRedo = @"0x19"; +SDLStaticIconName const SDLStaticIconNameRefresh = @"0x97"; +SDLStaticIconName const SDLStaticIconNameRemoteDiagnosticsCheckEngine = @"0x7E"; +SDLStaticIconName const SDLStaticIconNameRendered911Assist = @"0xac"; +SDLStaticIconName const SDLStaticIconNameRepeat = @"0xe6"; +SDLStaticIconName const SDLStaticIconNameRepeatPlay = @"0x73"; +SDLStaticIconName const SDLStaticIconNameReply = @"0x04"; +SDLStaticIconName const SDLStaticIconNameRewind30Secs = @"0x07"; +SDLStaticIconName const SDLStaticIconNameRight = @"0xa3"; +SDLStaticIconName const SDLStaticIconNameRightExit = @"0xb1"; +SDLStaticIconName const SDLStaticIconNameRingtones = @"0x5A"; +SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand1 = @"0xee"; +SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand2 = @"0x8c"; +SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand3 = @"0x84"; +SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand4 = @"0x72"; +SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand5 = @"0x6e"; +SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand6 = @"0x64"; +SDLStaticIconName const SDLStaticIconNameRoundaboutLeftHand7 = @"0x60"; +SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand1 = @"0x62"; +SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand2 = @"0x6c"; +SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand3 = @"0x70"; +SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand4 = @"0x7a"; +SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand5 = @"0x8a"; +SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand6 = @"0xec"; +SDLStaticIconName const SDLStaticIconNameRoundaboutRightHand7 = @"0xf0"; +SDLStaticIconName const SDLStaticIconNameRSS = @"0x89"; +SDLStaticIconName const SDLStaticIconNameSettings = @"0x49"; +SDLStaticIconName const SDLStaticIconNameSharpLeft = @"0xa5"; +SDLStaticIconName const SDLStaticIconNameSharpRight = @"0xa7"; +SDLStaticIconName const SDLStaticIconNameShow = @"0xe1"; +SDLStaticIconName const SDLStaticIconNameShufflePlay = @"0x74"; +SDLStaticIconName const SDLStaticIconNameSkiPlaces = @"0xab"; +SDLStaticIconName const SDLStaticIconNameSlightLeft = @"0x9d"; +SDLStaticIconName const SDLStaticIconNameSlightRight = @"0xa1"; +SDLStaticIconName const SDLStaticIconNameSmartphone = @"0x05"; +SDLStaticIconName const SDLStaticIconNameSortList = @"0x7B"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber0 = @"0xE0"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber1 = @"0xD7"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber2 = @"0xD8"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber3 = @"0xD9"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber4 = @"0xDA"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber5 = @"0xDB"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber6 = @"0xDC"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber7 = @"0xDD"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber8 = @"0xDE"; +SDLStaticIconName const SDLStaticIconNameSpeedDialNumbersNumber9 = @"0xDF"; +SDLStaticIconName const SDLStaticIconNameSuccess = @"0xD5"; +SDLStaticIconName const SDLStaticIconNameTrackTitle = @"0x4C"; +SDLStaticIconName const SDLStaticIconNameTrafficReport = @"0x2A"; +SDLStaticIconName const SDLStaticIconNameTurnList = @"0x10"; +SDLStaticIconName const SDLStaticIconNameUTurnLeftTraffic = @"0xad"; +SDLStaticIconName const SDLStaticIconNameUTurnRightTraffic = @"0xa9"; +SDLStaticIconName const SDLStaticIconNameUndo = @"0x18"; +SDLStaticIconName const SDLStaticIconNameUnlocked = @"0x23"; +SDLStaticIconName const SDLStaticIconNameUSBMediaAudioSource = @"0x0B"; +SDLStaticIconName const SDLStaticIconNameVoiceControlScrollbarListItemNo1 = @"0xC7"; +SDLStaticIconName const SDLStaticIconNameVoiceControlScrollbarListItemNo2 = @"0xC8"; +SDLStaticIconName const SDLStaticIconNameVoiceControlScrollbarListItemNo3 = @"0xC9"; +SDLStaticIconName const SDLStaticIconNameVoiceControlScrollbarListItemNo4 = @"0xCA"; +SDLStaticIconName const SDLStaticIconNameVoiceRecognitionFailed = @"0x90"; +SDLStaticIconName const SDLStaticIconNameVoiceRecognitionPause = @"0x92"; +SDLStaticIconName const SDLStaticIconNameVoiceRecognitionSuccessful = @"0x8F"; +SDLStaticIconName const SDLStaticIconNameVoiceRecognitionSystemActive = @"0x11"; +SDLStaticIconName const SDLStaticIconNameVoiceRecognitionSystemListening = @"0x91"; +SDLStaticIconName const SDLStaticIconNameVoiceRecognitionTryAgain = @"0x93"; +SDLStaticIconName const SDLStaticIconNameWarning = @"0xfe"; +SDLStaticIconName const SDLStaticIconNameWeather = @"0xeb"; +SDLStaticIconName const SDLStaticIconNameWifiFull = @"0x43"; +SDLStaticIconName const SDLStaticIconNameZoomIn = @"0x98"; +SDLStaticIconName const SDLStaticIconNameZoomOut = @"0x9a"; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStationIDNumber.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStationIDNumber.h new file mode 100644 index 0000000..ffd2493 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStationIDNumber.h @@ -0,0 +1,35 @@ +//SDLStationIDNumber.h +// + +#import "SDLRPCMessage.h" + +/** + * Describes the hour, minute and second values used to set the media clock. + * + * @since SDL 1.0 + */ + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLStationIDNumber : SDLRPCStruct + +- (instancetype)initWithCountryCode:(nullable NSNumber *)countryCode fccFacilityId:(nullable NSNumber *)id; + +/** + * @abstract Binary Representation of ITU Country Code. USA Code is 001. + * + * Optional, Integer, 0 - 999 + */ +@property (nullable, strong, nonatomic) NSNumber *countryCode; + +/** + * @abstract Binary representation of unique facility ID assigned by the FCC + * FCC controlled for U.S. territory + * + * Optional, Integer, 0 - 999 + */ +@property (nullable, strong, nonatomic) NSNumber *fccFacilityId; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStationIDNumber.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStationIDNumber.m new file mode 100644 index 0000000..db1e6f0 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStationIDNumber.m @@ -0,0 +1,43 @@ +// SDLStationIDNumber.m +// + +#import "SDLStationIDNumber.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLStationIDNumber + +- (instancetype)initWithCountryCode:(nullable NSNumber *)countryCode fccFacilityId:(nullable NSNumber *)id { + self = [self init]; + if(!self) { + return nil; + } + + self.countryCode = countryCode; + self.fccFacilityId = id; + + return self; +} + +- (void)setCountryCode:(nullable NSNumber *)countryCode { + [store sdl_setObject:countryCode forName:SDLNameCountryCode]; +} + +- (nullable NSNumber *)countryCode { + return [store sdl_objectForName:SDLNameCountryCode]; +} + + +- (void)setFccFacilityId:(nullable NSNumber *)fccFacilityId { + [store sdl_setObject:fccFacilityId forName:SDLNameFCCFacilityId]; +} + +- (nullable NSNumber *)fccFacilityId { + return [store sdl_objectForName:SDLNameFCCFacilityId]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioLifecycleManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioLifecycleManager.h new file mode 100644 index 0000000..3b9fdfa --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioLifecycleManager.h @@ -0,0 +1,94 @@ +// +// SDLStreamingAudioLifecycleManager.h +// SmartDeviceLink +// +// Created by Joel Fischer on 6/19/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLHMILevel.h" +#import "SDLProtocolListener.h" +#import "SDLStreamingAudioManagerType.h" +#import "SDLStreamingMediaManagerConstants.h" + +@class SDLAudioStreamManager; +@class SDLProtocol; +@class SDLStateMachine; +@class SDLStreamingMediaConfiguration; + +@protocol SDLConnectionManagerType; + + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLStreamingAudioLifecycleManager : NSObject + +@property (nonatomic, strong, readonly) SDLAudioStreamManager *audioManager; + +@property (strong, nonatomic, readonly) SDLStateMachine *audioStreamStateMachine; +@property (strong, nonatomic, readonly) SDLAudioStreamManagerState *currentAudioStreamState; + +@property (strong, nonatomic, readonly) SDLStateMachine *appStateMachine; +@property (strong, nonatomic, readonly) SDLAppState *currentAppState; + +@property (copy, nonatomic, nullable) SDLHMILevel hmiLevel; + +/** + * Whether or not the audio session is connected. + */ +@property (assign, nonatomic, readonly, getter=isAudioConnected) BOOL audioConnected; + +/** + * Whether or not the audio session is encrypted. This may be different than the requestedEncryptionType. + */ +@property (assign, nonatomic, readonly, getter=isAudioEncrypted) BOOL audioEncrypted; + +/** + * Whether or not video streaming is supported + * + * @see SDLRegisterAppInterface SDLDisplayCapabilities + */ +@property (assign, nonatomic, readonly, getter=isStreamingSupported) BOOL streamingSupported; + +/** + * The requested encryption type when a session attempts to connect. This setting applies to both video and audio sessions. + * + * DEFAULT: SDLStreamingEncryptionFlagAuthenticateAndEncrypt + */ +@property (assign, nonatomic) SDLStreamingEncryptionFlag requestedEncryptionType; + +- (instancetype)init NS_UNAVAILABLE; + +/** + Create a new streaming media manager for navigation and VPM apps with a specified configuration + + @param connectionManager The pass-through for RPCs + @param configuration The configuration of this streaming media session + @return A new streaming manager + */ +- (instancetype)initWithConnectionManager:(id)connectionManager configuration:(SDLStreamingMediaConfiguration *)configuration NS_DESIGNATED_INITIALIZER; + +/** + * Start the manager with a completion block that will be called when startup completes. This is used internally. To use an SDLStreamingMediaManager, you should use the manager found on `SDLManager`. + */ +- (void)startWithProtocol:(SDLProtocol *)protocol; + +/** + * Stop the manager. This method is used internally. + */ +- (void)stop; + +/** + * This method receives PCM audio data and will attempt to send that data across to the head unit for immediate playback + * + * @param audioData The data in PCM audio format, to be played + * + * @return Whether or not the data was successfully sent. + */ +- (BOOL)sendAudioData:(NSData *)audioData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioLifecycleManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioLifecycleManager.m new file mode 100644 index 0000000..2159622 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioLifecycleManager.m @@ -0,0 +1,356 @@ +// +// SDLStreamingAudioLifecycleManager.m +// SmartDeviceLink +// +// Created by Joel Fischer on 6/19/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLStreamingAudioLifecycleManager.h" + +#import "SDLAudioStreamManager.h" +#import "SDLConnectionManagerType.h" +#import "SDLControlFramePayloadAudioStartServiceAck.h" +#import "SDLControlFramePayloadConstants.h" +#import "SDLControlFramePayloadNak.h" +#import "SDLDisplayCapabilities.h" +#import "SDLGlobals.h" +#import "SDLHMICapabilities.h" +#import "SDLLogMacros.h" +#import "SDLOnHMIStatus.h" +#import "SDLProtocol.h" +#import "SDLProtocolMessage.h" +#import "SDLRegisterAppInterfaceResponse.h" +#import "SDLRPCNotificationNotification.h" +#import "SDLRPCResponseNotification.h" +#import "SDLStateMachine.h" +#import "SDLStreamingMediaConfiguration.h" +#import "SDLVehicleType.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLStreamingAudioLifecycleManager() + +@property (strong, nonatomic, readwrite) SDLStateMachine *appStateMachine; +@property (strong, nonatomic, readwrite) SDLStateMachine *audioStreamStateMachine; +@property (assign, nonatomic, readonly, getter=isHmiStateAudioStreamCapable) BOOL hmiStateAudioStreamCapable; + +@property (weak, nonatomic) id connectionManager; +@property (weak, nonatomic) SDLProtocol *protocol; + +@property (copy, nonatomic) NSArray *secureMakes; +@property (copy, nonatomic) NSString *connectedVehicleMake; + +@end + +@implementation SDLStreamingAudioLifecycleManager + +- (instancetype)initWithConnectionManager:(id)connectionManager configuration:(SDLStreamingMediaConfiguration *)configuration { + self = [super init]; + if (!self) { + return nil; + } + + SDLLogV(@"Creating AudioStreamingLifecycleManager"); + + _connectionManager = connectionManager; + + _audioManager = [[SDLAudioStreamManager alloc] initWithManager:self]; + + _requestedEncryptionType = configuration.maximumDesiredEncryption; + + NSMutableArray *tempMakeArray = [NSMutableArray array]; + for (Class securityManagerClass in configuration.securityManagers) { + [tempMakeArray addObjectsFromArray:[securityManagerClass availableMakes].allObjects]; + } + _secureMakes = [tempMakeArray copy]; + + SDLAppState *initialState = SDLAppStateInactive; + switch ([[UIApplication sharedApplication] applicationState]) { + case UIApplicationStateActive: { + initialState = SDLAppStateActive; + } break; + case UIApplicationStateInactive: // fallthrough + case UIApplicationStateBackground: { + initialState = SDLAppStateInactive; + } break; + default: break; + } + + _appStateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:initialState states:[self.class sdl_appStateTransitionDictionary]]; + _audioStreamStateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:SDLAudioStreamManagerStateStopped states:[self.class sdl_audioStreamingStateTransitionDictionary]]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_didReceiveRegisterAppInterfaceResponse:) name:SDLDidReceiveRegisterAppInterfaceResponse object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_hmiLevelDidChange:) name:SDLDidChangeHMIStatusNotification object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_appStateDidUpdate:) name:UIApplicationDidBecomeActiveNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_appStateDidUpdate:) name:UIApplicationWillResignActiveNotification object:nil]; + + return self; +} + +- (void)startWithProtocol:(SDLProtocol *)protocol { + _protocol = protocol; + + @synchronized(self.protocol.protocolDelegateTable) { + if (![self.protocol.protocolDelegateTable containsObject:self]) { + [self.protocol.protocolDelegateTable addObject:self]; + } + } + + // attempt to start streaming since we may already have necessary conditions met + [self sdl_startAudioSession]; +} + +- (void)stop { + SDLLogD(@"Stopping manager"); + [self sdl_stopAudioSession]; + + self.hmiLevel = SDLHMILevelNone; + + [self.audioStreamStateMachine transitionToState:SDLAudioStreamManagerStateStopped]; +} + +- (BOOL)sendAudioData:(NSData*)audioData { + if (!self.isAudioConnected) { + return NO; + } + + SDLLogV(@"Sending raw audio data"); + if (self.isAudioEncrypted) { + [self.protocol sendEncryptedRawData:audioData onService:SDLServiceTypeAudio]; + } else { + [self.protocol sendRawData:audioData withServiceType:SDLServiceTypeAudio]; + } + return YES; +} + +#pragma mark Getters + +- (BOOL)isAudioConnected { + return [self.audioStreamStateMachine isCurrentState:SDLAudioStreamManagerStateReady]; +} + +- (SDLAppState *)currentAppState { + return self.appStateMachine.currentState; +} + +- (SDLAudioStreamManagerState *)currentAudioStreamState { + return self.audioStreamStateMachine.currentState; +} + +#pragma mark - State Machines +#pragma mark App State ++ (NSDictionary *)sdl_appStateTransitionDictionary { + return @{ + // Will go from Inactive to Active if coming from a Phone Call. + // Will go from Inactive to IsRegainingActive if coming from Background. + SDLAppStateInactive : @[SDLAppStateActive], + SDLAppStateActive : @[SDLAppStateInactive] + }; +} + +- (void)sdl_appStateDidUpdate:(NSNotification*)notification { + if (notification.name == UIApplicationWillResignActiveNotification) { + [self.appStateMachine transitionToState:SDLAppStateInactive]; + } else if (notification.name == UIApplicationDidBecomeActiveNotification) { + [self.appStateMachine transitionToState:SDLAppStateActive]; + } +} + +- (void)didEnterStateAppInactive { + SDLLogD(@"App became inactive"); + [self sdl_stopAudioSession]; +} + +// Per Apple's guidelines: https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html +// We should be waiting to start any OpenGL drawing until UIApplicationDidBecomeActive is called. +- (void)didEnterStateAppActive { + SDLLogD(@"App became active"); + [self sdl_startAudioSession]; +} + +#pragma mark Audio ++ (NSDictionary *)sdl_audioStreamingStateTransitionDictionary { + return @{ + SDLAudioStreamManagerStateStopped : @[SDLAudioStreamManagerStateStarting], + SDLAudioStreamManagerStateStarting : @[SDLAudioStreamManagerStateStopped, SDLAudioStreamManagerStateReady], + SDLAudioStreamManagerStateReady : @[SDLAudioStreamManagerStateShuttingDown, SDLAudioStreamManagerStateStopped], + SDLAudioStreamManagerStateShuttingDown : @[SDLAudioStreamManagerStateStopped] + }; +} + +- (void)didEnterStateAudioStreamStopped { + SDLLogD(@"Audio stream stopped"); + _audioEncrypted = NO; + + [[NSNotificationCenter defaultCenter] postNotificationName:SDLAudioStreamDidStopNotification object:nil]; +} + +- (void)didEnterStateAudioStreamStarting { + SDLLogD(@"Audio stream starting"); + if ((self.requestedEncryptionType != SDLStreamingEncryptionFlagNone) && ([self.secureMakes containsObject:self.connectedVehicleMake])) { + [self.protocol startSecureServiceWithType:SDLServiceTypeAudio payload:nil completionHandler:^(BOOL success, NSError * _Nonnull error) { + if (error) { + SDLLogE(@"TLS setup error: %@", error); + [self.audioStreamStateMachine transitionToState:SDLAudioStreamManagerStateStopped]; + } + }]; + } else { + [self.protocol startServiceWithType:SDLServiceTypeAudio payload:nil]; + } +} + +- (void)didEnterStateAudioStreamReady { + SDLLogD(@"Audio stream ready"); + [[NSNotificationCenter defaultCenter] postNotificationName:SDLAudioStreamDidStartNotification object:nil]; +} + +- (void)didEnterStateAudioStreamShuttingDown { + SDLLogD(@"Audio stream shutting down"); + [self.protocol endServiceWithType:SDLServiceTypeAudio]; +} + +#pragma mark - SDLProtocolListener +#pragma mark Video / Audio Start Service ACK + +- (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceACK { + switch (startServiceACK.header.serviceType) { + case SDLServiceTypeAudio: { + [self sdl_handleAudioStartServiceAck:startServiceACK]; + } break; + default: break; + } +} + +- (void)sdl_handleAudioStartServiceAck:(SDLProtocolMessage *)audioStartServiceAck { + SDLLogD(@"Audio service started"); + _audioEncrypted = audioStartServiceAck.header.encrypted; + + SDLControlFramePayloadAudioStartServiceAck *audioAckPayload = [[SDLControlFramePayloadAudioStartServiceAck alloc] initWithData:audioStartServiceAck.payload]; + SDLLogV(@"ACK: %@", audioAckPayload); + + if (audioAckPayload.mtu != SDLControlFrameInt64NotFound) { + [[SDLGlobals sharedGlobals] setDynamicMTUSize:(NSUInteger)audioAckPayload.mtu forServiceType:SDLServiceTypeAudio]; + } + + [self.audioStreamStateMachine transitionToState:SDLAudioStreamManagerStateReady]; +} + +#pragma mark Video / Audio Start Service NAK + +- (void)handleProtocolStartServiceNAKMessage:(SDLProtocolMessage *)startServiceNAK { + switch (startServiceNAK.header.serviceType) { + case SDLServiceTypeAudio: { + [self sdl_handleAudioStartServiceNak:startServiceNAK]; + } break; + default: break; + } +} + +- (void)sdl_handleAudioStartServiceNak:(SDLProtocolMessage *)audioStartServiceNak { + SDLLogW(@"Audio service failed to start due to NAK"); + [self sdl_transitionToStoppedState:SDLServiceTypeAudio]; +} + +#pragma mark Video / Audio End Service + +- (void)handleProtocolEndServiceACKMessage:(SDLProtocolMessage *)endServiceACK { + SDLLogD(@"%@ service ended", (endServiceACK.header.serviceType == SDLServiceTypeVideo ? @"Video" : @"Audio")); + [self sdl_transitionToStoppedState:endServiceACK.header.serviceType]; +} + +- (void)handleProtocolEndServiceNAKMessage:(SDLProtocolMessage *)endServiceNAK { + SDLLogW(@"%@ service ended with end service NAK", (endServiceNAK.header.serviceType == SDLServiceTypeVideo ? @"Video" : @"Audio")); + [self sdl_transitionToStoppedState:endServiceNAK.header.serviceType]; +} + +#pragma mark - SDL RPC Notification callbacks + +- (void)sdl_didReceiveRegisterAppInterfaceResponse:(SDLRPCResponseNotification *)notification { + NSAssert([notification.response isKindOfClass:[SDLRegisterAppInterfaceResponse class]], @"A notification was sent with an unanticipated object"); + if (![notification.response isKindOfClass:[SDLRegisterAppInterfaceResponse class]]) { + return; + } + + SDLLogD(@"Received Register App Interface"); + SDLRegisterAppInterfaceResponse* registerResponse = (SDLRegisterAppInterfaceResponse*)notification.response; + + SDLLogV(@"Determining whether streaming is supported"); + _streamingSupported = registerResponse.hmiCapabilities.videoStreaming ? registerResponse.hmiCapabilities.videoStreaming.boolValue : registerResponse.displayCapabilities.graphicSupported.boolValue; + + if (!self.isStreamingSupported) { + SDLLogE(@"Graphics are not supported on this head unit. We are are assuming screen size is also unavailable and exiting."); + return; + } + + self.connectedVehicleMake = registerResponse.vehicleType.make; +} + +- (void)sdl_hmiLevelDidChange:(SDLRPCNotificationNotification *)notification { + NSAssert([notification.notification isKindOfClass:[SDLOnHMIStatus class]], @"A notification was sent with an unanticipated object"); + if (![notification.notification isKindOfClass:[SDLOnHMIStatus class]]) { + return; + } + + SDLOnHMIStatus *hmiStatus = (SDLOnHMIStatus*)notification.notification; + SDLLogD(@"HMI level changed from level %@ to level %@", self.hmiLevel, hmiStatus.hmiLevel); + self.hmiLevel = hmiStatus.hmiLevel; + + // if startWithProtocol has not been called yet, abort here + if (!self.protocol) { return; } + + if (self.isHmiStateAudioStreamCapable) { + [self sdl_startAudioSession]; + } else { + [self sdl_stopAudioSession]; + } +} + +#pragma mark - Streaming session helpers + +- (void)sdl_startAudioSession { + SDLLogV(@"Attempting to start audio session"); + if (!self.protocol) { + return; + } + + if (!self.isStreamingSupported) { + return; + } + + if ([self.audioStreamStateMachine isCurrentState:SDLAudioStreamManagerStateStopped] && self.isHmiStateAudioStreamCapable) { + [self.audioStreamStateMachine transitionToState:SDLAudioStreamManagerStateStarting]; + } +} + +- (void)sdl_stopAudioSession { + SDLLogV(@"Attempting to stop audio session"); + if (!self.isStreamingSupported) { + return; + } + + if (self.isAudioConnected) { + [self.audioStreamStateMachine transitionToState:SDLAudioStreamManagerStateShuttingDown]; + } +} + +- (void)sdl_transitionToStoppedState:(SDLServiceType)serviceType { + switch (serviceType) { + case SDLServiceTypeAudio: + [self.audioStreamStateMachine transitionToState:SDLAudioStreamManagerStateStopped]; + break; + default: break; + } +} + +#pragma mark Setters / Getters + +- (BOOL)isHmiStateAudioStreamCapable { + return [self.hmiLevel isEqualToEnum:SDLHMILevelLimited] || [self.hmiLevel isEqualToEnum:SDLHMILevelFull]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioManagerType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioManagerType.h index 5d37718..fb0436d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioManagerType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingAudioManagerType.h @@ -10,8 +10,17 @@ @protocol SDLStreamingAudioManagerType +/** + Whether or not the audio byte stream is currently connected + */ @property (assign, nonatomic, readonly, getter=isAudioConnected) BOOL audioConnected; +/** + Send audio data bytes over the audio byte stream + + @param audioData The PCM data bytes + @return Whether or not it sent successfully + */ - (BOOL)sendAudioData:(NSData *)audioData; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaConfiguration.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaConfiguration.h index 7902d65..3e4f918 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaConfiguration.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaConfiguration.h @@ -16,6 +16,13 @@ NS_ASSUME_NONNULL_BEGIN +/** + The type of rendering that CarWindow will perform. Depending on your app, you may need to try different ones for best performance + + - SDLCarWindowRenderingTypeLayer: Instead of rendering your UIViewController's view, this will render the layer using `renderInContext` + - SDLCarWindowRenderingTypeViewAfterScreenUpdates: Renders your UIViewController's view using `drawViewHierarchyInRect:bounds afterScreenUpdates:YES` + - SDLCarWindowRenderingTypeViewBeforeScreenUpdates: Renders your UIViewController's view using `drawViewHierarchyInRect:bounds afterScreenUpdates:NO` + */ typedef NS_ENUM(NSUInteger, SDLCarWindowRenderingType) { SDLCarWindowRenderingTypeLayer, SDLCarWindowRenderingTypeViewAfterScreenUpdates, @@ -46,17 +53,6 @@ typedef NS_ENUM(NSUInteger, SDLCarWindowRenderingType) { */ @property (weak, nonatomic, nullable) id dataSource; -/** - Set the window your video streaming content is within. - - Activates the haptic view parser when set. If the window contains `UIView` based views, these will be discovered and automatically sent to the head unit if it uses a haptic interface. Whether or not it supports the haptic interace, this library will also use that information to attempt to return the touched view to you in `SDLTouchManagerDelegate`. - - @warning Apps using views outside of the `UIView` heirarchy (such as OpenGL) are currently unsupported. If you app uses partial views in the heirarchy, only those views will be discovered. Your OpenGL views will not be discoverable to a haptic interface head unit and you will have to manually make these views discoverable via the `SDLSendHapticData` RPC request. - - @warning This is a weak property and it's therefore your job to hold a strong reference to this window. - */ -@property (weak, nonatomic, nullable) UIWindow *window __deprecated_msg("Use rootViewController instead"); - /** Set the initial view controller your video streaming content is within. @@ -96,17 +92,6 @@ typedef NS_ENUM(NSUInteger, SDLCarWindowRenderingType) { */ - (instancetype)init; -/** - Manually set all the properties to the streaming media configuration - - @param securityManagers The security managers to use or nil for none. - @param encryptionFlag The maximum encrpytion supported. If the connected head unit supports less than set here, it will still connect, but if it supports more than set here, it will not connect. - @param videoSettings Custom video encoder settings to be used in video streaming. - @param window The UIWindow you are running the content that is being streamed on, to use for haptics if needed and possible (only works for UIViews) - @return The configuration - */ -- (instancetype)initWithSecurityManagers:(nullable NSArray> *)securityManagers encryptionFlag:(SDLStreamingEncryptionFlag)encryptionFlag videoSettings:(nullable NSDictionary *)videoSettings dataSource:(nullable id)dataSource window:(nullable UIWindow *)window __deprecated_msg("Use initWithSecurityManagers:encryptionFlag:videoSettings:dataSource:rootViewController: instead"); - /** Manually set all the properties to the streaming media configuration diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaConfiguration.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaConfiguration.m index 5b26d67..41c7df8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaConfiguration.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaConfiguration.m @@ -23,10 +23,6 @@ + (instancetype)insecureConfiguration { return [[self alloc] init]; } -- (instancetype)initWithSecurityManagers:(nullable NSArray> *)securityManagers encryptionFlag:(SDLStreamingEncryptionFlag)encryptionFlag videoSettings:(nullable NSDictionary *)videoSettings dataSource:(nullable id)dataSource window:(nullable UIWindow *)window { - return [self initWithSecurityManagers:securityManagers encryptionFlag:encryptionFlag videoSettings:videoSettings dataSource:dataSource rootViewController:window.rootViewController]; -} - - (instancetype)initWithSecurityManagers:(nullable NSArray> *)securityManagers encryptionFlag:(SDLStreamingEncryptionFlag)encryptionFlag videoSettings:(nullable NSDictionary *)videoSettings dataSource:(nullable id)dataSource rootViewController:(nullable UIViewController *)rootViewController { self = [super init]; if (!self) { @@ -64,14 +60,6 @@ + (instancetype)autostreamingSecureConfigurationWithSecurityManagers:(NSArray)connecti return nil; } - _lifecycleManager = [[SDLStreamingMediaLifecycleManager alloc] initWithConnectionManager:connectionManager configuration:configuration]; + _audioLifecycleManager = [[SDLStreamingAudioLifecycleManager alloc] initWithConnectionManager:connectionManager configuration:configuration]; + _videoLifecycleManager = [[SDLStreamingVideoLifecycleManager alloc] initWithConnectionManager:connectionManager configuration:configuration]; return self; } -- (void)startWithProtocol:(SDLAbstractProtocol *)protocol { - [self.lifecycleManager startWithProtocol:protocol]; +- (void)startWithProtocol:(SDLProtocol *)protocol { + [self startAudioWithProtocol:protocol]; + [self startVideoWithProtocol:protocol]; +} + +- (void)startAudioWithProtocol:(SDLProtocol *)protocol { + [self.audioLifecycleManager startWithProtocol:protocol]; + self.audioStarted = YES; +} + +- (void)startVideoWithProtocol:(SDLProtocol *)protocol { + [self.videoLifecycleManager startWithProtocol:protocol]; + self.videoStarted = YES; } - (void)stop { - [self.lifecycleManager stop]; + [self stopAudio]; + [self stopVideo]; +} + +- (void)stopAudio { + [self.audioLifecycleManager stop]; + self.audioStarted = NO; +} + +- (void)stopVideo { + [self.videoLifecycleManager stop]; + self.videoStarted = NO; } - (BOOL)sendVideoData:(CVImageBufferRef)imageBuffer { - return [self.lifecycleManager sendVideoData:imageBuffer]; + return [self.videoLifecycleManager sendVideoData:imageBuffer]; } - (BOOL)sendVideoData:(CVImageBufferRef)imageBuffer presentationTimestamp:(CMTime)presentationTimestamp { - return [self.lifecycleManager sendVideoData:imageBuffer presentationTimestamp:presentationTimestamp]; + return [self.videoLifecycleManager sendVideoData:imageBuffer presentationTimestamp:presentationTimestamp]; } - (BOOL)sendAudioData:(NSData*)audioData { - return [self.lifecycleManager sendAudioData:audioData]; + return [self.audioLifecycleManager sendAudioData:audioData]; } #pragma mark - Getters - (SDLTouchManager *)touchManager { - return self.lifecycleManager.touchManager; + return self.videoLifecycleManager.touchManager; } - (SDLAudioStreamManager *)audioManager { - return self.lifecycleManager.audioManager; + return self.audioLifecycleManager.audioManager; } -- (UIViewController *)rootViewController { - return self.lifecycleManager.rootViewController; +- (nullable UIViewController *)rootViewController { + return self.videoLifecycleManager.rootViewController; } - (nullable id)focusableItemManager { - return self.lifecycleManager.focusableItemManager; + return self.videoLifecycleManager.focusableItemManager; } - (BOOL)isStreamingSupported { - return self.lifecycleManager.isStreamingSupported; + // both audio and video lifecycle managers checks the param in Register App Interface response, + // hence the flag should be same between two managers if they are started + if (self.videoStarted) { + return self.videoLifecycleManager.isStreamingSupported; + } else if (self.audioStarted) { + return self.audioLifecycleManager.isStreamingSupported; + } + return NO; } - (BOOL)isAudioConnected { - return self.lifecycleManager.isAudioConnected; + return self.audioLifecycleManager.isAudioConnected; } - (BOOL)isVideoConnected { - return self.lifecycleManager.isVideoConnected; + return self.videoLifecycleManager.isVideoConnected; } - (BOOL)isAudioEncrypted { - return self.lifecycleManager.isAudioEncrypted; + return self.audioLifecycleManager.isAudioEncrypted; } - (BOOL)isVideoEncrypted { - return self.lifecycleManager.isVideoEncrypted; + return self.videoLifecycleManager.isVideoEncrypted; } - (BOOL)isVideoStreamingPaused { - return self.lifecycleManager.isVideoStreamingPaused; + return self.videoLifecycleManager.isVideoStreamingPaused; } - (CGSize)screenSize { - return self.lifecycleManager.screenSize; + return self.videoLifecycleManager.screenSize; } - (nullable SDLVideoStreamingFormat *)videoFormat { - return self.lifecycleManager.videoFormat; + return self.videoLifecycleManager.videoFormat; } - (NSArray *)supportedFormats { - return self.lifecycleManager.supportedFormats; + return self.videoLifecycleManager.supportedFormats; } - (CVPixelBufferPoolRef __nullable)pixelBufferPool { - return self.lifecycleManager.pixelBufferPool; + return self.videoLifecycleManager.pixelBufferPool; } - (SDLStreamingEncryptionFlag)requestedEncryptionType { - return self.lifecycleManager.requestedEncryptionType; + // both audio and video managers should have same type + return self.videoLifecycleManager.requestedEncryptionType; } #pragma mark - Setters -- (void)setRootViewController:(UIViewController *)rootViewController { - self.lifecycleManager.rootViewController = rootViewController; +- (void)setRootViewController:(nullable UIViewController *)rootViewController { + self.videoLifecycleManager.rootViewController = rootViewController; } - (void)setRequestedEncryptionType:(SDLStreamingEncryptionFlag)requestedEncryptionType { - self.lifecycleManager.requestedEncryptionType = requestedEncryptionType; + self.videoLifecycleManager.requestedEncryptionType = requestedEncryptionType; + self.audioLifecycleManager.requestedEncryptionType = requestedEncryptionType; } @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaManagerConstants.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaManagerConstants.h index 0e6cbe8..8e04758 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaManagerConstants.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaManagerConstants.h @@ -10,6 +10,13 @@ NS_ASSUME_NONNULL_BEGIN +/** + A flag determining how video and audio streaming should be encrypted + + - SDLStreamingEncryptionFlagNone: It should not be encrypted at all + - SDLStreamingEncryptionFlagAuthenticateOnly: It should use SSL/TLS only to authenticate + - SDLStreamingEncryptionFlagAuthenticateAndEncrypt: All data on these services should be encrypted using SSL/TLS + */ typedef NS_ENUM(NSInteger, SDLStreamingEncryptionFlag) { SDLStreamingEncryptionFlagNone, SDLStreamingEncryptionFlagAuthenticateOnly, @@ -20,6 +27,7 @@ extern CGSize const SDLDefaultScreenSize; extern NSString *const SDLVideoStreamDidStartNotification; extern NSString *const SDLVideoStreamDidStopNotification; +extern NSString *const SDLVideoStreamSuspendedNotification; extern NSString *const SDLAudioStreamDidStartNotification; extern NSString *const SDLAudioStreamDidStopNotification; @@ -29,4 +37,21 @@ extern NSString *const SDLLockScreenManagerDidPresentLockScreenViewController; extern NSString *const SDLLockScreenManagerWillDismissLockScreenViewController; extern NSString *const SDLLockScreenManagerDidDismissLockScreenViewController; +typedef NSString SDLVideoStreamManagerState; +extern SDLVideoStreamManagerState *const SDLVideoStreamManagerStateStopped; +extern SDLVideoStreamManagerState *const SDLVideoStreamManagerStateStarting; +extern SDLVideoStreamManagerState *const SDLVideoStreamManagerStateReady; +extern SDLVideoStreamManagerState *const SDLVideoStreamManagerStateSuspended; +extern SDLVideoStreamManagerState *const SDLVideoStreamManagerStateShuttingDown; + +typedef NSString SDLAudioStreamManagerState; +extern SDLAudioStreamManagerState *const SDLAudioStreamManagerStateStopped; +extern SDLAudioStreamManagerState *const SDLAudioStreamManagerStateStarting; +extern SDLAudioStreamManagerState *const SDLAudioStreamManagerStateReady; +extern SDLAudioStreamManagerState *const SDLAudioStreamManagerStateShuttingDown; + +typedef NSString SDLAppState; +extern SDLAppState *const SDLAppStateInactive; +extern SDLAppState *const SDLAppStateActive; + NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaManagerConstants.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaManagerConstants.m index f9be99f..02dfa6b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaManagerConstants.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaManagerConstants.m @@ -13,6 +13,7 @@ NSString *const SDLVideoStreamDidStartNotification = @"com.sdl.videoStreamDidStart"; NSString *const SDLVideoStreamDidStopNotification = @"com.sdl.videoStreamDidStop"; +NSString *const SDLVideoStreamSuspendedNotification = @"com.sdl.videoStreamSuspended"; NSString *const SDLAudioStreamDidStartNotification = @"com.sdl.audioStreamDidStart"; NSString *const SDLAudioStreamDidStopNotification = @"com.sdl.audioStreamDidStop"; @@ -21,3 +22,17 @@ NSString *const SDLLockScreenManagerDidPresentLockScreenViewController = @"com.sdl.lockscreen.didPresent"; NSString *const SDLLockScreenManagerWillDismissLockScreenViewController = @"com.sdl.lockscreen.willDismiss"; NSString *const SDLLockScreenManagerDidDismissLockScreenViewController = @"com.sdl.lockscreen.didDismiss"; + +SDLVideoStreamManagerState *const SDLVideoStreamManagerStateStopped = @"VideoStreamStopped"; +SDLVideoStreamManagerState *const SDLVideoStreamManagerStateStarting = @"VideoStreamStarting"; +SDLVideoStreamManagerState *const SDLVideoStreamManagerStateReady = @"VideoStreamReady"; +SDLVideoStreamManagerState *const SDLVideoStreamManagerStateSuspended = @"VideoStreamSuspended"; +SDLVideoStreamManagerState *const SDLVideoStreamManagerStateShuttingDown = @"VideoStreamShuttingDown"; + +SDLAudioStreamManagerState *const SDLAudioStreamManagerStateStopped = @"AudioStreamStopped"; +SDLAudioStreamManagerState *const SDLAudioStreamManagerStateStarting = @"AudioStreamStarting"; +SDLAudioStreamManagerState *const SDLAudioStreamManagerStateReady = @"AudioStreamReady"; +SDLAudioStreamManagerState *const SDLAudioStreamManagerStateShuttingDown = @"AudioStreamShuttingDown"; + +SDLAppState *const SDLAppStateInactive = @"AppInactive"; +SDLAppState *const SDLAppStateActive = @"AppActive"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingProtocolDelegate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingProtocolDelegate.h new file mode 100644 index 0000000..b3ec8f7 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingProtocolDelegate.h @@ -0,0 +1,41 @@ +// +// SDLStreamingProtocolDelegate.h +// SmartDeviceLink-iOS +// +// Created by Sho Amano on 2018/03/23. +// Copyright © 2018 Xevo Inc. All rights reserved. +// + +#import + +@class SDLProtocol; + +NS_ASSUME_NONNULL_BEGIN + +@protocol SDLStreamingProtocolDelegate + +/** + * Called when protocol instance for audio service has been updated. + * + * If `newProtocol` is nil, it indicates that underlying transport + * becomes unavailable. + * + * @param oldProtocol protocol instance that has been used for audio streaming. + * @param newProtocol protocol instance that will be used for audio streaming. + */ +- (void)audioServiceProtocolDidUpdateFromOldProtocol:(nullable SDLProtocol *)oldProtocol toNewProtocol:(nullable SDLProtocol *)newProtocol; + +/** + * Called when protocol instance for video service has been updated. + * + * If `newProtocol` is nil, it indicates that underlying transport + * becomes unavailable. + * + * @param oldProtocol protocol instance that has been used for video streaming. + * @param newProtocol protocol instance that will be used for video streaming. + */ +- (void)videoServiceProtocolDidUpdateFromOldProtocol:(nullable SDLProtocol *)oldProtocol toNewProtocol:(nullable SDLProtocol *)newProtocol; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaLifecycleManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingVideoLifecycleManager.h similarity index 71% rename from Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaLifecycleManager.h rename to Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingVideoLifecycleManager.h index 008cb2a..808d86c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaLifecycleManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingVideoLifecycleManager.h @@ -1,74 +1,50 @@ // -// SDLStreamingMediaLifecycleManager.h -// SmartDeviceLink-iOS +// SDLStreamingVideoLifecycleManager.h +// SmartDeviceLink // -// Created by Muller, Alexander (A.) on 2/16/17. -// Copyright © 2017 smartdevicelink. All rights reserved. +// Created by Joel Fischer on 6/19/18. +// Copyright © 2018 smartdevicelink. All rights reserved. // -#import +#import #import -#import "SDLConnectionManagerType.h" #import "SDLHMILevel.h" #import "SDLProtocolListener.h" -#import "SDLStreamingAudioManagerType.h" #import "SDLStreamingMediaManagerConstants.h" +#import "SDLVideoStreamingFormat.h" +#import "SDLVideoStreamingState.h" -@class SDLAbstractProtocol; -@class SDLAudioStreamManager; @class SDLCarWindow; @class SDLImageResolution; +@class SDLProtocol; @class SDLStateMachine; @class SDLStreamingMediaConfiguration; @class SDLTouchManager; -@class SDLVideoStreamingFormat; +@protocol SDLConnectionManagerType; @protocol SDLFocusableItemLocatorType; @protocol SDLStreamingMediaManagerDataSource; -NS_ASSUME_NONNULL_BEGIN - -typedef NSString SDLAppState; -extern SDLAppState *const SDLAppStateInactive; -extern SDLAppState *const SDLAppStateActive; - -typedef NSString SDLVideoStreamState; -extern SDLVideoStreamState *const SDLVideoStreamStateStopped; -extern SDLVideoStreamState *const SDLVideoStreamStateStarting; -extern SDLVideoStreamState *const SDLVideoStreamStateReady; -extern SDLVideoStreamState *const SDLVideoStreamStateShuttingDown; -typedef NSString SDLAudioStreamState; -extern SDLAudioStreamState *const SDLAudioStreamStateStopped; -extern SDLAudioStreamState *const SDLAudioStreamStateStarting; -extern SDLAudioStreamState *const SDLAudioStreamStateReady; -extern SDLAudioStreamState *const SDLAudioStreamStateShuttingDown; +NS_ASSUME_NONNULL_BEGIN -#pragma mark - Interface - -@interface SDLStreamingMediaLifecycleManager : NSObject +@interface SDLStreamingVideoLifecycleManager : NSObject -@property (strong, nonatomic, readonly) SDLStateMachine *appStateMachine; @property (strong, nonatomic, readonly) SDLStateMachine *videoStreamStateMachine; -@property (strong, nonatomic, readonly) SDLStateMachine *audioStreamStateMachine; +@property (strong, nonatomic, readonly) SDLVideoStreamManagerState *currentVideoStreamState; +@property (strong, nonatomic, readonly) SDLStateMachine *appStateMachine; @property (strong, nonatomic, readonly) SDLAppState *currentAppState; -@property (strong, nonatomic, readonly) SDLAudioStreamState *currentAudioStreamState; -@property (strong, nonatomic, readonly) SDLVideoStreamState *currentVideoStreamState; - @property (copy, nonatomic, nullable) SDLHMILevel hmiLevel; - -@property (assign, nonatomic, readonly, getter=shouldRestartVideoStream) BOOL restartVideoStream; +@property (copy, nonatomic, nullable) SDLVideoStreamingState videoStreamingState; /** * Touch Manager responsible for providing touch event notifications. */ @property (nonatomic, strong, readonly) SDLTouchManager *touchManager; - -@property (nonatomic, strong, readonly) SDLAudioStreamManager *audioManager; -@property (nonatomic, strong) UIViewController *rootViewController; +@property (nonatomic, strong, nullable) UIViewController *rootViewController; @property (strong, nonatomic, readonly, nullable) SDLCarWindow *carWindow; /** @@ -98,16 +74,6 @@ extern SDLAudioStreamState *const SDLAudioStreamStateShuttingDown; */ @property (assign, nonatomic, readonly, getter=isVideoEncrypted) BOOL videoEncrypted; -/** - * Whether or not the audio session is connected. - */ -@property (assign, nonatomic, readonly, getter=isAudioConnected) BOOL audioConnected; - -/** - * Whether or not the audio session is encrypted. This may be different than the requestedEncryptionType. - */ -@property (assign, nonatomic, readonly, getter=isAudioEncrypted) BOOL audioEncrypted; - /** * Whether or not the video stream is paused due to either the application being backgrounded, the HMI state being either NONE or BACKGROUND, or the video stream not being ready. */ @@ -177,7 +143,7 @@ extern SDLAudioStreamState *const SDLAudioStreamStateShuttingDown; /** * Start the manager with a completion block that will be called when startup completes. This is used internally. To use an SDLStreamingMediaManager, you should use the manager found on `SDLManager`. */ -- (void)startWithProtocol:(SDLAbstractProtocol *)protocol; +- (void)startWithProtocol:(SDLProtocol *)protocol; /** * Stop the manager. This method is used internally. @@ -203,16 +169,6 @@ extern SDLAudioStreamState *const SDLAudioStreamStateShuttingDown; */ - (BOOL)sendVideoData:(CVImageBufferRef)imageBuffer presentationTimestamp:(CMTime)presentationTimestamp; -/** - * This method receives PCM audio data and will attempt to send that data across to the head unit for immediate playback - * - * @param audioData The data in PCM audio format, to be played - * - * @return Whether or not the data was successfully sent. - */ -- (BOOL)sendAudioData:(NSData *)audioData; - - @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaLifecycleManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingVideoLifecycleManager.m similarity index 75% rename from Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaLifecycleManager.m rename to Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingVideoLifecycleManager.m index 1fbf643..5302e28 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingMediaLifecycleManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLStreamingVideoLifecycleManager.m @@ -1,33 +1,33 @@ // -// SDLStreamingMediaLifecycleManager.m -// SmartDeviceLink-iOS +// SDLStreamingVideoLifecycleManager.m +// SmartDeviceLink // -// Created by Muller, Alexander (A.) on 2/16/17. -// Copyright © 2017 smartdevicelink. All rights reserved. +// Created by Joel Fischer on 6/19/18. +// Copyright © 2018 smartdevicelink. All rights reserved. // -#import "SDLStreamingMediaLifecycleManager.h" +#import "SDLStreamingVideoLifecycleManager.h" -#import "SDLAbstractProtocol.h" -#import "SDLAudioStreamManager.h" +#import "CVPixelBufferRef+SDLUtil.h" #import "SDLCarWindow.h" -#import "SDLControlFramePayloadAudioStartServiceAck.h" +#import "SDLConnectionManagerType.h" #import "SDLControlFramePayloadConstants.h" #import "SDLControlFramePayloadNak.h" #import "SDLControlFramePayloadVideoStartService.h" #import "SDLControlFramePayloadVideoStartServiceAck.h" #import "SDLDisplayCapabilities.h" +#import "SDLFocusableItemLocator.h" #import "SDLGenericResponse.h" #import "SDLGetSystemCapability.h" #import "SDLGetSystemCapabilityResponse.h" #import "SDLGlobals.h" -#import "SDLFocusableItemLocator.h" #import "SDLH264VideoEncoder.h" #import "SDLHMICapabilities.h" +#import "SDLHMILevel.h" #import "SDLImageResolution.h" #import "SDLLogMacros.h" -#import "SDLNotificationConstants.h" #import "SDLOnHMIStatus.h" +#import "SDLProtocol.h" #import "SDLProtocolMessage.h" #import "SDLRegisterAppInterfaceResponse.h" #import "SDLRPCNotificationNotification.h" @@ -39,44 +39,26 @@ #import "SDLSystemCapability.h" #import "SDLTouchManager.h" #import "SDLVehicleType.h" +#import "SDLVideoEncoderDelegate.h" #import "SDLVideoStreamingCapability.h" -#import "SDLVideoStreamingCodec.h" -#import "SDLVideoStreamingFormat.h" -#import "SDLVideoStreamingProtocol.h" - -#import "CVPixelBufferRef+SDLUtil.h" +static NSUInteger const FramesToSendOnBackground = 30; NS_ASSUME_NONNULL_BEGIN -SDLAppState *const SDLAppStateInactive = @"AppInactive"; -SDLAppState *const SDLAppStateActive = @"AppActive"; - -SDLVideoStreamState *const SDLVideoStreamStateStopped = @"VideoStreamStopped"; -SDLVideoStreamState *const SDLVideoStreamStateStarting = @"VideoStreamStarting"; -SDLVideoStreamState *const SDLVideoStreamStateReady = @"VideoStreamReady"; -SDLVideoStreamState *const SDLVideoStreamStateShuttingDown = @"VideoStreamShuttingDown"; - -SDLAudioStreamState *const SDLAudioStreamStateStopped = @"AudioStreamStopped"; -SDLAudioStreamState *const SDLAudioStreamStateStarting = @"AudioStreamStarting"; -SDLAudioStreamState *const SDLAudioStreamStateReady = @"AudioStreamReady"; -SDLAudioStreamState *const SDLAudioStreamStateShuttingDown = @"AudioStreamShuttingDown"; - -static NSUInteger const FramesToSendOnBackground = 30; - typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_Nullable capability); - -@interface SDLStreamingMediaLifecycleManager () +@interface SDLStreamingVideoLifecycleManager() @property (weak, nonatomic) id connectionManager; -@property (weak, nonatomic) SDLAbstractProtocol *protocol; +@property (weak, nonatomic) SDLProtocol *protocol; @property (assign, nonatomic, readonly, getter=isAppStateVideoStreamCapable) BOOL appStateVideoStreamCapable; -@property (assign, nonatomic, readonly, getter=isHmiStateAudioStreamCapable) BOOL hmiStateAudioStreamCapable; @property (assign, nonatomic, readonly, getter=isHmiStateVideoStreamCapable) BOOL hmiStateVideoStreamCapable; -@property (assign, nonatomic, readwrite) BOOL restartVideoStream; +@property (strong, nonatomic, readwrite) SDLStateMachine *videoStreamStateMachine; +@property (strong, nonatomic, readwrite) SDLStateMachine *appStateMachine; + @property (strong, nonatomic, readwrite, nullable) SDLVideoStreamingFormat *videoFormat; @property (strong, nonatomic, nullable) SDLH264VideoEncoder *videoEncoder; @@ -84,10 +66,6 @@ @interface SDLStreamingMediaLifecycleManager () @property (copy, nonatomic) NSArray *secureMakes; @property (copy, nonatomic) NSString *connectedVehicleMake; -@property (strong, nonatomic, readwrite) SDLStateMachine *appStateMachine; -@property (strong, nonatomic, readwrite) SDLStateMachine *videoStreamStateMachine; -@property (strong, nonatomic, readwrite) SDLStateMachine *audioStreamStateMachine; - @property (assign, nonatomic) CV_NULLABLE CVPixelBufferRef backgroundingPixelBuffer; @property (strong, nonatomic, nullable) CADisplayLink *displayLink; @@ -97,11 +75,7 @@ @interface SDLStreamingMediaLifecycleManager () @end - -@implementation SDLStreamingMediaLifecycleManager - -#pragma mark - Public -#pragma mark Lifecycle +@implementation SDLStreamingVideoLifecycleManager - (instancetype)initWithConnectionManager:(id)connectionManager configuration:(SDLStreamingMediaConfiguration *)configuration { self = [super init]; @@ -127,7 +101,6 @@ - (instancetype)initWithConnectionManager:(id)connecti } _touchManager = [[SDLTouchManager alloc] initWithHitTester:(id)_focusableItemManager]; - _audioManager = [[SDLAudioStreamManager alloc] initWithManager:self]; _requestedEncryptionType = configuration.maximumDesiredEncryption; _dataSource = configuration.dataSource; @@ -137,6 +110,9 @@ - (instancetype)initWithConnectionManager:(id)connecti _preferredFormatIndex = 0; _preferredResolutionIndex = 0; + _hmiLevel = SDLHMILevelNone; + _videoStreamingState = SDLVideoStreamingStateNotStreamable; + NSMutableArray *tempMakeArray = [NSMutableArray array]; for (Class securityManagerClass in configuration.securityManagers) { [tempMakeArray addObjectsFromArray:[securityManagerClass availableMakes].allObjects]; @@ -156,11 +132,10 @@ - (instancetype)initWithConnectionManager:(id)connecti } _appStateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:initialState states:[self.class sdl_appStateTransitionDictionary]]; - _videoStreamStateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:SDLVideoStreamStateStopped states:[self.class sdl_videoStreamStateTransitionDictionary]]; - _audioStreamStateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:SDLAudioStreamStateStopped states:[self.class sdl_audioStreamingStateTransitionDictionary]]; + _videoStreamStateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:SDLVideoStreamManagerStateStopped states:[self.class sdl_videoStreamStateTransitionDictionary]]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_didReceiveRegisterAppInterfaceResponse:) name:SDLDidReceiveRegisterAppInterfaceResponse object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_hmiLevelDidChange:) name:SDLDidChangeHMIStatusNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_hmiStatusDidChange:) name:SDLDidChangeHMIStatusNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_appStateDidUpdate:) name:UIApplicationDidBecomeActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_appStateDidUpdate:) name:UIApplicationWillResignActiveNotification object:nil]; @@ -170,25 +145,34 @@ - (instancetype)initWithConnectionManager:(id)connecti return self; } -- (void)startWithProtocol:(SDLAbstractProtocol *)protocol { +- (void)startWithProtocol:(SDLProtocol *)protocol { _protocol = protocol; - if (![self.protocol.protocolDelegateTable containsObject:self]) { - [self.protocol.protocolDelegateTable addObject:self]; + @synchronized(self.protocol.protocolDelegateTable) { + if (![self.protocol.protocolDelegateTable containsObject:self]) { + [self.protocol.protocolDelegateTable addObject:self]; + } } + + // attempt to start streaming since we may already have necessary conditions met + [self sdl_startVideoSession]; } - (void)stop { SDLLogD(@"Stopping manager"); - [self sdl_stopAudioSession]; [self sdl_stopVideoSession]; - self.restartVideoStream = NO; + _protocol = nil; + _screenSize = SDLDefaultScreenSize; + _backgroundingPixelBuffer = NULL; + _preferredFormatIndex = 0; + _preferredResolutionIndex = 0; - self.hmiLevel = SDLHMILevelNone; + _hmiLevel = SDLHMILevelNone; + _videoStreamingState = SDLVideoStreamingStateNotStreamable; + _lastPresentationTimestamp = kCMTimeInvalid; - [self.audioStreamStateMachine transitionToState:SDLAudioStreamStateStopped]; - [self.videoStreamStateMachine transitionToState:SDLVideoStreamStateStopped]; + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateStopped]; } - (BOOL)sendVideoData:(CVImageBufferRef)imageBuffer { @@ -223,27 +207,14 @@ - (BOOL)sendVideoData:(CVImageBufferRef)imageBuffer presentationTimestamp:(CMTim return [self.videoEncoder encodeFrame:imageBuffer presentationTimestamp:presentationTimestamp]; } -- (BOOL)sendAudioData:(NSData*)audioData { - if (!self.isAudioConnected) { - return NO; - } - - SDLLogV(@"Sending raw audio data"); - if (self.isAudioEncrypted) { - [self.protocol sendEncryptedRawData:audioData onService:SDLServiceTypeAudio]; - } else { - [self.protocol sendRawData:audioData withServiceType:SDLServiceTypeAudio]; - } - return YES; -} - #pragma mark Getters -- (BOOL)isAudioConnected { - return [self.audioStreamStateMachine isCurrentState:SDLAudioStreamStateReady]; -} - (BOOL)isVideoConnected { - return [self.videoStreamStateMachine isCurrentState:SDLVideoStreamStateReady]; + return [self.videoStreamStateMachine isCurrentState:SDLVideoStreamManagerStateReady]; +} + +- (BOOL)isVideoSuspended { + return [self.videoStreamStateMachine isCurrentState:SDLVideoStreamManagerStateSuspended]; } - (BOOL)isVideoStreamingPaused { @@ -258,11 +229,7 @@ - (SDLAppState *)currentAppState { return self.appStateMachine.currentState; } -- (SDLAudioStreamState *)currentAudioStreamState { - return self.audioStreamStateMachine.currentState; -} - -- (SDLVideoStreamState *)currentVideoStreamState { +- (SDLVideoStreamManagerState *)currentVideoStreamState { return self.videoStreamStateMachine.currentState; } @@ -292,8 +259,11 @@ - (void)didEnterStateAppInactive { [self sdl_sendBackgroundFrames]; [self.touchManager cancelPendingTouches]; - [self sdl_stopAudioSession]; - [self sdl_stopVideoSession]; + if (self.isVideoConnected) { + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateSuspended]; + } else { + [self sdl_stopVideoSession]; + } } // Per Apple's guidelines: https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html @@ -302,17 +272,21 @@ - (void)didEnterStateAppActive { SDLLogD(@"App became active"); if (!self.protocol) { return; } - [self sdl_startVideoSession]; - [self sdl_startAudioSession]; + if (self.isVideoSuspended) { + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateReady]; + } else { + [self sdl_startVideoSession]; + } } #pragma mark Video Streaming + (NSDictionary *)sdl_videoStreamStateTransitionDictionary { return @{ - SDLVideoStreamStateStopped : @[SDLVideoStreamStateStarting], - SDLVideoStreamStateStarting : @[SDLVideoStreamStateStopped, SDLVideoStreamStateReady], - SDLVideoStreamStateReady : @[SDLVideoStreamStateShuttingDown, SDLVideoStreamStateStopped], - SDLVideoStreamStateShuttingDown : @[SDLVideoStreamStateStopped] + SDLVideoStreamManagerStateStopped : @[SDLVideoStreamManagerStateStarting], + SDLVideoStreamManagerStateStarting : @[SDLVideoStreamManagerStateStopped, SDLVideoStreamManagerStateReady], + SDLVideoStreamManagerStateReady : @[SDLVideoStreamManagerStateSuspended, SDLVideoStreamManagerStateShuttingDown, SDLVideoStreamManagerStateStopped], + SDLVideoStreamManagerStateSuspended : @[SDLVideoStreamManagerStateReady, SDLVideoStreamManagerStateShuttingDown, SDLVideoStreamManagerStateStopped], + SDLVideoStreamManagerStateShuttingDown : @[SDLVideoStreamManagerStateStopped] }; } @@ -330,16 +304,10 @@ - (void)didEnterStateVideoStreamStopped { [self.displayLink invalidate]; [[NSNotificationCenter defaultCenter] postNotificationName:SDLVideoStreamDidStopNotification object:nil]; - - if (self.shouldRestartVideoStream) { - self.restartVideoStream = NO; - [self sdl_startVideoSession]; - } } - (void)didEnterStateVideoStreamStarting { SDLLogD(@"Video stream starting"); - self.restartVideoStream = NO; __weak typeof(self) weakSelf = self; [self sdl_requestVideoCapabilities:^(SDLVideoStreamingCapability * _Nullable capability) { @@ -347,23 +315,22 @@ - (void)didEnterStateVideoStreamStarting { SDLLogV(@"Capability: %@", capability); if (capability != nil) { - // If we got a response, get our preferred formats and resolutions + // If we got a response, get the head unit's preferred formats and resolutions weakSelf.preferredFormats = capability.supportedFormats; weakSelf.preferredResolutions = @[capability.preferredResolution]; if (weakSelf.dataSource != nil) { - SDLLogV(@"Calling data source for modified preferred formats and resolutions"); + SDLLogV(@"Calling data source for modified preferred formats"); weakSelf.preferredFormats = [weakSelf.dataSource preferredVideoFormatOrderFromHeadUnitPreferredOrder:weakSelf.preferredFormats]; - weakSelf.preferredResolutions = [weakSelf.dataSource resolutionFromHeadUnitPreferredResolution:weakSelf.preferredResolutions.firstObject]; } if (weakSelf.focusableItemManager != nil) { weakSelf.focusableItemManager.enableHapticDataRequests = capability.hapticSpatialDataSupported.boolValue; } - SDLLogD(@"Got specialized video capabilites, preferred formats: %@, resolutions: %@ haptics enabled %@", weakSelf.preferredFormats, weakSelf.preferredResolutions, (capability.hapticSpatialDataSupported.boolValue ? @"YES" : @"NO")); + SDLLogD(@"Got specialized video capabilites, preferred formats: %@, haptics enabled %@", weakSelf.preferredFormats, (capability.hapticSpatialDataSupported.boolValue ? @"YES" : @"NO")); } else { - // If we can't get capabilities, we're assuming it's H264 RAW at whatever the display capabilities said in the RAIR. We also aren't going to call the data source because they have no options. + // If no response, assume that the format is H264 RAW and get the screen resolution from the RAI response's display capabilities. SDLVideoStreamingFormat *format = [[SDLVideoStreamingFormat alloc] initWithCodec:SDLVideoStreamingCodecH264 protocol:SDLVideoStreamingProtocolRAW]; SDLImageResolution *resolution = [[SDLImageResolution alloc] initWithWidth:(uint16_t)weakSelf.screenSize.width height:(uint16_t)weakSelf.screenSize.height]; weakSelf.preferredFormats = @[format]; @@ -376,13 +343,24 @@ - (void)didEnterStateVideoStreamStarting { SDLLogD(@"Using generic video capabilites, preferred formats: %@, resolutions: %@, haptics disabled", weakSelf.preferredFormats, weakSelf.preferredResolutions); } + if (weakSelf.dataSource != nil) { + SDLLogV(@"Calling data source for modified preferred resolutions"); + weakSelf.preferredResolutions = [weakSelf.dataSource resolutionFromHeadUnitPreferredResolution:weakSelf.preferredResolutions.firstObject]; + SDLLogD(@"Got specialized video resolutions: %@", weakSelf.preferredResolutions); + } + [self sdl_sendVideoStartService]; }]; } - (void)didEnterStateVideoStreamReady { SDLLogD(@"Video stream ready"); - // TODO: What if it isn't nil, is it even possible for it to not be nil? + + if (self.videoEncoder != nil) { + [self.videoEncoder stop]; + self.videoEncoder = nil; + } + if (self.videoEncoder == nil) { NSError* error = nil; NSAssert(self.videoFormat != nil, @"No video format is known, but it must be if we got a protocol start service response"); @@ -392,7 +370,7 @@ - (void)didEnterStateVideoStreamReady { if (error || self.videoEncoder == nil) { SDLLogE(@"Could not create a video encoder: %@", error); - [self.videoStreamStateMachine transitionToState:SDLVideoStreamStateStopped]; + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateStopped]; return; } @@ -400,7 +378,7 @@ - (void)didEnterStateVideoStreamReady { CVPixelBufferRef backgroundingPixelBuffer = [self.videoEncoder newPixelBuffer]; if (CVPixelBufferAddText(backgroundingPixelBuffer, @"") == NO) { SDLLogE(@"Could not create a backgrounding frame"); - [self.videoStreamStateMachine transitionToState:SDLVideoStreamStateStopped]; + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateStopped]; return; } @@ -417,7 +395,7 @@ - (void)didEnterStateVideoStreamReady { NSInteger targetFramerate = ((NSNumber *)self.videoEncoderSettings[(__bridge NSString *)kVTCompressionPropertyKey_ExpectedFrameRate]).integerValue; SDLLogD(@"Initializing CADisplayLink with framerate: %ld", (long)targetFramerate); self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(sdl_displayLinkFired:)]; - if (SDL_SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10")) { + if (@available(iOS 10, *)) { self.displayLink.preferredFramesPerSecond = targetFramerate; } else { self.displayLink.frameInterval = (60 / targetFramerate); @@ -429,50 +407,15 @@ - (void)didEnterStateVideoStreamReady { } } -- (void)didEnterStateVideoStreamShuttingDown { - SDLLogD(@"Video stream shutting down"); - [self.protocol endServiceWithType:SDLServiceTypeVideo]; -} - -#pragma mark Audio -+ (NSDictionary *)sdl_audioStreamingStateTransitionDictionary { - return @{ - SDLAudioStreamStateStopped : @[SDLAudioStreamStateStarting], - SDLAudioStreamStateStarting : @[SDLAudioStreamStateStopped, SDLAudioStreamStateReady], - SDLAudioStreamStateReady : @[SDLAudioStreamStateShuttingDown, SDLAudioStreamStateStopped], - SDLAudioStreamStateShuttingDown : @[SDLAudioStreamStateStopped] - }; -} - -- (void)didEnterStateAudioStreamStopped { - SDLLogD(@"Audio stream stopped"); - _audioEncrypted = NO; - - [[NSNotificationCenter defaultCenter] postNotificationName:SDLAudioStreamDidStopNotification object:nil]; -} - -- (void)didEnterStateAudioStreamStarting { - SDLLogD(@"Audio stream starting"); - if ((self.requestedEncryptionType != SDLStreamingEncryptionFlagNone) && ([self.secureMakes containsObject:self.connectedVehicleMake])) { - [self.protocol startSecureServiceWithType:SDLServiceTypeAudio payload:nil completionHandler:^(BOOL success, NSError * _Nonnull error) { - if (error) { - SDLLogE(@"TLS setup error: %@", error); - [self.audioStreamStateMachine transitionToState:SDLAudioStreamStateStopped]; - } - }]; - } else { - [self.protocol startServiceWithType:SDLServiceTypeAudio payload:nil]; - } -} +- (void)didEnterStateVideoStreamSuspended { + SDLLogD(@"Video stream suspended"); -- (void)didEnterStateAudioStreamReady { - SDLLogD(@"Audio stream ready"); - [[NSNotificationCenter defaultCenter] postNotificationName:SDLAudioStreamDidStartNotification object:nil]; + [[NSNotificationCenter defaultCenter] postNotificationName:SDLVideoStreamSuspendedNotification object:nil]; } -- (void)didEnterStateAudioStreamShuttingDown { - SDLLogD(@"Audio stream shutting down"); - [self.protocol endServiceWithType:SDLServiceTypeAudio]; +- (void)didEnterStateVideoStreamShuttingDown { + SDLLogD(@"Video stream shutting down"); + [self.protocol endServiceWithType:SDLServiceTypeVideo]; } #pragma mark - SDLProtocolListener @@ -480,9 +423,6 @@ - (void)didEnterStateAudioStreamShuttingDown { - (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceACK { switch (startServiceACK.header.serviceType) { - case SDLServiceTypeAudio: { - [self sdl_handleAudioStartServiceAck:startServiceACK]; - } break; case SDLServiceTypeVideo: { [self sdl_handleVideoStartServiceAck:startServiceACK]; } break; @@ -490,20 +430,6 @@ - (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceA } } -- (void)sdl_handleAudioStartServiceAck:(SDLProtocolMessage *)audioStartServiceAck { - SDLLogD(@"Audio service started"); - _audioEncrypted = audioStartServiceAck.header.encrypted; - - SDLControlFramePayloadAudioStartServiceAck *audioAckPayload = [[SDLControlFramePayloadAudioStartServiceAck alloc] initWithData:audioStartServiceAck.payload]; - SDLLogV(@"ACK: %@", audioAckPayload); - - if (audioAckPayload.mtu != SDLControlFrameInt64NotFound) { - [[SDLGlobals sharedGlobals] setDynamicMTUSize:(NSUInteger)audioAckPayload.mtu forServiceType:SDLServiceTypeAudio]; - } - - [self.audioStreamStateMachine transitionToState:SDLAudioStreamStateReady]; -} - - (void)sdl_handleVideoStartServiceAck:(SDLProtocolMessage *)videoStartServiceAck { SDLLogD(@"Video service started"); _videoEncrypted = videoStartServiceAck.header.encrypted; @@ -518,6 +444,14 @@ - (void)sdl_handleVideoStartServiceAck:(SDLProtocolMessage *)videoStartServiceAc // This is the definitive screen size that will be used if (videoAckPayload.height != SDLControlFrameInt32NotFound && videoAckPayload.width != SDLControlFrameInt32NotFound) { _screenSize = CGSizeMake(videoAckPayload.width, videoAckPayload.height); + } else if (self.preferredResolutions.count > 0) { + // If a preferred resolution was set, use the first option to set the screen size + SDLImageResolution *preferredResolution = self.preferredResolutions.firstObject; + CGSize newScreenSize = CGSizeMake(preferredResolution.resolutionWidth.floatValue, preferredResolution.resolutionHeight.floatValue); + if (!CGSizeEqualToSize(self.screenSize, newScreenSize)) { + SDLLogW(@"The preferred resolution does not match the screen dimensions returned by the Register App Interface Response. Video may look distorted or video may not show up on the head unit"); + _screenSize = CGSizeMake(preferredResolution.resolutionWidth.floatValue, preferredResolution.resolutionHeight.floatValue); + } } // else we are using the screen size we got from the RAIR earlier // Figure out the definitive format that will be used. If the protocol / codec weren't passed in the payload, it's probably a system that doesn't support those properties, which also means it's a system that requires H.264 RAW encoding @@ -525,16 +459,13 @@ - (void)sdl_handleVideoStartServiceAck:(SDLProtocolMessage *)videoStartServiceAc self.videoFormat.codec = videoAckPayload.videoCodec ?: SDLVideoStreamingCodecH264; self.videoFormat.protocol = videoAckPayload.videoProtocol ?: SDLVideoStreamingProtocolRAW; - [self.videoStreamStateMachine transitionToState:SDLVideoStreamStateReady]; + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateReady]; } #pragma mark Video / Audio Start Service NAK - (void)handleProtocolStartServiceNAKMessage:(SDLProtocolMessage *)startServiceNAK { switch (startServiceNAK.header.serviceType) { - case SDLServiceTypeAudio: { - [self sdl_handleAudioStartServiceNak:startServiceNAK]; - } break; case SDLServiceTypeVideo: { [self sdl_handleVideoStartServiceNak:startServiceNAK]; } @@ -567,11 +498,6 @@ - (void)sdl_handleVideoStartServiceNak:(SDLProtocolMessage *)videoStartServiceNa [self sdl_sendVideoStartService]; } -- (void)sdl_handleAudioStartServiceNak:(SDLProtocolMessage *)audioStartServiceNak { - SDLLogW(@"Audio service failed to start due to NAK"); - [self sdl_transitionToStoppedState:SDLServiceTypeAudio]; -} - #pragma mark Video / Audio End Service - (void)handleProtocolEndServiceACKMessage:(SDLProtocolMessage *)endServiceACK { @@ -584,22 +510,6 @@ - (void)handleProtocolEndServiceNAKMessage:(SDLProtocolMessage *)endServiceNAK { [self sdl_transitionToStoppedState:endServiceNAK.header.serviceType]; } -#pragma mark - SDLVideoEncoderDelegate - -- (void)videoEncoder:(SDLH264VideoEncoder *)encoder hasEncodedFrame:(NSData *)encodedVideo { - SDLLogV(@"Video encoder encoded frame, sending data"); - // Do we care about app state here? I don't think so… - BOOL capableVideoStreamState = [self.videoStreamStateMachine isCurrentState:SDLVideoStreamStateReady]; - - if (self.isHmiStateVideoStreamCapable && capableVideoStreamState) { - if (self.isVideoEncrypted) { - [self.protocol sendEncryptedRawData:encodedVideo onService:SDLServiceTypeVideo]; - } else { - [self.protocol sendRawData:encodedVideo withServiceType:SDLServiceTypeVideo]; - } - } -} - #pragma mark - SDL RPC Notification callbacks - (void)sdl_didReceiveRegisterAppInterfaceResponse:(SDLRPCResponseNotification *)notification { @@ -632,34 +542,59 @@ - (void)sdl_didReceiveRegisterAppInterfaceResponse:(SDLRPCResponseNotification * SDLLogD(@"Determined base screen size on display capabilities: %@", NSStringFromCGSize(_screenSize)); } -- (void)sdl_hmiLevelDidChange:(SDLRPCNotificationNotification *)notification { +- (void)sdl_hmiStatusDidChange:(SDLRPCNotificationNotification *)notification { NSAssert([notification.notification isKindOfClass:[SDLOnHMIStatus class]], @"A notification was sent with an unanticipated object"); if (![notification.notification isKindOfClass:[SDLOnHMIStatus class]]) { return; } SDLOnHMIStatus *hmiStatus = (SDLOnHMIStatus*)notification.notification; - SDLLogD(@"HMI level changed from level %@ to level %@", self.hmiLevel, hmiStatus.hmiLevel); - self.hmiLevel = hmiStatus.hmiLevel; + + if (![self.hmiLevel isEqualToEnum:hmiStatus.hmiLevel]) { + SDLLogD(@"HMI level changed from level %@ to level %@", self.hmiLevel, hmiStatus.hmiLevel); + self.hmiLevel = hmiStatus.hmiLevel; + } + + SDLVideoStreamingState newState = hmiStatus.videoStreamingState ?: SDLVideoStreamingStateStreamable; + if (![self.videoStreamingState isEqualToEnum:newState]) { + SDLLogD(@"Video streaming state changed from %@ to %@", self.videoStreamingState, hmiStatus.videoStreamingState); + self.videoStreamingState = newState; + } + + // if startWithProtocol has not been called yet, abort here + if (!self.protocol) { return; } if (self.isHmiStateVideoStreamCapable) { [self sdl_startVideoSession]; } else { [self sdl_stopVideoSession]; } +} - if (self.isHmiStateAudioStreamCapable) { - [self sdl_startAudioSession]; - } else { - [self sdl_stopAudioSession]; +#pragma mark - SDLVideoEncoderDelegate + +- (void)videoEncoder:(SDLH264VideoEncoder *)encoder hasEncodedFrame:(NSData *)encodedVideo { + SDLLogV(@"Video encoder encoded frame, sending data"); + // Do we care about app state here? I don't think so… + BOOL capableVideoStreamState = [self.videoStreamStateMachine isCurrentState:SDLVideoStreamManagerStateReady]; + + if (self.isHmiStateVideoStreamCapable && capableVideoStreamState) { + if (self.isVideoEncrypted) { + [self.protocol sendEncryptedRawData:encodedVideo onService:SDLServiceTypeVideo]; + } else { + [self.protocol sendRawData:encodedVideo withServiceType:SDLServiceTypeVideo]; + } } } - #pragma mark - Streaming session helpers - (void)sdl_startVideoSession { SDLLogV(@"Attempting to start video session"); + if (!self.protocol) { + SDLLogV(@"Video manager is not yet started"); + return; + } if (!self.isHmiStateVideoStreamCapable) { SDLLogV(@"SDL Core is not ready to stream video. Video start service request will not be sent."); @@ -671,14 +606,8 @@ - (void)sdl_startVideoSession { return; } - if (self.shouldRestartVideoStream && [self.videoStreamStateMachine isCurrentState:SDLVideoStreamStateReady]) { - SDLLogV(@"Video needs to be restarted. Stopping video stream."); - [self sdl_stopVideoSession]; - return; - } - - if ([self.videoStreamStateMachine isCurrentState:SDLVideoStreamStateStopped] && self.isHmiStateVideoStreamCapable) { - [self.videoStreamStateMachine transitionToState:SDLVideoStreamStateStarting]; + if ([self.videoStreamStateMachine isCurrentState:SDLVideoStreamManagerStateStopped] && self.isHmiStateVideoStreamCapable) { + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateStarting]; } else { SDLLogE(@"Unable to send video start service request\n" "Video State must be in state STOPPED: %@\n" @@ -687,47 +616,22 @@ - (void)sdl_startVideoSession { } } -- (void)sdl_startAudioSession { - SDLLogV(@"Attempting to start audio session"); - if (!self.isStreamingSupported) { - return; - } - - if ([self.audioStreamStateMachine isCurrentState:SDLAudioStreamStateStopped] - && self.isHmiStateAudioStreamCapable) { - [self.audioStreamStateMachine transitionToState:SDLAudioStreamStateStarting]; - } -} - - (void)sdl_stopVideoSession { SDLLogV(@"Attempting to stop video session"); if (!self.isStreamingSupported) { return; } - if (self.isVideoConnected) { - [self.videoStreamStateMachine transitionToState:SDLVideoStreamStateShuttingDown]; - } -} - -- (void)sdl_stopAudioSession { - SDLLogV(@"Attempting to stop audio session"); - if (!self.isStreamingSupported) { - return; - } - if (self.isAudioConnected) { - [self.audioStreamStateMachine transitionToState:SDLAudioStreamStateShuttingDown]; + if (self.isVideoConnected || self.isVideoSuspended) { + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateShuttingDown]; } } - (void)sdl_transitionToStoppedState:(SDLServiceType)serviceType { switch (serviceType) { - case SDLServiceTypeAudio: - [self.audioStreamStateMachine transitionToState:SDLAudioStreamStateStopped]; - break; case SDLServiceTypeVideo: - [self.videoStreamStateMachine transitionToState:SDLVideoStreamStateStopped]; + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateStopped]; break; default: break; @@ -819,7 +723,7 @@ - (void)sdl_sendVideoStartService { [self.protocol startSecureServiceWithType:SDLServiceTypeVideo payload:startVideoPayload.data completionHandler:^(BOOL success, NSError *error) { if (error) { SDLLogE(@"TLS setup error: %@", error); - [self.videoStreamStateMachine transitionToState:SDLVideoStreamStateStopped]; + [self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateStopped]; } }]; } else { @@ -828,10 +732,9 @@ - (void)sdl_sendVideoStartService { } } - #pragma mark Setters / Getters -- (void)setRootViewController:(UIViewController *)rootViewController { +- (void)setRootViewController:(nullable UIViewController *)rootViewController { if (self.focusableItemManager != nil) { self.focusableItemManager.viewController = rootViewController; } @@ -841,22 +744,27 @@ - (void)setRootViewController:(UIViewController *)rootViewController { } } -- (BOOL)isAppStateVideoStreamCapable { - return [self.appStateMachine isCurrentState:SDLAppStateActive]; +- (nullable UIViewController *)rootViewController { + if (self.carWindow != nil) { + return self.carWindow.rootViewController; + } else { + return nil; + } } -- (BOOL)isHmiStateAudioStreamCapable { - return [self.hmiLevel isEqualToEnum:SDLHMILevelLimited] || [self.hmiLevel isEqualToEnum:SDLHMILevelFull]; +- (BOOL)isAppStateVideoStreamCapable { + return [self.appStateMachine isCurrentState:SDLAppStateActive]; } - (BOOL)isHmiStateVideoStreamCapable { - return [self.hmiLevel isEqualToEnum:SDLHMILevelLimited] || [self.hmiLevel isEqualToEnum:SDLHMILevelFull]; + return (![self.videoStreamingState isEqualToEnum:SDLVideoStreamingStateNotStreamable] + && ([self.hmiLevel isEqualToEnum:SDLHMILevelLimited] || [self.hmiLevel isEqualToEnum:SDLHMILevelFull])); } - (NSArray *)supportedFormats { SDLVideoStreamingFormat *h264raw = [[SDLVideoStreamingFormat alloc] initWithCodec:SDLVideoStreamingCodecH264 protocol:SDLVideoStreamingProtocolRAW]; SDLVideoStreamingFormat *h264rtp = [[SDLVideoStreamingFormat alloc] initWithCodec:SDLVideoStreamingCodecH264 protocol:SDLVideoStreamingProtocolRTP]; - + return @[h264raw, h264rtp]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeButton.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeButton.h index 11f25a8..4dc6280 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeButton.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeButton.h @@ -79,7 +79,7 @@ NS_ASSUME_NONNULL_BEGIN @property (copy, nonatomic) SDLRPCButtonNotificationHandler handler; /** - * @abstract The name of the button to subscribe to + * The name of the button to subscribe to * @discussion An enum value, see SDLButtonName */ @property (strong, nonatomic) SDLButtonName buttonName; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeButtonResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeButtonResponse.h index 74a6fad..40f2b4c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeButtonResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeButtonResponse.h @@ -4,14 +4,13 @@ #import "SDLRPCResponse.h" -/** - * SubscribeButton Response is sent, when SDLSubscribeButton has been called - * - * Since SmartDeviceLink 1.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SDLSubscribeButton + + Since SmartDeviceLink 1.0 + */ @interface SDLSubscribeButtonResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleData.h index 4e0411d..8549e58 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleData.h @@ -5,129 +5,227 @@ #import "SDLRPCRequest.h" /** - * Subscribes for specific published vehicle data items. The data will be only - * sent, if it has changed. The application will be notified by the - * onVehicleData notification whenever new data is available. The update rate is - * very much dependent on sensors, vehicle architecture and vehicle type. Be - * also prepared for the situation that a signal is not available on a vehicle - *

      - * Function Group: Location, VehicleInfo and DrivingChara - *

      - * HMILevel needs to be FULL, LIMITED or BACKGROUND - *

      + * Subscribes to specific published vehicle data items. The data will be only sent if it has changed. The application will be notified by the `onVehicleData` notification whenever new data is available. The update rate is dependent on sensors, vehicle architecture and vehicle type. * - * Since SmartDeviceLink 2.0
      - * See SDLUnsubscribeVehicleData SDLGetVehicleData + * @warning A vehicle may only support a subset of the vehicle data items. Be prepared for the situation where a signal is not available on a vehicle. + * + * Function Group: Location, VehicleInfo and DrivingChara + * HMILevel needs to be FULL, LIMITED or BACKGROUND + * Since SmartDeviceLink 2.0 + * See SDLUnsubscribeVehicleData, SDLGetVehicleData */ NS_ASSUME_NONNULL_BEGIN @interface SDLSubscribeVehicleData : SDLRPCRequest -- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus; - /** - * @abstract A boolean value. If true, subscribes Gps data + * Convenience init for subscribing to all possible vehicle data items. + * + * @param accelerationPedalPosition Subscribe to accelerationPedalPosition + * @param airbagStatus Subscribe to airbagStatus + * @param beltStatus Subscribe to beltStatus + * @param bodyInformation Subscribe to bodyInformation + * @param clusterModeStatus Subscribe to clusterModeStatus + * @param deviceStatus Subscribe to deviceStatus + * @param driverBraking Subscribe to driverBraking + * @param eCallInfo Subscribe to eCallInfo + * @param emergencyEvent Subscribe to emergencyEvent + * @param engineTorque Subscribe to engineTorque + * @param externalTemperature Subscribe to externalTemperature + * @param fuelLevel Subscribe to fuelLevel + * @param fuelLevelState Subscribe to fuelLevelState + * @param gps Subscribe to gps + * @param headLampStatus Subscribe to headLampStatus + * @param instantFuelConsumption Subscribe to instantFuelConsumption + * @param myKey Subscribe to myKey + * @param odometer Subscribe to odometer + * @param prndl Subscribe to prndl + * @param rpm Subscribe to rpm + * @param speed Subscribe to speed + * @param steeringWheelAngle Subscribe to steeringWheelAngle + * @param tirePressure Subscribe to tirePressure + * @param wiperStatus Subscribe to wiperStatus + * @return A SDLSubscribeVehicleData object + */ +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:driverBraking:eCallInfo:electronicParkBrakeStatus:emergencyEvent:engineOilLife:engineTorque:externalTemperature:fuelLevel:fuelLevelState:fuelRange:gps:headLampStatus:instantFuelConsumption:myKey:odometer:prndl:rpm:speed:steeringWheelAngle:tirePressure:turnSignal:wiperStatus: instead"); + +/** + * Convenience init for subscribing to all possible vehicle data items. + * + * @param accelerationPedalPosition Subscribe to accelerationPedalPosition + * @param airbagStatus Subscribe to airbagStatus + * @param beltStatus Subscribe to beltStatus + * @param bodyInformation Subscribe to bodyInformation + * @param clusterModeStatus Subscribe to clusterModeStatus + * @param deviceStatus Subscribe to deviceStatus + * @param driverBraking Subscribe to driverBraking + * @param eCallInfo Subscribe to eCallInfo + * @param electronicParkBrakeStatus Subscribe to electronicParkBrakeStatus + * @param emergencyEvent Subscribe to emergencyEvent + * @param engineOilLife Subscribe to engineOilLife + * @param engineTorque Subscribe to engineTorque + * @param externalTemperature Subscribe to externalTemperature + * @param fuelLevel Subscribe to fuelLevel + * @param fuelLevelState Subscribe to fuelLevelState + * @param fuelRange Subscribe to fuelRange + * @param gps Subscribe to gps + * @param headLampStatus Subscribe to headLampStatus + * @param instantFuelConsumption Subscribe to instantFuelConsumption + * @param myKey Subscribe to myKey + * @param odometer Subscribe to odometer + * @param prndl Subscribe to prndl + * @param rpm Subscribe to rpm + * @param speed Subscribe to speed + * @param steeringWheelAngle Subscribe to steeringWheelAngle + * @param tirePressure Subscribe to tirePressure + * @param turnSignal Subscribe to turnSignal + * @param wiperStatus Subscribe to wiperStatus + * @return A SDLSubscribeVehicleData object + */ +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus; + +/** + * A boolean value. If true, subscribes GPS data. */ @property (strong, nonatomic, nullable) NSNumber *gps; /** - * @abstract A boolean value. If true, subscribes speed data + * A boolean value. If true, subscribes Speed data. */ @property (strong, nonatomic, nullable) NSNumber *speed; /** - * @abstract A boolean value. If true, subscribes rpm data + * A boolean value. If true, subscribes RPM data. */ @property (strong, nonatomic, nullable) NSNumber *rpm; /** - * @abstract A boolean value. If true, subscribes FuelLevel data + * A boolean value. If true, subscribes Fuel Level data. */ @property (strong, nonatomic, nullable) NSNumber *fuelLevel; /** - * @abstract A boolean value. If true, subscribes fuelLevel_State data + * A boolean value. If true, subscribes Fuel Level State data. */ @property (strong, nonatomic, nullable) NSNumber *fuelLevel_State; /** - * @abstract A boolean value. If true, subscribes instantFuelConsumption data + * A boolean value. If true, subscribes Fuel Range data. + */ +@property (strong, nonatomic, nullable) NSNumber *fuelRange; + +/** + * A boolean value. If true, subscribes Instant Fuel Consumption data. */ @property (strong, nonatomic, nullable) NSNumber *instantFuelConsumption; /** - * @abstract A boolean value. If true, subscribes externalTemperature data + * A boolean value. If true, subscribes External Temperature data. */ @property (strong, nonatomic, nullable) NSNumber *externalTemperature; /** - * @abstract A boolean value. If true, subscribes Currently selected gear data + * A boolean value. If true, subscribes PRNDL data. */ @property (strong, nonatomic, nullable) NSNumber *prndl; /** - * @abstract A boolean value. If true, subscribes tire pressure status data + * A boolean value. If true, subscribes Tire Pressure status data. */ @property (strong, nonatomic, nullable) NSNumber *tirePressure; /** - * @abstract A boolean value. If true, subscribes odometer data + * A boolean value. If true, subscribes Odometer data. */ @property (strong, nonatomic, nullable) NSNumber *odometer; /** - * @abstract A boolean value. If true, subscribes belt Status data + * A boolean value. If true, subscribes Belt Status data. */ @property (strong, nonatomic, nullable) NSNumber *beltStatus; /** - * @abstract A boolean value. If true, subscribes body Information data + * A boolean value. If true, subscribes Body Information data. */ @property (strong, nonatomic, nullable) NSNumber *bodyInformation; /** - * @abstract A boolean value. If true, subscribes device Status data + * A boolean value. If true, subscribes Device Status data. */ @property (strong, nonatomic, nullable) NSNumber *deviceStatus; /** - * @abstract A boolean value. If true, subscribes driver Braking data + * A boolean value. If true, subscribes Driver Braking data. */ @property (strong, nonatomic, nullable) NSNumber *driverBraking; /** - * @abstract A boolean value. If true, subscribes wiper Status data + * A boolean value. If true, subscribes Wiper Status data. */ @property (strong, nonatomic, nullable) NSNumber *wiperStatus; /** - * @abstract A boolean value. If true, subscribes Head Lamp Status data + * A boolean value. If true, subscribes Head Lamp Status data. */ @property (strong, nonatomic, nullable) NSNumber *headLampStatus; /** - * @abstract A boolean value. If true, subscribes Engine Torque data + * A boolean value. If true, subscribes to Engine Oil Life data. + */ +@property (strong, nonatomic, nullable) NSNumber *engineOilLife; + +/** + * A boolean value. If true, subscribes Engine Torque data. */ @property (strong, nonatomic, nullable) NSNumber *engineTorque; /** - * @abstract A boolean value. If true, means the accPedalPosition data has been - * subscribed. + * A boolean value. If true, subscribes Acc Pedal Position data. */ @property (strong, nonatomic, nullable) NSNumber *accPedalPosition; /** - * @abstract A boolean value. If true, means the steeringWheelAngle data has been - * subscribed. + * A boolean value. If true, subscribes Steering Wheel Angle data. */ @property (strong, nonatomic, nullable) NSNumber *steeringWheelAngle; + +/** + * A boolean value. If true, subscribes eCall Info data. + */ @property (strong, nonatomic, nullable) NSNumber *eCallInfo; + +/** + * A boolean value. If true, subscribes Airbag Status data. + */ @property (strong, nonatomic, nullable) NSNumber *airbagStatus; + +/** + * A boolean value. If true, subscribes Emergency Event data. + */ @property (strong, nonatomic, nullable) NSNumber *emergencyEvent; + +/** + * A boolean value. If true, subscribes Cluster Mode Status data. + */ @property (strong, nonatomic, nullable) NSNumber *clusterModeStatus; + +/** + * A boolean value. If true, subscribes myKey data. + */ @property (strong, nonatomic, nullable) NSNumber *myKey; +/** + * A boolean value. If true, subscribes to the electronic parking brake status. + */ +@property (strong, nonatomic, nullable) NSNumber *electronicParkBrakeStatus; + +/** + * A boolean value. If true, subscribes to the turn signal status. + */ +@property (strong, nonatomic, nullable) NSNumber *turnSignal; + + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleData.m index d897304..0134965 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleData.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleData.m @@ -18,6 +18,10 @@ - (instancetype)init { } - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus { + return [self initWithAccelerationPedalPosition:accelerationPedalPosition airbagStatus:airbagStatus beltStatus:beltStatus bodyInformation:bodyInformation clusterModeStatus:clusterModeStatus deviceStatus:deviceStatus driverBraking:driverBraking eCallInfo:eCallInfo electronicParkBrakeStatus:NO emergencyEvent:emergencyEvent engineOilLife:NO engineTorque:engineTorque externalTemperature:externalTemperature fuelLevel:fuelLevel fuelLevelState:fuelLevelState fuelRange:NO gps:gps headLampStatus:headLampStatus instantFuelConsumption:instantFuelConsumption myKey:myKey odometer:odometer prndl:prndl rpm:rpm speed:speed steeringWheelAngle:steeringWheelAngle tirePressure:tirePressure turnSignal:NO wiperStatus:wiperStatus]; +} + +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus { self = [self init]; if (!self) { return nil; @@ -31,11 +35,14 @@ - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPositio self.deviceStatus = @(deviceStatus); self.driverBraking = @(driverBraking); self.eCallInfo = @(eCallInfo); + self.electronicParkBrakeStatus = @(electronicParkBrakeStatus); self.emergencyEvent = @(emergencyEvent); + self.engineOilLife = @(engineOilLife); self.engineTorque = @(engineTorque); self.externalTemperature = @(externalTemperature); self.fuelLevel = @(fuelLevel); self.fuelLevel_State = @(fuelLevelState); + self.fuelRange = @(fuelRange); self.myKey = @(myKey); self.odometer = @(odometer); self.gps = @(gps); @@ -46,6 +53,7 @@ - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPositio self.speed = @(speed); self.steeringWheelAngle = @(steeringWheelAngle); self.tirePressure = @(tirePressure); + self.turnSignal = @(turnSignal); self.wiperStatus = @(wiperStatus); return self; @@ -91,6 +99,14 @@ - (void)setFuelLevel_State:(nullable NSNumber *)fuelLevel_State { return [parameters sdl_objectForName:SDLNameFuelLevelState]; } +- (void)setFuelRange:(nullable NSNumber *)fuelRange { + [parameters sdl_setObject:fuelRange forName:SDLNameFuelRange]; +} + +- (nullable NSNumber *)fuelRange { + return [parameters sdl_objectForName:SDLNameFuelRange]; +} + - (void)setInstantFuelConsumption:(nullable NSNumber *)instantFuelConsumption { [parameters sdl_setObject:instantFuelConsumption forName:SDLNameInstantFuelConsumption]; } @@ -179,6 +195,14 @@ - (void)setHeadLampStatus:(nullable NSNumber *)headLampStatus { return [parameters sdl_objectForName:SDLNameHeadLampStatus]; } +- (void)setEngineOilLife:(nullable NSNumber *)engineOilLife { + [parameters sdl_setObject:engineOilLife forName:SDLNameEngineOilLife]; +} + +- (nullable NSNumber *)engineOilLife { + return [parameters sdl_objectForName:SDLNameEngineOilLife]; +} + - (void)setEngineTorque:(nullable NSNumber *)engineTorque { [parameters sdl_setObject:engineTorque forName:SDLNameEngineTorque]; } @@ -243,6 +267,21 @@ - (void)setMyKey:(nullable NSNumber *)myKey { return [parameters sdl_objectForName:SDLNameMyKey]; } +- (void)setElectronicParkBrakeStatus:(nullable NSNumber *)electronicParkBrakeStatus { + [parameters sdl_setObject:electronicParkBrakeStatus forName:SDLNameElectronicParkBrakeStatus]; +} + +- (nullable NSNumber *)electronicParkBrakeStatus { + return [parameters sdl_objectForName:SDLNameElectronicParkBrakeStatus]; +} + +- (void)setTurnSignal:(nullable NSNumber *)turnSignal { + [parameters sdl_setObject:turnSignal forName:SDLNameTurnSignal]; +} + +- (nullable NSNumber *)turnSignal { + return [parameters sdl_objectForName:SDLNameTurnSignal]; +} @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h index b32c0ca..1cc10c6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleDataResponse.h @@ -7,9 +7,9 @@ /** - * Subscribe Vehicle Data Response is sent, when SDLSubscribeVehicleData has been called - * - * Since SmartDeviceLink 2.0 + Response to SDLSubscribeVehicleData + + Since SmartDeviceLink 2.0 */ NS_ASSUME_NONNULL_BEGIN @@ -17,105 +17,201 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLSubscribeVehicleDataResponse : SDLRPCResponse /** - * @abstract A SDLVehicleDataResult* value. See GPSData. + The result of requesting to subscribe to the GPSData. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *gps; /** - * @abstract A SDLVehicleDataResult* value. The vehicle speed in kilometers per hour. + The result of requesting to subscribe to the vehicle speed in kilometers per hour. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *speed; /** - * @abstract A SDLVehicleDataResult* value. The number of revolutions per minute of the engine. + The result of requesting to subscribe to the number of revolutions per minute of the engine. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *rpm; /** - * @abstract A SDLVehicleDataResult* value. The fuel level in the tank (percentage) + The result of requesting to subscribe to the fuel level in the tank (percentage) + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel; /** - * @abstract A SDLVehicleDataResult* value. The fuel level state. + The result of requesting to subscribe to the fuel level state. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel_State; /** - * @abstract A SDLVehicleDataResult* value. The instantaneous fuel consumption in microlitres. + The result of requesting to subscribe to the fuel range. + + Optional + */ +@property (strong, nonatomic, nullable) SDLVehicleDataResult *fuelRange; + +/** + The result of requesting to subscribe to the instantaneous fuel consumption in microlitres. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *instantFuelConsumption; /** - * @abstract A SDLVehicleDataResult* value. The external temperature in degrees celsius. + The result of requesting to subscribe to the external temperature in degrees celsius. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *externalTemperature; /** - * @abstract A SDLVehicleDataResult* value. See PRNDL. + The result of requesting to subscribe to the PRNDL status. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *prndl; /** - * @abstract A SDLVehicleDataResult* value. See TireStatus. + The result of requesting to subscribe to the tireStatus. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *tirePressure; /** - * @abstract A SDLVehicleDataResult* value. Odometer in km. + The result of requesting to subscribe to the odometer in km. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *odometer; /** - * @abstract A SDLVehicleDataResult* value. The status of the seat belts. + The result of requesting to subscribe to the status of the seat belts. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *beltStatus; /** - * @abstract A SDLVehicleDataResult* value. The body information including power modes. + The result of requesting to subscribe to the body information including power modes. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *bodyInformation; /** - * @abstract A SDLVehicleDataResult* value. The device status including signal and battery strength. + The result of requesting to subscribe to the device status including signal and battery strength. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *deviceStatus; /** - * @abstract A SDLVehicleDataResult* value. The status of the brake pedal. + The result of requesting to subscribe to the status of the brake pedal. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *driverBraking; /** - * @abstract A SDLVehicleDataResult* value. The status of the wipers. + The result of requesting to subscribe to the status of the wipers. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *wiperStatus; /** - * @abstract A SDLVehicleDataResult* value. Status of the head lamps. + The result of requesting to subscribe to the status of the head lamps. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *headLampStatus; /** - * @abstract A SDLVehicleDataResult* value. Torque value for engine (in Nm) on non-diesel variants. + The result of requesting to subscribe to the estimated percentage of remaining oil life of the engine. + + Optional + */ +@property (strong, nonatomic, nullable) SDLVehicleDataResult *engineOilLife; + +/** + The result of requesting to subscribe to the torque value for engine (in Nm) on non-diesel variants. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *engineTorque; /** - * @abstract A SDLVehicleDataResult* value. Accelerator pedal position (percentage depressed) + The result of requesting to subscribe to the accelerator pedal position (percentage depressed) + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *accPedalPosition; /** - * @abstract A SDLVehicleDataResult* value. Current angle of the steering wheel (in deg) + The result of requesting to subscribe to the current angle of the steering wheel (in deg) + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *steeringWheelAngle; + +/** + The result of requesting to subscribe to the emergency call info + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *eCallInfo; + +/** + The result of requesting to subscribe to the airbag status + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *airbagStatus; + +/** + The result of requesting to subscribe to the emergency event + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *emergencyEvent; + +/** + The result of requesting to subscribe to the cluster modes + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *clusterModes; + +/** + The result of requesting to subscribe to the myKey status + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *myKey; +/** + The result of requesting to subscribe to the electronic parking brake status + + Optional + */ +@property (strong, nonatomic, nullable) SDLVehicleDataResult *electronicParkBrakeStatus; + +/** + The result of requesting to subscribe to the turn signal + + Optional + */ +@property (strong, nonatomic, nullable) SDLVehicleDataResult *turnSignal; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m index 283002a..b39328d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeVehicleDataResponse.m @@ -58,6 +58,14 @@ - (nullable SDLVehicleDataResult *)fuelLevel_State { return [parameters sdl_objectForName:SDLNameFuelLevelState ofClass:SDLVehicleDataResult.class]; } +- (void)setFuelRange:(nullable SDLVehicleDataResult *)fuelRange { + [parameters sdl_setObject:fuelRange forName:SDLNameFuelRange]; +} + +- (nullable SDLVehicleDataResult *)fuelRange { + return [parameters sdl_objectForName:SDLNameFuelRange ofClass:SDLVehicleDataResult.class]; +} + - (void)setInstantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption { [parameters sdl_setObject:instantFuelConsumption forName:SDLNameInstantFuelConsumption]; } @@ -146,6 +154,14 @@ - (nullable SDLVehicleDataResult *)headLampStatus { return [parameters sdl_objectForName:SDLNameHeadLampStatus ofClass:SDLVehicleDataResult.class]; } +- (void)setEngineOilLife:(nullable NSNumber *)engineOilLife { + [parameters sdl_setObject:engineOilLife forName:SDLNameEngineOilLife]; +} + +- (nullable NSNumber *)engineOilLife { + return [parameters sdl_objectForName:SDLNameEngineOilLife]; +} + - (void)setEngineTorque:(nullable SDLVehicleDataResult *)engineTorque { [parameters sdl_setObject:engineTorque forName:SDLNameEngineTorque]; } @@ -210,6 +226,22 @@ - (nullable SDLVehicleDataResult *)myKey { return [parameters sdl_objectForName:SDLNameMyKey ofClass:SDLVehicleDataResult.class]; } +- (void)setElectronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus { + [parameters sdl_setObject:electronicParkBrakeStatus forName:SDLNameElectronicParkBrakeStatus]; +} + +- (nullable SDLVehicleDataResult *)electronicParkBrakeStatus { + return [parameters sdl_objectForName:SDLNameElectronicParkBrakeStatus ofClass:[SDLVehicleDataResult class]]; +} + +- (void)setTurnSignal:(nullable SDLVehicleDataResult *)turnSignal { + [parameters sdl_setObject:turnSignal forName:SDLNameTurnSignal]; +} + +- (nullable SDLVehicleDataResult *)turnSignal { + return [parameters sdl_objectForName:SDLNameTurnSignal ofClass:[SDLVehicleDataResult class]]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeWayPointsResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeWayPointsResponse.h index 86a1f58..7bea341 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeWayPointsResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSubscribeWayPointsResponse.h @@ -5,6 +5,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + Response to SubscribeWayPoints + */ @interface SDLSubscribeWayPointsResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSupportedSeat.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSupportedSeat.h new file mode 100644 index 0000000..7c7df2f --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSupportedSeat.h @@ -0,0 +1,20 @@ +// SDLSupportedSeat.h +// + +#import "SDLEnum.h" + +/** + * List possible seats that is a remote controllable seat. + * + */ +typedef SDLEnum SDLSupportedSeat SDL_SWIFT_ENUM; + +/** + * @abstract Save current seat postions and settings to seat memory. + */ +extern SDLSupportedSeat const SDLSupportedSeatDriver; + +/** + * @abstract Restore / apply the seat memory settings to the current seat. + */ +extern SDLSupportedSeat const SDLSupportedSeatFrontPassenger; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSupportedSeat.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSupportedSeat.m new file mode 100644 index 0000000..f97678b --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSupportedSeat.m @@ -0,0 +1,7 @@ +// SDLSupportedSeat.m +// + +#import "SDLSupportedSeat.h" + +SDLSupportedSeat const SDLSupportedSeatDriver = @"DRIVER"; +SDLSupportedSeat const SDLSupportedSeatFrontPassenger = @"FRONT_PASSENGER"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncMsgVersion.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncMsgVersion.h index 87af0c1..6a920e6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncMsgVersion.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncMsgVersion.h @@ -4,34 +4,34 @@ #import "SDLRPCMessage.h" +NS_ASSUME_NONNULL_BEGIN + /** * Specifies the version number of the SDL V4 interface. This is used by both the application and SDL to declare what interface version each is using. - * + * * @since SDL 1.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLSyncMsgVersion : SDLRPCStruct - (instancetype)initWithMajorVersion:(UInt8)majorVersion minorVersion:(UInt8)minorVersion patchVersion:(UInt8)patchVersion; /** - * @abstract The major version indicates versions that is not-compatible to previous versions + * The major version indicates versions that is not-compatible to previous versions * * Required, Integer, 1 - 10 */ @property (strong, nonatomic) NSNumber *majorVersion; /** - * @abstract The minor version indicates a change to a previous version that should still allow to be run on an older version (with limited functionality) + * The minor version indicates a change to a previous version that should still allow to be run on an older version (with limited functionality) * * Required, Integer, 0 - 1000 */ @property (strong, nonatomic) NSNumber *minorVersion; /** - * @abstract Optional, allows backward-compatible fixes to the API without increasing the minor version of the interface + * Allows backward-compatible fixes to the API without increasing the minor version of the interface * + * Optional, Integer, 0 - 1000 */ @property (strong, nonatomic, nullable) NSNumber *patchVersion; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncPData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncPData.h index 8db5154..c19fae4 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncPData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncPData.h @@ -6,6 +6,11 @@ NS_ASSUME_NONNULL_BEGIN +/* + * Allows binary data in the form of SyncP packets to be sent to the SYNC module. Binary data is in binary part of hybrid msg. + * + * *** DEPRECATED *** + */ @interface SDLSyncPData : SDLRPCRequest @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncPDataResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncPDataResponse.h index ae3034a..43b228a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncPDataResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSyncPDataResponse.h @@ -6,6 +6,11 @@ NS_ASSUME_NONNULL_BEGIN +/** + Response to SyncPData + + DEPRECATED + */ @interface SDLSyncPDataResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemAction.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemAction.h index 03f13e8..9c302cf 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemAction.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemAction.h @@ -5,22 +5,21 @@ #import "SDLEnum.h" /** - * - * Enumeration that describes system actions that can be triggered. + * Enumeration that describes system actions that can be triggered. Used in SoftButton. */ typedef SDLEnum SDLSystemAction SDL_SWIFT_ENUM; /** - @abstract Default_Action + A default soft button action */ extern SDLSystemAction const SDLSystemActionDefaultAction; /** - @abstract Steal_Focus + An action causing your app to steal HMI focus */ extern SDLSystemAction const SDLSystemActionStealFocus; /** - @abstract Keep_Context + An action causing you to keep context */ extern SDLSystemAction const SDLSystemActionKeepContext; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapability.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapability.h index 3bcd544..87ffe95 100755 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapability.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapability.h @@ -20,7 +20,8 @@ NS_ASSUME_NONNULL_BEGIN /** The systemCapabilityType indicates which type of data should be changed and identifies which data object exists in this struct. For example, if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist. - * First implemented in SDL Core v4.4 + + First implemented in SDL Core v4.4 */ @interface SDLSystemCapability : SDLRPCStruct @@ -32,14 +33,29 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithRemoteControlCapability:(SDLRemoteControlCapabilities *)capability; +/** + Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other parameter included. + */ @property (strong, nonatomic) SDLSystemCapabilityType systemCapabilityType; +/** + Describes extended capabilities for onboard navigation system + */ @property (nullable, strong, nonatomic) SDLNavigationCapability *navigationCapability; +/** + Describes extended capabilities of the module's phone feature + */ @property (nullable, strong, nonatomic) SDLPhoneCapability *phoneCapability; +/** + Describes extended capabilities of the module's phone feature + */ @property (nullable, strong, nonatomic) SDLVideoStreamingCapability *videoStreamingCapability; +/** + Describes extended capabilities of the module's phone feature + */ @property (nullable, strong, nonatomic) SDLRemoteControlCapabilities *remoteControlCapability; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityManager.h new file mode 100644 index 0000000..36f58a7 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityManager.h @@ -0,0 +1,194 @@ +// +// SDLSystemCapabilityManager.h +// SmartDeviceLink +// +// Created by Nicole on 3/26/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +#import "SDLHMIZoneCapabilities.h" +#import "SDLPrerecordedSpeech.h" +#import "SDLSpeechCapabilities.h" +#import "SDLSystemCapabilityType.h" +#import "SDLVrCapabilities.h" + +@class SDLAudioPassThruCapabilities; +@class SDLButtonCapabilities; +@class SDLDisplayCapabilities; +@class SDLHMICapabilities; +@class SDLNavigationCapability; +@class SDLPhoneCapability; +@class SDLPresetBankCapabilities; +@class SDLRemoteControlCapabilities; +@class SDLSoftButtonCapabilities; +@class SDLSystemCapabilityManager; +@class SDLVideoStreamingCapability; + +@protocol SDLConnectionManagerType; + +NS_ASSUME_NONNULL_BEGIN + + +/** + * A completion handler called after a request for the capability type is returned from the remote system. + * + * @param error The error returned if the request for a capability type failed. The error is nil if the request was successful. + * @param systemCapabilityManager The system capability manager + */ +typedef void (^SDLUpdateCapabilityHandler)(NSError * _Nullable error, SDLSystemCapabilityManager *systemCapabilityManager); + + +@interface SDLSystemCapabilityManager : NSObject + +/** + * @see SDLDisplayCapabilities + * + * Optional + */ +@property (nullable, strong, nonatomic, readonly) SDLDisplayCapabilities *displayCapabilities; + +/** + * @see SDLHMICapabilities + * + * Optional + */ +@property (nullable, strong, nonatomic, readonly) SDLHMICapabilities *hmiCapabilities; + +/** + * If returned, the platform supports on-screen SoftButtons + * + * @see SDLSoftButtonCapabilities + * + * Optional, Array of length 1 - 100, of SDLSoftButtonCapabilities + */ +@property (nullable, copy, nonatomic, readonly) NSArray *softButtonCapabilities; + +/** + * @see SDLButtonCapabilities + * + * Optional, Array of length 1 - 100, of SDLButtonCapabilities + */ +@property (nullable, copy, nonatomic, readonly) NSArray *buttonCapabilities; + +/** + * If returned, the platform supports custom on-screen Presets + * + * @see SDLPresetBankCapabilities + * + * Optional + */ +@property (nullable, strong, nonatomic, readonly) SDLPresetBankCapabilities *presetBankCapabilities; + +/** + * @see SDLHMIZoneCapabilities + * + * Optional, Array of length 1 - 100, of SDLHMIZoneCapabilities + */ +@property (nullable, copy, nonatomic, readonly) NSArray *hmiZoneCapabilities; + +/** + * @see SDLSpeechCapabilities + * + * Optional, Array of length 1 - 100, of SDLSpeechCapabilities + */ +@property (nullable, copy, nonatomic, readonly) NSArray *speechCapabilities; + +/** + * @see SDLPrerecordedSpeech + * + * Optional, Array of length 1 - 100, of SDLPrerecordedSpeech + */ +@property (nullable, copy, nonatomic, readonly) NSArray *prerecordedSpeechCapabilities; + +/** + * @see SDLVRCapabilities + * + * True if the head unit supports voice recognition; false if not. + */ +@property (nonatomic, assign, readonly) BOOL vrCapability; + +/** + * @see SDLAudioPassThruCapabilities + * + * Optional, Array of length 1 - 100, of SDLAudioPassThruCapabilities + */ +@property (nullable, copy, nonatomic, readonly) NSArray *audioPassThruCapabilities; + +/** + * @see SDLAudioPassThruCapabilities + * + * Optional, Array of length 1 - 100, of SDLAudioPassThruCapabilities + */ +@property (nullable, strong, nonatomic, readonly) SDLAudioPassThruCapabilities *pcmStreamCapability; + +/** + * If returned, the platform supports navigation + * + * @see SDLNavigationCapability + * + * Optional + */ +@property (nullable, strong, nonatomic, readonly) SDLNavigationCapability *navigationCapability; + +/** + * If returned, the platform supports making phone calls + * + * @see SDLPhoneCapability + * + * Optional + */ +@property (nullable, strong, nonatomic, readonly) SDLPhoneCapability *phoneCapability; + +/** + * If returned, the platform supports video streaming + * + * @see SDLVideoStreamingCapability + * + * Optional + */ +@property (nullable, strong, nonatomic, readonly) SDLVideoStreamingCapability *videoStreamingCapability; + +/** + * If returned, the platform supports remote control capabilities + * + * @see SDLRemoteControlCapabilities + * + * Optional + */ +@property (nullable, strong, nonatomic, readonly) SDLRemoteControlCapabilities *remoteControlCapability; + +/** + * Init is unavailable. Dependencies must be injected using initWithConnectionManager: + * + * @return nil + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + * Creates a new system capability manager with a specified connection manager + * + * @param manager A connection manager to use to forward on RPCs + * + * @return An instance of SDLSystemCapabilityManager + */ +- (instancetype)initWithConnectionManager:(id)manager NS_DESIGNATED_INITIALIZER; + +/** + * Stops the manager. This method is used internally. + */ +- (void)stop; + +/** + * Retrieves a capability type from the remote system. This function must be called in order to retrieve the values of `navigationCapability`, `phoneCapability`, `videoStreamingCapability` and `remoteControlCapability`. If you do not call this method first, those values will be nil. After calling this method, assuming there is no error in the handler, you may retrieve the capability you requested from the manager within the handler. + * + * @param type The type of capability to retrieve + * @param handler The handler to be called when the retrieval is complete + */ +- (void)updateCapabilityType:(SDLSystemCapabilityType)type completionHandler:(SDLUpdateCapabilityHandler)handler; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityManager.m new file mode 100644 index 0000000..cd9db46 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityManager.m @@ -0,0 +1,156 @@ +// +// SDLSystemCapabilityManager.m +// SmartDeviceLink +// +// Created by Nicole on 3/26/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLSystemCapabilityManager.h" + +#import "SDLConnectionManagerType.h" +#import "SDLGenericResponse.h" +#import "SDLGetSystemCapability.h" +#import "SDLGetSystemCapabilityResponse.h" +#import "SDLLogMacros.h" +#import "SDLNotificationConstants.h" +#import "SDLRegisterAppInterfaceResponse.h" +#import "SDLRPCResponseNotification.h" +#import "SDLSetDisplayLayoutResponse.h" +#import "SDLSystemCapability.h" +#import "SDLVideoStreamingCapability.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLSystemCapabilityManager () + +@property (weak, nonatomic) id connectionManager; +@property (copy, nonatomic, nullable) SDLUpdateCapabilityHandler systemCapabilityHandler; + +@property (nullable, strong, nonatomic, readwrite) SDLDisplayCapabilities *displayCapabilities; +@property (nullable, strong, nonatomic, readwrite) SDLHMICapabilities *hmiCapabilities; +@property (nullable, copy, nonatomic, readwrite) NSArray *softButtonCapabilities; +@property (nullable, copy, nonatomic, readwrite) NSArray *buttonCapabilities; +@property (nullable, strong, nonatomic, readwrite) SDLPresetBankCapabilities *presetBankCapabilities; +@property (nullable, copy, nonatomic, readwrite) NSArray *hmiZoneCapabilities; +@property (nullable, copy, nonatomic, readwrite) NSArray *speechCapabilities; +@property (nullable, copy, nonatomic, readwrite) NSArray *prerecordedSpeechCapabilities; +@property (nonatomic, assign, readwrite) BOOL vrCapability; +@property (nullable, copy, nonatomic, readwrite) NSArray *audioPassThruCapabilities; +@property (nullable, strong, nonatomic, readwrite) SDLAudioPassThruCapabilities *pcmStreamCapability; +@property (nullable, strong, nonatomic, readwrite) SDLNavigationCapability *navigationCapability; +@property (nullable, strong, nonatomic, readwrite) SDLPhoneCapability *phoneCapability; +@property (nullable, strong, nonatomic, readwrite) SDLVideoStreamingCapability *videoStreamingCapability; +@property (nullable, strong, nonatomic, readwrite) SDLRemoteControlCapabilities *remoteControlCapability; + +@end + +@implementation SDLSystemCapabilityManager + +#pragma mark - Lifecycle + +- (instancetype)initWithConnectionManager:(id)manager { + self = [super init]; + if (!self) { + return nil; + } + + _connectionManager = manager; + [self sdl_registerForNotifications]; + + return self; +} + +- (void)stop { + SDLLogD(@"System Capability manager stopped"); + _displayCapabilities = nil; + _hmiCapabilities = nil; + _softButtonCapabilities = nil; + _buttonCapabilities = nil; + _presetBankCapabilities = nil; + _hmiZoneCapabilities = nil; + _speechCapabilities = nil; + _prerecordedSpeechCapabilities = nil; + _vrCapability = NO; + _audioPassThruCapabilities = nil; + _pcmStreamCapability = nil; + _navigationCapability = nil; + _phoneCapability = nil; + _videoStreamingCapability = nil; + _remoteControlCapability = nil; +} + + +#pragma mark - Notifications + +-(void)sdl_registerForNotifications { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_registerResponse:) name:SDLDidReceiveRegisterAppInterfaceResponse object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_displayLayoutResponse:) name:SDLDidReceiveSetDisplayLayoutResponse object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_systemCapabilityResponse:) name:SDLDidReceiveGetSystemCapabilitiesResponse object:nil]; +} + +- (void)sdl_registerResponse:(SDLRPCResponseNotification *)notification { + SDLRegisterAppInterfaceResponse *response = (SDLRegisterAppInterfaceResponse *)notification.response; + if (!response.success.boolValue) { return; } + + self.displayCapabilities = response.displayCapabilities; + self.hmiCapabilities = response.hmiCapabilities; + self.softButtonCapabilities = response.softButtonCapabilities; + self.buttonCapabilities = response.buttonCapabilities; + self.presetBankCapabilities = response.presetBankCapabilities; + self.hmiZoneCapabilities = response.hmiZoneCapabilities; + self.speechCapabilities = response.speechCapabilities; + self.prerecordedSpeechCapabilities = response.prerecordedSpeech; + self.vrCapability = (response.vrCapabilities.count > 0 && [response.vrCapabilities.firstObject isEqualToEnum:SDLVRCapabilitiesText]) ? YES : NO; + self.audioPassThruCapabilities = response.audioPassThruCapabilities; + self.pcmStreamCapability = response.pcmStreamCapabilities; +} + +- (void)sdl_displayLayoutResponse:(SDLRPCResponseNotification *)notification { + SDLSetDisplayLayoutResponse *response = (SDLSetDisplayLayoutResponse *)notification.response; + if (!response.success.boolValue) { return; } + + self.displayCapabilities = response.displayCapabilities; + self.buttonCapabilities = response.buttonCapabilities; + self.softButtonCapabilities = response.softButtonCapabilities; + self.presetBankCapabilities = response.presetBankCapabilities; +} + +- (void)sdl_systemCapabilityResponse:(SDLRPCResponseNotification *)notification { + SDLGetSystemCapabilityResponse *response = (SDLGetSystemCapabilityResponse *)notification.response; + if (!response.success.boolValue) { return; } + + SDLSystemCapability *systemCapabilityResponse = ((SDLGetSystemCapabilityResponse *)response).systemCapability; + SDLSystemCapabilityType systemCapabilityType = systemCapabilityResponse.systemCapabilityType; + + if ([systemCapabilityType isEqualToEnum:SDLSystemCapabilityTypePhoneCall]) { + self.phoneCapability = systemCapabilityResponse.phoneCapability; + } else if ([systemCapabilityType isEqualToEnum:SDLSystemCapabilityTypeNavigation]) { + self.navigationCapability = systemCapabilityResponse.navigationCapability; + } else if ([systemCapabilityType isEqualToEnum:SDLSystemCapabilityTypeRemoteControl]) { + self.remoteControlCapability = systemCapabilityResponse.remoteControlCapability; + } else if ([systemCapabilityType isEqualToEnum:SDLSystemCapabilityTypeVideoStreaming]) { + self.videoStreamingCapability = systemCapabilityResponse.videoStreamingCapability; + } else { + SDLLogW(@"Received response for unknown System Capability Type: %@", systemCapabilityType); + } + + if (self.systemCapabilityHandler == nil) { return; } + self.systemCapabilityHandler(nil, self); +} + +#pragma mark - Capability Request + +- (void)updateCapabilityType:(SDLSystemCapabilityType)type completionHandler:(SDLUpdateCapabilityHandler)handler { + self.systemCapabilityHandler = handler; + SDLGetSystemCapability *getSystemCapability = [[SDLGetSystemCapability alloc] initWithType:type]; + [self.connectionManager sendConnectionRequest:getSystemCapability withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { + if (error == nil) { return; } + // An error is returned if the request was unsuccessful or a Generic Response is returned + handler(error, self); + }]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityType.h index 61f8f83..f42d1b2 100755 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemCapabilityType.h @@ -9,27 +9,26 @@ #import "SDLEnum.h" /** - The type of system capability to get more information on + The type of system capability to get more information on. Used in GetSystemCapability. */ typedef SDLEnum SDLSystemCapabilityType SDL_SWIFT_ENUM; /** - @abstract NAVIGATION + The navigation capability */ extern SDLSystemCapabilityType const SDLSystemCapabilityTypeNavigation; /** - @abstract PHONE_CALL + The phone call capability */ extern SDLSystemCapabilityType const SDLSystemCapabilityTypePhoneCall; /** - @abstract VIDEO_STREAMING - + The video streaming capability */ extern SDLSystemCapabilityType const SDLSystemCapabilityTypeVideoStreaming; /** - @abstract REMOTE_CONTROL + The remote control capability */ extern SDLSystemCapabilityType const SDLSystemCapabilityTypeRemoteControl; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemContext.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemContext.h index 19522ac..83fc8e4 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemContext.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemContext.h @@ -5,36 +5,36 @@ #import "SDLEnum.h" /** - * Indicates whether or not a user-initiated interaction is in progress, and if so, in what mode (i.e. MENU or VR). + * Indicates whether or not a user-initiated interaction is in progress, and if so, in what mode (i.e. MENU or VR). Used in OnHMIStatus * * @since SDL 1.0 */ typedef SDLEnum SDLSystemContext SDL_SWIFT_ENUM; /** - * @abstract No user interaction (user-initiated or app-initiated) is in progress. + * No user interaction (user-initiated or app-initiated) is in progress. */ extern SDLSystemContext const SDLSystemContextMain; /** - * @abstract VR-oriented, user-initiated or app-initiated interaction is in-progress. + * VR-oriented, user-initiated or app-initiated interaction is in-progress. */ extern SDLSystemContext const SDLSystemContextVoiceRecognitionSession; /** - * @abstract Menu-oriented, user-initiated or app-initiated interaction is in-progress. + * Menu-oriented, user-initiated or app-initiated interaction is in-progress. */ extern SDLSystemContext const SDLSystemContextMenu; /** - * @abstract The app's display HMI is currently being obscured by either a system or other app's overlay. + * The app's display HMI is currently being obscured by either a system or other app's overlay. * * @since SDL 2.0 */ extern SDLSystemContext const SDLSystemContextHMIObscured; /** - * @abstract Broadcast only to whichever app has an alert currently being displayed. + * Broadcast only to whichever app has an alert currently being displayed. * * @since SDL 2.0 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequest.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequest.h index a39b1f7..b029d37 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequest.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequest.h @@ -5,19 +5,53 @@ #import "SDLRequestType.h" -/** An asynchronous request from the device; binary data can be included in hybrid part of message for some requests
      (such as HTTP, Proprietary, or Authentication requests) - *

      - * @since SmartDeviceLink 3.0 +/* + * An asynchronous request from the device; binary data can be included in hybrid part of message for some requests (such as HTTP, Proprietary, or Authentication requests) * + * @since SmartDeviceLink 3.0 */ NS_ASSUME_NONNULL_BEGIN @interface SDLSystemRequest : SDLRPCRequest +/** + Create a generic system request with a file name + + @param requestType The request type to use + @param fileName The name of the file to use + @return The request + */ - (instancetype)initWithType:(SDLRequestType)requestType fileName:(nullable NSString *)fileName; +/** + Create an OEM_PROPRIETARY system request with a subtype and file name + + @param proprietaryType The proprietary requestSubType to be used + @param fileName The name of the file to use + @return The request + */ +- (instancetype)initWithProprietaryType:(NSString *)proprietaryType fileName:(nullable NSString *)fileName; + +/** + * The type of system request. Note that Proprietary requests should forward the binary data to the known proprietary module on the system. + * + * Required + */ @property (strong, nonatomic) SDLRequestType requestType; + +/** + A request subType used when the `requestType` is `OEM_SPECIFIC`. + + Optional, Max length 255 + */ +@property (strong, nonatomic, nullable) NSString *requestSubType; + +/** + * Filename of HTTP data to store in predefined system staging area. + * + * Required if requestType is HTTP. PROPRIETARY requestType should ignore this parameter. + */ @property (strong, nonatomic, nullable) NSString *fileName; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequest.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequest.m index 5cb6625..d481779 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequest.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequest.m @@ -29,6 +29,17 @@ - (instancetype)initWithType:(SDLRequestType)requestType fileName:(nullable NSSt return self; } +- (instancetype)initWithProprietaryType:(NSString *)proprietaryType fileName:(nullable NSString *)fileName { + self = [self init]; + if (!self) { return nil; } + + self.requestType = SDLRequestTypeOEMSpecific; + self.requestSubType = proprietaryType; + self.fileName = fileName; + + return self; +} + - (void)setRequestType:(SDLRequestType)requestType { [parameters sdl_setObject:requestType forName:SDLNameRequestType]; } @@ -37,6 +48,14 @@ - (SDLRequestType)requestType { return [parameters sdl_objectForName:SDLNameRequestType]; } +- (void)setRequestSubType:(nullable NSString *)requestSubType { + [parameters sdl_setObject:requestSubType forName:SDLNameRequestSubType]; +} + +- (nullable NSString *)requestSubType { + return [parameters sdl_objectForName:SDLNameRequestSubType]; +} + - (void)setFileName:(nullable NSString *)fileName { [parameters sdl_setObject:fileName forName:SDLNameFilename]; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequestResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequestResponse.h index 306ad48..d8d57a3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequestResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLSystemRequestResponse.h @@ -4,12 +4,13 @@ #import "SDLRPCResponse.h" -/** SDLSystemRequestResponse is sent, when SDLSystemRequest has been called. - * SinceSmartDeviceLink 3.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to SystemRequest + + Since SmartDeviceLink 3.0 + */ @interface SDLSystemRequestResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTBTState.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTBTState.h index 1b43175..d1fccb6 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTBTState.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTBTState.h @@ -4,15 +4,57 @@ #import "SDLEnum.h" +/** + The turn-by-turn state, used in OnTBTClientState. + */ typedef SDLEnum SDLTBTState SDL_SWIFT_ENUM; +/** + The route should be updated + */ extern SDLTBTState const SDLTBTStateRouteUpdateRequest; + +/** + The route is accepted + */ extern SDLTBTState const SDLTBTStateRouteAccepted; + +/** + The route is refused + */ extern SDLTBTState const SDLTBTStateRouteRefused; + +/** + The route is cancelled + */ extern SDLTBTState const SDLTBTStateRouteCancelled; + +/** + The route should update its Estimated Time of Arrival + */ extern SDLTBTState const SDLTBTStateETARequest; + +/** + The route should update its next turn + */ extern SDLTBTState const SDLTBTStateNextTurnRequest; + +/** + The route should update its status + */ extern SDLTBTState const SDLTBTStateRouteStatusRequest; + +/** + The route update its summary + */ extern SDLTBTState const SDLTBTStateRouteSummaryRequest; + +/** + The route should update the trip's status + */ extern SDLTBTState const SDLTBTStateTripStatusRequest; + +/** + The route update timed out + */ extern SDLTBTState const SDLTBTStateRouteUpdateRequestTimeout; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTCPTransport.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTCPTransport.h index ed8da7e..5b7ac09 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTCPTransport.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTCPTransport.h @@ -1,17 +1,36 @@ // SDLTCPTransport.h // -#import "SDLAbstractTransport.h" +#import "SDLTransportType.h" NS_ASSUME_NONNULL_BEGIN -@interface SDLTCPTransport : SDLAbstractTransport { - _Nullable CFSocketRef socket; -} +@interface SDLTCPTransport : NSObject +/** + * Convenience init + * + * @param hostName The host name of Core + * @param portNumber The port number of Core + * @return A SDLTCPTransport object + */ +- (instancetype)initWithHostName:(NSString *)hostName portNumber:(NSString *)portNumber; + +/** + * The host name of Core + */ @property (strong, nonatomic) NSString *hostName; + +/** + * The port number of Core + */ @property (strong, nonatomic) NSString *portNumber; +/** + * The subscribed listener + */ +@property (nullable, weak, nonatomic) id delegate; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTCPTransport.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTCPTransport.m index 920af4d..f56641f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTCPTransport.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTCPTransport.m @@ -1,166 +1,355 @@ +// // SDLTCPTransport.m +// SmartDeviceLink +// +// Created by Sho Amano on 2018/04/23. +// Copyright © 2018 Xevo Inc. All rights reserved. // - #import "SDLTCPTransport.h" -#import "SDLLogConstants.h" +#import "SDLMutableDataQueue.h" +#import "SDLError.h" #import "SDLLogMacros.h" -#import "SDLLogManager.h" -#import "SDLHexUtility.h" #import -#import -#import -#import -#import -#import -#import -#import -#import NS_ASSUME_NONNULL_BEGIN -// C function forward declarations. -int call_socket(const char *hostname, const char *port); -static void TCPCallback(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info); +NSString *const TCPIOThreadName = @"com.smartdevicelink.tcpiothread"; +NSTimeInterval const IOThreadWaitSecs = 1.0; +NSUInteger const DefaultReceiveBufferSize = 16 * 1024; +NSTimeInterval ConnectionTimeoutSecs = 30.0; -@interface SDLTCPTransport () { - dispatch_queue_t _sendQueue; -} +@interface SDLTCPTransport () +@property (nullable, nonatomic, strong) NSThread *ioThread; +@property (nonatomic, strong) dispatch_semaphore_t ioThreadStoppedSemaphore; +@property (nonatomic, assign) NSUInteger receiveBufferSize; +@property (nonatomic, strong) SDLMutableDataQueue *sendDataQueue; +@property (nullable, nonatomic, strong) NSInputStream *inputStream; +@property (nullable, nonatomic, strong) NSOutputStream *outputStream; +@property (nonatomic, assign) BOOL outputStreamHasSpace; +@property (nullable, nonatomic, strong) NSTimer *connectionTimer; +@property (nonatomic, assign) BOOL transportConnected; +@property (nonatomic, assign) BOOL transportErrorNotified; @end - @implementation SDLTCPTransport - (instancetype)init { if (self = [super init]) { - _sendQueue = dispatch_queue_create("com.sdl.transport.tcp.transmit", DISPATCH_QUEUE_SERIAL); - SDLLogD(@"TCP Transport initialization"); + _receiveBufferSize = DefaultReceiveBufferSize; + _sendDataQueue = [[SDLMutableDataQueue alloc] init]; } + return self; +} + +- (instancetype)initWithHostName:(NSString *)hostName portNumber:(NSString *)portNumber { + self = [self init]; + if (!self) { return nil; } + + _hostName = hostName; + _portNumber = portNumber; return self; } - (void)dealloc { + SDLLogD(@"SDLTCPTransport dealloc"); [self disconnect]; } +#pragma mark - Stream Lifecycle + +// Note: When a connection is refused (e.g. TCP port number is not correct) or timed out (e.g. invalid IP address), then onError will be notified. - (void)connect { - __weak typeof(self) weakself = self; - [[NSOperationQueue mainQueue] addOperationWithBlock:^{ - __strong typeof(self) strongself = weakself; - SDLLogD(@"Attemping to connect"); - - int sock_fd = call_socket([self.hostName UTF8String], [self.portNumber UTF8String]); - if (sock_fd < 0) { - SDLLogE(@"Server not ready, connection failed"); - return; - } - - CFSocketContext socketCtxt = {0, (__bridge void *)(self), NULL, NULL, NULL}; - strongself->socket = CFSocketCreateWithNative(kCFAllocatorDefault, sock_fd, kCFSocketDataCallBack | kCFSocketConnectCallBack, (CFSocketCallBack)&TCPCallback, &socketCtxt); - CFRunLoopSourceRef source = CFSocketCreateRunLoopSource(kCFAllocatorDefault, strongself->socket, 0); - CFRunLoopRef loop = CFRunLoopGetCurrent(); - CFRunLoopAddSource(loop, source, kCFRunLoopDefaultMode); - CFRelease(source); - }]; + if (self.ioThread != nil) { + SDLLogW(@"TCP transport is already connected"); + return; + } + + unsigned int port; + int num = [self.portNumber intValue]; + if (0 <= num && num <= 65535) { + port = (unsigned int)num; + } else { + // specify an invalid port, so that once connection is initiated we will receive an error through delegate + port = 65536; + } + + self.ioThread = [[NSThread alloc] initWithTarget:self selector:@selector(sdl_tcpTransportEventLoop) object:nil]; + self.ioThread.name = TCPIOThreadName; + self.ioThreadStoppedSemaphore = dispatch_semaphore_create(0); + + CFReadStreamRef readStream = NULL; + CFWriteStreamRef writeStream = NULL; + CFStringRef hostName = (__bridge CFStringRef)self.hostName; + + CFStreamCreatePairWithSocketToHost(NULL, hostName, port, &readStream, &writeStream); + + // this transport is mainly for video streaming + CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVideo); + CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVideo); + + self.inputStream = (__bridge_transfer NSInputStream *)readStream; + self.outputStream = (__bridge_transfer NSOutputStream *)writeStream; + + [self.ioThread start]; } +- (void)disconnect { + if (self.ioThread == nil) { + // already disconnected + return; + } + + SDLLogD(@"Disconnecting TCP transport"); + + [self sdl_cancelIOThread]; + + long ret = dispatch_semaphore_wait(self.ioThreadStoppedSemaphore, dispatch_time(DISPATCH_TIME_NOW, (int64_t)(IOThreadWaitSecs * NSEC_PER_SEC))); + if (ret == 0) { + SDLLogD(@"TCP transport thread stopped"); + } else { + SDLLogE(@"Failed to stop TCP transport thread"); + } + self.ioThread = nil; + + self.inputStream = nil; + self.outputStream = nil; + + [self.sendDataQueue removeAllObjects]; + self.transportErrorNotified = NO; + self.transportConnected = NO; +} + +#pragma mark - Data Transmission + - (void)sendData:(NSData *)msgBytes { - dispatch_async(_sendQueue, ^{ - @autoreleasepool { - SDLLogBytes(msgBytes, SDLLogBytesDirectionTransmit); - CFSocketError e = CFSocketSendData(self->socket, NULL, (__bridge CFDataRef)msgBytes, 10000); - if (e != kCFSocketSuccess) { - NSString *errorCause = nil; - switch (e) { - case kCFSocketTimeout: - errorCause = @"Socket Timeout Error."; - break; - - case kCFSocketError: - default: - errorCause = @"Socket Error."; - break; - } - - SDLLogE(@"Socket send error: %@", errorCause); + [self.sendDataQueue enqueueBuffer:msgBytes.mutableCopy]; + + [self performSelector:@selector(sdl_writeToStream) onThread:self.ioThread withObject:nil waitUntilDone:NO]; +} + +#pragma mark - Run loop + +- (void)sdl_tcpTransportEventLoop { + @autoreleasepool { + [self sdl_setupStream:self.inputStream]; + [self sdl_setupStream:self.outputStream]; + + // JFYI: NSStream itself has a connection timeout (about 1 minute). If you specify a large timeout value, you may get the NSStream's timeout event first. + self.connectionTimer = [NSTimer scheduledTimerWithTimeInterval:ConnectionTimeoutSecs target:self selector:@selector(sdl_onConnectionTimedOut:) userInfo:nil repeats:NO]; + + // these will initiate a connection to remote server + SDLLogD(@"Connecting to %@:%@ ...", self.hostName, self.portNumber); + [self.inputStream open]; + [self.outputStream open]; + + while (![self.ioThread isCancelled]) { + BOOL ret = [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; + if (!ret) { + SDLLogW(@"Failed to start TCP transport run loop"); + break; } } - }); + SDLLogD(@"TCP transport run loop terminated"); + + [self sdl_teardownStream:self.inputStream]; + [self sdl_teardownStream:self.outputStream]; + + [self.connectionTimer invalidate]; + + dispatch_semaphore_signal(self.ioThreadStoppedSemaphore); + } } -- (void)disconnect { - SDLLogD(@"Disconnect connection"); - - if (socket != nil) { - CFSocketInvalidate(socket); - CFRelease(socket); - socket = nil; +- (void)sdl_setupStream:(NSStream *)stream { + stream.delegate = self; + [stream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; +} + +- (void)sdl_teardownStream:(NSStream *)stream { + NSStreamStatus streamStatus = stream.streamStatus; + if (streamStatus != NSStreamStatusNotOpen && streamStatus != NSStreamStatusClosed) { + [stream close]; } + [stream removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; + [stream setDelegate:nil]; } -@end +- (void)sdl_cancelIOThread { + [self.ioThread cancel]; + // wake up the run loop in case we don't have any I/O event + [self performSelector:@selector(sdl_doNothing) onThread:self.ioThread withObject:nil waitUntilDone:NO]; +} -// C functions -int call_socket(const char *hostname, const char *port) { - int status, sock; - struct addrinfo hints; - struct addrinfo *servinfo; +#pragma mark - NSStreamDelegate +// this method runs only on the I/O thread (i.e. invoked from the run loop) - memset(&hints, 0, sizeof hints); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; +- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode { + switch (eventCode) { + case NSStreamEventNone: { + // nothing to do + } break; + case NSStreamEventOpenCompleted: { + // We will get two NSStreamEventOpenCompleted events (for both input and output streams) and we don't need both. Let's use the one of output stream since we need to make sure that output stream is ready before Proxy sending Start Service frame. + if (aStream == self.outputStream) { + SDLLogD(@"TCP transport connected"); + [self.connectionTimer invalidate]; + self.transportConnected = YES; + [self.delegate onTransportConnected]; + } + } break; + case NSStreamEventHasBytesAvailable: { + [self sdl_readFromStream]; + } break; + case NSStreamEventHasSpaceAvailable: { + self.outputStreamHasSpace = YES; + [self sdl_writeToStream]; + } break; + case NSStreamEventErrorOccurred: { + SDLLogW(@"TCP transport error occurred with %@ stream: %@", aStream == self.inputStream ? @"input" : @"output", aStream.streamError); + [self sdl_onStreamError:aStream]; + } break; + case NSStreamEventEndEncountered: { + SDLLogD(@"TCP transport %@ stream end encountered", aStream == self.inputStream ? @"input" : @"output"); + [self sdl_onStreamEnd:aStream]; + } break; + } +} + +#pragma mark - Stream event handlers +// these methods run only on the I/O thread (i.e. invoked from the run loop) + +- (void)sdl_readFromStream { + NSAssert([[NSThread currentThread] isEqual:self.ioThread], @"sdl_readFromStream is called on a wrong thread!"); - //no host name?, no problem, get local host - if (hostname == nil) { - char localhost[128]; - gethostname(localhost, sizeof localhost); - hostname = (const char *)&localhost; + BytePtr buffer = malloc(self.receiveBufferSize); + NSInteger readBytes = [self.inputStream read:buffer maxLength:self.receiveBufferSize]; + if (readBytes < 0) { + SDLLogW(@"TCP transport read error: %@", self.inputStream.streamError); + [self sdl_onStreamError:self.inputStream]; + free(buffer); + return; + } else if (readBytes == 0) { + SDLLogD(@"TCP transport input stream closed"); + [self sdl_onStreamEnd:self.inputStream]; + free(buffer); + return; } - //getaddrinfo setup - if ((status = getaddrinfo(hostname, port, &hints, &servinfo)) != 0) { - fprintf(stderr, "getaddrinfo error: %s\n", gai_strerror(status)); - return (-1); + NSData *data = [NSData dataWithBytesNoCopy:buffer length:(NSUInteger)readBytes freeWhenDone:YES]; + [self.delegate onDataReceived:data]; +} + +- (void)sdl_writeToStream { + NSAssert([[NSThread currentThread] isEqual:self.ioThread], @"sdl_writeToStream is called on a wrong thread!"); + + if (!self.outputStreamHasSpace || [self.sendDataQueue count] == 0) { + return; } - //get socket - if ((sock = socket(servinfo->ai_family, servinfo->ai_socktype, servinfo->ai_protocol)) < 0) - return (-1); + NSMutableData *buffer = [self.sendDataQueue frontBuffer]; + NSUInteger bufferLen = buffer.length; + + NSInteger bytesWritten = [self.outputStream write:buffer.bytes maxLength:bufferLen]; + if (bytesWritten < 0) { + SDLLogW(@"TCP transport write error: %@", self.outputStream.streamError); + [self sdl_onStreamError:self.outputStream]; + return; + } else if (bytesWritten == 0) { + SDLLogD(@"TCP transport output stream closed"); + [self sdl_onStreamEnd:self.outputStream]; + return; + } - //connect - if (connect(sock, servinfo->ai_addr, servinfo->ai_addrlen) < 0) { - close(sock); - return (-1); + if (bytesWritten == bufferLen) { + // we have consumed all of data in this buffer + [self.sendDataQueue popBuffer]; + } else { + [buffer replaceBytesInRange:NSMakeRange(0, (NSUInteger)bytesWritten) withBytes:NULL length:0]; } - freeaddrinfo(servinfo); // free the linked-list - return (sock); + // the output stream may still have some spaces, but let's wait for another NSStreamEventHasSpaceAvailable event before writing + self.outputStreamHasSpace = NO; } -static void TCPCallback(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info) { - if (kCFSocketConnectCallBack == type) { - SDLTCPTransport *transport = (__bridge SDLTCPTransport *)info; - [transport.delegate onTransportConnected]; - } else if (kCFSocketDataCallBack == type) { - SDLTCPTransport *transport = (__bridge SDLTCPTransport *)info; +- (void)sdl_onConnectionTimedOut:(NSTimer *)timer { + NSAssert([[NSThread currentThread] isEqual:self.ioThread], @"sdl_onConnectionTimedOut is called on a wrong thread!"); - // Check if Core disconnected from us - if (CFDataGetLength((CFDataRef)data) <= 0) { - SDLLogW(@"Remote system terminated connection, data packet length 0"); - [transport.delegate onTransportDisconnected]; + SDLLogW(@"TCP connection timed out"); + [self sdl_cancelIOThread]; - return; - } + if (!self.transportErrorNotified) { + NSAssert(!self.transportConnected, @"transport should not be connected in this case"); + [self.delegate onError:[NSError sdl_transport_connectionTimedOutError]]; + self.transportErrorNotified = YES; + } +} + +- (void)sdl_onStreamError:(NSStream *)stream { + NSAssert([[NSThread currentThread] isEqual:self.ioThread], @"sdl_onStreamError is called on a wrong thread!"); + + // stop I/O thread + [self sdl_cancelIOThread]; + + // avoid notifying multiple error events + if (self.transportErrorNotified) { + return; + } + + if (self.transportConnected) { + // transport is disconnected while running + [self.delegate onTransportDisconnected]; + self.transportErrorNotified = YES; + } else if ([stream.streamError.domain isEqualToString:NSPOSIXErrorDomain]) { + // connection error - // Handle the data we received - NSData *convertedData = [NSData dataWithBytes:(UInt8 *)CFDataGetBytePtr((CFDataRef)data) length:(NSUInteger)CFDataGetLength((CFDataRef)data)]; - SDLLogBytes(convertedData, SDLLogBytesDirectionReceive); - [transport.delegate onDataReceived:convertedData]; + // According to Apple's document "Error Objects, Domains, and Codes", the 'code' values of NSPOSIXErrorDomain are actually errno values. + NSError *error; + switch (stream.streamError.code) { + case ECONNREFUSED: { + SDLLogD(@"TCP connection error: ECONNREFUSED"); + error = [NSError sdl_transport_connectionRefusedError]; + } break; + case ETIMEDOUT: { + SDLLogD(@"TCP connection error: ETIMEDOUT"); + error = [NSError sdl_transport_connectionTimedOutError]; + } break; + case ENETDOWN: { + SDLLogD(@"TCP connection error: ENETDOWN"); + error = [NSError sdl_transport_networkDownError]; + } break; + case ENETUNREACH: { + // This is just for safe. I did not observe ENETUNREACH error on iPhone. + SDLLogD(@"TCP connection error: ENETUNREACH"); + error = [NSError sdl_transport_networkDownError]; + } break; + default: { + SDLLogD(@"TCP connection error: unknown error %ld", (long)stream.streamError.code); + error = [NSError sdl_transport_unknownError]; + } break; + } + [self.delegate onError:error]; + self.transportErrorNotified = YES; } else { - SDLLogW(@"Unhandled callback type: %lu", type); + SDLLogE(@"Unhandled stream error! %@", stream.streamError); } } +- (void)sdl_onStreamEnd:(NSStream *)stream { + NSAssert([[NSThread currentThread] isEqual:self.ioThread], @"sdl_onStreamEnd is called on a wrong thread!"); + + [self sdl_cancelIOThread]; + + if (!self.transportErrorNotified) { + [self.delegate onTransportDisconnected]; + self.transportErrorNotified = YES; + } +} + +- (void)sdl_doNothing {} + +@end + NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTPMS.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTPMS.h new file mode 100644 index 0000000..4831af5 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTPMS.h @@ -0,0 +1,50 @@ +// SDLTPMS.h +// + + +#import "SDLEnum.h" + +/** + An enum representing values of the tire pressure monitoring system + */ +typedef SDLEnum SDLTPMS SDL_SWIFT_ENUM; + +/** + If set the status of the tire is not known. + */ +extern SDLTPMS const SDLTPMSUnknown; + +/** + TPMS does not function. + */ +extern SDLTPMS const SDLTPMSSystemFault; + +/** + The sensor of the tire does not function. + */ +extern SDLTPMS const SDLTPMSSensorFault; + +/** + TPMS is reporting a low tire pressure for the tire. + */ +extern SDLTPMS const SDLTPMSLow; + +/** + TPMS is active and the tire pressure is monitored. + */ +extern SDLTPMS const SDLTPMSSystemActive; + +/** + TPMS is reporting that the tire must be trained. + */ +extern SDLTPMS const SDLTPMSTrain; + +/** + TPMS reports the training for the tire is completed. + */ +extern SDLTPMS const SDLTPMSTrainingComplete; + +/** + TPMS reports the tire is not trained. + */ +extern SDLTPMS const SDLTPMSNotTrained; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTPMS.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTPMS.m new file mode 100644 index 0000000..54a66d1 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTPMS.m @@ -0,0 +1,18 @@ +// +// SDLTPMS.m +// SmartDeviceLink +// +// Created by Joel Fischer on 7/2/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLTPMS.h" + +SDLTPMS const SDLTPMSUnknown = @"UNKNOWN"; +SDLTPMS const SDLTPMSSystemFault = @"SYSTEM_FAULT"; +SDLTPMS const SDLTPMSSensorFault = @"SENSOR_FAULT"; +SDLTPMS const SDLTPMSLow = @"LOW"; +SDLTPMS const SDLTPMSSystemActive = @"SYSTEM_ACTIVE"; +SDLTPMS const SDLTPMSTrain = @"TRAIN"; +SDLTPMS const SDLTPMSTrainingComplete = @"TRAINING_COMPLETE"; +SDLTPMS const SDLTPMSNotTrained = @"NOT_TRAINED"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTTSChunk.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTTSChunk.h index 6d97ace..d0d04a0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTTSChunk.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTTSChunk.h @@ -5,64 +5,84 @@ #import "SDLSpeechCapabilities.h" +NS_ASSUME_NONNULL_BEGIN + /** - * Specifies what is to be spoken. This can be simply a text phrase, which SDL will speak according to its own rules. It can also be phonemes from either the Microsoft SAPI phoneme set, or from the LHPLUS phoneme set. It can also be a pre-recorded sound in WAV format (either developer-defined, or provided by the SDL platform). - * - * In SDL, words, and therefore sentences, can be built up from phonemes and are used to explicitly provide the proper pronounciation to the TTS engine. For example, to have SDL pronounce the word "read" as "red", rather than as when it is pronounced like "reed", the developer would use phonemes to express this desired pronounciation. - * - * For more information about phonemes, see http://en.wikipedia.org/wiki/Phoneme. - * - * Parameter List - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
      NameTypeDescriptionSmartDeviceLink Ver. Available
      textStringText 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.SmartDeviceLink 1.0
      typeSpeechCapabilitiesIndicates the type of information in the "text" field (e.g. phrase to be spoken, phoneme specification, name of pre-recorded sound). SmartDeviceLink 1.0
      - * - * @since SmartDeviceLink 1.0 - */ + Specifies what is to be spoken. This can be simply a text phrase, which SDL will speak according to its own rules. It can also be phonemes from either the Microsoft SAPI phoneme set, or from the LHPLUS phoneme set. It can also be a pre-recorded sound in WAV format (either developer-defined, or provided by the SDL platform). -NS_ASSUME_NONNULL_BEGIN + In SDL, words, and therefore sentences, can be built up from phonemes and are used to explicitly provide the proper pronounciation to the TTS engine. For example, to have SDL pronounce the word "read" as "red", rather than as when it is pronounced like "reed", the developer would use phonemes to express this desired pronounciation. + For more information about phonemes, see http://en.wikipedia.org/wiki/Phoneme. + + @since SmartDeviceLink 1.0 + */ @interface SDLTTSChunk : SDLRPCStruct +/** + Initialize with text and a type + + @param text The string to be spoken + @param type The type of text the string is + @return The RPC + */ - (instancetype)initWithText:(NSString *)text type:(SDLSpeechCapabilities)type; +/** + Create TTS using text + + @param string The text chunk + @return The RPC + */ + (NSArray *)textChunksFromString:(NSString *)string; +/** + Create TTS using SAPI + + @param string The SAPI chunk + @return The RPC + */ + (NSArray *)sapiChunksFromString:(NSString *)string; +/** + Create TTS using LH Plus + + @param string The LH Plus chunk + @return The RPC + */ + (NSArray *)lhPlusChunksFromString:(NSString *)string; +/** + Create TTS using prerecorded chunks + + @param string The prerecorded chunk + @return The RPC + */ + (NSArray *)prerecordedChunksFromString:(NSString *)string; +/** + Create TTS using silence + + @return The RPC + */ + (NSArray *)silenceChunks; +/** + Create "TTS" to play an audio file previously uploaded to the system. + + @param fileName The name of the file used in the SDLFile or PutFile that was uploaded + @return The RPC + */ ++ (NSArray *)fileChunksWithName:(NSString *)fileName; /** - * @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. + * Text to be spoken, a phoneme specification, or the name of a pre-recorded / pre-uploaded sound. The contents of this field are indicated by the "type" field. * * Required, Max length 500 */ @property (strong, nonatomic) NSString *text; /** - * @abstract The type of information in the "text" field (e.g. phrase to be spoken, phoneme specification, name of pre-recorded sound). + * The type of information in the "text" field (e.g. phrase to be spoken, phoneme specification, name of pre-recorded sound). * * Required */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTTSChunk.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTTSChunk.m index e553d63..a887412 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTTSChunk.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTTSChunk.m @@ -39,15 +39,19 @@ - (instancetype)initWithText:(NSString *)text type:(SDLSpeechCapabilities)type { } + (NSArray *)silenceChunks { - return [self sdl_chunksFromString:nil type:SDLSpeechCapabilitiesSilence]; + return [self sdl_chunksFromString:@"" type:SDLSpeechCapabilitiesSilence]; +} + ++ (NSArray *)fileChunksWithName:(NSString *)fileName { + return [self sdl_chunksFromString:fileName type:SDLSpeechCapabilitiesFile]; } + (nullable NSArray *)sdl_chunksFromString:(nullable NSString *)string type:(SDLSpeechCapabilities)type { - if (string.length == 0) { + if (string == nil) { return nil; } - return [NSArray arrayWithObject:[[[self class] alloc] initWithText:string type:type]]; + return @[[[SDLTTSChunk alloc] initWithText:string type:type]]; } - (void)setText:(NSString *)text { diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemperature.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemperature.h index 613c24c..5a22ba9 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemperature.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemperature.h @@ -7,20 +7,24 @@ NS_ASSUME_NONNULL_BEGIN +/** + Struct using in Remote Control representing a temperature. + */ @interface SDLTemperature : SDLRPCStruct - (instancetype)initWithUnit:(SDLTemperatureUnit)unit value:(float)value; /** - * @abstract Temperature Unit - * + Temperature Unit + + Required, float */ @property (strong, nonatomic) SDLTemperatureUnit unit; /** - * @abstract Temperature Value in TemperatureUnit specified unit. Range depends on OEM and is not checked by SDL - * - * FLoat value + Temperature Value in TemperatureUnit specified unit. Range depends on OEM and is not checked by SDL. + + Required, float */ @property (strong, nonatomic) NSNumber *value; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemperatureUnit.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemperatureUnit.h index 63c1a20..ff4b10e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemperatureUnit.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemperatureUnit.h @@ -5,15 +5,17 @@ #import "SDLEnum.h" +/** + The unit of temperature to display. Used in Temperature. + */ typedef SDLEnum SDLTemperatureUnit SDL_SWIFT_ENUM; /** - @abstract Reflects the current HMI setting for temperature unit in Celsius - **/ + Reflects the current HMI setting for temperature unit in Celsius + */ extern SDLTemperatureUnit const SDLTemperatureUnitCelsius; - /** - @abstract Reflects the current HMI setting for temperature unit in Fahrenheit - **/ + Reflects the current HMI setting for temperature unit in Fahrenheit + */ extern SDLTemperatureUnit const SDLTemperatureUnitFahrenheit; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemplateColorScheme.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemplateColorScheme.h new file mode 100644 index 0000000..d624203 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemplateColorScheme.h @@ -0,0 +1,40 @@ +// +// SDLTemplateColorScheme.h +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 Livio. All rights reserved. +// + +#import + +#import "NSNumber+NumberType.h" +#import "SDLRPCStruct.h" + +@class SDLRGBColor; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLTemplateColorScheme : SDLRPCStruct + +- (instancetype)initWithPrimaryRGBColor:(SDLRGBColor *)primaryColor secondaryRGBColor:(SDLRGBColor *)secondaryColor backgroundRGBColor:(SDLRGBColor *)backgroundColor; +- (instancetype)initWithPrimaryColor:(UIColor *)primaryColor secondaryColor:(UIColor *)secondaryColor backgroundColor:(UIColor *)backgroundColor; + +/** + The "primary" color. This must always be your primary brand color. If the OEM only uses one color, this will be the color. It is recommended to the OEMs that the primaryColor should change the `mediaClockTimer` bar and the highlight color of soft buttons. + */ +@property (strong, nonatomic, nullable) SDLRGBColor *primaryColor; + +/** + The "secondary" color. This may be an accent or complimentary color to your primary brand color. If the OEM uses this color, they must also use the primary color. It is recommended to the OEMs that the secondaryColor should change the background color of buttons, such as soft buttons. + */ +@property (strong, nonatomic, nullable) SDLRGBColor *secondaryColor; + +/** + The background color to be used on the template. If the OEM does not support this parameter, assume on "dayColorScheme" that this will be a light color, and on "nightColorScheme" a dark color. You should do the same for your custom schemes. + */ +@property (strong, nonatomic, nullable) SDLRGBColor *backgroundColor; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemplateColorScheme.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemplateColorScheme.m new file mode 100644 index 0000000..42f18a7 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTemplateColorScheme.m @@ -0,0 +1,67 @@ +// +// SDLTemplateColorScheme.m +// SmartDeviceLink +// +// Created by Joel Fischer on 5/21/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLTemplateColorScheme.h" + +#import "NSMutableDictionary+Store.h" +#import "SDLNames.h" +#import "SDLRGBColor.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLTemplateColorScheme + +- (instancetype)initWithPrimaryRGBColor:(SDLRGBColor *)primaryColor secondaryRGBColor:(SDLRGBColor *)secondaryColor backgroundRGBColor:(SDLRGBColor *)backgroundColor { + self = [self init]; + if (!self) { return nil; } + + self.primaryColor = primaryColor; + self.secondaryColor = secondaryColor; + self.backgroundColor = backgroundColor; + + return self; +} + +- (instancetype)initWithPrimaryColor:(UIColor *)primaryColor secondaryColor:(UIColor *)secondaryColor backgroundColor:(UIColor *)backgroundColor { + self = [self init]; + if (!self) { return nil; } + + self.primaryColor = [[SDLRGBColor alloc] initWithColor:primaryColor]; + self.secondaryColor = [[SDLRGBColor alloc] initWithColor:secondaryColor]; + self.backgroundColor = [[SDLRGBColor alloc] initWithColor:backgroundColor]; + + return self; +} + +- (void)setPrimaryColor:(nullable SDLRGBColor *)primaryColor { + [store sdl_setObject:primaryColor forName:SDLNamePrimaryColor]; +} + +- (nullable SDLRGBColor *)primaryColor { + return [store sdl_objectForName:SDLNamePrimaryColor ofClass:[SDLRGBColor class]]; +} + +- (void)setSecondaryColor:(nullable SDLRGBColor *)secondaryColor { + [store sdl_setObject:secondaryColor forName:SDLNameSecondaryColor]; +} + +- (nullable SDLRGBColor *)secondaryColor { + return [store sdl_objectForName:SDLNameSecondaryColor ofClass:[SDLRGBColor class]]; +} + +- (void)setBackgroundColor:(nullable SDLRGBColor *)backgroundColor { + [store sdl_setObject:backgroundColor forName:SDLNameBackgroundColor]; +} + +- (nullable SDLRGBColor *)backgroundColor { + return [store sdl_objectForName:SDLNameBackgroundColor ofClass:[SDLRGBColor class]]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAlignment.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAlignment.h index eea45f6..5fafd44 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAlignment.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAlignment.h @@ -5,23 +5,23 @@ #import "SDLEnum.h" /** - * The list of possible alignments of text in a field. May only work on some display types. + * The list of possible alignments of text in a field. May only work on some display types. used in Show. * * @since SDL 1.0 */ typedef SDLEnum SDLTextAlignment SDL_SWIFT_ENUM; /** - * @abstract Text aligned left. + * Text aligned left. */ extern SDLTextAlignment const SDLTextAlignmentLeft; /** - * @abstract Text aligned right. + * Text aligned right. */ extern SDLTextAlignment const SDLTextAlignmentRight; /** - * @abstract Text aligned centered. + * Text aligned centered. */ extern SDLTextAlignment const SDLTextAlignmentCenter; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAndGraphicManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAndGraphicManager.h index 4becbd7..a3a9c23 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAndGraphicManager.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAndGraphicManager.h @@ -46,9 +46,11 @@ typedef void(^SDLTextAndGraphicUpdateCompletionHandler)(NSError *__nullable erro @property (copy, nonatomic, nullable) SDLMetadataType textField4Type; /** - If you want to make a graphic blank, set it to this artwork + * If you want to remove the current artwork, set it to this blank artwork. + * + * This artwork is set to null on disconnects to prevent a `sdl_fileManager_fileDoesNotExistError` error when the artwork is sent again on reconnects. */ -@property (strong, nonatomic, readonly) SDLArtwork *blankArtwork; +@property (strong, nonatomic, readonly, nullable) SDLArtwork *blankArtwork; @property (assign, nonatomic, getter=isBatchingUpdates) BOOL batchUpdates; @@ -61,6 +63,11 @@ typedef void(^SDLTextAndGraphicUpdateCompletionHandler)(NSError *__nullable erro */ - (instancetype)initWithConnectionManager:(id)connectionManager fileManager:(SDLFileManager *)fileManager; +/** + * Stops the manager. This method is used internally. + */ +- (void)stop; + /** Update text fields with new text set into the text field properties. Pass an empty string `\@""` to clear the text field. diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAndGraphicManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAndGraphicManager.m index 7ec1406..aaeba71 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAndGraphicManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextAndGraphicManager.m @@ -52,8 +52,9 @@ A show describing the current text and images on the screen (not soft buttons, e @property (strong, nonatomic, nullable) SDLDisplayCapabilities *displayCapabilities; @property (strong, nonatomic, nullable) SDLHMILevel currentLevel; -@property (strong, nonatomic) SDLArtwork *blankArtwork; +@property (strong, nonatomic, nullable) SDLArtwork *blankArtwork; +@property (assign, nonatomic) BOOL waitingOnHMILevelUpdateToUpdate; @property (assign, nonatomic) BOOL isDirty; @end @@ -72,6 +73,9 @@ - (instancetype)initWithConnectionManager:(id)connecti _currentScreenData = [[SDLShow alloc] init]; _currentLevel = SDLHMILevelNone; + _waitingOnHMILevelUpdateToUpdate = NO; + _isDirty = NO; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_registerResponse:) name:SDLDidReceiveRegisterAppInterfaceResponse object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_displayLayoutResponse:) name:SDLDidReceiveSetDisplayLayoutResponse object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_hmiStatusNotification:) name:SDLDidChangeHMIStatusNotification object:nil]; @@ -79,11 +83,46 @@ - (instancetype)initWithConnectionManager:(id)connecti return self; } +- (void)stop { + _textField1 = nil; + _textField2 = nil; + _textField3 = nil; + _textField4 = nil; + _mediaTrackTextField = nil; + _primaryGraphic = nil; + _secondaryGraphic = nil; + _alignment = SDLTextAlignmentCenter; + _textField1Type = nil; + _textField2Type = nil; + _textField3Type = nil; + _textField4Type = nil; + + _currentScreenData = [[SDLShow alloc] init]; + _inProgressUpdate = nil; + _inProgressHandler = nil; + _queuedImageUpdate = nil; + _hasQueuedUpdate = NO; + _queuedUpdateHandler = nil; + _displayCapabilities = nil; + _currentLevel = SDLHMILevelNone; + _blankArtwork = nil; + _waitingOnHMILevelUpdateToUpdate = NO; + _isDirty = NO; +} + #pragma mark - Upload / Send - (void)updateWithCompletionHandler:(nullable SDLTextAndGraphicUpdateCompletionHandler)handler { if (self.isBatchingUpdates) { return; } + // Don't send if we're in HMI NONE + if (self.currentLevel == nil || [self.currentLevel isEqualToString:SDLHMILevelNone]) { + self.waitingOnHMILevelUpdateToUpdate = YES; + return; + } else { + self.waitingOnHMILevelUpdateToUpdate = NO; + } + if (self.isDirty) { self.isDirty = NO; [self sdl_updateWithCompletionHandler:handler]; @@ -91,11 +130,6 @@ - (void)updateWithCompletionHandler:(nullable SDLTextAndGraphicUpdateCompletionH } - (void)sdl_updateWithCompletionHandler:(nullable SDLTextAndGraphicUpdateCompletionHandler)handler { - // Don't send if we're in HMI NONE - if (self.currentLevel == nil || [self.currentLevel isEqualToString:SDLHMILevelNone]) { - return; - } - SDLLogD(@"Updating text and graphics"); if (self.inProgressUpdate != nil) { SDLLogV(@"In progress update exists, queueing update"); @@ -122,43 +156,55 @@ - (void)sdl_updateWithCompletionHandler:(nullable SDLTextAndGraphicUpdateComplet fullShow = [self sdl_assembleShowImages:fullShow]; self.inProgressHandler = handler; + __weak typeof(self)weakSelf = self; if (!([self sdl_shouldUpdatePrimaryImage] || [self sdl_shouldUpdateSecondaryImage])) { - SDLLogV(@"No images to send, only sending text"); - // If there are no images to update, just send the text update + SDLLogV(@"No images to send, sending text"); + // If there are no images to update, just send the text self.inProgressUpdate = [self sdl_extractTextFromShow:fullShow]; - } else if ([self sdl_uploadedArtworkOrDoesntExist:self.primaryGraphic] && [self sdl_uploadedArtworkOrDoesntExist:self.secondaryGraphic]) { + } else if ([self sdl_isArtworkUploadedOrNonExistent:self.primaryGraphic] && [self sdl_isArtworkUploadedOrNonExistent:self.secondaryGraphic]) { SDLLogV(@"Images already uploaded, sending full update"); // The files to be updated are already uploaded, send the full show immediately self.inProgressUpdate = fullShow; } else { SDLLogV(@"Images need to be uploaded, sending text and uploading images"); + // We need to upload or queue the upload of the images // Send the text immediately self.inProgressUpdate = [self sdl_extractTextFromShow:fullShow]; + // Start uploading the images __block SDLShow *thisUpdate = fullShow; [self sdl_uploadImagesWithCompletionHandler:^(NSError * _Nonnull error) { __strong typeof(weakSelf) strongSelf = weakSelf; if (error != nil) { - SDLLogE(@"Error uploading text and graphic image: %@", error); + SDLShow *showWithGraphics = [self sdl_createImageOnlyShowWithPrimaryArtwork:self.primaryGraphic secondaryArtwork:self.secondaryGraphic]; + if (showWithGraphics != nil) { + SDLLogW(@"Some images failed to upload. Sending update with the successfully uploaded images"); + self.inProgressUpdate = showWithGraphics; + } else { + SDLLogE(@"All images failed to upload. No graphics to show, skipping update."); + self.inProgressUpdate = nil; + } + return; } // Check if queued image update still matches our images (there could have been a new Show in the meantime) and send a new update if it does. Since the images will already be on the head unit, the whole show will be sent // TODO: Send delete if it doesn't? if ([strongSelf sdl_showImages:thisUpdate isEqualToShowImages:strongSelf.queuedImageUpdate]) { SDLLogV(@"Queued image update matches the images we need, sending update"); - [strongSelf sdl_updateWithCompletionHandler:strongSelf.inProgressHandler]; + return [strongSelf sdl_updateWithCompletionHandler:strongSelf.inProgressHandler]; } else { SDLLogV(@"Queued image update does not match the images we need, skipping update"); } }]; - // When the images are done uploading, send another show with the images self.queuedImageUpdate = fullShow; } + if (self.inProgressUpdate == nil) { return; } + [self.connectionManager sendConnectionRequest:self.inProgressUpdate withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) { __strong typeof(weakSelf) strongSelf = weakSelf; SDLLogD(@"Text and Graphic update completed"); @@ -193,6 +239,10 @@ - (void)sdl_uploadImagesWithCompletionHandler:(void (^)(NSError *error))handler } [self.fileManager uploadArtworks:artworksToUpload completionHandler:^(NSArray * _Nonnull artworkNames, NSError * _Nullable error) { + if (error != nil) { + SDLLogW(@"Text and graphic manager artwork failed to upload with error: %@", error.localizedDescription); + } + handler(error); }]; } @@ -207,10 +257,10 @@ - (SDLShow *)sdl_assembleShowImages:(SDLShow *)show { } if ([self sdl_shouldUpdatePrimaryImage]) { - show.graphic = [[SDLImage alloc] initWithName:self.primaryGraphic.name ofType:SDLImageTypeDynamic]; + show.graphic = [[SDLImage alloc] initWithName:self.primaryGraphic.name ofType:SDLImageTypeDynamic isTemplate:self.primaryGraphic.isTemplate]; } if ([self sdl_shouldUpdateSecondaryImage]) { - show.secondaryGraphic = [[SDLImage alloc] initWithName:self.secondaryGraphic.name ofType:SDLImageTypeDynamic]; + show.secondaryGraphic = [[SDLImage alloc] initWithName:self.secondaryGraphic.name ofType:SDLImageTypeDynamic isTemplate:self.secondaryGraphic.isTemplate]; } return show; @@ -378,6 +428,7 @@ - (SDLShow *)sdl_setBlankTextFieldsWithShow:(SDLShow *)show { show.mainField2 = @""; show.mainField3 = @""; show.mainField4 = @""; + show.mediaTrack = @""; return show; } @@ -390,6 +441,7 @@ - (SDLShow *)sdl_extractTextFromShow:(SDLShow *)show { newShow.mainField2 = show.mainField2; newShow.mainField3 = show.mainField3; newShow.mainField4 = show.mainField4; + newShow.mediaTrack = show.mediaTrack; newShow.metadataTags = show.metadataTags; return newShow; @@ -403,12 +455,26 @@ - (SDLShow *)sdl_extractImageFromShow:(SDLShow *)show { return newShow; } +- (nullable SDLShow *)sdl_createImageOnlyShowWithPrimaryArtwork:(nullable SDLArtwork *)primaryArtwork secondaryArtwork:(nullable SDLArtwork *)secondaryArtwork { + SDLShow *newShow = [[SDLShow alloc] init]; + newShow.graphic = [self sdl_isArtworkUploadedOrNonExistent:primaryArtwork] ? [[SDLImage alloc] initWithName:primaryArtwork.name ofType:SDLImageTypeDynamic isTemplate:primaryArtwork.isTemplate] : nil; + newShow.secondaryGraphic = [self sdl_isArtworkUploadedOrNonExistent:secondaryArtwork] ? [[SDLImage alloc] initWithName:secondaryArtwork.name ofType:SDLImageTypeDynamic isTemplate:secondaryArtwork.isTemplate] : nil; + + if (newShow.graphic == nil && newShow.secondaryGraphic == nil) { + SDLLogV(@"No graphics to upload"); + return nil; + } + + return newShow; +} + - (void)sdl_updateCurrentScreenDataFromShow:(SDLShow *)show { // If the items are nil, they were not updated, so we can't just set it directly self.currentScreenData.mainField1 = show.mainField1 ?: self.currentScreenData.mainField1; self.currentScreenData.mainField2 = show.mainField2 ?: self.currentScreenData.mainField2; self.currentScreenData.mainField3 = show.mainField3 ?: self.currentScreenData.mainField3; self.currentScreenData.mainField4 = show.mainField4 ?: self.currentScreenData.mainField4; + self.currentScreenData.mediaTrack = show.mediaTrack ?: self.currentScreenData.mediaTrack; self.currentScreenData.metadataTags = show.metadataTags ?: self.currentScreenData.metadataTags; self.currentScreenData.alignment = show.alignment ?: self.currentScreenData.alignment; self.currentScreenData.graphic = show.graphic ?: self.currentScreenData.graphic; @@ -417,7 +483,13 @@ - (void)sdl_updateCurrentScreenDataFromShow:(SDLShow *)show { #pragma mark - Helpers -- (BOOL)sdl_uploadedArtworkOrDoesntExist:(SDLArtwork *)artwork { +/** + * Checks if an artwork needs to be uploaded to Core. + * + * @param artwork The artwork to be uploaded to Core + * @return True if the artwork does not need to be uploaded to Core; false if artwork stills needs to be sent to Core. + */ +- (BOOL)sdl_isArtworkUploadedOrNonExistent:(SDLArtwork *)artwork { return (!artwork || [self.fileManager hasUploadedFile:artwork]); } @@ -458,6 +530,13 @@ - (BOOL)sdl_shouldUpdateSecondaryImage { return [array copy]; } +- (BOOL)sdl_hasData { + BOOL hasTextFields = ([self sdl_findNonNilTextFields].count > 0); + BOOL hasImageFields = (self.primaryGraphic != nil) || (self.secondaryGraphic != nil); + + return hasTextFields || hasImageFields; +} + #pragma mark - Equality - (BOOL)sdl_showImages:(SDLShow *)show isEqualToShowImages:(SDLShow *)show2 { @@ -478,110 +557,98 @@ - (BOOL)sdl_showImages:(SDLShow *)show isEqualToShowImages:(SDLShow *)show2 { - (void)setTextField1:(nullable NSString *)textField1 { _textField1 = textField1; + _isDirty = YES; if (!self.isBatchingUpdates) { // If we aren't batching, send the update immediately, if we are, set ourselves as dirty (so we know we should send an update after the batch ends) - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setTextField2:(nullable NSString *)textField2 { _textField2 = textField2; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setTextField3:(nullable NSString *)textField3 { _textField3 = textField3; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setTextField4:(nullable NSString *)textField4 { _textField4 = textField4; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setMediaTrackTextField:(nullable NSString *)mediaTrackTextField { _mediaTrackTextField = mediaTrackTextField; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setPrimaryGraphic:(nullable SDLArtwork *)primaryGraphic { _primaryGraphic = primaryGraphic; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setSecondaryGraphic:(nullable SDLArtwork *)secondaryGraphic { _secondaryGraphic = secondaryGraphic; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setAlignment:(nullable SDLTextAlignment)alignment { _alignment = alignment ? alignment : SDLTextAlignmentCenter; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setTextField1Type:(nullable SDLMetadataType)textField1Type { _textField1Type = textField1Type; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setTextField2Type:(nullable SDLMetadataType)textField2Type { _textField2Type = textField2Type; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setTextField3Type:(nullable SDLMetadataType)textField3Type { _textField3Type = textField3Type; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } - (void)setTextField4Type:(nullable SDLMetadataType)textField4Type { _textField4Type = textField4Type; + _isDirty = YES; if (!self.isBatchingUpdates) { - [self sdl_updateWithCompletionHandler:nil]; - } else { - _isDirty = YES; + [self updateWithCompletionHandler:nil]; } } @@ -589,7 +656,7 @@ - (BOOL)hasQueuedUpdate { return (_hasQueuedUpdate || _queuedUpdateHandler != nil); } -- (SDLArtwork *)blankArtwork { +- (nullable SDLArtwork *)blankArtwork { if (_blankArtwork != nil) { return _blankArtwork; } @@ -607,26 +674,44 @@ - (SDLArtwork *)blankArtwork { - (void)sdl_registerResponse:(SDLRPCResponseNotification *)notification { SDLRegisterAppInterfaceResponse *response = (SDLRegisterAppInterfaceResponse *)notification.response; + + if (!response.success.boolValue) { return; } + if (response.displayCapabilities == nil) { + SDLLogE(@"RegisterAppInterface succeeded but didn't send a display capabilities. A lot of things will probably break."); + return; + } + self.displayCapabilities = response.displayCapabilities; } - (void)sdl_displayLayoutResponse:(SDLRPCResponseNotification *)notification { SDLSetDisplayLayoutResponse *response = (SDLSetDisplayLayoutResponse *)notification.response; + + if (!response.success.boolValue) { return; } + if (!response.success.boolValue) { return; } + if (response.displayCapabilities == nil) { + SDLLogE(@"SetDisplayLayout succeeded but didn't send a display capabilities. A lot of things will probably break."); + return; + } + self.displayCapabilities = response.displayCapabilities; // Auto-send an updated show - [self sdl_updateWithCompletionHandler:nil]; + if ([self sdl_hasData]) { + [self sdl_updateWithCompletionHandler:nil]; + } } - (void)sdl_hmiStatusNotification:(SDLRPCNotificationNotification *)notification { SDLOnHMIStatus *hmiStatus = (SDLOnHMIStatus *)notification.notification; + SDLHMILevel oldLevel = self.currentLevel; + self.currentLevel = hmiStatus.hmiLevel; + // Auto-send an updated show if we were in NONE and now we are not - if ([self.currentLevel isEqualToString:SDLHMILevelNone] && ![hmiStatus.hmiLevel isEqualToString:SDLHMILevelNone]) { + if ([oldLevel isEqualToString:SDLHMILevelNone] && ![self.currentLevel isEqualToString:SDLHMILevelNone] && self.waitingOnHMILevelUpdateToUpdate) { [self sdl_updateWithCompletionHandler:nil]; } - - self.currentLevel = hmiStatus.hmiLevel; } @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextField.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextField.h index 2546b2c..aebfb61 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextField.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextField.h @@ -7,62 +7,17 @@ #import "SDLTextFieldName.h" +NS_ASSUME_NONNULL_BEGIN + /** * Struct defining the characteristics of a displayed field on the HMI. - * - * Parameter List - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
      NameTypeDescriptionSmartDeviceLink Ver. Available
      nameTextFieldNameEnumeration identifying the field. SDL 1.0
      characterSetCharacterSetThe character set that is supported in this field. SDL 1.0
      widthInt16The number of characters in one row of this field. - *
        - *
      • Minvalue="1"
      • - *
      • maxvalue="500"
      • - *
      - *
      SDL 1.0
      rowsInt16The number of rows for this text field. - *
        - *
      • Minvalue="1"
      • - *
      • maxvalue="3"
      • - *
      - *
      SDL 1.0
      * * @since SDL 1.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLTextField : SDLRPCStruct /** - * @abstract The enumeration identifying the field. + * The enumeration identifying the field. * * @see SDLTextFieldName * @@ -71,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) SDLTextFieldName name; /** - * @abstract The character set that is supported in this field. + * The character set that is supported in this field. * * @see SDLCharacterSet * @@ -80,14 +35,14 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) SDLCharacterSet characterSet; /** - * @abstract The number of characters in one row of this field. + * The number of characters in one row of this field. * * Required, Integer 1 - 500 */ @property (strong, nonatomic) NSNumber *width; /** - * @abstract The number of rows for this text field. + * The number of rows for this text field. * * Required, Integer 1 - 8 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextFieldName.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextFieldName.h index 99686cc..74c4716 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextFieldName.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTextFieldName.h @@ -5,139 +5,141 @@ #import "SDLEnum.h" /** - * Names of the text fields that can appear on a SDL display. + * Names of the text fields that can appear on a SDL display. Used in TextFieldName. * * @since SDL 1.0 */ typedef SDLEnum SDLTextFieldName SDL_SWIFT_ENUM; /** - * @abstract The first line of the first set of main fields of the persistent display. Applies to SDLShow. + * The first line of the first set of main fields of the persistent display. Applies to SDLShow. */ extern SDLTextFieldName const SDLTextFieldNameMainField1; /** - * @abstract The second line of the first set of main fields of the persistent display. Applies to SDLShow. + * The second line of the first set of main fields of the persistent display. Applies to SDLShow. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameMainField2; /** - * @abstract The first line of the second set of main fields of the persistent display. Applies to SDLShow. + * The first line of the second set of main fields of the persistent display. Applies to SDLShow. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameMainField3; /** - * @abstract The second line of the second set of main fields of the persistent display. Applies to SDLShow. + * The second line of the second set of main fields of the persistent display. Applies to SDLShow. + + @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameMainField4; /** - * @abstract The status bar on the NGN display. Applies to SDLShow. + * The status bar on the NGN display. Applies to SDLShow. */ extern SDLTextFieldName const SDLTextFieldNameStatusBar; /** - * @abstract Text value for MediaClock field. Must be properly formatted according to MediaClockFormat. Applies to SDLShow. + * Text value for MediaClock field. Must be properly formatted according to MediaClockFormat. Applies to SDLShow. * * @discussion This field is commonly used to show elapsed or remaining time in an audio track or audio capture. */ extern SDLTextFieldName const SDLTextFieldNameMediaClock; /** - * @abstract The track field of NGN type ACMs. This field is only available for media applications on a NGN display. Applies to SDLShow. + * The track field of NGN type ACMs. This field is only available for media applications on a NGN display. Applies to SDLShow. * * @discussion This field is commonly used to show the current track number */ extern SDLTextFieldName const SDLTextFieldNameMediaTrack; /** - * @abstract The first line of the alert text field. Applies to SDLAlert. + * The first line of the alert text field. Applies to SDLAlert. */ extern SDLTextFieldName const SDLTextFieldNameAlertText1; /** - * @abstract The second line of the alert text field. Applies to SDLAlert. + * The second line of the alert text field. Applies to SDLAlert. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameAlertText2; /** - * @abstract The third line of the alert text field. Applies to SDLAlert. + * The third line of the alert text field. Applies to SDLAlert. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameAlertText3; /** - * @abstract Long form body of text that can include newlines and tabs. Applies to SDLScrollableMessage. + * Long form body of text that can include newlines and tabs. Applies to SDLScrollableMessage. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameScrollableMessageBody; /** - * @abstract First line suggestion for a user response (in the case of VR enabled interaction). + * First line suggestion for a user response (in the case of VR enabled interaction). * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameInitialInteractionText; /** - * @abstract First line of navigation text. + * First line of navigation text. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameNavigationText1; /** - * @abstract Second line of navigation text. + * Second line of navigation text. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameNavigationText2; /** - * @abstract Estimated Time of Arrival time for navigation. + * Estimated Time of Arrival time for navigation. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameETA; /** - * @abstract Total distance to destination for navigation. + * Total distance to destination for navigation. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameTotalDistance; /** - * @abstract First line of text for audio pass thru. + * First line of text for audio pass thru. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameAudioPassThruDisplayText1; /** - * @abstract Second line of text for audio pass thru. + * Second line of text for audio pass thru. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameAudioPassThruDisplayText2; /** - * @abstract Header text for slider. + * Header text for slider. * * @since SDL 2.0 */ extern SDLTextFieldName const SDLTextFieldNameSliderHeader; /** - * @abstract Footer text for slider + * Footer text for slider * * @since SDL 2.0 */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTimerMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTimerMode.h index fddbbb6..9e0b27b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTimerMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTimerMode.h @@ -4,8 +4,22 @@ #import "SDLEnum.h" +/** + The direction of a timer. Used in nothing. + */ typedef SDLEnum SDLTimerMode SDL_SWIFT_ENUM; +/** + The timer should count up. + */ extern SDLTimerMode const SDLTimerModeUp; + +/** + The timer should count down. + */ extern SDLTimerMode const SDLTimerModeDown; + +/** + The timer should not count. + */ extern SDLTimerMode const SDLTimerModeNone; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTireStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTireStatus.h index 51e3a9d..2d00f17 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTireStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTireStatus.h @@ -9,14 +9,58 @@ NS_ASSUME_NONNULL_BEGIN +/** + Struct used in Vehicle Data; the status and pressure of the tires. + */ @interface SDLTireStatus : SDLRPCStruct +/** + Status of the Tire Pressure Telltale. See WarningLightStatus. + + Required + */ @property (strong, nonatomic) SDLWarningLightStatus pressureTelltale; + +/** + The status of the left front tire. + + Required + */ @property (strong, nonatomic) SDLSingleTireStatus *leftFront; + +/** + The status of the right front tire. + + Required + */ @property (strong, nonatomic) SDLSingleTireStatus *rightFront; + +/** + The status of the left rear tire. + + Required + */ @property (strong, nonatomic) SDLSingleTireStatus *leftRear; + +/** + The status of the right rear tire. + + Required + */ @property (strong, nonatomic) SDLSingleTireStatus *rightRear; + +/** + The status of the inner left rear tire. + + Required + */ @property (strong, nonatomic) SDLSingleTireStatus *innerLeftRear; + +/** + The status of the innter right rear tire. + + Required + */ @property (strong, nonatomic) SDLSingleTireStatus *innerRightRear; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchCoord.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchCoord.h index 1565115..2024731 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchCoord.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchCoord.h @@ -6,9 +6,23 @@ NS_ASSUME_NONNULL_BEGIN +/** + The coordinate of a touch, used in a touch event + */ @interface SDLTouchCoord : SDLRPCStruct +/** + The x value of the touch coordinate + + Required, float 0 - 10000 + */ @property (strong, nonatomic) NSNumber *x; + +/** + The y value of the touch coordinate + + Required, float 0 - 10000 + */ @property (strong, nonatomic) NSNumber *y; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchEvent.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchEvent.h index 56a6dc6..4d2671c 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchEvent.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchEvent.h @@ -8,19 +8,24 @@ NS_ASSUME_NONNULL_BEGIN +/** + A touch which occurred on the IVI system during projection + */ @interface SDLTouchEvent : SDLRPCStruct /** 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 + Required, 0-9 */ @property (strong, nonatomic) 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 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. @@ -28,12 +33,14 @@ NS_ASSUME_NONNULL_BEGIN 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 size 0-5000000000 + Required, array size 1-1000, contains integer value 0-2000000000 */ @property (strong, nonatomic) NSArray *> *timeStamp; /** - * Mandatory, array size 1-1000, contains SDLTouchCoord + The touch's coordinate + + Required, array size 1-1000 */ @property (strong, nonatomic) NSArray *coord; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchEventCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchEventCapabilities.h index 87bb68b..ff88a79 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchEventCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchEventCapabilities.h @@ -6,10 +6,24 @@ NS_ASSUME_NONNULL_BEGIN +/** + The capabilities of touches during projection applications + */ @interface SDLTouchEventCapabilities : SDLRPCStruct +/** + Whether or not long presses are available + */ @property (strong, nonatomic) NSNumber *pressAvailable; + +/** + Whether or not multi-touch (e.g. a pinch gesture) is available + */ @property (strong, nonatomic) NSNumber *multiTouchAvailable; + +/** + Whether or not a double tap is available + */ @property (strong, nonatomic) NSNumber *doublePressAvailable; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchManager.m index 1d601d1..518877e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchManager.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchManager.m @@ -183,28 +183,29 @@ - (void)sdl_onTouchEvent:(SDLRPCNotificationNotification *)notification { SDLOnTouchEvent* onTouchEvent = (SDLOnTouchEvent*)notification.notification; SDLTouchType touchType = onTouchEvent.type; - SDLTouchEvent *touchEvent = onTouchEvent.event.firstObject; - SDLTouch *touch = [[SDLTouch alloc] initWithTouchEvent:touchEvent]; + [onTouchEvent.event enumerateObjectsUsingBlock:^(SDLTouchEvent *touchEvent, NSUInteger idx, BOOL *stop) { + SDLTouch *touch = [[SDLTouch alloc] initWithTouchEvent:touchEvent]; - if (self.touchEventHandler) { - self.touchEventHandler(touch, touchType); - } - - if (!self.touchEventDelegate || (touch.identifier > MaximumNumberOfTouches)) { - return; - } + if (self.touchEventHandler) { + self.touchEventHandler(touch, touchType); + } - dispatch_async(dispatch_get_main_queue(), ^{ - if ([onTouchEvent.type isEqualToEnum:SDLTouchTypeBegin]) { - [self sdl_handleTouchBegan:touch]; - } else if ([onTouchEvent.type isEqualToEnum:SDLTouchTypeMove]) { - [self sdl_handleTouchMoved:touch]; - } else if ([onTouchEvent.type isEqualToEnum:SDLTouchTypeEnd]) { - [self sdl_handleTouchEnded:touch]; - } else if ([onTouchEvent.type isEqualToEnum:SDLTouchTypeCancel]) { - [self sdl_handleTouchCanceled:touch]; + if (!self.touchEventDelegate || (touch.identifier > MaximumNumberOfTouches)) { + return; } - }); + + dispatch_async(dispatch_get_main_queue(), ^{ + if ([onTouchEvent.type isEqualToEnum:SDLTouchTypeBegin]) { + [self sdl_handleTouchBegan:touch]; + } else if ([onTouchEvent.type isEqualToEnum:SDLTouchTypeMove]) { + [self sdl_handleTouchMoved:touch]; + } else if ([onTouchEvent.type isEqualToEnum:SDLTouchTypeEnd]) { + [self sdl_handleTouchEnded:touch]; + } else if ([onTouchEvent.type isEqualToEnum:SDLTouchTypeCancel]) { + [self sdl_handleTouchCanceled:touch]; + } + }); + }]; } #pragma mark - Private diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchType.h index e045294..cce21c0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTouchType.h @@ -4,9 +4,27 @@ #import "SDLEnum.h" +/** + The type of a touch in a projection application. Used in OnTouchEvent. + */ typedef SDLEnum SDLTouchType SDL_SWIFT_ENUM; +/** + The touch is the beginning of a finger pressed on the display. + */ extern SDLTouchType const SDLTouchTypeBegin; + +/** + The touch is the movement of a finger pressed on the display. + */ extern SDLTouchType const SDLTouchTypeMove; + +/** + The touch is the ending of a finger pressed on the display. + */ extern SDLTouchType const SDLTouchTypeEnd; + +/** + The touch is the cancellation of a finger pressed on the display. + */ extern SDLTouchType const SDLTouchTypeCancel; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTransportDelegate.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTransportDelegate.h index 78d3d77..c835091 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTransportDelegate.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTransportDelegate.h @@ -5,9 +5,23 @@ NS_ASSUME_NONNULL_BEGIN @protocol SDLTransportDelegate +/** + * The transport connected to Core + */ - (void)onTransportConnected; + +/** + * The transport disconnected from Core + */ - (void)onTransportDisconnected; + +/** + * Data received from Core + * + * @param receivedData The data received from Core + */ - (void)onDataReceived:(NSData *)receivedData; +- (void)onError:(NSError *)error; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractTransport.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTransportType.h similarity index 63% rename from Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractTransport.h rename to Pods/SmartDeviceLink/SmartDeviceLink/SDLTransportType.h index 0273b84..5d51680 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLAbstractTransport.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTransportType.h @@ -1,4 +1,4 @@ -// SDLAbstractTransport.h +// SDLTransportType.h #import @@ -6,15 +6,13 @@ NS_ASSUME_NONNULL_BEGIN -@interface SDLAbstractTransport : NSObject +@protocol SDLTransportType @property (nullable, weak, nonatomic) id delegate; -@property (strong, nonatomic) NSString *debugConsoleGroupName; - (void)connect; - (void)disconnect; - (void)sendData:(NSData *)dataToSend; -- (double)retryDelay; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTriggerSource.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTriggerSource.h index b9fa626..d6d44db 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTriggerSource.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTriggerSource.h @@ -5,23 +5,23 @@ #import "SDLEnum.h" /** - * Indicates whether choice/command was selected via VR or via a menu selection (using SEEKRIGHT/SEEKLEFT, TUNEUP, TUNEDOWN, OK buttons) + * Indicates whether choice/command was selected via VR or via a menu selection (using SEEKRIGHT/SEEKLEFT, TUNEUP, TUNEDOWN, OK buttons). Used in PerformInteractionResponse and OnCommand. * * @since SDL 1.0 */ typedef SDLEnum SDLTriggerSource SDL_SWIFT_ENUM; /** - * @abstract Selection made via menu + * Selection made via menu */ extern SDLTriggerSource const SDLTriggerSourceMenu; /** - * @abstract Selection made via Voice session + * Selection made via Voice session */ extern SDLTriggerSource const SDLTriggerSourceVoiceRecognition; /** - * @abstract Selection made via Keyboard + * Selection made via Keyboard */ extern SDLTriggerSource const SDLTriggerSourceKeyboard; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurn.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurn.h index f895d07..f0cd7dc 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurn.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurn.h @@ -7,11 +7,21 @@ NS_ASSUME_NONNULL_BEGIN +/** + A struct used in UpdateTurnList for Turn-by-Turn navigation applications + */ @interface SDLTurn : SDLRPCStruct - (instancetype)initWithNavigationText:(nullable NSString *)navigationText turnIcon:(nullable SDLImage *)icon; +/** + Individual turn text. Must provide at least text or icon for a given turn + */ @property (strong, nonatomic, nullable) NSString *navigationText; + +/** + Individual turn icon. Must provide at least text or icon for a given turn + */ @property (strong, nonatomic, nullable) SDLImage *turnIcon; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurnSignal.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurnSignal.h new file mode 100644 index 0000000..b8d50c6 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurnSignal.h @@ -0,0 +1,34 @@ +// +// SDLTurnSignal.h +// SmartDeviceLink +// +// Created by Nicole on 7/19/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLEnum.h" + +/* + * Enumeration that describes the status of the turn light indicator. + */ +typedef SDLEnum SDLTurnSignal SDL_SWIFT_ENUM; + +/* + * Turn signal is OFF + */ +extern SDLTurnSignal const SDLTurnSignalOff; + +/* + * Left turn signal is on + */ +extern SDLTurnSignal const SDLTurnSignalLeft; + +/* + * Right turn signal is on + */ +extern SDLTurnSignal const SDLTurnSignalRight; + +/* + * Both signals (left and right) are on + */ +extern SDLTurnSignal const SDLTurnSignalBoth; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurnSignal.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurnSignal.m new file mode 100644 index 0000000..dedd49e --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLTurnSignal.m @@ -0,0 +1,14 @@ +// +// SDLTurnSignal.m +// SmartDeviceLink +// +// Created by Nicole on 7/19/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLTurnSignal.h" + +SDLTurnSignal const SDLTurnSignalOff = @"OFF"; +SDLTurnSignal const SDLTurnSignalLeft = @"LEFT"; +SDLTurnSignal const SDLTurnSignalRight = @"RIGHT"; +SDLTurnSignal const SDLTurnSignalBoth = @"BOTH"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h index c7088fc..da366a5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnregisterAppInterfaceResponse.h @@ -4,14 +4,13 @@ #import "SDLRPCResponse.h" -/** - * Unregister AppInterface Response is sent, when SDLUnregisterAppInterface has been called - * - * @since SmartDeviceLink 1.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to UnregisterAppInterface + + SmartDeviceLink 1.0 + */ @interface SDLUnregisterAppInterfaceResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeButton.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeButton.h index edfa5ae..23d4cbf 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeButton.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeButton.h @@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithButtonName:(SDLButtonName)buttonName; /** - * @abstract A name of the button to unsubscribe from + * A name of the button to unsubscribe from * @discussion An Enumeration value, see * SDLButtonName */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeButtonResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeButtonResponse.h index 941cea5..23753b0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeButtonResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeButtonResponse.h @@ -4,14 +4,13 @@ #import "SDLRPCResponse.h" -/** - * Unsubscribe Button Response is sent, when SDLUnsubscribeButton has been called - * - * @since SmartDeviceLink 1.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to UnsubscribeButton + + Since SmartDeviceLink 1.0 + */ @interface SDLUnsubscribeButtonResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleData.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleData.h index fc79380..ace3cf5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleData.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleData.h @@ -21,104 +21,212 @@ NS_ASSUME_NONNULL_BEGIN @interface SDLUnsubscribeVehicleData : SDLRPCRequest -- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus; - /** - * @abstract A boolean value. If true, unsubscribes Gps data + * Convenience init for unsubscribing to all possible vehicle data items. + * + * @param accelerationPedalPosition Unsubscribe to accelerationPedalPosition + * @param airbagStatus Unsubscribe to airbagStatus + * @param beltStatus Unsubscribe to beltStatus + * @param bodyInformation Unsubscribe to bodyInformation + * @param clusterModeStatus Unsubscribe to clusterModeStatus + * @param deviceStatus Unsubscribe to deviceStatus + * @param driverBraking Unsubscribe to driverBraking + * @param eCallInfo Unsubscribe to eCallInfo + * @param emergencyEvent Unsubscribe to emergencyEvent + * @param engineTorque Unsubscribe to engineTorque + * @param externalTemperature Unsubscribe to externalTemperature + * @param fuelLevel Unsubscribe to fuelLevel + * @param fuelLevelState Unsubscribe to fuelLevelState + * @param gps Unsubscribe to gps + * @param headLampStatus Unsubscribe to headLampStatus + * @param instantFuelConsumption Unsubscribe to instantFuelConsumption + * @param myKey Unsubscribe to myKey + * @param odometer Unsubscribe to odometer + * @param prndl Unsubscribe to prndl + * @param rpm Unsubscribe to rpm + * @param speed Unsubscribe to speed + * @param steeringWheelAngle Unsubscribe to steeringWheelAngle + * @param tirePressure Unsubscribe to tirePressure + * @param wiperStatus Unsubscribe to wiperStatus + * @return A SDLUnsubscribeVehicleData object + */ +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:driverBraking:eCallInfo:electronicParkBrakeStatus:emergencyEvent:engineOilLife:engineTorque:externalTemperature:fuelLevel:fuelLevelState:fuelRange:gps:headLampStatus:instantFuelConsumption:myKey:odometer:prndl:rpm:speed:steeringWheelAngle:tirePressure:turnSignal:wiperStatus: instead"); + +/** + * Convenience init for unsubscribing to all possible vehicle data items. + * + * @param accelerationPedalPosition Unsubscribe to accelerationPedalPosition + * @param airbagStatus Unsubscribe to airbagStatus + * @param beltStatus Unsubscribe to beltStatus + * @param bodyInformation Unsubscribe to bodyInformation + * @param clusterModeStatus Unsubscribe to clusterModeStatus + * @param deviceStatus Unsubscribe to deviceStatus + * @param driverBraking Unsubscribe to driverBraking + * @param eCallInfo Unsubscribe to eCallInfo + * @param electronicParkBrakeStatus Unsubscribe to electronicParkBrakeStatus + * @param emergencyEvent Unsubscribe to emergencyEvent + * @param engineOilLife Unsubscribe to engineOilLife + * @param engineTorque Unsubscribe to engineTorque + * @param externalTemperature Unsubscribe to externalTemperature + * @param fuelLevel Unsubscribe to fuelLevel + * @param fuelLevelState Unsubscribe to fuelLevelState + * @param fuelRange Unsubscribe to fuelRange + * @param gps Unsubscribe to gps + * @param headLampStatus Unsubscribe to headLampStatus + * @param instantFuelConsumption Unsubscribe to instantFuelConsumption + * @param myKey Unsubscribe to myKey + * @param odometer Unsubscribe to odometer + * @param prndl Unsubscribe to prndl + * @param rpm Unsubscribe to rpm + * @param speed Unsubscribe to speed + * @param steeringWheelAngle Unsubscribe to steeringWheelAngle + * @param tirePressure Unsubscribe to tirePressure + * @param turnSignal Unsubscribe to turnSignal + * @param wiperStatus Unsubscribe to wiperStatus + * @return A SDLUnsubscribeVehicleData object + */ +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus; + +/** + * If true, unsubscribes from GPS */ @property (strong, nonatomic, nullable) NSNumber *gps; /** - * @abstract A boolean value. If true, unsubscribes speed data + * If true, unsubscribes from Speed */ @property (strong, nonatomic, nullable) NSNumber *speed; /** - * @abstract A boolean value. If true, unsubscribe data + * If true, unsubscribes from RPM */ @property (strong, nonatomic, nullable) NSNumber *rpm; /** - * @abstract A boolean value. If true, unsubscribes FuelLevel data + * If true, unsubscribes from Fuel Level */ @property (strong, nonatomic, nullable) NSNumber *fuelLevel; /** - * @abstract A boolean value. If true, unsubscribes fuelLevel_State data + * If true, unsubscribes from Fuel Level State */ @property (strong, nonatomic, nullable) NSNumber *fuelLevel_State; /** - * @abstract A boolean value. If true, unsubscribes instantFuelConsumption data + * If true, unsubscribes from Fuel Range + */ +@property (strong, nonatomic, nullable) NSNumber *fuelRange; + +/** + * If true, unsubscribes from Instant Fuel Consumption */ @property (strong, nonatomic, nullable) NSNumber *instantFuelConsumption; /** - * @abstract A boolean value. If true, unsubscribes externalTemperature data + * If true, unsubscribes from External Temperature */ @property (strong, nonatomic, nullable) NSNumber *externalTemperature; /** - * @abstract A boolean value. If true, unsubscribes Currently selected gear data + * If true, unsubscribes from PRNDL */ @property (strong, nonatomic, nullable) NSNumber *prndl; /** - * @abstract A boolean value. If true, unsubscribes tire pressure status data + * If true, unsubscribes from Tire Pressure */ @property (strong, nonatomic, nullable) NSNumber *tirePressure; /** - * @abstract A boolean value. If true, unsubscribes odometer data + * If true, unsubscribes from Odometer */ @property (strong, nonatomic, nullable) NSNumber *odometer; /** - * @abstract A boolean value. If true, unsubscribes belt Status data + * If true, unsubscribes from Belt Status */ @property (strong, nonatomic, nullable) NSNumber *beltStatus; /** - * @abstract A boolean value. If true, unsubscribes body Information data + * If true, unsubscribes from Body Information */ @property (strong, nonatomic, nullable) NSNumber *bodyInformation; /** - * @abstract A boolean value. If true, unsubscribes device Status data + * If true, unsubscribes from Device Status */ @property (strong, nonatomic, nullable) NSNumber *deviceStatus; /** - * @abstract A boolean value. If true, unsubscribes driver Braking data + * If true, unsubscribes from Driver Braking */ @property (strong, nonatomic, nullable) NSNumber *driverBraking; /** - * @abstract A boolean value. If true, unsubscribes wiper Status data + * If true, unsubscribes from Wiper Status */ @property (strong, nonatomic, nullable) NSNumber *wiperStatus; /** - * @abstract A boolean value. If true, unsubscribes Head Lamp Status data + * If true, unsubscribes from Head Lamp Status */ @property (strong, nonatomic, nullable) NSNumber *headLampStatus; /** - * @abstract A boolean value. If true, unsubscribes Engine Torque data + * If true, unsubscribes from Engine Oil Life + */ +@property (strong, nonatomic, nullable) NSNumber *engineOilLife; + +/** + * If true, unsubscribes from Engine Torque */ @property (strong, nonatomic, nullable) NSNumber *engineTorque; /** - * @abstract A boolean value. If true, unsubscribes accPedalPosition data + * If true, unsubscribes from Acc Pedal Position */ @property (strong, nonatomic, nullable) NSNumber *accPedalPosition; + +/** + * If true, unsubscribes from Steering Wheel Angle data + */ @property (strong, nonatomic, nullable) NSNumber *steeringWheelAngle; + +/** + * If true, unsubscribes from eCallInfo + */ @property (strong, nonatomic, nullable) NSNumber *eCallInfo; + +/** + * If true, unsubscribes from Airbag Status + */ @property (strong, nonatomic, nullable) NSNumber *airbagStatus; + +/** + * If true, unsubscribes from Emergency Event + */ @property (strong, nonatomic, nullable) NSNumber *emergencyEvent; + +/** + * If true, unsubscribes from Cluster Mode Status + */ @property (strong, nonatomic, nullable) NSNumber *clusterModeStatus; + +/** + * If true, unsubscribes from My Key + */ @property (strong, nonatomic, nullable) NSNumber *myKey; +/** + A boolean value. If true, unsubscribes to the Electronic Parking Brake Status + */ +@property (strong, nonatomic, nullable) NSNumber *electronicParkBrakeStatus; + +/** + A boolean value. If true, unsubscribes to the Turn Signal + */ +@property (strong, nonatomic, nullable) NSNumber *turnSignal; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleData.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleData.m index ec53122..3ecf16b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleData.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleData.m @@ -18,6 +18,10 @@ - (instancetype)init { } - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus { + return [self initWithAccelerationPedalPosition:accelerationPedalPosition airbagStatus:airbagStatus beltStatus:beltStatus bodyInformation:bodyInformation clusterModeStatus:clusterModeStatus deviceStatus:deviceStatus driverBraking:driverBraking eCallInfo:eCallInfo electronicParkBrakeStatus:NO emergencyEvent:emergencyEvent engineOilLife:NO engineTorque:engineTorque externalTemperature:externalTemperature fuelLevel:fuelLevel fuelLevelState:fuelLevelState fuelRange:NO gps:gps headLampStatus:headLampStatus instantFuelConsumption:instantFuelConsumption myKey:myKey odometer:odometer prndl:prndl rpm:rpm speed:speed steeringWheelAngle:steeringWheelAngle tirePressure:tirePressure turnSignal:NO wiperStatus:wiperStatus]; +} + +- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus { self = [self init]; if (!self) { return nil; @@ -31,11 +35,14 @@ - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPositio self.deviceStatus = @(deviceStatus); self.driverBraking = @(driverBraking); self.eCallInfo = @(eCallInfo); + self.electronicParkBrakeStatus = @(electronicParkBrakeStatus); self.emergencyEvent = @(emergencyEvent); + self.engineOilLife = @(engineOilLife); self.engineTorque = @(engineTorque); self.externalTemperature = @(externalTemperature); self.fuelLevel = @(fuelLevel); self.fuelLevel_State = @(fuelLevelState); + self.fuelRange = @(fuelRange); self.myKey = @(myKey); self.odometer = @(odometer); self.gps = @(gps); @@ -46,6 +53,7 @@ - (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPositio self.speed = @(speed); self.steeringWheelAngle = @(steeringWheelAngle); self.tirePressure = @(tirePressure); + self.turnSignal = @(turnSignal); self.wiperStatus = @(wiperStatus); return self; @@ -91,6 +99,14 @@ - (void)setFuelLevel_State:(nullable NSNumber *)fuelLevel_State { return [parameters sdl_objectForName:SDLNameFuelLevelState]; } +- (void)setFuelRange:(nullable NSNumber *)fuelRange { + [parameters sdl_setObject:fuelRange forName:SDLNameFuelRange]; +} + +- (nullable NSNumber *)fuelRange { + return [parameters sdl_objectForName:SDLNameFuelRange]; +} + - (void)setInstantFuelConsumption:(nullable NSNumber *)instantFuelConsumption { [parameters sdl_setObject:instantFuelConsumption forName:SDLNameInstantFuelConsumption]; } @@ -179,6 +195,14 @@ - (void)setHeadLampStatus:(nullable NSNumber *)headLampStatus { return [parameters sdl_objectForName:SDLNameHeadLampStatus]; } +- (void)setEngineOilLife:(nullable NSNumber *)engineOilLife { + [parameters sdl_setObject:engineOilLife forName:SDLNameEngineOilLife]; +} + +- (nullable NSNumber *)engineOilLife { + return [parameters sdl_objectForName:SDLNameEngineOilLife]; +} + - (void)setEngineTorque:(nullable NSNumber *)engineTorque { [parameters sdl_setObject:engineTorque forName:SDLNameEngineTorque]; } @@ -243,6 +267,22 @@ - (void)setMyKey:(nullable NSNumber *)myKey { return [parameters sdl_objectForName:SDLNameMyKey]; } +- (void)setElectronicParkBrakeStatus:(nullable NSNumber *)electronicParkBrakeStatus { + [parameters sdl_setObject:electronicParkBrakeStatus forName:SDLNameElectronicParkBrakeStatus]; +} + +- (nullable NSNumber *)electronicParkBrakeStatus { + return [parameters sdl_objectForName:SDLNameElectronicParkBrakeStatus]; +} + +- (void)setTurnSignal:(nullable NSNumber *)turnSignal { + [parameters sdl_setObject:turnSignal forName:SDLNameTurnSignal]; +} + +- (nullable NSNumber *)turnSignal { + return [parameters sdl_objectForName:SDLNameTurnSignal]; +} + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h index bced589..0500a19 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.h @@ -6,116 +6,211 @@ @class SDLVehicleDataResult; -/** - * Unsubscribe Vehicle Data Response is sent, when UnsubscribeVehicleData has been called - * - * @since SmartDeviceLink 2.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to UnsubscribeVehicleData + + since SmartDeviceLink 2.0 + */ @interface SDLUnsubscribeVehicleDataResponse : SDLRPCResponse /** - * @abstract A SDLVehicleDataResult* value. See GPSData. + The result of requesting to unsubscribe to the GPSData. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *gps; /** - * @abstract A SDLVehicleDataResult* value. The vehicle speed in kilometers per hour. + The result of requesting to unsubscribe to the vehicle speed in kilometers per hour. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *speed; /** - * @abstract A SDLVehicleDataResult* value. The number of revolutions per minute of the engine. + The result of requesting to unsubscribe to the number of revolutions per minute of the engine. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *rpm; /** - * @abstract A SDLVehicleDataResult* value. The fuel level in the tank (percentage) + The result of requesting to unsubscribe to the fuel level in the tank (percentage) + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel; /** - * @abstract A SDLVehicleDataResult* value. The fuel level state. + The result of requesting to unsubscribe to the fuel level state. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel_State; /** - * @abstract A SDLVehicleDataResult* value. The instantaneous fuel consumption in microlitres. + The result of requesting to unsubscribe to the fuel range. + + Optional + */ +@property (strong, nonatomic, nullable) SDLVehicleDataResult *fuelRange; + +/** + The result of requesting to unsubscribe to the instantaneous fuel consumption in microlitres. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *instantFuelConsumption; /** - * @abstract A SDLVehicleDataResult* value. The external temperature in degrees celsius. + The result of requesting to unsubscribe to the external temperature in degrees celsius. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *externalTemperature; /** - * @abstract A SDLVehicleDataResult* value. See PRNDL. + The result of requesting to unsubscribe to the PRNDL status. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *prndl; /** - * @abstract A SDLVehicleDataResult* value. See TireStatus. + The result of requesting to unsubscribe to the tireStatus. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *tirePressure; /** - * @abstract A SDLVehicleDataResult* value. Odometer in km. + The result of requesting to unsubscribe to the odometer in km. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *odometer; /** - * @abstract A SDLVehicleDataResult* value. The status of the seat belts. + The result of requesting to unsubscribe to the status of the seat belts. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *beltStatus; /** - * @abstract A SDLVehicleDataResult* value. The body information including power modes. + The result of requesting to unsubscribe to the body information including power modes. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *bodyInformation; /** - * @abstract A SDLVehicleDataResult* value. The device status including signal and battery strength. + The result of requesting to unsubscribe to the device status including signal and battery strength. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *deviceStatus; /** - * @abstract A SDLVehicleDataResult* value. The status of the brake pedal. + The result of requesting to unsubscribe to the status of the brake pedal. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *driverBraking; /** - * @abstract A SDLVehicleDataResult* value. The status of the wipers. + The result of requesting to unsubscribe to the status of the wipers. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *wiperStatus; /** - * @abstract A SDLVehicleDataResult* value. Status of the head lamps. + The result of requesting to unsubscribe to the status of the head lamps. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *headLampStatus; /** - * @abstract A SDLVehicleDataResult* value. Torque value for engine (in Nm) on non-diesel variants. + The result of requesting to unsubscribe to the estimated percentage of remaining oil life of the engine. + + Optional + */ +@property (strong, nonatomic, nullable) SDLVehicleDataResult *engineOilLife; + +/** + The result of requesting to unsubscribe to the torque value for engine (in Nm) on non-diesel variants. + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *engineTorque; /** - * @abstract A SDLVehicleDataResult* value. Accelerator pedal position (percentage depressed) + The result of requesting to unsubscribe to the accelerator pedal position (percentage depressed) + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *accPedalPosition; /** - * @abstract A SDLVehicleDataResult* value. Current angle of the steering wheel (in deg) + The result of requesting to unsubscribe to the current angle of the steering wheel (in deg) + + Optional */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *steeringWheelAngle; + +/** + The result of requesting to unsubscribe to the emergency call info + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *eCallInfo; + +/** + The result of requesting to unsubscribe to the airbag status + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *airbagStatus; + +/** + The result of requesting to unsubscribe to the emergency event + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *emergencyEvent; + +/** + The result of requesting to unsubscribe to the cluster modes + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *clusterModes; + +/** + The result of requesting to unsubscribe to the myKey status + + Optional + */ @property (strong, nonatomic, nullable) SDLVehicleDataResult *myKey; +/** + The result of requesting to unsubscribe to the electronic parking brake status + + Optional + */ +@property (strong, nonatomic, nullable) SDLVehicleDataResult *electronicParkBrakeStatus; + +/** + The result of requesting to unsubscribe to the turn signal + + Optional + */ +@property (strong, nonatomic, nullable) SDLVehicleDataResult *turnSignal; + @end NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m index 5eb911d..6ad213d 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeVehicleDataResponse.m @@ -58,6 +58,14 @@ - (nullable SDLVehicleDataResult *)fuelLevel_State { return [parameters sdl_objectForName:SDLNameFuelLevelState ofClass:SDLVehicleDataResult.class]; } +- (void)setFuelRange:(nullable SDLVehicleDataResult *)fuelRange { + [parameters sdl_setObject:fuelRange forName:SDLNameFuelRange]; +} + +- (nullable SDLVehicleDataResult *)fuelRange { + return [parameters sdl_objectForName:SDLNameFuelRange ofClass:SDLVehicleDataResult.class]; +} + - (void)setInstantFuelConsumption:(nullable SDLVehicleDataResult *)instantFuelConsumption { [parameters sdl_setObject:instantFuelConsumption forName:SDLNameInstantFuelConsumption]; } @@ -146,6 +154,14 @@ - (nullable SDLVehicleDataResult *)headLampStatus { return [parameters sdl_objectForName:SDLNameHeadLampStatus ofClass:SDLVehicleDataResult.class]; } +- (void)setEngineOilLife:(nullable SDLVehicleDataResult *)engineOilLife { + [parameters sdl_setObject:engineOilLife forName:SDLNameEngineOilLife]; +} + +- (nullable SDLVehicleDataResult *)engineOilLife { + return [parameters sdl_objectForName:SDLNameEngineOilLife]; +} + - (void)setEngineTorque:(nullable SDLVehicleDataResult *)engineTorque { [parameters sdl_setObject:engineTorque forName:SDLNameEngineTorque]; } @@ -210,6 +226,21 @@ - (nullable SDLVehicleDataResult *)myKey { return [parameters sdl_objectForName:SDLNameMyKey ofClass:SDLVehicleDataResult.class]; } +- (void)setElectronicParkBrakeStatus:(nullable SDLVehicleDataResult *)electronicParkBrakeStatus { + [parameters sdl_setObject:electronicParkBrakeStatus forName:SDLNameElectronicParkBrakeStatus]; +} + +- (nullable SDLVehicleDataResult *)electronicParkBrakeStatus { + return [parameters sdl_objectForName:SDLNameElectronicParkBrakeStatus ofClass:[SDLVehicleDataResult class]]; +} + +- (void)setTurnSignal:(nullable SDLVehicleDataResult *)turnSignal { + [parameters sdl_setObject:turnSignal forName:SDLNameTurnSignal]; +} + +- (nullable SDLVehicleDataResult *)turnSignal { + return [parameters sdl_objectForName:SDLNameTurnSignal ofClass:SDLVehicleDataResult.class]; +} @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeWayPoints.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeWayPoints.h index 5edce6b..4b67ac2 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeWayPoints.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeWayPoints.h @@ -5,6 +5,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + Request to unsubscribe from navigation WayPoints and Destination + */ @interface SDLUnsubscribeWayPoints : SDLRPCRequest @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeWayPointsResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeWayPointsResponse.h index 5919546..304930a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeWayPointsResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUnsubscribeWayPointsResponse.h @@ -5,6 +5,9 @@ NS_ASSUME_NONNULL_BEGIN +/** + Response to UnsubscribeWayPoints + */ @interface SDLUnsubscribeWayPointsResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUpdateMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUpdateMode.h index d437d78..03748f3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUpdateMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUpdateMode.h @@ -5,33 +5,33 @@ #import "SDLEnum.h" /** - * Specifies what function should be performed on the media clock/counter + * Specifies what function should be performed on the media clock/counter. Used in SetMediaClockTimer. * * @since SDL 1.0 */ typedef SDLEnum SDLUpdateMode SDL_SWIFT_ENUM; /** - * @abstract Starts the media clock timer counting upward, in increments of 1 second. + * Starts the media clock timer counting upward, in increments of 1 second. */ extern SDLUpdateMode const SDLUpdateModeCountUp; /** - * @abstract Starts the media clock timer counting downward, in increments of 1 second. + * Starts the media clock timer counting downward, in increments of 1 second. */ extern SDLUpdateMode const SDLUpdateModeCountDown; /** - * @abstract Pauses the media clock timer. + * Pauses the media clock timer. */ extern SDLUpdateMode const SDLUpdateModePause; /** - * @abstract Resumes the media clock timer. The timer resumes counting in whatever mode was in effect before pausing (i.e. COUNTUP or COUNTDOWN). + * Resumes the media clock timer. The timer resumes counting in whatever mode was in effect before pausing (i.e. COUNTUP or COUNTDOWN). */ extern SDLUpdateMode const SDLUpdateModeResume; /** - * @abstract Clear the media clock timer. + * Clear the media clock timer. */ extern SDLUpdateMode const SDLUpdateModeClear; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUpdateTurnListResponse.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUpdateTurnListResponse.h index 31ba28d..cc05e2e 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUpdateTurnListResponse.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUpdateTurnListResponse.h @@ -3,13 +3,13 @@ #import "SDLRPCResponse.h" - -/** SDLUpdateTurnListResponse is sent, when SDLUpdateTurnList has been called. - * SinceSmartDeviceLink 2.0 - */ - NS_ASSUME_NONNULL_BEGIN +/** + Response to UpdateTurnList + + Since SmartDeviceLink 2.0 + */ @interface SDLUpdateTurnListResponse : SDLRPCResponse @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUploadFileOperation.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUploadFileOperation.m index a084bd1..620d0f8 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLUploadFileOperation.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLUploadFileOperation.m @@ -66,7 +66,7 @@ - (void)start { */ - (void)sdl_sendFile:(SDLFile *)file mtuSize:(NSUInteger)mtuSize withCompletion:(SDLFileManagerUploadCompletionHandler)completion { __block NSError *streamError = nil; - __block NSUInteger bytesAvailable = 0; + __block NSUInteger bytesAvailable = 2000000000; __block NSInteger highestCorrelationIDReceived = -1; if (self.isCancelled) { @@ -94,9 +94,8 @@ - (void)sdl_sendFile:(SDLFile *)file mtuSize:(NSUInteger)mtuSize withCompletion: __weak typeof(self) weakself = self; dispatch_group_notify(putFileGroup, dispatch_get_main_queue(), ^{ typeof(weakself) strongself = weakself; - [weakself sdl_closeInputStream]; - + if (streamError != nil || strongself.isCancelled) { completion(NO, bytesAvailable, streamError); } else { @@ -110,19 +109,26 @@ - (void)sdl_sendFile:(SDLFile *)file mtuSize:(NSUInteger)mtuSize withCompletion: for (int i = 0; i < (((file.fileSize - 1) / mtuSize) + 1); i++) { dispatch_group_enter(putFileGroup); - // The putfile's length parameter is based on the current offset - SDLPutFile *putFile = [[SDLPutFile alloc] initWithFileName:file.name fileType:file.fileType persistentFile:file.isPersistent]; - putFile.offset = @(currentOffset); - putFile.length = @([self.class sdl_getPutFileLengthForOffset:currentOffset fileSize:file.fileSize mtuSize:mtuSize]); - // Get a chunk of data from the input stream - NSUInteger dataSize = [self.class sdl_getDataSizeForOffset:currentOffset fileSize:file.fileSize mtuSize:mtuSize]; - putFile.bulkData = [self.class sdl_getDataChunkWithSize:dataSize inputStream:self.inputStream]; - currentOffset += dataSize; + UInt32 putFileLength = (UInt32)[self.class sdl_getPutFileLengthForOffset:currentOffset fileSize:(NSUInteger)file.fileSize mtuSize:mtuSize]; + NSUInteger putFileBulkDataSize = [self.class sdl_getDataSizeForOffset:currentOffset fileSize:file.fileSize mtuSize:mtuSize]; + NSData *putFileBulkData = [self.class sdl_getDataChunkWithSize:putFileBulkDataSize inputStream:self.inputStream]; + + SDLPutFile *putFile = [[SDLPutFile alloc] + initWithFileName:file.name + fileType:file.fileType + persistentFile:file.isPersistent + systemFile:NO + offset:(UInt32)currentOffset + length:putFileLength + bulkData:putFileBulkData]; + + currentOffset += putFileBulkDataSize; __weak typeof(self) weakself = self; [self.connectionManager sendConnectionManagerRequest:putFile withResponseHandler:^(__kindof SDLRPCRequest *_Nullable request, __kindof SDLRPCResponse *_Nullable response, NSError *_Nullable error) { typeof(weakself) strongself = weakself; + SDLPutFileResponse *putFileResponse = (SDLPutFileResponse *)response; // Check if the upload process has been cancelled by another packet. If so, stop the upload process. // TODO: Is this the right way to handle this case? Should we just abort everything in the future? Should we be deleting what we sent? Should we have an automatic retry strategy based on what the error was? @@ -142,7 +148,9 @@ - (void)sdl_sendFile:(SDLFile *)file mtuSize:(NSUInteger)mtuSize withCompletion: // If no errors, watch for a response containing the amount of storage left on the SDL Core if ([self.class sdl_newHighestCorrelationID:request highestCorrelationIDReceived:highestCorrelationIDReceived]) { highestCorrelationIDReceived = [request.correlationID integerValue]; - bytesAvailable = [(SDLPutFileResponse *)response spaceAvailable].unsignedIntegerValue; + + // If spaceAvailable is nil, set it to the max value + bytesAvailable = putFileResponse.spaceAvailable != nil ? putFileResponse.spaceAvailable.unsignedIntegerValue : 2000000000; } dispatch_group_leave(putFileGroup); @@ -177,7 +185,7 @@ - (void)sdl_closeInputStream { @param mtuSize The maximum packet size allowed @return The the length of the data being sent in the putfile */ -+ (NSUInteger)sdl_getPutFileLengthForOffset:(NSUInteger)currentOffset fileSize:(unsigned long long)fileSize mtuSize:(NSUInteger)mtuSize { ++ (NSUInteger)sdl_getPutFileLengthForOffset:(NSUInteger)currentOffset fileSize:(NSUInteger)fileSize mtuSize:(NSUInteger)mtuSize { NSUInteger putFileLength = 0; if (currentOffset == 0) { // The first putfile sends the full file size diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLV2ProtocolHeader.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLV2ProtocolHeader.m index ce426fd..d89fdeb 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLV2ProtocolHeader.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLV2ProtocolHeader.m @@ -97,6 +97,8 @@ - (NSString *)description { if (self.frameData >= 0 && self.frameData <= 5) { NSArray *controlFrameDataNames = @[@"Heartbeat", @"StartSession", @"StartSessionACK", @"StartSessionNACK", @"EndSession", @"EndSessionACK", @"EndSessionNACK"]; frameDataString = controlFrameDataNames[self.frameData]; + } else if (self.frameData == SDLFrameInfoTransportEventUpdate) { + frameDataString = @"TransportEventUpdate"; } else { frameDataString = @"Reserved"; } diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLV2ProtocolMessage.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLV2ProtocolMessage.m index 291dde6..6569465 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLV2ProtocolMessage.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLV2ProtocolMessage.m @@ -36,8 +36,8 @@ - (instancetype)initWithHeader:(SDLProtocolHeader *)header andPayload:(nullable // Create the inner dictionary with the RPC properties NSMutableDictionary *innerDictionary = [[NSMutableDictionary alloc] init]; NSString *functionName = [[SDLFunctionID sharedInstance] functionNameForId:rpcPayload.functionID]; - [innerDictionary setObject:functionName forKey:SDLNameOperationName]; - [innerDictionary setObject:[NSNumber numberWithUnsignedInt:rpcPayload.correlationID] forKey:SDLNameCorrelationId]; + innerDictionary[SDLNameOperationName] = functionName; + innerDictionary[SDLNameCorrelationId] = @(rpcPayload.correlationID); // Get the json data from the struct if (rpcPayload.jsonData) { diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataActiveStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataActiveStatus.h index 2d84cd3..ceeabd3 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataActiveStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataActiveStatus.h @@ -5,31 +5,31 @@ #import "SDLEnum.h" /** - Vehicle Data Activity Status + Vehicle Data Activity Status. Used in nothing. */ typedef SDLEnum SDLVehicleDataActiveStatus SDL_SWIFT_ENUM; /** - @abstract SDLVehicleDataActiveStatus : Inactive not confirmed + Inactive not confirmed */ extern SDLVehicleDataActiveStatus const SDLVehicleDataActiveStatusInactiveNotConfirmed; /** - @abstract SDLVehicleDataActiveStatus : Inactive confirmed + Inactive confirmed */ extern SDLVehicleDataActiveStatus const SDLVehicleDataActiveStatusInactiveConfirmed; /** - @abstract SDLVehicleDataActiveStatus : Active not confirmed + Active not confirmed */ extern SDLVehicleDataActiveStatus const SDLVehicleDataActiveStatusActiveNotConfirmed; /** - @abstract SDLVehicleDataActiveStatus : Active confirmed + Active confirmed */ extern SDLVehicleDataActiveStatus const SDLVehicleDataActiveStatusActiveConfirmed; /** - @abstract SDLVehicleDataActiveStatus : Fault + Fault */ extern SDLVehicleDataActiveStatus const SDLVehicleDataActiveStatusFault; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataEventStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataEventStatus.h index f0f038a..1c78e26 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataEventStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataEventStatus.h @@ -5,24 +5,33 @@ #import "SDLEnum.h" /** - * Reflects the status of a vehicle data event; e.g. a seat belt event status. + * Reflects the status of a vehicle data event; e.g. a seat belt event status. Used in retrieving vehicle data. * * @since SDL 2.0 */ typedef SDLEnum SDLVehicleDataEventStatus SDL_SWIFT_ENUM; +/** + No event + */ extern SDLVehicleDataEventStatus const SDLVehicleDataEventStatusNoEvent; +/** + The event is a No status + */ extern SDLVehicleDataEventStatus const SDLVehicleDataEventStatusNo; +/** + The event is a Yes status + */ extern SDLVehicleDataEventStatus const SDLVehicleDataEventStatusYes; /** - * @abstract Vehicle data event is not supported + Vehicle data event is not supported */ extern SDLVehicleDataEventStatus const SDLVehicleDataEventStatusNotSupported; /** - * @abstract The SDLVehicleDataEventStatus instance with value of *FAULT* + The event is a Fault status */ extern SDLVehicleDataEventStatus const SDLVehicleDataEventStatusFault; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataNotificationStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataNotificationStatus.h index 7335759..dca5d84 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataNotificationStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataNotificationStatus.h @@ -5,28 +5,28 @@ #import "SDLEnum.h" /** - * Reflects the status of a vehicle data notification. + * Reflects the status of a vehicle data notification. Used in ECallInfo * * @since SDL 2.0 */ typedef SDLEnum SDLVehicleDataNotificationStatus SDL_SWIFT_ENUM; /** - * @abstract SDLVehicleDataNotificationStatus: *NOT_SUPPORTED* + The vehicle data notification status is not supported */ extern SDLVehicleDataNotificationStatus const SDLVehicleDataNotificationStatusNotSupported; /** - @abstract SDLVehicleDataNotificationStatus: *NORMAL* + The vehicle data notification status is normal */ extern SDLVehicleDataNotificationStatus const SDLVehicleDataNotificationStatusNormal; /** - @abstract SDLVehicleDataNotificationStatus: *ACTIVE* + The vehicle data notification status is active */ extern SDLVehicleDataNotificationStatus const SDLVehicleDataNotificationStatusActive; /** - @abstract SDLVehicleDataNotificationStatus: *NOT_USED* + The vehicle data notification status is not used */ extern SDLVehicleDataNotificationStatus const SDLVehicleDataNotificationStatusNotUsed; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataResult.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataResult.h index d0bbf59..44d43b7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataResult.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataResult.h @@ -8,9 +8,19 @@ NS_ASSUME_NONNULL_BEGIN +/** + Individual published data request result + */ @interface SDLVehicleDataResult : SDLRPCStruct +/** + Defined published data element type + */ @property (strong, nonatomic) SDLVehicleDataType dataType; + +/** + Published data result code + */ @property (strong, nonatomic) SDLVehicleDataResultCode resultCode; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataResultCode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataResultCode.h index a5ca1a9..c90c5a5 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataResultCode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataResultCode.h @@ -5,52 +5,51 @@ #import "SDLEnum.h" /** - Vehicle Data Result Code + Vehicle Data Result Code. Used in DIDResult. */ typedef SDLEnum SDLVehicleDataResultCode SDL_SWIFT_ENUM; /** - * Individual vehicle data item / DTC / DID request or subscription successful + Individual vehicle data item / DTC / DID request or subscription successful */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeSuccess; - /** - * DTC / DID request successful, however, not all active DTCs or full contents of DID location available + DTC / DID request successful, however, not all active DTCs or full contents of DID location available */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeTruncatedData; /** - * This vehicle data item is not allowed for this app by SDL + This vehicle data item is not allowed for this app by SDL */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeDisallowed; /** - * The user has not granted access to this type of vehicle data item at this time + The user has not granted access to this type of vehicle data item at this time */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeUserDisallowed; /** - * The ECU ID referenced is not a valid ID on the bus / system + The ECU ID referenced is not a valid ID on the bus / system */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeInvalidId; /** - * The requested vehicle data item / DTC / DID is not currently available or responding on the bus / system + The requested vehicle data item / DTC / DID is not currently available or responding on the bus / system */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeVehicleDataNotAvailable; /** - * The vehicle data item is already subscribed + The vehicle data item is already subscribed */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeDataAlreadySubscribed; /** - * The vehicle data item cannot be unsubscribed because it is not currently subscribed + The vehicle data item cannot be unsubscribed because it is not currently subscribed */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeDataNotSubscribed; /** - * The request for this item is ignored because it is already in progress + The request for this item is ignored because it is already in progress */ extern SDLVehicleDataResultCode const SDLVehicleDataResultCodeIgnored; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataStatus.h index 72f89a3..c0f2ffc 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataStatus.h @@ -5,23 +5,23 @@ #import "SDLEnum.h" /** - * Reflects the status of a binary vehicle data item. + * Reflects the status of a binary vehicle data item. Used in MyKey. * * @since SDL 2.0 */ typedef SDLEnum SDLVehicleDataStatus SDL_SWIFT_ENUM; /** - * @abstract No data avaliable + No data avaliable */ extern SDLVehicleDataStatus const SDLVehicleDataStatusNoDataExists; /** - * @abstract return SDLVehicleDataStatus: *OFF* + The status is Off */ extern SDLVehicleDataStatus const SDLVehicleDataStatusOff; /** - * @abstract return SDLVehicleDataStatus: *ON* + The status is On */ extern SDLVehicleDataStatus const SDLVehicleDataStatusOn; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataType.h index 6db6707..4afe818 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataType.h @@ -5,136 +5,156 @@ #import "SDLEnum.h" /** - * Defines the vehicle data types that can be published and/or subscribed to using SDLSubscribeVehicleData + * Defines the vehicle data types that can be published and/or subscribed to using SDLSubscribeVehicleData. Used in VehicleDataResult */ typedef SDLEnum SDLVehicleDataType SDL_SWIFT_ENUM; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_GPS* + GPS vehicle data */ extern SDLVehicleDataType const SDLVehicleDataTypeGPS; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_SPEED* + Vehicle speed data */ extern SDLVehicleDataType const SDLVehicleDataTypeSpeed; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_RPM* + Vehicle RPM data */ extern SDLVehicleDataType const SDLVehicleDataTypeRPM; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_FUELLEVEL* + Vehicle fuel level data */ extern SDLVehicleDataType const SDLVehicleDataTypeFuelLevel; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_FUELLEVEL_STATE* + Vehicle fuel level state data */ extern SDLVehicleDataType const SDLVehicleDataTypeFuelLevelState; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_FUELCONSUMPTION* + Vehicle fuel consumption data */ extern SDLVehicleDataType const SDLVehicleDataTypeFuelConsumption; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_EXTERNTEMP* + Vehicle external temperature data */ extern SDLVehicleDataType const SDLVehicleDataTypeExternalTemperature; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_VIN* + Vehicle VIN data */ extern SDLVehicleDataType const SDLVehicleDataTypeVIN; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_PRNDL* + Vehicle PRNDL data */ extern SDLVehicleDataType const SDLVehicleDataTypePRNDL; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_TIREPRESSURE* + Vehicle tire pressure data */ extern SDLVehicleDataType const SDLVehicleDataTypeTirePressure; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_ODOMETER* + Vehicle odometer data */ extern SDLVehicleDataType const SDLVehicleDataTypeOdometer; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_BELTSTATUS* + Vehicle belt status data */ extern SDLVehicleDataType const SDLVehicleDataTypeBeltStatus; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_BODYINFO* + Vehicle body info data */ extern SDLVehicleDataType const SDLVehicleDataTypeBodyInfo; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_DEVICESTATUS* + Vehicle device status data */ extern SDLVehicleDataType const SDLVehicleDataTypeDeviceStatus; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_ECALLINFO* + Vehicle emergency call info data */ extern SDLVehicleDataType const SDLVehicleDataTypeECallInfo; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_AIRBAGSTATUS* + Vehicle fuel range data + */ +extern SDLVehicleDataType const SDLVehicleDataTypeFuelRange; + +/** + Vehicle airbag status data */ extern SDLVehicleDataType const SDLVehicleDataTypeAirbagStatus; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_EMERGENCYEVENT* + Vehicle emergency event info */ extern SDLVehicleDataType const SDLVehicleDataTypeEmergencyEvent; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_CLUSTERMODESTATUS* + Vehicle cluster mode status data */ extern SDLVehicleDataType const SDLVehicleDataTypeClusterModeStatus; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_MYKEY* + Vehicle MyKey data */ extern SDLVehicleDataType const SDLVehicleDataTypeMyKey; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_BRAKING* + Vehicle braking data */ extern SDLVehicleDataType const SDLVehicleDataTypeBraking; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_WIPERSTATUS* + Vehicle wiper status data */ extern SDLVehicleDataType const SDLVehicleDataTypeWiperStatus; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_HEADLAMPSTATUS* + Vehicle headlamp status */ extern SDLVehicleDataType const SDLVehicleDataTypeHeadlampStatus; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_BATTVOLTAGE* + Vehicle battery voltage data */ extern SDLVehicleDataType const SDLVehicleDataTypeBatteryVoltage; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_ENGINETORQUE* + Vehicle engine oil life data + */ +extern SDLVehicleDataType const SDLVehicleDataTypeEngineOilLife; + +/** + Vehicle engine torque data */ extern SDLVehicleDataType const SDLVehicleDataTypeEngineTorque; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_ACCPEDAL* + Vehicle accleration pedal data */ extern SDLVehicleDataType const SDLVehicleDataTypeAccelerationPedal; /** - * @abstract SDLVehicleDataType: *VEHICLEDATA_STEERINGWHEEL* + Vehicle steering wheel data */ extern SDLVehicleDataType const SDLVehicleDataTypeSteeringWheel; + +/** + Vehicle electronic parking brake status data + */ +extern SDLVehicleDataType const SDLVehicleDataTypeElectronicParkBrakeStatus; + +/** + Vehicle turn signal data + */ +extern SDLVehicleDataType const SDLVehicleDataTypeTurnSignal; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataType.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataType.m index 49fefdc..4b37a24 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataType.m +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleDataType.m @@ -10,6 +10,7 @@ SDLVehicleDataType const SDLVehicleDataTypeFuelLevel = @"VEHICLEDATA_FUELLEVEL"; SDLVehicleDataType const SDLVehicleDataTypeFuelLevelState = @"VEHICLEDATA_FUELLEVEL_STATE"; SDLVehicleDataType const SDLVehicleDataTypeFuelConsumption = @"VEHICLEDATA_FUELCONSUMPTION"; +SDLVehicleDataType const SDLVehicleDataTypeFuelRange = @"VEHICLEDATA_FUELRANGE"; SDLVehicleDataType const SDLVehicleDataTypeExternalTemperature = @"VEHICLEDATA_EXTERNTEMP"; SDLVehicleDataType const SDLVehicleDataTypeVIN = @"VEHICLEDATA_VIN"; SDLVehicleDataType const SDLVehicleDataTypePRNDL = @"VEHICLEDATA_PRNDL"; @@ -27,6 +28,10 @@ SDLVehicleDataType const SDLVehicleDataTypeWiperStatus = @"VEHICLEDATA_WIPERSTATUS"; SDLVehicleDataType const SDLVehicleDataTypeHeadlampStatus = @"VEHICLEDATA_HEADLAMPSTATUS"; SDLVehicleDataType const SDLVehicleDataTypeBatteryVoltage = @"VEHICLEDATA_BATTVOLTAGE"; +SDLVehicleDataType const SDLVehicleDataTypeEngineOilLife = @"VEHICLEDATA_ENGINEOILLIFE"; SDLVehicleDataType const SDLVehicleDataTypeEngineTorque = @"VEHICLEDATA_ENGINETORQUE"; SDLVehicleDataType const SDLVehicleDataTypeAccelerationPedal = @"VEHICLEDATA_ACCPEDAL"; SDLVehicleDataType const SDLVehicleDataTypeSteeringWheel = @"VEHICLEDATA_STEERINGWHEEL"; +SDLVehicleDataType const SDLVehicleDataTypeElectronicParkBrakeStatus = @"VEHICLEDATA_ELECTRONICPARKBRAKESTATUS"; +SDLVehicleDataType const SDLVehicleDataTypeTurnSignal = @"VEHICLEDATA_TURNSIGNAL"; + diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleType.h index 4d7164b..0c9c100 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVehicleType.h @@ -4,47 +4,46 @@ #import "SDLRPCMessage.h" +NS_ASSUME_NONNULL_BEGIN + /** * Describes the type of vehicle the mobile phone is connected with. * * @since SDL 2.0 */ - -NS_ASSUME_NONNULL_BEGIN - @interface SDLVehicleType : SDLRPCStruct /** - * @abstract The make of the vehicle + * The make of the vehicle * - * @discussion For example, "Ford", "Lincoln", etc. + * For example, "Ford", "Lincoln", etc. * * Optional, Max String length 500 chars */ @property (strong, nonatomic, nullable) NSString *make; /** - * @abstract The model of the vehicle + * The model of the vehicle * - * @discussion For example, "Fiesta", "Focus", etc. + * For example, "Fiesta", "Focus", etc. * * Optional, Max String length 500 chars */ @property (strong, nonatomic, nullable) NSString *model; /** - * @abstract The model year of the vehicle + * The model year of the vehicle * - * @discussion For example, "2013" + * For example, "2013" * * Optional, Max String length 500 chars */ @property (strong, nonatomic, nullable) NSString *modelYear; /** - * @abstract The trim of the vehicle + * The trim of the vehicle * - * @discussion For example, "SE", "SEL" + * For example, "SE", "SEL" * * Optional, Max String length 500 chars */ diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVentilationMode.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVentilationMode.h index b36bd2d..d3320e2 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVentilationMode.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVentilationMode.h @@ -4,25 +4,28 @@ #import "SDLEnum.h" +/** + The ventilation mode. Used in ClimateControlCapabilities + */ typedef SDLEnum SDLVentilationMode SDL_SWIFT_ENUM; /** - * @abstract A SDLDefrostZone with the value of *UPPER* + The upper ventilation mode */ extern SDLVentilationMode const SDLVentilationModeUpper; /** - * @abstract A SDLDefrostZone with the value of *LOWER* + The lower ventilation mode */ extern SDLVentilationMode const SDLVentilationModeLower; /** - * @abstract A SDLDefrostZone with the value of *BOTH* + The both ventilation mode */ extern SDLVentilationMode const SDLVentilationModeBoth; /** - * @abstract A SDLDefrostZone with the value of *NONE* + No ventilation mode */ extern SDLVentilationMode const SDLVentilationModeNone; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingCapability.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingCapability.h index c4e9c96..c15c73a 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingCapability.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingCapability.h @@ -13,31 +13,38 @@ NS_ASSUME_NONNULL_BEGIN +/** + Contains information about this system's video streaming capabilities + */ @interface SDLVideoStreamingCapability : SDLRPCStruct - (instancetype)initWithPreferredResolution:(nullable SDLImageResolution *)preferredResolution maxBitrate:(int32_t)maxBitrate supportedFormats:(nullable NSArray *)supportedFormats hapticDataSupported:(BOOL)hapticDataSupported; /** - * @abstract The preferred resolution of a video stream for decoding and rendering on HMI, optional + The preferred resolution of a video stream for decoding and rendering on HMI + + Optional */ @property (nullable, strong, nonatomic) SDLImageResolution *preferredResolution; /** - * @abstract The maximum bitrate of video stream that is supported, in kbps, optional - * - * minvalue= 0 - * - * maxvalue= 2147483647 + The maximum bitrate of video stream that is supported, in kbps, optional + + Optional, minvalue= 0, maxvalue= 2147483647 */ @property (nullable, strong, nonatomic) NSNumber *maxBitrate; /** - * @abstract Detailed information on each format supported by this system, in its preferred order, optional + Detailed information on each format supported by this system, in its preferred order + + Optional */ @property (nullable, strong, nonatomic) NSArray *supportedFormats; /** True if the system can utilize the haptic spatial data from the source being streamed. + + Optional */ @property (nullable, strong, nonatomic) NSNumber *hapticSpatialDataSupported; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingCodec.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingCodec.h index 8543876..b547eaf 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingCodec.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingCodec.h @@ -6,31 +6,31 @@ #import "SDLEnum.h" /** - * Enum for each type of video streaming codec + * Enum for each type of video streaming codec. Used in VideoStreamingFormat. */ typedef SDLEnum SDLVideoStreamingCodec SDL_SWIFT_ENUM; /** - * @abstract SDLVideoStreamingCodec : H264 + * H264 */ extern SDLVideoStreamingCodec const SDLVideoStreamingCodecH264; /** - * @abstract SDLVideoStreamingCodec : H265 + * H265 */ extern SDLVideoStreamingCodec const SDLVideoStreamingCodecH265; /** - * @abstract SDLVideoStreamingCodec : Theora + * Theora */ extern SDLVideoStreamingCodec const SDLVideoStreamingCodecTheora; /** - * @abstract SDLVideoStreamingCodec : VP8 + * VP8 */ extern SDLVideoStreamingCodec const SDLVideoStreamingCodecVP8; /** - * @abstract SDLVideoStreamingCodec : VP9 + * VP9 */ extern SDLVideoStreamingCodec const SDLVideoStreamingCodecVP9; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingFormat.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingFormat.h index 87657eb..9cc3cb7 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingFormat.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingFormat.h @@ -9,15 +9,22 @@ NS_ASSUME_NONNULL_BEGIN +/** + An available format for video streaming in projection applications + */ @interface SDLVideoStreamingFormat : SDLRPCStruct /** - * @abstract Protocol type, see VideoStreamingProtocol, mandatory + Protocol type, see VideoStreamingProtocol + + Required */ @property (strong, nonatomic) SDLVideoStreamingProtocol protocol; /** - * @abstract Codec type, see VideoStreamingCodec, mandatory + Codec type, see VideoStreamingCodec + + Required */ @property (strong, nonatomic) SDLVideoStreamingCodec codec; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingProtocol.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingProtocol.h index 5e90976..1ebcbe9 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingProtocol.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingProtocol.h @@ -6,31 +6,31 @@ #import "SDLEnum.h" /** - * Enum for each type of video streaming protocol + * Enum for each type of video streaming protocol, used in VideoStreamingFormat */ typedef SDLEnum SDLVideoStreamingProtocol SDL_SWIFT_ENUM; /** - * @abstract SDLVideoStreamingProtocol : RAW + * RAW */ extern SDLVideoStreamingProtocol const SDLVideoStreamingProtocolRAW; /** - * @abstract SDLVideoStreamingProtocol : RTP + * RTP */ extern SDLVideoStreamingProtocol const SDLVideoStreamingProtocolRTP; /** - * @abstract SDLVideoStreamingProtocol : RTSP + * RTSP */ extern SDLVideoStreamingProtocol const SDLVideoStreamingProtocolRTSP; /** - * @abstract SDLVideoStreamingProtocol : RTMP + * RTMP */ extern SDLVideoStreamingProtocol const SDLVideoStreamingProtocolRTMP; /** - * @abstract SDLVideoStreamingProtocol : WebM + * WebM */ extern SDLVideoStreamingProtocol const SDLVideoStreamingProtocolWebM; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingState.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingState.h new file mode 100644 index 0000000..6ebe98b --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingState.h @@ -0,0 +1,24 @@ +// +// SDLVideoStreamingState.h +// SmartDeviceLink +// +// Created by Joel Fischer on 6/19/18. +// Copyright © 2018 Livio. All rights reserved. +// + +#import "SDLEnum.h" + +/** + * Enum for each type of video streaming protocol, used in VideoStreamingFormat + */ +typedef SDLEnum SDLVideoStreamingState SDL_SWIFT_ENUM; + +/** + * STREAMABLE, the current app is allowed to stream video + */ +extern SDLVideoStreamingState const SDLVideoStreamingStateStreamable; + +/** + * NOT_STREAMABLE, the current app is not allowed to stream video + */ +extern SDLVideoStreamingState const SDLVideoStreamingStateNotStreamable; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingState.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingState.m new file mode 100644 index 0000000..5d4d8c8 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVideoStreamingState.m @@ -0,0 +1,12 @@ +// +// SDLVideoStreamingState.m +// SmartDeviceLink +// +// Created by Joel Fischer on 6/19/18. +// Copyright © 2018 Livio. All rights reserved. +// + +#import "SDLVideoStreamingState.h" + +SDLVideoStreamingState const SDLVideoStreamingStateStreamable = @"STREAMABLE"; +SDLVideoStreamingState const SDLVideoStreamingStateNotStreamable = @"NOT_STREAMABLE"; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommand.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommand.h new file mode 100644 index 0000000..252fbae --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommand.h @@ -0,0 +1,31 @@ +// +// SDLVoiceCommand.h +// SmartDeviceLink +// +// Created by Joel Fischer on 4/9/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^SDLVoiceCommandSelectionHandler)(void); + +@interface SDLVoiceCommand : NSObject + +/** + The strings the user can say to activate this voice command + */ +@property (copy, nonatomic, readonly) NSArray *voiceCommands; + +/** + The handler that will be called when the command is activated + */ +@property (copy, nonatomic, readonly, nullable) SDLVoiceCommandSelectionHandler handler; + +- (instancetype)initWithVoiceCommands:(NSArray *)voiceCommands handler:(SDLVoiceCommandSelectionHandler)handler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommand.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommand.m new file mode 100644 index 0000000..ba0421f --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommand.m @@ -0,0 +1,37 @@ +// +// SDLVoiceCommand.m +// SmartDeviceLink +// +// Created by Joel Fischer on 4/9/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLVoiceCommand.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLVoiceCommand() + +@property (assign, nonatomic) UInt32 commandId; + +@end + +@implementation SDLVoiceCommand + +- (instancetype)initWithVoiceCommands:(NSArray *)voiceCommands handler:(SDLVoiceCommandSelectionHandler)handler { + self = [super init]; + if (!self) { return nil; } + + _voiceCommands = voiceCommands; + _handler = handler; + + return self; +} + +- (NSString *)description { + return [NSString stringWithFormat:@"SDLVoiceCommand: %u-\"%@\", voice commands: %lu", (unsigned int)_commandId, _voiceCommands.firstObject, (unsigned long)_voiceCommands.count]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommandManager.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommandManager.h new file mode 100644 index 0000000..8c3f3f7 --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommandManager.h @@ -0,0 +1,38 @@ +// +// SDLVoiceCommandManager.h +// SmartDeviceLink +// +// Created by Joel Fischer on 4/23/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import + +@class SDLFileManager; +@class SDLVoiceCommand; + +@protocol SDLConnectionManagerType; + +NS_ASSUME_NONNULL_BEGIN + +/** + The handler run when the update has completed + + @param error An error if the update failed and an error occurred + */ +typedef void(^SDLMenuUpdateCompletionHandler)(NSError *__nullable error); + +@interface SDLVoiceCommandManager : NSObject + +- (instancetype)initWithConnectionManager:(id)connectionManager; + +/** + * Stops the manager. This method is used internally. + */ +- (void)stop; + +@property (copy, nonatomic) NSArray *voiceCommands; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommandManager.m b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommandManager.m new file mode 100644 index 0000000..ef5027c --- /dev/null +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVoiceCommandManager.m @@ -0,0 +1,260 @@ +// +// SDLVoiceCommandManager.m +// SmartDeviceLink +// +// Created by Joel Fischer on 4/23/18. +// Copyright © 2018 smartdevicelink. All rights reserved. +// + +#import "SDLVoiceCommandManager.h" + +#import "SDLAddCommand.h" +#import "SDLConnectionManagerType.h" +#import "SDLDeleteCommand.h" +#import "SDLError.h" +#import "SDLHMILevel.h" +#import "SDLLogMacros.h" +#import "SDLNotificationConstants.h" +#import "SDLOnCommand.h" +#import "SDLOnHMIStatus.h" +#import "SDLRPCNotificationNotification.h" +#import "SDLRPCRequest.h" +#import "SDLVoiceCommand.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLVoiceCommand() + +@property (assign, nonatomic) UInt32 commandId; + +@end + +@interface SDLVoiceCommandManager() + +@property (weak, nonatomic) id connectionManager; + +@property (assign, nonatomic) BOOL waitingOnHMIUpdate; +@property (copy, nonatomic, nullable) SDLHMILevel currentHMILevel; + +@property (strong, nonatomic, nullable) NSArray *inProgressUpdate; +@property (assign, nonatomic) BOOL hasQueuedUpdate; + +@property (assign, nonatomic) UInt32 lastVoiceCommandId; +@property (copy, nonatomic) NSArray *oldVoiceCommands; + +@end + +UInt32 const VoiceCommandIdMin = 1900000000; + +@implementation SDLVoiceCommandManager + +- (instancetype)init { + self = [super init]; + if (!self) { return nil; } + + _lastVoiceCommandId = VoiceCommandIdMin; + _voiceCommands = @[]; + _oldVoiceCommands = @[]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_hmiStatusNotification:) name:SDLDidChangeHMIStatusNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_commandNotification:) name:SDLDidReceiveCommandNotification object:nil]; + + return self; +} + +- (instancetype)initWithConnectionManager:(id)connectionManager { + self = [self init]; + if (!self) { return nil; } + + _connectionManager = connectionManager; + + return self; +} + +- (void)stop { + _lastVoiceCommandId = VoiceCommandIdMin; + _voiceCommands = @[]; + _oldVoiceCommands = @[]; + + _waitingOnHMIUpdate = NO; + _currentHMILevel = nil; + _inProgressUpdate = nil; + _hasQueuedUpdate = NO; +} + +#pragma mark - Setters + +- (void)setVoiceCommands:(NSArray *)voiceCommands { + if (self.currentHMILevel == nil || [self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) { + self.waitingOnHMIUpdate = YES; + return; + } + + self.waitingOnHMIUpdate = NO; + + // Set the ids + self.lastVoiceCommandId = VoiceCommandIdMin; + [self sdl_updateIdsOnVoiceCommands:voiceCommands]; + + _oldVoiceCommands = _voiceCommands; + _voiceCommands = voiceCommands; + + [self sdl_updateWithCompletionHandler:nil]; +} + +#pragma mark - Updating System + +- (void)sdl_updateWithCompletionHandler:(nullable SDLMenuUpdateCompletionHandler)completionHandler { + if (self.currentHMILevel == nil || [self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) { + self.waitingOnHMIUpdate = YES; + return; + } + + if (self.inProgressUpdate != nil) { + // There's an in progress update, we need to put this on hold + self.hasQueuedUpdate = YES; + return; + } + + __weak typeof(self) weakself = self; + [self sdl_sendDeleteCurrentVoiceCommands:^(NSError * _Nullable error) { + [weakself sdl_sendCurrentVoiceCommands:^(NSError * _Nullable error) { + weakself.inProgressUpdate = nil; + + if (completionHandler != nil) { + completionHandler(error); + } + + if (weakself.hasQueuedUpdate) { + [weakself sdl_updateWithCompletionHandler:nil]; + weakself.hasQueuedUpdate = NO; + } + }]; + }]; +} + +#pragma mark Delete Old Menu Items + +- (void)sdl_sendDeleteCurrentVoiceCommands:(SDLMenuUpdateCompletionHandler)completionHandler { + if (self.oldVoiceCommands.count == 0) { + completionHandler(nil); + + return; + } + + NSArray *deleteVoiceCommands = [self sdl_deleteCommandsForVoiceCommands:self.oldVoiceCommands]; + self.oldVoiceCommands = @[]; + [self.connectionManager sendRequests:deleteVoiceCommands progressHandler:nil completionHandler:^(BOOL success) { + if (!success) { + SDLLogE(@"Error deleting old voice commands"); + } else { + SDLLogD(@"Finished deleting old voice commands"); + } + + completionHandler(nil); + }]; +} + +#pragma mark Send New Menu Items + +- (void)sdl_sendCurrentVoiceCommands:(SDLMenuUpdateCompletionHandler)completionHandler { + if (self.voiceCommands.count == 0) { + SDLLogD(@"No voice commands to send"); + completionHandler(nil); + + return; + } + + self.inProgressUpdate = [self sdl_addCommandsForVoiceCommands:self.voiceCommands]; + + __block NSMutableDictionary *errors = [NSMutableDictionary dictionary]; + __weak typeof(self) weakSelf = self; + [self.connectionManager sendRequests:self.inProgressUpdate progressHandler:^(__kindof SDLRPCRequest * _Nonnull request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error, float percentComplete) { + if (error != nil) { + errors[request] = error; + } + } completionHandler:^(BOOL success) { + if (!success) { + SDLLogE(@"Failed to send main menu commands: %@", errors); + completionHandler([NSError sdl_menuManager_failedToUpdateWithDictionary:errors]); + return; + } + + SDLLogD(@"Finished updating voice commands"); + weakSelf.oldVoiceCommands = weakSelf.voiceCommands; + completionHandler(nil); + }]; +} + +#pragma mark - Helpers + +#pragma mark IDs + +- (void)sdl_updateIdsOnVoiceCommands:(NSArray *)voiceCommands { + for (SDLVoiceCommand *voiceCommand in voiceCommands) { + voiceCommand.commandId = self.lastVoiceCommandId++; + } +} + +#pragma mark Deletes + +- (NSArray *)sdl_deleteCommandsForVoiceCommands:(NSArray *)voiceCommands { + NSMutableArray *mutableDeletes = [NSMutableArray array]; + for (SDLVoiceCommand *command in voiceCommands) { + SDLDeleteCommand *delete = [[SDLDeleteCommand alloc] initWithId:command.commandId]; + [mutableDeletes addObject:delete]; + } + + return [mutableDeletes copy]; +} + +#pragma mark Commands + +- (NSArray *)sdl_addCommandsForVoiceCommands:(NSArray *)voiceCommands { + NSMutableArray *mutableCommands = [NSMutableArray array]; + for (SDLVoiceCommand *command in voiceCommands) { + [mutableCommands addObject:[self sdl_commandForVoiceCommand:command]]; + } + + return [mutableCommands copy]; +} + +- (SDLAddCommand *)sdl_commandForVoiceCommand:(SDLVoiceCommand *)voiceCommand { + SDLAddCommand *command = [[SDLAddCommand alloc] init]; + command.vrCommands = voiceCommand.voiceCommands; + command.cmdID = @(voiceCommand.commandId); + + return command; +} + +#pragma mark - Observers + +- (void)sdl_commandNotification:(SDLRPCNotificationNotification *)notification { + SDLOnCommand *onCommand = (SDLOnCommand *)notification.notification; + + for (SDLVoiceCommand *voiceCommand in self.voiceCommands) { + if (onCommand.cmdID.unsignedIntegerValue != voiceCommand.commandId) { continue; } + + voiceCommand.handler(); + break; + } +} + +- (void)sdl_hmiStatusNotification:(SDLRPCNotificationNotification *)notification { + SDLOnHMIStatus *hmiStatus = (SDLOnHMIStatus *)notification.notification; + SDLHMILevel oldHMILevel = self.currentHMILevel; + self.currentHMILevel = hmiStatus.hmiLevel; + + // Auto-send an updated show if we were in NONE and now we are not + if ([oldHMILevel isEqualToEnum:SDLHMILevelNone] && ![self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) { + if (self.waitingOnHMIUpdate) { + [self setVoiceCommands:_voiceCommands]; + } else { + [self sdl_updateWithCompletionHandler:nil]; + } + } +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVrCapabilities.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVrCapabilities.h index f24a012..ea4612b 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVrCapabilities.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVrCapabilities.h @@ -5,13 +5,13 @@ #import "SDLEnum.h" /** - * The VR capabilities of the connected SDL platform. + * The VR capabilities of the connected SDL platform. Used in RegisterAppInterfaceResponse. * * @since SDL 1.0 */ typedef SDLEnum SDLVRCapabilities SDL_SWIFT_ENUM; /** - * @abstract The SDL platform is capable of recognizing spoken text in the current language. + * The SDL platform is capable of recognizing spoken text in the current language. */ extern SDLVRCapabilities const SDLVRCapabilitiesText; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVrHelpItem.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVrHelpItem.h index e460538..caa0ea0 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLVrHelpItem.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLVrHelpItem.h @@ -7,14 +7,34 @@ NS_ASSUME_NONNULL_BEGIN +/** + A help item for voice commands, used locally in interaction lists and globally + */ @interface SDLVRHelpItem : SDLRPCStruct - (instancetype)initWithText:(NSString *)text image:(nullable SDLImage *)image; - (instancetype)initWithText:(NSString *)text image:(nullable SDLImage *)image position:(UInt8)position; +/** + Text to display for VR Help item + + Required + */ @property (strong, nonatomic) NSString *text; + +/** + Image for VR Help item + + Optional + */ @property (strong, nonatomic, nullable) SDLImage *image; + +/** + Position to display item in VR Help list + + Required + */ @property (strong, nonatomic) NSNumber *position; @end diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLWarningLightStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLWarningLightStatus.h index 33f7b29..f73e898 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLWarningLightStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLWarningLightStatus.h @@ -5,28 +5,28 @@ #import "SDLEnum.h" /** - * Reflects the status of a cluster instrument warning light. + * Reflects the status of a cluster instrument warning light. Used in TireStatus * * @since SDL 2.0 */ typedef SDLEnum SDLWarningLightStatus SDL_SWIFT_ENUM; /** - * @abstract Warninglight Off + * The warning light is off */ extern SDLWarningLightStatus const SDLWarningLightStatusOff; /** - * @abstract Warninglight On + * The warning light is off */ extern SDLWarningLightStatus const SDLWarningLightStatusOn; /** - * @abstract Warninglight is flashing + * The warning light is flashing */ extern SDLWarningLightStatus const SDLWarningLightStatusFlash; /** - * @abstract Not used + * The warning light is unused */ extern SDLWarningLightStatus const SDLWarningLightStatusNotUsed; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLWayPointType.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLWayPointType.h index 6659b79..06b672f 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLWayPointType.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLWayPointType.h @@ -3,7 +3,17 @@ #import "SDLEnum.h" +/** + The type of a navigation waypoint. Used in GetWayPoints. + */ typedef SDLEnum SDLWayPointType SDL_SWIFT_ENUM; +/** + All other waypoint types + */ extern SDLWayPointType const SDLWayPointTypeAll; + +/** + The destination waypoint + */ extern SDLWayPointType const SDLWayPointTypeDestination; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SDLWiperStatus.h b/Pods/SmartDeviceLink/SmartDeviceLink/SDLWiperStatus.h index efe11a7..05fb748 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SDLWiperStatus.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SDLWiperStatus.h @@ -5,81 +5,81 @@ #import "SDLEnum.h" /** - * Wiper Status + * The status of the windshield wipers. Used in retrieving vehicle data. */ typedef SDLEnum SDLWiperStatus SDL_SWIFT_ENUM; /** - * @abstract SDLWiperStatus: *OFF* + * Wiper is off */ extern SDLWiperStatus const SDLWiperStatusOff; /** - * @abstract SDLWiperStatus: *AUTO_OFF* + * Wiper is off automatically */ extern SDLWiperStatus const SDLWiperStatusAutomaticOff; /** - * @abstract SDLWiperStatus: *OFF_MOVING* + * Wiper is moving but off */ extern SDLWiperStatus const SDLWiperStatusOffMoving; /** - * @abstract SDLWiperStatus: *MAN_INT_OFF* + * Wiper is off due to a manual interval */ extern SDLWiperStatus const SDLWiperStatusManualIntervalOff; /** - * @abstract SDLWiperStatus: *MAN_INT_ON* + * Wiper is on due to a manual interval */ extern SDLWiperStatus const SDLWiperStatusManualIntervalOn; /** - * @abstract SDLWiperStatus: *MAN_LOW* + * Wiper is on low manually */ extern SDLWiperStatus const SDLWiperStatusManualLow; /** - * @abstract SDLWiperStatus: *MAN_HIGH* + * Wiper is on high manually */ extern SDLWiperStatus const SDLWiperStatusManualHigh; /** - * @abstract SDLWiperStatus: *MAN_FLICK* + * Wiper is on for a single wipe manually */ extern SDLWiperStatus const SDLWiperStatusManualFlick; /** - * @abstract SDLWiperStatus: *WASH* + * Wiper is in wash mode */ extern SDLWiperStatus const SDLWiperStatusWash; /** - * @abstract SDLWiperStatus: *AUTO_LOW* + * Wiper is on low automatically */ extern SDLWiperStatus const SDLWiperStatusAutomaticLow; /** - * @abstract SDLWiperStatus: *AUTO_HIGH* + * Wiper is on high automatically */ extern SDLWiperStatus const SDLWiperStatusAutomaticHigh; /** - * @abstract SDLWiperStatus: *COURTESYWIPE* + * Wiper is performing a courtesy wipe */ extern SDLWiperStatus const SDLWiperStatusCourtesyWipe; /** - * @abstract SDLWiperStatus: *AUTO_ADJUST* + * Wiper is on automatic adjust */ extern SDLWiperStatus const SDLWiperStatusAutomaticAdjust; /** - * @abstract SDLWiperStatus: *STALLED* + * Wiper is stalled */ extern SDLWiperStatus const SDLWiperStatusStalled; /** - * @abstract SDLWiperStatus: *NO_DATA_EXISTS* + * Wiper data is not available */ extern SDLWiperStatus const SDLWiperStatusNoDataExists; diff --git a/Pods/SmartDeviceLink/SmartDeviceLink/SmartDeviceLink.h b/Pods/SmartDeviceLink/SmartDeviceLink/SmartDeviceLink.h index 553d8f4..3dfd5e2 100644 --- a/Pods/SmartDeviceLink/SmartDeviceLink/SmartDeviceLink.h +++ b/Pods/SmartDeviceLink/SmartDeviceLink/SmartDeviceLink.h @@ -9,29 +9,6 @@ FOUNDATION_EXPORT double SmartDeviceLinkVersionNumber; //! Project version string for SmartDeviceLink. FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; -/***** Proxy *****/ -#import "SDLProxy.h" -#import "SDLProxyFactory.h" -#import "SDLProxyListener.h" - -/***** Transport *****/ -#import "SDLAbstractTransport.h" -#import "SDLIAPSessionDelegate.h" -#import "SDLIAPTransport.h" -#import "SDLTCPTransport.h" -#import "SDLTransportDelegate.h" - -/***** Protocol *****/ -#import "SDLAbstractProtocol.h" -#import "SDLProtocol.h" -#import "SDLProtocolListener.h" - -// Header -#import "SDLProtocolHeader.h" - -// Message -#import "SDLProtocolMessage.h" - /***** RPCs *****/ // Superclasses #import "SDLEnum.h" @@ -157,6 +134,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLOnLanguageChange.h" #import "SDLOnLockScreenStatus.h" #import "SDLOnPermissionsChange.h" +#import "SDLOnRCStatus.h" #import "SDLOnSyncPData.h" #import "SDLOnSystemRequest.h" #import "SDLOnTBTClientState.h" @@ -167,6 +145,8 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; // Structs #import "SDLAirbagStatus.h" #import "SDLAppInfo.h" +#import "SDLAudioControlData.h" +#import "SDLAudioControlCapabilities.h" #import "SDLAudioPassThruCapabilities.h" #import "SDLBeltStatus.h" #import "SDLBodyInformation.h" @@ -182,17 +162,27 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLDisplayCapabilities.h" #import "SDLECallInfo.h" #import "SDLEmergencyEvent.h" +#import "SDLFuelRange.h" +#import "SDLEqualizerSettings.h" #import "SDLGPSData.h" #import "SDLHapticRect.h" #import "SDLHMICapabilities.h" #import "SDLHMIPermissions.h" +#import "SDLHMISettingsControlData.h" +#import "SDLHMISettingsControlCapabilities.h" #import "SDLHeadLampStatus.h" #import "SDLImage.h" #import "SDLImageField.h" #import "SDLImageResolution.h" #import "SDLKeyboardProperties.h" +#import "SDLLightCapabilities.h" +#import "SDLLightControlCapabilities.h" +#import "SDLLightControlData.h" +#import "SDLLightState.h" #import "SDLLocationCoordinate.h" #import "SDLLocationDetails.h" +#import "SDLMassageCushionFirmness.h" +#import "SDLMassageModeData.h" #import "SDLMenuParams.h" #import "SDLMetadataTags.h" #import "SDLModuleData.h" @@ -208,15 +198,22 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLRDSData.h" #import "SDLRectangle.h" #import "SDLRemoteControlCapabilities.h" +#import "SDLRGBColor.h" #import "SDLScreenParams.h" +#import "SDLSeatControlCapabilities.h" +#import "SDLSeatControlData.h" +#import "SDLSeatMemoryAction.h" #import "SDLSingleTireStatus.h" +#import "SDLSISData.h" #import "SDLSoftButton.h" #import "SDLSoftButtonCapabilities.h" #import "SDLStartTime.h" +#import "SDLStationIDNumber.h" #import "SDLSyncMsgVersion.h" #import "SDLSystemCapability.h" #import "SDLTTSChunk.h" #import "SDLTemperature.h" +#import "SDLTemplateColorScheme.h" #import "SDLTextField.h" #import "SDLTireStatus.h" #import "SDLTouchCoord.h" @@ -234,6 +231,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLAppHMIType.h" #import "SDLAppInterfaceUnregisteredReason.h" #import "SDLAudioStreamingState.h" +#import "SDLAudioStreamingIndicator.h" #import "SDLAudioType.h" #import "SDLBitsPerSample.h" #import "SDLButtonEventMode.h" @@ -247,12 +245,16 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLDeliveryMode.h" #import "SDLDeviceLevelStatus.h" #import "SDLDimension.h" +#import "SDLDisplayMode.h" #import "SDLDisplayType.h" +#import "SDLDistanceUnit.h" #import "SDLDriverDistractionState.h" #import "SDLECallConfirmationStatus.h" +#import "SDLElectronicParkBrakeStatus.h" #import "SDLEmergencyEventType.h" #import "SDLFileType.h" #import "SDLFuelCutoffStatus.h" +#import "SDLFuelType.h" #import "SDLGlobalProperty.h" #import "SDLHMILevel.h" #import "SDLHMIZoneCapabilities.h" @@ -267,7 +269,12 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLLanguage.h" #import "SDLLayoutMode.h" #import "SDLLockScreenStatus.h" +#import "SDLLightName.h" +#import "SDLLightStatus.h" #import "SDLMaintenanceModeStatus.h" +#import "SDLMassageCushion.h" +#import "SDLMassageMode.h" +#import "SDLMassageZone.h" #import "SDLMediaClockFormat.h" #import "SDLMetadataType.h" #import "SDLModuleType.h" @@ -284,8 +291,11 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLRequestType.h" #import "SDLResult.h" #import "SDLSamplingRate.h" +#import "SDLSeatMemoryActionType.h" +#import "SDLSupportedSeat.h" #import "SDLSoftButtonType.h" #import "SDLSpeechCapabilities.h" +#import "SDLStaticIconName.h" #import "SDLSystemAction.h" #import "SDLSystemCapabilityType.h" #import "SDLSystemContext.h" @@ -295,7 +305,9 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLTextFieldName.h" #import "SDLTimerMode.h" #import "SDLTouchType.h" +#import "SDLTPMS.h" #import "SDLTriggerSource.h" +#import "SDLTurnSignal.h" #import "SDLUpdateMode.h" #import "SDLVehicleDataActiveStatus.h" #import "SDLVehicleDataEventStatus.h" @@ -306,6 +318,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLVentilationMode.h" #import "SDLVideoStreamingCodec.h" #import "SDLVideoStreamingProtocol.h" +#import "SDLVideoStreamingState.h" #import "SDLVrCapabilities.h" #import "SDLWarningLightStatus.h" #import "SDLWayPointType.h" @@ -314,6 +327,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; // Developer API // Configurations #import "SDLConfiguration.h" +#import "SDLFileManagerConfiguration.h" #import "SDLLifecycleConfiguration.h" #import "SDLLifecycleConfigurationUpdate.h" #import "SDLLockScreenConfiguration.h" @@ -328,6 +342,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLTouchManager.h" #import "SDLTouchManagerDelegate.h" #import "SDLSecurityType.h" +#import "SDLStreamingMediaManagerDataSource.h" // Files #import "SDLArtwork.h" @@ -342,15 +357,26 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLManager.h" #import "SDLManagerDelegate.h" +// System Capabilities +#import "SDLSystemCapabilityManager.h" + // Permissions #import "SDLPermissionConstants.h" #import "SDLPermissionManager.h" -// Show +// Screen #import "SDLScreenManager.h" #import "SDLSoftButtonObject.h" #import "SDLSoftButtonState.h" +#import "SDLMenuCell.h" +#import "SDLVoiceCommand.h" + +#import "SDLChoiceCell.h" +#import "SDLChoiceSet.h" +#import "SDLChoiceSetDelegate.h" +#import "SDLKeyboardDelegate.h" + // Touches #import "SDLPinchGesture.h" #import "SDLTouch.h" diff --git a/Pods/Target Support Files/BiSON/BiSON.xcconfig b/Pods/Target Support Files/BiSON/BiSON.xcconfig index cf6b33e..6742ab2 100644 --- a/Pods/Target Support Files/BiSON/BiSON.xcconfig +++ b/Pods/Target Support Files/BiSON/BiSON.xcconfig @@ -1,6 +1,5 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BiSON GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-frameworks.sh b/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-frameworks.sh index f2305d4..5a849cf 100755 --- a/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-frameworks.sh +++ b/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-frameworks.sh @@ -1,9 +1,18 @@ #!/bin/sh set -e +set -u +set -o pipefail + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" # Used as a return value for each invocation of `strip_invalid_archs` function. @@ -92,10 +101,10 @@ install_dsym() { # Signs a framework with the provided identity code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then # Use the current code_sign_identitiy echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then code_sign_cmd="$code_sign_cmd &" diff --git a/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-resources.sh b/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-resources.sh index a7df440..345301f 100755 --- a/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-resources.sh +++ b/Pods/Target Support Files/Pods-MobileWeather/Pods-MobileWeather-resources.sh @@ -1,5 +1,13 @@ #!/bin/sh set -e +set -u +set -o pipefail + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" @@ -12,7 +20,7 @@ XCASSET_FILES=() # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") -case "${TARGETED_DEVICE_FAMILY}" in +case "${TARGETED_DEVICE_FAMILY:-}" in 1,2) TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" ;; @@ -92,7 +100,7 @@ if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then fi rm -f "$RESOURCES_TO_COPY" -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] then # Find all other xcassets (this unfortunately includes those of path pods and other targets). OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) @@ -102,5 +110,9 @@ then fi done <<<"$OTHER_XCASSETS" - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi fi diff --git a/Pods/Target Support Files/SmartDeviceLink/Info.plist b/Pods/Target Support Files/SmartDeviceLink/Info.plist index 82c355f..2eb204d 100644 --- a/Pods/Target Support Files/SmartDeviceLink/Info.plist +++ b/Pods/Target Support Files/SmartDeviceLink/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 5.2.0 + 6.1.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/SmartDeviceLink/ResourceBundle-SmartDeviceLink-Info.plist b/Pods/Target Support Files/SmartDeviceLink/ResourceBundle-SmartDeviceLink-Info.plist index 87c9e38..57b83e4 100644 --- a/Pods/Target Support Files/SmartDeviceLink/ResourceBundle-SmartDeviceLink-Info.plist +++ b/Pods/Target Support Files/SmartDeviceLink/ResourceBundle-SmartDeviceLink-Info.plist @@ -13,7 +13,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 5.2.0 + 6.1.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/SmartDeviceLink/SmartDeviceLink-umbrella.h b/Pods/Target Support Files/SmartDeviceLink/SmartDeviceLink-umbrella.h index 2b39e37..3dd6954 100644 --- a/Pods/Target Support Files/SmartDeviceLink/SmartDeviceLink-umbrella.h +++ b/Pods/Target Support Files/SmartDeviceLink/SmartDeviceLink-umbrella.h @@ -11,8 +11,6 @@ #endif #import "NSNumber+NumberType.h" -#import "SDLAbstractProtocol.h" -#import "SDLAbstractTransport.h" #import "SDLAddCommand.h" #import "SDLAddCommandResponse.h" #import "SDLAddSubMenu.h" @@ -28,8 +26,11 @@ #import "SDLAppInfo.h" #import "SDLAppInterfaceUnregisteredReason.h" #import "SDLArtwork.h" +#import "SDLAudioControlData.h" +#import "SDLAudioControlCapabilities.h" #import "SDLAudioPassThruCapabilities.h" #import "SDLAudioStreamingState.h" +#import "SDLAudioStreamingIndicator.h" #import "SDLAudioStreamManager.h" #import "SDLAudioStreamManagerDelegate.h" #import "SDLStreamingAudioManagerType.h" @@ -48,6 +49,9 @@ #import "SDLChangeRegistrationResponse.h" #import "SDLCharacterSet.h" #import "SDLChoice.h" +#import "SDLChoiceCell.h" +#import "SDLChoiceSet.h" +#import "SDLChoiceSetDelegate.h" #import "SDLClimateControlCapabilities.h" #import "SDLClimateControlData.h" #import "SDLClusterModeStatus.h" @@ -77,23 +81,30 @@ #import "SDLDIDResult.h" #import "SDLDimension.h" #import "SDLDisplayCapabilities.h" +#import "SDLDisplayMode.h" #import "SDLDisplayType.h" +#import "SDLDistanceUnit.h" #import "SDLDriverDistractionState.h" #import "SDLECallConfirmationStatus.h" #import "SDLECallInfo.h" +#import "SDLElectronicParkBrakeStatus.h" #import "SDLEmergencyEvent.h" #import "SDLEmergencyEventType.h" #import "SDLEncodedSyncPData.h" #import "SDLEncodedSyncPDataResponse.h" #import "SDLEndAudioPassThru.h" #import "SDLEndAudioPassThruResponse.h" +#import "SDLEqualizerSettings.h" #import "SDLEnum.h" #import "SDLErrorConstants.h" #import "SDLFile.h" #import "SDLFileManager.h" +#import "SDLFileManagerConfiguration.h" #import "SDLFileManagerConstants.h" #import "SDLFileType.h" #import "SDLFuelCutoffStatus.h" +#import "SDLFuelRange.h" +#import "SDLFuelType.h" #import "SDLGenericResponse.h" #import "SDLGetDTCs.h" #import "SDLGetInteriorVehicleData.h" @@ -112,9 +123,9 @@ #import "SDLHMICapabilities.h" #import "SDLHMILevel.h" #import "SDLHMIPermissions.h" +#import "SDLHMISettingsControlCapabilities.h" +#import "SDLHMISettingsControlData.h" #import "SDLHMIZoneCapabilities.h" -#import "SDLIAPSessionDelegate.h" -#import "SDLIAPTransport.h" #import "SDLIgnitionStableStatus.h" #import "SDLIgnitionStatus.h" #import "SDLImage.h" @@ -123,6 +134,7 @@ #import "SDLImageResolution.h" #import "SDLImageType.h" #import "SDLInteractionMode.h" +#import "SDLKeyboardDelegate.h" #import "SDLKeyboardEvent.h" #import "SDLKeyboardLayout.h" #import "SDLKeyboardProperties.h" @@ -131,6 +143,12 @@ #import "SDLLayoutMode.h" #import "SDLLifecycleConfiguration.h" #import "SDLLifecycleConfigurationUpdate.h" +#import "SDLLightCapabilities.h" +#import "SDLLightControlCapabilities.h" +#import "SDLLightControlData.h" +#import "SDLLightName.h" +#import "SDLLightState.h" +#import "SDLLightStatus.h" #import "SDLListFiles.h" #import "SDLListFilesResponse.h" #import "SDLLocationCoordinate.h" @@ -152,7 +170,13 @@ #import "SDLMaintenanceModeStatus.h" #import "SDLManager.h" #import "SDLManagerDelegate.h" +#import "SDLMassageCushionFirmness.h" +#import "SDLMassageModeData.h" +#import "SDLMassageCushion.h" +#import "SDLMassageMode.h" +#import "SDLMassageZone.h" #import "SDLMediaClockFormat.h" +#import "SDLMenuCell.h" #import "SDLMenuParams.h" #import "SDLMetadataTags.h" #import "SDLMetadataType.h" @@ -176,6 +200,7 @@ #import "SDLOnLanguageChange.h" #import "SDLOnLockScreenStatus.h" #import "SDLOnPermissionsChange.h" +#import "SDLOnRCStatus.h" #import "SDLOnSyncPData.h" #import "SDLOnSystemRequest.h" #import "SDLOnTBTClientState.h" @@ -200,19 +225,13 @@ #import "SDLPresetBankCapabilities.h" #import "SDLPrimaryAudioSource.h" #import "SDLPRNDL.h" -#import "SDLProtocol.h" -#import "SDLProtocolHeader.h" -#import "SDLProtocolListener.h" -#import "SDLProtocolMessage.h" -#import "SDLProxy.h" -#import "SDLProxyFactory.h" -#import "SDLProxyListener.h" #import "SDLPutFile.h" #import "SDLPutFileResponse.h" #import "SDLRadioBand.h" #import "SDLRadioControlCapabilities.h" #import "SDLRadioControlData.h" #import "SDLRadioState.h" +#import "SDLRDSData.h" #import "SDLReadDID.h" #import "SDLRectangle.h" #import "SDLReadDIDResponse.h" @@ -223,7 +242,7 @@ #import "SDLResetGlobalProperties.h" #import "SDLResetGlobalPropertiesResponse.h" #import "SDLResult.h" -#import "SDLRDSData.h" +#import "SDLRGBColor.h" #import "SDLRPCMessage.h" #import "SDLRPCMessageType.h" #import "SDLRPCNotification.h" @@ -237,6 +256,11 @@ #import "SDLScreenManager.h" #import "SDLScrollableMessage.h" #import "SDLScrollableMessageResponse.h" +#import "SDLSeatControlCapabilities.h" +#import "SDLSeatControlData.h" +#import "SDLSeatMemoryAction.h" +#import "SDLSeatMemoryActionType.h" +#import "SDLSupportedSeat.h" #import "SDLSecurityType.h" #import "SDLSendHapticData.h" #import "SDLSendHapticDataResponse.h" @@ -257,6 +281,7 @@ #import "SDLShowConstantTBTResponse.h" #import "SDLShowResponse.h" #import "SDLSingleTireStatus.h" +#import "SDLSISData.h" #import "SDLSlider.h" #import "SDLSliderResponse.h" #import "SDLSoftButton.h" @@ -268,9 +293,12 @@ #import "SDLSpeakResponse.h" #import "SDLSpeechCapabilities.h" #import "SDLStartTime.h" +#import "SDLStaticIconName.h" +#import "SDLStationIDNumber.h" #import "SDLStreamingMediaConfiguration.h" #import "SDLStreamingMediaManager.h" #import "SDLStreamingMediaManagerConstants.h" +#import "SDLStreamingMediaManagerDataSource.h" #import "SDLSubscribeButton.h" #import "SDLSubscribeButtonResponse.h" #import "SDLSubscribeVehicleData.h" @@ -282,12 +310,13 @@ #import "SDLSyncPDataResponse.h" #import "SDLSystemAction.h" #import "SDLSystemCapability.h" +#import "SDLSystemCapabilityManager.h" #import "SDLSystemCapabilityType.h" #import "SDLSystemContext.h" #import "SDLTBTState.h" #import "SDLTemperature.h" #import "SDLTemperatureUnit.h" -#import "SDLTCPTransport.h" +#import "SDLTemplateColorScheme.h" #import "SDLTextAlignment.h" #import "SDLTextField.h" #import "SDLTextFieldName.h" @@ -300,10 +329,11 @@ #import "SDLTouchManager.h" #import "SDLTouchManagerDelegate.h" #import "SDLTouchType.h" -#import "SDLTransportDelegate.h" +#import "SDLTPMS.h" #import "SDLTriggerSource.h" #import "SDLTTSChunk.h" #import "SDLTurn.h" +#import "SDLTurnSignal.h" #import "SDLUnregisterAppInterface.h" #import "SDLUnregisterAppInterfaceResponse.h" #import "SDLUnsubscribeButton.h" @@ -328,6 +358,8 @@ #import "SDLVideoStreamingCodec.h" #import "SDLVideoStreamingFormat.h" #import "SDLVideoStreamingProtocol.h" +#import "SDLVideoStreamingState.h" +#import "SDLVoiceCommand.h" #import "SDLVrCapabilities.h" #import "SDLVrHelpItem.h" #import "SDLWarningLightStatus.h" diff --git a/Pods/Target Support Files/SmartDeviceLink/SmartDeviceLink.xcconfig b/Pods/Target Support Files/SmartDeviceLink/SmartDeviceLink.xcconfig index 09e1f32..3fdec86 100644 --- a/Pods/Target Support Files/SmartDeviceLink/SmartDeviceLink.xcconfig +++ b/Pods/Target Support Files/SmartDeviceLink/SmartDeviceLink.xcconfig @@ -1,7 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SmartDeviceLink FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BiSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/README.md b/README.md index 09b6b18..9cfc495 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # SDL MobileWeather Example App -Set your [DarkSky API key](www.darksky.net/dev) into `Settings.h` to use. \ No newline at end of file +Set your [DarkSky API key](https://www.darksky.net/dev) into `Settings.h` to use. \ No newline at end of file diff --git a/SmartDeviceLinkService.m b/SmartDeviceLinkService.m index 4a952f3..fb70e16 100644 --- a/SmartDeviceLinkService.m +++ b/SmartDeviceLinkService.m @@ -21,34 +21,6 @@ #import "PercentageNumber.h" #import "SpeedNumber.h" -typedef NS_ENUM(UInt32, MWChoiceSetId) { - MWChoiceSetIdChangeUnits = 300, - MWChoiceSetIdList = 400 -}; - -typedef NS_ENUM(UInt16, MWChoiceSetChangeUnitChoiceId) { - MWChoiceSetChangeUnitChoiceIdMetric = 301, - MWChoiceSetChangeUnitChoiceIdImperial = 302 -}; - -typedef NS_ENUM(UInt16, MWMenuCommandIdShow) { - MWMenuCommandIdShowWeatherConditions = 101, - MWMenuCommandIdShowDailyForecast = 102, - MWMenuCommandIdShowHourlyForecast = 103, - MWMenuCommandIdShowAlerts = 104, - MWMenuCommandIdShowChangeUnits = 105 -}; - -typedef NS_ENUM(NSUInteger, MWMenuCommandIdList) { - MWMenuCommandIdListNext = 111, - MWMenuCommandIdListPrevious = 112, - MWMenuCommandIdListShowList = 113, - MWMenuCommandIdListBack = 114, - MWMenuCommandIdListHourlyNow = 115, - MWMenuCommandIdListDailyToday = 116, - MWMenuCommandIdListDailyTomorrow = 117, - MWMenuCommandIdListShowMessage = 118 -}; MWInfoType const MWInfoTypeNone = @"NONE"; MWInfoType const MWInfoTypeWeatherConditions = @"WEATHER_CONDITIONS"; @@ -59,7 +31,7 @@ typedef NS_ENUM(NSUInteger, MWMenuCommandIdList) { NS_ASSUME_NONNULL_BEGIN -@interface SmartDeviceLinkService () +@interface SmartDeviceLinkService () @property SDLManager *manager; @@ -71,7 +43,6 @@ @interface SmartDeviceLinkService () @property (nonatomic, strong, nullable) Localization *localization; @property (nonatomic, assign, getter=hasFirstHMIFullOccurred) BOOL firstHMIFullOccurred; - @property (nonatomic, strong, nullable) MWInfoType currentInfoType; @property (nonatomic, strong, nullable) NSArray *currentInfoTypeList; @property (nonatomic, assign) NSInteger currentInfoTypeListIndex; @@ -104,10 +75,12 @@ - (void)resetProperties { - (void)start { [self resetProperties]; + + self.localization = [Localization defaultLocalization]; // Change which config you need based on if you want to connect to a TDK (default) or a wifi based emulator (debug) - SDLLifecycleConfiguration *lifecycleConfig = [SDLLifecycleConfiguration defaultConfigurationWithAppName:@"MobileWeather" appId:@"330533107"]; -// SDLLifecycleConfiguration *lifecycleConfig = [SDLLifecycleConfiguration debugConfigurationWithAppName:@"MobileWeather" appId:@"330533107" ipAddress:@"192.168.1.61" port:2776]; + SDLLifecycleConfiguration *lifecycleConfig = [SDLLifecycleConfiguration defaultConfigurationWithAppName:@"MobileWeather" fullAppId:@"330533107"]; +// SDLLifecycleConfiguration *lifecycleConfig = [SDLLifecycleConfiguration debugConfigurationWithAppName:@"MobileWeather" fullAppId:@"330533107" ipAddress:@"192.168.1.61" port:2776]; lifecycleConfig.ttsName = [SDLTTSChunk textChunksFromString:NSLocalizedString(@"app.tts-name", nil)]; lifecycleConfig.voiceRecognitionCommandNames = @[NSLocalizedString(@"app.vr-synonym", nil)]; lifecycleConfig.appIcon = [SDLArtwork persistentArtworkWithImage:[UIImage imageNamed:@"sdl-appicon"] name:@"AppIcon" asImageFormat:SDLArtworkImageFormatPNG]; @@ -119,7 +92,7 @@ - (void)start { WeatherLanguage *wlanguage = [WeatherLanguage elementWithValue:languageString]; [[NSNotificationCenter defaultCenter] postNotificationName:MobileWeatherLanguageUpdateNotification object:self userInfo:@{ @"language" : wlanguage }]; - SDLConfiguration *config = [SDLConfiguration configurationWithLifecycle:lifecycleConfig lockScreen:[SDLLockScreenConfiguration enabledConfiguration] logging:[SDLLogConfiguration debugConfiguration]]; + SDLConfiguration *config = [SDLConfiguration configurationWithLifecycle:lifecycleConfig lockScreen:[SDLLockScreenConfiguration enabledConfiguration] logging:[SDLLogConfiguration debugConfiguration] fileManager:[SDLFileManagerConfiguration defaultConfiguration]]; self.manager = [[SDLManager alloc] initWithConfiguration:config delegate:self]; @@ -156,11 +129,11 @@ - (void)hmiLevel:(SDLHMILevel)oldLevel didChangeToLevel:(SDLHMILevel)newLevel { self.firstHMIFullOccurred = YES; // the app is just started by the user. Send everything needed to be done once [self sendWelcomeMessageWithSpeak:YES]; - [self sendWeatherVoiceCommands]; - [self sendChangeUnitsVoiceCommand]; [self subscribeRepeatButton]; [self sendDefaultGlobalProperties]; - [self createChangeUnitsInteractionChoiceSet]; + [self preloadChangeUnitsChoices]; + + self.manager.screenManager.menu = [self weatherMenuCells]; } } @@ -254,43 +227,36 @@ - (void)registerDisplayLayout:(NSString *)layout { [self.manager sendRequest:request]; } -- (void)createChangeUnitsInteractionChoiceSet { - SDLChoice *metricChoice = [[SDLChoice alloc] initWithId:MWChoiceSetChangeUnitChoiceIdMetric menuName:self.localization[@"choice.units.metric"] vrCommands:@[self.localization[@"vr.metric"]]]; - SDLChoice *imperialChoice = [[SDLChoice alloc] initWithId:MWChoiceSetChangeUnitChoiceIdImperial menuName:self.localization[@"choice.units.imperial"] vrCommands:@[self.localization[@"vr.imperial"]]]; +#pragma mark - Choice Sets - SDLCreateInteractionChoiceSet *request = [[SDLCreateInteractionChoiceSet alloc] initWithId:MWChoiceSetIdChangeUnits choiceSet:@[metricChoice, imperialChoice]]; - [self.manager sendRequest:request]; +- (NSArray *)changeUnitsChoiceCells { + SDLChoiceCell *metric = [[SDLChoiceCell alloc] initWithText:self.localization[@"choice.units.metric"] artwork:nil voiceCommands:@[self.localization[@"vr.metric"]]]; + SDLChoiceCell *imperial = [[SDLChoiceCell alloc] initWithText:self.localization[@"choice.units.imperial"] artwork:nil voiceCommands:@[self.localization[@"vr.imperial"]]]; + + return @[metric, imperial]; } -- (void)performChangeUnitsInteractionWithMode:(SDLInteractionMode)mode { - SDLPerformInteraction *request = [[SDLPerformInteraction alloc] initWithInitialPrompt:self.localization[@"pi.units.initial-prompt"] initialText:self.localization[@"pi.units.text"] interactionChoiceSetIDList:@[@(MWChoiceSetIdChangeUnits)] helpPrompt:nil timeoutPrompt:self.localization[@"pi.units.timeout-prompt"] interactionMode:(mode ?: SDLInteractionModeBoth) timeout:60000]; - - [self.manager sendRequest:request withResponseHandler:^(SDLPerformInteraction * _Nullable request, SDLPerformInteractionResponse * _Nullable response, NSError * _Nullable error) { - if (!response.success.boolValue) { - return; - } - - NSUInteger choiceID = response.choiceID.unsignedIntegerValue; - if (choiceID != MWChoiceSetChangeUnitChoiceIdImperial && choiceID != MWChoiceSetChangeUnitChoiceIdMetric) { - return; - } +- (void)preloadChangeUnitsChoices { + [self.manager.screenManager preloadChoices:[self changeUnitsChoiceCells] withCompletionHandler:nil]; +} - UnitType unit = (choiceID == MWChoiceSetChangeUnitChoiceIdImperial) ? UnitTypeImperial : UnitTypeMetric; - [WeatherDataManager sharedManager].unit = unit; - }]; +- (void)presentChangeUnitsInteraction:(SDLInteractionMode)mode { + SDLChoiceSet *changeUnits = [[SDLChoiceSet alloc] initWithTitle:self.localization[@"pi.units.text"] delegate:self layout:SDLChoiceSetLayoutList timeout:30 initialPromptString:self.localization[@"pi.units.initial-prompt"] timeoutPromptString:self.localization[@"pi.units.timeout-prompt"] helpPromptString:nil vrHelpList:nil choices:[self changeUnitsChoiceCells]]; + + [self.manager.screenManager presentChoiceSet:changeUnits mode:mode]; } -- (void)createForecastChoiceSetWithList:(NSArray *)forecasts ofType:(MWInfoType)infoType { +- (void)presentForecastInteractionWithList:(NSArray *)forecasts ofType:(MWInfoType)infoType mode:(SDLInteractionMode)mode { BOOL isHourlyForecast = [infoType isEqualToString:MWInfoTypeHourlyForecast]; - + NSDateFormatter *dateFormatShow = [[NSDateFormatter alloc] init]; dateFormatShow.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; dateFormatShow.locale = self.localization.locale; - + NSDateFormatter *dateFormatSpeak = [[NSDateFormatter alloc] init]; dateFormatSpeak.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; dateFormatSpeak.locale = self.localization.locale; - + if (isHourlyForecast) { dateFormatShow.dateFormat = self.localization[@"forecast.hourly.choice.show"]; dateFormatSpeak.dateFormat = self.localization[@"forecast.hourly.choice.speak"]; @@ -298,31 +264,12 @@ - (void)createForecastChoiceSetWithList:(NSArray *)forecasts ofType:(MWInfoType) dateFormatShow.dateFormat = self.localization[@"forecast.daily.choice.show"]; dateFormatSpeak.dateFormat = self.localization[@"forecast.daily.choice.speak"]; } - - SDLCreateInteractionChoiceSet *createChoiceSetRequest = [[SDLCreateInteractionChoiceSet alloc] init]; - createChoiceSetRequest.interactionChoiceSetID = @(MWChoiceSetIdList); - NSMutableSet *filenames = [NSMutableSet set]; - NSMutableArray *choices = [NSMutableArray array]; + NSMutableArray *choices = [NSMutableArray array]; for (Forecast *forecast in forecasts) { - SDLChoice *choice = [[SDLChoice alloc] init]; - if (self.graphicsAvailable && forecast.conditionIcon != nil) { - NSString *filename = forecast.conditionIcon; - SDLImage *image = [[SDLImage alloc] initWithName:filename]; - - if ([self.manager.fileManager.remoteFileNames containsObject:filename] == NO) { - [filenames addObject:forecast.conditionIcon]; - } - - choice.image = image; - } - - choice.choiceID = @(MWChoiceSetIdList + choices.count + 1); - choice.menuName = [dateFormatShow stringFromDate:forecast.date]; - NSMutableArray *vrCommands = [NSMutableArray array]; [vrCommands addObject:[dateFormatSpeak stringFromDate:forecast.date]]; - + if (isHourlyForecast && choices.count == 0) { [vrCommands addObject:self.localization[@"vr.now"]]; } else { @@ -333,56 +280,22 @@ - (void)createForecastChoiceSetWithList:(NSArray *)forecasts ofType:(MWInfoType) } } - choice.vrCommands = [vrCommands copy]; - [choices addObject:choice]; + SDLChoiceCell *cell = [[SDLChoiceCell alloc] initWithText:[dateFormatShow stringFromDate:forecast.date] artwork:[SDLArtwork artworkWithImage:[[[ImageProcessor sharedProcessor] imageFromConditionImage:forecast.conditionIcon] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] asImageFormat:SDLArtworkImageFormatPNG] voiceCommands:[vrCommands copy]]; + [choices addObject:cell]; } - createChoiceSetRequest.choiceSet = [choices copy]; - - NSMutableArray *artworks = [NSMutableArray array]; - for (NSString *filename in filenames) { - [artworks addObject:[SDLArtwork artworkWithImage:[[ImageProcessor sharedProcessor] imageFromConditionImage:filename] name:filename asImageFormat:SDLArtworkImageFormatPNG]]; + SDLChoiceSet *choiceSet = nil; + if ([self.currentInfoType isEqualToString:MWInfoTypeDailyForecast]) { + choiceSet = [[SDLChoiceSet alloc] initWithTitle:self.localization[@"pi.daily-forecast.text"] delegate:self layout:SDLChoiceSetLayoutTiles timeout:60 initialPromptString:self.localization[@"pi.daily-forecast.initial-prompt"] timeoutPromptString:self.localization[@"pi.daily-forecast.timeout-prompt"] helpPromptString:self.localization[@"pi.daily-forecast.help-prompt"] vrHelpList:nil choices:choices]; + } else if ([self.currentInfoType isEqualToString:MWInfoTypeHourlyForecast]) { + choiceSet = [[SDLChoiceSet alloc] initWithTitle:self.localization[@"pi.hourly-forecast.text"] delegate:self layout:SDLChoiceSetLayoutTiles timeout:60 initialPromptString:self.localization[@"pi.hourly-forecast.initial-prompt"] timeoutPromptString:self.localization[@"pi.hourly-forecast.timeout-prompt"] helpPromptString:self.localization[@"pi.hourly-forecast.help-prompt"] vrHelpList:nil choices:choices]; } - if (artworks.count > 0) { - __weak typeof(self) weakSelf = self; - [self.manager.fileManager uploadArtworks:artworks progressHandler:nil completionHandler:^(NSArray * _Nonnull artworkNames, NSError * _Nullable error) { - weakSelf.currentForecastChoices = createChoiceSetRequest.choiceSet; - [weakSelf.manager sendRequest:createChoiceSetRequest]; - }]; - } + [self.manager.screenManager presentChoiceSet:choiceSet mode:mode]; } -- (void)deleteForecastChoiceSet { - SDLDeleteInteractionChoiceSet *request = [[SDLDeleteInteractionChoiceSet alloc] initWithId:MWChoiceSetIdList]; - self.currentForecastChoices = nil; - [self.manager sendRequest:request]; -} -- (void)performForecastInteractionWithMode:(SDLInteractionMode)mode { - SDLPerformInteraction *request = nil; - - if ([self.currentInfoType isEqualToString:MWInfoTypeDailyForecast]) { - request = [[SDLPerformInteraction alloc] initWithInitialPrompt:self.localization[@"pi.daily-forecast.initial-prompt"] initialText:self.localization[@"pi.daily-forecast.text"] interactionChoiceSetIDList:@[@(MWChoiceSetIdList)] helpPrompt:self.localization[@"pi.daily-forecast.help-prompt"] timeoutPrompt:self.localization[@"pi.daily-forecast.timeout-prompt"] interactionMode:(mode ?: SDLInteractionModeBoth) timeout:60000]; - } else if ([self.currentInfoType isEqualToString:MWInfoTypeHourlyForecast]) { - request = [[SDLPerformInteraction alloc] initWithInitialPrompt:self.localization[@"pi.hourly-forecast.initial-prompt"] initialText:self.localization[@"pi.hourly-forecast.text"] interactionChoiceSetIDList:@[@(MWChoiceSetIdList)] helpPrompt:self.localization[@"pi.hourly-forecast.help-prompt"] timeoutPrompt:self.localization[@"pi.hourly-forecast.timeout-prompt"] interactionMode:(mode ?: SDLInteractionModeBoth) timeout:60000]; - } - - [self.manager sendRequest:request withResponseHandler:^(SDLPerformInteraction * _Nullable request, SDLPerformInteractionResponse * _Nullable response, NSError * _Nullable error) { - NSUInteger choiceID = response.choiceID.unsignedIntegerValue; - if (self.currentForecastChoices == nil) { return; } - - for (SDLChoice *choice in self.currentForecastChoices) { - NSUInteger listChoiceID = choice.choiceID.unsignedIntegerValue; - if (listChoiceID == choiceID) { - NSUInteger index = listChoiceID - MWChoiceSetIdList - 1; - [self sendForecastAtIndex:index fromList:self.currentInfoTypeList infoType:self.currentInfoType withSpeak:YES]; - self.currentInfoTypeListIndex = index; - break; - } - } - }]; -} +#pragma mark - Template updates - (void)sendWelcomeMessageWithSpeak:(BOOL)withSpeak { self.currentInfoType = MWInfoTypeNone; @@ -401,32 +314,6 @@ - (void)sendWelcomeMessageWithSpeak:(BOOL)withSpeak { } } -- (void)sendShowRequest:(SDLShow *)showRequest withImageNamed:(NSString *)filename { - // If graphics are available we need to add in the image graphic to the SHOW - if (self.graphicsAvailable) { - SDLImage *image = [[SDLImage alloc] init]; - image.imageType = SDLImageTypeDynamic; - image.value = filename; - - // Check if the file is already on the remote system - if ([self.manager.fileManager.remoteFileNames containsObject:filename]) { - showRequest.graphic = image; - [self.manager sendRequest:showRequest]; - } else { - [self.manager sendRequest:showRequest]; - - SDLArtwork *artwork = [SDLArtwork artworkWithImage:[[ImageProcessor sharedProcessor] imageFromConditionImage:filename] name:filename asImageFormat:SDLArtworkImageFormatPNG]; - [self.manager.fileManager uploadFile:artwork completionHandler:^(BOOL success, NSUInteger bytesAvailable, NSError * _Nullable error) { - SDLShow *showImage = [[SDLShow alloc] init]; - showImage.graphic = image; - [self.manager sendRequest:showImage]; - }]; - } - } else { - [self.manager sendRequest:showRequest]; - } -} - - (void)sendWeatherConditions:(WeatherConditions *)conditions withSpeak:(BOOL)withSpeak { if (conditions != nil) { self.currentInfoType = MWInfoTypeWeatherConditions; @@ -455,7 +342,7 @@ - (void)sendWeatherConditions:(WeatherConditions *)conditions withSpeak:(BOOL)wi self.manager.screenManager.textField3 = [conditions.precipitation stringValueForUnit:percentageType shortened:YES localization:self.localization]; self.manager.screenManager.textField4 = [conditions.windSpeed stringValueForUnit:speedType shortened:YES localization:self.localization]; - self.manager.screenManager.primaryGraphic = [SDLArtwork artworkWithImage:[[ImageProcessor sharedProcessor] imageFromConditionImage:conditions.conditionIcon] name:conditions.conditionIcon asImageFormat:SDLArtworkImageFormatPNG]; + self.manager.screenManager.primaryGraphic = [SDLArtwork artworkWithImage:[[[ImageProcessor sharedProcessor] imageFromConditionImage:conditions.conditionIcon] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] name:conditions.conditionIcon asImageFormat:SDLArtworkImageFormatPNG]; [self.manager.screenManager endUpdatesWithCompletionHandler:nil]; @@ -479,7 +366,6 @@ - (void)sendForecastList:(NSArray *)forecasts infoType:(MWInfoType)infoType with } NSUInteger index = 0; if ([infoType isEqualToString:self.currentInfoType]) { - [self deleteForecastChoiceSet]; Forecast *oldForecast = (self.currentInfoTypeList)[self.currentInfoTypeListIndex]; for (NSUInteger newindex = 0; newindex < forecasts.count; newindex++) { @@ -491,12 +377,11 @@ - (void)sendForecastList:(NSArray *)forecasts infoType:(MWInfoType)infoType with } } } else { - [self deleteWeatherVoiceCommands]; - [self sendListVoiceCommands:infoType]; + self.manager.screenManager.menu = [self listMenuCellsForType:infoType]; + self.manager.screenManager.voiceCommands = [self listVoiceCommandsForType:infoType]; } - [self createForecastChoiceSetWithList:forecasts ofType:infoType]; - [self sendForecastAtIndex:index fromList:forecasts infoType:infoType withSpeak:withSpeak]; + [self showForecastAtIndex:index fromList:forecasts infoType:infoType withSpeak:withSpeak]; self.currentInfoType = infoType; self.currentInfoTypeList = forecasts; @@ -507,7 +392,7 @@ - (void)sendForecastList:(NSArray *)forecasts infoType:(MWInfoType)infoType with } } -- (void)sendForecastAtIndex:(NSUInteger)index fromList:(NSArray *)forecasts infoType:(MWInfoType)infoType withSpeak:(BOOL)withSpeak { +- (void)showForecastAtIndex:(NSUInteger)index fromList:(NSArray *)forecasts infoType:(MWInfoType)infoType withSpeak:(BOOL)withSpeak { BOOL isHourlyForecast = [infoType isEqualToString:MWInfoTypeHourlyForecast]; Forecast *forecast = forecasts[index]; @@ -549,19 +434,11 @@ - (void)sendForecastAtIndex:(NSUInteger)index fromList:(NSArray *)forecasts info temperatureType = UnitTemperatureFahrenheit; speedType = UnitSpeedMileHour; } - if ([self updateListVoiceCommandsWithNewIndex:index - ofNewList:forecasts - withOldIndex:self.currentInfoTypeListIndex - ofOldList:self.currentInfoTypeList]) { - [self sendListGlobalProperties:infoType - withPrevious:(index != 0) - withNext:(index + 1 != forecasts.count)]; - } [self.manager.screenManager beginUpdates]; self.manager.screenManager.softButtonObjects = [self buildListSoftButtons:infoType withIndex:index maxCount:forecasts.count]; - self.manager.screenManager.primaryGraphic = [SDLArtwork artworkWithImage:[[ImageProcessor sharedProcessor] imageFromConditionImage:forecast.conditionIcon] asImageFormat:SDLArtworkImageFormatPNG]; + self.manager.screenManager.primaryGraphic = [SDLArtwork artworkWithImage:[[[ImageProcessor sharedProcessor] imageFromConditionImage:forecast.conditionIcon] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] asImageFormat:SDLArtworkImageFormatPNG]; if (isHourlyForecast) { self.manager.screenManager.textField1 = [self.localization stringForKey:@"forecast.hourly.show.field1", dateTimeStringShow, conditionTitleShow]; @@ -631,6 +508,8 @@ - (void)sendForecastAtIndex:(NSUInteger)index fromList:(NSArray *)forecasts info } } +#pragma mark - Alerts + - (void)sendAlertList:(NSArray *)alerts withSpeak:(BOOL)withSpeak { if (alerts.count > 0) { NSUInteger index = 0; @@ -646,8 +525,8 @@ - (void)sendAlertList:(NSArray *)alerts withSpeak:(BOOL)withSpeak { } } } else { - [self deleteWeatherVoiceCommands]; - [self sendListVoiceCommands:MWInfoTypeAlerts]; + self.manager.screenManager.menu = [self listMenuCellsForType:MWInfoTypeAlerts]; + self.manager.screenManager.voiceCommands = [self listVoiceCommandsForType:MWInfoTypeAlerts]; } [self sendAlertAtIndex:index fromList:alerts withSpeak:withSpeak]; @@ -672,10 +551,6 @@ - (void)sendAlertAtIndex:(NSUInteger)index fromList:(NSArray *)alerts w NSString *dateTimeStringShow = [dateTimeFormatShow stringFromDate:alert.dateExpires]; - if ([self updateListVoiceCommandsWithNewIndex:index ofNewList:alerts withOldIndex:self.currentInfoTypeListIndex ofOldList:self.currentInfoTypeList]) { - [self sendListGlobalProperties:MWInfoTypeAlerts withPrevious:(index != 0) withNext:(index + 1 != alerts.count)]; - } - [self.manager.screenManager beginUpdates]; self.manager.screenManager.textField1 = dateTimeStringShow; self.manager.screenManager.textField2 = alert.title; @@ -710,21 +585,14 @@ - (void)sendAlertMessageAtIndex:(NSUInteger)index { } - (void)closeListInfoType:(MWInfoType)infoType { - if ([MWInfoTypeHourlyForecast isEqualToString:infoType] || [MWInfoTypeDailyForecast isEqualToString:infoType]) { - [self deleteForecastChoiceSet]; - } - - [self deleteListVoiceCommands:infoType]; - [self deleteListNextVoiceCommand]; - [self deleteListPreviousVoiceCommand]; - self.currentInfoType = MWInfoTypeNone; [self setCurrentInfoTypeList:nil]; self.currentInfoTypeListIndex = -1; [self sendWelcomeMessageWithSpeak:NO]; - [self sendWeatherVoiceCommands]; [self sendDefaultGlobalProperties]; + + self.manager.screenManager.menu = [self weatherMenuCells]; } - (void)repeatWeatherInformation { @@ -732,7 +600,7 @@ - (void)repeatWeatherInformation { if ([MWInfoTypeWeatherConditions isEqualToString:infoType]) { [self sendWeatherConditions:[WeatherDataManager sharedManager].weatherConditions withSpeak:YES]; } else if ([MWInfoTypeDailyForecast isEqualToString:infoType] || [MWInfoTypeHourlyForecast isEqualToString:infoType]) { - [self sendForecastAtIndex:self.currentInfoTypeListIndex fromList:self.currentInfoTypeList infoType:infoType withSpeak:YES]; + [self showForecastAtIndex:self.currentInfoTypeListIndex fromList:self.currentInfoTypeList infoType:infoType withSpeak:YES]; } else if ([MWInfoTypeAlerts isEqualToString:infoType]) { [self sendAlertAtIndex:self.currentInfoTypeListIndex fromList:self.currentInfoTypeList withSpeak:YES]; } @@ -749,9 +617,11 @@ - (void)subscribeRepeatButton { [self.manager sendRequest:request]; } +#pragma mark - Soft Buttons + - (NSArray *)buildDefaultSoftButtons { __weak typeof(self) weakSelf = self; - SDLSoftButtonState *currentWeatherState = [[SDLSoftButtonState alloc] initWithStateName:@"state" text:self.localization[@"sb.current"] image:nil]; + SDLSoftButtonState *currentWeatherState = [[SDLSoftButtonState alloc] initWithStateName:@"state" text:self.localization[@"sb.current"] artwork:nil]; SDLSoftButtonObject *currentWeatherObject = [[SDLSoftButtonObject alloc] initWithName:@"CurrentWeather" state:currentWeatherState handler:^(SDLOnButtonPress * _Nullable buttonPress, SDLOnButtonEvent * _Nullable buttonEvent) { if (!buttonPress) { return; @@ -804,7 +674,7 @@ - (void)subscribeRepeatButton { if (weakSelf.currentInfoTypeListIndex > 0) { NSInteger index = weakSelf.currentInfoTypeListIndex - 1; if ([infoType isEqualToString:MWInfoTypeDailyForecast] || [infoType isEqualToString:MWInfoTypeHourlyForecast]) { - [weakSelf sendForecastAtIndex:index fromList:weakSelf.currentInfoTypeList infoType:infoType withSpeak:YES]; + [weakSelf showForecastAtIndex:index fromList:weakSelf.currentInfoTypeList infoType:infoType withSpeak:YES]; } weakSelf.currentInfoTypeListIndex = index; } @@ -821,7 +691,7 @@ - (void)subscribeRepeatButton { if (weakSelf.currentInfoTypeListIndex + 1 < weakSelf.currentInfoTypeList.count) { NSInteger index = weakSelf.currentInfoTypeListIndex + 1; if ([infoType isEqualToString:MWInfoTypeDailyForecast] || [infoType isEqualToString:MWInfoTypeHourlyForecast]) { - [weakSelf sendForecastAtIndex:index fromList:weakSelf.currentInfoTypeList infoType:infoType withSpeak:YES]; + [weakSelf showForecastAtIndex:index fromList:weakSelf.currentInfoTypeList infoType:infoType withSpeak:YES]; } weakSelf.currentInfoTypeListIndex = index; } @@ -833,7 +703,7 @@ - (void)subscribeRepeatButton { showObject = [[SDLSoftButtonObject alloc] initWithName:@"ShowList" state:showListState handler:^(SDLOnButtonPress * _Nullable buttonPress, SDLOnButtonEvent * _Nullable buttonEvent) { if (!buttonPress) { return; } - [weakSelf performForecastInteractionWithMode:SDLInteractionModeManualOnly]; + [weakSelf presentForecastInteractionWithList:weakSelf.currentInfoTypeList ofType:infoType mode:SDLInteractionModeManualOnly]; }]; } else if ([MWInfoTypeAlerts isEqualToString:infoType]) { SDLSoftButtonState *showMessage = [[SDLSoftButtonState alloc] initWithStateName:@"state" text:self.localization[@"sb.message"] image:nil]; @@ -854,245 +724,85 @@ - (void)subscribeRepeatButton { return @[previousObject, showObject, nextObject, closeObject]; } -- (void)sendWeatherVoiceCommands { - SDLMenuParams *menuparams1 = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.current-conditions"]]; - menuparams1.position = @1; - SDLAddCommand *request1 = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdShowWeatherConditions vrCommands:@[self.localization[@"vr.current"],self.localization[@"vr.conditions"], self.localization[@"vr.current-conditions"], self.localization[@"vr.show-conditions"], self.localization[@"vr.show-current-conditions"]] handler:^(SDLOnCommand * _Nonnull command) { - [self sendWeatherConditions:[WeatherDataManager sharedManager].weatherConditions withSpeak:YES]; - }]; - request1.menuParams = menuparams1; +#pragma mark - Menus - SDLMenuParams *menuparams2 = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.daily-forecast"]]; - menuparams2.position = @2; - SDLAddCommand *request2 = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdShowDailyForecast vrCommands:@[self.localization[@"vr.daily"], self.localization[@"vr.daily-forecast"], self.localization[@"vr.show-daily-forecast"]] handler:^(SDLOnCommand * _Nonnull command) { - [self sendForecastList:[WeatherDataManager sharedManager].dailyForecast infoType:MWInfoTypeDailyForecast withSpeak:YES]; +- (NSArray *)weatherMenuCells { + __weak typeof(self) weakSelf = self; + SDLMenuCell *showWeatherConditions = [[SDLMenuCell alloc] initWithTitle:self.localization[@"cmd.current-conditions"] icon:nil voiceCommands:@[self.localization[@"vr.current"],self.localization[@"vr.conditions"], self.localization[@"vr.current-conditions"], self.localization[@"vr.show-conditions"], self.localization[@"vr.show-current-conditions"]] handler:^(SDLTriggerSource _Nonnull triggerSource) { + [weakSelf sendWeatherConditions:[WeatherDataManager sharedManager].weatherConditions withSpeak:YES]; }]; - request2.menuParams = menuparams2; - SDLMenuParams *menuparams3 = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.hourly-forecast"]]; - menuparams3.position = @3; - SDLAddCommand *request3 = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdShowHourlyForecast vrCommands:@[self.localization[@"vr.hourly"], self.localization[@"vr.hourly-forecast"], self.localization[@"vr.show-hourly-forecast"]] handler:^(SDLOnCommand * _Nonnull command) { - [self sendForecastList:[WeatherDataManager sharedManager].hourlyForecast infoType:MWInfoTypeHourlyForecast withSpeak:YES]; + SDLMenuCell *showDailyForecast = [[SDLMenuCell alloc] initWithTitle:self.localization[@"cmd.daily-forecast"] icon:nil voiceCommands:@[self.localization[@"vr.daily"], self.localization[@"vr.daily-forecast"], self.localization[@"vr.show-daily-forecast"]] handler:^(SDLTriggerSource _Nonnull triggerSource) { + [weakSelf sendForecastList:[WeatherDataManager sharedManager].dailyForecast infoType:MWInfoTypeDailyForecast withSpeak:YES]; }]; - request3.menuParams = menuparams3; - SDLMenuParams *menuparams4 = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.alerts"]]; - menuparams4.position = @4; - SDLAddCommand *request4 = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdShowAlerts vrCommands:@[self.localization[@"vr.alerts"], self.localization[@"vr.show-alerts"]] handler:^(SDLOnCommand * _Nonnull command) { - [self sendAlertList:[WeatherDataManager sharedManager].alerts withSpeak:YES]; + SDLMenuCell *showHourlyForecast = [[SDLMenuCell alloc] initWithTitle:self.localization[@"cmd.hourly-forecast"] icon:nil voiceCommands:@[self.localization[@"vr.hourly"], self.localization[@"vr.hourly-forecast"], self.localization[@"vr.show-hourly-forecast"]] handler:^(SDLTriggerSource _Nonnull triggerSource) { + [weakSelf sendForecastList:[WeatherDataManager sharedManager].hourlyForecast infoType:MWInfoTypeHourlyForecast withSpeak:YES]; }]; - request4.menuParams = menuparams4; - - [self.manager sendRequests:@[request1, request2, request3, request4] progressHandler:nil completionHandler:nil]; -} -- (void)deleteWeatherVoiceCommands { - SDLDeleteCommand *delete1 = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdShowWeatherConditions]; - SDLDeleteCommand *delete2 = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdShowDailyForecast]; - SDLDeleteCommand *delete3 = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdShowHourlyForecast]; - SDLDeleteCommand *delete4 = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdShowAlerts]; - - [self.manager sendRequests:@[delete1, delete2, delete3, delete4] progressHandler:nil completionHandler:nil]; -} - -- (void)sendChangeUnitsVoiceCommand { - SDLAddCommand *request = nil; - SDLMenuParams *menuparams = nil; - - menuparams = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.change-units"]]; - menuparams.position = @5; - - __weak typeof(self) weakSelf = self; - request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdShowChangeUnits vrCommands:@[self.localization[@"vr.units"], self.localization[@"vr.change-units"]] handler:^(SDLOnCommand * _Nonnull command) { - // the user has performed the voice command to change the units - SDLInteractionMode mode = nil; - if ([command.triggerSource isEqualToEnum:SDLTriggerSourceMenu]) { - mode = SDLInteractionModeManualOnly; - } else { - mode = SDLInteractionModeBoth; - } + SDLMenuCell *showAlerts = [[SDLMenuCell alloc] initWithTitle:self.localization[@"cmd.alerts"] icon:nil voiceCommands:@[self.localization[@"vr.alerts"], self.localization[@"vr.show-alerts"]] handler:^(SDLTriggerSource _Nonnull triggerSource) { + [weakSelf sendAlertList:[WeatherDataManager sharedManager].alerts withSpeak:YES]; + }]; - [weakSelf performChangeUnitsInteractionWithMode:mode]; + SDLMenuCell *changeUnits = [[SDLMenuCell alloc] initWithTitle:self.localization[@"cmd.change-units"] icon:nil voiceCommands:@[self.localization[@"vr.units"], self.localization[@"vr.change-units"]] handler:^(SDLTriggerSource _Nonnull triggerSource) { + SDLInteractionMode mode = [triggerSource isEqualToEnum:SDLTriggerSourceMenu] ? SDLInteractionModeManualOnly : SDLInteractionModeBoth; + [weakSelf presentChangeUnitsInteraction:mode]; }]; - request.menuParams = menuparams; - [self.manager sendRequest:request]; + + return @[showWeatherConditions, showDailyForecast, showHourlyForecast, showAlerts, changeUnits]; } -- (void)sendListVoiceCommands:(MWInfoType)infoType { - SDLAddCommand *request; - SDLMenuParams *menuparams; +- (NSArray *)listMenuCellsForType:(MWInfoType)infoType { __weak typeof(self) weakSelf = self; - - if ([MWInfoTypeDailyForecast isEqual:infoType] || [MWInfoTypeHourlyForecast isEqual:infoType]) { - menuparams = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.show-list"]]; - menuparams.position = @3; - - request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdListShowList vrCommands:@[self.localization[@"vr.list"], self.localization[@"vr.show-list"]] handler:^(SDLOnCommand * _Nonnull command) { - SDLInteractionMode mode = nil; - if ([SDLTriggerSourceMenu isEqualToEnum:command.triggerSource]) { - mode = SDLInteractionModeManualOnly; - } else { - mode = SDLInteractionModeBoth; - } - [weakSelf performForecastInteractionWithMode:mode]; - }]; - request.menuParams = menuparams; - [self.manager sendRequest:request]; + NSMutableArray *menu = [NSMutableArray array]; + + if ([infoType isEqualToString:MWInfoTypeDailyForecast] || [infoType isEqualToString:MWInfoTypeHourlyForecast]) { + [menu addObject:[[SDLMenuCell alloc] initWithTitle:self.localization[@"cmd.show-list"] icon:nil voiceCommands:@[self.localization[@"vr.list"], self.localization[@"vr.show-list"]] handler:^(SDLTriggerSource _Nonnull triggerSource) { + SDLInteractionMode mode = [triggerSource isEqualToEnum:SDLTriggerSourceMenu] ? SDLInteractionModeManualOnly : SDLInteractionModeBoth; + [weakSelf presentForecastInteractionWithList:weakSelf.currentInfoTypeList ofType:infoType mode:mode]; + }]]; } else if ([MWInfoTypeAlerts isEqualToString:infoType]) { - menuparams = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.show-message"]]; - menuparams.position = @3; - request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdListShowMessage vrCommands:@[self.localization[@"vr.message"], self.localization[@"vr.show-message"]] handler:^(SDLOnCommand * _Nonnull command) { - [weakSelf sendAlertMessageAtIndex:weakSelf.currentInfoTypeListIndex]; - }]; - request.menuParams = menuparams; - [self.manager sendRequest:request]; + [menu addObject:[[SDLMenuCell alloc] initWithTitle:self.localization[@"cmd.show-message"] icon:nil voiceCommands:@[self.localization[@"vr.message"], self.localization[@"vr.show-message"]] handler:^(SDLTriggerSource _Nonnull triggerSource) { + SDLInteractionMode mode = [triggerSource isEqualToEnum:SDLTriggerSourceMenu] ? SDLInteractionModeManualOnly : SDLInteractionModeBoth; + [weakSelf presentForecastInteractionWithList:weakSelf.currentInfoTypeList ofType:infoType mode:mode]; + }]]; } - - menuparams = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.back"]]; - menuparams.position = @4; - request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdListBack vrCommands:@[self.localization[@"vr.back"]] handler:^(SDLOnCommand * _Nonnull command) { + + [menu addObject:[[SDLMenuCell alloc] initWithTitle:self.localization[@"cmd.back"] icon:nil voiceCommands:@[self.localization[@"vr.back"]] handler:^(SDLTriggerSource _Nonnull triggerSource) { [weakSelf closeListInfoType:weakSelf.currentInfoType]; - }]; - request.menuParams = menuparams; - [self.manager sendRequest:request]; - - if ([MWInfoTypeHourlyForecast isEqualToString:infoType]) { - request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdListHourlyNow vrCommands:@[self.localization[@"vr.now"]] handler:^(SDLOnCommand * _Nonnull command) { - [weakSelf sendForecastAtIndex:0 fromList:weakSelf.currentInfoTypeList infoType:weakSelf.currentInfoType withSpeak:YES]; + }]]; + + return [menu copy]; +} + +- (NSArray *)listVoiceCommandsForType:(MWInfoType)infoType { + __weak typeof(self) weakSelf = self; + NSArray *voiceCommands = nil; + if ([infoType isEqualToString:MWInfoTypeHourlyForecast]) { + SDLVoiceCommand *hourlyNow = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[self.localization[@"vr.now"]] handler:^{ + [weakSelf showForecastAtIndex:0 fromList:weakSelf.currentInfoTypeList infoType:weakSelf.currentInfoType withSpeak:YES]; weakSelf.currentInfoTypeListIndex = 0; }]; - [self.manager sendRequest:request]; + + voiceCommands = @[hourlyNow]; } else { - request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdListDailyToday vrCommands:@[self.localization[@"vr.today"]] handler:^(SDLOnCommand * _Nonnull command) { - [weakSelf sendForecastAtIndex:0 fromList:weakSelf.currentInfoTypeList infoType:weakSelf.currentInfoType withSpeak:YES]; + SDLVoiceCommand *dailyToday = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[self.localization[@"vr.today"]] handler:^{ + [weakSelf showForecastAtIndex:0 fromList:weakSelf.currentInfoTypeList infoType:weakSelf.currentInfoType withSpeak:YES]; weakSelf.currentInfoTypeListIndex = 0; }]; - [self.manager sendRequest:request]; - - request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdListDailyTomorrow vrCommands:@[self.localization[@"vr.tomorrow"]] handler:^(SDLOnCommand * _Nonnull command) { - [weakSelf sendForecastAtIndex:1 fromList:weakSelf.currentInfoTypeList infoType:weakSelf.currentInfoType withSpeak:YES]; + + SDLVoiceCommand *dailyTomorrow = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[self.localization[@"vr.tomorrow"]] handler:^{ + [weakSelf showForecastAtIndex:1 fromList:weakSelf.currentInfoTypeList infoType:weakSelf.currentInfoType withSpeak:YES]; weakSelf.currentInfoTypeListIndex = 1; }]; - [self.manager sendRequest:request]; - } -} -- (void)deleteListVoiceCommands:(MWInfoType)infoType { - SDLDeleteCommand *request; - - if ([MWInfoTypeDailyForecast isEqualToString:infoType] || [MWInfoTypeHourlyForecast isEqualToString:infoType]) { - request = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdListShowList]; - [self.manager sendRequest:request]; - } else if ([MWInfoTypeAlerts isEqualToString:infoType]) { - request = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdListShowMessage]; - [self.manager sendRequest:request]; - } - - request = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdListBack]; - [self.manager sendRequest:request]; - - if ([infoType isEqualToString:MWInfoTypeHourlyForecast]) { - request = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdListHourlyNow]; - [self.manager sendRequest:request]; - } else { - request = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdListDailyToday]; - [self.manager sendRequest:request]; - - request = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdListDailyTomorrow]; - [self.manager sendRequest:request]; + voiceCommands = @[dailyToday, dailyTomorrow]; } -} - -- (void)sendListNextVoiceCommand { - SDLMenuParams *menuparams = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.next"]]; - menuparams.position = @1; - __weak typeof(self) weakSelf = self; - SDLAddCommand *request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdListNext vrCommands:@[self.localization[@"vr.next"]] handler:^(SDLOnCommand * _Nonnull command) { - typeof(weakSelf) strongSelf = weakSelf; - MWInfoType infoType = strongSelf.currentInfoType; - if (strongSelf.currentInfoTypeListIndex + 1 < strongSelf.currentInfoTypeList.count) { - NSInteger index = strongSelf.currentInfoTypeListIndex + 1; - if ([infoType isEqualToString:MWInfoTypeDailyForecast] || [infoType isEqualToString:MWInfoTypeHourlyForecast]) { - [strongSelf sendForecastAtIndex:index fromList:strongSelf.currentInfoTypeList infoType:infoType withSpeak:YES]; - } else if ([infoType isEqualToString:MWInfoTypeAlerts]) { - [strongSelf sendAlertAtIndex:index fromList:strongSelf.currentInfoTypeList withSpeak:YES]; - } - strongSelf.currentInfoTypeListIndex = index; - } - }]; - request.menuParams = menuparams; - - [self.manager sendRequest:request]; -} - -- (void)deleteListNextVoiceCommand { - SDLDeleteCommand *request = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdListNext]; - [self.manager sendRequest:request]; -} - -- (void)sendListPreviousVoiceCommand { - SDLMenuParams *menuparams = [[SDLMenuParams alloc] initWithMenuName:self.localization[@"cmd.previous"]]; - menuparams.position = @2; - - __weak typeof(self) weakSelf = self; - SDLAddCommand *request = [[SDLAddCommand alloc] initWithId:MWMenuCommandIdListPrevious vrCommands:@[self.localization[@"vr.previous"]] handler:^(SDLOnCommand * _Nonnull command) { - typeof(weakSelf) strongSelf = weakSelf; - - MWInfoType infoType = strongSelf.currentInfoType; - if (strongSelf.currentInfoTypeListIndex <= 0) { return; } - - NSInteger index = strongSelf.currentInfoTypeListIndex - 1; - if ([infoType isEqualToString:MWInfoTypeDailyForecast] || [infoType isEqualToString:MWInfoTypeHourlyForecast]) { - [strongSelf sendForecastAtIndex:index fromList:strongSelf.currentInfoTypeList infoType:infoType withSpeak:YES]; - } else if ([infoType isEqualToString:MWInfoTypeAlerts]) { - [strongSelf sendAlertAtIndex:index fromList:strongSelf.currentInfoTypeList withSpeak:YES]; - } - strongSelf.currentInfoTypeListIndex = index; - }]; - request.menuParams = menuparams; - - [self.manager sendRequest:request]; + return voiceCommands; } -- (void)deleteListPreviousVoiceCommand { - SDLDeleteCommand *request = [[SDLDeleteCommand alloc] initWithId:MWMenuCommandIdListPrevious]; - [self.manager sendRequest:request]; -} - -- (BOOL)updateListVoiceCommandsWithNewIndex:(NSInteger)newIndex ofNewList:(NSArray *)newList withOldIndex:(NSInteger)oldIndex ofOldList:(NSArray *)oldList { - BOOL newIsFirst, newIsLast, oldIsFirst, oldIsLast, modified; - - modified = NO; - newIsFirst = (newIndex == 0); - newIsLast = (newIndex + 1 == newList.count); - - if (oldIndex == -1) { - oldIsFirst = YES; - oldIsLast = YES; - } else { - oldIsFirst = (oldIndex == 0); - oldIsLast = (oldIndex + 1 == oldList.count); - } - - if (newIsFirst == NO && oldIsFirst == YES) { - [self sendListPreviousVoiceCommand]; - modified = YES; - } else if (newIsFirst == YES && oldIsFirst == NO) { - [self deleteListPreviousVoiceCommand]; - modified = YES; - } - - if (newIsLast == NO && oldIsLast == YES) { - [self sendListNextVoiceCommand]; - modified = YES; - } else if (newIsLast == YES && oldIsLast == NO) { - [self deleteListNextVoiceCommand]; - modified = YES; - } - - return modified; -} +#pragma mark - Global Properties / Help Lists - (void)sendDefaultGlobalProperties { NSMutableArray *prompts = [NSMutableArray array]; @@ -1165,6 +875,30 @@ - (void)sendListGlobalProperties:(MWInfoType)infoType withPrevious:(BOOL)withPre [self.manager sendRequest:request]; } +#pragma mark - SDLChoiceSetDelegate + +- (void)choiceSet:(SDLChoiceSet *)choiceSet didSelectChoice:(SDLChoiceCell *)choice withSource:(SDLTriggerSource)source atRowIndex:(NSUInteger)rowIndex { + if ([choiceSet.title isEqualToString:self.localization[@"pi.units.text"]]) { + [self mw_changeUnitsDidSelectChoice:choice atIndex:rowIndex]; + } else { + [self mw_forecastDidSelectChoice:choice atIndex:rowIndex]; + } +} + +- (void)mw_changeUnitsDidSelectChoice:(SDLChoiceCell *)cell atIndex:(NSUInteger)rowIndex { + UnitType unit = (rowIndex == 0) ? UnitTypeMetric : UnitTypeImperial; + [WeatherDataManager sharedManager].unit = unit; +} + +- (void)mw_forecastDidSelectChoice:(SDLChoiceCell *)cell atIndex:(NSUInteger)rowIndex { + [self showForecastAtIndex:rowIndex fromList:self.currentInfoTypeList infoType:self.currentInfoType withSpeak:YES]; + self.currentInfoTypeListIndex = rowIndex; +} + +- (void)choiceSet:(SDLChoiceSet *)choiceSet didReceiveError:(NSError *)error { + +} + @end NS_ASSUME_NONNULL_END