react-native-nitro-player 0.3.0-alpha.9 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/README.md +444 -4
  2. package/android/build.gradle +4 -1
  3. package/android/src/main/AndroidManifest.xml +16 -1
  4. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrary.kt +2 -0
  5. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAudioDevices.kt +8 -0
  6. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridDownloadManager.kt +225 -0
  7. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridEqualizer.kt +105 -0
  8. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridPlayerQueue.kt +6 -6
  9. package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridTrackPlayer.kt +37 -12
  10. package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +970 -213
  11. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadDatabase.kt +475 -0
  12. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadFileManager.kt +159 -0
  13. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadManagerCore.kt +489 -0
  14. package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadWorker.kt +209 -0
  15. package/android/src/main/java/com/margelo/nitro/nitroplayer/equalizer/EqualizerCore.kt +486 -0
  16. package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaBrowserService.kt +3 -1
  17. package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaSessionManager.kt +14 -6
  18. package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/PlaylistManager.kt +27 -0
  19. package/ios/HybridDownloadManager.swift +226 -0
  20. package/ios/HybridEqualizer.swift +111 -0
  21. package/ios/HybridTrackPlayer.swift +36 -8
  22. package/ios/core/TrackPlayerCore.swift +998 -276
  23. package/ios/download/DownloadDatabase.swift +493 -0
  24. package/ios/download/DownloadFileManager.swift +241 -0
  25. package/ios/download/DownloadManagerCore.swift +923 -0
  26. package/ios/equalizer/EqualizerCore.swift +685 -0
  27. package/ios/media/MediaSessionManager.swift +40 -28
  28. package/ios/playlist/PlaylistManager.swift +40 -9
  29. package/ios/queue/HybridPlayerQueue.swift +33 -13
  30. package/lib/hooks/downloadCallbackManager.d.ts +36 -0
  31. package/lib/hooks/downloadCallbackManager.js +108 -0
  32. package/lib/hooks/equalizerCallbackManager.d.ts +37 -0
  33. package/lib/hooks/equalizerCallbackManager.js +109 -0
  34. package/lib/hooks/index.d.ts +16 -0
  35. package/lib/hooks/index.js +10 -0
  36. package/lib/hooks/useActualQueue.d.ts +48 -0
  37. package/lib/hooks/useActualQueue.js +98 -0
  38. package/lib/hooks/useDownloadActions.d.ts +26 -0
  39. package/lib/hooks/useDownloadActions.js +117 -0
  40. package/lib/hooks/useDownloadProgress.d.ts +25 -0
  41. package/lib/hooks/useDownloadProgress.js +79 -0
  42. package/lib/hooks/useDownloadStorage.d.ts +19 -0
  43. package/lib/hooks/useDownloadStorage.js +60 -0
  44. package/lib/hooks/useDownloadedTracks.d.ts +25 -0
  45. package/lib/hooks/useDownloadedTracks.js +69 -0
  46. package/lib/hooks/useEqualizer.d.ts +25 -0
  47. package/lib/hooks/useEqualizer.js +124 -0
  48. package/lib/hooks/useEqualizerPresets.d.ts +22 -0
  49. package/lib/hooks/useEqualizerPresets.js +96 -0
  50. package/lib/hooks/useNowPlaying.js +3 -2
  51. package/lib/hooks/useOnChangeTrack.js +15 -12
  52. package/lib/hooks/useOnPlaybackStateChange.js +16 -13
  53. package/lib/hooks/usePlaylist.d.ts +48 -0
  54. package/lib/hooks/usePlaylist.js +136 -0
  55. package/lib/index.d.ts +6 -0
  56. package/lib/index.js +6 -0
  57. package/lib/specs/DownloadManager.nitro.d.ts +152 -0
  58. package/lib/specs/DownloadManager.nitro.js +1 -0
  59. package/lib/specs/Equalizer.nitro.d.ts +43 -0
  60. package/lib/specs/Equalizer.nitro.js +1 -0
  61. package/lib/specs/TrackPlayer.nitro.d.ts +6 -2
  62. package/lib/types/DownloadTypes.d.ts +110 -0
  63. package/lib/types/DownloadTypes.js +1 -0
  64. package/lib/types/EqualizerTypes.d.ts +52 -0
  65. package/lib/types/EqualizerTypes.js +1 -0
  66. package/lib/types/PlayerQueue.d.ts +4 -0
  67. package/nitro.json +8 -0
  68. package/nitrogen/generated/android/NitroPlayer+autolinking.cmake +10 -1
  69. package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +32 -2
  70. package/nitrogen/generated/android/c++/JCurrentPlayingType.hpp +65 -0
  71. package/nitrogen/generated/android/c++/JDownloadConfig.hpp +92 -0
  72. package/nitrogen/generated/android/c++/JDownloadError.hpp +71 -0
  73. package/nitrogen/generated/android/c++/JDownloadErrorReason.hpp +74 -0
  74. package/nitrogen/generated/android/c++/JDownloadProgress.hpp +79 -0
  75. package/nitrogen/generated/android/c++/JDownloadQueueStatus.hpp +81 -0
  76. package/nitrogen/generated/android/c++/JDownloadState.hpp +71 -0
  77. package/nitrogen/generated/android/c++/JDownloadStorageInfo.hpp +73 -0
  78. package/nitrogen/generated/android/c++/JDownloadTask.hpp +108 -0
  79. package/nitrogen/generated/android/c++/JDownloadedPlaylist.hpp +111 -0
  80. package/nitrogen/generated/android/c++/JDownloadedTrack.hpp +92 -0
  81. package/nitrogen/generated/android/c++/JEqualizerBand.hpp +69 -0
  82. package/nitrogen/generated/android/c++/JEqualizerPreset.hpp +78 -0
  83. package/nitrogen/generated/android/c++/JEqualizerState.hpp +91 -0
  84. package/nitrogen/generated/android/c++/JFunc_void_DownloadProgress.hpp +80 -0
  85. package/nitrogen/generated/android/c++/JFunc_void_DownloadedTrack.hpp +89 -0
  86. package/nitrogen/generated/android/c++/JFunc_void_TrackItem_std__optional_Reason_.hpp +2 -0
  87. package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__std__string__.hpp +81 -0
  88. package/nitrogen/generated/android/c++/JFunc_void_std__string_Playlist_std__optional_QueueOperation_.hpp +2 -0
  89. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError_.hpp +83 -0
  90. package/nitrogen/generated/android/c++/JFunc_void_std__vector_EqualizerBand_.hpp +97 -0
  91. package/nitrogen/generated/android/c++/JFunc_void_std__vector_Playlist__std__optional_QueueOperation_.hpp +2 -0
  92. package/nitrogen/generated/android/c++/JGainRange.hpp +61 -0
  93. package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.cpp +470 -0
  94. package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.hpp +99 -0
  95. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.cpp +204 -0
  96. package/nitrogen/generated/android/c++/JHybridEqualizerSpec.hpp +82 -0
  97. package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.cpp +2 -0
  98. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +117 -15
  99. package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +6 -2
  100. package/nitrogen/generated/android/c++/JPlaybackSource.hpp +62 -0
  101. package/nitrogen/generated/android/c++/JPlayerState.hpp +11 -3
  102. package/nitrogen/generated/android/c++/JPlaylist.hpp +2 -0
  103. package/nitrogen/generated/android/c++/JPresetType.hpp +59 -0
  104. package/nitrogen/generated/android/c++/JStorageLocation.hpp +59 -0
  105. package/nitrogen/generated/android/c++/JTrackItem.hpp +9 -3
  106. package/nitrogen/generated/android/c++/JTrackPlayerState.hpp +3 -3
  107. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
  108. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
  109. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.cpp +26 -0
  110. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.hpp +74 -0
  111. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.cpp +26 -0
  112. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.hpp +84 -0
  113. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.cpp +26 -0
  114. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.hpp +85 -0
  115. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.cpp +26 -0
  116. package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.hpp +80 -0
  117. package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.hpp +2 -0
  118. package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.hpp +2 -0
  119. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/CurrentPlayingType.kt +23 -0
  120. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadConfig.kt +59 -0
  121. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadError.kt +47 -0
  122. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadErrorReason.kt +26 -0
  123. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadProgress.kt +53 -0
  124. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadQueueStatus.kt +56 -0
  125. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadState.kt +25 -0
  126. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadStorageInfo.kt +50 -0
  127. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadTask.kt +65 -0
  128. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedPlaylist.kt +53 -0
  129. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedTrack.kt +56 -0
  130. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerBand.kt +47 -0
  131. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerPreset.kt +44 -0
  132. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerState.kt +44 -0
  133. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadProgress.kt +80 -0
  134. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadedTrack.kt +80 -0
  135. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__optional_std__variant_nitro__NullType__std__string__.kt +80 -0
  136. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.kt +80 -0
  137. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_EqualizerBand_.kt +80 -0
  138. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/GainRange.kt +41 -0
  139. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridDownloadManagerSpec.kt +210 -0
  140. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridEqualizerSpec.kt +141 -0
  141. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +19 -2
  142. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlaybackSource.kt +22 -0
  143. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerState.kt +6 -3
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PresetType.kt +21 -0
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/StorageLocation.kt +21 -0
  146. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackItem.kt +7 -3
  147. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackPlayerState.kt +2 -2
  148. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Double.kt +59 -0
  149. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadError.kt +59 -0
  150. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadTask.kt +59 -0
  151. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist.kt +59 -0
  152. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack.kt +59 -0
  153. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.cpp +138 -8
  154. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.hpp +1046 -121
  155. package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Umbrella.hpp +66 -0
  156. package/nitrogen/generated/ios/NitroPlayerAutolinking.mm +16 -0
  157. package/nitrogen/generated/ios/NitroPlayerAutolinking.swift +30 -0
  158. package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.cpp +11 -0
  159. package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.hpp +386 -0
  160. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.cpp +11 -0
  161. package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.hpp +223 -0
  162. package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.hpp +1 -0
  163. package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +46 -6
  164. package/nitrogen/generated/ios/swift/CurrentPlayingType.swift +48 -0
  165. package/nitrogen/generated/ios/swift/DownloadConfig.swift +270 -0
  166. package/nitrogen/generated/ios/swift/DownloadError.swift +69 -0
  167. package/nitrogen/generated/ios/swift/DownloadErrorReason.swift +60 -0
  168. package/nitrogen/generated/ios/swift/DownloadProgress.swift +91 -0
  169. package/nitrogen/generated/ios/swift/DownloadQueueStatus.swift +102 -0
  170. package/nitrogen/generated/ios/swift/DownloadState.swift +56 -0
  171. package/nitrogen/generated/ios/swift/DownloadStorageInfo.swift +80 -0
  172. package/nitrogen/generated/ios/swift/DownloadTask.swift +315 -0
  173. package/nitrogen/generated/ios/swift/DownloadedPlaylist.swift +103 -0
  174. package/nitrogen/generated/ios/swift/DownloadedTrack.swift +147 -0
  175. package/nitrogen/generated/ios/swift/EqualizerBand.swift +69 -0
  176. package/nitrogen/generated/ios/swift/EqualizerPreset.swift +70 -0
  177. package/nitrogen/generated/ios/swift/EqualizerState.swift +115 -0
  178. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  179. package/nitrogen/generated/ios/swift/Func_void_DownloadProgress.swift +47 -0
  180. package/nitrogen/generated/ios/swift/Func_void_DownloadStorageInfo.swift +47 -0
  181. package/nitrogen/generated/ios/swift/Func_void_DownloadedTrack.swift +47 -0
  182. package/nitrogen/generated/ios/swift/Func_void_PlayerState.swift +47 -0
  183. package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
  184. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  185. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__std__string__.swift +66 -0
  186. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  187. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.swift +47 -0
  188. package/nitrogen/generated/ios/swift/Func_void_std__vector_EqualizerBand_.swift +47 -0
  189. package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem_.swift +47 -0
  190. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +47 -0
  191. package/nitrogen/generated/ios/swift/GainRange.swift +47 -0
  192. package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec.swift +90 -0
  193. package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec_cxx.swift +705 -0
  194. package/nitrogen/generated/ios/swift/HybridEqualizerSpec.swift +73 -0
  195. package/nitrogen/generated/ios/swift/HybridEqualizerSpec_cxx.swift +396 -0
  196. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +6 -2
  197. package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +105 -8
  198. package/nitrogen/generated/ios/swift/PlaybackSource.swift +44 -0
  199. package/nitrogen/generated/ios/swift/PlayerState.swift +13 -2
  200. package/nitrogen/generated/ios/swift/PresetType.swift +40 -0
  201. package/nitrogen/generated/ios/swift/StorageLocation.swift +40 -0
  202. package/nitrogen/generated/ios/swift/TrackItem.swift +31 -1
  203. package/nitrogen/generated/ios/swift/TrackPlayerState.swift +4 -4
  204. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +18 -0
  205. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadError.swift +18 -0
  206. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadTask.swift +18 -0
  207. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedPlaylist.swift +18 -0
  208. package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedTrack.swift +18 -0
  209. package/nitrogen/generated/shared/c++/CurrentPlayingType.hpp +84 -0
  210. package/nitrogen/generated/shared/c++/DownloadConfig.hpp +108 -0
  211. package/nitrogen/generated/shared/c++/DownloadError.hpp +89 -0
  212. package/nitrogen/generated/shared/c++/DownloadErrorReason.hpp +96 -0
  213. package/nitrogen/generated/shared/c++/DownloadProgress.hpp +97 -0
  214. package/nitrogen/generated/shared/c++/DownloadQueueStatus.hpp +99 -0
  215. package/nitrogen/generated/shared/c++/DownloadState.hpp +92 -0
  216. package/nitrogen/generated/shared/c++/DownloadStorageInfo.hpp +91 -0
  217. package/nitrogen/generated/shared/c++/DownloadTask.hpp +122 -0
  218. package/nitrogen/generated/shared/c++/DownloadedPlaylist.hpp +101 -0
  219. package/nitrogen/generated/shared/c++/DownloadedTrack.hpp +107 -0
  220. package/nitrogen/generated/shared/c++/EqualizerBand.hpp +87 -0
  221. package/nitrogen/generated/shared/c++/EqualizerPreset.hpp +86 -0
  222. package/nitrogen/generated/shared/c++/EqualizerState.hpp +89 -0
  223. package/nitrogen/generated/shared/c++/GainRange.hpp +79 -0
  224. package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.cpp +55 -0
  225. package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.hpp +134 -0
  226. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.cpp +38 -0
  227. package/nitrogen/generated/shared/c++/HybridEqualizerSpec.hpp +95 -0
  228. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +4 -0
  229. package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +11 -5
  230. package/nitrogen/generated/shared/c++/PlaybackSource.hpp +80 -0
  231. package/nitrogen/generated/shared/c++/PlayerState.hpp +9 -2
  232. package/nitrogen/generated/shared/c++/PresetType.hpp +76 -0
  233. package/nitrogen/generated/shared/c++/StorageLocation.hpp +76 -0
  234. package/nitrogen/generated/shared/c++/TrackItem.hpp +7 -2
  235. package/nitrogen/generated/shared/c++/TrackPlayerState.hpp +5 -5
  236. package/package.json +1 -1
  237. package/src/hooks/downloadCallbackManager.ts +149 -0
  238. package/src/hooks/equalizerCallbackManager.ts +138 -0
  239. package/src/hooks/index.ts +23 -0
  240. package/src/hooks/useActualQueue.ts +116 -0
  241. package/src/hooks/useDownloadActions.ts +179 -0
  242. package/src/hooks/useDownloadProgress.ts +126 -0
  243. package/src/hooks/useDownloadStorage.ts +84 -0
  244. package/src/hooks/useDownloadedTracks.ts +138 -0
  245. package/src/hooks/useEqualizer.ts +173 -0
  246. package/src/hooks/useEqualizerPresets.ts +140 -0
  247. package/src/hooks/useNowPlaying.ts +3 -2
  248. package/src/hooks/useOnChangeTrack.ts +15 -11
  249. package/src/hooks/useOnPlaybackStateChange.ts +19 -15
  250. package/src/hooks/usePlaylist.ts +161 -0
  251. package/src/index.ts +12 -0
  252. package/src/specs/DownloadManager.nitro.ts +203 -0
  253. package/src/specs/Equalizer.nitro.ts +69 -0
  254. package/src/specs/TrackPlayer.nitro.ts +6 -2
  255. package/src/types/DownloadTypes.ts +135 -0
  256. package/src/types/EqualizerTypes.ts +72 -0
  257. package/src/types/PlayerQueue.ts +9 -0
