chemin 3 dní pred
rodič
commit
7f82f5b1f2
100 zmenil súbory, kde vykonal 3888 pridanie a 71 odobranie
  1. BIN
      .DS_Store
  2. 0 71
      .gitignore
  3. BIN
      MSYConfig/.DS_Store
  4. BIN
      MSYConfig/source/.DS_Store
  5. 19 0
      MSYOUPAI.xcodeproj/xcuserdata/chenmin.xcuserdatad/xcschemes/xcschememanagement.plist
  6. 19 0
      MSYOUPAI.xcodeproj/xcuserdata/macmini.xcuserdatad/xcschemes/xcschememanagement.plist
  7. 19 0
      MSYOUPAI.xcodeproj/xcuserdata/uxiu.xcuserdatad/xcschemes/xcschememanagement.plist
  8. 78 0
      MSYOUPAI.xcodeproj/xcuserdata/you.xcuserdatad/xcschemes/Copy of MSYOUPAI.xcscheme
  9. 24 0
      MSYOUPAI.xcodeproj/xcuserdata/you.xcuserdatad/xcschemes/xcschememanagement.plist
  10. 10 0
      MSYOUPAI.xcworkspace/contents.xcworkspacedata
  11. 8 0
      MSYOUPAI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  12. 5 0
      MSYOUPAI.xcworkspace/xcuserdata/chenmin.xcuserdatad/IDEFindNavigatorScopes.plist
  13. BIN
      MSYOUPAI.xcworkspace/xcuserdata/chenmin.xcuserdatad/UserInterfaceState.xcuserstate
  14. BIN
      MSYOUPAI.xcworkspace/xcuserdata/macmini.xcuserdatad/UserInterfaceState.xcuserstate
  15. 132 0
      MSYOUPAI.xcworkspace/xcuserdata/macmini.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  16. 5 0
      MSYOUPAI.xcworkspace/xcuserdata/uxiu.xcuserdatad/IDEFindNavigatorScopes.plist
  17. BIN
      MSYOUPAI.xcworkspace/xcuserdata/uxiu.xcuserdatad/UserInterfaceState.xcuserstate
  18. 306 0
      MSYOUPAI.xcworkspace/xcuserdata/uxiu.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  19. 5 0
      MSYOUPAI.xcworkspace/xcuserdata/you.xcuserdatad/IDEFindNavigatorScopes.plist
  20. BIN
      MSYOUPAI.xcworkspace/xcuserdata/you.xcuserdatad/UserInterfaceState.xcuserstate
  21. 118 0
      MSYOUPAI.xcworkspace/xcuserdata/you.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  22. BIN
      MSYOUPAI/.DS_Store
  23. BIN
      MSYOUPAI/3rd/.DS_Store
  24. BIN
      MSYOUPAI/3rd/ATAuthSDK_D.framework/.DS_Store
  25. BIN
      MSYOUPAI/3rd/LZBKeyBoardView/.DS_Store
  26. BIN
      MSYOUPAI/3rd/Masonry/.DS_Store
  27. BIN
      MSYOUPAI/3rd/阿里实人认证/.DS_Store
  28. BIN
      MSYOUPAI/Class/.DS_Store
  29. BIN
      MSYOUPAI/Class/YQProfile/.DS_Store
  30. BIN
      MSYOUPAI/Media.xcassets/.DS_Store
  31. BIN
      MSYOUPAI/Media.xcassets/180/.DS_Store
  32. BIN
      MSYOUPAI/Media.xcassets/180/编辑资料/.DS_Store
  33. BIN
      MSYOUPAI/Media.xcassets/MusicLib/.DS_Store
  34. BIN
      MSYOUPAI/Media.xcassets/NewCode/.DS_Store
  35. BIN
      MSYOUPAI/Media.xcassets/NewCode/Mine/.DS_Store
  36. BIN
      MSYOUPAI/Media.xcassets/主页相关/.DS_Store
  37. BIN
      MSYOUPAI/Media.xcassets/公会/.DS_Store
  38. BIN
      MSYOUPAI/Media.xcassets/其他/.DS_Store
  39. BIN
      MSYOUPAI/Media.xcassets/即时通讯相关/.DS_Store
  40. BIN
      MSYOUPAI/Media.xcassets/发现相关/.DS_Store
  41. BIN
      MSYOUPAI/Media.xcassets/守护和青少年/.DS_Store
  42. BIN
      MSYOUPAI/Media.xcassets/无数据图片/.DS_Store
  43. BIN
      MSYOUPAI/Media.xcassets/登录相关/.DS_Store
  44. BIN
      MSYOUPAI/Media.xcassets/直播相关/.DS_Store
  45. BIN
      MSYOUPAI/Media.xcassets/美颜/.DS_Store
  46. BIN
      MSYOUPAI/Media.xcassets/视频通话相关/.DS_Store
  47. BIN
      MSYOUPAI/Media.xcassets/语音房相关/.DS_Store
  48. BIN
      MSYOUPAI/NewCode/.DS_Store
  49. BIN
      MSYOUPAI/NewCode/Module/.DS_Store
  50. BIN
      MSYOUPAI/NewCode/Module/HomePage/.DS_Store
  51. BIN
      MSYOUPAI/NewCode/SDPay/.DS_Store
  52. BIN
      MSYOUPAI/NewCode/SDPay/SDPTLib.framework/.DS_Store
  53. BIN
      MSYOUPAI/Others/.DS_Store
  54. BIN
      MSYOUPAI/Others/Utils/.DS_Store
  55. BIN
      MSYOUPAI/VQBase/.DS_Store
  56. BIN
      Pods/.DS_Store
  57. BIN
      Pods/AgoraRtcEngine_Special_iOS/.DS_Store
  58. 41 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/Info.plist
  59. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/ios-arm64_armv7/AgoraAiEchoCancellationExtension.framework/AgoraAiEchoCancellationExtension
  60. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/ios-arm64_armv7/AgoraAiEchoCancellationExtension.framework/Info.plist
  61. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAiEchoCancellationExtension.framework/AgoraAiEchoCancellationExtension
  62. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAiEchoCancellationExtension.framework/Info.plist
  63. 41 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/Info.plist
  64. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/ios-arm64_armv7/AgoraAiNoiseSuppressionExtension.framework/AgoraAiNoiseSuppressionExtension
  65. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/ios-arm64_armv7/AgoraAiNoiseSuppressionExtension.framework/Info.plist
  66. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAiNoiseSuppressionExtension.framework/AgoraAiNoiseSuppressionExtension
  67. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAiNoiseSuppressionExtension.framework/Info.plist
  68. 41 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/Info.plist
  69. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/ios-arm64_armv7/AgoraAudioBeautyExtension.framework/AgoraAudioBeautyExtension
  70. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/ios-arm64_armv7/AgoraAudioBeautyExtension.framework/Info.plist
  71. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAudioBeautyExtension.framework/AgoraAudioBeautyExtension
  72. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAudioBeautyExtension.framework/Info.plist
  73. 41 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/Info.plist
  74. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/ios-arm64_armv7/AgoraClearVisionExtension.framework/AgoraClearVisionExtension
  75. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/ios-arm64_armv7/AgoraClearVisionExtension.framework/Info.plist
  76. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/ios-arm64_x86_64-simulator/AgoraClearVisionExtension.framework/AgoraClearVisionExtension
  77. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/ios-arm64_x86_64-simulator/AgoraClearVisionExtension.framework/Info.plist
  78. 41 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/Info.plist
  79. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/ios-arm64_armv7/AgoraContentInspectExtension.framework/AgoraContentInspectExtension
  80. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/ios-arm64_armv7/AgoraContentInspectExtension.framework/Info.plist
  81. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/ios-arm64_x86_64-simulator/AgoraContentInspectExtension.framework/AgoraContentInspectExtension
  82. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/ios-arm64_x86_64-simulator/AgoraContentInspectExtension.framework/Info.plist
  83. 41 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/Info.plist
  84. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/AgoraCore
  85. 246 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_file_class.h
  86. 117 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_input_class.h
  87. 101 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_kobj_class.h
  88. 28 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_log.h
  89. 50 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_mpq_fd_class.h
  90. 200 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_mpq_sk_lambda.h
  91. 139 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_mpq_timer_lambda.h
  92. 32 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_objc.h
  93. 200 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_queue_class.h
  94. 751 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_ref_class.h
  95. 238 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_task_class.h
  96. 237 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_thread_class.h
  97. 84 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_usage_class.h
  98. 471 0
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_value_class.h
  99. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Info.plist
  100. BIN
      Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_x86_64-simulator/AgoraCore.framework/AgoraCore

BIN
.DS_Store


+ 0 - 71
.gitignore

@@ -1,71 +0,0 @@
-# Xcode
-#
-# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
-
-## User settings
-xcuserdata/
-
-## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
-*.xcscmblueprint
-*.xccheckout
-
-## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
-build/
-DerivedData/
-*.moved-aside
-*.pbxuser
-!default.pbxuser
-*.mode1v3
-!default.mode1v3
-*.mode2v3
-!default.mode2v3
-*.perspectivev3
-!default.perspectivev3
-
-## Obj-C/Swift specific
-*.hmap
-
-## App packaging
-*.ipa
-*.dSYM.zip
-*.dSYM
-
-
-# CocoaPods
-#
-# We recommend against adding the Pods directory to your .gitignore. However
-# you should judge for yourself, the pros and cons are mentioned at:
-# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
-#
-Pods/
-#
-# Add this line if you want to avoid checking in source code from the Xcode workspace
-*.xcworkspace
-
-# Carthage
-#
-# Add this line if you want to avoid checking in source code from Carthage dependencies.
-# Carthage/Checkouts
-
-Carthage/Build/
-
-# fastlane
-#
-# It is recommended to not store the screenshots in the git repo.
-# Instead, use fastlane to re-generate the screenshots whenever they are needed.
-# For more information about the recommended setup visit:
-# https://docs.fastlane.tools/best-practices/source-control/#source-control
-
-fastlane/report.xml
-fastlane/Preview.html
-fastlane/screenshots/**/*.png
-fastlane/test_output
-
-# Code Injection
-#
-# After new code Injection tools there's a generated folder /iOSInjectionProject
-# https://github.com/johnno1962/injectionforxcode
-
-iOSInjectionProject/
-*.DS_store
-# Podfile.lock

BIN
MSYConfig/.DS_Store


BIN
MSYConfig/source/.DS_Store


+ 19 - 0
MSYOUPAI.xcodeproj/xcuserdata/chenmin.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>MSYOUPAI.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>0</integer>
+		</dict>
+		<key>MSYOUPAITests.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>53</integer>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 19 - 0
MSYOUPAI.xcodeproj/xcuserdata/macmini.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>MSYOUPAI.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>0</integer>
+		</dict>
+		<key>MSYOUPAITests.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>1</integer>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 19 - 0
MSYOUPAI.xcodeproj/xcuserdata/uxiu.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>MSYOUPAI.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>0</integer>
+		</dict>
+		<key>MSYOUPAITests.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>1</integer>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 78 - 0
MSYOUPAI.xcodeproj/xcuserdata/you.xcuserdatad/xcschemes/Copy of MSYOUPAI.xcscheme

@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "1320"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "B39F7B36244E92A3006127E3"
+               BuildableName = "&#x6d41;&#x5149;&#x82b1;&#x821e;.app"
+               BlueprintName = "MSYOUPAI"
+               ReferencedContainer = "container:MSYOUPAI.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES">
+      <Testables>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "B39F7B36244E92A3006127E3"
+            BuildableName = "&#x6d41;&#x5149;&#x82b1;&#x821e;.app"
+            BlueprintName = "MSYOUPAI"
+            ReferencedContainer = "container:MSYOUPAI.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable
+         runnableDebuggingMode = "0">
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "B39F7B36244E92A3006127E3"
+            BuildableName = "&#x6d41;&#x5149;&#x82b1;&#x821e;.app"
+            BlueprintName = "MSYOUPAI"
+            ReferencedContainer = "container:MSYOUPAI.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>

+ 24 - 0
MSYOUPAI.xcodeproj/xcuserdata/you.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>Copy of MSYOUPAI.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>1</integer>
+		</dict>
+		<key>MSYOUPAI.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>0</integer>
+		</dict>
+		<key>MSYOUPAITests.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>52</integer>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 10 - 0
MSYOUPAI.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "group:MSYOUPAI.xcodeproj">
+   </FileRef>
+   <FileRef
+      location = "group:Pods/Pods.xcodeproj">
+   </FileRef>
+</Workspace>

+ 8 - 0
MSYOUPAI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>

+ 5 - 0
MSYOUPAI.xcworkspace/xcuserdata/chenmin.xcuserdatad/IDEFindNavigatorScopes.plist

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array/>
+</plist>

BIN
MSYOUPAI.xcworkspace/xcuserdata/chenmin.xcuserdatad/UserInterfaceState.xcuserstate


BIN
MSYOUPAI.xcworkspace/xcuserdata/macmini.xcuserdatad/UserInterfaceState.xcuserstate


