summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleonid lokhmatov, Luxoft <zaqqqqqqqq@gmail.com>2021-02-11 00:19:55 +0200
committerleonid lokhmatov, Luxoft <zaqqqqqqqq@gmail.com>2021-02-11 03:58:40 +0200
commit145951fd9b401a3a1e4a40787631fc02987191ca (patch)
treef08caa690586183867f18ab4a1badb744b8fe595
parent21f1188e74a30aee874cdd1b37a95f0238bfda4b (diff)
downloadsdl_ios-145951fd9b401a3a1e4a40787631fc02987191ca.tar.gz
[0296] 'upd video stream cap': remove out of date FBSnapshotTestCase, apply review comments NY. (tests may fail, fix them next)
-rw-r--r--DEPENDENCIES.md31
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/project.pbxproj333
-rwxr-xr-xSmartDeviceLink/private/SDLAppCapability.h38
-rwxr-xr-xSmartDeviceLink/private/SDLAppCapability.m44
-rw-r--r--SmartDeviceLink/private/SDLImageResolution + StreamingVideoExtensions.h36
-rw-r--r--SmartDeviceLink/private/SDLImageResolution + StreamingVideoExtensions.m50
-rw-r--r--SmartDeviceLink/private/SDLLifecycleManager.h6
-rw-r--r--SmartDeviceLink/private/SDLLifecycleManager.m5
-rw-r--r--SmartDeviceLink/private/SDLOnAppCapabilityUpdated.h32
-rw-r--r--SmartDeviceLink/private/SDLOnAppCapabilityUpdated.m44
-rw-r--r--SmartDeviceLink/private/SDLProtocol.h5
-rw-r--r--SmartDeviceLink/private/SDLProtocol.m18
-rw-r--r--SmartDeviceLink/private/SDLStreamingVideoLifecycleManager.m133
-rw-r--r--SmartDeviceLink/private/SDLVideoStreamingCapability + StreamingVideoExtensions.h29
-rw-r--r--SmartDeviceLink/private/SDLVideoStreamingCapability + StreamingVideoExtensions.m156
-rw-r--r--SmartDeviceLink/public/SDLAppCapability.h70
-rw-r--r--SmartDeviceLink/public/SDLAppCapability.m79
-rw-r--r--SmartDeviceLink/public/SDLAppCapabilityType.h42
-rw-r--r--SmartDeviceLink/public/SDLAppCapabilityType.m35
-rw-r--r--SmartDeviceLink/public/SDLImageResolution.h20
-rw-r--r--SmartDeviceLink/public/SDLImageResolution.m35
-rw-r--r--SmartDeviceLink/public/SDLManager.h6
-rw-r--r--SmartDeviceLink/public/SDLManager.m9
-rw-r--r--SmartDeviceLink/public/SDLMsgVersion.h8
-rw-r--r--SmartDeviceLink/public/SDLMsgVersion.m11
-rw-r--r--SmartDeviceLink/public/SDLOnAppCapabilityUpdated.h59
-rw-r--r--SmartDeviceLink/public/SDLOnAppCapabilityUpdated.m73
-rw-r--r--SmartDeviceLink/public/SDLRegisterAppInterface.m1
-rw-r--r--SmartDeviceLink/public/SDLStreamingMediaConfiguration.h10
-rw-r--r--SmartDeviceLink/public/SDLStreamingMediaDelegate.h20
-rw-r--r--SmartDeviceLink/public/SDLStreamingVideoDelegate.h18
-rw-r--r--SmartDeviceLink/public/SDLSystemCapabilityManager.h2
-rw-r--r--SmartDeviceLink/public/SDLSystemCapabilityManager.m60
-rw-r--r--SmartDeviceLink/public/SDLVersion.h2
-rw-r--r--SmartDeviceLink/public/SDLVersion.m8
-rw-r--r--SmartDeviceLink/public/SDLVideoStreamingCapability.h18
-rw-r--r--SmartDeviceLink/public/SDLVideoStreamingCapability.m129
-rw-r--r--SmartDeviceLink/public/SDLVideoStreamingRange.h (renamed from SmartDeviceLink/public/SDLSupportedStreamingRange.h)6
-rw-r--r--SmartDeviceLink/public/SDLVideoStreamingRange.m (renamed from SmartDeviceLink/public/SDLSupportedStreamingRange.m)10
-rw-r--r--SmartDeviceLink/public/SmartDeviceLink.h5
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m10
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m35
-rw-r--r--SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m31
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppCapabilityTypeSpec.m21
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppCapabilityUpdatedSpec.m35
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppCapabilitySpec.m46
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m2
-rw-r--r--SmartDeviceLinkTests/SDLSupportedStreamingRangeSpec.m16
-rw-r--r--SmartDeviceLinkTests/TestStreamingMediaDelegate.h4
-rw-r--r--SmartDeviceLinkTests/TestStreamingMediaDelegate.m12
m---------generator/rpc_spec0
51 files changed, 1015 insertions, 893 deletions
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 0ab2739ed..ed9735a78 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -536,34 +536,3 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-### FBSnapshotTestCase
-BSD License
-
-For the FBSnapshotTestCase software
-
-Copyright (c) 2013, Facebook, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name Facebook nor the names of its contributors may be used to
- endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file
diff --git a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
index fb3fb0bb4..c063c468a 100644
--- a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
+++ b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
@@ -293,7 +293,7 @@
4A402561250134CB0080E159 /* SDLStabilityControlsStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A40255F250134CA0080E159 /* SDLStabilityControlsStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A404C66250BBE11003AB65D /* SDLTextAndGraphicUpdateOperationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A404C65250BBE11003AB65D /* SDLTextAndGraphicUpdateOperationSpec.m */; };
4A404C68250BBE2B003AB65D /* SDLTextAndGraphicStateSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A404C67250BBE2B003AB65D /* SDLTextAndGraphicStateSpec.m */; };
- 4A41430D255F0A090039C267 /* TestConnectionRequestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A41430C255F0A090039C267 /* TestConnectionRequestObject.m */; };
+ 4A41430D255F0A090039C267 /* TestConnectionRequestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A41430C255F0A090039C267 /* TestConnectionRequestObject.m */; };
4A457DC324A2933E00386CBA /* SDLLifecycleRPCAdapterSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DC224A2933E00386CBA /* SDLLifecycleRPCAdapterSpec.m */; };
4A457DD324A3886700386CBA /* SDLLifecycleSyncPDataHandlerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DD224A3886700386CBA /* SDLLifecycleSyncPDataHandlerSpec.m */; };
4A457DD524A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DD424A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m */; };
@@ -1383,9 +1383,9 @@
4ABB2BA724F850AE0061BF55 /* SDLImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABB2B9924F850AD0061BF55 /* SDLImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
4ABB2BA824F850AE0061BF55 /* SDLLightState.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ABB2B9A24F850AD0061BF55 /* SDLLightState.m */; };
4ABB2BA924F850AE0061BF55 /* SDLImageResolution.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABB2B9B24F850AD0061BF55 /* SDLImageResolution.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 4ABED25B257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */; };
- 4ABED25C257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */; };
- 4AD1F1742559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */; };
+ 4ABED25B257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */; };
+ 4ABED25C257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */; };
+ 4AD1F1742559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */; };
4AE8A7022537796E000666C0 /* SmartDeviceLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AE8A7012537796E000666C0 /* SmartDeviceLink.h */; settings = {ATTRIBUTES = (Public, ); }; };
5D0A9F911F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A9F901F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m */; };
5D0A9F931F15560B00CC80DD /* SDLNavigationCapabilitySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A9F921F15560B00CC80DD /* SDLNavigationCapabilitySpec.m */; };
@@ -1444,8 +1444,6 @@
5D43466F1E6F55BD00B639C6 /* SDLLogManagerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D43466E1E6F55BD00B639C6 /* SDLLogManagerSpec.m */; };
5D4346731E6F617D00B639C6 /* TestLogTarget.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D4346721E6F617D00B639C6 /* TestLogTarget.m */; };
5D59DD471B14FDEE00BE744D /* SDLLockScreenStatusManagerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D59DD461B14FDEE00BE744D /* SDLLockScreenStatusManagerSpec.m */; };
- 5D5DBF081D48E39C00D4F914 /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D5DBF071D48E39C00D4F914 /* FBSnapshotTestCase.framework */; };
- 5D5DBF091D48E3AC00D4F914 /* FBSnapshotTestCase.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5D5DBF071D48E39C00D4F914 /* FBSnapshotTestCase.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
5D6035D2202CD46200A429C9 /* SDLSpecUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D6035D1202CD46200A429C9 /* SDLSpecUtilities.m */; };
5D6035D5202CE4A500A429C9 /* TestMultipleRequestsConnectionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D6035D4202CE4A500A429C9 /* TestMultipleRequestsConnectionManager.m */; };
5D6035D8202CF5C900A429C9 /* TestRequestProgressResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D6035D7202CF5C900A429C9 /* TestRequestProgressResponse.m */; };
@@ -1661,13 +1659,9 @@
9FA0D00C22DF0B65009CF344 /* SDLCreateWindowResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FA0D00B22DF0B65009CF344 /* SDLCreateWindowResponseSpec.m */; };
9FA0D00F22DF0B90009CF344 /* SDLDeleteWindowSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FA0D00E22DF0B90009CF344 /* SDLDeleteWindowSpec.m */; };
9FA0D01222DF0BAC009CF344 /* SDLDeleteWindowResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FA0D01122DF0BAC009CF344 /* SDLDeleteWindowResponseSpec.m */; };
- B30508F72511E510008C5401 /* SDLAppCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = B30508F52511E50F008C5401 /* SDLAppCapability.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B30508F82511E510008C5401 /* SDLAppCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = B30508F62511E510008C5401 /* SDLAppCapability.m */; };
- B30508FB2511E555008C5401 /* SDLOnAppCapabilityUpdated.h in Headers */ = {isa = PBXBuildFile; fileRef = B30508F92511E554008C5401 /* SDLOnAppCapabilityUpdated.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B30508FC2511E555008C5401 /* SDLOnAppCapabilityUpdated.m in Sources */ = {isa = PBXBuildFile; fileRef = B30508FA2511E554008C5401 /* SDLOnAppCapabilityUpdated.m */; };
- B30508FE2511E5EF008C5401 /* SDLStreamingMediaDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B30508FD2511E5EE008C5401 /* SDLStreamingMediaDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B30509012511E60E008C5401 /* SDLSupportedStreamingRange.h in Headers */ = {isa = PBXBuildFile; fileRef = B30508FF2511E60D008C5401 /* SDLSupportedStreamingRange.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B30509022511E60E008C5401 /* SDLSupportedStreamingRange.m in Sources */ = {isa = PBXBuildFile; fileRef = B30509002511E60D008C5401 /* SDLSupportedStreamingRange.m */; };
+ B30508FE2511E5EF008C5401 /* SDLStreamingVideoDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B30508FD2511E5EE008C5401 /* SDLStreamingVideoDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B30509012511E60E008C5401 /* SDLVideoStreamingRange.h in Headers */ = {isa = PBXBuildFile; fileRef = B30508FF2511E60D008C5401 /* SDLVideoStreamingRange.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B30509022511E60E008C5401 /* SDLVideoStreamingRange.m in Sources */ = {isa = PBXBuildFile; fileRef = B30509002511E60D008C5401 /* SDLVideoStreamingRange.m */; };
B30509052511E79B008C5401 /* ProxyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B30509042511E79B008C5401 /* ProxyManager.m */; };
B360F9D0255EFEFD0027CA17 /* SDLClimateData.m in Sources */ = {isa = PBXBuildFile; fileRef = B360F9CE255EFEFD0027CA17 /* SDLClimateData.m */; };
B360F9D1255EFEFD0027CA17 /* SDLClimateData.h in Headers */ = {isa = PBXBuildFile; fileRef = B360F9CF255EFEFD0027CA17 /* SDLClimateData.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -1677,18 +1671,18 @@
B360F9E5255F52BA0027CA17 /* SDLSeatOccupancy.h in Headers */ = {isa = PBXBuildFile; fileRef = B360F9E3255F52B90027CA17 /* SDLSeatOccupancy.h */; settings = {ATTRIBUTES = (Public, ); }; };
B38389D6257C187500420C11 /* SDLSeatOccupancySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B38389D4257C187400420C11 /* SDLSeatOccupancySpec.m */; };
B38389D7257C187500420C11 /* SDLSeatStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B38389D5257C187500420C11 /* SDLSeatStatusSpec.m */; };
- B3838A01257C47FD00420C11 /* SDLDoorStatusTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A00257C47FD00420C11 /* SDLDoorStatusTypeSpec.m */; };
- B3838A09257C4EB400420C11 /* SDLDoorStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A08257C4EB300420C11 /* SDLDoorStatusSpec.m */; };
- B3838A0F257C4EE100420C11 /* SDLGateStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A0E257C4EE100420C11 /* SDLGateStatusSpec.m */; };
- B3838A15257C4EFD00420C11 /* SDLRoofStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A14257C4EFD00420C11 /* SDLRoofStatusSpec.m */; };
- B3838A20257C5BB000420C11 /* SDLRoofStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B3838A1E257C5BAF00420C11 /* SDLRoofStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B3838A21257C5BB000420C11 /* SDLRoofStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A1F257C5BB000420C11 /* SDLRoofStatus.m */; };
- B3838A28257C5CE600420C11 /* SDLDoorStatusType.h in Headers */ = {isa = PBXBuildFile; fileRef = B3838A26257C5CE600420C11 /* SDLDoorStatusType.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B3838A29257C5CE600420C11 /* SDLDoorStatusType.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A27257C5CE600420C11 /* SDLDoorStatusType.m */; };
- B3838A30257C5D1B00420C11 /* SDLGateStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A2E257C5D1A00420C11 /* SDLGateStatus.m */; };
- B3838A31257C5D1B00420C11 /* SDLGateStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B3838A2F257C5D1B00420C11 /* SDLGateStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B3838A3A257C6AB700420C11 /* SDLDoorStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A38257C6AB600420C11 /* SDLDoorStatus.m */; };
- B3838A3B257C6AB700420C11 /* SDLDoorStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B3838A39257C6AB600420C11 /* SDLDoorStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B3838A01257C47FD00420C11 /* SDLDoorStatusTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A00257C47FD00420C11 /* SDLDoorStatusTypeSpec.m */; };
+ B3838A09257C4EB400420C11 /* SDLDoorStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A08257C4EB300420C11 /* SDLDoorStatusSpec.m */; };
+ B3838A0F257C4EE100420C11 /* SDLGateStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A0E257C4EE100420C11 /* SDLGateStatusSpec.m */; };
+ B3838A15257C4EFD00420C11 /* SDLRoofStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A14257C4EFD00420C11 /* SDLRoofStatusSpec.m */; };
+ B3838A20257C5BB000420C11 /* SDLRoofStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B3838A1E257C5BAF00420C11 /* SDLRoofStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B3838A21257C5BB000420C11 /* SDLRoofStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A1F257C5BB000420C11 /* SDLRoofStatus.m */; };
+ B3838A28257C5CE600420C11 /* SDLDoorStatusType.h in Headers */ = {isa = PBXBuildFile; fileRef = B3838A26257C5CE600420C11 /* SDLDoorStatusType.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B3838A29257C5CE600420C11 /* SDLDoorStatusType.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A27257C5CE600420C11 /* SDLDoorStatusType.m */; };
+ B3838A30257C5D1B00420C11 /* SDLGateStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A2E257C5D1A00420C11 /* SDLGateStatus.m */; };
+ B3838A31257C5D1B00420C11 /* SDLGateStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B3838A2F257C5D1B00420C11 /* SDLGateStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B3838A3A257C6AB700420C11 /* SDLDoorStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = B3838A38257C6AB600420C11 /* SDLDoorStatus.m */; };
+ B3838A3B257C6AB700420C11 /* SDLDoorStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B3838A39257C6AB600420C11 /* SDLDoorStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
B38D8E7E24A118BD00B977D0 /* SDLGearStatusSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B38D8E7D24A118BD00B977D0 /* SDLGearStatusSpec.m */; };
B38D8E8024A1E3D000B977D0 /* SDLTransmissionTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B38D8E7F24A1E3D000B977D0 /* SDLTransmissionTypeSpec.m */; };
B38D8E8224A1F53500B977D0 /* SDLCapacityUnitSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B38D8E8124A1F53500B977D0 /* SDLCapacityUnitSpec.m */; };
@@ -1696,6 +1690,17 @@
B3A0BA2D259600D100CC3BDF /* SDLSupportedStreamingRangeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A0BA2C259600D100CC3BDF /* SDLSupportedStreamingRangeSpec.m */; };
B3A3CE9E2522241600A7121D /* SDLAppCapabilitySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A3CE9D2522241600A7121D /* SDLAppCapabilitySpec.m */; };
B3A3CEA025222A2900A7121D /* SDLOnAppCapabilityUpdatedSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A3CE9F25222A2900A7121D /* SDLOnAppCapabilityUpdatedSpec.m */; };
+ B3A9DAFC25D4943E00CDFD21 /* SDLAppCapability.h in Headers */ = {isa = PBXBuildFile; fileRef = B3A9DAFA25D4943D00CDFD21 /* SDLAppCapability.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B3A9DAFD25D4943E00CDFD21 /* SDLAppCapability.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A9DAFB25D4943D00CDFD21 /* SDLAppCapability.m */; };
+ B3A9DB0625D497FB00CDFD21 /* SDLAppCapabilityType.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A9DB0425D497FB00CDFD21 /* SDLAppCapabilityType.m */; };
+ B3A9DB0725D497FB00CDFD21 /* SDLAppCapabilityType.h in Headers */ = {isa = PBXBuildFile; fileRef = B3A9DB0525D497FB00CDFD21 /* SDLAppCapabilityType.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B3A9DB0F25D4A30D00CDFD21 /* SDLAppCapabilityTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A9DB0E25D4A30C00CDFD21 /* SDLAppCapabilityTypeSpec.m */; };
+ B3A9DB1625D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = B3A9DB1425D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.h */; };
+ B3A9DB1725D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A9DB1525D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.m */; };
+ B3A9DB2025D4BBB800CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = B3A9DB1E25D4BBB700CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.h */; };
+ B3A9DB2125D4BBB800CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A9DB1F25D4BBB800CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.m */; };
+ B3A9DB2825D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.h in Headers */ = {isa = PBXBuildFile; fileRef = B3A9DB2625D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B3A9DB2925D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.m in Sources */ = {isa = PBXBuildFile; fileRef = B3A9DB2725D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.m */; };
B3DF19ED251225300090D7BA /* TestSmartConnectionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B3DF19EB251225300090D7BA /* TestSmartConnectionManager.m */; };
B3DF19F0251225770090D7BA /* TestStreamingMediaDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B3DF19EE251225760090D7BA /* TestStreamingMediaDelegate.m */; };
B3DF19F3251225AA0090D7BA /* TestSmartConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = B3DF19F1251225A90090D7BA /* TestSmartConnection.m */; };
@@ -2110,8 +2115,8 @@
4A40255F250134CA0080E159 /* SDLStabilityControlsStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLStabilityControlsStatus.h; path = public/SDLStabilityControlsStatus.h; sourceTree = "<group>"; };
4A404C65250BBE11003AB65D /* SDLTextAndGraphicUpdateOperationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLTextAndGraphicUpdateOperationSpec.m; path = DevAPISpecs/SDLTextAndGraphicUpdateOperationSpec.m; sourceTree = "<group>"; };
4A404C67250BBE2B003AB65D /* SDLTextAndGraphicStateSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLTextAndGraphicStateSpec.m; path = DevAPISpecs/SDLTextAndGraphicStateSpec.m; sourceTree = "<group>"; };
- 4A41430B255F0A090039C267 /* TestConnectionRequestObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestConnectionRequestObject.h; sourceTree = "<group>"; };
- 4A41430C255F0A090039C267 /* TestConnectionRequestObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestConnectionRequestObject.m; sourceTree = "<group>"; };
+ 4A41430B255F0A090039C267 /* TestConnectionRequestObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestConnectionRequestObject.h; sourceTree = "<group>"; };
+ 4A41430C255F0A090039C267 /* TestConnectionRequestObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestConnectionRequestObject.m; sourceTree = "<group>"; };
4A457DC224A2933E00386CBA /* SDLLifecycleRPCAdapterSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleRPCAdapterSpec.m; path = DevAPISpecs/SDLLifecycleRPCAdapterSpec.m; sourceTree = "<group>"; };
4A457DD224A3886700386CBA /* SDLLifecycleSyncPDataHandlerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleSyncPDataHandlerSpec.m; path = DevAPISpecs/SDLLifecycleSyncPDataHandlerSpec.m; sourceTree = "<group>"; };
4A457DD424A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleMobileHMIStateHandlerSpec.m; path = DevAPISpecs/SDLLifecycleMobileHMIStateHandlerSpec.m; sourceTree = "<group>"; };
@@ -3207,9 +3212,9 @@
4ABB2B9924F850AD0061BF55 /* SDLImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLImage.h; path = public/SDLImage.h; sourceTree = "<group>"; };
4ABB2B9A24F850AD0061BF55 /* SDLLightState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLLightState.m; path = public/SDLLightState.m; sourceTree = "<group>"; };
4ABB2B9B24F850AD0061BF55 /* SDLImageResolution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLImageResolution.h; path = public/SDLImageResolution.h; sourceTree = "<group>"; };
- 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLVoiceCommandUpdateOperation.m; path = private/SDLVoiceCommandUpdateOperation.m; sourceTree = "<group>"; };
- 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLVoiceCommandUpdateOperation.h; path = private/SDLVoiceCommandUpdateOperation.h; sourceTree = "<group>"; };
- 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLVoiceCommandUpdateOperationSpec.m; path = DevAPISpecs/SDLVoiceCommandUpdateOperationSpec.m; sourceTree = "<group>"; };
+ 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLVoiceCommandUpdateOperation.m; path = private/SDLVoiceCommandUpdateOperation.m; sourceTree = "<group>"; };
+ 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLVoiceCommandUpdateOperation.h; path = private/SDLVoiceCommandUpdateOperation.h; sourceTree = "<group>"; };
+ 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLVoiceCommandUpdateOperationSpec.m; path = DevAPISpecs/SDLVoiceCommandUpdateOperationSpec.m; sourceTree = "<group>"; };
4AE8A7012537796E000666C0 /* SmartDeviceLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmartDeviceLink.h; path = public/SmartDeviceLink.h; sourceTree = "<group>"; };
4AE8A707253779F9000666C0 /* EAAccessory+OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "EAAccessory+OCMock.h"; sourceTree = "<group>"; };
5D0A9F901F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSystemCapabilityTypeSpec.m; sourceTree = "<group>"; };
@@ -3526,13 +3531,9 @@
9FA0D00B22DF0B65009CF344 /* SDLCreateWindowResponseSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLCreateWindowResponseSpec.m; sourceTree = "<group>"; };
9FA0D00E22DF0B90009CF344 /* SDLDeleteWindowSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteWindowSpec.m; sourceTree = "<group>"; };
9FA0D01122DF0BAC009CF344 /* SDLDeleteWindowResponseSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLDeleteWindowResponseSpec.m; sourceTree = "<group>"; };
- B30508F52511E50F008C5401 /* SDLAppCapability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLAppCapability.h; path = private/SDLAppCapability.h; sourceTree = "<group>"; };
- B30508F62511E510008C5401 /* SDLAppCapability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLAppCapability.m; path = private/SDLAppCapability.m; sourceTree = "<group>"; };
- B30508F92511E554008C5401 /* SDLOnAppCapabilityUpdated.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLOnAppCapabilityUpdated.h; path = private/SDLOnAppCapabilityUpdated.h; sourceTree = "<group>"; };
- B30508FA2511E554008C5401 /* SDLOnAppCapabilityUpdated.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLOnAppCapabilityUpdated.m; path = private/SDLOnAppCapabilityUpdated.m; sourceTree = "<group>"; };
- B30508FD2511E5EE008C5401 /* SDLStreamingMediaDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLStreamingMediaDelegate.h; path = public/SDLStreamingMediaDelegate.h; sourceTree = "<group>"; };
- B30508FF2511E60D008C5401 /* SDLSupportedStreamingRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLSupportedStreamingRange.h; path = public/SDLSupportedStreamingRange.h; sourceTree = "<group>"; };
- B30509002511E60D008C5401 /* SDLSupportedStreamingRange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLSupportedStreamingRange.m; path = public/SDLSupportedStreamingRange.m; sourceTree = "<group>"; };
+ B30508FD2511E5EE008C5401 /* SDLStreamingVideoDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLStreamingVideoDelegate.h; path = public/SDLStreamingVideoDelegate.h; sourceTree = "<group>"; };
+ B30508FF2511E60D008C5401 /* SDLVideoStreamingRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLVideoStreamingRange.h; path = public/SDLVideoStreamingRange.h; sourceTree = "<group>"; };
+ B30509002511E60D008C5401 /* SDLVideoStreamingRange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLVideoStreamingRange.m; path = public/SDLVideoStreamingRange.m; sourceTree = "<group>"; };
B30509032511E79A008C5401 /* ProxyManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProxyManager.h; path = "Example Apps/Example ObjC/ProxyManager.h"; sourceTree = SOURCE_ROOT; };
B30509042511E79B008C5401 /* ProxyManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ProxyManager.m; path = "Example Apps/Example ObjC/ProxyManager.m"; sourceTree = SOURCE_ROOT; };
B360F9CE255EFEFD0027CA17 /* SDLClimateData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLClimateData.m; path = public/SDLClimateData.m; sourceTree = "<group>"; };
@@ -3543,18 +3544,18 @@
B360F9E3255F52B90027CA17 /* SDLSeatOccupancy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLSeatOccupancy.h; path = public/SDLSeatOccupancy.h; sourceTree = "<group>"; };
B38389D4257C187400420C11 /* SDLSeatOccupancySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLSeatOccupancySpec.m; path = SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSeatOccupancySpec.m; sourceTree = SOURCE_ROOT; };
B38389D5257C187500420C11 /* SDLSeatStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLSeatStatusSpec.m; path = SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSeatStatusSpec.m; sourceTree = SOURCE_ROOT; };
- B3838A00257C47FD00420C11 /* SDLDoorStatusTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDoorStatusTypeSpec.m; sourceTree = "<group>"; };
- B3838A08257C4EB300420C11 /* SDLDoorStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLDoorStatusSpec.m; path = SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDoorStatusSpec.m; sourceTree = SOURCE_ROOT; };
- B3838A0E257C4EE100420C11 /* SDLGateStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLGateStatusSpec.m; path = SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGateStatusSpec.m; sourceTree = SOURCE_ROOT; };
- B3838A14257C4EFD00420C11 /* SDLRoofStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLRoofStatusSpec.m; path = SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRoofStatusSpec.m; sourceTree = SOURCE_ROOT; };
- B3838A1E257C5BAF00420C11 /* SDLRoofStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLRoofStatus.h; path = public/SDLRoofStatus.h; sourceTree = "<group>"; };
- B3838A1F257C5BB000420C11 /* SDLRoofStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLRoofStatus.m; path = public/SDLRoofStatus.m; sourceTree = "<group>"; };
- B3838A26257C5CE600420C11 /* SDLDoorStatusType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLDoorStatusType.h; path = public/SDLDoorStatusType.h; sourceTree = "<group>"; };
- B3838A27257C5CE600420C11 /* SDLDoorStatusType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLDoorStatusType.m; path = public/SDLDoorStatusType.m; sourceTree = "<group>"; };
- B3838A2E257C5D1A00420C11 /* SDLGateStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLGateStatus.m; path = public/SDLGateStatus.m; sourceTree = "<group>"; };
- B3838A2F257C5D1B00420C11 /* SDLGateStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLGateStatus.h; path = public/SDLGateStatus.h; sourceTree = "<group>"; };
- B3838A38257C6AB600420C11 /* SDLDoorStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLDoorStatus.m; path = public/SDLDoorStatus.m; sourceTree = "<group>"; };
- B3838A39257C6AB600420C11 /* SDLDoorStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLDoorStatus.h; path = public/SDLDoorStatus.h; sourceTree = "<group>"; };
+ B3838A00257C47FD00420C11 /* SDLDoorStatusTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLDoorStatusTypeSpec.m; sourceTree = "<group>"; };
+ B3838A08257C4EB300420C11 /* SDLDoorStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLDoorStatusSpec.m; path = SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDoorStatusSpec.m; sourceTree = SOURCE_ROOT; };
+ B3838A0E257C4EE100420C11 /* SDLGateStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLGateStatusSpec.m; path = SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGateStatusSpec.m; sourceTree = SOURCE_ROOT; };
+ B3838A14257C4EFD00420C11 /* SDLRoofStatusSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLRoofStatusSpec.m; path = SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRoofStatusSpec.m; sourceTree = SOURCE_ROOT; };
+ B3838A1E257C5BAF00420C11 /* SDLRoofStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLRoofStatus.h; path = public/SDLRoofStatus.h; sourceTree = "<group>"; };
+ B3838A1F257C5BB000420C11 /* SDLRoofStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLRoofStatus.m; path = public/SDLRoofStatus.m; sourceTree = "<group>"; };
+ B3838A26257C5CE600420C11 /* SDLDoorStatusType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLDoorStatusType.h; path = public/SDLDoorStatusType.h; sourceTree = "<group>"; };
+ B3838A27257C5CE600420C11 /* SDLDoorStatusType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLDoorStatusType.m; path = public/SDLDoorStatusType.m; sourceTree = "<group>"; };
+ B3838A2E257C5D1A00420C11 /* SDLGateStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLGateStatus.m; path = public/SDLGateStatus.m; sourceTree = "<group>"; };
+ B3838A2F257C5D1B00420C11 /* SDLGateStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLGateStatus.h; path = public/SDLGateStatus.h; sourceTree = "<group>"; };
+ B3838A38257C6AB600420C11 /* SDLDoorStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLDoorStatus.m; path = public/SDLDoorStatus.m; sourceTree = "<group>"; };
+ B3838A39257C6AB600420C11 /* SDLDoorStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLDoorStatus.h; path = public/SDLDoorStatus.h; sourceTree = "<group>"; };
B38D8E7D24A118BD00B977D0 /* SDLGearStatusSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLGearStatusSpec.m; sourceTree = "<group>"; };
B38D8E7F24A1E3D000B977D0 /* SDLTransmissionTypeSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLTransmissionTypeSpec.m; sourceTree = "<group>"; };
B38D8E8124A1F53500B977D0 /* SDLCapacityUnitSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLCapacityUnitSpec.m; sourceTree = "<group>"; };
@@ -3562,6 +3563,17 @@
B3A0BA2C259600D100CC3BDF /* SDLSupportedStreamingRangeSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLSupportedStreamingRangeSpec.m; sourceTree = "<group>"; };
B3A3CE9D2522241600A7121D /* SDLAppCapabilitySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAppCapabilitySpec.m; sourceTree = "<group>"; };
B3A3CE9F25222A2900A7121D /* SDLOnAppCapabilityUpdatedSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLOnAppCapabilityUpdatedSpec.m; sourceTree = "<group>"; };
+ B3A9DAFA25D4943D00CDFD21 /* SDLAppCapability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLAppCapability.h; path = public/SDLAppCapability.h; sourceTree = "<group>"; };
+ B3A9DAFB25D4943D00CDFD21 /* SDLAppCapability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLAppCapability.m; path = public/SDLAppCapability.m; sourceTree = "<group>"; };
+ B3A9DB0425D497FB00CDFD21 /* SDLAppCapabilityType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLAppCapabilityType.m; path = public/SDLAppCapabilityType.m; sourceTree = "<group>"; };
+ B3A9DB0525D497FB00CDFD21 /* SDLAppCapabilityType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLAppCapabilityType.h; path = public/SDLAppCapabilityType.h; sourceTree = "<group>"; };
+ B3A9DB0E25D4A30C00CDFD21 /* SDLAppCapabilityTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLAppCapabilityTypeSpec.m; sourceTree = "<group>"; };
+ B3A9DB1425D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "SDLImageResolution + StreamingVideoExtensions.h"; path = "private/SDLImageResolution + StreamingVideoExtensions.h"; sourceTree = "<group>"; };
+ B3A9DB1525D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "SDLImageResolution + StreamingVideoExtensions.m"; path = "private/SDLImageResolution + StreamingVideoExtensions.m"; sourceTree = "<group>"; };
+ B3A9DB1E25D4BBB700CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "SDLVideoStreamingCapability + StreamingVideoExtensions.h"; path = "private/SDLVideoStreamingCapability + StreamingVideoExtensions.h"; sourceTree = "<group>"; };
+ B3A9DB1F25D4BBB800CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "SDLVideoStreamingCapability + StreamingVideoExtensions.m"; path = "private/SDLVideoStreamingCapability + StreamingVideoExtensions.m"; sourceTree = "<group>"; };
+ B3A9DB2625D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLOnAppCapabilityUpdated.h; path = public/SDLOnAppCapabilityUpdated.h; sourceTree = "<group>"; };
+ B3A9DB2725D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLOnAppCapabilityUpdated.m; path = public/SDLOnAppCapabilityUpdated.m; sourceTree = "<group>"; };
B3DF19EB251225300090D7BA /* TestSmartConnectionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestSmartConnectionManager.m; sourceTree = "<group>"; };
B3DF19EC251225300090D7BA /* TestSmartConnectionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestSmartConnectionManager.h; sourceTree = "<group>"; };
B3DF19EE251225760090D7BA /* TestStreamingMediaDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestStreamingMediaDelegate.m; sourceTree = "<group>"; };
@@ -3744,6 +3756,7 @@
isa = PBXGroup;
children = (
162E81E21A9BDE8A00906325 /* SDLAmbientLightStatusSpec.m */,
+ B3A9DB0E25D4A30C00CDFD21 /* SDLAppCapabilityTypeSpec.m */,
162E81E31A9BDE8A00906325 /* SDLAppHMITypeSpec.m */,
162E81E41A9BDE8A00906325 /* SDLAppInterfaceUnregisteredReasonSpec.m */,
8831FA3E2202227000B8FFB7 /* SDLAppServiceTypeSpec.m */,
@@ -3766,7 +3779,7 @@
162E81F11A9BDE8A00906325 /* SDLDisplayTypeSpec.m */,
1EAA475D2035B177000FE74B /* SDLDisplayModeSpec.m */,
1EAA47612035B1AE000FE74B /* SDLDistanceUnitSpec.m */,
- B3838A00257C47FD00420C11 /* SDLDoorStatusTypeSpec.m */,
+ B3838A00257C47FD00420C11 /* SDLDoorStatusTypeSpec.m */,
162E81F21A9BDE8A00906325 /* SDLDriverDistractionStateSpec.m */,
162E81F31A9BDE8A00906325 /* SDLECallConfirmationStatusSpec.m */,
5DD8406420FCE21A0082CE04 /* SDLElectronicParkBrakeStatusSpec.m */,
@@ -4064,13 +4077,13 @@
162E82981A9BDE8A00906325 /* SDLDIDResult.m */,
9FA0D00522DF06D3009CF344 /* SDLDisplayCapabilitySpec.m */,
162E82991A9BDE8A00906325 /* SDLDisplayCapabilitiesSpec.m */,
- B3838A08257C4EB300420C11 /* SDLDoorStatusSpec.m */,
+ B3838A08257C4EB300420C11 /* SDLDoorStatusSpec.m */,
4A1B036E24CF484E008C6B13 /* SDLDriverDistractionCapabilitySpec.m */,
162E829A1A9BDE8A00906325 /* SDLECallInfoSpec.m */,
162E829B1A9BDE8A00906325 /* SDLEmergencyEventSpec.m */,
88B3BFA120DA911E00943565 /* SDLFuelRangeSpec.m */,
1EAA47752036B847000FE74B /* SDLEqualizerSettingsSpec.m */,
- B3838A0E257C4EE100420C11 /* SDLGateStatusSpec.m */,
+ B3838A0E257C4EE100420C11 /* SDLGateStatusSpec.m */,
B38D8E7D24A118BD00B977D0 /* SDLGearStatusSpec.m */,
162E829C1A9BDE8A00906325 /* SDLGPSDataSpec.m */,
88EED83A1F33BECB00E6C42E /* SDLHapticRectSpec.m */,
@@ -4112,14 +4125,12 @@
1EE8C44F1F38629200FDC2CF /* SDLRemoteControlCapabilitiesSpec.m */,
5DADA7771F4E059E0084D17D /* SDLRectangleSpec.m */,
5D92934F20AF526200FCC775 /* SDLRGBColorSpec.m */,
- B3838A14257C4EFD00420C11 /* SDLRoofStatusSpec.m */,
+ B3838A14257C4EFD00420C11 /* SDLRoofStatusSpec.m */,
162E82A71A9BDE8A00906325 /* SDLScreenParamsSpec.m */,
B38389D4257C187400420C11 /* SDLSeatOccupancySpec.m */,
B38389D5257C187500420C11 /* SDLSeatStatusSpec.m */,
1E89B0E1203196B800A47992 /* SDLSeatControlCapabilitiesSpec.m */,
1E89B0DD2031636000A47992 /* SDLSeatControlDataSpec.m */,
- 000DD56B22EEF8E4005AB7A7 /* SDLSeatLocationCapabilitySpec.m */,
- 000DD56D22EF01FC005AB7A7 /* SDLSeatLocationSpec.m */,
1EB59CD9202DCEEC00343A61 /* SDLSeatMemoryActionSpec.m */,
C9758784257F4C570066F271 /* SDLSeekStreamingIndicatorSpec.m */,
162E82A81A9BDE8A00906325 /* SDLSingleTireStatusSpec.m */,
@@ -4148,8 +4159,8 @@
8855F9DF220C93B700A5C897 /* SDLWeatherDataSpec.m */,
880D2679220DDD1000B3F496 /* SDLWeatherServiceDataSpec.m */,
880D267F220E038800B3F496 /* SDLWeatherServiceManifestSpec.m */,
- 000DD56B22EEF8E4005AB7A7 /* SDLSeatLocationCapabilitySpec.m */,
- 000DD56D22EF01FC005AB7A7 /* SDLSeatLocationSpec.m */,
+ 000DD56B22EEF8E4005AB7A7 /* SDLSeatLocationCapabilitySpec.m */,
+ 000DD56D22EF01FC005AB7A7 /* SDLSeatLocationSpec.m */,
9FA0CFFF22DF06A0009CF344 /* SDLWindowCapabilitySpec.m */,
9FA0D00222DF06B9009CF344 /* SDLWindowTypeCapabilitiesSpec.m */,
);
@@ -4215,47 +4226,47 @@
path = MessageSpecs;
sourceTree = "<group>";
};
- 4A32B3E425559D93001FFA26 /* Voice Cammands */ = {
- isa = PBXGroup;
- children = (
- 4A32B3E525559DA4001FFA26 /* Cells */,
- 4A32B3E625559DAC001FFA26 /* Operations */,
- 4ABB25A824F7E6E10061BF55 /* SDLVoiceCommandManager.h */,
- 4ABB25A724F7E6E10061BF55 /* SDLVoiceCommandManager.m */,
- );
- name = "Voice Cammands";
- sourceTree = "<group>";
- };
- 4A32B3E525559DA4001FFA26 /* Cells */ = {
- isa = PBXGroup;
- children = (
- 4ABB259124F7E6820061BF55 /* SDLVoiceCommand.h */,
- 4ABB259024F7E6820061BF55 /* SDLVoiceCommand.m */,
- );
- name = Cells;
- sourceTree = "<group>";
- };
- 4A32B3E625559DAC001FFA26 /* Operations */ = {
- isa = PBXGroup;
- children = (
- 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */,
- 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */,
- );
- name = Operations;
- sourceTree = "<group>";
- };
- 4A32B3F325559F37001FFA26 /* Menu */ = {
- isa = PBXGroup;
- children = (
- 5D76751022D907F500E8D71A /* Configuration */,
- 755F175E229F14F70041B9CB /* Dynamic Menu Update Utilities */,
- 5D339CEC207C08AB000CC364 /* Cells */,
- 4ABB25A924F7E6E10061BF55 /* SDLMenuManager.h */,
- 4ABB25A624F7E6E10061BF55 /* SDLMenuManager.m */,
- );
- name = Menu;
- sourceTree = "<group>";
- };
+ 4A32B3E425559D93001FFA26 /* Voice Cammands */ = {
+ isa = PBXGroup;
+ children = (
+ 4A32B3E525559DA4001FFA26 /* Cells */,
+ 4A32B3E625559DAC001FFA26 /* Operations */,
+ 4ABB25A824F7E6E10061BF55 /* SDLVoiceCommandManager.h */,
+ 4ABB25A724F7E6E10061BF55 /* SDLVoiceCommandManager.m */,
+ );
+ name = "Voice Cammands";
+ sourceTree = "<group>";
+ };
+ 4A32B3E525559DA4001FFA26 /* Cells */ = {
+ isa = PBXGroup;
+ children = (
+ 4ABB259124F7E6820061BF55 /* SDLVoiceCommand.h */,
+ 4ABB259024F7E6820061BF55 /* SDLVoiceCommand.m */,
+ );
+ name = Cells;
+ sourceTree = "<group>";
+ };
+ 4A32B3E625559DAC001FFA26 /* Operations */ = {
+ isa = PBXGroup;
+ children = (
+ 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */,
+ 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */,
+ );
+ name = Operations;
+ sourceTree = "<group>";
+ };
+ 4A32B3F325559F37001FFA26 /* Menu */ = {
+ isa = PBXGroup;
+ children = (
+ 5D76751022D907F500E8D71A /* Configuration */,
+ 755F175E229F14F70041B9CB /* Dynamic Menu Update Utilities */,
+ 5D339CEC207C08AB000CC364 /* Cells */,
+ 4ABB25A924F7E6E10061BF55 /* SDLMenuManager.h */,
+ 4ABB25A624F7E6E10061BF55 /* SDLMenuManager.m */,
+ );
+ name = Menu;
+ sourceTree = "<group>";
+ };
4A3BA4D9248E8EBB003E56B8 /* SystemRequest Handler */ = {
isa = PBXGroup;
children = (
@@ -4349,16 +4360,16 @@
name = "Status Manager";
sourceTree = "<group>";
};
- 4AD1F16A2559952D00637FE1 /* Voice Command */ = {
- isa = PBXGroup;
- children = (
- 5DF40B27208FDA9700DD6FDA /* SDLVoiceCommandManagerSpec.m */,
- 5DAB5F5220989A8300A020C8 /* SDLVoiceCommandSpec.m */,
- 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */,
- );
- name = "Voice Command";
- sourceTree = "<group>";
- };
+ 4AD1F16A2559952D00637FE1 /* Voice Command */ = {
+ isa = PBXGroup;
+ children = (
+ 5DF40B27208FDA9700DD6FDA /* SDLVoiceCommandManagerSpec.m */,
+ 5DAB5F5220989A8300A020C8 /* SDLVoiceCommandSpec.m */,
+ 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */,
+ );
+ name = "Voice Command";
+ sourceTree = "<group>";
+ };
5D0218EB1A8E795700D1BF62 /* UI */ = {
isa = PBXGroup;
children = (
@@ -4495,10 +4506,14 @@
5D1BF6AA2047429C00D36881 /* Utilities */ = {
isa = PBXGroup;
children = (
+ B3A9DB1425D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.h */,
+ B3A9DB1525D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.m */,
4ABB25D024F7E7630061BF55 /* SDLImageField+ScreenManagerExtensions.h */,
4ABB25D124F7E7630061BF55 /* SDLImageField+ScreenManagerExtensions.m */,
4ABB25D224F7E7630061BF55 /* SDLTextField+ScreenManagerExtensions.h */,
4ABB25CF24F7E7630061BF55 /* SDLTextField+ScreenManagerExtensions.m */,
+ B3A9DB1E25D4BBB700CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.h */,
+ B3A9DB1F25D4BBB800CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.m */,
4ABB25D324F7E7630061BF55 /* SDLWindowCapability+ScreenManagerExtensions.h */,
4ABB25CE24F7E7630061BF55 /* SDLWindowCapability+ScreenManagerExtensions.m */,
);
@@ -4530,9 +4545,9 @@
5D339CE5207C0651000CC364 /* Menu */ = {
isa = PBXGroup;
children = (
- 4A32B3F325559F37001FFA26 /* Menu */,
- 4A32B3E425559D93001FFA26 /* Voice Cammands */,
- );
+ 4A32B3F325559F37001FFA26 /* Menu */,
+ 4A32B3E425559D93001FFA26 /* Voice Cammands */,
+ );
name = Menu;
sourceTree = "<group>";
};
@@ -4581,7 +4596,7 @@
children = (
5D4019B11A76EC350006B0C2 /* Examples */,
5D61FA1D1A84237100846EE7 /* SmartDeviceLink */,
- 5D4346621E6F38E600B639C6 /* SmartDeviceLinkSwift */,
+ 5D4346621E6F38E600B639C6 /* SmartDeviceLinkSwift */,
5D61FA2C1A84237100846EE7 /* SmartDeviceLinkTests */,
5D4019B01A76EC350006B0C2 /* Products */,
B3476E18247437460025DC99 /* Frameworks */,
@@ -5071,8 +5086,8 @@
children = (
4ABB2B0124F84D940061BF55 /* SDLAirbagStatus.h */,
4ABB2AF924F84D930061BF55 /* SDLAirbagStatus.m */,
- B30508F52511E50F008C5401 /* SDLAppCapability.h */,
- B30508F62511E510008C5401 /* SDLAppCapability.m */,
+ B3A9DAFA25D4943D00CDFD21 /* SDLAppCapability.h */,
+ B3A9DAFB25D4943D00CDFD21 /* SDLAppCapability.m */,
4ABB2B0524F84D950061BF55 /* SDLAppServiceCapability.h */,
4ABB2AFA24F84D930061BF55 /* SDLAppServiceCapability.m */,
4ABB2B0824F84D950061BF55 /* SDLAppServiceManifest.h */,
@@ -5121,8 +5136,8 @@
4ABB2B2524F84EF10061BF55 /* SDLDisplayCapabilities.m */,
4ABB2B3324F84EF30061BF55 /* SDLDisplayCapability.h */,
4ABB2B3824F84EF40061BF55 /* SDLDisplayCapability.m */,
- B3838A39257C6AB600420C11 /* SDLDoorStatus.h */,
- B3838A38257C6AB600420C11 /* SDLDoorStatus.m */,
+ B3838A39257C6AB600420C11 /* SDLDoorStatus.h */,
+ B3838A38257C6AB600420C11 /* SDLDoorStatus.m */,
4ABB2B3724F84EF40061BF55 /* SDLDriverDistractionCapability.h */,
4ABB2B2B24F84EF20061BF55 /* SDLDriverDistractionCapability.m */,
4A8BD3B924F98F89000945E3 /* SDLDynamicUpdateCapabilities.h */,
@@ -5135,8 +5150,8 @@
4ABB2B5D24F84FE30061BF55 /* SDLEqualizerSettings.m */,
4ABB2B6424F84FE50061BF55 /* SDLFuelRange.h */,
4ABB2B6524F84FE50061BF55 /* SDLFuelRange.m */,
- B3838A2F257C5D1B00420C11 /* SDLGateStatus.h */,
- B3838A2E257C5D1A00420C11 /* SDLGateStatus.m */,
+ B3838A2F257C5D1B00420C11 /* SDLGateStatus.h */,
+ B3838A2E257C5D1A00420C11 /* SDLGateStatus.m */,
4ABB2B5C24F84FE30061BF55 /* SDLGearStatus.h */,
4ABB2B5F24F84FE40061BF55 /* SDLGearStatus.m */,
4ABB2B5A24F84FE30061BF55 /* SDLGPSData.h */,
@@ -5225,8 +5240,8 @@
4A8BD26C24F9343D000945E3 /* SDLRemoteControlCapabilities.m */,
4A8BD28724F934F2000945E3 /* SDLRGBColor.h */,
4A8BD28A24F934F3000945E3 /* SDLRGBColor.m */,
- B3838A1E257C5BAF00420C11 /* SDLRoofStatus.h */,
- B3838A1F257C5BB000420C11 /* SDLRoofStatus.m */,
+ B3838A1E257C5BAF00420C11 /* SDLRoofStatus.h */,
+ B3838A1F257C5BB000420C11 /* SDLRoofStatus.m */,
4A8BD29124F93533000945E3 /* SDLScreenParams.h */,
4A8BD28F24F93533000945E3 /* SDLScreenParams.m */,
4A8BD29024F93533000945E3 /* SDLSeatControlCapabilities.h */,
@@ -5318,6 +5333,8 @@
children = (
4ABB26E724F7FB8D0061BF55 /* SDLAmbientLightStatus.h */,
4ABB26EA24F7FB8D0061BF55 /* SDLAmbientLightStatus.m */,
+ B3A9DB0525D497FB00CDFD21 /* SDLAppCapabilityType.h */,
+ B3A9DB0425D497FB00CDFD21 /* SDLAppCapabilityType.m */,
4ABB26E324F7FB8C0061BF55 /* SDLAppHMIType.h */,
4ABB26F224F7FB8E0061BF55 /* SDLAppHMIType.m */,
4ABB26E924F7FB8D0061BF55 /* SDLAppInterfaceUnregisteredReason.h */,
@@ -5364,8 +5381,8 @@
4ABB272A24F7FD1B0061BF55 /* SDLDistanceUnit.m */,
4ABB272D24F7FD1C0061BF55 /* SDLDisplayType.h */,
4ABB272B24F7FD1B0061BF55 /* SDLDisplayType.m */,
- B3838A26257C5CE600420C11 /* SDLDoorStatusType.h */,
- B3838A27257C5CE600420C11 /* SDLDoorStatusType.m */,
+ B3838A26257C5CE600420C11 /* SDLDoorStatusType.h */,
+ B3838A27257C5CE600420C11 /* SDLDoorStatusType.m */,
4ABB274424F7FD9A0061BF55 /* SDLDriverDistractionState.h */,
4ABB274924F7FD9B0061BF55 /* SDLDriverDistractionState.m */,
4ABB274724F7FD9B0061BF55 /* SDLECallConfirmationStatus.h */,
@@ -5585,8 +5602,8 @@
5D5934F81A8519C300687FB9 /* Notification */ = {
isa = PBXGroup;
children = (
- B30508F92511E554008C5401 /* SDLOnAppCapabilityUpdated.h */,
- B30508FA2511E554008C5401 /* SDLOnAppCapabilityUpdated.m */,
+ B3A9DB2625D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.h */,
+ B3A9DB2725D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.m */,
4ABB28BA24F82A690061BF55 /* SDLOnAppInterfaceUnregistered.h */,
4ABB289324F82A640061BF55 /* SDLOnAppInterfaceUnregistered.m */,
4ABB28B624F82A690061BF55 /* SDLOnAppServiceData.h */,
@@ -6248,7 +6265,7 @@
5DAD5F8220507DED0025624C /* Soft Button */,
88D0E5D42478656B009469AB /* Subscribe Button */,
5DAD5F8320507DF30025624C /* Text and Graphic */,
- 4AD1F16A2559952D00637FE1 /* Voice Command */,
+ 4AD1F16A2559952D00637FE1 /* Voice Command */,
5DAD5F8420507E1F0025624C /* SDLScreenManagerSpec.m */,
B3A0BA212593FE7400CC3BDF /* SDLCarWindowSpec.m */,
);
@@ -6900,9 +6917,9 @@
DA8966E71E56937100413EAB /* Streaming */ = {
isa = PBXGroup;
children = (
- B30508FD2511E5EE008C5401 /* SDLStreamingMediaDelegate.h */,
- B30508FF2511E60D008C5401 /* SDLSupportedStreamingRange.h */,
- B30509002511E60D008C5401 /* SDLSupportedStreamingRange.m */,
+ B30508FD2511E5EE008C5401 /* SDLStreamingVideoDelegate.h */,
+ B30508FF2511E60D008C5401 /* SDLVideoStreamingRange.h */,
+ B30509002511E60D008C5401 /* SDLVideoStreamingRange.m */,
5D0A7377203F0C9E0001595D /* Configuration */,
5D23C9441FCF59F400002CA5 /* AudioManager */,
5DCD7AD91FCCA5BF00A0FC7F /* CarWindow */,
@@ -7050,13 +7067,14 @@
4ABB269624F7F9400061BF55 /* SDLRPCFunctionNames.h in Headers */,
4ABB2B4024F84EF50061BF55 /* SDLCloudAppProperties.h in Headers */,
4ABB2A5824F847B10061BF55 /* SDLGetInteriorVehicleDataConsentResponse.h in Headers */,
- B3838A20257C5BB000420C11 /* SDLRoofStatus.h in Headers */,
+ B3838A20257C5BB000420C11 /* SDLRoofStatus.h in Headers */,
4ABB271824F7FC4E0061BF55 /* SDLCompassDirection.h in Headers */,
4ABB2B5924F84EF50061BF55 /* SDLDeviceStatus.h in Headers */,
4A8BD2CF24F93803000945E3 /* SDLTouchEvent.h in Headers */,
4ABB264B24F7F5580061BF55 /* SDLManagerDelegate.h in Headers */,
4A8BD28B24F934F3000945E3 /* SDLRGBColor.h in Headers */,
4ABB279624F7FF0B0061BF55 /* SDLKeyboardEvent.h in Headers */,
+ B3A9DB1625D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.h in Headers */,
4ABB26FA24F7FB8F0061BF55 /* SDLAppServiceType.h in Headers */,
4ABB2A3C24F847980061BF55 /* SDLCreateInteractionChoiceSetResponse.h in Headers */,
4ABB29DC24F846880061BF55 /* SDLUnregisterAppInterface.h in Headers */,
@@ -7129,7 +7147,6 @@
4ABB250424F596450061BF55 /* SDLUploadFileOperation.h in Headers */,
4A8BD2D824F93803000945E3 /* SDLTireStatus.h in Headers */,
4ABB297424F844D30061BF55 /* SDLReadDID.h in Headers */,
- B30508FB2511E555008C5401 /* SDLOnAppCapabilityUpdated.h in Headers */,
4ABB288024F82A200061BF55 /* SDLWindowType.h in Headers */,
4ABB26A424F7F9B90061BF55 /* SDLLogFileModule.h in Headers */,
4A8BD3C824F998A8000945E3 /* SDLWindowStatus.h in Headers */,
@@ -7178,7 +7195,7 @@
4ABB280124F823F20061BF55 /* SDLResult.h in Headers */,
4ABB2B8624F8504A0061BF55 /* SDLHMISettingsControlCapabilities.h in Headers */,
4ABB276924F7FE480061BF55 /* SDLHMIZoneCapabilities.h in Headers */,
- B3838A3B257C6AB700420C11 /* SDLDoorStatus.h in Headers */,
+ B3838A3B257C6AB700420C11 /* SDLDoorStatus.h in Headers */,
4ABB29DF24F846880061BF55 /* SDLSystemRequest.h in Headers */,
4ABB290224F82BE90061BF55 /* SDLAddCommand.h in Headers */,
4ABB260624F7E9650061BF55 /* SDLStreamingMediaManager.h in Headers */,
@@ -7303,6 +7320,7 @@
4ABB284124F828630061BF55 /* SDLTurnSignal.h in Headers */,
4ABB299D24F845440061BF55 /* SDLScrollableMessage.h in Headers */,
4ABB261A24F7F3770061BF55 /* SDLFocusableItemLocator.h in Headers */,
+ B3A9DB2025D4BBB800CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.h in Headers */,
4ABB257724F7E5E80061BF55 /* SDLDeleteChoicesOperation.h in Headers */,
4ABB24C124F592620061BF55 /* NSMapTable+Subscripting.h in Headers */,
4ABB2A2C24F847980061BF55 /* SDLChangeRegistrationResponse.h in Headers */,
@@ -7334,6 +7352,7 @@
4A8BD29B24F93534000945E3 /* SDLScreenParams.h in Headers */,
4ABB28D024F82A6A0061BF55 /* SDLOnWayPointChange.h in Headers */,
4A8BD26724F933C7000945E3 /* SDLNavigationCapability.h in Headers */,
+ B3A9DB0725D497FB00CDFD21 /* SDLAppCapabilityType.h in Headers */,
4A8BD34624F945CC000945E3 /* SDLControlFramePayloadEndService.h in Headers */,
5D9FDA921F2A7D3400A495C8 /* bson_object.h in Headers */,
4ABB26FC24F7FB8F0061BF55 /* SDLAudioStreamingIndicator.h in Headers */,
@@ -7351,7 +7370,7 @@
4ABB24C924F593090061BF55 /* SDLStreamingProtocolDelegate.h in Headers */,
4ABB275F24F7FE1F0061BF55 /* SDLFuelType.h in Headers */,
4A8BD3A024F9474B000945E3 /* SDLIAPDataSessionDelegate.h in Headers */,
- B3838A28257C5CE600420C11 /* SDLDoorStatusType.h in Headers */,
+ B3838A28257C5CE600420C11 /* SDLDoorStatusType.h in Headers */,
4A8BD2F724F93872000945E3 /* SDLVrHelpItem.h in Headers */,
4ABB2A0024F8477F0061BF55 /* SDLAddCommandResponse.h in Headers */,
4ABB291124F842160061BF55 /* SDLChangeRegistration.h in Headers */,
@@ -7380,6 +7399,7 @@
4ABB297624F844D30061BF55 /* SDLPerformInteraction.h in Headers */,
4ABB25EA24F7E7C20061BF55 /* SDLCarWindowViewController.h in Headers */,
4A8BD2A124F93534000945E3 /* SDLSeatMemoryAction.h in Headers */,
+ B3A9DAFC25D4943E00CDFD21 /* SDLAppCapability.h in Headers */,
4ABB27C524F8006D0061BF55 /* SDLNavigationAction.h in Headers */,
4ABB27E224F800CA0061BF55 /* SDLPowerModeStatus.h in Headers */,
4ABB254D24F7E4C60061BF55 /* SDLLockScreenViewController.h in Headers */,
@@ -7387,6 +7407,7 @@
4A8BD26324F933C7000945E3 /* SDLNavigationServiceManifest.h in Headers */,
4ABB284B24F828630061BF55 /* SDLTransmissionType.h in Headers */,
4ABB258324F7E61E0061BF55 /* SDLChoiceSet.h in Headers */,
+ B3A9DB2825D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.h in Headers */,
4ABB275424F7FD9C0061BF55 /* SDLElectronicParkBrakeStatus.h in Headers */,
4ABB2B5524F84EF50061BF55 /* SDLDriverDistractionCapability.h in Headers */,
4ABB257624F7E5E80061BF55 /* SDLPreloadChoicesOperation.h in Headers */,
@@ -7396,7 +7417,7 @@
4ABB254124F7E48D0061BF55 /* SDLLockScreenRootViewController.h in Headers */,
4ABB2A7124F847D40061BF55 /* SDLPublishAppServiceResponse.h in Headers */,
4A8BD2D724F93803000945E3 /* SDLTextField.h in Headers */,
- B30508FE2511E5EF008C5401 /* SDLStreamingMediaDelegate.h in Headers */,
+ B30508FE2511E5EF008C5401 /* SDLStreamingVideoDelegate.h in Headers */,
4ABB260D24F7F3400061BF55 /* SDLAudioFile.h in Headers */,
4A8BD2B224F935BC000945E3 /* SDLStartTime.h in Headers */,
4A8BD31F24F93964000945E3 /* SDLSeatLocationCapability.h in Headers */,
@@ -7520,7 +7541,7 @@
4ABB27F024F801B50061BF55 /* SDLPRNDL.h in Headers */,
4ABB259924F7E6A60061BF55 /* SDLMenuManagerConstants.h in Headers */,
4ABB2AEE24F848270061BF55 /* SDLUnregisterAppInterfaceResponse.h in Headers */,
- B30509012511E60E008C5401 /* SDLSupportedStreamingRange.h in Headers */,
+ B30509012511E60E008C5401 /* SDLVideoStreamingRange.h in Headers */,
4A8BD2D524F93803000945E3 /* SDLTouchEventCapabilities.h in Headers */,
4ABB2A5124F847B10061BF55 /* SDLGetVehicleDataResponse.h in Headers */,
4ABB26DC24F7FAFD0061BF55 /* SDLRPCStruct.h in Headers */,
@@ -7528,11 +7549,11 @@
4ABB296524F844020061BF55 /* SDLListFiles.h in Headers */,
4ABB281824F824A50061BF55 /* SDLStaticIconName.h in Headers */,
4ABB290524F82BE90061BF55 /* SDLAlert.h in Headers */,
- B3838A31257C5D1B00420C11 /* SDLGateStatus.h in Headers */,
+ B3838A31257C5D1B00420C11 /* SDLGateStatus.h in Headers */,
4ABB26BA24F7FA1C0061BF55 /* SDLLogConstants.h in Headers */,
4ABB28DB24F82A6A0061BF55 /* SDLOnSystemCapabilityUpdated.h in Headers */,
4ABB269324F7F9060061BF55 /* SDLTimer.h in Headers */,
- 4ABED25C257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h in Headers */,
+ 4ABED25C257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h in Headers */,
4A8BD2F924F93872000945E3 /* SDLVehicleDataType.h in Headers */,
4ABB279924F7FF0B0061BF55 /* SDLLanguage.h in Headers */,
4ABB285F24F828E00061BF55 /* SDLVehicleDataActiveStatus.h in Headers */,
@@ -7548,7 +7569,6 @@
4ABB271924F7FC4E0061BF55 /* SDLCapacityUnit.h in Headers */,
4ABB298E24F845440061BF55 /* SDLReleaseInteriorVehicleDataModule.h in Headers */,
4A8BD39124F94731000945E3 /* SDLIAPConstants.h in Headers */,
- B30508F72511E510008C5401 /* SDLAppCapability.h in Headers */,
4ABB2B1D24F84D950061BF55 /* SDLAppServiceRecord.h in Headers */,
4ABB2A7924F847D40061BF55 /* SDLPerformInteractionResponse.h in Headers */,
4ABB259324F7E6820061BF55 /* SDLVoiceCommand.h in Headers */,
@@ -7740,7 +7760,7 @@
};
5D61FA1B1A84237100846EE7 = {
CreatedOnToolsVersion = 6.1.1;
- LastSwiftMigration = 1210;
+ LastSwiftMigration = 1210;
};
5D61FA251A84237100846EE7 = {
CreatedOnToolsVersion = 6.1.1;
@@ -7895,10 +7915,9 @@
4ABB257A24F7E5FF0061BF55 /* SDLPresentKeyboardOperation.m in Sources */,
4ABB27CA24F8006D0061BF55 /* SDLMediaType.m in Sources */,
4ABB264524F7F5340061BF55 /* SDLSystemCapabilityManager.m in Sources */,
- B30508F82511E510008C5401 /* SDLAppCapability.m in Sources */,
4A8BD2B124F935BC000945E3 /* SDLSoftButtonCapabilities.m in Sources */,
4ABB2A5524F847B10061BF55 /* SDLGetInteriorVehicleDataConsentResponse.m in Sources */,
- 4ABED25B257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m in Sources */,
+ 4ABED25B257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m in Sources */,
4ABB2AA924F847F40061BF55 /* SDLSetAppIconResponse.m in Sources */,
4A8BD2D224F93803000945E3 /* SDLTemplateColorScheme.m in Sources */,
4A8BD3C124F994D5000945E3 /* SDLFileManager.m in Sources */,
@@ -8011,7 +8030,7 @@
4ABB28D624F82A6A0061BF55 /* SDLOnAudioPassThru.m in Sources */,
4A8BD25224F93135000945E3 /* SDLKeyboardProperties.m in Sources */,
4ABB2B1324F84D950061BF55 /* SDLAppServiceRecord.m in Sources */,
- B3838A29257C5CE600420C11 /* SDLDoorStatusType.m in Sources */,
+ B3838A29257C5CE600420C11 /* SDLDoorStatusType.m in Sources */,
4ABB290424F82BE90061BF55 /* SDLAlertManeuver.m in Sources */,
4ABB27B224F7FFDA0061BF55 /* SDLMassageMode.m in Sources */,
4ABB274F24F7FD9C0061BF55 /* SDLECallConfirmationStatus.m in Sources */,
@@ -8029,6 +8048,7 @@
4A8BD23C24F93135000945E3 /* SDLMediaServiceData.m in Sources */,
4ABB28DC24F82A6A0061BF55 /* SDLOnHashChange.m in Sources */,
4A8BD26424F933C7000945E3 /* SDLNavigationServiceManifest.m in Sources */,
+ B3A9DB1725D4AD1800CDFD21 /* SDLImageResolution + StreamingVideoExtensions.m in Sources */,
4ABB29D824F846880061BF55 /* SDLSystemRequest.m in Sources */,
4ABB271B24F7FC4E0061BF55 /* SDLCharacterSet.m in Sources */,
4ABB26CB24F7FAAF0061BF55 /* SDLEnum.m in Sources */,
@@ -8082,6 +8102,7 @@
4ABB2B0E24F84D950061BF55 /* SDLAppServiceCapability.m in Sources */,
4ABB2A0124F8477F0061BF55 /* SDLAlertManeuverResponse.m in Sources */,
4A8BD3CA24F998A8000945E3 /* SDLWindowState.m in Sources */,
+ B3A9DB2925D4C3B000CDFD21 /* SDLOnAppCapabilityUpdated.m in Sources */,
4ABB29D324F846880061BF55 /* SDLSyncPData.m in Sources */,
4ABB276B24F7FE480061BF55 /* SDLHybridAppPreference.m in Sources */,
4ABB2BA624F850AE0061BF55 /* SDLImageField.m in Sources */,
@@ -8114,6 +8135,7 @@
4ABB250124F596450061BF55 /* SDLUploadFileOperation.m in Sources */,
4ABB258224F7E61E0061BF55 /* SDLChoiceCell.m in Sources */,
4ABB288D24F82A340061BF55 /* SDLVideoStreamingProtocol.m in Sources */,
+ B3A9DAFD25D4943E00CDFD21 /* SDLAppCapability.m in Sources */,
4ABB257024F7E5E80061BF55 /* SDLPreloadChoicesOperation.m in Sources */,
4ABB2B3F24F84EF50061BF55 /* SDLCloudAppProperties.m in Sources */,
4A8BD27C24F9343F000945E3 /* SDLPhoneCapability.m in Sources */,
@@ -8154,19 +8176,21 @@
4ABB29ED24F847360061BF55 /* SDLUnsubscribeVehicleData.m in Sources */,
4ABB2A2124F847980061BF55 /* SDLButtonPressResponse.m in Sources */,
4ABB270224F7FB8F0061BF55 /* SDLButtonEventMode.m in Sources */,
+ B3A9DB2125D4BBB800CDFD21 /* SDLVideoStreamingCapability + StreamingVideoExtensions.m in Sources */,
4A8BD24C24F93135000945E3 /* SDLLocationDetails.m in Sources */,
4ABB275C24F7FE1F0061BF55 /* SDLFuelType.m in Sources */,
4ABB2B4324F84EF50061BF55 /* SDLDisplayCapabilities.m in Sources */,
- B3838A3A257C6AB700420C11 /* SDLDoorStatus.m in Sources */,
+ B3838A3A257C6AB700420C11 /* SDLDoorStatus.m in Sources */,
4ABB267724F7F6720061BF55 /* SDLObjectWithPriority.m in Sources */,
4ABB29FE24F8477F0061BF55 /* SDLAddCommandResponse.m in Sources */,
4ABB251324F7E3A30061BF55 /* SDLLifecycleConfiguration.m in Sources */,
4ABB294824F843440061BF55 /* SDLGetAppServiceData.m in Sources */,
- B30509022511E60E008C5401 /* SDLSupportedStreamingRange.m in Sources */,
+ B30509022511E60E008C5401 /* SDLVideoStreamingRange.m in Sources */,
4ABB262124F7F3870061BF55 /* CGPoint_Util.m in Sources */,
4ABB2A8924F847DF0061BF55 /* SDLReadDIDResponse.m in Sources */,
4A8BD24524F93135000945E3 /* SDLModuleData.m in Sources */,
4ABB2BA424F850AE0061BF55 /* SDLLightCapabilities.m in Sources */,
+ B3A9DB0625D497FB00CDFD21 /* SDLAppCapabilityType.m in Sources */,
4ABB272224F7FCAE0061BF55 /* SDLDefrostZone.m in Sources */,
4ABB24BB24F592620061BF55 /* NSMutableArray+Safe.m in Sources */,
4ABB25AA24F7E6E10061BF55 /* SDLMenuManager.m in Sources */,
@@ -8314,9 +8338,8 @@
4ABB262824F7F3BC0061BF55 /* SDLH264VideoEncoder.m in Sources */,
4ABB2A5B24F847B10061BF55 /* SDLGetCloudAppPropertiesResponse.m in Sources */,
4ABB25F424F7E7EF0061BF55 /* SDLTouch.m in Sources */,
- B30508FC2511E555008C5401 /* SDLOnAppCapabilityUpdated.m in Sources */,
4ABB2B3E24F84EF50061BF55 /* SDLDeviceStatus.m in Sources */,
- B3838A21257C5BB000420C11 /* SDLRoofStatus.m in Sources */,
+ B3838A21257C5BB000420C11 /* SDLRoofStatus.m in Sources */,
4ABB28BE24F82A6A0061BF55 /* SDLOnSyncPData.m in Sources */,
4ABB275724F7FD9C0061BF55 /* SDLEmergencyEventType.m in Sources */,
4ABB29B824F845DB0061BF55 /* SDLSetMediaClockTimer.m in Sources */,
@@ -8383,7 +8406,7 @@
4ABB2AA224F847F40061BF55 /* SDLSetCloudAppPropertiesResponse.m in Sources */,
4A8BD3A224F9474B000945E3 /* SDLIAPDataSession.m in Sources */,
4A8BD3B624F98F64000945E3 /* SDLOnUpdateSubMenu.m in Sources */,
- B3838A30257C5D1B00420C11 /* SDLGateStatus.m in Sources */,
+ B3838A30257C5D1B00420C11 /* SDLGateStatus.m in Sources */,
4ABB256624F7E5B80061BF55 /* SDLRPCPermissionStatus.m in Sources */,
4ABB299824F845440061BF55 /* SDLReleaseInteriorVehicleDataModule.m in Sources */,
4ABB277724F7FE910061BF55 /* SDLIgnitionStatus.m in Sources */,
@@ -8501,7 +8524,7 @@
162E82E31A9BDE8B00906325 /* SDLIgnitionStatusSpec.m in Sources */,
162E83511A9BDE8B00906325 /* SDLDeleteInteractionChoiceSetResponseSpec.m in Sources */,
DA9F7EB41DCC086400ACAE48 /* SDLDateTimeSpec.m in Sources */,
- B3838A0F257C4EE100420C11 /* SDLGateStatusSpec.m in Sources */,
+ B3838A0F257C4EE100420C11 /* SDLGateStatusSpec.m in Sources */,
162E82E41A9BDE8B00906325 /* SDLImageFieldNameSpec.m in Sources */,
162E82ED1A9BDE8B00906325 /* SDLMaintenanceModeStatusSpec.m in Sources */,
8B9376DB1F33656C009605C4 /* SDLMetadataTagsSpec.m in Sources */,
@@ -8515,7 +8538,7 @@
162E83181A9BDE8B00906325 /* SDLOnKeyboardInputSpec.m in Sources */,
1EE8C4441F34A1B900FDC2CF /* SDLClimateControlDataSpec.m in Sources */,
162E83701A9BDE8B00906325 /* SDLUpdateTurnListResponseSpec.m in Sources */,
- 4A41430D255F0A090039C267 /* TestConnectionRequestObject.m in Sources */,
+ 4A41430D255F0A090039C267 /* TestConnectionRequestObject.m in Sources */,
88C23E8822297C6000EA171F /* SDLRPCResponseNotificationSpec.m in Sources */,
162E833B1A9BDE8B00906325 /* SDLSetGlobalPropertiesSpec.m in Sources */,
884AF94C220B3FCC00E22928 /* SDLGetSystemCapabilitySpec.m in Sources */,
@@ -8535,6 +8558,7 @@
162E83661A9BDE8B00906325 /* SDLShowResponseSpec.m in Sources */,
88BCEA952266592D00BB7E70 /* SDLIAPControlSessionSpec.m in Sources */,
88AAD4C02211B7E200F1E6D7 /* SDLMediaServiceManifestSpec.m in Sources */,
+ B3A9DB0F25D4A30D00CDFD21 /* SDLAppCapabilityTypeSpec.m in Sources */,
5DAB5F512098994C00A020C8 /* SDLMenuCellSpec.m in Sources */,
1EE8C4481F38430900FDC2CF /* SDLRadioControlCapabilitiesSpec.m in Sources */,
8831FA452202307500B8FFB7 /* SDLAppServiceCapabilitySpec.m in Sources */,
@@ -8627,7 +8651,7 @@
88DDD0F9229ECA57002F9623 /* SDLIAPConstantsSpec.m in Sources */,
1680B1141A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m in Sources */,
B3DF19F3251225AA0090D7BA /* TestSmartConnection.m in Sources */,
- B3838A15257C4EFD00420C11 /* SDLRoofStatusSpec.m in Sources */,
+ B3838A15257C4EFD00420C11 /* SDLRoofStatusSpec.m in Sources */,
880D2680220E038800B3F496 /* SDLWeatherServiceManifestSpec.m in Sources */,
88EEC5BE220A3B8B005AA2F9 /* SDLPublishAppServiceResponseSpec.m in Sources */,
1680B1161A9CD7AD00DBD79E /* SDLProtocolMessageSpec.m in Sources */,
@@ -8694,7 +8718,7 @@
1EAA47762036B847000FE74B /* SDLEqualizerSettingsSpec.m in Sources */,
752ECDB9228C42E100D945F4 /* SDLMenuRunScoreSpec.m in Sources */,
162E83141A9BDE8B00906325 /* SDLOnDriverDistractionSpec.m in Sources */,
- B3838A09257C4EB400420C11 /* SDLDoorStatusSpec.m in Sources */,
+ B3838A09257C4EB400420C11 /* SDLDoorStatusSpec.m in Sources */,
162E83371A9BDE8B00906325 /* SDLResetGlobalPropertiesSpec.m in Sources */,
162E82DF1A9BDE8B00906325 /* SDLGlobalProperySpec.m in Sources */,
88DF998F22035D1700477AC1 /* SDLIAPSessionSpec.m in Sources */,
@@ -8896,7 +8920,7 @@
1EAA47782036BA74000FE74B /* SDLAudioControlCapabilitiesSpec.m in Sources */,
5DB1BCD51D243A8E002FFC37 /* SDLUploadFileOperationSpec.m in Sources */,
162E83401A9BDE8B00906325 /* SDLSpeakSpec.m in Sources */,
- B3838A01257C47FD00420C11 /* SDLDoorStatusTypeSpec.m in Sources */,
+ B3838A01257C47FD00420C11 /* SDLDoorStatusTypeSpec.m in Sources */,
88A5E7F4220B57F900495E8A /* SDLOnSystemCapabilityUpdatedSpec.m in Sources */,
5DCF76FC1ACDDB4200BB647B /* SDLSendLocationSpec.m in Sources */,
5DB1BCD81D243AA6002FFC37 /* SDLPermissionFilterSpec.m in Sources */,
@@ -8918,8 +8942,7 @@
B3A3CEA025222A2900A7121D /* SDLOnAppCapabilityUpdatedSpec.m in Sources */,
162E831E1A9BDE8B00906325 /* SDLOnTBTClientStateSpec.m in Sources */,
162E83351A9BDE8B00906325 /* SDLReadDIDSpec.m in Sources */,
- 5DF40B28208FDA9700DD6FDA /* SDLVoiceCommandManagerSpec.m in Sources */,
- 4AD1F1742559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m in Sources */,
+ 4AD1F1742559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m in Sources */,
88B3BFA020DA8FD000943565 /* SDLFuelTypeSpec.m in Sources */,
162E836F1A9BDE8B00906325 /* SDLUnsubscribeVehicleDataResponseSpec.m in Sources */,
162E82DB1A9BDE8B00906325 /* SDLECallConfirmationStatusSpec.m in Sources */,
@@ -9333,7 +9356,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
- VALIDATE_WORKSPACE = NO;
+ VALIDATE_WORKSPACE = NO;
};
name = Debug;
};
@@ -9366,7 +9389,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "com.smartdevicelink.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
- VALIDATE_WORKSPACE = NO;
+ VALIDATE_WORKSPACE = NO;
};
name = Release;
};
diff --git a/SmartDeviceLink/private/SDLAppCapability.h b/SmartDeviceLink/private/SDLAppCapability.h
deleted file mode 100755
index 123b62329..000000000
--- a/SmartDeviceLink/private/SDLAppCapability.h
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// SDLAppCapability.h
-// SmartDeviceLink-iOS
-//
-
-#import "SDLRPCStruct.h"
-#import "SDLSystemCapabilityType.h"
-
-@class SDLVideoStreamingCapability;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface SDLAppCapability : SDLRPCStruct
-
-/**
- * Convenience init for an App Service Capability
- *
- * @param capability Describes supported capabilities for video streaming
- * @return A SDLAppCapability object
- */
-- (instancetype)initWithVideoStreamingCapability:(SDLVideoStreamingCapability *)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 param included.
- */
-@property (strong, nonatomic) SDLSystemCapabilityType appCapabilityType;
-
-/**
- * Describes supported capabilities for video streaming
- *
- * Optional
- */
-@property (nullable, strong, nonatomic) SDLVideoStreamingCapability *videoStreamingCapability;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLAppCapability.m b/SmartDeviceLink/private/SDLAppCapability.m
deleted file mode 100755
index b15fc3355..000000000
--- a/SmartDeviceLink/private/SDLAppCapability.m
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// SDLAppCapability.m
-// SmartDeviceLink-iOS
-//
-
-#import "NSMutableDictionary+Store.h"
-#import "SDLAppCapability.h"
-#import "SDLRPCParameterNames.h"
-#import "SDLVideoStreamingCapability.h"
-#import "SDLSystemCapabilityType.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@implementation SDLAppCapability
-
-- (instancetype)initWithVideoStreamingCapability:(SDLVideoStreamingCapability *)capability {
- self = [self init];
- if (self) {
- self.appCapabilityType = SDLSystemCapabilityTypeVideoStreaming;
- self.videoStreamingCapability = capability;
- }
-
- return self;
-}
-
-- (void)setAppCapabilityType:(SDLSystemCapabilityType)type {
- [self.store sdl_setObject:type forName:SDLRPCParameterNameAppCapabilityType];
-}
-
-- (SDLSystemCapabilityType)appCapabilityType {
- return [self.store sdl_enumForName:SDLRPCParameterNameAppCapabilityType error:NULL];
-}
-
-- (void)setVideoStreamingCapability:(nullable SDLVideoStreamingCapability *)videoStreamingCapability {
- [self.store sdl_setObject:videoStreamingCapability forName:SDLRPCParameterNameVideoStreamingCapability];
-}
-
-- (nullable SDLVideoStreamingCapability *)videoStreamingCapability {
- return [self.store sdl_objectForName:SDLRPCParameterNameVideoStreamingCapability ofClass:SDLVideoStreamingCapability.class error:nil];
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLImageResolution + StreamingVideoExtensions.h b/SmartDeviceLink/private/SDLImageResolution + StreamingVideoExtensions.h
new file mode 100644
index 000000000..d80991111
--- /dev/null
+++ b/SmartDeviceLink/private/SDLImageResolution + StreamingVideoExtensions.h
@@ -0,0 +1,36 @@
+// SDLImageResolution.h
+//
+
+#import <CoreGraphics/CGGeometry.h>
+#import "SDLImageResolution.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NS_ENUM(NSInteger, SDLImageResolutionKind) {
+ SDLImageResolutionKindUndefined,
+ SDLImageResolutionKindLandscape,
+ SDLImageResolutionKindPortrait,
+ SDLImageResolutionKindSquare,
+};
+
+/**
+ The resolution of an image
+ */
+@interface SDLImageResolution (StreamingVideoExtensions)
+
+/**
+ * SDLImageResolutionKind
+*/
+@property (nonatomic, readonly) SDLImageResolutionKind kind;
+
+- (CGSize)makeSize;
+
+// the return value is always equals or above 1.0 if valid, or is 0.0 if size is invalid
+- (float)normalizedAspectRatio;
+
+// string representation, for debug only
+- (NSString *)stringValue;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLImageResolution + StreamingVideoExtensions.m b/SmartDeviceLink/private/SDLImageResolution + StreamingVideoExtensions.m
new file mode 100644
index 000000000..dbd1a972e
--- /dev/null
+++ b/SmartDeviceLink/private/SDLImageResolution + StreamingVideoExtensions.m
@@ -0,0 +1,50 @@
+// SDLImageResolution.m
+//
+
+
+#import "NSMutableDictionary+Store.h"
+#import "SDLRPCParameterNames.h"
+#import "SDLImageResolution + StreamingVideoExtensions.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@implementation SDLImageResolution (StreamingVideoExtensions)
+
+- (CGSize)makeSize {
+ return CGSizeMake(self.resolutionWidth.floatValue, self.resolutionHeight.floatValue);
+}
+
+- (float)normalizedAspectRatio {
+ const float width = self.resolutionWidth.floatValue;
+ const float height = self.resolutionHeight.floatValue;
+ return (width == 0 || height == 0) ? 0 : fmaxf(width, height)/fminf(width, height);
+}
+
+- (SDLImageResolutionKind)kind {
+ if (!self.resolutionHeight || !self.resolutionWidth) {
+ return SDLImageResolutionKindUndefined;
+ }
+ const float ratio = self.resolutionWidth.floatValue/self.resolutionHeight.floatValue;
+ const float ratioSquared = ratio * ratio;
+ const float tolerance = 0.001f;
+ if (ratioSquared < 1.0 - tolerance) {
+ return SDLImageResolutionKindPortrait;
+ }
+ if (ratioSquared > 1.0 + tolerance) {
+ return SDLImageResolutionKindLandscape;
+ }
+ return SDLImageResolutionKindSquare;
+}
+
+- (NSString *)stringValue {
+ return [NSString stringWithFormat:@"[%@ x %@]", self.resolutionWidth, self.resolutionHeight];
+}
+
+- (NSString *)description {
+ NSString *kindString = @{@(SDLImageResolutionKindUndefined):@"Undef", @(SDLImageResolutionKindLandscape):@"Landscape", @(SDLImageResolutionKindPortrait):@"Portrait", @(SDLImageResolutionKindSquare):@"Square"}[@(self.kind)];
+ return [NSString stringWithFormat:@"<%@:%p> {%@ x %@ : %@}", NSStringFromClass(self.class), self, self.resolutionWidth, self.resolutionHeight, kindString];
+}
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLLifecycleManager.h b/SmartDeviceLink/private/SDLLifecycleManager.h
index c7b59a4fd..d6b2aad46 100644
--- a/SmartDeviceLink/private/SDLLifecycleManager.h
+++ b/SmartDeviceLink/private/SDLLifecycleManager.h
@@ -86,12 +86,6 @@ typedef void (^SDLManagerReadyBlock)(BOOL success, NSError *_Nullable error);
@property (strong, nonatomic) NSOperationQueue *rpcOperationQueue;
-/**
- * The version number of the SDL V4 interface, string representation
- * Optional
- */
-@property (copy, nonatomic, nullable) NSString *sdlMsgVersionString;
-
#pragma mark Lifecycle
/**
* Initialize the manager with a configuration. Call `startWithHandler` to begin waiting for a connection.
diff --git a/SmartDeviceLink/private/SDLLifecycleManager.m b/SmartDeviceLink/private/SDLLifecycleManager.m
index 3c7c487cd..e8528646e 100644
--- a/SmartDeviceLink/private/SDLLifecycleManager.m
+++ b/SmartDeviceLink/private/SDLLifecycleManager.m
@@ -377,11 +377,6 @@ NSString *const BackgroundTaskTransportName = @"com.sdl.transport.backgroundTask
// Build a register app interface request with the configuration data
SDLRegisterAppInterface *regRequest = [[SDLRegisterAppInterface alloc] initWithLifecycleConfiguration:self.configuration.lifecycleConfig];
- // override the default sdl rpc message version if set
- SDLMsgVersion *sdlMsgVersion = [SDLMsgVersion versionWithString:self.sdlMsgVersionString];
- if (sdlMsgVersion) {
- regRequest.sdlMsgVersion = sdlMsgVersion;
- }
// Send the request and depending on the response, post the notification
__weak typeof(self) weakSelf = self;
diff --git a/SmartDeviceLink/private/SDLOnAppCapabilityUpdated.h b/SmartDeviceLink/private/SDLOnAppCapabilityUpdated.h
deleted file mode 100644
index 7d75bcf8a..000000000
--- a/SmartDeviceLink/private/SDLOnAppCapabilityUpdated.h
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// SDLOnAppCapabilityUpdated.h
-// SmartDeviceLink
-//
-
-#import "SDLRPCNotification.h"
-
-@class SDLAppCapability;
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- * A notification to inform SDL Core that a specific app capability has changed.
- */
-@interface SDLOnAppCapabilityUpdated : SDLRPCNotification
-
-/**
- * Convenience init for required parameters
- *
- * @param appCapability The system capability that has been updated
- * @return A SDLOnAppCapabilityUpdated object
- */
-- (instancetype)initWithAppCapability:(SDLAppCapability *)appCapability;
-
-/**
- * The app capability that has been updated.
- */
-@property (strong, nonatomic) SDLAppCapability *appCapability;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLOnAppCapabilityUpdated.m b/SmartDeviceLink/private/SDLOnAppCapabilityUpdated.m
deleted file mode 100644
index 4f96eae27..000000000
--- a/SmartDeviceLink/private/SDLOnAppCapabilityUpdated.m
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// SDLOnAppCapabilityUpdated.m
-// SmartDeviceLink
-//
-
-#import "NSMutableDictionary+Store.h"
-#import "SDLAppCapability.h"
-#import "SDLOnAppCapabilityUpdated.h"
-#import "SDLRPCParameterNames.h"
-#import "SDLRPCFunctionNames.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@implementation SDLOnAppCapabilityUpdated
-
-- (instancetype)init {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- self = [super initWithName:SDLRPCFunctionNameOnAppCapabilityUpdated];
-#pragma clang diagnostic pop
- return self;
-}
-
-- (instancetype)initWithAppCapability:(SDLAppCapability *)appCapability {
- self = [self init];
- if (self) {
- self.appCapability = appCapability;
- }
-
- return self;
-}
-
-- (void)setAppCapability:(SDLAppCapability *)appCapability {
- [self.parameters sdl_setObject:appCapability forName:SDLRPCParameterNameAppCapability];
-}
-
-- (SDLAppCapability *)appCapability {
- NSError *error = nil;
- return [self.parameters sdl_objectForName:SDLRPCParameterNameAppCapability ofClass:SDLAppCapability.class error:&error];
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLProtocol.h b/SmartDeviceLink/private/SDLProtocol.h
index d0a710f7a..a9a21f66d 100644
--- a/SmartDeviceLink/private/SDLProtocol.h
+++ b/SmartDeviceLink/private/SDLProtocol.h
@@ -151,11 +151,6 @@ extern NSString *const SDLProtocolSecurityErrorDomain;
*/
- (void)sendEncryptedRawData:(NSData *)data onService:(SDLServiceType)serviceType;
-#pragma mark - Delegate
-
-- (void)addDelegate:(id<SDLProtocolDelegate>)delegate;
-- (void)removeDelegate:(id<SDLProtocolDelegate>)delegate;
-
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLProtocol.m b/SmartDeviceLink/private/SDLProtocol.m
index 88b992be4..1c62050a2 100644
--- a/SmartDeviceLink/private/SDLProtocol.m
+++ b/SmartDeviceLink/private/SDLProtocol.m
@@ -273,24 +273,6 @@ NS_ASSUME_NONNULL_BEGIN
[self sdl_sendDataToTransport:message.data onService:SDLServiceTypeControl];
}
-#pragma mark - Register/Unregister Delegates
-
-- (void)addDelegate:(id<SDLProtocolDelegate>)delegate {
- @synchronized(self.protocolDelegateTable) {
- if (![self.protocolDelegateTable containsObject:delegate]) {
- [self.protocolDelegateTable addObject:delegate];
- }
- }
-}
-
-- (void)removeDelegate:(id<SDLProtocolDelegate>)delegate {
- @synchronized(self.protocolDelegateTable) {
- if ([self.protocolDelegateTable containsObject:delegate]) {
- [self.protocolDelegateTable removeObject:delegate];
- }
- }
-}
-
#pragma mark - Send Data
- (void)sendRPC:(SDLRPCMessage *)message {
diff --git a/SmartDeviceLink/private/SDLStreamingVideoLifecycleManager.m b/SmartDeviceLink/private/SDLStreamingVideoLifecycleManager.m
index 8370e7c32..0db9d3b62 100644
--- a/SmartDeviceLink/private/SDLStreamingVideoLifecycleManager.m
+++ b/SmartDeviceLink/private/SDLStreamingVideoLifecycleManager.m
@@ -23,7 +23,7 @@
#import "SDLGlobals.h"
#import "SDLH264VideoEncoder.h"
#import "SDLHMILevel.h"
-#import "SDLImageResolution.h"
+#import "SDLImageResolution + StreamingVideoExtensions.h"
#import "SDLLifecycleConfiguration.h"
#import "SDLLogMacros.h"
#import "SDLOnAppCapabilityUpdated.h"
@@ -37,18 +37,18 @@
#import "SDLRPCResponseNotification.h"
#import "SDLScreenParams.h"
#import "SDLStateMachine.h"
-#import "SDLStreamingMediaDelegate.h"
+#import "SDLStreamingVideoDelegate.h"
#import "SDLStreamingMediaConfiguration.h"
#import "SDLEncryptionConfiguration.h"
#import "SDLStreamingMediaManagerDataSource.h"
#import "SDLStreamingVideoScaleManager.h"
-#import "SDLSupportedStreamingRange.h"
+#import "SDLVideoStreamingRange.h"
#import "SDLSystemCapability.h"
#import "SDLSystemCapabilityManager.h"
#import "SDLTouchManager.h"
#import "SDLVehicleType.h"
#import "SDLVideoEncoderDelegate.h"
-#import "SDLVideoStreamingCapability.h"
+#import "SDLVideoStreamingCapability + StreamingVideoExtensions.h"
static NSUInteger const FramesToSendOnBackground = 30;
@@ -87,9 +87,9 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
@property (strong, nonatomic, nullable) SDLVideoStreamingCapability *videoStreamingCapability;
@property (strong, nonatomic, nullable) SDLVideoStreamingCapability *videoStreamingCapabilityUpdated;
@property (assign, nonatomic) BOOL shouldAutoResume;
-@property (strong, nonatomic, nullable) SDLSupportedStreamingRange *supportedLandscapeStreamingRange;
-@property (strong, nonatomic, nullable) SDLSupportedStreamingRange *supportedPortraitStreamingRange;
-@property (weak, nonatomic, nullable) id<SDLStreamingMediaDelegate> delegate;
+@property (strong, nonatomic, nullable) SDLVideoStreamingRange *supportedLandscapeStreamingRange;
+@property (strong, nonatomic, nullable) SDLVideoStreamingRange *supportedPortraitStreamingRange;
+@property (weak, nonatomic, nullable) id<SDLStreamingVideoDelegate> delegate;
/**
* SSRC of RTP header field.
@@ -105,7 +105,7 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
@property (copy, nonatomic, readonly) NSString *videoStreamBackgroundString;
@property (nonatomic, copy, nullable) void (^videoServiceEndedCompletionHandler)(void);
-@property (strong, nonatomic, nullable) NSNotificationCenter *subscriptionCenter;
+@property (assign, nonatomic) BOOL isSubscribedForNotifications;
@end
@implementation SDLStreamingVideoLifecycleManager
@@ -175,7 +175,7 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
_videoStreamStateMachine = [[SDLStateMachine alloc] initWithTarget:self initialState:SDLVideoStreamManagerStateStopped states:[self.class sdl_videoStreamStateTransitionDictionary]];
//NOTE: the notification center should not be default & dont forget to unsubscribe
- [self subscribeForNotifications:[NSNotificationCenter defaultCenter]];
+ [self sdl_subscribeToNotifications];
_ssrc = arc4random_uniform(UINT32_MAX);
_lastPresentationTimestamp = kCMTimeInvalid;
@@ -184,8 +184,8 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
}
- (void)shutDown {
- [self.systemCapabilityManager unsubscribeObserver:self];
- [self unsubscribeFromAllNotifications];
+ [self.systemCapabilityManager unsubscribeFromCapabilityType:SDLSystemCapabilityTypeVideoStreaming withObserver:self];
+ [self sdl_unsubscribeNotifications];
}
- (void)dealloc {
@@ -195,7 +195,11 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
- (void)startWithProtocol:(SDLProtocol *)protocol {
SDLLogD(@"Starting with protocol: %@", protocol);
_protocol = protocol;
- [self.protocol addDelegate:self];
+ @synchronized(self.protocol.protocolDelegateTable) {
+ if (![self.protocol.protocolDelegateTable containsObject:self]) {
+ [self.protocol.protocolDelegateTable addObject:self];
+ }
+ }
[self.focusableItemManager start];
// attempt to start streaming since we may already have necessary conditions met
@@ -215,7 +219,11 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
[self.focusableItemManager stop];
_connectedVehicleMake = nil;
- [self.protocol removeDelegate:self];
+ @synchronized(self.protocol.protocolDelegateTable) {
+ if ([self.protocol.protocolDelegateTable containsObject:self]) {
+ [self.protocol.protocolDelegateTable removeObject:self];
+ }
+ }
_protocol = nil;
[self.videoStreamStateMachine transitionToState:SDLVideoStreamManagerStateStopped];
}
@@ -386,12 +394,6 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
_videoFormat = nil;
if (!self.shouldAutoResume) {
- if (self.delegate) {
- __weak typeof(self) weakSelf = self;
- dispatch_async(dispatch_get_main_queue(), ^{
- [weakSelf.delegate videoManagerDidStop:weakSelf];
- });
- }
[self.systemCapabilityManager unsubscribeFromCapabilityType:SDLSystemCapabilityTypeVideoStreaming withObserver:self];
}
@@ -422,82 +424,14 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
- (void)didEnterStateVideoStreamStarting {
SDLLogD(@"Video stream starting");
-//<<<<<<< HEAD
if (self.shouldAutoResume && (self.videoStreamingCapabilityUpdated != nil)) {
//apply previously received video capabilities
[self sdl_applyVideoCapabilityWhileStarting:self.videoStreamingCapabilityUpdated];
} else {
- [self.systemCapabilityManager subscribeToCapabilityType:SDLSystemCapabilityTypeVideoStreaming withObserver:self selector:@selector(sdl_displayCapabilityDidUpdate:)];
+ [self.systemCapabilityManager subscribeToCapabilityType:SDLSystemCapabilityTypeVideoStreaming withObserver:self selector:@selector(sdl_videoStreamingCapabilityDidUpdate:)];
}
self.shouldAutoResume = NO;
self.videoStreamingCapabilityUpdated = nil;
-//=======
-// __weak typeof(self) weakSelf = self;
-// [self sdl_requestVideoCapabilities:^(SDLVideoStreamingCapability * _Nullable capability) {
-// SDLLogD(@"Received video capability response");
-// SDLLogV(@"Capability: %@", capability);
-//
-// if (capability != nil) {
-// // If we got a response, get the head unit's preferred formats and resolutions
-// weakSelf.preferredFormats = capability.supportedFormats;
-// weakSelf.preferredResolutions = @[capability.preferredResolution];
-// if (capability.maxBitrate != nil) {
-// weakSelf.videoEncoderSettings[(__bridge NSString *) kVTCompressionPropertyKey_AverageBitRate] = [[NSNumber alloc] initWithUnsignedLongLong:(capability.maxBitrate.unsignedLongLongValue * 1000)];
-// }
-// if (capability.preferredFPS != nil) {
-// weakSelf.videoEncoderSettings[(__bridge NSString *)kVTCompressionPropertyKey_ExpectedFrameRate] = capability.preferredFPS;
-// }
-//
-// if (weakSelf.dataSource != nil) {
-// SDLLogV(@"Calling data source for modified preferred formats");
-// weakSelf.preferredFormats = [weakSelf.dataSource preferredVideoFormatOrderFromHeadUnitPreferredOrder:weakSelf.preferredFormats];
-// }
-//
-// if (weakSelf.focusableItemManager != nil) {
-// weakSelf.focusableItemManager.enableHapticDataRequests = capability.hapticSpatialDataSupported.boolValue;
-// }
-//
-// SDLLogD(@"Got specialized video capabilites, preferred formats: %@, haptics enabled %@, videoEncoderSettings: %@", weakSelf.preferredFormats, (capability.hapticSpatialDataSupported.boolValue ? @"YES" : @"NO"), weakSelf.videoEncoderSettings);
-// } else {
-// // 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.videoScaleManager.displayViewportResolution.width height:(uint16_t)weakSelf.videoScaleManager.displayViewportResolution.height];
-// weakSelf.preferredFormats = @[format];
-// weakSelf.preferredResolutions = @[resolution];
-//
-// if (weakSelf.focusableItemManager != nil) {
-// weakSelf.focusableItemManager.enableHapticDataRequests = NO;
-// }
-//
-// SDLLogD(@"Using generic video capabilites, preferred formats: %@, resolutions: %@, haptics disabled", weakSelf.preferredFormats, weakSelf.preferredResolutions);
-// }
-//
-// // Apply customEncoderSettings here. Note that value from HMI (such as maxBitrate) will be overwritten by custom settings
-// // (Exception: ExpectedFrameRate, AverageBitRate)
-// for (id key in self.customEncoderSettings.keyEnumerator) {
-// // do NOT override framerate or average bitreate if custom setting is higher than current setting.
-// // See SDL 0323 (https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals/0323-align-VideoStreamingParameter-with-capability.md) for details.
-// if ([(NSString *)key isEqualToString:(__bridge NSString *)kVTCompressionPropertyKey_ExpectedFrameRate] ||
-// [(NSString *)key isEqualToString:(__bridge NSString *)kVTCompressionPropertyKey_AverageBitRate]) {
-// NSNumber *customEncoderSettings = (NSNumber *)[self.customEncoderSettings valueForKey:key];
-// NSNumber *videoEncoderSettings = (NSNumber *)[self.videoEncoderSettings valueForKey:key];
-// if (customEncoderSettings < videoEncoderSettings) {
-// self.videoEncoderSettings[key] = customEncoderSettings;
-// }
-// } else {
-// self.videoEncoderSettings[key] = [self.customEncoderSettings valueForKey:key];
-// }
-// }
-//
-// 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];
-// }];
-//>>>>>>> develop
}
- (void)didEnterStateVideoStreamReady {
@@ -753,9 +687,10 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
}
}
-- (void)subscribeForNotifications:(NSNotificationCenter *)notificationCenter {
- if (!self.subscriptionCenter) {
- self.subscriptionCenter = notificationCenter;
+- (void)sdl_subscribeToNotifications {
+ NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
+ if (!self.isSubscribedForNotifications) {
+ self.isSubscribedForNotifications = YES;
[notificationCenter addObserver:self selector:@selector(sdl_didReceiveRegisterAppInterfaceResponse:) name:SDLDidReceiveRegisterAppInterfaceResponse object:nil];
[notificationCenter addObserver:self selector:@selector(sdl_hmiStatusDidChange:) name:SDLDidChangeHMIStatusNotification object:nil];
[notificationCenter addObserver:self selector:@selector(sdl_appStateDidUpdate:) name:UIApplicationDidBecomeActiveNotification object:nil];
@@ -763,14 +698,14 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
}
}
-- (void)unsubscribeFromAllNotifications {
- [self.subscriptionCenter removeObserver:self];
- self.subscriptionCenter = nil;
+- (void)sdl_unsubscribeNotifications {
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
+ self.isSubscribedForNotifications = NO;
}
#pragma mark - Subscribed notifications
-- (void)sdl_displayCapabilityDidUpdate:(SDLSystemCapability *)systemCapability {
+- (void)sdl_videoStreamingCapabilityDidUpdate:(SDLSystemCapability *)systemCapability {
SDLVideoStreamingCapability *videoCapability = systemCapability.videoStreamingCapability;
if (!videoCapability) {
@@ -808,9 +743,9 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
}
// create and send SDLOnAppCapabilityUpdated notification
- SDLAppCapability *appCapability = [[SDLAppCapability alloc] initWithVideoStreamingCapability:matchedVideoCapability];
+ SDLAppCapability *appCapability = [[SDLAppCapability alloc] initWithAppCapabilityType:SDLAppCapabilityTypeVideoStreaming videoStreamingCapability:matchedVideoCapability];
SDLOnAppCapabilityUpdated *notification = [[SDLOnAppCapabilityUpdated alloc] initWithAppCapability:appCapability];
- [self.protocol sendRPC:notification];
+ [self.connectionManager sendConnectionRPC:notification];
// take formats from 'parent' since onse may be absent in children
if (!matchedVideoCapability.supportedFormats) {
@@ -822,7 +757,7 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
__weak typeof(self) weakSelf = self;
const CGSize displaySize = matchedVideoCapability.makeImageResolution.makeSize;
dispatch_async(dispatch_get_main_queue(), ^{
- [weakSelf.delegate videoManager:weakSelf didUpdateSize:displaySize];
+ [weakSelf.delegate videoStreamingSizeDidUpdate:displaySize];
});
}
// start service with new capabilities or without (use old from start service ACK)
@@ -921,7 +856,7 @@ typedef void(^SDLVideoCapabilityResponseHandler)(SDLVideoStreamingCapability *_N
return matchCapabilities;
}
-- (BOOL)isCapability:(SDLVideoStreamingCapability *)capability inRange:(SDLSupportedStreamingRange *)range {
+- (BOOL)isCapability:(SDLVideoStreamingCapability *)capability inRange:(SDLVideoStreamingRange *)range {
if (!capability) {
// sanity check, zero capability wont make through
return NO;
diff --git a/SmartDeviceLink/private/SDLVideoStreamingCapability + StreamingVideoExtensions.h b/SmartDeviceLink/private/SDLVideoStreamingCapability + StreamingVideoExtensions.h
new file mode 100644
index 000000000..3d5cb9cf3
--- /dev/null
+++ b/SmartDeviceLink/private/SDLVideoStreamingCapability + StreamingVideoExtensions.h
@@ -0,0 +1,29 @@
+//
+// SDLVideoStreamingCapability + StreamingVideoExtensions.h
+// SmartDeviceLink-iOS
+//
+// Created by Brett McIsaac on 7/31/17.
+// Copyright © 2017 smartdevicelink. All rights reserved.
+//
+
+#import "SDLVideoStreamingCapability.h"
+
+@class SDLImageResolution;
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface SDLVideoStreamingCapability (StreamingVideoExtensions)
+
+// this returns a copy array of all capabilities including itself but with no recursion
+// in the result objects the .additionalVideoStreamingCapabilities will be nil
+- (NSArray <SDLVideoStreamingCapability *> *)allVideoStreamingCapabilitiesPlain;
+
+- (SDLImageResolution *)makeImageResolution;
+
+- (NSArray<SDLImageResolution *> *)allImageResolutionsScaled;
+
+- (NSArray<SDLImageResolution *> *)allImageResolutions;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLVideoStreamingCapability + StreamingVideoExtensions.m b/SmartDeviceLink/private/SDLVideoStreamingCapability + StreamingVideoExtensions.m
new file mode 100644
index 000000000..777dfb2ca
--- /dev/null
+++ b/SmartDeviceLink/private/SDLVideoStreamingCapability + StreamingVideoExtensions.m
@@ -0,0 +1,156 @@
+//
+// SDLVideoStreamingCapability + StreamingVideoExtensions.m
+// SmartDeviceLink-iOS
+//
+// Created by Brett McIsaac on 7/31/17.
+// Copyright © 2017 smartdevicelink. All rights reserved.
+//
+
+#import "SDLImageResolution + StreamingVideoExtensions.h"
+#import "SDLVideoStreamingCapability + StreamingVideoExtensions.h"
+#import "SDLVideoStreamingFormat.h"
+
+#import "NSMutableDictionary+Store.h"
+#import "SDLRPCParameterNames.h"
+#import "SDLStreamingVideoScaleManager.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@implementation SDLVideoStreamingCapability (StreamingVideoExtensions)
+
+// note: it does not copy additionalVideoStreamingCapabilities
+- (instancetype)shortCopy {
+ typeof(self) aCopy = [[self class] new];
+ aCopy.preferredResolution = self.preferredResolution;
+ aCopy.maxBitrate = self.maxBitrate;
+ aCopy.supportedFormats = self.supportedFormats;
+ aCopy.preferredResolution = self.preferredResolution;
+ aCopy.hapticSpatialDataSupported = self.hapticSpatialDataSupported;
+ aCopy.diagonalScreenSize = self.diagonalScreenSize;
+ aCopy.pixelPerInch = self.pixelPerInch;
+ aCopy.scale = self.scale;
+ return aCopy;
+}
+
+- (NSArray <SDLVideoStreamingCapability *> *)allVideoStreamingCapabilitiesPlain {
+ NSMutableArray *capabilitiesArray = [NSMutableArray arrayWithObject:[self shortCopy]];
+ for (SDLVideoStreamingCapability *capability in self.additionalVideoStreamingCapabilities) {
+ NSArray *childCapabilities = [capability allVideoStreamingCapabilitiesPlain];
+ if (childCapabilities.count) {
+ [capabilitiesArray addObjectsFromArray:childCapabilities];
+ }
+ }
+ return capabilitiesArray;
+}
+
+- (SDLImageResolution *)makeImageResolution {
+ const float scale = (self.scale == nil) ? 1.0 : self.scale.floatValue;
+ const CGSize size = [SDLStreamingVideoScaleManager scale:scale size:self.preferredResolution.makeSize];
+ return [[SDLImageResolution alloc] initWithWidth:(uint16_t)size.width height:(uint16_t)size.height];
+}
+
+- (NSArray<SDLImageResolution *> *)allImageResolutions {
+ NSMutableArray<SDLImageResolution *> *resolutions = [NSMutableArray arrayWithCapacity:self.additionalVideoStreamingCapabilities.count + 1];
+ if (self.preferredResolution) {
+ [resolutions addObject:self.preferredResolution];
+ }
+ for (SDLVideoStreamingCapability *nextCapability in self.additionalVideoStreamingCapabilities) {
+ if (nextCapability.preferredResolution) {
+ [resolutions addObject:nextCapability.preferredResolution];
+ }
+ }
+ return resolutions;
+}
+
+- (NSArray<SDLImageResolution *> *)allImageResolutionsScaled {
+ NSMutableArray<SDLImageResolution *> *resolutions = [NSMutableArray arrayWithCapacity:self.additionalVideoStreamingCapabilities.count + 1];
+ SDLImageResolution *imgResolution = [self makeImageResolution];
+ if (imgResolution) {
+ [resolutions addObject:imgResolution];
+ }
+ for (SDLVideoStreamingCapability *nextCapability in self.additionalVideoStreamingCapabilities) {
+ SDLImageResolution *imgResolution = [nextCapability makeImageResolution];
+ if (imgResolution) {
+ [resolutions addObject:imgResolution];
+ }
+ }
+ return resolutions;
+}
+
+BOOL sdl_isResolutionEqual(SDLImageResolution *imageResolutionL, SDLImageResolution *imageResolutionR) {
+ return ((imageResolutionL == nil && imageResolutionR == nil) ? YES : [imageResolutionL isEqual:imageResolutionR]);
+}
+
+BOOL sdl_isNumberEqual(NSNumber *numberL, NSNumber *numberR) {
+ return ((numberL == nil && numberR == nil) ? YES : [numberL isEqualToNumber:numberR]);
+}
+
+- (BOOL)isEqual:(id)object {
+ if (!object) {
+ return NO;
+ }
+ if (object == self) {
+ return YES;
+ }
+ if (![object isKindOfClass:self.class]) {
+ return NO;
+ }
+ typeof(self) other = object;
+ if (!sdl_isResolutionEqual(self.preferredResolution, other.preferredResolution)) {
+ return NO;
+ }
+ if (!sdl_isNumberEqual(self.maxBitrate, other.maxBitrate)) {
+ return NO;
+ }
+ if (!sdl_isNumberEqual(self.diagonalScreenSize, other.diagonalScreenSize)) {
+ return NO;
+ }
+ if (!sdl_isNumberEqual(self.pixelPerInch, other.pixelPerInch)) {
+ return NO;
+ }
+ if (!sdl_isNumberEqual(self.scale, other.scale)) {
+ return NO;
+ }
+ return YES;
+}
+
+- (NSString *)description {
+ NSMutableString *formats = [NSMutableString string];
+ [formats setString:@"supportedFormats:"];
+ for (SDLVideoStreamingFormat *f in self.supportedFormats) {
+ [formats appendFormat:@"%@; ", f];
+ }
+ NSString *strClass = [NSString stringWithFormat:@"<%@:%p>", NSStringFromClass(self.class), self];
+ NSString *strResolution = [NSString stringWithFormat:@"preferredResolution:%@", self.preferredResolution];
+ NSString *strBitrate = [NSString stringWithFormat:@"maxBitrate:%@", self.maxBitrate];
+ NSString *strHaptic = [NSString stringWithFormat:@"hapticSpatialDataSupported:%@", self.hapticSpatialDataSupported == nil ? @"(nil)" : (self.hapticSpatialDataSupported.boolValue ? @"YES" : @"NO")];
+ NSString *strDiagonal = [NSString stringWithFormat:@"diagonalScreenSize:%@", self.diagonalScreenSize];
+ NSString *strPPI = [NSString stringWithFormat:@"pixelPerInch:%@", self.pixelPerInch];
+ NSString *strScale = [NSString stringWithFormat:@"scale:%@", self.scale];
+ NSString *strAdditionalVideoStreamingCapabilities = [NSString stringWithFormat:@"additionalVideoStreamingCapabilities[%d]:%@", (int)self.additionalVideoStreamingCapabilities.count, self.additionalVideoStreamingCapabilities];
+
+ NSMutableString *resultDescription = [NSMutableString stringWithCapacity:strClass.length + strResolution.length + strBitrate.length + strHaptic.length + strDiagonal.length + strPPI.length + strScale.length + strAdditionalVideoStreamingCapabilities.length + 20];
+ [resultDescription appendString:strClass];
+ [resultDescription appendString:@"{\n\t"];
+ [resultDescription appendString:strResolution];
+ [resultDescription appendString:@"\n\t"];
+ [resultDescription appendString:strBitrate];
+ [resultDescription appendString:@"\n\t"];
+ [resultDescription appendString:strHaptic];
+ [resultDescription appendString:@"\n\t"];
+ [resultDescription appendString:strDiagonal];
+ [resultDescription appendString:@"\n\t"];
+ [resultDescription appendString:strPPI];
+ [resultDescription appendString:@"\n\t"];
+ [resultDescription appendString:strScale];
+ [resultDescription appendString:@"\n\t"];
+ [resultDescription appendString:strAdditionalVideoStreamingCapabilities];
+ [resultDescription appendString:@"}"];
+
+ // return immutable copy
+ return [resultDescription copy];
+}
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLAppCapability.h b/SmartDeviceLink/public/SDLAppCapability.h
new file mode 100644
index 000000000..3220c9fa9
--- /dev/null
+++ b/SmartDeviceLink/public/SDLAppCapability.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2021, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consort`ium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SDLAppCapabilityType.h"
+#import "SDLRPCStruct.h"
+
+@class SDLVideoStreamingCapability;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * @added in SmartDeviceLink 7.1.0
+ */
+@interface SDLAppCapability : SDLRPCStruct
+
+/**
+ * @param appCapabilityType - appCapabilityType
+ * @return A SDLAppCapability object
+ */
+- (instancetype)initWithAppCapabilityType:(SDLAppCapabilityType)appCapabilityType;
+
+/**
+ * @param appCapabilityType - appCapabilityType
+ * @param videoStreamingCapability - videoStreamingCapability
+ * @return A SDLAppCapability object
+ */
+- (instancetype)initWithAppCapabilityType:(SDLAppCapabilityType)appCapabilityType videoStreamingCapability:(nullable SDLVideoStreamingCapability *)videoStreamingCapability;
+
+/**
+ * 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 param included.
+ */
+@property (strong, nonatomic) SDLAppCapabilityType appCapabilityType;
+
+/**
+ * Describes supported capabilities for video streaming
+ */
+@property (nullable, strong, nonatomic) SDLVideoStreamingCapability *videoStreamingCapability;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLAppCapability.m b/SmartDeviceLink/public/SDLAppCapability.m
new file mode 100644
index 000000000..9976d963a
--- /dev/null
+++ b/SmartDeviceLink/public/SDLAppCapability.m
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2021, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consortium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "NSMutableDictionary+Store.h"
+#import "SDLAppCapability.h"
+#import "SDLAppCapabilityType.h"
+#import "SDLRPCParameterNames.h"
+#import "SDLVideoStreamingCapability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@implementation SDLAppCapability
+
+- (instancetype)initWithAppCapabilityType:(SDLAppCapabilityType)appCapabilityType {
+ self = [self init];
+ if (!self) {
+ return nil;
+ }
+ self.appCapabilityType = appCapabilityType;
+ return self;
+}
+
+- (instancetype)initWithAppCapabilityType:(SDLAppCapabilityType)appCapabilityType videoStreamingCapability:(nullable SDLVideoStreamingCapability *)videoStreamingCapability {
+ self = [self initWithAppCapabilityType:appCapabilityType];
+ if (!self) {
+ return nil;
+ }
+ self.videoStreamingCapability = videoStreamingCapability;
+ return self;
+}
+
+- (void)setAppCapabilityType:(SDLAppCapabilityType)appCapabilityType {
+ [self.store sdl_setObject:appCapabilityType forName:SDLRPCParameterNameAppCapabilityType];
+}
+
+- (SDLAppCapabilityType)appCapabilityType {
+ NSError *error = nil;
+ return [self.store sdl_enumForName:SDLRPCParameterNameAppCapabilityType error:&error];
+}
+
+- (void)setVideoStreamingCapability:(nullable SDLVideoStreamingCapability *)videoStreamingCapability {
+ [self.store sdl_setObject:videoStreamingCapability forName:SDLRPCParameterNameVideoStreamingCapability];
+}
+
+- (nullable SDLVideoStreamingCapability *)videoStreamingCapability {
+ return [self.store sdl_objectForName:SDLRPCParameterNameVideoStreamingCapability ofClass:SDLVideoStreamingCapability.class error:nil];
+}
+
+@end
+
+NS_ASSUME_NONNULL_END \ No newline at end of file
diff --git a/SmartDeviceLink/public/SDLAppCapabilityType.h b/SmartDeviceLink/public/SDLAppCapabilityType.h
new file mode 100644
index 000000000..73aa1bd83
--- /dev/null
+++ b/SmartDeviceLink/public/SDLAppCapabilityType.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2021, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consortium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SDLEnum.h"
+
+/**
+ * Enumerations of all available app capability types
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+typedef SDLEnum SDLAppCapabilityType NS_TYPED_ENUM;
+
+extern SDLAppCapabilityType const SDLAppCapabilityTypeVideoStreaming;
diff --git a/SmartDeviceLink/public/SDLAppCapabilityType.m b/SmartDeviceLink/public/SDLAppCapabilityType.m
new file mode 100644
index 000000000..14e77ed01
--- /dev/null
+++ b/SmartDeviceLink/public/SDLAppCapabilityType.m
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2021, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consortium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SDLAppCapabilityType.h"
+
+SDLAppCapabilityType const SDLAppCapabilityTypeVideoStreaming = @"VIDEO_STREAMING"; \ No newline at end of file
diff --git a/SmartDeviceLink/public/SDLImageResolution.h b/SmartDeviceLink/public/SDLImageResolution.h
index ae84b2ed2..16f30e0ec 100644
--- a/SmartDeviceLink/public/SDLImageResolution.h
+++ b/SmartDeviceLink/public/SDLImageResolution.h
@@ -6,13 +6,6 @@
NS_ASSUME_NONNULL_BEGIN
-typedef NS_ENUM(NSInteger, SDLImageResolutionKind) {
- SDLImageResolutionKindUndefined,
- SDLImageResolutionKindLandscape,
- SDLImageResolutionKindPortrait,
- SDLImageResolutionKindSquare,
-};
-
/**
The resolution of an image
*/
@@ -33,11 +26,6 @@ typedef NS_ENUM(NSInteger, SDLImageResolutionKind) {
@property (strong, nonatomic) NSNumber<SDLInt> *resolutionHeight;
/**
- * SDLImageResolutionKind
-*/
-@property (nonatomic, readonly) SDLImageResolutionKind kind;
-
-/**
* Convenience init with all parameters
* @param width Resolution width
* @param height Resolution height
@@ -45,14 +33,6 @@ typedef NS_ENUM(NSInteger, SDLImageResolutionKind) {
*/
- (instancetype)initWithWidth:(uint16_t)width height:(uint16_t)height;
-- (CGSize)makeSize;
-
-// the return value is always equals or above 1.0 if valid, or is 0.0 if size is invalid
-- (float)normalizedAspectRatio;
-
-// string representation, for debug only
-- (NSString *)stringValue;
-
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLImageResolution.m b/SmartDeviceLink/public/SDLImageResolution.m
index f4c6f8afb..3cc663605 100644
--- a/SmartDeviceLink/public/SDLImageResolution.m
+++ b/SmartDeviceLink/public/SDLImageResolution.m
@@ -46,32 +46,6 @@ NS_ASSUME_NONNULL_BEGIN
return [self.store sdl_objectForName:SDLRPCParameterNameResolutionHeight ofClass:NSNumber.class error:&error];
}
-- (CGSize)makeSize {
- return CGSizeMake(self.resolutionWidth.floatValue, self.resolutionHeight.floatValue);
-}
-
-- (float)normalizedAspectRatio {
- const float width = self.resolutionWidth.floatValue;
- const float height = self.resolutionHeight.floatValue;
- return (width == 0 || height == 0) ? 0 : fmaxf(width, height)/fminf(width, height);
-}
-
-- (SDLImageResolutionKind)kind {
- if (!self.resolutionHeight || !self.resolutionWidth) {
- return SDLImageResolutionKindUndefined;
- }
- const float ratio = self.resolutionWidth.floatValue/self.resolutionHeight.floatValue;
- const float ratioSquared = ratio * ratio;
- const float tolerance = 0.001f;
- if (ratioSquared < 1.0 - tolerance) {
- return SDLImageResolutionKindPortrait;
- }
- if (ratioSquared > 1.0 + tolerance) {
- return SDLImageResolutionKindLandscape;
- }
- return SDLImageResolutionKindSquare;
-}
-
#define EQUAL_NUM(property) ((self.property == nil && res2.property == nil) ? YES : [self.property isEqualToNumber:res2.property])
- (BOOL)isEqual:(id)object {
@@ -84,15 +58,6 @@ NS_ASSUME_NONNULL_BEGIN
#undef EQUAL_NUM
-- (NSString *)stringValue {
- return [NSString stringWithFormat:@"[%@ x %@]", self.resolutionWidth, self.resolutionHeight];
-}
-
-- (NSString *)description {
- NSString *kindString = @{@(SDLImageResolutionKindUndefined):@"Undef", @(SDLImageResolutionKindLandscape):@"Landscape", @(SDLImageResolutionKindPortrait):@"Portrait", @(SDLImageResolutionKindSquare):@"Square"}[@(self.kind)];
- return [NSString stringWithFormat:@"<%@:%p> {%@ x %@ : %@}", NSStringFromClass(self.class), self, self.resolutionWidth, self.resolutionHeight, kindString];
-}
-
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLManager.h b/SmartDeviceLink/public/SDLManager.h
index 60c4859ee..162754556 100644
--- a/SmartDeviceLink/public/SDLManager.h
+++ b/SmartDeviceLink/public/SDLManager.h
@@ -102,12 +102,6 @@ typedef void (^SDLManagerReadyBlock)(BOOL success, NSError *_Nullable error);
*/
@property (copy, nonatomic, readonly) NSArray<__kindof NSOperation *> *pendingRPCTransactions;
-/**
- * The version number of the SDL V4 interface, string representation
- * Optional
- */
-@property (nonatomic, nullable) NSString *sdlMsgVersionString;
-
#pragma mark Lifecycle
/**
diff --git a/SmartDeviceLink/public/SDLManager.m b/SmartDeviceLink/public/SDLManager.m
index 95e7d72df..7a1e3a502 100644
--- a/SmartDeviceLink/public/SDLManager.m
+++ b/SmartDeviceLink/public/SDLManager.m
@@ -22,7 +22,6 @@
#import "SDLSoftButtonManager.h"
#import "SDLStateMachine.h"
#import "SDLTextAndGraphicManager.h"
-#import "SDLStreamingMediaManager.h"
NS_ASSUME_NONNULL_BEGIN
@@ -119,14 +118,6 @@ NS_ASSUME_NONNULL_BEGIN
return self.lifecycleManager.rpcOperationQueue.operations;
}
-- (void)setSdlMsgVersionString:(nullable NSString *)versionString {
- self.lifecycleManager.sdlMsgVersionString = versionString;
-}
-
-- (nullable NSString *)sdlMsgVersionString {
- return self.lifecycleManager.sdlMsgVersionString;
-}
-
#pragma mark SDLConnectionManager Protocol
- (void)sendRPC:(__kindof SDLRPCMessage *)rpc {
diff --git a/SmartDeviceLink/public/SDLMsgVersion.h b/SmartDeviceLink/public/SDLMsgVersion.h
index 2ef1bb71a..03b033a08 100644
--- a/SmartDeviceLink/public/SDLMsgVersion.h
+++ b/SmartDeviceLink/public/SDLMsgVersion.h
@@ -17,14 +17,6 @@ NS_ASSUME_NONNULL_BEGIN
@interface SDLMsgVersion : SDLRPCStruct
/**
- * Convenience init with a version string
- *
- * @param versionString A version string in the following format: @"majorVersion.minorVersion.patchVersion" Example: @"6.0.0"
- * @return A SDLMsgVersion object
-*/
-+ (nullable instancetype)versionWithString:(NSString *)versionString;
-
-/**
* Convenience init for all parameters.
*
* @param majorVersion Major version
diff --git a/SmartDeviceLink/public/SDLMsgVersion.m b/SmartDeviceLink/public/SDLMsgVersion.m
index e3099c548..ee0dc04fa 100644
--- a/SmartDeviceLink/public/SDLMsgVersion.m
+++ b/SmartDeviceLink/public/SDLMsgVersion.m
@@ -12,17 +12,6 @@
@implementation SDLMsgVersion
-+ (nullable instancetype)versionWithString:(NSString *)versionString {
- NSArray<NSString *> *components = [versionString componentsSeparatedByString:@"."];
- if (components.count != 3) {
- return nil;
- }
- const UInt8 majorVersion = (UInt8)components[0].intValue;
- const UInt8 minorVersion = (UInt8)components[1].intValue;
- const UInt8 patchVersion = (UInt8)components[2].intValue;
- return [[self alloc] initWithMajorVersion:majorVersion minorVersion:minorVersion patchVersion:patchVersion];
-}
-
- (instancetype)initWithMajorVersion:(UInt8)majorVersion minorVersion:(UInt8)minorVersion patchVersion:(UInt8)patchVersion {
self = [self init];
if (!self) {
diff --git a/SmartDeviceLink/public/SDLOnAppCapabilityUpdated.h b/SmartDeviceLink/public/SDLOnAppCapabilityUpdated.h
new file mode 100644
index 000000000..47c9389ec
--- /dev/null
+++ b/SmartDeviceLink/public/SDLOnAppCapabilityUpdated.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2021, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consortium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SDLRPCNotification.h"
+
+@class SDLAppCapability;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A notification to inform SDL Core that a specific app capability has changed.
+ *
+ * @added in SmartDeviceLink 7.1.0
+ */
+@interface SDLOnAppCapabilityUpdated : SDLRPCNotification
+
+/**
+ * @param appCapability - appCapability
+ * @return A SDLOnAppCapabilityUpdated object
+ */
+- (instancetype)initWithAppCapability:(SDLAppCapability *)appCapability;
+
+/**
+ * The app capability that has been updated
+ */
+@property (strong, nonatomic) SDLAppCapability *appCapability;
+
+@end
+
+NS_ASSUME_NONNULL_END \ No newline at end of file
diff --git a/SmartDeviceLink/public/SDLOnAppCapabilityUpdated.m b/SmartDeviceLink/public/SDLOnAppCapabilityUpdated.m
new file mode 100644
index 000000000..b89d75b13
--- /dev/null
+++ b/SmartDeviceLink/public/SDLOnAppCapabilityUpdated.m
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2021, SmartDeviceLink Consortium, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of the SmartDeviceLink Consortium Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "NSMutableDictionary+Store.h"
+#import "SDLAppCapability.h"
+#import "SDLOnAppCapabilityUpdated.h"
+#import "SDLRPCFunctionNames.h"
+#import "SDLRPCParameterNames.h"
+
+NS_ASSUME_NONNULL_BEGIN
+@implementation SDLOnAppCapabilityUpdated
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+- (instancetype)init {
+ self = [super initWithName:SDLRPCFunctionNameOnAppCapabilityUpdated];
+ if (!self) {
+ return nil;
+ }
+ return self;
+}
+#pragma clang diagnostic pop
+
+- (instancetype)initWithAppCapability:(SDLAppCapability *)appCapability {
+ self = [self init];
+ if (!self) {
+ return nil;
+ }
+ self.appCapability = appCapability;
+ return self;
+}
+
+- (void)setAppCapability:(SDLAppCapability *)appCapability {
+ [self.parameters sdl_setObject:appCapability forName:SDLRPCParameterNameAppCapability];
+}
+
+- (SDLAppCapability *)appCapability {
+ NSError *error = nil;
+ return [self.parameters sdl_objectForName:SDLRPCParameterNameAppCapability ofClass:SDLAppCapability.class error:&error];
+}
+
+@end
+
+NS_ASSUME_NONNULL_END \ No newline at end of file
diff --git a/SmartDeviceLink/public/SDLRegisterAppInterface.m b/SmartDeviceLink/public/SDLRegisterAppInterface.m
index 7b55f7194..f5a4d5025 100644
--- a/SmartDeviceLink/public/SDLRegisterAppInterface.m
+++ b/SmartDeviceLink/public/SDLRegisterAppInterface.m
@@ -63,7 +63,6 @@ NS_ASSUME_NONNULL_BEGIN
self.hmiDisplayLanguageDesired = languageDesired;
- self.sdlMsgVersion = [SDLMsgVersion versionWithString:SDLMaxProxyRPCVersion];
self.appInfo = [SDLAppInfo currentAppInfo];
self.deviceInfo = [SDLDeviceInfo currentDevice];
self.correlationID = @1;
diff --git a/SmartDeviceLink/public/SDLStreamingMediaConfiguration.h b/SmartDeviceLink/public/SDLStreamingMediaConfiguration.h
index 28507ce09..5a4b7a3a2 100644
--- a/SmartDeviceLink/public/SDLStreamingMediaConfiguration.h
+++ b/SmartDeviceLink/public/SDLStreamingMediaConfiguration.h
@@ -12,8 +12,8 @@
@protocol SDLSecurityType;
@protocol SDLStreamingMediaManagerDataSource;
-@protocol SDLStreamingMediaDelegate;
-@class SDLSupportedStreamingRange;
+@protocol SDLStreamingVideoDelegate;
+@class SDLVideoStreamingRange;
NS_ASSUME_NONNULL_BEGIN
@@ -83,9 +83,9 @@ typedef NS_ENUM(NSUInteger, SDLCarWindowRenderingType) {
*/
@property (assign, nonatomic) BOOL allowMultipleViewControllerOrientations;
-@property (strong, nonatomic, nullable) SDLSupportedStreamingRange *supportedLandscapeStreamingRange;
-@property (strong, nonatomic, nullable) SDLSupportedStreamingRange *supportedPortraitStreamingRange;
-@property (weak, nonatomic, nullable) id<SDLStreamingMediaDelegate> delegate;
+@property (strong, nonatomic, nullable) SDLVideoStreamingRange *supportedLandscapeStreamingRange;
+@property (strong, nonatomic, nullable) SDLVideoStreamingRange *supportedPortraitStreamingRange;
+@property (weak, nonatomic, nullable) id<SDLStreamingVideoDelegate> delegate;
/**
Create an insecure video streaming configuration. No security managers will be provided and the encryption flag will be set to None. If you'd like custom video encoder settings, you can set the property manually.
diff --git a/SmartDeviceLink/public/SDLStreamingMediaDelegate.h b/SmartDeviceLink/public/SDLStreamingMediaDelegate.h
deleted file mode 100644
index af3e11d03..000000000
--- a/SmartDeviceLink/public/SDLStreamingMediaDelegate.h
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// SDLStreamingMediaDelegate.h
-// SmartDeviceLink
-//
-// Created on 6/11/20.
-//
-
-#import <UIKit/UIKit.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@protocol SDLStreamingMediaDelegate <NSObject>
-
-- (void)videoManager:(id)manager didUpdateSize:(CGSize)displaySize;
-
-- (void)videoManagerDidStop:(id)manager;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLStreamingVideoDelegate.h b/SmartDeviceLink/public/SDLStreamingVideoDelegate.h
new file mode 100644
index 000000000..2fa23931c
--- /dev/null
+++ b/SmartDeviceLink/public/SDLStreamingVideoDelegate.h
@@ -0,0 +1,18 @@
+//
+// SDLStreamingVideoDelegate.h
+// SmartDeviceLink
+//
+// Created on 6/11/20.
+//
+
+#import <CoreGraphics/CGGeometry.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol SDLStreamingVideoDelegate <NSObject>
+
+- (void)videoStreamingSizeDidUpdate:(CGSize)displaySize;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLSystemCapabilityManager.h b/SmartDeviceLink/public/SDLSystemCapabilityManager.h
index 131ff775f..42467a2fb 100644
--- a/SmartDeviceLink/public/SDLSystemCapabilityManager.h
+++ b/SmartDeviceLink/public/SDLSystemCapabilityManager.h
@@ -295,8 +295,6 @@ typedef void (^SDLCapabilityUpdateWithErrorHandler)(SDLSystemCapability * _Nulla
/// @param observer The object that will be unsubscribed. If a block was subscribed, the return value should be passed. If a selector was subscribed, the observer object should be passed.
- (void)unsubscribeFromCapabilityType:(SDLSystemCapabilityType)type withObserver:(id)observer;
-- (void)unsubscribeObserver:(id)observer;
-
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLSystemCapabilityManager.m b/SmartDeviceLink/public/SDLSystemCapabilityManager.m
index 91a97e9ad..bd61a2e05 100644
--- a/SmartDeviceLink/public/SDLSystemCapabilityManager.m
+++ b/SmartDeviceLink/public/SDLSystemCapabilityManager.m
@@ -315,8 +315,11 @@ typedef NSString * SDLServiceID;
}
return self.hmiCapabilities.videoStreaming.boolValue;
+ } else {
+ return NO;
}
+
return NO;
}
@@ -385,7 +388,7 @@ typedef NSString * SDLServiceID;
return;
}
- if (!response.success.boolValue) {
+ if (response.success.boolValue == false) {
SDLLogE(@"GetSystemCapability failed, type: %@, error: %@", type, error);
if (handler == nil) { return; }
handler(nil, NO, error);
@@ -557,7 +560,8 @@ typedef NSString * SDLServiceID;
SDLSystemCapabilityObserver *observerObject = [[SDLSystemCapabilityObserver alloc] initWithObserver:observer selector:selector];
- return [self sdl_subscribeToCapabilityType:type observerObject:observerObject] != nil;
+ id<NSObject> subscribedObserver = [self sdl_subscribeToCapabilityType:type observerObject:observerObject];
+ return subscribedObserver == nil ? NO : YES;
}
/// Helper method for subscribing to a system capability type
@@ -571,13 +575,13 @@ typedef NSString * SDLServiceID;
return nil;
}
- const NSUInteger observersCount = self.capabilityObservers[type].count;
- // store the observer
- [self sdl_addSyncObserver:observerObject ofType:type];
-
- if (observersCount == 0) {
+ if (self.capabilityObservers[type] == nil) {
SDLLogD(@"This is the first subscription to capability type: %@, sending a GetSystemCapability with subscribe true", type);
+ [SDLGlobals runSyncOnSerialSubQueue:self.readWriteQueue block:^{
+ self.capabilityObservers[type] = [NSMutableArray arrayWithObject:observerObject];
+ }];
+
// We don't want to send this for the displays type because that's automatically subscribed
if (![type isEqualToEnum:SDLSystemCapabilityTypeDisplays]) {
[self sdl_sendGetSystemCapabilityWithType:type subscribe:@YES completionHandler:nil];
@@ -586,25 +590,17 @@ typedef NSString * SDLServiceID;
[self sdl_invokeObserver:observerObject withCapabilityType:type capability:[self sdl_cachedCapabilityForType:type] error:nil];
}
} else {
- // Call the observer immediately with the cached value
- SDLSystemCapability *cachedCapability = [self sdl_cachedCapabilityForType:type];
- if (!cachedCapability) {
- SDLLogW(@"No cached capability of type: %@, send a GetSystemCapability request (or wait for one) to fix it", type);
- }
- [self sdl_invokeObserver:observerObject withCapabilityType:type capability:cachedCapability error:nil];
+ // Store the observer and call it immediately with the cached value
+ [SDLGlobals runSyncOnSerialSubQueue:self.readWriteQueue block:^{
+ [self.capabilityObservers[type] addObject:observerObject];
+ }];
+
+ [self sdl_invokeObserver:observerObject withCapabilityType:type capability:[self sdl_cachedCapabilityForType:type] error:nil];
}
return observerObject.observer;
}
-- (void)unsubscribeObserver:(id)observer {
- if (observer) {
- for (SDLSystemCapabilityType type in self.capabilityObservers.allKeys) {
- [self unsubscribeFromCapabilityType:type withObserver:observer];
- }
- }
-}
-
#pragma mark Unubscribing
- (void)unsubscribeFromCapabilityType:(SDLSystemCapabilityType)type withObserver:(id)observer {
@@ -656,20 +652,6 @@ typedef NSString * SDLServiceID;
}
}
-- (void)sdl_addSyncObserver:(SDLSystemCapabilityObserver *)observerObject ofType:(SDLSystemCapabilityType)type {
- NSMutableDictionary<SDLSystemCapabilityType, NSMutableArray<SDLSystemCapabilityObserver *> *> *strongObservers = self.capabilityObservers;
-
- // Store the observer and call it immediately with the cached value
- [SDLGlobals runSyncOnSerialSubQueue:self.readWriteQueue block:^{
- NSMutableArray<SDLSystemCapabilityObserver *> *typeObservers = strongObservers[type];
- if (!typeObservers) {
- typeObservers = [NSMutableArray arrayWithCapacity:4];
- strongObservers[type] = typeObservers;
- }
- [typeObservers addObject:observerObject];
- }];
-}
-
#pragma mark Notifying Subscribers
/// Calls all observers of a capability type with an updated capability
@@ -685,9 +667,8 @@ typedef NSString * SDLServiceID;
[self sdl_invokeObserver:observer withCapabilityType:type capability:capability error:error];
}
- if (handler) {
- handler(capability, self.subscriptionStatus[type].boolValue, error);
- }
+ if (handler == nil) { return; }
+ handler(capability, self.subscriptionStatus[type].boolValue, error);
}
- (void)sdl_invokeObserver:(SDLSystemCapabilityObserver *)observer withCapabilityType:(SDLSystemCapabilityType)type capability:(nullable SDLSystemCapability *)capability error:(nullable NSError *)error {
@@ -754,8 +735,7 @@ typedef NSString * SDLServiceID;
self.hmiZoneCapabilities = response.hmiZoneCapabilities;
self.speechCapabilities = response.speechCapabilities;
self.prerecordedSpeechCapabilities = response.prerecordedSpeech;
- NSArray<SDLVRCapabilities> *vrCapabilities = response.vrCapabilities;
- self.vrCapability = (vrCapabilities.count > 0 && [vrCapabilities.firstObject isEqualToEnum:SDLVRCapabilitiesText]);
+ self.vrCapability = (response.vrCapabilities.count > 0 && [response.vrCapabilities.firstObject isEqualToEnum:SDLVRCapabilitiesText]) ? YES : NO;
self.audioPassThruCapabilities = response.audioPassThruCapabilities;
self.pcmStreamCapability = response.pcmStreamCapabilities;
diff --git a/SmartDeviceLink/public/SDLVersion.h b/SmartDeviceLink/public/SDLVersion.h
index a056c3351..1cd50510f 100644
--- a/SmartDeviceLink/public/SDLVersion.h
+++ b/SmartDeviceLink/public/SDLVersion.h
@@ -34,7 +34,6 @@ NS_ASSUME_NONNULL_BEGIN
/// @param patch Patch version
/// @return An SDLVersion object
- (instancetype)initWithMajor:(NSUInteger)major minor:(NSUInteger)minor patch:(NSUInteger)patch;
-- (instancetype)initWithVersion:(NSUInteger)major :(NSUInteger)minor :(NSUInteger)patch;
/// Convenience init
///
@@ -43,7 +42,6 @@ NS_ASSUME_NONNULL_BEGIN
/// @param patch Patch version
/// @return An SDLVersion object
+ (instancetype)versionWithMajor:(NSUInteger)major minor:(NSUInteger)minor patch:(NSUInteger)patch;
-+ (instancetype)version:(NSUInteger)major :(NSUInteger)minor :(NSUInteger)patch;
/// Convenience init
///
diff --git a/SmartDeviceLink/public/SDLVersion.m b/SmartDeviceLink/public/SDLVersion.m
index 530c36eb2..75ddd42f9 100644
--- a/SmartDeviceLink/public/SDLVersion.m
+++ b/SmartDeviceLink/public/SDLVersion.m
@@ -28,18 +28,10 @@ NS_ASSUME_NONNULL_BEGIN
return self;
}
-- (instancetype)initWithVersion:(NSUInteger)major :(NSUInteger)minor :(NSUInteger)patch {
- return [self initWithMajor:major minor:minor patch:patch];
-}
-
+ (instancetype)versionWithMajor:(NSUInteger)major minor:(NSUInteger)minor patch:(NSUInteger)patch {
return [[self alloc] initWithMajor:major minor:minor patch:patch];
}
-+ (instancetype)version:(NSUInteger)major :(NSUInteger)minor :(NSUInteger)patch {
- return [[self alloc] initWithVersion:major:minor:patch];
-}
-
- (nullable instancetype)initWithString:(NSString *)versionString {
self = [super init];
if (!self) { return nil; }
diff --git a/SmartDeviceLink/public/SDLVideoStreamingCapability.h b/SmartDeviceLink/public/SDLVideoStreamingCapability.h
index 1d6b1cb49..3bbfa426f 100644
--- a/SmartDeviceLink/public/SDLVideoStreamingCapability.h
+++ b/SmartDeviceLink/public/SDLVideoStreamingCapability.h
@@ -98,18 +98,14 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property (nullable, strong, nonatomic) NSNumber<SDLFloat> *scale;
-// note: it can be a recursion under certain circumstances
-@property (nullable, strong, nonatomic) NSArray <SDLVideoStreamingCapability*> *additionalVideoStreamingCapabilities;
-
-// this returns a copy array of all capabilities including itself but with no recursion
-// in the result objects the .additionalVideoStreamingCapabilities will be nil
-- (NSArray <SDLVideoStreamingCapability*> *)allVideoStreamingCapabilitiesPlain;
-
-- (SDLImageResolution *)makeImageResolution;
-
-- (NSArray<SDLImageResolution *> *)allImageResolutionsScaled;
+/**
+ * {"array_min_size": 1, "array_max_size": 100}
+ *
+ * @added in SmartDeviceLink 7.1.0
+ * @note can be recursive under certain circumstances
+ */
+@property (nullable, strong, nonatomic) NSArray<SDLVideoStreamingCapability *> *additionalVideoStreamingCapabilities;
-- (NSArray<SDLImageResolution *> *)allImageResolutions;
/**
* The preferred frame rate per second of the head unit. The mobile application / app library may take other factors into account that constrain the frame rate lower than this value, but it should not perform streaming at a higher frame rate than this value.
* {"num_min_value": 0, "num_max_value": 2147483647}
diff --git a/SmartDeviceLink/public/SDLVideoStreamingCapability.m b/SmartDeviceLink/public/SDLVideoStreamingCapability.m
index 7fe755cb7..d004762d2 100644
--- a/SmartDeviceLink/public/SDLVideoStreamingCapability.m
+++ b/SmartDeviceLink/public/SDLVideoStreamingCapability.m
@@ -6,7 +6,7 @@
// Copyright © 2017 smartdevicelink. All rights reserved.
//
-#import "SDLImageResolution.h"
+#import "SDLImageResolution + StreamingVideoExtensions.h"
#import "SDLVideoStreamingCapability.h"
#import "SDLVideoStreamingFormat.h"
@@ -104,133 +104,6 @@ NS_ASSUME_NONNULL_BEGIN
return [self.store sdl_objectsForName:SDLRPCParameterNameAdditionalVideoStreamingCapabilities ofClass:SDLVideoStreamingCapability.class error:&error];
}
-// note: it does not copy additionalVideoStreamingCapabilities
-- (instancetype)shortCopy {
- typeof(self) aCopy = [[self class] new];
-#define COPY_PROP(property) aCopy.property = self.property
- COPY_PROP(preferredResolution);
- COPY_PROP(maxBitrate);
- COPY_PROP(supportedFormats);
- COPY_PROP(preferredResolution);
- COPY_PROP(hapticSpatialDataSupported);
- COPY_PROP(diagonalScreenSize);
- COPY_PROP(pixelPerInch);
- COPY_PROP(scale);
-#undef COPY_PROP
- return aCopy;
-}
-
-- (NSArray <SDLVideoStreamingCapability *> *)allVideoStreamingCapabilitiesPlain {
- NSMutableArray *capabilitiesArray = [NSMutableArray arrayWithObject:[self shortCopy]];
- for (SDLVideoStreamingCapability *capability in self.additionalVideoStreamingCapabilities) {
- NSArray *childCapabilities = [capability allVideoStreamingCapabilitiesPlain];
- if (childCapabilities.count) {
- [capabilitiesArray addObjectsFromArray:childCapabilities];
- }
- }
- return capabilitiesArray;
-}
-
-- (SDLImageResolution *)makeImageResolution {
- const float scale = (self.scale == nil) ? 1.0 : self.scale.floatValue;
- const CGSize size = [SDLStreamingVideoScaleManager scale:scale size:self.preferredResolution.makeSize];
- return [[SDLImageResolution alloc] initWithWidth:(uint16_t)size.width height:(uint16_t)size.height];
-}
-
-- (NSArray<SDLImageResolution *> *)allImageResolutions {
- NSMutableArray<SDLImageResolution *> *resolutions = [NSMutableArray arrayWithCapacity:self.additionalVideoStreamingCapabilities.count + 1];
- if (self.preferredResolution) {
- [resolutions addObject:self.preferredResolution];
- }
- for (SDLVideoStreamingCapability *nextCapability in self.additionalVideoStreamingCapabilities) {
- if (nextCapability.preferredResolution) {
- [resolutions addObject:nextCapability.preferredResolution];
- }
- }
- return resolutions;
-}
-
-- (NSArray<SDLImageResolution *> *)allImageResolutionsScaled {
- NSMutableArray<SDLImageResolution *> *resolutions = [NSMutableArray arrayWithCapacity:self.additionalVideoStreamingCapabilities.count + 1];
- SDLImageResolution *imgResolution = [self makeImageResolution];
- if (imgResolution) {
- [resolutions addObject:imgResolution];
- }
- for (SDLVideoStreamingCapability *nextCapability in self.additionalVideoStreamingCapabilities) {
- SDLImageResolution *imgResolution = [nextCapability makeImageResolution];
- if (imgResolution) {
- [resolutions addObject:imgResolution];
- }
- }
- return resolutions;
-}
-
-#define EQUAL_RES ((self.preferredResolution == nil && other.preferredResolution == nil) ? YES : [self.preferredResolution isEqual:other.preferredResolution])
-#define EQUAL_NUM(property) ((self.property == nil && other.property == nil) ? YES : [self.property isEqualToNumber:other.property])
-
-- (BOOL)isEqual:(id)object {
- if (![object isKindOfClass:self.class]) {
- return NO;
- }
- typeof(self) other = object;
- if (!EQUAL_RES) {
- return NO;
- }
- if (!EQUAL_NUM(maxBitrate)) {
- return NO;
- }
- if (!EQUAL_NUM(diagonalScreenSize)) {
- return NO;
- }
- if (!EQUAL_NUM(pixelPerInch)) {
- return NO;
- }
- if (!EQUAL_NUM(scale)) {
- return NO;
- }
- return YES;
-}
-
-#undef EQUAL_RES
-#undef EQUAL_NUM
-
-- (NSString *)description {
- NSMutableString *formats = [NSMutableString string];
- [formats setString:@"supportedFormats:"];
- for (SDLVideoStreamingFormat *f in self.supportedFormats) {
- [formats appendFormat:@"%@; ", f];
- }
- NSString *strClass = [NSString stringWithFormat:@"<%@:%p>", NSStringFromClass(self.class), self];
- NSString *strResolution = [NSString stringWithFormat:@"preferredResolution:%@", self.preferredResolution];
- NSString *strBitrate = [NSString stringWithFormat:@"maxBitrate:%@", self.maxBitrate];
- NSString *strHaptic = [NSString stringWithFormat:@"hapticSpatialDataSupported:%@", self.hapticSpatialDataSupported == nil ? @"(nil)" : (self.hapticSpatialDataSupported.boolValue ? @"YES" : @"NO")];
- NSString *strDiagonal = [NSString stringWithFormat:@"diagonalScreenSize:%@", self.diagonalScreenSize];
- NSString *strPPI = [NSString stringWithFormat:@"pixelPerInch:%@", self.pixelPerInch];
- NSString *strScale = [NSString stringWithFormat:@"scale:%@", self.scale];
- NSString *strAdditionalVideoStreamingCapabilities = [NSString stringWithFormat:@"additionalVideoStreamingCapabilities[%d]:%@", (int)self.additionalVideoStreamingCapabilities.count, self.additionalVideoStreamingCapabilities];
-
- NSMutableString *resultDescription = [NSMutableString stringWithCapacity:strClass.length + strResolution.length + strBitrate.length + strHaptic.length + strDiagonal.length + strPPI.length + strScale.length + strAdditionalVideoStreamingCapabilities.length + 20];
- [resultDescription appendString:strClass];
- [resultDescription appendString:@"{\n\t"];
- [resultDescription appendString:strResolution];
- [resultDescription appendString:@"\n\t"];
- [resultDescription appendString:strBitrate];
- [resultDescription appendString:@"\n\t"];
- [resultDescription appendString:strHaptic];
- [resultDescription appendString:@"\n\t"];
- [resultDescription appendString:strDiagonal];
- [resultDescription appendString:@"\n\t"];
- [resultDescription appendString:strPPI];
- [resultDescription appendString:@"\n\t"];
- [resultDescription appendString:strScale];
- [resultDescription appendString:@"\n\t"];
- [resultDescription appendString:strAdditionalVideoStreamingCapabilities];
- [resultDescription appendString:@"}"];
-
- // return immutable copy
- return [resultDescription copy];
-}
-
- (void)setPreferredFPS:(nullable NSNumber<SDLUInt> *)preferredFPS {
[self.store sdl_setObject:preferredFPS forName:SDLRPCParameterNamePreferredFPS];
}
diff --git a/SmartDeviceLink/public/SDLSupportedStreamingRange.h b/SmartDeviceLink/public/SDLVideoStreamingRange.h
index e9749bab8..a414225c1 100644
--- a/SmartDeviceLink/public/SDLSupportedStreamingRange.h
+++ b/SmartDeviceLink/public/SDLVideoStreamingRange.h
@@ -1,5 +1,5 @@
//
-// SDLSupportedStreamingRange.h
+// SDLVideoStreamingRange.h
// SmartDeviceLink
//
// Created on 6/11/20.
@@ -11,7 +11,7 @@
NS_ASSUME_NONNULL_BEGIN
-@interface SDLSupportedStreamingRange : NSObject <NSCopying>
+@interface SDLVideoStreamingRange : NSObject <NSCopying>
// The minimum supported normalized aspect ratio, Min value is 1
@property (nonatomic, assign) float minimumAspectRatio;
@@ -37,7 +37,7 @@ NS_ASSUME_NONNULL_BEGIN
// Check if the argument is within the [.minimumAspectRatio, .maximumAspectRatio] range
- (BOOL)isAspectRatioInRange:(float)aspectRatio;
-- (instancetype)initWithResolutionsMinimum:(SDLImageResolution *)minResolution maximun:(SDLImageResolution *)maxResolution;
+- (instancetype)initWithMinimumResolution:(SDLImageResolution *)minResolution maximumResolution:(SDLImageResolution *)maxResolution;
@end
diff --git a/SmartDeviceLink/public/SDLSupportedStreamingRange.m b/SmartDeviceLink/public/SDLVideoStreamingRange.m
index 32d97de26..4fb77d3d4 100644
--- a/SmartDeviceLink/public/SDLSupportedStreamingRange.m
+++ b/SmartDeviceLink/public/SDLVideoStreamingRange.m
@@ -1,17 +1,17 @@
//
-// SDLSupportedStreamingRange.m
+// SDLVideoStreamingRange.m
// SmartDeviceLink
//
// Created on 6/11/20.
//
-#import "SDLSupportedStreamingRange.h"
-#import "SDLImageResolution.h"
+#import "SDLVideoStreamingRange.h"
+#import "SDLImageResolution + StreamingVideoExtensions.h"
#import "SDLLogMacros.h"
-@implementation SDLSupportedStreamingRange
+@implementation SDLVideoStreamingRange
-- (instancetype)initWithResolutionsMinimum:(SDLImageResolution *)minResolution maximun:(SDLImageResolution *)maxResolution {
+- (instancetype)initWithMinimumResolution:(SDLImageResolution *)minResolution maximumResolution:(SDLImageResolution *)maxResolution {
if ((self = [super init])) {
if (minResolution && maxResolution) {
// if both min and max present then min must be below max
diff --git a/SmartDeviceLink/public/SmartDeviceLink.h b/SmartDeviceLink/public/SmartDeviceLink.h
index 150af3345..d1a5fcf71 100644
--- a/SmartDeviceLink/public/SmartDeviceLink.h
+++ b/SmartDeviceLink/public/SmartDeviceLink.h
@@ -305,6 +305,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[];
#pragma mark Enums
#import "SDLAmbientLightStatus.h"
+#import "SDLAppCapabilityType.h"
#import "SDLAppHMIType.h"
#import "SDLAppInterfaceUnregisteredReason.h"
#import "SDLAppServiceType.h"
@@ -436,11 +437,11 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[];
#import "SDLTouchManager.h"
#import "SDLTouchManagerDelegate.h"
#import "SDLSecurityType.h"
-#import "SDLStreamingMediaDelegate.h"
+#import "SDLStreamingVideoDelegate.h"
#import "SDLSeekStreamingIndicator.h"
#import "SDLStreamingMediaManagerDataSource.h"
#import "SDLStreamingVideoScaleManager.h"
-#import "SDLSupportedStreamingRange.h"
+#import "SDLVideoStreamingRange.h"
#pragma mark Files
#import "SDLArtwork.h"
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m
index d532d17d4..d5492c4c6 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleManagerSpec.m
@@ -21,7 +21,6 @@
#import "SDLLockScreenManager.h"
#import "SDLLogConfiguration.h"
#import "SDLManagerDelegate.h"
-#import "SDLMsgVersion.h"
#import "SDLNotificationDispatcher.h"
#import "SDLOnAppInterfaceUnregistered.h"
#import "SDLOnAppServiceData.h"
@@ -109,17 +108,10 @@ describe(@"test lifecycle manager internals", ^{
it(@"expect object to be created", ^{
expect(manager).notTo(beNil());
});
- const UInt8 majorVersion = 9;
- const UInt8 minorVersion = 8;
- const UInt8 patchVersion = 7;
- SDLMsgVersion *expectedVersion = [[SDLMsgVersion alloc] initWithMajorVersion:majorVersion minorVersion:minorVersion patchVersion:patchVersion];
- manager.sdlMsgVersionString = [NSString stringWithFormat:@"%d.%d.%d", (int)majorVersion, (int)minorVersion, (int)patchVersion];
context(@"didEnterStateConnected", ^{
[manager didEnterStateConnected];
- it(@"expect request to be of proper kind and with a proper version", ^{
+ it(@"expect request to be of proper kind", ^{
expect([manager.testRequest isKindOfClass:SDLRegisterAppInterface.class]).to(equal(YES));
- SDLRegisterAppInterface *regRequest = manager.testRequest;
- expect([regRequest.sdlMsgVersion isEqual:expectedVersion]).to(equal(YES));
});
});
});
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m
index c64c9ec24..76c4aa76c 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m
@@ -35,7 +35,7 @@
#import "SDLStreamingMediaConfiguration.h"
#import "SDLStreamingVideoLifecycleManager.h"
#import "SDLStreamingVideoScaleManager.h"
-#import "SDLSupportedStreamingRange.h"
+#import "SDLVideoStreamingRange.h"
#import "SDLSystemCapability.h"
#import "SDLSystemCapabilityManager.h"
#import "SDLV2ProtocolHeader.h"
@@ -56,9 +56,9 @@
@property (copy, nonatomic, readonly) NSString *appName;
@property (copy, nonatomic, readonly) NSString *videoStreamBackgroundString;
@property (copy, nonatomic, nullable) NSString *connectedVehicleMake;
-@property (strong, nonatomic, nullable) SDLSupportedStreamingRange *supportedLandscapeStreamingRange;
-@property (strong, nonatomic, nullable) SDLSupportedStreamingRange *supportedPortraitStreamingRange;
-@property (weak, nonatomic, nullable) id<SDLStreamingMediaDelegate> delegate;
+@property (strong, nonatomic, nullable) SDLVideoStreamingRange *supportedLandscapeStreamingRange;
+@property (strong, nonatomic, nullable) SDLVideoStreamingRange *supportedPortraitStreamingRange;
+@property (weak, nonatomic, nullable) id<SDLStreamingVideoDelegate> delegate;
@property (assign, nonatomic) BOOL shouldAutoResume;
@property (strong, nonatomic, nullable) SDLVideoStreamingCapability *videoStreamingCapability;
@property (strong, nonatomic, nullable) SDLVideoStreamingCapability *videoStreamingCapabilityUpdated;
@@ -148,10 +148,11 @@ describe(@"init tests", ^{
SDLFakeStreamingManagerDataSource *testDataSource = [[SDLFakeStreamingManagerDataSource alloc] init];
NSString *testAppName = @"Test App";
SDLLifecycleConfiguration *testLifecycleConfiguration = [SDLLifecycleConfiguration defaultConfigurationWithAppName:testAppName fullAppId:@""];
+ SDLVersion *version600 = [SDLVersion versionWithMajor:6 minor:0 patch:0];
// set proper version up
- [SDLGlobals sharedGlobals].rpcVersion = [SDLVersion version:6:0:0];
- [SDLGlobals sharedGlobals].maxHeadUnitProtocolVersion = [SDLVersion version:6:0:0];
+ [SDLGlobals sharedGlobals].rpcVersion = version600;
+ [SDLGlobals sharedGlobals].maxHeadUnitProtocolVersion = version600;
testConfiguration.customVideoEncoderSettings = @{(id)kVTCompressionPropertyKey_ExpectedFrameRate : @1};
testConfiguration.dataSource = testDataSource;
@@ -404,10 +405,11 @@ describe(@"runtime tests", ^{
SDLFakeStreamingManagerDataSource *testDataSource = [[SDLFakeStreamingManagerDataSource alloc] init];
NSString *testAppName = @"Test App";
SDLLifecycleConfiguration *testLifecycleConfiguration = [SDLLifecycleConfiguration defaultConfigurationWithAppName:testAppName fullAppId:@""];
+ SDLVersion *version600 = [SDLVersion versionWithMajor:6 minor:0 patch:0];
// set proper version up
- [SDLGlobals sharedGlobals].rpcVersion = [SDLVersion version:6:0:0];
- [SDLGlobals sharedGlobals].maxHeadUnitProtocolVersion = [SDLVersion version:6:0:0];
+ [SDLGlobals sharedGlobals].rpcVersion = version600;
+ [SDLGlobals sharedGlobals].maxHeadUnitProtocolVersion = version600;
testConfiguration.customVideoEncoderSettings = @{(id)kVTCompressionPropertyKey_ExpectedFrameRate : @1};
testConfiguration.dataSource = testDataSource;
@@ -1154,10 +1156,11 @@ describe(@"after sending GetSystemCapabilities", ^{
SDLCarWindowViewController *testViewController = [[SDLCarWindowViewController alloc] init];
SDLFakeStreamingManagerDataSource *testDataSource = [[SDLFakeStreamingManagerDataSource alloc] init];
SDLLifecycleConfiguration *testLifecycleConfiguration = [SDLLifecycleConfiguration defaultConfigurationWithAppName:testAppName fullAppId:@""];
+ SDLVersion *version600 = [SDLVersion versionWithMajor:6 minor:0 patch:0];
// set proper version up
- [SDLGlobals sharedGlobals].rpcVersion = [SDLVersion version:6:0:0];
- [SDLGlobals sharedGlobals].maxHeadUnitProtocolVersion = [SDLVersion version:6:0:0];
+ [SDLGlobals sharedGlobals].rpcVersion = version600;
+ [SDLGlobals sharedGlobals].maxHeadUnitProtocolVersion = version600;
testConfiguration.customVideoEncoderSettings = @{(id)kVTCompressionPropertyKey_ExpectedFrameRate : @1};
testConfiguration.dataSource = testDataSource;
@@ -1421,7 +1424,7 @@ describe(@"supported video capabilities and formats", ^{
context(@"landscape restricted and any portrait", ^{
SDLImageResolution *resMin = [[SDLImageResolution alloc] initWithWidth:320 height:200];
SDLImageResolution *resMax = [[SDLImageResolution alloc] initWithWidth:350 height:220];
- SDLSupportedStreamingRange *landRange = [[SDLSupportedStreamingRange alloc] initWithResolutionsMinimum:resMin maximun:resMax];
+ SDLVideoStreamingRange *landRange = [[SDLVideoStreamingRange alloc] initWithMinimumResolution:resMin maximumResolution:resMax];
it(@"should filter 320x200 and small and large portrait", ^{
streamingLifecycleManager.supportedLandscapeStreamingRange = landRange;
@@ -1439,12 +1442,12 @@ describe(@"supported video capabilities and formats", ^{
context(@"portrait restricted and wrong landscape", ^{
SDLImageResolution *resMinP = [[SDLImageResolution alloc] initWithWidth:200 height:320];
SDLImageResolution *resMaxP = [[SDLImageResolution alloc] initWithWidth:300 height:420];
- SDLSupportedStreamingRange *portRange = [[SDLSupportedStreamingRange alloc] initWithResolutionsMinimum:resMinP maximun:resMaxP];
+ SDLVideoStreamingRange *portRange = [[SDLVideoStreamingRange alloc] initWithMinimumResolution:resMinP maximumResolution:resMaxP];
// wrong range: max < min, nothing will pass in landscape
SDLImageResolution *resMaxL = [[SDLImageResolution alloc] initWithWidth:320 height:200];
SDLImageResolution *resMinL = [[SDLImageResolution alloc] initWithWidth:350 height:220];
- SDLSupportedStreamingRange *landRange = [[SDLSupportedStreamingRange alloc] initWithResolutionsMinimum:resMinL maximun:resMaxL];
+ SDLVideoStreamingRange *landRange = [[SDLVideoStreamingRange alloc] initWithMinimumResolution:resMinL maximumResolution:resMaxL];
it(@"should filter portrait small", ^{
streamingLifecycleManager.supportedLandscapeStreamingRange = landRange;
@@ -1461,11 +1464,11 @@ describe(@"supported video capabilities and formats", ^{
context(@"both landscape and portrait restricted", ^{
SDLImageResolution *resMinP = [[SDLImageResolution alloc] initWithWidth:200 height:320];
SDLImageResolution *resMaxP = [[SDLImageResolution alloc] initWithWidth:300 height:420];
- SDLSupportedStreamingRange *portRange = [[SDLSupportedStreamingRange alloc] initWithResolutionsMinimum:resMinP maximun:resMaxP];
+ SDLVideoStreamingRange *portRange = [[SDLVideoStreamingRange alloc] initWithMinimumResolution:resMinP maximumResolution:resMaxP];
SDLImageResolution *resMinL = [[SDLImageResolution alloc] initWithWidth:320 height:200];
SDLImageResolution *resMaxL = [[SDLImageResolution alloc] initWithWidth:350 height:220];
- SDLSupportedStreamingRange *landRange = [[SDLSupportedStreamingRange alloc] initWithResolutionsMinimum:resMinL maximun:resMaxL];
+ SDLVideoStreamingRange *landRange = [[SDLVideoStreamingRange alloc] initWithMinimumResolution:resMinL maximumResolution:resMaxL];
it(@"should filter 320x200 and portrait small", ^{
streamingLifecycleManager.supportedLandscapeStreamingRange = landRange;
@@ -1482,7 +1485,7 @@ describe(@"supported video capabilities and formats", ^{
context(@"square", ^{
SDLImageResolution *resMin = [[SDLImageResolution alloc] initWithWidth:100 height:100];
SDLImageResolution *resMax = [[SDLImageResolution alloc] initWithWidth:200 height:200];
- SDLSupportedStreamingRange *range = [[SDLSupportedStreamingRange alloc] initWithResolutionsMinimum:resMin maximun:resMax];
+ SDLVideoStreamingRange *range = [[SDLVideoStreamingRange alloc] initWithMinimumResolution:resMin maximumResolution:resMax];
range.minimumAspectRatio = 1.0;
range.maximumAspectRatio = 1.0;
range.minimumDiagonal = 1;
diff --git a/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m b/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m
index d69f030f9..c7d4e5ccb 100644
--- a/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m
+++ b/SmartDeviceLinkTests/ProtocolSpecs/MessageSpecs/SDLProtocolSpec.m
@@ -823,35 +823,4 @@ describe(@"OnProtocolClosed Tests", ^{
});
});
-describe(@"delegate table test", ^{
- id<SDLProtocolDelegate> mockDelegate = OCMProtocolMock(@protocol(SDLProtocolDelegate));
- id mockTransport = OCMProtocolMock(@protocol(SDLTransportType));
- __block SDLProtocol *testProtocol = nil;
-
- beforeEach(^{
- testProtocol = [[SDLProtocol alloc] initWithTransport:mockTransport encryptionManager:nil];
- // add the delegate twice though it must be added once only
- [testProtocol addDelegate:mockDelegate];
- [testProtocol addDelegate:mockDelegate];
- });
-
- context(@"test created protocol", ^{
- it(@"make sure object created", ^{
- expect(testProtocol).notTo(beNil());
- });
-
- it(@"expect delegates table to contain one proper delegate alone", ^{
- expect(testProtocol.protocolDelegateTable.allObjects.count).to(equal(1));
- expect(testProtocol.protocolDelegateTable.allObjects.firstObject).to(equal(mockDelegate));
- });
- });
-
- context(@"remove delegate", ^{
- it(@"expect delegates table to be empty", ^{
- [testProtocol removeDelegate:mockDelegate];
- expect(testProtocol.protocolDelegateTable.allObjects.count).to(equal(0));
- });
- });
-});
-
QuickSpecEnd
diff --git a/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppCapabilityTypeSpec.m b/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppCapabilityTypeSpec.m
new file mode 100644
index 000000000..f00f8f2af
--- /dev/null
+++ b/SmartDeviceLinkTests/RPCSpecs/EnumSpecs/SDLAppCapabilityTypeSpec.m
@@ -0,0 +1,21 @@
+//
+// SDLAppCapabilityTypeSpec.m
+// SmartDeviceLink
+
+
+#import <Foundation/Foundation.h>
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAppCapabilityType.h"
+
+
+QuickSpecBegin(SDLAppCapabilityTypeSpec)
+
+describe(@"individual enum value tests", ^{
+ it(@"should match internal values", ^{
+ expect(SDLAppCapabilityTypeVideoStreaming).to(equal(@"VIDEO_STREAMING"));
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppCapabilityUpdatedSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppCapabilityUpdatedSpec.m
index 0c99cb4eb..bcac73dfa 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppCapabilityUpdatedSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppCapabilityUpdatedSpec.m
@@ -16,10 +16,13 @@ QuickSpecBegin(SDLOnAppCapabilityUpdatedSpec)
describe(@"getter/setter tests", ^{
SDLVideoStreamingCapability *videoStreamingCapability = [[SDLVideoStreamingCapability alloc] init];
- SDLAppCapability *appCapability = [[SDLAppCapability alloc] initWithVideoStreamingCapability:videoStreamingCapability];
+ SDLAppCapability *appCapability = [[SDLAppCapability alloc] initWithAppCapabilityType:SDLAppCapabilityTypeVideoStreaming videoStreamingCapability:videoStreamingCapability];
+ __block SDLOnAppCapabilityUpdated *testStruct = nil;
context(@"init", ^{
- SDLOnAppCapabilityUpdated *testStruct = [[SDLOnAppCapabilityUpdated alloc] init];
+ beforeEach(^{
+ testStruct = [[SDLOnAppCapabilityUpdated alloc] init];
+ });
it(@"expect object to be created", ^{
expect(testStruct).notTo(beNil());
});
@@ -29,8 +32,10 @@ describe(@"getter/setter tests", ^{
});
context(@"init & assign", ^{
- SDLOnAppCapabilityUpdated *testStruct = [[SDLOnAppCapabilityUpdated alloc] init];
- testStruct.appCapability = appCapability;
+ beforeEach(^{
+ testStruct = [[SDLOnAppCapabilityUpdated alloc] init];
+ testStruct.appCapability = appCapability;
+ });
it(@"expect object to be created", ^{
expect(testStruct).notTo(beNil());
});
@@ -40,7 +45,9 @@ describe(@"getter/setter tests", ^{
});
context(@"initWithVideoStreamingCapability:", ^{
- SDLOnAppCapabilityUpdated *testStruct = [[SDLOnAppCapabilityUpdated alloc] initWithAppCapability:appCapability];
+ beforeEach(^{
+ testStruct = [[SDLOnAppCapabilityUpdated alloc] initWithAppCapability:appCapability];
+ });
it(@"expect object to be created", ^{
expect(testStruct).notTo(beNil());
});
@@ -50,14 +57,16 @@ describe(@"getter/setter tests", ^{
});
context(@"initWithDictionary:", ^{
- NSDictionary *params = @{
- SDLRPCParameterNameAppCapability: appCapability,
- };
- NSDictionary* dict = @{SDLRPCParameterNameNotification: @{
- SDLRPCParameterNameParameters: params,
- SDLRPCParameterNameOperationName: SDLRPCFunctionNameOnAppCapabilityUpdated}
- };
- SDLOnAppCapabilityUpdated *testStruct = [[SDLOnAppCapabilityUpdated alloc] initWithDictionary:dict];
+ beforeEach(^{
+ NSDictionary *params = @{
+ SDLRPCParameterNameAppCapability: appCapability,
+ };
+ NSDictionary* dict = @{SDLRPCParameterNameNotification: @{
+ SDLRPCParameterNameParameters: params,
+ SDLRPCParameterNameOperationName: SDLRPCFunctionNameOnAppCapabilityUpdated}
+ };
+ testStruct = [[SDLOnAppCapabilityUpdated alloc] initWithDictionary:dict];
+ });
it(@"expect object to be created", ^{
expect(testStruct).notTo(beNil());
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppCapabilitySpec.m
index 6b3786027..d25d0c281 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppCapabilitySpec.m
@@ -8,6 +8,7 @@
#import <Quick/Quick.h>
#import "SDLAppCapability.h"
+#import "SDLAppCapabilityType.h"
#import "SDLRPCParameterNames.h"
#import "SDLVideoStreamingCapability.h"
@@ -15,10 +16,13 @@ QuickSpecBegin(SDLAppCapabilitySpec)
describe(@"getter/setter tests", ^{
SDLVideoStreamingCapability *videoStreamingCapability = [[SDLVideoStreamingCapability alloc] init];
- SDLSystemCapabilityType appCapabilityType = SDLSystemCapabilityTypeVideoStreaming;
+ SDLAppCapabilityType appCapabilityType = SDLAppCapabilityTypeVideoStreaming;
+ __block SDLAppCapability *testStruct = nil;
context(@"init", ^{
- SDLAppCapability *testStruct = [[SDLAppCapability alloc] init];
+ beforeEach(^{
+ testStruct = [[SDLAppCapability alloc] init];
+ });
it(@"make sure object created", ^{
expect(testStruct).notTo(beNil());
});
@@ -29,9 +33,11 @@ describe(@"getter/setter tests", ^{
});
context(@"init & assign", ^{
- SDLAppCapability *testStruct = [[SDLAppCapability alloc] init];
- testStruct.appCapabilityType = appCapabilityType;
- testStruct.videoStreamingCapability = videoStreamingCapability;
+ beforeEach(^{
+ testStruct = [[SDLAppCapability alloc] init];
+ testStruct.appCapabilityType = appCapabilityType;
+ testStruct.videoStreamingCapability = videoStreamingCapability;
+ });
it(@"make sure object created", ^{
expect(testStruct).notTo(beNil());
});
@@ -41,8 +47,23 @@ describe(@"getter/setter tests", ^{
});
});
+ context(@"initWithAppCapabilityType:", ^{
+ beforeEach(^{
+ testStruct = [[SDLAppCapability alloc] initWithAppCapabilityType:appCapabilityType];
+ });
+ it(@"make sure object created", ^{
+ expect(testStruct).notTo(beNil());
+ });
+ it(@"expect all properties to be set properly", ^{
+ expect(testStruct.appCapabilityType).to(equal(appCapabilityType));
+ expect(testStruct.videoStreamingCapability).to(beNil());
+ });
+ });
+
context(@"initWithVideoStreamingCapability:", ^{
- SDLAppCapability *testStruct = [[SDLAppCapability alloc] initWithVideoStreamingCapability:videoStreamingCapability];
+ beforeEach(^{
+ testStruct = [[SDLAppCapability alloc] initWithAppCapabilityType:appCapabilityType videoStreamingCapability:videoStreamingCapability];
+ });
it(@"make sure object created", ^{
expect(testStruct).notTo(beNil());
});
@@ -53,12 +74,13 @@ describe(@"getter/setter tests", ^{
});
context(@"initWithDictionary:", ^{
- NSDictionary *dict = @{
- SDLRPCParameterNameVideoStreamingCapability: videoStreamingCapability,
- SDLRPCParameterNameAppCapabilityType: appCapabilityType,
- };
- SDLAppCapability *testStruct = [[SDLAppCapability alloc] initWithDictionary:dict];
-
+ beforeEach(^{
+ NSDictionary *dict = @{
+ SDLRPCParameterNameVideoStreamingCapability: videoStreamingCapability,
+ SDLRPCParameterNameAppCapabilityType: appCapabilityType,
+ };
+ testStruct = [[SDLAppCapability alloc] initWithDictionary:dict];
+ });
it(@"make sure object created", ^{
expect(testStruct).notTo(beNil());
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
index 1c9b135c0..de69e8fd3 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
@@ -13,7 +13,7 @@
#import "SDLRPCParameterNames.h"
#import "SDLImageResolution.h"
-#import "SDLVideoStreamingCapability.h"
+#import "SDLVideoStreamingCapability + StreamingVideoExtensions.h"
#import "SDLVideoStreamingCodec.h"
#import "SDLVideoStreamingFormat.h"
#import "SDLVideoStreamingProtocol.h"
diff --git a/SmartDeviceLinkTests/SDLSupportedStreamingRangeSpec.m b/SmartDeviceLinkTests/SDLSupportedStreamingRangeSpec.m
index fbf2cbc02..bf01e85ea 100644
--- a/SmartDeviceLinkTests/SDLSupportedStreamingRangeSpec.m
+++ b/SmartDeviceLinkTests/SDLSupportedStreamingRangeSpec.m
@@ -8,7 +8,7 @@
#import <Quick/Quick.h>
#import <Nimble/Nimble.h>
-#import "SDLSupportedStreamingRange.h"
+#import "SDLVideoStreamingRange.h"
#import "SDLImageResolution.h"
QuickSpecBegin(SDLSupportedStreamingRangeSpec)
@@ -21,7 +21,7 @@ const float minimumDiagonal = 3.3;
describe(@"initialization", ^{
context(@"init", ^{
- SDLSupportedStreamingRange *streamingRange = [[SDLSupportedStreamingRange alloc] init];
+ SDLVideoStreamingRange *streamingRange = [[SDLVideoStreamingRange alloc] init];
it(@"expect object to be created with empty fields", ^{
expect(streamingRange).toNot(beNil());
@@ -34,7 +34,7 @@ describe(@"initialization", ^{
});
context(@"init and assign", ^{
- SDLSupportedStreamingRange *streamingRange = [[SDLSupportedStreamingRange alloc] init];
+ SDLVideoStreamingRange *streamingRange = [[SDLVideoStreamingRange alloc] init];
streamingRange.minimumResolution = minResolution;
streamingRange.maximumResolution = maxResolution;
streamingRange.minimumDiagonal = minimumDiagonal;
@@ -51,8 +51,8 @@ describe(@"initialization", ^{
});
});
- context(@"initWithResolutionsMinimum:maximun:", ^{
- SDLSupportedStreamingRange *streamingRange = [[SDLSupportedStreamingRange alloc] initWithResolutionsMinimum:minResolution maximun:maxResolution];
+ context(@"initWithMinimumResolution:maximumResolution:", ^{
+ SDLVideoStreamingRange *streamingRange = [[SDLVideoStreamingRange alloc] initWithMinimumResolution:minResolution maximumResolution:maxResolution];
it(@"expect min and max resolution to be set and others are not", ^{
expect(streamingRange).toNot(beNil());
expect(streamingRange.minimumResolution).to(equal(minResolution));
@@ -66,7 +66,7 @@ describe(@"initialization", ^{
describe(@"methods", ^{
context(@"isImageResolutionRangeValid", ^{
- SDLSupportedStreamingRange *streamingRange = [[SDLSupportedStreamingRange alloc] init];
+ SDLVideoStreamingRange *streamingRange = [[SDLVideoStreamingRange alloc] init];
beforeEach(^{
streamingRange.minimumResolution = nil;
@@ -85,7 +85,7 @@ describe(@"methods", ^{
});
context(@"isAspectRatioInRange:", ^{
- SDLSupportedStreamingRange *streamingRange = [[SDLSupportedStreamingRange alloc] init];
+ SDLVideoStreamingRange *streamingRange = [[SDLVideoStreamingRange alloc] init];
beforeEach(^{
streamingRange.minimumAspectRatio = minimumAspectRatio;
@@ -108,7 +108,7 @@ describe(@"methods", ^{
});
context(@"isImageResolutionInRange:", ^{
- SDLSupportedStreamingRange *streamingRange = [[SDLSupportedStreamingRange alloc] initWithResolutionsMinimum:minResolution maximun:maxResolution];
+ SDLVideoStreamingRange *streamingRange = [[SDLVideoStreamingRange alloc] initWithMinimumResolution:minResolution maximumResolution:maxResolution];
const int width = (minResolution.resolutionWidth.intValue + maxResolution.resolutionWidth.intValue) >> 1;
const int height = (minResolution.resolutionHeight.intValue + maxResolution.resolutionHeight.intValue) >> 1;
SDLImageResolution *midResolution = [[SDLImageResolution alloc] initWithWidth:(uint16_t)width height:(uint16_t)height];
diff --git a/SmartDeviceLinkTests/TestStreamingMediaDelegate.h b/SmartDeviceLinkTests/TestStreamingMediaDelegate.h
index bd4444faf..0ead3e03e 100644
--- a/SmartDeviceLinkTests/TestStreamingMediaDelegate.h
+++ b/SmartDeviceLinkTests/TestStreamingMediaDelegate.h
@@ -7,11 +7,11 @@
//
#import <Foundation/Foundation.h>
-#import "SDLStreamingMediaDelegate.h"
+#import "SDLStreamingVideoDelegate.h"
NS_ASSUME_NONNULL_BEGIN
-@interface TestStreamingMediaDelegate : NSObject <SDLStreamingMediaDelegate>
+@interface TestStreamingMediaDelegate : NSObject <SDLStreamingVideoDelegate>
@property (nonatomic, readonly) NSArray *recordedSizes;
@property (nonatomic, assign) BOOL isStopped;
- (void)reset;
diff --git a/SmartDeviceLinkTests/TestStreamingMediaDelegate.m b/SmartDeviceLinkTests/TestStreamingMediaDelegate.m
index bdbfd9b9a..722f74e89 100644
--- a/SmartDeviceLinkTests/TestStreamingMediaDelegate.m
+++ b/SmartDeviceLinkTests/TestStreamingMediaDelegate.m
@@ -6,6 +6,7 @@
// Copyright © 2018 Luxoft. All rights reserved
//
+#import <UIKit/UIKit.h>
#import "TestStreamingMediaDelegate.h"
#import "SDLLogMacros.h"
@@ -30,16 +31,11 @@
[self.recordedSizesImp removeAllObjects];
}
-#pragma mark - SDLStreamingMediaDelegate
+#pragma mark - SDLStreamingVideoDelegate
-- (void)videoManager:(id)manager didUpdateSize:(CGSize)displaySize {
- SDLLogD(@"SDLStreamingMediaDelegate didUpdateSize: %@", NSStringFromCGSize(displaySize));
+- (void)videoStreamingSizeDidUpdate:(CGSize)displaySize {
+ SDLLogD(@"SDLStreamingVideoDelegate videoStreamingSizeDidUpdate: %@", NSStringFromCGSize(displaySize));
[self.recordedSizesImp addObject:[NSValue valueWithCGSize:displaySize]];
}
-- (void)videoManagerDidStop:(id)manager {
- SDLLogD(@"SDLStreamingMediaDelegate videoManagerDidStop");
- self.isStopped = YES;
-}
-
@end
diff --git a/generator/rpc_spec b/generator/rpc_spec
-Subproject 1a8d4a28ebdf4410a63e22ce7a1792d9e5cd7e4
+Subproject 3bb48b54421c1e26f1a28d3a9c04520cd0f8a19