@@ -0,0 +1,705 @@
1
+ ///
2
+ /// HybridDownloadManagerSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * A class implementation that bridges HybridDownloadManagerSpec over to C++.
13
+ * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
14
+ *
15
+ * Also, some Swift types need to be bridged with special handling:
16
+ * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330)
17
+ * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
+ * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
+ */
20
+ open class HybridDownloadManagerSpec_cxx {
21
+ /**
22
+ * The Swift <> C++ bridge's namespace (`margelo::nitro::nitroplayer::bridge::swift`)
23
+ * from `NitroPlayer-Swift-Cxx-Bridge.hpp`.
24
+ * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
25
+ */
26
+ public typealias bridge = margelo.nitro.nitroplayer.bridge.swift
27
+
28
+ /**
29
+ * Holds an instance of the `HybridDownloadManagerSpec` Swift protocol.
30
+ */
31
+ private var __implementation: any HybridDownloadManagerSpec
32
+
33
+ /**
34
+ * Holds a weak pointer to the C++ class that wraps the Swift class.
35
+ */
36
+ private var __cxxPart: bridge.std__weak_ptr_HybridDownloadManagerSpec_
37
+
38
+ /**
39
+ * Create a new `HybridDownloadManagerSpec_cxx` that wraps the given `HybridDownloadManagerSpec`.
40
+ * All properties and methods bridge to C++ types.
41
+ */
42
+ public init(_ implementation: any HybridDownloadManagerSpec) {
43
+ self.__implementation = implementation
44
+ self.__cxxPart = .init()
45
+ /* no base class */
46
+ }
47
+
48
+ /**
49
+ * Get the actual `HybridDownloadManagerSpec` instance this class wraps.
50
+ */
51
+ @inline(__always)
52
+ public func getHybridDownloadManagerSpec() -> any HybridDownloadManagerSpec {
53
+ return __implementation
54
+ }
55
+
56
+ /**
57
+ * Casts this instance to a retained unsafe raw pointer.
58
+ * This acquires one additional strong reference on the object!
59
+ */
60
+ public func toUnsafe() -> UnsafeMutableRawPointer {
61
+ return Unmanaged.passRetained(self).toOpaque()
62
+ }
63
+
64
+ /**
65
+ * Casts an unsafe pointer to a `HybridDownloadManagerSpec_cxx`.
66
+ * The pointer has to be a retained opaque `Unmanaged<HybridDownloadManagerSpec_cxx>`.
67
+ * This removes one strong reference from the object!
68
+ */
69
+ public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridDownloadManagerSpec_cxx {
70
+ return Unmanaged<HybridDownloadManagerSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
71
+ }
72
+
73
+ /**
74
+ * Gets (or creates) the C++ part of this Hybrid Object.
75
+ * The C++ part is a `std::shared_ptr<HybridDownloadManagerSpec>`.
76
+ */
77
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridDownloadManagerSpec_ {
78
+ let cachedCxxPart = self.__cxxPart.lock()
79
+ if Bool(fromCxx: cachedCxxPart) {
80
+ return cachedCxxPart
81
+ } else {
82
+ let newCxxPart = bridge.create_std__shared_ptr_HybridDownloadManagerSpec_(self.toUnsafe())
83
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridDownloadManagerSpec_(newCxxPart)
84
+ return newCxxPart
85
+ }
86
+ }
87
+
88
+
89
+
90
+ /**
91
+ * Get the memory size of the Swift class (plus size of any other allocations)
92
+ * so the JS VM can properly track it and garbage-collect the JS object if needed.
93
+ */
94
+ @inline(__always)
95
+ public var memorySize: Int {
96
+ return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
+ }
98
+
99
+ /**
100
+ * Call dispose() on the Swift class.
101
+ * This _may_ be called manually from JS.
102
+ */
103
+ @inline(__always)
104
+ public func dispose() {
105
+ self.__implementation.dispose()
106
+ }
107
+
108
+ /**
109
+ * Call toString() on the Swift class.
110
+ */
111
+ @inline(__always)
112
+ public func toString() -> String {
113
+ return self.__implementation.toString()
114
+ }
115
+
116
+ // Properties
117
+
118
+
119
+ // Methods
120
+ @inline(__always)
121
+ public final func configure(config: DownloadConfig) -> bridge.Result_void_ {
122
+ do {
123
+ try self.__implementation.configure(config: config)
124
+ return bridge.create_Result_void_()
125
+ } catch (let __error) {
126
+ let __exceptionPtr = __error.toCpp()
127
+ return bridge.create_Result_void_(__exceptionPtr)
128
+ }
129
+ }
130
+
131
+ @inline(__always)
132
+ public final func getConfig() -> bridge.Result_DownloadConfig_ {
133
+ do {
134
+ let __result = try self.__implementation.getConfig()
135
+ let __resultCpp = __result
136
+ return bridge.create_Result_DownloadConfig_(__resultCpp)
137
+ } catch (let __error) {
138
+ let __exceptionPtr = __error.toCpp()
139
+ return bridge.create_Result_DownloadConfig_(__exceptionPtr)
140
+ }
141
+ }
142
+
143
+ @inline(__always)
144
+ public final func downloadTrack(track: TrackItem, playlistId: bridge.std__optional_std__string_) -> bridge.Result_std__shared_ptr_Promise_std__string___ {
145
+ do {
146
+ let __result = try self.__implementation.downloadTrack(track: track, playlistId: { () -> String? in
147
+ if bridge.has_value_std__optional_std__string_(playlistId) {
148
+ let __unwrapped = bridge.get_std__optional_std__string_(playlistId)
149
+ return String(__unwrapped)
150
+ } else {
151
+ return nil
152
+ }
153
+ }())
154
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__string__ in
155
+ let __promise = bridge.create_std__shared_ptr_Promise_std__string__()
156
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__string__(__promise)
157
+ __result
158
+ .then({ __result in __promiseHolder.resolve(std.string(__result)) })
159
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
160
+ return __promise
161
+ }()
162
+ return bridge.create_Result_std__shared_ptr_Promise_std__string___(__resultCpp)
163
+ } catch (let __error) {
164
+ let __exceptionPtr = __error.toCpp()
165
+ return bridge.create_Result_std__shared_ptr_Promise_std__string___(__exceptionPtr)
166
+ }
167
+ }
168
+
169
+ @inline(__always)
170
+ public final func downloadPlaylist(playlistId: std.string, tracks: bridge.std__vector_TrackItem_) -> bridge.Result_std__shared_ptr_Promise_std__vector_std__string____ {
171
+ do {
172
+ let __result = try self.__implementation.downloadPlaylist(playlistId: String(playlistId), tracks: tracks.map({ __item in __item }))
173
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__vector_std__string___ in
174
+ let __promise = bridge.create_std__shared_ptr_Promise_std__vector_std__string___()
175
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__vector_std__string___(__promise)
176
+ __result
177
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__vector_std__string_ in
178
+ var __vector = bridge.create_std__vector_std__string_(__result.count)
179
+ for __item in __result {
180
+ __vector.push_back(std.string(__item))
181
+ }
182
+ return __vector
183
+ }()) })
184
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
185
+ return __promise
186
+ }()
187
+ return bridge.create_Result_std__shared_ptr_Promise_std__vector_std__string____(__resultCpp)
188
+ } catch (let __error) {
189
+ let __exceptionPtr = __error.toCpp()
190
+ return bridge.create_Result_std__shared_ptr_Promise_std__vector_std__string____(__exceptionPtr)
191
+ }
192
+ }
193
+
194
+ @inline(__always)
195
+ public final func pauseDownload(downloadId: std.string) -> bridge.Result_std__shared_ptr_Promise_void___ {
196
+ do {
197
+ let __result = try self.__implementation.pauseDownload(downloadId: String(downloadId))
198
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
199
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
200
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
201
+ __result
202
+ .then({ __result in __promiseHolder.resolve() })
203
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
204
+ return __promise
205
+ }()
206
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
207
+ } catch (let __error) {
208
+ let __exceptionPtr = __error.toCpp()
209
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
210
+ }
211
+ }
212
+
213
+ @inline(__always)
214
+ public final func resumeDownload(downloadId: std.string) -> bridge.Result_std__shared_ptr_Promise_void___ {
215
+ do {
216
+ let __result = try self.__implementation.resumeDownload(downloadId: String(downloadId))
217
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
218
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
219
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
220
+ __result
221
+ .then({ __result in __promiseHolder.resolve() })
222
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
223
+ return __promise
224
+ }()
225
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
226
+ } catch (let __error) {
227
+ let __exceptionPtr = __error.toCpp()
228
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
229
+ }
230
+ }
231
+
232
+ @inline(__always)
233
+ public final func cancelDownload(downloadId: std.string) -> bridge.Result_std__shared_ptr_Promise_void___ {
234
+ do {
235
+ let __result = try self.__implementation.cancelDownload(downloadId: String(downloadId))
236
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
237
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
238
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
239
+ __result
240
+ .then({ __result in __promiseHolder.resolve() })
241
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
242
+ return __promise
243
+ }()
244
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
245
+ } catch (let __error) {
246
+ let __exceptionPtr = __error.toCpp()
247
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
248
+ }
249
+ }
250
+
251
+ @inline(__always)
252
+ public final func retryDownload(downloadId: std.string) -> bridge.Result_std__shared_ptr_Promise_void___ {
253
+ do {
254
+ let __result = try self.__implementation.retryDownload(downloadId: String(downloadId))
255
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
256
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
257
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
258
+ __result
259
+ .then({ __result in __promiseHolder.resolve() })
260
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
261
+ return __promise
262
+ }()
263
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
264
+ } catch (let __error) {
265
+ let __exceptionPtr = __error.toCpp()
266
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
267
+ }
268
+ }
269
+
270
+ @inline(__always)
271
+ public final func pauseAllDownloads() -> bridge.Result_std__shared_ptr_Promise_void___ {
272
+ do {
273
+ let __result = try self.__implementation.pauseAllDownloads()
274
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
275
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
276
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
277
+ __result
278
+ .then({ __result in __promiseHolder.resolve() })
279
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
280
+ return __promise
281
+ }()
282
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
283
+ } catch (let __error) {
284
+ let __exceptionPtr = __error.toCpp()
285
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
286
+ }
287
+ }
288
+
289
+ @inline(__always)
290
+ public final func resumeAllDownloads() -> bridge.Result_std__shared_ptr_Promise_void___ {
291
+ do {
292
+ let __result = try self.__implementation.resumeAllDownloads()
293
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
294
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
295
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
296
+ __result
297
+ .then({ __result in __promiseHolder.resolve() })
298
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
299
+ return __promise
300
+ }()
301
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
302
+ } catch (let __error) {
303
+ let __exceptionPtr = __error.toCpp()
304
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
305
+ }
306
+ }
307
+
308
+ @inline(__always)
309
+ public final func cancelAllDownloads() -> bridge.Result_std__shared_ptr_Promise_void___ {
310
+ do {
311
+ let __result = try self.__implementation.cancelAllDownloads()
312
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
313
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
314
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
315
+ __result
316
+ .then({ __result in __promiseHolder.resolve() })
317
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
318
+ return __promise
319
+ }()
320
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
321
+ } catch (let __error) {
322
+ let __exceptionPtr = __error.toCpp()
323
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
324
+ }
325
+ }
326
+
327
+ @inline(__always)
328
+ public final func getDownloadTask(downloadId: std.string) -> bridge.Result_std__variant_nitro__NullType__DownloadTask__ {
329
+ do {
330
+ let __result = try self.__implementation.getDownloadTask(downloadId: String(downloadId))
331
+ let __resultCpp = { () -> bridge.std__variant_nitro__NullType__DownloadTask_ in
332
+ switch __result {
333
+ case .first(let __value):
334
+ return bridge.create_std__variant_nitro__NullType__DownloadTask_(margelo.nitro.NullType.null)
335
+ case .second(let __value):
336
+ return bridge.create_std__variant_nitro__NullType__DownloadTask_(__value)
337
+ }
338
+ }().variant
339
+ return bridge.create_Result_std__variant_nitro__NullType__DownloadTask__(__resultCpp)
340
+ } catch (let __error) {
341
+ let __exceptionPtr = __error.toCpp()
342
+ return bridge.create_Result_std__variant_nitro__NullType__DownloadTask__(__exceptionPtr)
343
+ }
344
+ }
345
+
346
+ @inline(__always)
347
+ public final func getActiveDownloads() -> bridge.Result_std__vector_DownloadTask__ {
348
+ do {
349
+ let __result = try self.__implementation.getActiveDownloads()
350
+ let __resultCpp = { () -> bridge.std__vector_DownloadTask_ in
351
+ var __vector = bridge.create_std__vector_DownloadTask_(__result.count)
352
+ for __item in __result {
353
+ __vector.push_back(__item)
354
+ }
355
+ return __vector
356
+ }()
357
+ return bridge.create_Result_std__vector_DownloadTask__(__resultCpp)
358
+ } catch (let __error) {
359
+ let __exceptionPtr = __error.toCpp()
360
+ return bridge.create_Result_std__vector_DownloadTask__(__exceptionPtr)
361
+ }
362
+ }
363
+
364
+ @inline(__always)
365
+ public final func getQueueStatus() -> bridge.Result_DownloadQueueStatus_ {
366
+ do {
367
+ let __result = try self.__implementation.getQueueStatus()
368
+ let __resultCpp = __result
369
+ return bridge.create_Result_DownloadQueueStatus_(__resultCpp)
370
+ } catch (let __error) {
371
+ let __exceptionPtr = __error.toCpp()
372
+ return bridge.create_Result_DownloadQueueStatus_(__exceptionPtr)
373
+ }
374
+ }
375
+
376
+ @inline(__always)
377
+ public final func isDownloading(trackId: std.string) -> bridge.Result_bool_ {
378
+ do {
379
+ let __result = try self.__implementation.isDownloading(trackId: String(trackId))
380
+ let __resultCpp = __result
381
+ return bridge.create_Result_bool_(__resultCpp)
382
+ } catch (let __error) {
383
+ let __exceptionPtr = __error.toCpp()
384
+ return bridge.create_Result_bool_(__exceptionPtr)
385
+ }
386
+ }
387
+
388
+ @inline(__always)
389
+ public final func getDownloadState(trackId: std.string) -> bridge.Result_DownloadState_ {
390
+ do {
391
+ let __result = try self.__implementation.getDownloadState(trackId: String(trackId))
392
+ let __resultCpp = __result
393
+ return bridge.create_Result_DownloadState_(__resultCpp)
394
+ } catch (let __error) {
395
+ let __exceptionPtr = __error.toCpp()
396
+ return bridge.create_Result_DownloadState_(__exceptionPtr)
397
+ }
398
+ }
399
+
400
+ @inline(__always)
401
+ public final func isTrackDownloaded(trackId: std.string) -> bridge.Result_bool_ {
402
+ do {
403
+ let __result = try self.__implementation.isTrackDownloaded(trackId: String(trackId))
404
+ let __resultCpp = __result
405
+ return bridge.create_Result_bool_(__resultCpp)
406
+ } catch (let __error) {
407
+ let __exceptionPtr = __error.toCpp()
408
+ return bridge.create_Result_bool_(__exceptionPtr)
409
+ }
410
+ }
411
+
412
+ @inline(__always)
413
+ public final func isPlaylistDownloaded(playlistId: std.string) -> bridge.Result_bool_ {
414
+ do {
415
+ let __result = try self.__implementation.isPlaylistDownloaded(playlistId: String(playlistId))
416
+ let __resultCpp = __result
417
+ return bridge.create_Result_bool_(__resultCpp)
418
+ } catch (let __error) {
419
+ let __exceptionPtr = __error.toCpp()
420
+ return bridge.create_Result_bool_(__exceptionPtr)
421
+ }
422
+ }
423
+
424
+ @inline(__always)
425
+ public final func isPlaylistPartiallyDownloaded(playlistId: std.string) -> bridge.Result_bool_ {
426
+ do {
427
+ let __result = try self.__implementation.isPlaylistPartiallyDownloaded(playlistId: String(playlistId))
428
+ let __resultCpp = __result
429
+ return bridge.create_Result_bool_(__resultCpp)
430
+ } catch (let __error) {
431
+ let __exceptionPtr = __error.toCpp()
432
+ return bridge.create_Result_bool_(__exceptionPtr)
433
+ }
434
+ }
435
+
436
+ @inline(__always)
437
+ public final func getDownloadedTrack(trackId: std.string) -> bridge.Result_std__variant_nitro__NullType__DownloadedTrack__ {
438
+ do {
439
+ let __result = try self.__implementation.getDownloadedTrack(trackId: String(trackId))
440
+ let __resultCpp = { () -> bridge.std__variant_nitro__NullType__DownloadedTrack_ in
441
+ switch __result {
442
+ case .first(let __value):
443
+ return bridge.create_std__variant_nitro__NullType__DownloadedTrack_(margelo.nitro.NullType.null)
444
+ case .second(let __value):
445
+ return bridge.create_std__variant_nitro__NullType__DownloadedTrack_(__value)
446
+ }
447
+ }().variant
448
+ return bridge.create_Result_std__variant_nitro__NullType__DownloadedTrack__(__resultCpp)
449
+ } catch (let __error) {
450
+ let __exceptionPtr = __error.toCpp()
451
+ return bridge.create_Result_std__variant_nitro__NullType__DownloadedTrack__(__exceptionPtr)
452
+ }
453
+ }
454
+
455
+ @inline(__always)
456
+ public final func getAllDownloadedTracks() -> bridge.Result_std__vector_DownloadedTrack__ {
457
+ do {
458
+ let __result = try self.__implementation.getAllDownloadedTracks()
459
+ let __resultCpp = { () -> bridge.std__vector_DownloadedTrack_ in
460
+ var __vector = bridge.create_std__vector_DownloadedTrack_(__result.count)
461
+ for __item in __result {
462
+ __vector.push_back(__item)
463
+ }
464
+ return __vector
465
+ }()
466
+ return bridge.create_Result_std__vector_DownloadedTrack__(__resultCpp)
467
+ } catch (let __error) {
468
+ let __exceptionPtr = __error.toCpp()
469
+ return bridge.create_Result_std__vector_DownloadedTrack__(__exceptionPtr)
470
+ }
471
+ }
472
+
473
+ @inline(__always)
474
+ public final func getDownloadedPlaylist(playlistId: std.string) -> bridge.Result_std__variant_nitro__NullType__DownloadedPlaylist__ {
475
+ do {
476
+ let __result = try self.__implementation.getDownloadedPlaylist(playlistId: String(playlistId))
477
+ let __resultCpp = { () -> bridge.std__variant_nitro__NullType__DownloadedPlaylist_ in
478
+ switch __result {
479
+ case .first(let __value):
480
+ return bridge.create_std__variant_nitro__NullType__DownloadedPlaylist_(margelo.nitro.NullType.null)
481
+ case .second(let __value):
482
+ return bridge.create_std__variant_nitro__NullType__DownloadedPlaylist_(__value)
483
+ }
484
+ }().variant
485
+ return bridge.create_Result_std__variant_nitro__NullType__DownloadedPlaylist__(__resultCpp)
486
+ } catch (let __error) {
487
+ let __exceptionPtr = __error.toCpp()
488
+ return bridge.create_Result_std__variant_nitro__NullType__DownloadedPlaylist__(__exceptionPtr)
489
+ }
490
+ }
491
+
492
+ @inline(__always)
493
+ public final func getAllDownloadedPlaylists() -> bridge.Result_std__vector_DownloadedPlaylist__ {
494
+ do {
495
+ let __result = try self.__implementation.getAllDownloadedPlaylists()
496
+ let __resultCpp = { () -> bridge.std__vector_DownloadedPlaylist_ in
497
+ var __vector = bridge.create_std__vector_DownloadedPlaylist_(__result.count)
498
+ for __item in __result {
499
+ __vector.push_back(__item)
500
+ }
501
+ return __vector
502
+ }()
503
+ return bridge.create_Result_std__vector_DownloadedPlaylist__(__resultCpp)
504
+ } catch (let __error) {
505
+ let __exceptionPtr = __error.toCpp()
506
+ return bridge.create_Result_std__vector_DownloadedPlaylist__(__exceptionPtr)
507
+ }
508
+ }
509
+
510
+ @inline(__always)
511
+ public final func getLocalPath(trackId: std.string) -> bridge.Result_std__variant_nitro__NullType__std__string__ {
512
+ do {
513
+ let __result = try self.__implementation.getLocalPath(trackId: String(trackId))
514
+ let __resultCpp = { () -> bridge.std__variant_nitro__NullType__std__string_ in
515
+ switch __result {
516
+ case .first(let __value):
517
+ return bridge.create_std__variant_nitro__NullType__std__string_(margelo.nitro.NullType.null)
518
+ case .second(let __value):
519
+ return bridge.create_std__variant_nitro__NullType__std__string_(std.string(__value))
520
+ }
521
+ }().variant
522
+ return bridge.create_Result_std__variant_nitro__NullType__std__string__(__resultCpp)
523
+ } catch (let __error) {
524
+ let __exceptionPtr = __error.toCpp()
525
+ return bridge.create_Result_std__variant_nitro__NullType__std__string__(__exceptionPtr)
526
+ }
527
+ }
528
+
529
+ @inline(__always)
530
+ public final func deleteDownloadedTrack(trackId: std.string) -> bridge.Result_std__shared_ptr_Promise_void___ {
531
+ do {
532
+ let __result = try self.__implementation.deleteDownloadedTrack(trackId: String(trackId))
533
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
534
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
535
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
536
+ __result
537
+ .then({ __result in __promiseHolder.resolve() })
538
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
539
+ return __promise
540
+ }()
541
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
542
+ } catch (let __error) {
543
+ let __exceptionPtr = __error.toCpp()
544
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
545
+ }
546
+ }
547
+
548
+ @inline(__always)
549
+ public final func deleteDownloadedPlaylist(playlistId: std.string) -> bridge.Result_std__shared_ptr_Promise_void___ {
550
+ do {
551
+ let __result = try self.__implementation.deleteDownloadedPlaylist(playlistId: String(playlistId))
552
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
553
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
554
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
555
+ __result
556
+ .then({ __result in __promiseHolder.resolve() })
557
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
558
+ return __promise
559
+ }()
560
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
561
+ } catch (let __error) {
562
+ let __exceptionPtr = __error.toCpp()
563
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
564
+ }
565
+ }
566
+
567
+ @inline(__always)
568
+ public final func deleteAllDownloads() -> bridge.Result_std__shared_ptr_Promise_void___ {
569
+ do {
570
+ let __result = try self.__implementation.deleteAllDownloads()
571
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_void__ in
572
+ let __promise = bridge.create_std__shared_ptr_Promise_void__()
573
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_void__(__promise)
574
+ __result
575
+ .then({ __result in __promiseHolder.resolve() })
576
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
577
+ return __promise
578
+ }()
579
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__resultCpp)
580
+ } catch (let __error) {
581
+ let __exceptionPtr = __error.toCpp()
582
+ return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
583
+ }
584
+ }
585
+
586
+ @inline(__always)
587
+ public final func getStorageInfo() -> bridge.Result_std__shared_ptr_Promise_DownloadStorageInfo___ {
588
+ do {
589
+ let __result = try self.__implementation.getStorageInfo()
590
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_DownloadStorageInfo__ in
591
+ let __promise = bridge.create_std__shared_ptr_Promise_DownloadStorageInfo__()
592
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_DownloadStorageInfo__(__promise)
593
+ __result
594
+ .then({ __result in __promiseHolder.resolve(__result) })
595
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
596
+ return __promise
597
+ }()
598
+ return bridge.create_Result_std__shared_ptr_Promise_DownloadStorageInfo___(__resultCpp)
599
+ } catch (let __error) {
600
+ let __exceptionPtr = __error.toCpp()
601
+ return bridge.create_Result_std__shared_ptr_Promise_DownloadStorageInfo___(__exceptionPtr)
602
+ }
603
+ }
604
+
605
+ @inline(__always)
606
+ public final func syncDownloads() -> bridge.Result_double_ {
607
+ do {
608
+ let __result = try self.__implementation.syncDownloads()
609
+ let __resultCpp = __result
610
+ return bridge.create_Result_double_(__resultCpp)
611
+ } catch (let __error) {
612
+ let __exceptionPtr = __error.toCpp()
613
+ return bridge.create_Result_double_(__exceptionPtr)
614
+ }
615
+ }
616
+
617
+ @inline(__always)
618
+ public final func setPlaybackSourcePreference(preference: Int32) -> bridge.Result_void_ {
619
+ do {
620
+ try self.__implementation.setPlaybackSourcePreference(preference: margelo.nitro.nitroplayer.PlaybackSource(rawValue: preference)!)
621
+ return bridge.create_Result_void_()
622
+ } catch (let __error) {
623
+ let __exceptionPtr = __error.toCpp()
624
+ return bridge.create_Result_void_(__exceptionPtr)
625
+ }
626
+ }
627
+
628
+ @inline(__always)
629
+ public final func getPlaybackSourcePreference() -> bridge.Result_PlaybackSource_ {
630
+ do {
631
+ let __result = try self.__implementation.getPlaybackSourcePreference()
632
+ let __resultCpp = __result
633
+ return bridge.create_Result_PlaybackSource_(__resultCpp)
634
+ } catch (let __error) {
635
+ let __exceptionPtr = __error.toCpp()
636
+ return bridge.create_Result_PlaybackSource_(__exceptionPtr)
637
+ }
638
+ }
639
+
640
+ @inline(__always)
641
+ public final func getEffectiveUrl(track: TrackItem) -> bridge.Result_std__string_ {
642
+ do {
643
+ let __result = try self.__implementation.getEffectiveUrl(track: track)
644
+ let __resultCpp = std.string(__result)
645
+ return bridge.create_Result_std__string_(__resultCpp)
646
+ } catch (let __error) {
647
+ let __exceptionPtr = __error.toCpp()
648
+ return bridge.create_Result_std__string_(__exceptionPtr)
649
+ }
650
+ }
651
+
652
+ @inline(__always)
653
+ public final func onDownloadProgress(callback: bridge.Func_void_DownloadProgress) -> bridge.Result_void_ {
654
+ do {
655
+ try self.__implementation.onDownloadProgress(callback: { () -> (DownloadProgress) -> Void in
656
+ let __wrappedFunction = bridge.wrap_Func_void_DownloadProgress(callback)
657
+ return { (__progress: DownloadProgress) -> Void in
658
+ __wrappedFunction.call(__progress)
659
+ }
660
+ }())
661
+ return bridge.create_Result_void_()
662
+ } catch (let __error) {
663
+ let __exceptionPtr = __error.toCpp()
664
+ return bridge.create_Result_void_(__exceptionPtr)
665
+ }
666
+ }
667
+
668
+ @inline(__always)
669
+ public final func onDownloadStateChange(callback: bridge.Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_) -> bridge.Result_void_ {
670
+ do {
671
+ try self.__implementation.onDownloadStateChange(callback: { () -> (String, String, DownloadState, DownloadError?) -> Void in
672
+ let __wrappedFunction = bridge.wrap_Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_(callback)
673
+ return { (__downloadId: String, __trackId: String, __state: DownloadState, __error: DownloadError?) -> Void in
674
+ __wrappedFunction.call(std.string(__downloadId), std.string(__trackId), __state.rawValue, { () -> bridge.std__optional_DownloadError_ in
675
+ if let __unwrappedValue = __error {
676
+ return bridge.create_std__optional_DownloadError_(__unwrappedValue)
677
+ } else {
678
+ return .init()
679
+ }
680
+ }())
681
+ }
682
+ }())
683
+ return bridge.create_Result_void_()
684
+ } catch (let __error) {
685
+ let __exceptionPtr = __error.toCpp()
686
+ return bridge.create_Result_void_(__exceptionPtr)
687
+ }
688
+ }
689
+
690
+ @inline(__always)
691
+ public final func onDownloadComplete(callback: bridge.Func_void_DownloadedTrack) -> bridge.Result_void_ {
692
+ do {
693
+ try self.__implementation.onDownloadComplete(callback: { () -> (DownloadedTrack) -> Void in
694
+ let __wrappedFunction = bridge.wrap_Func_void_DownloadedTrack(callback)
695
+ return { (__downloadedTrack: DownloadedTrack) -> Void in
696
+ __wrappedFunction.call(__downloadedTrack)
697
+ }
698
+ }())
699
+ return bridge.create_Result_void_()
700
+ } catch (let __error) {
701
+ let __exceptionPtr = __error.toCpp()
702
+ return bridge.create_Result_void_(__exceptionPtr)
703
+ }
704
+ }
705
+ }