+ 132 - 0
MSYOUPAI.xcworkspace/xcuserdata/macmini.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+   uuid = "9461DE60-0425-4089-8A47-ED1C0D3048ED"
+   type = "0"
+   version = "2.0">
+   <Breakpoints>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
+         <BreakpointContent
+            uuid = "F431204E-8A05-457C-8A84-1883A65E3DF7"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            breakpointStackSelectionBehavior = "1"
+            scope = "1"
+            stopOnStyle = "0">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "40AAF492-6F31-4D79-931D-982B1CB46DE4"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/HomePage/Controller/YMHomeController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "284"
+            endingLineNumber = "284"
+            landmarkName = "-zhidingBtn"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "6B1E4511-AD5B-4CBA-9BBC-8D571DE3B9F6"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/Helper/YOUPAILCIMNotificationManager.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "221"
+            endingLineNumber = "221"
+            landmarkName = "-youpaifhandelDictData"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "CE20C7F1-D6F7-4A32-858C-859E5EA5D93F"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/Helper/YOUPAILCIMNotificationManager.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "168"
+            endingLineNumber = "168"
+            landmarkName = "-onReceiveCustomSystemNotification:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "18868E86-B062-4373-97B6-BF9BC356B103"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/3rd/&#x98d8;&#x5c4f;/OCBarrage/YOUPAIOCBarrageRenderView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "265"
+            endingLineNumber = "265"
+            landmarkName = "-calculationBarrageCellFrame:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "73C55CF7-51C8-4E95-A409-D2E585CC96E0"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/3rd/&#x98d8;&#x5c4f;/OCBarrage/YOUPAIOCBarrageRenderView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "318"
+            endingLineNumber = "318"
+            landmarkName = "-calculationBarrageCellFrame:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "D4EF7DFA-F51E-4407-AC3D-EBB11B8587E7"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/3rd/&#x98d8;&#x5c4f;/OCBarrage/YOUPAIOCBarrageRenderView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "323"
+            endingLineNumber = "323"
+            landmarkName = "-calculationBarrageCellFrame:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "1330A1D4-581A-4344-823E-02EE5B1E1A48"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/3rd/&#x98d8;&#x5c4f;/OCBarrage/YOUPAIOCBarrageRenderView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "333"
+            endingLineNumber = "333"
+            landmarkName = "-calculationBarrageCellFrame:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+   </Breakpoints>
+</Bucket>

+ 5 - 0
MSYOUPAI.xcworkspace/xcuserdata/uxiu.xcuserdatad/IDEFindNavigatorScopes.plist

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array/>
+</plist>

BIN
MSYOUPAI.xcworkspace/xcuserdata/uxiu.xcuserdatad/UserInterfaceState.xcuserstate


+ 306 - 0
MSYOUPAI.xcworkspace/xcuserdata/uxiu.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+   uuid = "5D13B3E0-E609-488F-8FE7-B73570D42694"
+   type = "0"
+   version = "2.0">
+   <Breakpoints>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
+         <BreakpointContent
+            uuid = "E282CCE3-EF52-4631-B33D-98F7B6BA4534"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            breakpointStackSelectionBehavior = "1"
+            scope = "1"
+            stopOnStyle = "0">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "02ED4433-5BFF-4DB8-BC0D-16E98DC96324"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/EditProfile/ViewModel/YMEditProfileViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1227"
+            endingLineNumber = "1227"
+            landmarkName = "-openMyTagPopupView"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "F9DE4E79-84E6-4CE4-9BCC-B35171531471"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/EditProfile/ViewModel/YMEditProfileViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1223"
+            endingLineNumber = "1223"
+            landmarkName = "-openMyTagPopupView"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "16C50FA4-4078-4C2E-8D60-5B276547B9F1"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/HomePage/ViewModel/YMHomePageListCellViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "161"
+            endingLineNumber = "161"
+            landmarkName = "-sendAccostRequest"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "B1420947-0501-4102-A18B-991DB6B82E75"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "397"
+            endingLineNumber = "397"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "AF56790B-FB1D-4EF6-9652-7BF477ED6169"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "400"
+            endingLineNumber = "400"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "3A6A64CF-368C-4D78-90B7-BBA709B15993"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "412"
+            endingLineNumber = "412"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "6DD56ED8-6597-4338-96FE-5813009212EF"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "419"
+            endingLineNumber = "419"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "C6906E7C-EB79-45D7-A29B-F72425CBE183"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "421"
+            endingLineNumber = "421"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "22F34DAC-3240-4CC1-8C39-079FD077BEF8"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/YOUPAILCIMSessionVC.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1005"
+            endingLineNumber = "1005"
+            landmarkName = "-onVideoClick"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "4306CD12-CB6D-45C0-BD9F-D0DB06F233A7"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/YOUPAILCIMSessionVC.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "971"
+            endingLineNumber = "971"
+            landmarkName = "-onVideoClick"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "4306CD12-CB6D-45C0-BD9F-D0DB06F233A7 - 4c4bf5cf2e1800"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__35-[YOUPAILCIMSessionVC onVideoClick]_block_invoke"
+                  moduleName = "MSYOUPAI.debug.dylib"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/uxiu/Desktop/1v1/1v1_7/MSYOUPAI/Class/YQNIM/YOUPAILCIMSessionVC.m"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "971"
+                  endingLineNumber = "971">
+               </Location>
+               <Location
+                  uuid = "4306CD12-CB6D-45C0-BD9F-D0DB06F233A7 - 20e8e6fcaf95f37f"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__35-[YOUPAILCIMSessionVC onVideoClick]_block_invoke_3"
+                  moduleName = "MSYOUPAI.debug.dylib"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/uxiu/Desktop/1v1/1v1_7/MSYOUPAI/Class/YQNIM/YOUPAILCIMSessionVC.m"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "972"
+                  endingLineNumber = "972">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "E43A44FA-4C7A-4266-89B5-7FE63F78D133"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/&#x89c6;&#x9891;&#x901a;&#x8bdd;/YOUPAILCVideoRequestVC.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "44"
+            endingLineNumber = "44"
+            landmarkName = "-requestSuccess"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "CA600873-5B6D-4E06-B9B0-3E8D74433D57"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/&#x89c6;&#x9891;&#x901a;&#x8bdd;/YOUPAILCBaseVideoCallVC.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "759"
+            endingLineNumber = "759"
+            landmarkName = "-youpaifinitAgora"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "291EB666-1088-4916-8FC4-BCF517BD691E"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/&#x89c6;&#x9891;&#x901a;&#x8bdd;/YOUPAILCBaseVideoCallVC.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1021"
+            endingLineNumber = "1021"
+            landmarkName = "-videoStart:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "8CADAE0C-6D54-49C0-82D5-A14F4ACA80DA"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/&#x89c6;&#x9891;&#x901a;&#x8bdd;/YOUPAILCBaseVideoCallVC.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1035"
+            endingLineNumber = "1035"
+            landmarkName = "-videoStart:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "5489B39E-B60D-4467-B9CA-9012B7E8B2A0"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/Class/YQNIM/&#x89c6;&#x9891;&#x901a;&#x8bdd;/YOUPAILCBaseVideoCallVC.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "864"
+            endingLineNumber = "864"
+            landmarkName = "-shouldInitialize"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "9DFD87EC-E7FC-45BA-9CD1-90066EB6EECA"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/Mine/View/YMMineCommonFunctionsTwoView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "71"
+            endingLineNumber = "71"
+            landmarkName = "-tableView:cellForRowAtIndexPath:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+   </Breakpoints>
+</Bucket>

+ 5 - 0
MSYOUPAI.xcworkspace/xcuserdata/you.xcuserdatad/IDEFindNavigatorScopes.plist

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array/>
+</plist>

BIN
MSYOUPAI.xcworkspace/xcuserdata/you.xcuserdatad/UserInterfaceState.xcuserstate


+ 118 - 0
MSYOUPAI.xcworkspace/xcuserdata/you.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+   uuid = "DE40AD91-66C0-4704-8BFA-2B0ECA3A0E2B"
+   type = "0"
+   version = "2.0">
+   <Breakpoints>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "8585676E-1848-40C7-B97F-F58D220A5C08"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "208"
+            endingLineNumber = "208"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "34F229CB-7841-4C85-A47E-D4D610BA9B21"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/MemberCenter/ViewModel/YMMemberCenterViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "145"
+            endingLineNumber = "145"
+            landmarkName = "-submitMemberRechargeInfoData"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "A75257BC-333B-45DD-94FD-E17CD5B9BB6A"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "230"
+            endingLineNumber = "230"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "48702EAE-EE1E-4E01-A48E-3AA2B6E7F744"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "220"
+            endingLineNumber = "220"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "48702EAE-EE1E-4E01-A48E-3AA2B6E7F744 - 48289315dc6cda5b"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__57-[YMAccountBalanceViewModel payOrderWithChannel:polling:]_block_invoke"
+                  moduleName = "&#x6d41;&#x5149;&#x82b1;&#x821e;"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/you/Desktop/huawu-master/MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "220"
+                  endingLineNumber = "220">
+               </Location>
+               <Location
+                  uuid = "48702EAE-EE1E-4E01-A48E-3AA2B6E7F744 - 1a594882a4809004"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "__57-[YMAccountBalanceViewModel payOrderWithChannel:polling:]_block_invoke_3"
+                  moduleName = "&#x6d41;&#x5149;&#x82b1;&#x821e;"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/you/Desktop/huawu-master/MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "221"
+                  endingLineNumber = "221">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "8165D8C1-1C21-4037-AC2E-B12F576BA3D9"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MSYOUPAI/NewCode/Module/AccountBalance/ViewModel/YMAccountBalanceViewModel.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "218"
+            endingLineNumber = "218"
+            landmarkName = "-payOrderWithChannel:polling:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+   </Breakpoints>
+</Bucket>

BIN
MSYOUPAI/.DS_Store


BIN
MSYOUPAI/3rd/.DS_Store


BIN
MSYOUPAI/3rd/ATAuthSDK_D.framework/.DS_Store


BIN
MSYOUPAI/3rd/LZBKeyBoardView/.DS_Store


BIN
MSYOUPAI/3rd/Masonry/.DS_Store


BIN
MSYOUPAI/3rd/阿里实人认证/.DS_Store


BIN
MSYOUPAI/Class/.DS_Store


BIN
MSYOUPAI/Class/YQProfile/.DS_Store


BIN
MSYOUPAI/Media.xcassets/.DS_Store


BIN
MSYOUPAI/Media.xcassets/180/.DS_Store


BIN
MSYOUPAI/Media.xcassets/180/编辑资料/.DS_Store


BIN
MSYOUPAI/Media.xcassets/MusicLib/.DS_Store


BIN
MSYOUPAI/Media.xcassets/NewCode/.DS_Store


BIN
MSYOUPAI/Media.xcassets/NewCode/Mine/.DS_Store


BIN
MSYOUPAI/Media.xcassets/主页相关/.DS_Store


BIN
MSYOUPAI/Media.xcassets/公会/.DS_Store


BIN
MSYOUPAI/Media.xcassets/其他/.DS_Store


BIN
MSYOUPAI/Media.xcassets/即时通讯相关/.DS_Store


BIN
MSYOUPAI/Media.xcassets/发现相关/.DS_Store


BIN
MSYOUPAI/Media.xcassets/守护和青少年/.DS_Store


BIN
MSYOUPAI/Media.xcassets/无数据图片/.DS_Store


BIN
MSYOUPAI/Media.xcassets/登录相关/.DS_Store


BIN
MSYOUPAI/Media.xcassets/直播相关/.DS_Store


BIN
MSYOUPAI/Media.xcassets/美颜/.DS_Store


BIN
MSYOUPAI/Media.xcassets/视频通话相关/.DS_Store


BIN
MSYOUPAI/Media.xcassets/语音房相关/.DS_Store


BIN
MSYOUPAI/NewCode/.DS_Store


BIN
MSYOUPAI/NewCode/Module/.DS_Store


BIN
MSYOUPAI/NewCode/Module/HomePage/.DS_Store


BIN
MSYOUPAI/NewCode/SDPay/.DS_Store


BIN
MSYOUPAI/NewCode/SDPay/SDPTLib.framework/.DS_Store


BIN
MSYOUPAI/Others/.DS_Store


BIN
MSYOUPAI/Others/Utils/.DS_Store


BIN
MSYOUPAI/VQBase/.DS_Store


BIN
Pods/.DS_Store


BIN
Pods/AgoraRtcEngine_Special_iOS/.DS_Store


+ 41 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/Info.plist

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>AgoraAiEchoCancellationExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_armv7</string>
+			<key>LibraryPath</key>
+			<string>AgoraAiEchoCancellationExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>armv7</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>

BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/ios-arm64_armv7/AgoraAiEchoCancellationExtension.framework/AgoraAiEchoCancellationExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/ios-arm64_armv7/AgoraAiEchoCancellationExtension.framework/Info.plist


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAiEchoCancellationExtension.framework/AgoraAiEchoCancellationExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAiEchoCancellationExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAiEchoCancellationExtension.framework/Info.plist


+ 41 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/Info.plist

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_armv7</string>
+			<key>LibraryPath</key>
+			<string>AgoraAiNoiseSuppressionExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>armv7</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>AgoraAiNoiseSuppressionExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>

BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/ios-arm64_armv7/AgoraAiNoiseSuppressionExtension.framework/AgoraAiNoiseSuppressionExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/ios-arm64_armv7/AgoraAiNoiseSuppressionExtension.framework/Info.plist


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAiNoiseSuppressionExtension.framework/AgoraAiNoiseSuppressionExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAiNoiseSuppressionExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAiNoiseSuppressionExtension.framework/Info.plist


+ 41 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/Info.plist

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>AgoraAudioBeautyExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_armv7</string>
+			<key>LibraryPath</key>
+			<string>AgoraAudioBeautyExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>armv7</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>

BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/ios-arm64_armv7/AgoraAudioBeautyExtension.framework/AgoraAudioBeautyExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/ios-arm64_armv7/AgoraAudioBeautyExtension.framework/Info.plist


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAudioBeautyExtension.framework/AgoraAudioBeautyExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraAudioBeautyExtension.xcframework/ios-arm64_x86_64-simulator/AgoraAudioBeautyExtension.framework/Info.plist


+ 41 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/Info.plist

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>AgoraClearVisionExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_armv7</string>
+			<key>LibraryPath</key>
+			<string>AgoraClearVisionExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>armv7</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>

BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/ios-arm64_armv7/AgoraClearVisionExtension.framework/AgoraClearVisionExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/ios-arm64_armv7/AgoraClearVisionExtension.framework/Info.plist


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/ios-arm64_x86_64-simulator/AgoraClearVisionExtension.framework/AgoraClearVisionExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraClearVisionExtension.xcframework/ios-arm64_x86_64-simulator/AgoraClearVisionExtension.framework/Info.plist


+ 41 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/Info.plist

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_armv7</string>
+			<key>LibraryPath</key>
+			<string>AgoraContentInspectExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>armv7</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>AgoraContentInspectExtension.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>

BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/ios-arm64_armv7/AgoraContentInspectExtension.framework/AgoraContentInspectExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/ios-arm64_armv7/AgoraContentInspectExtension.framework/Info.plist


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/ios-arm64_x86_64-simulator/AgoraContentInspectExtension.framework/AgoraContentInspectExtension


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraContentInspectExtension.xcframework/ios-arm64_x86_64-simulator/AgoraContentInspectExtension.framework/Info.plist


+ 41 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/Info.plist

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AvailableLibraries</key>
+	<array>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_armv7</string>
+			<key>LibraryPath</key>
+			<string>AgoraCore.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>armv7</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+		</dict>
+		<dict>
+			<key>LibraryIdentifier</key>
+			<string>ios-arm64_x86_64-simulator</string>
+			<key>LibraryPath</key>
+			<string>AgoraCore.framework</string>
+			<key>SupportedArchitectures</key>
+			<array>
+				<string>arm64</string>
+				<string>x86_64</string>
+			</array>
+			<key>SupportedPlatform</key>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
+		</dict>
+	</array>
+	<key>CFBundlePackageType</key>
+	<string>XFWK</string>
+	<key>XCFrameworkFormatVersion</key>
+	<string>1.0</string>
+</dict>
+</plist>

BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/AgoraCore


+ 246 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_file_class.h

@@ -0,0 +1,246 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Aug 19th, 2020
+ * Module:	AHPL file operations for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2020 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_FILE_CPP_H__
+#define __AHPL_FILE_CPP_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_defs.h>
+#include <api/ahpl_file.h>
+#include <api/ahpl_errno.h>
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+#include <functional>
+#include <memory>
+#endif
+
+class ahpl_file_class {
+private:
+	ahpl_fd_t fd;
+
+public:
+	ahpl_file_class ()
+	{
+		fd = AHPL_INVALID_FD;
+	}
+
+	int open (const char *file, int oflag, ...)
+	{
+		int mode = 0;
+
+		if (!ahpl_fd_invalid (fd)) {
+			ahpl_file_close (fd);
+			fd = AHPL_INVALID_FD;
+		}
+
+		if ((oflag & O_CREAT) != 0) {
+			va_list arg;
+			va_start (arg, oflag);
+			mode = va_arg (arg, int);
+			va_end (arg);
+		}
+
+		fd = ahpl_file_open (file, oflag, mode);
+		if (ahpl_fd_invalid (fd))
+			return -1;
+
+		return 0;
+	}
+
+	ssize_t size ()
+	{
+		return ahpl_file_size (fd);
+	}
+
+	ssize_t read (void *buf, size_t count)
+	{
+		return ahpl_file_read (fd, buf, count);
+	}
+
+	ssize_t write (const void *buf, size_t count)
+	{
+		return ahpl_file_write (fd, buf, count);
+	}
+
+	off_t lseek (off_t offset, int whence)
+	{
+		return ahpl_file_lseek (fd, offset, whence);
+	}
+
+	int aread (size_t count, ahpl_file_aread_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_file_aread_args (fd, count, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int aread_args (size_t count, ahpl_file_aread_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_file_aread_args (fd, count, f, argc, args);
+	}
+
+	int aread_argv (size_t count, ahpl_file_aread_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_file_aread_argv (fd, count, f, argc, argv);
+	}
+
+	int awrite (const void *buf, size_t count, ahpl_file_awrite_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_file_awrite_args (fd, buf, count, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int awrite_args (const void *buf, size_t count, ahpl_file_awrite_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_file_awrite_args (fd, buf, count, f, argc, args);
+	}
+
+	int awrite_argv (const void *buf, size_t count, ahpl_file_awrite_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_file_awrite_argv (fd, buf, count, f, argc, argv);
+	}
+
+	int alseek (off_t offset, int whence, ahpl_file_alseek_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_file_alseek_args (fd, offset, whence, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int alseek_args (off_t offset, int whence, ahpl_file_alseek_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_file_alseek_args (fd, offset, whence, f, argc, args);
+	}
+
+	int alseek_argv (off_t offset, int whence, ahpl_file_alseek_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_file_alseek_argv (fd, offset, whence, f, argc, argv);
+	}
+
+	/* C++11 lambda encapsulations */
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+public:
+	typedef std::function <void (bool free_only, ahpl_fd_t fd, ssize_t ret, void *buf)> ahpl_file_aread_lambda_f;
+	typedef std::function <void (bool free_only, ahpl_fd_t fd, ssize_t ret)> ahpl_file_awrite_lambda_f;
+	typedef std::function <void (bool free_only, ahpl_fd_t fd, off_t ret)> ahpl_file_alseek_lambda_f;
+
+	int aread (size_t count, ahpl_file_aread_lambda_f &&lambda)
+	{
+		if (lambda != nullptr) {
+			ahpl_file_aread_lambda_f *lambda_p = new ahpl_file_aread_lambda_f (std::move (lambda));
+			int err = aread (count, ____aread_f, 1, lambda_p);
+			if (err < 0)
+				delete lambda_p;
+
+			return err;
+		}
+
+		ahpl_errno = EINVAL;
+		return -1;
+	}
+
+	int awrite (const void *buf, size_t count, ahpl_file_awrite_lambda_f &&lambda = nullptr)
+	{
+		int err;
+
+		if (lambda == nullptr) {
+			err = awrite (buf, count, NULL, 0);
+		} else {
+			ahpl_file_awrite_lambda_f *lambda_p = new ahpl_file_awrite_lambda_f (std::move (lambda));
+			err = awrite (buf, count, ____awrite_f, 1, lambda_p);
+			if (err < 0)
+				delete lambda_p;
+		}
+
+		return err;
+	}
+
+	int alseek (off_t offset, int whence, ahpl_file_alseek_lambda_f &&lambda = nullptr)
+	{
+		int err;
+
+		if (lambda == nullptr) {
+			err = alseek (offset, whence, NULL, 0);
+		} else {
+			ahpl_file_alseek_lambda_f *lambda_p = new ahpl_file_alseek_lambda_f (std::move (lambda));
+			err = alseek (offset, whence, ____alseek_f, 1, lambda_p);
+			if (err < 0)
+				delete lambda_p;
+		}
+
+		return err;
+	}
+
+private:
+	static void ____aread_f (int free_only, ahpl_fd_t fd, ssize_t ret, void *buf, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_file_aread_lambda_f *lambda_f = (ahpl_file_aread_lambda_f *)argv [0];
+		(*lambda_f) ((bool)(free_only != 0), fd, ret, buf);
+		delete lambda_f;
+	}
+
+	static void ____awrite_f (int free_only, ahpl_fd_t fd, ssize_t ret, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_file_awrite_lambda_f *lambda_f = (ahpl_file_awrite_lambda_f *)argv [0];
+		(*lambda_f) ((bool)(free_only != 0), fd, ret);
+		delete lambda_f;
+	}
+
+	static void ____alseek_f (int free_only, ahpl_fd_t fd, off_t ret, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_file_alseek_lambda_f *lambda_f = (ahpl_file_alseek_lambda_f *)argv [0];
+		(*lambda_f) ((bool)(free_only != 0), fd, ret);
+		delete lambda_f;
+	}
+#endif
+
+public:
+	int close ()
+	{
+		if (!ahpl_fd_invalid (fd)) {
+			int err;
+			err = ahpl_file_close (fd);
+			fd = AHPL_INVALID_FD;
+			return err;
+		}
+
+		return -1;
+	}
+
+	virtual ~ahpl_file_class ()
+	{
+		if (!ahpl_fd_invalid (fd))
+			ahpl_file_close (fd);
+	}
+};
+
+
+#endif /* __AHPL_FILE_CPP_H__ */

+ 117 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_input_class.h

@@ -0,0 +1,117 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	May 21st, 2019
+ * Module:	AHPL input object for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2018 ~ 2019 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_INPUT_CLASS_H__
+#define __AHPL_INPUT_CLASS_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_defs.h>
+#include <api/ahpl_mpq.h>
+#include <api/ahpl_ref.h>
+#include <api/ahpl_input.h>
+#include <api/cpp/ahpl_ref_class.h>
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+#include <functional>
+#include <memory>
+#endif
+
+
+class ahpl_input_class: public ahpl_ref_class {
+public:
+	ahpl_input_class (uintptr_t waitings_max, ahpl_mpq_t input_q = ahpl_mpq_main ())
+				: ahpl_ref_class (ahpl_input_create (this, __dtor, waitings_max, input_q))
+	{
+		if (ahpl_ref_invalid (ref ()))
+			abort ();
+	}
+
+	int exec (const char *f_name, ahpl_input_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_input_exec_args (ref (), f_name, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int exec_args (const char *f_name, ahpl_input_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_input_exec_args (ref (), f_name, f, argc, args);
+	}
+
+	int exec_argv (const char *f_name, ahpl_input_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_input_exec_argv (ref (), f_name, f, argc, argv);
+	}
+
+	int waitings_count ()
+	{
+		return ahpl_input_waitings_count (ref ());
+	}
+
+	int remove_waitings_head ()
+	{
+		return ahpl_input_remove_waitings_head (ref ());
+	}
+
+protected:
+	/* We do not allow delete this object directly. */
+	virtual ~ahpl_input_class ()
+	{
+	}
+
+private:
+	static void __dtor (void *arg)
+	{
+		ahpl_input_class *__this = (ahpl_input_class *)arg;
+		delete __this;
+	}
+
+	/* C++11 lambda encapsulations */
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+public:
+	typedef std::function <void (ahpl_refobj_t iobj, bool free_only)> ahpl_input_lambda_f;
+
+	int exec (const char *f_name, ahpl_input_lambda_f&& input)
+	{
+		ahpl_input_lambda_f *input_obj = new ahpl_input_lambda_f (std::move (input));
+		int err = ahpl_input_class::exec (f_name, ____input_f, 1, input_obj);
+		if (err < 0)
+			delete input_obj;
+
+		return err;
+	}
+
+private:
+	static void ____input_f (ahpl_refobj_t iobj, int free_only, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_input_lambda_f *input_obj = reinterpret_cast<ahpl_input_lambda_f *>(argv [0]);
+		(*input_obj) (iobj, (bool)(free_only != 0));
+		delete input_obj;
+	}
+#endif
+};
+
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+typedef std::unique_ptr<ahpl_input_class, ahpl_ref_class::deleter> ahpl_input_class_unique_ptr;
+#endif
+
+
+#endif /* __AHPL_INPUT_CLASS_H__ */

+ 101 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_kobj_class.h

@@ -0,0 +1,101 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Dec 8th, 2022
+ * Module:	AHPL value object for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2018 ~ 2022 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_KOBJ_CPP_H__
+#define __AHPL_KOBJ_CPP_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_kobj.h>
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+#include <functional>
+#include <memory>
+#endif
+
+
+class ahpl_kobj_class {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_kobj_class () = delete;
+	ahpl_kobj_class (const ahpl_kobj_class &) = delete;
+	ahpl_kobj_class (ahpl_kobj_class &&) = delete;
+	ahpl_kobj_class &operator = (const ahpl_kobj_class &) = delete;
+	ahpl_kobj_class &operator = (ahpl_kobj_class &&) = delete;
+	~ahpl_kobj_class () = delete;
+#else
+	ahpl_kobj_class ();
+	ahpl_kobj_class (const ahpl_kobj_class &);
+	ahpl_kobj_class &operator = (const ahpl_kobj_class &);
+	~ahpl_kobj_class ();
+#endif
+
+public:
+	static void *notify_register (ahpl_kfd_t dfd, const char *name, int touch, ahpl_mpq_t qid, ahpl_ref_t ref, const char *f_name, ahpl_kobj_notify_t f, ahpl_kobj_notify_dtor_t dtor, uintptr_t argc, ...)
+	{
+		va_list args;
+		void *err;
+
+		va_start (args, argc);
+		err = ahpl_kobj_notify_register_args (dfd, name, touch, qid, ref, f_name, f, dtor, argc, args);
+		va_end (args);
+		return err;
+	}
+
+	static void *notify_register_args (ahpl_kfd_t dfd, const char *name, int touch, ahpl_mpq_t qid, ahpl_ref_t ref, const char *f_name, ahpl_kobj_notify_t f, ahpl_kobj_notify_dtor_t dtor, uintptr_t argc, va_list args)
+	{
+		return ahpl_kobj_notify_register_args (dfd, name, touch, qid, ref, f_name, f, dtor, argc, args);
+	}
+
+	static void *notify_register_argv (ahpl_kfd_t dfd, const char *name, int touch, ahpl_mpq_t qid, ahpl_ref_t ref, const char *f_name, ahpl_kobj_notify_t f, ahpl_kobj_notify_dtor_t dtor, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_kobj_notify_register_argv (dfd, name, touch, qid, ref, f_name, f, dtor, argc, argv);
+	}
+
+	static int notify_unregister (ahpl_kfd_t dfd, const char *name, ahpl_mpq_t qid, ahpl_ref_t ref, void *handle)
+	{
+		return ahpl_kobj_notify_unregister (dfd, name, handle);
+	}
+
+	/* C++11 lambda encapsulations */
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+public:
+	typedef std::function <void (ahpl_refobj_t robj, const char *dirpath, const char *name, void *notif_data)> ahpl_kobj_notify_lambda_f;
+	static void *notify_register (ahpl_kfd_t dfd, const char *name, int touch, ahpl_mpq_t qid, ahpl_ref_t ref, const char *f_name, ahpl_kobj_notify_lambda_f&& task)
+	{
+		ahpl_kobj_notify_lambda_f *task_obj = new ahpl_kobj_notify_lambda_f (std::move (task));
+		void *err = notify_register (dfd, name, touch, qid, ref, f_name, ____notify_f, ____notify_dtor, 1, task_obj);
+		if (err == NULL)
+			delete task_obj;
+
+		return err;
+	}
+
+private:
+	static void ____notify_f (ahpl_refobj_t robj, const char *dirpath, const char *name, void *notif_data, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_kobj_notify_lambda_f *task_obj = reinterpret_cast<ahpl_kobj_notify_lambda_f *>(argv [0]);
+		(*task_obj) (robj, dirpath, name, notif_data);
+	}
+
+	static void ____notify_dtor (uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_kobj_notify_lambda_f *task_obj = reinterpret_cast<ahpl_kobj_notify_lambda_f *>(argv [0]);
+		delete task_obj;
+	}
+#endif
+};
+
+
+#endif /* __AHPL_KOBJ_CPP_H__ */

+ 28 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_log.h

@@ -0,0 +1,28 @@
+#ifndef __AHPL_LOG_OBJC_H__
+#define __AHPL_LOG_OBJC_H__
+
+#import <Foundation/NSString.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_log.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+typedef void (*ahpl_objc_vlog_t) (int level, const NSString *format, va_list args);
+
+extern void ahpl_set_vlog_func_objc (ahpl_objc_vlog_t vlog);
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif /* __AHPL_LOG_OBJC_H__ */

+ 50 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_mpq_fd_class.h

@@ -0,0 +1,50 @@
+/*************************************************************
+ * Author:	Lionfore Hao
+ * Date	 :	Jun 30th, 2019
+ * Module:	AHPL mpq fd C++ implementation
+ *
+ *
+ * This is a part of the Agora SDK.
+ * Copyright (C) 2019 Agora IO. All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_MPQ_FD_CLASS_H__
+#define __AHPL_MPQ_FD_CLASS_H__
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_mpq_fd.h>
+
+
+class ahpl_mpq_fd_class {
+public:
+	ahpl_mpq_fd_class (ahpl_fd_t fd): attached_fd (fd)
+	{
+	}
+
+	virtual ~ahpl_mpq_fd_class ()
+	{
+		if (!ahpl_fd_invalid (attached_fd))
+			ahpl_close (attached_fd);
+	}
+
+	ahpl_fd_t get_fd ()
+	{
+		return attached_fd;
+	}
+
+private:
+	const ahpl_fd_t attached_fd;
+
+private:
+	ahpl_mpq_fd_class () = delete;
+	ahpl_mpq_fd_class (const ahpl_mpq_fd_class &) = delete;
+	ahpl_mpq_fd_class (ahpl_mpq_fd_class &&) = delete;
+	ahpl_mpq_fd_class &operator = (const ahpl_mpq_fd_class &) = delete;
+	ahpl_mpq_fd_class &operator = (ahpl_mpq_fd_class &&) = delete;
+};
+
+
+#endif /* __AHPL_MPQ_FD_CLASS_H__ */

+ 200 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_mpq_sk_lambda.h

@@ -0,0 +1,200 @@
+/*************************************************************
+ * Author:	Lionfore Hao
+ * Date	 :	Nov 6th, 2018
+ * Module:	AHPL mpq socket C++ 11 lambda implementation
+ *
+ *
+ * This is a part of the Agora SDK.
+ * Copyright (C) 2018 Agora IO. All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_MPQ_SK_LAMBDA_H__
+#define __AHPL_MPQ_SK_LAMBDA_H__
+
+#include <stdlib.h>
+
+#include <functional>
+#include <api/ahpl_types.h>
+#include <api/ahpl_mpq_fd.h>
+#include <api/ahpl_mpq_net.h>
+#include <api/cpp/ahpl_mpq_fd_class.h>
+
+typedef std::function <ssize_t (const void *data, size_t len)> ahpl_fd_chk_pkt_lambda_t;
+typedef std::function <void (void *data, size_t len)> ahpl_fd_data_lambda_t;
+typedef std::function <void (void *data, size_t len, const ahpl_sk_addr_t *addr)> ahpl_dgram_sk_data_lambda_t;
+typedef std::function <void (ahpl_fd_t sk, int event)> ahpl_fd_event_lambda_t;
+typedef std::function <void (const ahpl_accept_data_t *accept_data)> ahpl_listen_sk_accept_lambda_t;
+
+class ahpl_mpq_dgram_sk: public ahpl_mpq_fd_class {
+public:
+	ahpl_mpq_dgram_sk (ahpl_fd_t sk, size_t max_pkt_size,
+						ahpl_dgram_sk_data_lambda_t&& data_cb,
+							ahpl_fd_event_lambda_t&& event_cb,
+							ahpl_mpq_t qid = ahpl_mpq_this ())
+						: ahpl_mpq_fd_class (sk),
+						  on_data (std::move (data_cb)), 
+						  on_event (std::move (event_cb))
+	{
+		if (ahpl_mpq_add_dgram_socket (qid, sk, max_pkt_size, &__on_data, &__on_event, 1, this) < 0)
+			abort ();
+	}
+
+private:
+	static void __on_data (void *data, size_t len, uintptr_t argc, uintptr_t argv [], const ahpl_sk_addr_t *addr)
+	{
+		ahpl_mpq_dgram_sk *__this = (ahpl_mpq_dgram_sk *)argv [0];
+		__this->on_data (data, len, addr);
+	}
+
+	static void __on_event (ahpl_fd_t sk, int event, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_mpq_dgram_sk *__this = (ahpl_mpq_dgram_sk *)argv [0];
+		__this->on_event (sk, event);
+	}
+
+	const ahpl_dgram_sk_data_lambda_t on_data;
+	const ahpl_fd_event_lambda_t on_event;
+
+private:
+	ahpl_mpq_dgram_sk () = delete;
+	ahpl_mpq_dgram_sk (const ahpl_mpq_dgram_sk &) = delete;
+	ahpl_mpq_dgram_sk (ahpl_mpq_dgram_sk &&) = delete;
+	ahpl_mpq_dgram_sk &operator = (const ahpl_mpq_dgram_sk &) = delete;
+	ahpl_mpq_dgram_sk &operator = (ahpl_mpq_dgram_sk &&) = delete;
+};
+
+class ahpl_mpq_stream_sk: public ahpl_mpq_fd_class {
+public:
+	ahpl_mpq_stream_sk (ahpl_fd_t sk, int enable, size_t max_pkt_size,
+								ahpl_fd_chk_pkt_lambda_t&& chk_pkt_cb,
+									ahpl_fd_data_lambda_t&& data_cb,
+									ahpl_fd_event_lambda_t&& event_cb,
+									ahpl_mpq_t qid = ahpl_mpq_this ())
+					: ahpl_mpq_fd_class (sk),
+					  on_chk_pkt (std::move (chk_pkt_cb)),
+					  on_data (std::move (data_cb)), 
+					  on_event (std::move (event_cb))
+	{
+		if (ahpl_mpq_add_stream_socket (qid, sk, enable, max_pkt_size, &__on_chk_pkt, &__on_data, &__on_event, 1, this) < 0)
+			abort ();
+	}
+
+private:
+	static ssize_t __on_chk_pkt (const void *data, size_t len, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_mpq_stream_sk *__this = (ahpl_mpq_stream_sk *)argv [0];
+		return __this->on_chk_pkt (data, len);
+	}
+
+	static void __on_data (void *data, size_t len, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_mpq_stream_sk *__this = (ahpl_mpq_stream_sk *)argv [0];
+		__this->on_data (data, len);
+	}
+
+	static void __on_event (ahpl_fd_t sk, int event, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_mpq_stream_sk *__this = (ahpl_mpq_stream_sk *)argv [0];
+		__this->on_event (sk, event);
+	}
+
+	const ahpl_fd_chk_pkt_lambda_t on_chk_pkt;
+	const ahpl_fd_data_lambda_t on_data;
+	const ahpl_fd_event_lambda_t on_event;
+
+private:
+	ahpl_mpq_stream_sk () = delete;
+	ahpl_mpq_stream_sk (const ahpl_mpq_stream_sk &) = delete;
+	ahpl_mpq_stream_sk (ahpl_mpq_stream_sk &&) = delete;
+	ahpl_mpq_stream_sk &operator = (const ahpl_mpq_stream_sk &) = delete;
+	ahpl_mpq_stream_sk &operator = (ahpl_mpq_stream_sk &&) = delete;
+};
+
+class ahpl_mpq_connect_stream_sk: public ahpl_mpq_stream_sk {
+public:
+	ahpl_mpq_connect_stream_sk (ahpl_fd_t sk, size_t max_pkt_size,
+							ahpl_fd_chk_pkt_lambda_t&& chk_pkt_cb,
+								ahpl_fd_data_lambda_t&& data_cb,
+								ahpl_fd_event_lambda_t&& event_cb,
+								ahpl_mpq_t qid = ahpl_mpq_this ())
+								: ahpl_mpq_stream_sk (sk, 0/* !enabled */,
+								  max_pkt_size,
+								  std::move (chk_pkt_cb),
+								  std::move (data_cb),
+								  std::move (event_cb), qid) {}
+
+	int connect (const struct sockaddr *dest_addr, socklen_t addrlen, int timeo)
+	{
+		return ahpl_mpq_connect (get_fd (), dest_addr, addrlen, timeo);
+	}
+
+private:
+	ahpl_mpq_connect_stream_sk () = delete;
+	ahpl_mpq_connect_stream_sk (const ahpl_mpq_connect_stream_sk &) = delete;
+	ahpl_mpq_connect_stream_sk (ahpl_mpq_connect_stream_sk &&) = delete;
+	ahpl_mpq_connect_stream_sk &operator = (const ahpl_mpq_connect_stream_sk &) = delete;
+	ahpl_mpq_connect_stream_sk &operator = (ahpl_mpq_connect_stream_sk &&) = delete;
+};
+
+class ahpl_mpq_accepted_stream_sk: public ahpl_mpq_stream_sk {
+public:
+	ahpl_mpq_accepted_stream_sk (ahpl_fd_t sk, size_t max_pkt_size,
+							ahpl_fd_chk_pkt_lambda_t&& chk_pkt_cb,
+								ahpl_fd_data_lambda_t&& data_cb,
+								ahpl_fd_event_lambda_t&& event_cb,
+								ahpl_mpq_t qid = ahpl_mpq_this ())
+								: ahpl_mpq_stream_sk (sk, 1/* enabled */,
+								  max_pkt_size,
+								  std::move (chk_pkt_cb),
+								  std::move (data_cb),
+								  std::move (event_cb), qid) {}
+
+private:
+	ahpl_mpq_accepted_stream_sk () = delete;
+	ahpl_mpq_accepted_stream_sk (const ahpl_mpq_accepted_stream_sk &) = delete;
+	ahpl_mpq_accepted_stream_sk (ahpl_mpq_accepted_stream_sk &&) = delete;
+	ahpl_mpq_accepted_stream_sk &operator = (const ahpl_mpq_accepted_stream_sk &) = delete;
+	ahpl_mpq_accepted_stream_sk &operator = (ahpl_mpq_accepted_stream_sk &&) = delete;
+};
+
+class ahpl_mpq_listen_sk: public ahpl_mpq_fd_class {
+public:
+	ahpl_mpq_listen_sk (ahpl_fd_t sk, int backlog,
+		ahpl_listen_sk_accept_lambda_t&& accept_cb,
+				ahpl_fd_event_lambda_t&& event_cb,
+				ahpl_mpq_t qid = ahpl_mpq_this ())
+					: ahpl_mpq_fd_class (sk),
+					  on_accept (std::move (accept_cb)),
+					  on_event (std::move (event_cb))
+	{
+		if (ahpl_mpq_add_listen_socket (qid, sk, backlog, __on_accept, __on_event, 1, this) < 0)
+			abort ();
+	}
+
+private:
+	static void __on_accept (ahpl_accept_data_t *accept_data, size_t len, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_mpq_listen_sk *__this = (ahpl_mpq_listen_sk *)argv [0];
+		__this->on_accept (accept_data);
+	}
+
+	static void __on_event (ahpl_fd_t sk, int event, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_mpq_listen_sk *__this = (ahpl_mpq_listen_sk *)argv [0];
+		__this->on_event (sk, event);
+	}
+
+	const ahpl_listen_sk_accept_lambda_t on_accept;
+	const ahpl_fd_event_lambda_t on_event;
+
+private:
+	ahpl_mpq_listen_sk () = delete;
+	ahpl_mpq_listen_sk (const ahpl_mpq_listen_sk &) = delete;
+	ahpl_mpq_listen_sk (ahpl_mpq_listen_sk &&) = delete;
+	ahpl_mpq_listen_sk &operator = (const ahpl_mpq_listen_sk &) = delete;
+	ahpl_mpq_listen_sk &operator = (ahpl_mpq_listen_sk &&) = delete;
+};
+
+
+#endif /* __AHPL_MPQ_SK_LAMBDA_H__ */

+ 139 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_mpq_timer_lambda.h

@@ -0,0 +1,139 @@
+/*************************************************************
+ * Author:	Lionfore Hao
+ * Date	 :	Nov 6th, 2018
+ * Module:	AHPL mpq timer C++ 11 lambda implementation
+ *
+ *
+ * This is a part of the Agora SDK.
+ * Copyright (C) 2018 Agora IO. All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_MPQ_TIMER_LAMBDA_H__
+#define __AHPL_MPQ_TIMER_LAMBDA_H__
+
+#include <stdlib.h>
+#include <functional>
+#include <api/ahpl_types.h>
+#include <api/ahpl_time.h>
+#include <api/ahpl_mpq_timer.h>
+
+typedef std::function <void (const ahpl_ts_t &now)> ahpl_timer_lambda_func_t;
+
+class ahpl_mpq_timer_base {
+public:
+	ahpl_mpq_timer_base (ahpl_timer_lambda_func_t&& timer_cb, uintptr_t interval, ahpl_ts_t expire_time,
+					ahpl_mpq_t q = AHPL_MPQ_INVALID, bool start = true): on_timer (std::move (timer_cb))
+	{
+		if (ahpl_mpq_invalid (q)) {
+			q = ahpl_mpq_this ();
+			if (ahpl_mpq_invalid (q))
+				abort ();
+		}
+
+		if (expire_time != 0) {
+			timer = ahpl_mpq_set_oneshot_timer (q, expire_time, __on_timer, NULL, 1, this);
+		} else {
+			if (interval == AHPL_INVALID_TIMER_INTERVAL) {
+				timer = ahpl_mpq_create_oneshot_timer (q, __on_timer, NULL, 1, this);
+			} else {
+				if (start) {
+					timer = ahpl_mpq_set_timer (q, interval, __on_timer, NULL, 1, this);
+				} else {
+					timer = ahpl_mpq_create_timer (q, interval, __on_timer, NULL, 1, this);
+				}
+			}
+		}
+
+		if (ahpl_mpq_timer_invalid (timer))
+			abort ();
+	}
+
+	~ahpl_mpq_timer_base ()
+	{
+		if (ahpl_mpq_kill_timer (timer) < 0)
+			abort ();
+	}
+
+	ahpl_timer_t timer_id (void)
+	{
+		return timer;
+	}
+
+	int interval (uintptr_t *interval_p)
+	{
+		return ahpl_mpq_timer_interval (timer, interval_p);
+	}
+
+	int active (bool *active_p)
+	{
+		int active;
+		int err = ahpl_mpq_timer_active (timer, &active);
+		if (err == 0 && active_p != NULL)
+			*active_p = (bool)(active != 0);
+
+		return err;
+	}
+
+	void cancel ()
+	{
+		ahpl_mpq_cancel_timer (timer);
+	}
+
+private:
+	static void __on_timer (ahpl_timer_t timer, const ahpl_ts_t *now_p, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_mpq_timer_base *__this = (ahpl_mpq_timer_base *)argv [0];
+		__this->on_timer (*now_p);
+	}
+
+	ahpl_timer_t timer;
+	const ahpl_timer_lambda_func_t on_timer;
+
+private:
+	ahpl_mpq_timer_base () = delete;
+	ahpl_mpq_timer_base (const ahpl_mpq_timer_base &) = delete;
+	ahpl_mpq_timer_base (ahpl_mpq_timer_base &&) = delete;
+	ahpl_mpq_timer_base &operator = (const ahpl_mpq_timer_base &) = delete;
+	ahpl_mpq_timer_base &operator = (ahpl_mpq_timer_base &&) = delete;
+};
+
+
+class ahpl_mpq_timer: public ahpl_mpq_timer_base {
+public:
+	ahpl_mpq_timer (ahpl_timer_lambda_func_t&& timer_cb, uintptr_t interval, ahpl_mpq_t q = AHPL_MPQ_INVALID, bool start = true)
+				: ahpl_mpq_timer_base (std::move (timer_cb), interval, 0, q, start) {}
+
+	int resched (uintptr_t interval = AHPL_INVALID_TIMER_INTERVAL)
+	{
+		return ahpl_mpq_resched_timer (timer_id (), interval);
+	}
+
+private:
+	ahpl_mpq_timer () = delete;
+	ahpl_mpq_timer (const ahpl_mpq_timer &) = delete;
+	ahpl_mpq_timer (ahpl_mpq_timer &&) = delete;
+	ahpl_mpq_timer &operator = (const ahpl_mpq_timer &) = delete;
+	ahpl_mpq_timer &operator = (ahpl_mpq_timer &&) = delete;
+};
+
+class ahpl_mpq_oneshot_timer: public ahpl_mpq_timer_base {
+public:
+	ahpl_mpq_oneshot_timer (ahpl_timer_lambda_func_t&& timer_cb, ahpl_ts_t expire_time = 0, ahpl_mpq_t q = AHPL_MPQ_INVALID)
+				: ahpl_mpq_timer_base (std::move (timer_cb), AHPL_INVALID_TIMER_INTERVAL, expire_time, q) {}
+
+	int sched (ahpl_ts_t expire_time)
+	{
+		return ahpl_mpq_resched_oneshot_timer (timer_id (), expire_time);
+	}
+
+private:
+	ahpl_mpq_oneshot_timer () = delete;
+	ahpl_mpq_oneshot_timer (const ahpl_mpq_oneshot_timer &) = delete;
+	ahpl_mpq_oneshot_timer (ahpl_mpq_oneshot_timer &&) = delete;
+	ahpl_mpq_oneshot_timer &operator = (const ahpl_mpq_oneshot_timer &) = delete;
+	ahpl_mpq_oneshot_timer &operator = (ahpl_mpq_oneshot_timer &&) = delete;
+};
+
+
+#endif /* __AHPL_MPQ_TIMER_LAMBDA_H__ */

+ 32 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_objc.h

@@ -0,0 +1,32 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Aug 11th, 2021
+ * Module:	AHPL objc relative declarations
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2018 ~ 2021 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_OBJC_H__
+#define __AHPL_OBJC_H__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+extern void *objc_autoreleasePoolPush (void);
+extern void objc_autoreleasePoolPop (void *pool);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif /* __AHPL_OBJC_H__ */

+ 200 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_queue_class.h

@@ -0,0 +1,200 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Oct 27th, 2019
+ * Module:	AHPL queue object for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2018 ~ 2019 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_QUEUE_CLASS_H__
+#define __AHPL_QUEUE_CLASS_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_defs.h>
+#include <api/ahpl_mpq.h>
+#include <api/ahpl_ref.h>
+#include <api/ahpl_queue.h>
+#include <api/cpp/ahpl_ref_class.h>
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+#include <functional>
+#include <memory>
+#endif
+
+
+class ahpl_queue_class: public ahpl_ref_class {
+public:
+	ahpl_queue_class (ahpl_mpq_t queue_q = ahpl_mpq_main ()): ahpl_ref_class (ahpl_queue_create (this, __dtor, queue_q))
+	{
+		if (ahpl_ref_invalid (ref ()))
+			abort ();
+	}
+
+	int queue (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_queue_add_args (ref (), f_name, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int queue_args (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_queue_add_args (ref (), f_name, f, argc, args);
+	}
+
+	int queue_argv (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_queue_add_argv (ref (), f_name, f, argc, argv);
+	}
+
+	int call (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_queue_call_args (ref (), f_name, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int call_args (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_queue_call_args (ref (), f_name, f, argc, args);
+	}
+
+	int call_argv (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_queue_call_argv (ref (), f_name, f, argc, argv);
+	}
+
+	int run (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_queue_run_args (ref (), f_name, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int run_args (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_queue_run_args (ref (), f_name, f, argc, args);
+	}
+
+	int run_argv (const char *f_name, ahpl_queue_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_queue_run_argv (ref (), f_name, f, argc, argv);
+	}
+
+	int set_max (uint32_t max)
+	{
+		return ahpl_queue_set_max (ref (), max);
+	}
+
+	int count () const
+	{
+		return ahpl_queue_count (ref ());
+	}
+
+	int clear ()
+	{
+		return ahpl_queue_clear (ref ());
+	}
+
+	int run_func_arg (uintptr_t n, uintptr_t *arg_p) const
+	{
+		return ahpl_queue_run_func_arg (ref (), n, arg_p);
+	}
+
+protected:
+	/* We do not allow delete this object directly. */
+	virtual ~ahpl_queue_class ()
+	{
+	}
+
+private:
+	static void __dtor (void *arg)
+	{
+		ahpl_queue_class *__this = (ahpl_queue_class *)arg;
+		delete __this;
+	}
+
+	/* C++11 lambda encapsulations */
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+public:
+	typedef std::function <void (ahpl_refobj_t qobj, bool free_only, const ahpl_ts_t &queued_ts)> ahpl_queue_lambda_f;
+
+	int queue (const char *f_name, ahpl_queue_lambda_f&& queue)
+	{
+		ahpl_queue_lambda_f *queue_obj = new ahpl_queue_lambda_f (std::move (queue));
+		int err = ahpl_queue_class::queue (f_name, ____queue_f, 1, queue_obj);
+		if (err < 0)
+			delete queue_obj;
+
+		return err;
+	}
+
+	int call (const char *f_name, ahpl_queue_lambda_f&& queue, void *result_var_p = NULL)
+	{
+		ahpl_queue_lambda_f *queue_obj = new ahpl_queue_lambda_f (std::move (queue));
+		int err = ahpl_queue_class::call (f_name, ____queue_f, 2, queue_obj, result_var_p);
+		if (err < 0)
+			delete queue_obj;
+
+		return err;
+	}
+
+	int run (const char *f_name, ahpl_queue_lambda_f&& queue)
+	{
+		ahpl_queue_lambda_f *queue_obj = new ahpl_queue_lambda_f (std::move (queue));
+		int err = ahpl_queue_class::run (f_name, ____queue_f, 1, queue_obj);
+		if (err < 0)
+			delete queue_obj;
+
+		return err;
+	}
+
+	void *call_result_var_addr (void)
+	{
+		void *var_addr;
+
+		if (run_func_arg (1, (uintptr_t *)&var_addr) < 0)
+			return NULL;
+
+		return var_addr;
+	}
+
+private:
+	static void ____queue_f (ahpl_refobj_t qobj, int free_only, const ahpl_ts_t *queued_ts_p, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_queue_lambda_f *queue_obj = reinterpret_cast<ahpl_queue_lambda_f *>(argv [0]);
+		(*queue_obj) (qobj, (bool)(free_only != 0), *queued_ts_p);
+		delete queue_obj;
+	}
+#endif
+};
+
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+typedef std::unique_ptr<ahpl_queue_class, ahpl_ref_class::deleter> ahpl_queue_class_unique_ptr;
+#endif
+
+
+#endif /* __AHPL_QUEUE_CLASS_H__ */

+ 751 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_ref_class.h

@@ -0,0 +1,751 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Nov 19th, 2018
+ * Module:	AHPL reference object for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2018 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_REF_OBJ_CPP_H__
+#define __AHPL_REF_OBJ_CPP_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_defs.h>
+#include <api/ahpl_ref.h>
+#include <api/ahpl_mpq.h>
+#include <api/ahpl_mpqp.h>
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+#include <functional>
+#include <memory>
+#endif
+
+class ahpl_ref_class {
+private:
+	ahpl_ref_t ref_id;
+
+public:
+	ahpl_ref_class (bool caller_free = true)
+	{
+		ref_id = ahpl_ref_create (this, __dtor, (int)caller_free);
+		if (ahpl_ref_invalid (ref_id))
+			abort ();
+	}
+
+	ahpl_ref_class (ahpl_ref_t ref)
+	{
+		ref_id = ref;
+	}
+
+	ahpl_ref_t ref () const
+	{
+		return ref_id;
+	}
+
+	int hold (ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_ref_hold_args (ref (), f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int hold_args (ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_ref_hold_args (ref (), f, argc, args);
+	}
+
+	int hold_argv (ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_ref_hold_argv (ref (), f, argc, argv);
+	}
+
+	int read (ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_ref_read_args (ref (), f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int read_args (ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_ref_read_args (ref (), f, argc, args);
+	}
+
+	int read_argv (ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_ref_read_argv (ref (), f, argc, argv);
+	}
+
+	int write (ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_ref_write_args (ref (), f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int write_args (ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_ref_write_args (ref (), f, argc, args);
+	}
+
+	int write_argv (ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_ref_write_argv (ref (), f, argc, argv);
+	}
+
+	int maystall (ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_ref_maystall_args (ref (), f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int maystall_args (ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_ref_maystall_args (ref (), f, argc, args);
+	}
+
+	int maystall_argv (ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_ref_maystall_argv (ref (), f, argc, argv);
+	}
+
+	/* The static version of member functions */
+	static int hold (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_ref_hold_args (ref, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	static int hold_args (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_ref_hold_args (ref, f, argc, args);
+	}
+
+	static int hold_argv (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_ref_hold_argv (ref, f, argc, argv);
+	}
+
+	static int read (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_ref_read_args (ref, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	static int read_args (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_ref_read_args (ref, f, argc, args);
+	}
+
+	static int read_argv (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_ref_read_argv (ref, f, argc, argv);
+	}
+
+	static int write (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_ref_write_args (ref, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	static int write_args (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_ref_write_args (ref, f, argc, args);
+	}
+
+	static int write_argv (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_ref_write_argv (ref, f, argc, argv);
+	}
+
+	static int maystall (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_ref_maystall_args (ref, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	static int maystall_args (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_ref_maystall_args (ref, f, argc, args);
+	}
+
+	static int maystall_argv (ahpl_ref_t ref, ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_ref_maystall_argv (ref, f, argc, argv);
+	}
+
+	static int read (ahpl_refobj_t robj, ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_refobj_read_args (robj, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	static int read_args (ahpl_refobj_t robj, ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_refobj_read_args (robj, f, argc, args);
+	}
+
+	static int read_argv (ahpl_refobj_t robj, ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_refobj_read_argv (robj, f, argc, argv);
+	}
+
+	static int maystall (ahpl_refobj_t robj, ahpl_ref_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_refobj_maystall_args (robj, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	static int maystall_args (ahpl_refobj_t robj, ahpl_ref_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_refobj_maystall_args (robj, f, argc, args);
+	}
+
+	static int maystall_argv (ahpl_refobj_t robj, ahpl_ref_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_refobj_maystall_argv (robj, f, argc, argv);
+	}
+
+	static ahpl_ref_class *from_refobj (ahpl_refobj_t robj)
+	{
+		return (ahpl_ref_class *)ahpl_refobj_arg (robj);
+	}
+
+	int destroy (bool do_delete = true)
+	{
+		if (!ahpl_ref_invalid (ref_id))
+			return ahpl_ref_destroy (ref_id, (int)do_delete);
+
+		delete this;
+		return 0;
+	}
+
+public:
+	class deleter {
+	public:
+		void operator () (ahpl_ref_class *obj_ptr) const
+		{
+			if (obj_ptr != NULL)
+				obj_ptr->destroy ();
+		}
+	};
+
+protected:
+	/* We do not allow delete this object directly. */
+	virtual ~ahpl_ref_class ()
+	{
+	}
+
+private:
+	static void __dtor (void *arg)
+	{
+		ahpl_ref_class *__this = (ahpl_ref_class *)arg;
+		::delete __this;
+	}
+
+	/* MPQ relative encapsulations */
+public:
+	int queue (ahpl_mpq_t tq, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_mpq_queue_args (tq, dq, ref (), f_name, f, argc, args); 
+		va_end (args);
+
+		return err;
+	}
+
+	int queue_args (ahpl_mpq_t tq, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_mpq_queue_args (tq, dq, ref (), f_name, f, argc, args); 
+	}
+
+	int queue_argv (ahpl_mpq_t tq, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, uintptr_t *argv)
+	{
+		return ahpl_mpq_queue_argv (tq, dq, ref (), f_name, f, argc, argv); 
+	}
+
+	int queue_data (ahpl_mpq_t tq, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_data_t f, size_t len, void *data)
+	{
+		return ahpl_mpq_queue_data (tq, dq, ref (), f_name, f, len, data);
+	}
+
+	int call (ahpl_mpq_t q, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_mpq_call_args (q, ref (), f_name, f, argc, args); 
+		va_end (args);
+
+		return err;
+	}
+
+	int call_args (ahpl_mpq_t q, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_mpq_call_args (q, ref (), f_name, f, argc, args); 
+	}
+
+	int call_argv (ahpl_mpq_t q, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, uintptr_t *argv)
+	{
+		return ahpl_mpq_call_argv (q, ref (), f_name, f, argc, argv); 
+	}
+
+	int call_data (ahpl_mpq_t q, const char *f_name, ahpl_mpq_func_data_t f, size_t len, void *data)
+	{
+		return ahpl_mpq_call_data (q, ref (), f_name, f, len, data);
+	}
+
+	int run (ahpl_mpq_t q, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_mpq_run_args (q, dq, ref (), f_name, f, argc, args); 
+		va_end (args);
+
+		return err;
+	}
+
+	int run_args (ahpl_mpq_t q, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_mpq_run_args (q, dq, ref (), f_name, f, argc, args); 
+	}
+
+	int run_argv (ahpl_mpq_t q, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, uintptr_t *argv)
+	{
+		return ahpl_mpq_run_argv (q, dq, ref (), f_name, f, argc, argv); 
+	}
+
+	int run_data (ahpl_mpq_t q, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_data_t f, size_t len, void *data)
+	{
+		return ahpl_mpq_run_data (q, dq, ref (), f_name, f, len, data);
+	}
+
+	/* MPQP relative encapsulations */
+	ahpl_mpq_t queue (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		ahpl_mpq_t qid;
+
+		va_start (args, argc);
+		qid = ahpl_mpqp_queue_args (qp, dq, ref (), f_name, f, argc, args); 
+		va_end (args);
+
+		return qid;
+	}
+
+	ahpl_mpq_t queue_args (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_mpqp_queue_args (qp, dq, ref (), f_name, f, argc, args); 
+	}
+
+	ahpl_mpq_t queue_argv (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, uintptr_t *argv)
+	{
+		return ahpl_mpqp_queue_argv (qp, dq, ref (), f_name, f, argc, argv); 
+	}
+
+	ahpl_mpq_t queue_data (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_data_t f, size_t len, void *data)
+	{
+		return ahpl_mpqp_queue_data (qp, dq, ref (), f_name, f, len, data);
+	}
+
+	ahpl_mpq_t call (ahpl_mpqp_t qp, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		ahpl_mpq_t qid;
+
+		va_start (args, argc);
+		qid = ahpl_mpqp_call_args (qp, ref (), f_name, f, argc, args); 
+		va_end (args);
+
+		return qid;
+	}
+
+	ahpl_mpq_t call_args (ahpl_mpqp_t qp, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_mpqp_call_args (qp, ref (), f_name, f, argc, args); 
+	}
+
+	ahpl_mpq_t call_argv (ahpl_mpqp_t qp, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, uintptr_t *argv)
+	{
+		return ahpl_mpqp_call_argv (qp, ref (), f_name, f, argc, argv); 
+	}
+
+	ahpl_mpq_t call_data (ahpl_mpqp_t qp, const char *f_name, ahpl_mpq_func_data_t f, size_t len, void *data)
+	{
+		return ahpl_mpqp_call_data (qp, ref (), f_name, f, len, data);
+	}
+
+	ahpl_mpq_t run (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		ahpl_mpq_t qid;
+
+		va_start (args, argc);
+		qid = ahpl_mpqp_run_args (qp, dq, ref (), f_name, f, argc, args); 
+		va_end (args);
+
+		return qid;
+	}
+
+	ahpl_mpq_t run_args (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_mpqp_run_args (qp, dq, ref (), f_name, f, argc, args); 
+	}
+
+	ahpl_mpq_t run_argv (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, uintptr_t *argv)
+	{
+		return ahpl_mpqp_run_argv (qp, dq, ref (), f_name, f, argc, argv); 
+	}
+
+	ahpl_mpq_t run_data (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_data_t f, size_t len, void *data)
+	{
+		return ahpl_mpqp_run_data (qp, dq, ref (), f_name, f, len, data);
+	}
+
+	int pool_tail_queue (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_mpqp_pool_tail_queue_args (qp, dq, ref (), f_name, f, argc, args); 
+		va_end (args);
+
+		return err;
+	}
+
+	int pool_tail_queue_args (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_mpqp_pool_tail_queue_args (qp, dq, ref (), f_name, f, argc, args); 
+	}
+
+	int pool_tail_queue_argv (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_mpq_func_argv_t f, uintptr_t argc, uintptr_t *argv)
+	{
+		return ahpl_mpqp_pool_tail_queue_argv (qp, dq, ref (), f_name, f, argc, argv); 
+	}
+
+	/* C++11 lambda encapsulations */
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+public:
+	typedef std::function <void (ahpl_ref_class *obj)> ahpl_ref_lambda_f;
+
+	int hold (ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::hold (____ref_f, 1, &lambda_obj);
+	}
+
+	int read (ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::read (____ref_f, 1, &lambda_obj);
+	}
+
+	int write (ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::write (____ref_f, 1, &lambda_obj);
+	}
+
+	int maystall (ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::maystall (____ref_f, 1, &lambda_obj);
+	}
+
+	static int hold (ahpl_ref_t ref, ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::hold (ref, ____ref_f, 1, &lambda_obj);
+	}
+
+	static int read (ahpl_ref_t ref, ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::read (ref, ____ref_f, 1, &lambda_obj);
+	}
+
+	static int write (ahpl_ref_t ref, ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::write (ref, ____ref_f, 1, &lambda_obj);
+	}
+
+	static int maystall (ahpl_ref_t ref, ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::maystall (ref, ____ref_f, 1, &lambda_obj);
+	}
+
+	static int read (ahpl_refobj_t robj, ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::read (robj, ____ref_f, 1, &lambda_obj);
+	}
+
+	static int maystall (ahpl_refobj_t robj, ahpl_ref_lambda_f &&lambda_f)
+	{
+		ahpl_ref_lambda_f lambda_obj (std::move (lambda_f));
+		return ahpl_ref_class::maystall (robj, ____ref_f, 1, &lambda_obj);
+	}
+
+private:
+	static void ____ref_f (void *arg, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_ref_lambda_f *lambda_obj = reinterpret_cast<ahpl_ref_lambda_f *>(argv [0]);
+		(*lambda_obj) ((ahpl_ref_class *)arg);
+	}
+
+public:
+	typedef std::function <void (const ahpl_ts_t &queued_ts, ahpl_refobj_t robj)> ahpl_ref_mpq_lambda_f;
+
+	/* MPQ encapsulations */
+	int queue (ahpl_mpq_t tq, ahpl_mpq_t dq, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		int err = ahpl_ref_class::queue (tq, dq, f_name, ____mpq_f, 1, task_obj);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	int call (ahpl_mpq_t q, const char *f_name, ahpl_ref_mpq_lambda_f&& task, void *task_result = NULL)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		int err = ahpl_ref_class::call (q, f_name, ____mpq_f, 2, task_obj, task_result);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	int run (ahpl_mpq_t q, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		int err = ahpl_ref_class::run (q, AHPL_MPQ_INVALID, f_name, ____mpq_f, 1, task_obj);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	/* MPQP encapsulations */
+	ahpl_mpq_t queue (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		ahpl_mpq_t qid = ahpl_ref_class::queue (qp, dq, f_name, ____mpq_f, 1, task_obj);
+		if (ahpl_mpq_invalid (qid))
+			delete task_obj;
+
+		return qid;
+	}
+
+	ahpl_mpq_t call (ahpl_mpqp_t qp, const char *f_name, ahpl_ref_mpq_lambda_f&& task, void *task_result = NULL)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		ahpl_mpq_t qid = ahpl_ref_class::call (qp, f_name, ____mpq_f, 2, task_obj, task_result);
+		if (ahpl_mpq_invalid (qid))
+			delete task_obj;
+
+		return qid;
+	}
+
+	ahpl_mpq_t run (ahpl_mpqp_t qp, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		ahpl_mpq_t qid = ahpl_ref_class::run (qp, AHPL_MPQ_INVALID, f_name, ____mpq_f, 1, task_obj);
+		if (ahpl_mpq_invalid (qid))
+			delete task_obj;
+
+		return qid;
+	}
+
+	int pool_tail_queue (ahpl_mpqp_t qp, ahpl_mpq_t dq, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		int err = ahpl_ref_class::pool_tail_queue (qp, dq, f_name, ____mpq_f, 1, task_obj);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	/* Specified MPQ with ref encapsulations */
+	static int queue (ahpl_mpq_t tq, ahpl_mpq_t dq, ahpl_ref_t ref, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		int err = ahpl_mpq_queue (tq, dq, ref, f_name, ____mpq_f, 1, task_obj);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	static int call (ahpl_mpq_t q, ahpl_ref_t ref, const char *f_name, ahpl_ref_mpq_lambda_f&& task, void *task_result = NULL)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		int err = ahpl_mpq_call (q, ref, f_name, ____mpq_f, 2, task_obj, task_result);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	static int run (ahpl_mpq_t q, ahpl_ref_t ref, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		int err = ahpl_mpq_run (q, AHPL_MPQ_INVALID, ref, f_name, ____mpq_f, 1, task_obj);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	/* Specified MPQP encapsulations */
+	static ahpl_mpq_t queue (ahpl_mpqp_t qp, ahpl_mpq_t dq, ahpl_ref_t ref, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		ahpl_mpq_t qid = ahpl_mpqp_queue (qp, dq, ref, f_name, ____mpq_f, 1, task_obj);
+		if (ahpl_mpq_invalid (qid))
+			delete task_obj;
+
+		return qid;
+	}
+
+	static ahpl_mpq_t call (ahpl_mpqp_t qp, ahpl_ref_t ref, const char *f_name, ahpl_ref_mpq_lambda_f&& task, void *task_result = NULL)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		ahpl_mpq_t qid = ahpl_mpqp_call (qp, ref, f_name, ____mpq_f, 2, task_obj, task_result);
+		if (ahpl_mpq_invalid (qid))
+			delete task_obj;
+
+		return qid;
+	}
+
+	static ahpl_mpq_t run (ahpl_mpqp_t qp, ahpl_ref_t ref, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		ahpl_mpq_t qid = ahpl_mpqp_run (qp, AHPL_MPQ_INVALID, ref, f_name, ____mpq_f, 1, task_obj);
+		if (ahpl_mpq_invalid (qid))
+			delete task_obj;
+
+		return qid;
+	}
+
+	static int pool_tail_queue (ahpl_mpqp_t qp, ahpl_mpq_t dq, ahpl_ref_t ref, const char *f_name, ahpl_ref_mpq_lambda_f&& task)
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = new ahpl_ref_mpq_lambda_f (std::move (task));
+		int err = ahpl_mpqp_pool_tail_queue (qp, dq, ref, f_name, ____mpq_f, 1, task_obj);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	static void *call_result_var_addr (void)
+	{
+		void *var_addr;
+
+		if (ahpl_mpq_run_func_arg (1, (uintptr_t *)&var_addr) < 0)
+			return NULL;
+
+		return var_addr;
+	}
+
+private:
+	static void ____mpq_f (const ahpl_ts_t *queued_ts_p, ahpl_refobj_t robj, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_ref_mpq_lambda_f *task_obj = reinterpret_cast<ahpl_ref_mpq_lambda_f *>(argv [0]);
+		ahpl_mpq_t done_qid = ahpl_mpq_run_func_done_qid ();
+		(*task_obj) (*queued_ts_p, robj);
+		if (ahpl_mpq_invalid (done_qid) || ahpl_is_free_only (robj)) {
+			/**
+			 * We only free the task object when the running function has no
+			 * done mpq id, due to the task object would be still in use if
+			 * the function has a done mpq id when queuing back to the done
+			 * mpq.
+			 * -- Lionfore Hao Nov 19th, 2018
+			 **/
+			delete task_obj;
+		}
+	}
+#endif
+};
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+typedef std::unique_ptr<ahpl_ref_class, ahpl_ref_class::deleter> ahpl_ref_class_unique_ptr;
+#endif
+
+
+#endif /* __AHPL_REF_OBJ_CPP_H__ */

+ 238 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_task_class.h

@@ -0,0 +1,238 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Nov 19th, 2018
+ * Module:	AHPL task object for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2018 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_TASK_CLASS_H__
+#define __AHPL_TASK_CLASS_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_defs.h>
+#include <api/ahpl_mpq.h>
+#include <api/ahpl_ref.h>
+#include <api/ahpl_task.h>
+#include <api/cpp/ahpl_ref_class.h>
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+#include <functional>
+#include <memory>
+#endif
+
+
+class ahpl_task_class: public ahpl_ref_class {
+public:
+	ahpl_task_class (ahpl_task_type_t type, bool must_serial = false, ahpl_mpq_t st_op_q = ahpl_mpq_main (), bool resume = true, ahpl_task_res_wait_t wait_f = NULL)
+				: ahpl_ref_class (ahpl_task_create (this, __dtor, type, (int)must_serial, st_op_q, (int)(resume == true), wait_f))
+	{
+		if (ahpl_ref_invalid (ref ()))
+			abort ();
+	}
+
+	ahpl_task_class (): ahpl_ref_class (AHPL_REF_INVALID)
+	{
+	}
+
+	ahpl_task_type_t get_type ()
+	{
+		return ahpl_task_get_type (ref ());
+	}
+
+	int exec (const char *f_name, ahpl_task_func_t f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_task_exec_args (ref (), f_name, f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int exec_args (const char *f_name, ahpl_task_func_t f, uintptr_t argc, va_list args)
+	{
+		return ahpl_task_exec_args (ref (), f_name, f, argc, args);
+	}
+
+	int exec_argv (const char *f_name, ahpl_task_func_t f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_task_exec_argv (ref (), f_name, f, argc, argv);
+	}
+
+	int exclusive_exec (ahpl_task_func_t exclusive_f, uintptr_t argc, ...)
+	{
+		va_list args;
+		int err;
+
+		va_start (args, argc);
+		err = ahpl_task_exclusive_exec_args (ref (), exclusive_f, argc, args);
+		va_end (args);
+
+		return err;
+	}
+
+	int exclusive_exec_args (ahpl_task_func_t exclusive_f, uintptr_t argc, va_list args)
+	{
+		return ahpl_task_exclusive_exec_args (ref (), exclusive_f, argc, args);
+	}
+
+	int exclusive_exec_argv (ahpl_task_func_t exclusive_f, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_task_exclusive_exec_argv (ref (), exclusive_f, argc, argv);
+	}
+
+	int waiting_ops_count ()
+	{
+		return ahpl_task_waiting_ops_count (ref ());
+	}
+
+	int remove_waiting_ops_head ()
+	{
+		return ahpl_task_remove_waiting_ops_head (ref ());
+	}
+
+	int clear ()
+	{
+		return ahpl_task_clear (ref ());
+	}
+
+	int async_done ()
+	{
+		return ahpl_task_async_done (ref ());
+	}
+
+	int async_done (uintptr_t opaque)
+	{
+		return ahpl_task_async_done_opaque (ref (), opaque);
+	}
+
+protected:
+	/* We do not allow delete this object directly. */
+	virtual ~ahpl_task_class ()
+	{
+	}
+
+private:
+	static void __dtor (void *arg)
+	{
+		ahpl_task_class *__this = (ahpl_task_class *)arg;
+		delete __this;
+	}
+
+	/* C++11 lambda encapsulations */
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+public:
+	typedef std::function <void (ahpl_refobj_t tobj, ahpl_task_act_t action, uintptr_t opaque, uintptr_t &res)> ahpl_task_lambda_f;
+	typedef std::function <void (ahpl_task_act_t action)> ahpl_task_lambda_exclusive_f;
+
+	int exec (const char *f_name, ahpl_task_lambda_f&& task)
+	{
+		ahpl_task_lambda_f *task_obj = new ahpl_task_lambda_f (std::move (task));
+		int err = ahpl_task_class::exec (f_name, ____task_f, 2, 0, task_obj);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+	int exclusive_exec (ahpl_task_lambda_exclusive_f&& task)
+	{
+		ahpl_task_lambda_exclusive_f *task_obj = new ahpl_task_lambda_exclusive_f (std::move (task));
+		int err = ahpl_task_class::exclusive_exec (____exclusive_exec_f, 1, task_obj);
+		if (err < 0)
+			delete task_obj;
+
+		return err;
+	}
+
+private:
+	static void ____task_f (ahpl_refobj_t tobj, ahpl_task_act_t action, uintptr_t opaque, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_task_lambda_f *task_obj = reinterpret_cast<ahpl_task_lambda_f *>(argv [1]);
+		(*task_obj) (tobj, action, opaque, argv [0]);
+		if (action != ahpl_task_act_exec) {
+			/**
+			 * Do not free the task object for the task object 'run' case,
+			 * because the task object is still used later.
+			 * -- Lionfore Hao Nov 19th, 2018
+			 **/
+			delete task_obj;
+		}
+	}
+
+	static void ____exclusive_exec_f (ahpl_refobj_t tobj, ahpl_task_act_t action, uintptr_t opaque, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_task_lambda_exclusive_f *task_obj = reinterpret_cast<ahpl_task_lambda_exclusive_f *>(argv [0]);
+		(*task_obj) (action);
+		delete task_obj;
+	}
+
+	/**
+	 * The stackless coroutine like implementation in AHPL. We could not
+	 * support the real stackless coroutine except in the language level,
+	 * so we just provide similar equivalent functionals here.
+	 **/
+public:
+	typedef std::function <int (int free_only)> ahpl_task_prepare_lambda_f;
+
+	static int prepare (ahpl_stack_id_t stack_id, const char *f_name, ahpl_task_prepare_lambda_f&& task)
+	{
+		ahpl_task_prepare_lambda_f *prepare_f = new ahpl_task_prepare_lambda_f (std::move (task));
+		int err = ahpl_task_prepare (stack_id, f_name, ____async_prepare_f, 1, prepare_f);
+		if (err < 0)
+			delete prepare_f;
+
+		return err;
+	}
+
+private:
+	static int ____async_prepare_f (int free_only, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_task_prepare_lambda_f *prepare_f = reinterpret_cast<ahpl_task_prepare_lambda_f *>(argv [0]);
+		int err;
+		err = (*prepare_f) (free_only);
+		delete prepare_f;
+		return err;
+	}
+
+public:
+	typedef std::function <void (int free_only)> ahpl_task_resume_lambda_f;
+
+	static int resume (ahpl_stack_id_t stack_id, const char *f_name, ahpl_task_resume_lambda_f&& task)
+	{
+		ahpl_task_resume_lambda_f *resume_f = new ahpl_task_resume_lambda_f (std::move (task));
+		int err = ahpl_task_resume (stack_id, f_name, ____async_resume_f, 1, resume_f);
+		if (err < 0)
+			delete resume_f;
+
+		return err;
+	}
+
+private:
+	static void ____async_resume_f (int free_only, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_task_resume_lambda_f *resume_f = reinterpret_cast<ahpl_task_resume_lambda_f *>(argv [0]);
+		(*resume_f) (free_only);
+		delete resume_f;
+	}
+#endif
+};
+
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+typedef std::unique_ptr<ahpl_task_class, ahpl_ref_class::deleter> ahpl_task_class_unique_ptr;
+#endif
+
+
+
+#endif /* __AHPL_TASK_CLASS_H__ */

+ 237 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_thread_class.h

@@ -0,0 +1,237 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Jul 9th, 2019
+ * Module:	AHPL thread object for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2018 ~ 2019 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_THREAD_OBJ_CPP_H__
+#define __AHPL_THREAD_OBJ_CPP_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_thread.h>
+
+
+class ahpl_lock_class {
+private:
+	ahpl_lock_t lk;
+
+public:
+	ahpl_lock_class (bool recursive = false)
+	{
+		lk = ahpl_lock_create ((int)recursive);
+		if (lk == NULL)
+			abort ();
+	}
+
+	void lock (void)
+	{
+		ahpl_lock_lock (lk);
+	}
+
+	bool try_lock (void)
+	{
+		return (bool)(ahpl_lock_trylock (lk) != 0);
+	}
+
+	void unlock (void)
+	{
+		ahpl_lock_unlock (lk);
+	}
+
+	~ahpl_lock_class ()
+	{
+		ahpl_lock_destroy (lk);
+	}
+
+public:
+	class scoped {
+	private:
+		ahpl_lock_class &the_lock;
+		bool locked;
+
+	private:
+		/* No copy constructor allowed */
+		scoped (const scoped &);
+		/* No copy operator= allowed */
+		scoped &operator = (const scoped &);
+
+	public:
+		scoped (ahpl_lock_class &lk): the_lock (lk)
+		{
+			the_lock.lock ();
+			locked = true;
+		}
+
+		void release (void)
+		{
+			if (!locked)
+				abort ();
+
+			locked = false;
+			the_lock.unlock ();
+		}
+
+		void reacquire (void)
+		{
+			if (locked)
+				abort ();
+
+			the_lock.lock ();
+			locked = true;
+		}
+
+		~scoped ()
+		{
+			if (locked)
+				the_lock.unlock ();
+		}
+	};
+};
+
+class ahpl_rwlock_class {
+private:
+	ahpl_rwlock_t rw;
+
+public:
+	ahpl_rwlock_class ()
+	{
+		rw = ahpl_rwlock_create ();
+		if (rw == NULL)
+			abort ();
+	}
+
+	void rdlock (void)
+	{
+		ahpl_rwlock_rdlock (rw);
+	}
+
+	bool try_rdlock (void)
+	{
+		return (bool)(ahpl_rwlock_tryrdlock (rw) != 0);
+	}
+
+	void wrlock (void)
+	{
+		ahpl_rwlock_wrlock (rw);
+	}
+
+	bool try_wrlock (void)
+	{
+		return (bool)(ahpl_rwlock_trywrlock (rw) != 0);
+	}
+
+	void rdunlock (void)
+	{
+		ahpl_rwlock_rdunlock (rw);
+	}
+
+	void wrunlock (void)
+	{
+		ahpl_rwlock_wrunlock (rw);
+	}
+
+	~ahpl_rwlock_class ()
+	{
+		ahpl_rwlock_destroy (rw);
+	}
+
+public:
+	class scoped_rdlock {
+	private:
+		ahpl_rwlock_class &the_rwlock;
+		bool locked;
+
+	private:
+		/* No copy constructor allowed */
+		scoped_rdlock (const scoped_rdlock &);
+		/* No copy operator= allowed */
+		scoped_rdlock &operator = (const scoped_rdlock &);
+
+	public:
+		scoped_rdlock (ahpl_rwlock_class &rwlock): the_rwlock (rwlock)
+		{
+			the_rwlock.rdlock ();
+			locked = true;
+		}
+
+		void release (void)
+		{
+			if (!locked)
+				abort ();
+
+			locked = false;
+			the_rwlock.rdunlock ();
+		}
+
+		void reacquire (void)
+		{
+			if (locked)
+				abort ();
+
+			the_rwlock.rdlock ();
+			locked = true;
+		}
+
+		~scoped_rdlock ()
+		{
+			if (locked)
+				the_rwlock.rdunlock ();
+		}
+	};
+
+	class scoped_wrlock {
+	private:
+		ahpl_rwlock_class &the_rwlock;
+		bool locked;
+
+	private:
+		/* No copy constructor allowed */
+		scoped_wrlock (const scoped_wrlock &);
+		/* No copy operator= allowed */
+		scoped_wrlock &operator = (const scoped_wrlock &);
+
+	public:
+		scoped_wrlock (ahpl_rwlock_class &rwlock): the_rwlock (rwlock)
+		{
+			the_rwlock.wrlock ();
+			locked = true;
+		}
+
+		void release (void)
+		{
+			if (!locked)
+				abort ();
+
+			locked = false;
+			the_rwlock.wrunlock ();
+		}
+
+		void reacquire (void)
+		{
+			if (locked)
+				abort ();
+
+			the_rwlock.wrlock ();
+			locked = true;
+		}
+
+		~scoped_wrlock ()
+		{
+			if (locked)
+				the_rwlock.wrunlock ();
+		}
+	};
+};
+
+
+
+#endif /* __AHPL_THREAD_OBJ_CPP_H__ */

+ 84 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_usage_class.h

@@ -0,0 +1,84 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Jan 6th, 2019
+ * Module:	AHPL simple usage object for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2019 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_USAGE_OBJ_CPP_H__
+#define __AHPL_USAGE_OBJ_CPP_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_atomic.h>
+
+
+class ahpl_usage_class {
+private:
+	bool atomic;
+	int usage;
+
+protected:
+	/* We do not allow delete this object directly. */
+	virtual ~ahpl_usage_class () {}
+
+public:
+	/**
+	 * The parameter 'atomic_op' indicates whether the operations
+	 * on the usage should be atomic operations, true for atomic,
+	 * and false for non-atomic. The default value is false.
+	 **/
+	ahpl_usage_class (bool atomic_op = false)
+	{
+		atomic = atomic_op;
+
+		if (atomic_op) {
+			ahpl_atomic_set ((ahpl_atomic_t *)&usage, 1);
+		} else {
+			usage = 1;
+		}
+	}
+
+	void inc_ref ()
+	{
+		if (atomic) {
+			ahpl_atomic_inc ((ahpl_atomic_t *)&usage);
+		} else {
+			usage++;
+		}
+	}
+
+	/**
+	 * Return values:
+	 *       true: the usage count reached zero, and deleted 'this' object already;
+	 *      false: the usage count still greater than zero, 'this' object is still alive;
+	 **/
+	bool dec_ref ()
+	{
+		bool b_val;
+
+		if (atomic) {
+			b_val = (bool)!!ahpl_atomic_dec_and_test ((ahpl_atomic_t *)&usage);
+		} else {
+			usage--;
+			b_val = (bool)(usage == 0);
+		}
+
+		if (b_val) {
+			delete this;
+			return true;
+		}
+
+		return false;
+	}
+};
+
+
+#endif /* __AHPL_USAGE_OBJ_CPP_H__ */

+ 471 - 0
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Headers/ahpl_value_class.h

@@ -0,0 +1,471 @@
+/*************************************************************
+ * Author:	Lionfore Hao (haolianfu@agora.io)
+ * Date	 :	Dec 8th, 2022
+ * Module:	AHPL value object for C++ definition file
+ *
+ *
+ * This is a part of the Advanced High Performance Library.
+ * Copyright (C) 2018 ~ 2022 Agora IO
+ * All rights reserved.
+ *
+ *************************************************************/
+
+#ifndef __AHPL_VALUE_OBJ_CPP_H__
+#define __AHPL_VALUE_OBJ_CPP_H__
+
+
+#include <stdlib.h>
+
+#include <api/ahpl_types.h>
+#include <api/ahpl_value.h>
+#include <api/cpp/ahpl_kobj_class.h>
+
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+#include <functional>
+#include <memory>
+#endif
+
+
+class ahpl_value_base: public ahpl_kobj_class {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_base () = delete;
+	ahpl_value_base (const ahpl_value_base &) = delete;
+	ahpl_value_base (ahpl_value_base &&) = delete;
+	ahpl_value_base &operator = (const ahpl_value_base &) = delete;
+	ahpl_value_base &operator = (ahpl_value_base &&) = delete;
+	~ahpl_value_base () = delete;
+#else
+	ahpl_value_base ();
+	ahpl_value_base (const ahpl_value_base &);
+	ahpl_value_base &operator = (const ahpl_value_base &);
+	~ahpl_value_base ();
+#endif
+
+public:
+	static ssize_t get (const char *key, ahpl_value_t &val, ahpl_kfd_t dfd = AHPL_KFD_INVALID)
+	{
+		ahpl_value_init (&val);
+		return ahpl_value_get (dfd, key, &val);
+	}
+
+	static ssize_t set (const char *key, const ahpl_value_t &val, ahpl_kfd_t dfd = AHPL_KFD_INVALID)
+	{
+		return ahpl_value_set (dfd, key, &val);
+	}
+
+public:
+	static void *verify_register (ahpl_kfd_t dfd, const char *name, ahpl_value_verify_t f, ahpl_value_verify_dtor_t dtor, uintptr_t argc, ...)
+	{
+		va_list args;
+		void *err;
+
+		va_start (args, argc);
+		err = ahpl_value_verify_register_args (dfd, name, f, dtor, argc, args);
+		va_end (args);
+		return err;
+	}
+
+	static void *verify_register_args (ahpl_kfd_t dfd, const char *name, ahpl_value_verify_t f, ahpl_value_verify_dtor_t dtor, uintptr_t argc, va_list args)
+	{
+		return ahpl_value_verify_register_args (dfd, name, f, dtor, argc, args);
+	}
+
+	static void *verify_register_argv (ahpl_kfd_t dfd, const char *name, ahpl_value_verify_t f, ahpl_value_verify_dtor_t dtor, uintptr_t argc, uintptr_t argv [])
+	{
+		return ahpl_value_verify_register_argv (dfd, name, f, dtor, argc, argv);
+	}
+
+	static int verify_unregister (ahpl_kfd_t dfd, const char *name, void *handle)
+	{
+		return ahpl_value_verify_unregister (dfd, name, handle);
+	}
+
+	/* C++11 lambda encapsulations */
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+public:
+	typedef std::function <int (const ahpl_value_t *val)> ahpl_value_verify_lambda_f;
+	static void *verify_register (ahpl_kfd_t dfd, const char *name, ahpl_value_verify_lambda_f&& task)
+	{
+		ahpl_value_verify_lambda_f *task_obj = new ahpl_value_verify_lambda_f (std::move (task));
+		void *err = verify_register (dfd, name, ____verify_f, ____verify_dtor, 1, task_obj);
+		if (err == NULL)
+			delete task_obj;
+
+		return err;
+	}
+
+private:
+	static int ____verify_f (const ahpl_value_t *val, uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_value_verify_lambda_f *task_obj = reinterpret_cast<ahpl_value_verify_lambda_f *>(argv [0]);
+		return (*task_obj) (val);
+	}
+
+	static void ____verify_dtor (uintptr_t argc, uintptr_t argv [])
+	{
+		ahpl_value_verify_lambda_f *task_obj = reinterpret_cast<ahpl_value_verify_lambda_f *>(argv [0]);
+		delete task_obj;
+	}
+#endif
+};
+
+class ahpl_value_bool: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_bool () = delete;
+	ahpl_value_bool (const ahpl_value_bool &) = delete;
+	ahpl_value_bool (ahpl_value_bool &&) = delete;
+	ahpl_value_bool &operator = (const ahpl_value_bool &) = delete;
+	ahpl_value_bool &operator = (ahpl_value_bool &&) = delete;
+	~ahpl_value_bool () = delete;
+#else
+	ahpl_value_bool ();
+	ahpl_value_bool (const ahpl_value_bool &);
+	ahpl_value_bool &operator = (const ahpl_value_bool &);
+	~ahpl_value_bool ();
+#endif
+
+public:
+	static bool get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, bool error_val = false)
+	{
+		int8_t v;
+		if (ahpl_value_get_int8 (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return (bool)(v != 0);
+	}
+
+	static ssize_t set (const char *key, bool v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_int8 (dfd, key, weight, (int8_t)v);
+	}
+};
+
+class ahpl_value_int8: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_int8 () = delete;
+	ahpl_value_int8 (const ahpl_value_int8 &) = delete;
+	ahpl_value_int8 (ahpl_value_int8 &&) = delete;
+	ahpl_value_int8 &operator = (const ahpl_value_int8 &) = delete;
+	ahpl_value_int8 &operator = (ahpl_value_int8 &&) = delete;
+	~ahpl_value_int8 () = delete;
+#else
+	ahpl_value_int8 ();
+	ahpl_value_int8 (const ahpl_value_int8 &);
+	ahpl_value_int8 &operator = (const ahpl_value_int8 &);
+	~ahpl_value_int8 ();
+#endif
+
+public:
+	static int8_t get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, int8_t error_val = 0)
+	{
+		int8_t v;
+		if (ahpl_value_get_int8 (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return v;
+	}
+
+	static ssize_t set (const char *key, int8_t v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_int8 (dfd, key, weight, v);
+	}
+};
+
+class ahpl_value_int16: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_int16 () = delete;
+	ahpl_value_int16 (const ahpl_value_int16 &) = delete;
+	ahpl_value_int16 (ahpl_value_int16 &&) = delete;
+	ahpl_value_int16 &operator = (const ahpl_value_int16 &) = delete;
+	ahpl_value_int16 &operator = (ahpl_value_int16 &&) = delete;
+	~ahpl_value_int16 () = delete;
+#else
+	ahpl_value_int16 ();
+	ahpl_value_int16 (const ahpl_value_int16 &);
+	ahpl_value_int16 &operator = (const ahpl_value_int16 &);
+	~ahpl_value_int16 ();
+#endif
+
+public:
+	static int16_t get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, int16_t error_val = 0)
+	{
+		int16_t v;
+		if (ahpl_value_get_int16 (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return v;
+	}
+
+	static ssize_t set (const char *key, int16_t v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_int16 (dfd, key, weight, v);
+	}
+};
+
+class ahpl_value_int32: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_int32 () = delete;
+	ahpl_value_int32 (const ahpl_value_int32 &) = delete;
+	ahpl_value_int32 (ahpl_value_int32 &&) = delete;
+	ahpl_value_int32 &operator = (const ahpl_value_int32 &) = delete;
+	ahpl_value_int32 &operator = (ahpl_value_int32 &&) = delete;
+	~ahpl_value_int32 () = delete;
+#else
+	ahpl_value_int32 ();
+	ahpl_value_int32 (const ahpl_value_int32 &);
+	ahpl_value_int32 &operator = (const ahpl_value_int32 &);
+	~ahpl_value_int32 ();
+#endif
+
+public:
+	static int32_t get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, int32_t error_val = 0)
+	{
+		int32_t v;
+		if (ahpl_value_get_int32 (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return v;
+	}
+
+	static ssize_t set (const char *key, int32_t v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_int32 (dfd, key, weight, v);
+	}
+};
+
+class ahpl_value_int64: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_int64 () = delete;
+	ahpl_value_int64 (const ahpl_value_int64 &) = delete;
+	ahpl_value_int64 (ahpl_value_int64 &&) = delete;
+	ahpl_value_int64 &operator = (const ahpl_value_int64 &) = delete;
+	ahpl_value_int64 &operator = (ahpl_value_int64 &&) = delete;
+	~ahpl_value_int64 () = delete;
+#else
+	ahpl_value_int64 ();
+	ahpl_value_int64 (const ahpl_value_int64 &);
+	ahpl_value_int64 &operator = (const ahpl_value_int64 &);
+	~ahpl_value_int64 ();
+#endif
+
+public:
+	static int64_t get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, int64_t error_val = 0)
+	{
+		int64_t v;
+		if (ahpl_value_get_int64 (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return v;
+	}
+
+	static ssize_t set (const char *key, int64_t v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_int64 (dfd, key, weight, v);
+	}
+};
+
+class ahpl_value_intptr: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_intptr () = delete;
+	ahpl_value_intptr (const ahpl_value_intptr &) = delete;
+	ahpl_value_intptr (ahpl_value_intptr &&) = delete;
+	ahpl_value_intptr &operator = (const ahpl_value_intptr &) = delete;
+	ahpl_value_intptr &operator = (ahpl_value_intptr &&) = delete;
+	~ahpl_value_intptr () = delete;
+#else
+	ahpl_value_intptr ();
+	ahpl_value_intptr (const ahpl_value_intptr &);
+	ahpl_value_intptr &operator = (const ahpl_value_intptr &);
+	~ahpl_value_intptr ();
+#endif
+
+public:
+	static intptr_t get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, intptr_t error_val = 0)
+	{
+		intptr_t v;
+		if (ahpl_value_get_intptr (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return v;
+	}
+
+	static ssize_t set (const char *key, intptr_t v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_intptr (dfd, key, weight, v);
+	}
+};
+
+class ahpl_value_pointer: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_pointer () = delete;
+	ahpl_value_pointer (const ahpl_value_pointer &) = delete;
+	ahpl_value_pointer (ahpl_value_pointer &&) = delete;
+	ahpl_value_pointer &operator = (const ahpl_value_pointer &) = delete;
+	ahpl_value_pointer &operator = (ahpl_value_pointer &&) = delete;
+	~ahpl_value_pointer () = delete;
+#else
+	ahpl_value_pointer ();
+	ahpl_value_pointer (const ahpl_value_pointer &);
+	ahpl_value_pointer &operator = (const ahpl_value_pointer &);
+	~ahpl_value_pointer ();
+#endif
+
+public:
+	static void *get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, void *error_val = NULL)
+	{
+		void *v;
+		if (ahpl_value_get_pointer (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return v;
+	}
+
+	static ssize_t set (const char *key, void *v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_pointer (dfd, key, weight, v);
+	}
+};
+
+class ahpl_value_float: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_float () = delete;
+	ahpl_value_float (const ahpl_value_float &) = delete;
+	ahpl_value_float (ahpl_value_float &&) = delete;
+	ahpl_value_float &operator = (const ahpl_value_float &) = delete;
+	ahpl_value_float &operator = (ahpl_value_float &&) = delete;
+	~ahpl_value_float () = delete;
+#else
+	ahpl_value_float ();
+	ahpl_value_float (const ahpl_value_float &);
+	ahpl_value_float &operator = (const ahpl_value_float &);
+	~ahpl_value_float ();
+#endif
+
+public:
+	static float get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, float error_val = 1.0)
+	{
+		float v;
+		if (ahpl_value_get_float (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return v;
+	}
+
+	static ssize_t set (const char *key, float v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_float (dfd, key, weight, v);
+	}
+};
+
+class ahpl_value_double: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_double () = delete;
+	ahpl_value_double (const ahpl_value_double &) = delete;
+	ahpl_value_double (ahpl_value_double &&) = delete;
+	ahpl_value_double &operator = (const ahpl_value_double &) = delete;
+	ahpl_value_double &operator = (ahpl_value_double &&) = delete;
+	~ahpl_value_double () = delete;
+#else
+	ahpl_value_double ();
+	ahpl_value_double (const ahpl_value_double &);
+	ahpl_value_double &operator = (const ahpl_value_double &);
+	~ahpl_value_double ();
+#endif
+
+public:
+	static double get (const char *key, ahpl_kfd_t dfd = AHPL_KFD_INVALID, double error_val = 1.0)
+	{
+		double v;
+		if (ahpl_value_get_double (dfd, key, &v) != sizeof v)
+			return error_val;
+
+		return v;
+	}
+
+	static ssize_t set (const char *key, double v, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_double (dfd, key, weight, v);
+	}
+};
+
+class ahpl_value_string: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_string () = delete;
+	ahpl_value_string (const ahpl_value_string &) = delete;
+	ahpl_value_string (ahpl_value_string &&) = delete;
+	ahpl_value_string &operator = (const ahpl_value_string &) = delete;
+	ahpl_value_string &operator = (ahpl_value_string &&) = delete;
+	~ahpl_value_string () = delete;
+#else
+	ahpl_value_string ();
+	ahpl_value_string (const ahpl_value_string &);
+	ahpl_value_string &operator = (const ahpl_value_string &);
+	~ahpl_value_string ();
+#endif
+
+public:
+	static ssize_t get (const char *key, char *str, size_t len, ahpl_kfd_t dfd = AHPL_KFD_INVALID)
+	{
+		return ahpl_value_get_string (dfd, key, str, len);
+	}
+
+	static ssize_t set (const char *key, const char *str, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_string (dfd, key, weight, str);
+	}
+};
+
+class ahpl_value_data: public ahpl_value_base {
+private:
+#if (__cplusplus >= 201103) || defined (_MSC_VER)
+	ahpl_value_data () = delete;
+	ahpl_value_data (const ahpl_value_data &) = delete;
+	ahpl_value_data (ahpl_value_data &&) = delete;
+	ahpl_value_data &operator = (const ahpl_value_data &) = delete;
+	ahpl_value_data &operator = (ahpl_value_data &&) = delete;
+	~ahpl_value_data () = delete;
+#else
+	ahpl_value_data ();
+	ahpl_value_data (const ahpl_value_data &);
+	ahpl_value_data &operator = (const ahpl_value_data &);
+	~ahpl_value_data ();
+#endif
+
+public:
+	static ssize_t get (const char *key, void *buf, size_t len, ahpl_kfd_t dfd = AHPL_KFD_INVALID)
+	{
+		return ahpl_value_get_data (dfd, key, buf, len);
+	}
+
+	static ssize_t set (const char *key, const void *buf, size_t len, ahpl_kfd_t dfd = AHPL_KFD_INVALID, uint32_t weight = 0)
+	{
+		return ahpl_value_set_data (dfd, key, weight, buf, len);
+	}
+};
+
+class ahpl_value_class: public ahpl_value_t {
+public:
+	ahpl_value_class ()
+	{
+		ahpl_value_init (this);
+	}
+
+	~ahpl_value_class ()
+	{
+		ahpl_value_free (this);
+	}
+};
+
+
+#endif /* __AHPL_VALUE_OBJ_CPP_H__ */

BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_armv7/AgoraCore.framework/Info.plist


BIN
Pods/AgoraRtcEngine_Special_iOS/AgoraCore.xcframework/ios-arm64_x86_64-simulator/AgoraCore.framework/AgoraCore


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov