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.
- package/README.md +444 -4
- package/android/build.gradle +4 -1
- package/android/src/main/AndroidManifest.xml +16 -1
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrary.kt +2 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAudioDevices.kt +8 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridDownloadManager.kt +225 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridEqualizer.kt +105 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridPlayerQueue.kt +6 -6
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridTrackPlayer.kt +37 -12
- package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +970 -213
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadDatabase.kt +475 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadFileManager.kt +159 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadManagerCore.kt +489 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadWorker.kt +209 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/equalizer/EqualizerCore.kt +486 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaBrowserService.kt +3 -1
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaSessionManager.kt +14 -6
- package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/PlaylistManager.kt +27 -0
- package/ios/HybridDownloadManager.swift +226 -0
- package/ios/HybridEqualizer.swift +111 -0
- package/ios/HybridTrackPlayer.swift +36 -8
- package/ios/core/TrackPlayerCore.swift +998 -276
- package/ios/download/DownloadDatabase.swift +493 -0
- package/ios/download/DownloadFileManager.swift +241 -0
- package/ios/download/DownloadManagerCore.swift +923 -0
- package/ios/equalizer/EqualizerCore.swift +685 -0
- package/ios/media/MediaSessionManager.swift +40 -28
- package/ios/playlist/PlaylistManager.swift +40 -9
- package/ios/queue/HybridPlayerQueue.swift +33 -13
- package/lib/hooks/downloadCallbackManager.d.ts +36 -0
- package/lib/hooks/downloadCallbackManager.js +108 -0
- package/lib/hooks/equalizerCallbackManager.d.ts +37 -0
- package/lib/hooks/equalizerCallbackManager.js +109 -0
- package/lib/hooks/index.d.ts +16 -0
- package/lib/hooks/index.js +10 -0
- package/lib/hooks/useActualQueue.d.ts +48 -0
- package/lib/hooks/useActualQueue.js +98 -0
- package/lib/hooks/useDownloadActions.d.ts +26 -0
- package/lib/hooks/useDownloadActions.js +117 -0
- package/lib/hooks/useDownloadProgress.d.ts +25 -0
- package/lib/hooks/useDownloadProgress.js +79 -0
- package/lib/hooks/useDownloadStorage.d.ts +19 -0
- package/lib/hooks/useDownloadStorage.js +60 -0
- package/lib/hooks/useDownloadedTracks.d.ts +25 -0
- package/lib/hooks/useDownloadedTracks.js +69 -0
- package/lib/hooks/useEqualizer.d.ts +25 -0
- package/lib/hooks/useEqualizer.js +124 -0
- package/lib/hooks/useEqualizerPresets.d.ts +22 -0
- package/lib/hooks/useEqualizerPresets.js +96 -0
- package/lib/hooks/useNowPlaying.js +3 -2
- package/lib/hooks/useOnChangeTrack.js +15 -12
- package/lib/hooks/useOnPlaybackStateChange.js +16 -13
- package/lib/hooks/usePlaylist.d.ts +48 -0
- package/lib/hooks/usePlaylist.js +136 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +6 -0
- package/lib/specs/DownloadManager.nitro.d.ts +152 -0
- package/lib/specs/DownloadManager.nitro.js +1 -0
- package/lib/specs/Equalizer.nitro.d.ts +43 -0
- package/lib/specs/Equalizer.nitro.js +1 -0
- package/lib/specs/TrackPlayer.nitro.d.ts +6 -2
- package/lib/types/DownloadTypes.d.ts +110 -0
- package/lib/types/DownloadTypes.js +1 -0
- package/lib/types/EqualizerTypes.d.ts +52 -0
- package/lib/types/EqualizerTypes.js +1 -0
- package/lib/types/PlayerQueue.d.ts +4 -0
- package/nitro.json +8 -0
- package/nitrogen/generated/android/NitroPlayer+autolinking.cmake +10 -1
- package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +32 -2
- package/nitrogen/generated/android/c++/JCurrentPlayingType.hpp +65 -0
- package/nitrogen/generated/android/c++/JDownloadConfig.hpp +92 -0
- package/nitrogen/generated/android/c++/JDownloadError.hpp +71 -0
- package/nitrogen/generated/android/c++/JDownloadErrorReason.hpp +74 -0
- package/nitrogen/generated/android/c++/JDownloadProgress.hpp +79 -0
- package/nitrogen/generated/android/c++/JDownloadQueueStatus.hpp +81 -0
- package/nitrogen/generated/android/c++/JDownloadState.hpp +71 -0
- package/nitrogen/generated/android/c++/JDownloadStorageInfo.hpp +73 -0
- package/nitrogen/generated/android/c++/JDownloadTask.hpp +108 -0
- package/nitrogen/generated/android/c++/JDownloadedPlaylist.hpp +111 -0
- package/nitrogen/generated/android/c++/JDownloadedTrack.hpp +92 -0
- package/nitrogen/generated/android/c++/JEqualizerBand.hpp +69 -0
- package/nitrogen/generated/android/c++/JEqualizerPreset.hpp +78 -0
- package/nitrogen/generated/android/c++/JEqualizerState.hpp +91 -0
- package/nitrogen/generated/android/c++/JFunc_void_DownloadProgress.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_DownloadedTrack.hpp +89 -0
- package/nitrogen/generated/android/c++/JFunc_void_TrackItem_std__optional_Reason_.hpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__variant_nitro__NullType__std__string__.hpp +81 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_Playlist_std__optional_QueueOperation_.hpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string_DownloadState_std__optional_DownloadError_.hpp +83 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_EqualizerBand_.hpp +97 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Playlist__std__optional_QueueOperation_.hpp +2 -0
- package/nitrogen/generated/android/c++/JGainRange.hpp +61 -0
- package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.cpp +470 -0
- package/nitrogen/generated/android/c++/JHybridDownloadManagerSpec.hpp +99 -0
- package/nitrogen/generated/android/c++/JHybridEqualizerSpec.cpp +204 -0
- package/nitrogen/generated/android/c++/JHybridEqualizerSpec.hpp +82 -0
- package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.cpp +2 -0
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +117 -15
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +6 -2
- package/nitrogen/generated/android/c++/JPlaybackSource.hpp +62 -0
- package/nitrogen/generated/android/c++/JPlayerState.hpp +11 -3
- package/nitrogen/generated/android/c++/JPlaylist.hpp +2 -0
- package/nitrogen/generated/android/c++/JPresetType.hpp +59 -0
- package/nitrogen/generated/android/c++/JStorageLocation.hpp +59 -0
- package/nitrogen/generated/android/c++/JTrackItem.hpp +9 -3
- package/nitrogen/generated/android/c++/JTrackPlayerState.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadError.hpp +74 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadTask.hpp +84 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedPlaylist.hpp +85 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DownloadedTrack.hpp +80 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.hpp +2 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.hpp +2 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/CurrentPlayingType.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadConfig.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadError.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadErrorReason.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadProgress.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadQueueStatus.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadState.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadStorageInfo.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadTask.kt +65 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedPlaylist.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/DownloadedTrack.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerBand.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerPreset.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/EqualizerState.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadProgress.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_DownloadedTrack.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__optional_std__variant_nitro__NullType__std__string__.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_EqualizerBand_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/GainRange.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridDownloadManagerSpec.kt +210 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridEqualizerSpec.kt +141 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +19 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlaybackSource.kt +22 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerState.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PresetType.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/StorageLocation.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackItem.kt +7 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackPlayerState.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Double.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadError.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadTask.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedPlaylist.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_DownloadedTrack.kt +59 -0
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.cpp +138 -8
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.hpp +1046 -121
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Umbrella.hpp +66 -0
- package/nitrogen/generated/ios/NitroPlayerAutolinking.mm +16 -0
- package/nitrogen/generated/ios/NitroPlayerAutolinking.swift +30 -0
- package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridDownloadManagerSpecSwift.hpp +386 -0
- package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridEqualizerSpecSwift.hpp +223 -0
- package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.hpp +1 -0
- package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +46 -6
- package/nitrogen/generated/ios/swift/CurrentPlayingType.swift +48 -0
- package/nitrogen/generated/ios/swift/DownloadConfig.swift +270 -0
- package/nitrogen/generated/ios/swift/DownloadError.swift +69 -0
- package/nitrogen/generated/ios/swift/DownloadErrorReason.swift +60 -0
- package/nitrogen/generated/ios/swift/DownloadProgress.swift +91 -0
- package/nitrogen/generated/ios/swift/DownloadQueueStatus.swift +102 -0
- package/nitrogen/generated/ios/swift/DownloadState.swift +56 -0
- package/nitrogen/generated/ios/swift/DownloadStorageInfo.swift +80 -0
- package/nitrogen/generated/ios/swift/DownloadTask.swift +315 -0
- package/nitrogen/generated/ios/swift/DownloadedPlaylist.swift +103 -0
- package/nitrogen/generated/ios/swift/DownloadedTrack.swift +147 -0
- package/nitrogen/generated/ios/swift/EqualizerBand.swift +69 -0
- package/nitrogen/generated/ios/swift/EqualizerPreset.swift +70 -0
- package/nitrogen/generated/ios/swift/EqualizerState.swift +115 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_DownloadProgress.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_DownloadStorageInfo.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_DownloadedTrack.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_PlayerState.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +5 -5
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_std__variant_nitro__NullType__std__string__.swift +66 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string_std__string_DownloadState_std__optional_DownloadError_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_EqualizerBand_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +47 -0
- package/nitrogen/generated/ios/swift/GainRange.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec.swift +90 -0
- package/nitrogen/generated/ios/swift/HybridDownloadManagerSpec_cxx.swift +705 -0
- package/nitrogen/generated/ios/swift/HybridEqualizerSpec.swift +73 -0
- package/nitrogen/generated/ios/swift/HybridEqualizerSpec_cxx.swift +396 -0
- package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +6 -2
- package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +105 -8
- package/nitrogen/generated/ios/swift/PlaybackSource.swift +44 -0
- package/nitrogen/generated/ios/swift/PlayerState.swift +13 -2
- package/nitrogen/generated/ios/swift/PresetType.swift +40 -0
- package/nitrogen/generated/ios/swift/StorageLocation.swift +40 -0
- package/nitrogen/generated/ios/swift/TrackItem.swift +31 -1
- package/nitrogen/generated/ios/swift/TrackPlayerState.swift +4 -4
- package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DownloadError.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DownloadTask.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedPlaylist.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DownloadedTrack.swift +18 -0
- package/nitrogen/generated/shared/c++/CurrentPlayingType.hpp +84 -0
- package/nitrogen/generated/shared/c++/DownloadConfig.hpp +108 -0
- package/nitrogen/generated/shared/c++/DownloadError.hpp +89 -0
- package/nitrogen/generated/shared/c++/DownloadErrorReason.hpp +96 -0
- package/nitrogen/generated/shared/c++/DownloadProgress.hpp +97 -0
- package/nitrogen/generated/shared/c++/DownloadQueueStatus.hpp +99 -0
- package/nitrogen/generated/shared/c++/DownloadState.hpp +92 -0
- package/nitrogen/generated/shared/c++/DownloadStorageInfo.hpp +91 -0
- package/nitrogen/generated/shared/c++/DownloadTask.hpp +122 -0
- package/nitrogen/generated/shared/c++/DownloadedPlaylist.hpp +101 -0
- package/nitrogen/generated/shared/c++/DownloadedTrack.hpp +107 -0
- package/nitrogen/generated/shared/c++/EqualizerBand.hpp +87 -0
- package/nitrogen/generated/shared/c++/EqualizerPreset.hpp +86 -0
- package/nitrogen/generated/shared/c++/EqualizerState.hpp +89 -0
- package/nitrogen/generated/shared/c++/GainRange.hpp +79 -0
- package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.cpp +55 -0
- package/nitrogen/generated/shared/c++/HybridDownloadManagerSpec.hpp +134 -0
- package/nitrogen/generated/shared/c++/HybridEqualizerSpec.cpp +38 -0
- package/nitrogen/generated/shared/c++/HybridEqualizerSpec.hpp +95 -0
- package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +4 -0
- package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +11 -5
- package/nitrogen/generated/shared/c++/PlaybackSource.hpp +80 -0
- package/nitrogen/generated/shared/c++/PlayerState.hpp +9 -2
- package/nitrogen/generated/shared/c++/PresetType.hpp +76 -0
- package/nitrogen/generated/shared/c++/StorageLocation.hpp +76 -0
- package/nitrogen/generated/shared/c++/TrackItem.hpp +7 -2
- package/nitrogen/generated/shared/c++/TrackPlayerState.hpp +5 -5
- package/package.json +1 -1
- package/src/hooks/downloadCallbackManager.ts +149 -0
- package/src/hooks/equalizerCallbackManager.ts +138 -0
- package/src/hooks/index.ts +23 -0
- package/src/hooks/useActualQueue.ts +116 -0
- package/src/hooks/useDownloadActions.ts +179 -0
- package/src/hooks/useDownloadProgress.ts +126 -0
- package/src/hooks/useDownloadStorage.ts +84 -0
- package/src/hooks/useDownloadedTracks.ts +138 -0
- package/src/hooks/useEqualizer.ts +173 -0
- package/src/hooks/useEqualizerPresets.ts +140 -0
- package/src/hooks/useNowPlaying.ts +3 -2
- package/src/hooks/useOnChangeTrack.ts +15 -11
- package/src/hooks/useOnPlaybackStateChange.ts +19 -15
- package/src/hooks/usePlaylist.ts +161 -0
- package/src/index.ts +12 -0
- package/src/specs/DownloadManager.nitro.ts +203 -0
- package/src/specs/Equalizer.nitro.ts +69 -0
- package/src/specs/TrackPlayer.nitro.ts +6 -2
- package/src/types/DownloadTypes.ts +135 -0
- package/src/types/EqualizerTypes.ts +72 -0
- package/src/types/PlayerQueue.ts +9 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JDownloadProgress.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "DownloadProgress.hpp"
|
|
12
|
+
|
|
13
|
+
#include "DownloadState.hpp"
|
|
14
|
+
#include "JDownloadState.hpp"
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::nitroplayer {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The C++ JNI bridge between the C++ struct "DownloadProgress" and the the Kotlin data class "DownloadProgress".
|
|
23
|
+
*/
|
|
24
|
+
struct JDownloadProgress final: public jni::JavaClass<JDownloadProgress> {
|
|
25
|
+
public:
|
|
26
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/DownloadProgress;";
|
|
27
|
+
|
|
28
|
+
public:
|
|
29
|
+
/**
|
|
30
|
+
* Convert this Java/Kotlin-based struct to the C++ struct DownloadProgress by copying all values to C++.
|
|
31
|
+
*/
|
|
32
|
+
[[maybe_unused]]
|
|
33
|
+
[[nodiscard]]
|
|
34
|
+
DownloadProgress toCpp() const {
|
|
35
|
+
static const auto clazz = javaClassStatic();
|
|
36
|
+
static const auto fieldTrackId = clazz->getField<jni::JString>("trackId");
|
|
37
|
+
jni::local_ref<jni::JString> trackId = this->getFieldValue(fieldTrackId);
|
|
38
|
+
static const auto fieldDownloadId = clazz->getField<jni::JString>("downloadId");
|
|
39
|
+
jni::local_ref<jni::JString> downloadId = this->getFieldValue(fieldDownloadId);
|
|
40
|
+
static const auto fieldBytesDownloaded = clazz->getField<double>("bytesDownloaded");
|
|
41
|
+
double bytesDownloaded = this->getFieldValue(fieldBytesDownloaded);
|
|
42
|
+
static const auto fieldTotalBytes = clazz->getField<double>("totalBytes");
|
|
43
|
+
double totalBytes = this->getFieldValue(fieldTotalBytes);
|
|
44
|
+
static const auto fieldProgress = clazz->getField<double>("progress");
|
|
45
|
+
double progress = this->getFieldValue(fieldProgress);
|
|
46
|
+
static const auto fieldState = clazz->getField<JDownloadState>("state");
|
|
47
|
+
jni::local_ref<JDownloadState> state = this->getFieldValue(fieldState);
|
|
48
|
+
return DownloadProgress(
|
|
49
|
+
trackId->toStdString(),
|
|
50
|
+
downloadId->toStdString(),
|
|
51
|
+
bytesDownloaded,
|
|
52
|
+
totalBytes,
|
|
53
|
+
progress,
|
|
54
|
+
state->toCpp()
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public:
|
|
59
|
+
/**
|
|
60
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
61
|
+
*/
|
|
62
|
+
[[maybe_unused]]
|
|
63
|
+
static jni::local_ref<JDownloadProgress::javaobject> fromCpp(const DownloadProgress& value) {
|
|
64
|
+
using JSignature = JDownloadProgress(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, double, double, double, jni::alias_ref<JDownloadState>);
|
|
65
|
+
static const auto clazz = javaClassStatic();
|
|
66
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
67
|
+
return create(
|
|
68
|
+
clazz,
|
|
69
|
+
jni::make_jstring(value.trackId),
|
|
70
|
+
jni::make_jstring(value.downloadId),
|
|
71
|
+
value.bytesDownloaded,
|
|
72
|
+
value.totalBytes,
|
|
73
|
+
value.progress,
|
|
74
|
+
JDownloadState::fromCpp(value.state)
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
} // namespace margelo::nitro::nitroplayer
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JDownloadQueueStatus.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "DownloadQueueStatus.hpp"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::nitroplayer {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "DownloadQueueStatus" and the the Kotlin data class "DownloadQueueStatus".
|
|
21
|
+
*/
|
|
22
|
+
struct JDownloadQueueStatus final: public jni::JavaClass<JDownloadQueueStatus> {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/DownloadQueueStatus;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct DownloadQueueStatus by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
DownloadQueueStatus toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldPendingCount = clazz->getField<double>("pendingCount");
|
|
35
|
+
double pendingCount = this->getFieldValue(fieldPendingCount);
|
|
36
|
+
static const auto fieldActiveCount = clazz->getField<double>("activeCount");
|
|
37
|
+
double activeCount = this->getFieldValue(fieldActiveCount);
|
|
38
|
+
static const auto fieldCompletedCount = clazz->getField<double>("completedCount");
|
|
39
|
+
double completedCount = this->getFieldValue(fieldCompletedCount);
|
|
40
|
+
static const auto fieldFailedCount = clazz->getField<double>("failedCount");
|
|
41
|
+
double failedCount = this->getFieldValue(fieldFailedCount);
|
|
42
|
+
static const auto fieldTotalBytesToDownload = clazz->getField<double>("totalBytesToDownload");
|
|
43
|
+
double totalBytesToDownload = this->getFieldValue(fieldTotalBytesToDownload);
|
|
44
|
+
static const auto fieldTotalBytesDownloaded = clazz->getField<double>("totalBytesDownloaded");
|
|
45
|
+
double totalBytesDownloaded = this->getFieldValue(fieldTotalBytesDownloaded);
|
|
46
|
+
static const auto fieldOverallProgress = clazz->getField<double>("overallProgress");
|
|
47
|
+
double overallProgress = this->getFieldValue(fieldOverallProgress);
|
|
48
|
+
return DownloadQueueStatus(
|
|
49
|
+
pendingCount,
|
|
50
|
+
activeCount,
|
|
51
|
+
completedCount,
|
|
52
|
+
failedCount,
|
|
53
|
+
totalBytesToDownload,
|
|
54
|
+
totalBytesDownloaded,
|
|
55
|
+
overallProgress
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public:
|
|
60
|
+
/**
|
|
61
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
62
|
+
*/
|
|
63
|
+
[[maybe_unused]]
|
|
64
|
+
static jni::local_ref<JDownloadQueueStatus::javaobject> fromCpp(const DownloadQueueStatus& value) {
|
|
65
|
+
using JSignature = JDownloadQueueStatus(double, double, double, double, double, double, double);
|
|
66
|
+
static const auto clazz = javaClassStatic();
|
|
67
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
68
|
+
return create(
|
|
69
|
+
clazz,
|
|
70
|
+
value.pendingCount,
|
|
71
|
+
value.activeCount,
|
|
72
|
+
value.completedCount,
|
|
73
|
+
value.failedCount,
|
|
74
|
+
value.totalBytesToDownload,
|
|
75
|
+
value.totalBytesDownloaded,
|
|
76
|
+
value.overallProgress
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
} // namespace margelo::nitro::nitroplayer
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JDownloadState.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "DownloadState.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::nitroplayer {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "DownloadState" and the the Kotlin enum "DownloadState".
|
|
19
|
+
*/
|
|
20
|
+
struct JDownloadState final: public jni::JavaClass<JDownloadState> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/DownloadState;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum DownloadState.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
DownloadState toCpp() const {
|
|
31
|
+
static const auto clazz = javaClassStatic();
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
|
+
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
+
return static_cast<DownloadState>(ordinal);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
static jni::alias_ref<JDownloadState> fromCpp(DownloadState value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldPENDING = clazz->getStaticField<JDownloadState>("PENDING");
|
|
45
|
+
static const auto fieldDOWNLOADING = clazz->getStaticField<JDownloadState>("DOWNLOADING");
|
|
46
|
+
static const auto fieldPAUSED = clazz->getStaticField<JDownloadState>("PAUSED");
|
|
47
|
+
static const auto fieldCOMPLETED = clazz->getStaticField<JDownloadState>("COMPLETED");
|
|
48
|
+
static const auto fieldFAILED = clazz->getStaticField<JDownloadState>("FAILED");
|
|
49
|
+
static const auto fieldCANCELLED = clazz->getStaticField<JDownloadState>("CANCELLED");
|
|
50
|
+
|
|
51
|
+
switch (value) {
|
|
52
|
+
case DownloadState::PENDING:
|
|
53
|
+
return clazz->getStaticFieldValue(fieldPENDING);
|
|
54
|
+
case DownloadState::DOWNLOADING:
|
|
55
|
+
return clazz->getStaticFieldValue(fieldDOWNLOADING);
|
|
56
|
+
case DownloadState::PAUSED:
|
|
57
|
+
return clazz->getStaticFieldValue(fieldPAUSED);
|
|
58
|
+
case DownloadState::COMPLETED:
|
|
59
|
+
return clazz->getStaticFieldValue(fieldCOMPLETED);
|
|
60
|
+
case DownloadState::FAILED:
|
|
61
|
+
return clazz->getStaticFieldValue(fieldFAILED);
|
|
62
|
+
case DownloadState::CANCELLED:
|
|
63
|
+
return clazz->getStaticFieldValue(fieldCANCELLED);
|
|
64
|
+
default:
|
|
65
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
66
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
} // namespace margelo::nitro::nitroplayer
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JDownloadStorageInfo.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "DownloadStorageInfo.hpp"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::nitroplayer {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "DownloadStorageInfo" and the the Kotlin data class "DownloadStorageInfo".
|
|
21
|
+
*/
|
|
22
|
+
struct JDownloadStorageInfo final: public jni::JavaClass<JDownloadStorageInfo> {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/DownloadStorageInfo;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct DownloadStorageInfo by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
DownloadStorageInfo toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldTotalDownloadedSize = clazz->getField<double>("totalDownloadedSize");
|
|
35
|
+
double totalDownloadedSize = this->getFieldValue(fieldTotalDownloadedSize);
|
|
36
|
+
static const auto fieldTrackCount = clazz->getField<double>("trackCount");
|
|
37
|
+
double trackCount = this->getFieldValue(fieldTrackCount);
|
|
38
|
+
static const auto fieldPlaylistCount = clazz->getField<double>("playlistCount");
|
|
39
|
+
double playlistCount = this->getFieldValue(fieldPlaylistCount);
|
|
40
|
+
static const auto fieldAvailableSpace = clazz->getField<double>("availableSpace");
|
|
41
|
+
double availableSpace = this->getFieldValue(fieldAvailableSpace);
|
|
42
|
+
static const auto fieldTotalSpace = clazz->getField<double>("totalSpace");
|
|
43
|
+
double totalSpace = this->getFieldValue(fieldTotalSpace);
|
|
44
|
+
return DownloadStorageInfo(
|
|
45
|
+
totalDownloadedSize,
|
|
46
|
+
trackCount,
|
|
47
|
+
playlistCount,
|
|
48
|
+
availableSpace,
|
|
49
|
+
totalSpace
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public:
|
|
54
|
+
/**
|
|
55
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
56
|
+
*/
|
|
57
|
+
[[maybe_unused]]
|
|
58
|
+
static jni::local_ref<JDownloadStorageInfo::javaobject> fromCpp(const DownloadStorageInfo& value) {
|
|
59
|
+
using JSignature = JDownloadStorageInfo(double, double, double, double, double);
|
|
60
|
+
static const auto clazz = javaClassStatic();
|
|
61
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
62
|
+
return create(
|
|
63
|
+
clazz,
|
|
64
|
+
value.totalDownloadedSize,
|
|
65
|
+
value.trackCount,
|
|
66
|
+
value.playlistCount,
|
|
67
|
+
value.availableSpace,
|
|
68
|
+
value.totalSpace
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
} // namespace margelo::nitro::nitroplayer
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JDownloadTask.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "DownloadTask.hpp"
|
|
12
|
+
|
|
13
|
+
#include "DownloadError.hpp"
|
|
14
|
+
#include "DownloadErrorReason.hpp"
|
|
15
|
+
#include "DownloadProgress.hpp"
|
|
16
|
+
#include "DownloadState.hpp"
|
|
17
|
+
#include "JDownloadError.hpp"
|
|
18
|
+
#include "JDownloadErrorReason.hpp"
|
|
19
|
+
#include "JDownloadProgress.hpp"
|
|
20
|
+
#include "JDownloadState.hpp"
|
|
21
|
+
#include "JVariant_NullType_Double.hpp"
|
|
22
|
+
#include "JVariant_NullType_DownloadError.hpp"
|
|
23
|
+
#include "JVariant_NullType_String.hpp"
|
|
24
|
+
#include <NitroModules/JNull.hpp>
|
|
25
|
+
#include <NitroModules/Null.hpp>
|
|
26
|
+
#include <optional>
|
|
27
|
+
#include <string>
|
|
28
|
+
#include <variant>
|
|
29
|
+
|
|
30
|
+
namespace margelo::nitro::nitroplayer {
|
|
31
|
+
|
|
32
|
+
using namespace facebook;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The C++ JNI bridge between the C++ struct "DownloadTask" and the the Kotlin data class "DownloadTask".
|
|
36
|
+
*/
|
|
37
|
+
struct JDownloadTask final: public jni::JavaClass<JDownloadTask> {
|
|
38
|
+
public:
|
|
39
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/DownloadTask;";
|
|
40
|
+
|
|
41
|
+
public:
|
|
42
|
+
/**
|
|
43
|
+
* Convert this Java/Kotlin-based struct to the C++ struct DownloadTask by copying all values to C++.
|
|
44
|
+
*/
|
|
45
|
+
[[maybe_unused]]
|
|
46
|
+
[[nodiscard]]
|
|
47
|
+
DownloadTask toCpp() const {
|
|
48
|
+
static const auto clazz = javaClassStatic();
|
|
49
|
+
static const auto fieldDownloadId = clazz->getField<jni::JString>("downloadId");
|
|
50
|
+
jni::local_ref<jni::JString> downloadId = this->getFieldValue(fieldDownloadId);
|
|
51
|
+
static const auto fieldTrackId = clazz->getField<jni::JString>("trackId");
|
|
52
|
+
jni::local_ref<jni::JString> trackId = this->getFieldValue(fieldTrackId);
|
|
53
|
+
static const auto fieldPlaylistId = clazz->getField<JVariant_NullType_String>("playlistId");
|
|
54
|
+
jni::local_ref<JVariant_NullType_String> playlistId = this->getFieldValue(fieldPlaylistId);
|
|
55
|
+
static const auto fieldState = clazz->getField<JDownloadState>("state");
|
|
56
|
+
jni::local_ref<JDownloadState> state = this->getFieldValue(fieldState);
|
|
57
|
+
static const auto fieldProgress = clazz->getField<JDownloadProgress>("progress");
|
|
58
|
+
jni::local_ref<JDownloadProgress> progress = this->getFieldValue(fieldProgress);
|
|
59
|
+
static const auto fieldCreatedAt = clazz->getField<double>("createdAt");
|
|
60
|
+
double createdAt = this->getFieldValue(fieldCreatedAt);
|
|
61
|
+
static const auto fieldStartedAt = clazz->getField<JVariant_NullType_Double>("startedAt");
|
|
62
|
+
jni::local_ref<JVariant_NullType_Double> startedAt = this->getFieldValue(fieldStartedAt);
|
|
63
|
+
static const auto fieldCompletedAt = clazz->getField<JVariant_NullType_Double>("completedAt");
|
|
64
|
+
jni::local_ref<JVariant_NullType_Double> completedAt = this->getFieldValue(fieldCompletedAt);
|
|
65
|
+
static const auto fieldError = clazz->getField<JVariant_NullType_DownloadError>("error");
|
|
66
|
+
jni::local_ref<JVariant_NullType_DownloadError> error = this->getFieldValue(fieldError);
|
|
67
|
+
static const auto fieldRetryCount = clazz->getField<double>("retryCount");
|
|
68
|
+
double retryCount = this->getFieldValue(fieldRetryCount);
|
|
69
|
+
return DownloadTask(
|
|
70
|
+
downloadId->toStdString(),
|
|
71
|
+
trackId->toStdString(),
|
|
72
|
+
playlistId != nullptr ? std::make_optional(playlistId->toCpp()) : std::nullopt,
|
|
73
|
+
state->toCpp(),
|
|
74
|
+
progress->toCpp(),
|
|
75
|
+
createdAt,
|
|
76
|
+
startedAt != nullptr ? std::make_optional(startedAt->toCpp()) : std::nullopt,
|
|
77
|
+
completedAt != nullptr ? std::make_optional(completedAt->toCpp()) : std::nullopt,
|
|
78
|
+
error != nullptr ? std::make_optional(error->toCpp()) : std::nullopt,
|
|
79
|
+
retryCount
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public:
|
|
84
|
+
/**
|
|
85
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
86
|
+
*/
|
|
87
|
+
[[maybe_unused]]
|
|
88
|
+
static jni::local_ref<JDownloadTask::javaobject> fromCpp(const DownloadTask& value) {
|
|
89
|
+
using JSignature = JDownloadTask(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JDownloadState>, jni::alias_ref<JDownloadProgress>, double, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_Double>, jni::alias_ref<JVariant_NullType_DownloadError>, double);
|
|
90
|
+
static const auto clazz = javaClassStatic();
|
|
91
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
92
|
+
return create(
|
|
93
|
+
clazz,
|
|
94
|
+
jni::make_jstring(value.downloadId),
|
|
95
|
+
jni::make_jstring(value.trackId),
|
|
96
|
+
value.playlistId.has_value() ? JVariant_NullType_String::fromCpp(value.playlistId.value()) : nullptr,
|
|
97
|
+
JDownloadState::fromCpp(value.state),
|
|
98
|
+
JDownloadProgress::fromCpp(value.progress),
|
|
99
|
+
value.createdAt,
|
|
100
|
+
value.startedAt.has_value() ? JVariant_NullType_Double::fromCpp(value.startedAt.value()) : nullptr,
|
|
101
|
+
value.completedAt.has_value() ? JVariant_NullType_Double::fromCpp(value.completedAt.value()) : nullptr,
|
|
102
|
+
value.error.has_value() ? JVariant_NullType_DownloadError::fromCpp(value.error.value()) : nullptr,
|
|
103
|
+
value.retryCount
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
} // namespace margelo::nitro::nitroplayer
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JDownloadedPlaylist.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "DownloadedPlaylist.hpp"
|
|
12
|
+
|
|
13
|
+
#include "DownloadedTrack.hpp"
|
|
14
|
+
#include "JDownloadedTrack.hpp"
|
|
15
|
+
#include "JPlaylist.hpp"
|
|
16
|
+
#include "JStorageLocation.hpp"
|
|
17
|
+
#include "JTrackItem.hpp"
|
|
18
|
+
#include "JVariant_NullType_String.hpp"
|
|
19
|
+
#include "Playlist.hpp"
|
|
20
|
+
#include "StorageLocation.hpp"
|
|
21
|
+
#include "TrackItem.hpp"
|
|
22
|
+
#include <NitroModules/AnyMap.hpp>
|
|
23
|
+
#include <NitroModules/JAnyMap.hpp>
|
|
24
|
+
#include <NitroModules/JNull.hpp>
|
|
25
|
+
#include <NitroModules/Null.hpp>
|
|
26
|
+
#include <optional>
|
|
27
|
+
#include <string>
|
|
28
|
+
#include <variant>
|
|
29
|
+
#include <vector>
|
|
30
|
+
|
|
31
|
+
namespace margelo::nitro::nitroplayer {
|
|
32
|
+
|
|
33
|
+
using namespace facebook;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The C++ JNI bridge between the C++ struct "DownloadedPlaylist" and the the Kotlin data class "DownloadedPlaylist".
|
|
37
|
+
*/
|
|
38
|
+
struct JDownloadedPlaylist final: public jni::JavaClass<JDownloadedPlaylist> {
|
|
39
|
+
public:
|
|
40
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/DownloadedPlaylist;";
|
|
41
|
+
|
|
42
|
+
public:
|
|
43
|
+
/**
|
|
44
|
+
* Convert this Java/Kotlin-based struct to the C++ struct DownloadedPlaylist by copying all values to C++.
|
|
45
|
+
*/
|
|
46
|
+
[[maybe_unused]]
|
|
47
|
+
[[nodiscard]]
|
|
48
|
+
DownloadedPlaylist toCpp() const {
|
|
49
|
+
static const auto clazz = javaClassStatic();
|
|
50
|
+
static const auto fieldPlaylistId = clazz->getField<jni::JString>("playlistId");
|
|
51
|
+
jni::local_ref<jni::JString> playlistId = this->getFieldValue(fieldPlaylistId);
|
|
52
|
+
static const auto fieldOriginalPlaylist = clazz->getField<JPlaylist>("originalPlaylist");
|
|
53
|
+
jni::local_ref<JPlaylist> originalPlaylist = this->getFieldValue(fieldOriginalPlaylist);
|
|
54
|
+
static const auto fieldDownloadedTracks = clazz->getField<jni::JArrayClass<JDownloadedTrack>>("downloadedTracks");
|
|
55
|
+
jni::local_ref<jni::JArrayClass<JDownloadedTrack>> downloadedTracks = this->getFieldValue(fieldDownloadedTracks);
|
|
56
|
+
static const auto fieldTotalSize = clazz->getField<double>("totalSize");
|
|
57
|
+
double totalSize = this->getFieldValue(fieldTotalSize);
|
|
58
|
+
static const auto fieldDownloadedAt = clazz->getField<double>("downloadedAt");
|
|
59
|
+
double downloadedAt = this->getFieldValue(fieldDownloadedAt);
|
|
60
|
+
static const auto fieldIsComplete = clazz->getField<jboolean>("isComplete");
|
|
61
|
+
jboolean isComplete = this->getFieldValue(fieldIsComplete);
|
|
62
|
+
return DownloadedPlaylist(
|
|
63
|
+
playlistId->toStdString(),
|
|
64
|
+
originalPlaylist->toCpp(),
|
|
65
|
+
[&]() {
|
|
66
|
+
size_t __size = downloadedTracks->size();
|
|
67
|
+
std::vector<DownloadedTrack> __vector;
|
|
68
|
+
__vector.reserve(__size);
|
|
69
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
70
|
+
auto __element = downloadedTracks->getElement(__i);
|
|
71
|
+
__vector.push_back(__element->toCpp());
|
|
72
|
+
}
|
|
73
|
+
return __vector;
|
|
74
|
+
}(),
|
|
75
|
+
totalSize,
|
|
76
|
+
downloadedAt,
|
|
77
|
+
static_cast<bool>(isComplete)
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
public:
|
|
82
|
+
/**
|
|
83
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
84
|
+
*/
|
|
85
|
+
[[maybe_unused]]
|
|
86
|
+
static jni::local_ref<JDownloadedPlaylist::javaobject> fromCpp(const DownloadedPlaylist& value) {
|
|
87
|
+
using JSignature = JDownloadedPlaylist(jni::alias_ref<jni::JString>, jni::alias_ref<JPlaylist>, jni::alias_ref<jni::JArrayClass<JDownloadedTrack>>, double, double, jboolean);
|
|
88
|
+
static const auto clazz = javaClassStatic();
|
|
89
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
90
|
+
return create(
|
|
91
|
+
clazz,
|
|
92
|
+
jni::make_jstring(value.playlistId),
|
|
93
|
+
JPlaylist::fromCpp(value.originalPlaylist),
|
|
94
|
+
[&]() {
|
|
95
|
+
size_t __size = value.downloadedTracks.size();
|
|
96
|
+
jni::local_ref<jni::JArrayClass<JDownloadedTrack>> __array = jni::JArrayClass<JDownloadedTrack>::newArray(__size);
|
|
97
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
98
|
+
const auto& __element = value.downloadedTracks[__i];
|
|
99
|
+
auto __elementJni = JDownloadedTrack::fromCpp(__element);
|
|
100
|
+
__array->setElement(__i, *__elementJni);
|
|
101
|
+
}
|
|
102
|
+
return __array;
|
|
103
|
+
}(),
|
|
104
|
+
value.totalSize,
|
|
105
|
+
value.downloadedAt,
|
|
106
|
+
value.isComplete
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
} // namespace margelo::nitro::nitroplayer
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JDownloadedTrack.hpp
|
|
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
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "DownloadedTrack.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JStorageLocation.hpp"
|
|
14
|
+
#include "JTrackItem.hpp"
|
|
15
|
+
#include "JVariant_NullType_String.hpp"
|
|
16
|
+
#include "StorageLocation.hpp"
|
|
17
|
+
#include "TrackItem.hpp"
|
|
18
|
+
#include <NitroModules/AnyMap.hpp>
|
|
19
|
+
#include <NitroModules/JAnyMap.hpp>
|
|
20
|
+
#include <NitroModules/JNull.hpp>
|
|
21
|
+
#include <NitroModules/Null.hpp>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include <string>
|
|
24
|
+
#include <variant>
|
|
25
|
+
|
|
26
|
+
namespace margelo::nitro::nitroplayer {
|
|
27
|
+
|
|
28
|
+
using namespace facebook;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The C++ JNI bridge between the C++ struct "DownloadedTrack" and the the Kotlin data class "DownloadedTrack".
|
|
32
|
+
*/
|
|
33
|
+
struct JDownloadedTrack final: public jni::JavaClass<JDownloadedTrack> {
|
|
34
|
+
public:
|
|
35
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitroplayer/DownloadedTrack;";
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Convert this Java/Kotlin-based struct to the C++ struct DownloadedTrack by copying all values to C++.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
[[nodiscard]]
|
|
43
|
+
DownloadedTrack toCpp() const {
|
|
44
|
+
static const auto clazz = javaClassStatic();
|
|
45
|
+
static const auto fieldTrackId = clazz->getField<jni::JString>("trackId");
|
|
46
|
+
jni::local_ref<jni::JString> trackId = this->getFieldValue(fieldTrackId);
|
|
47
|
+
static const auto fieldOriginalTrack = clazz->getField<JTrackItem>("originalTrack");
|
|
48
|
+
jni::local_ref<JTrackItem> originalTrack = this->getFieldValue(fieldOriginalTrack);
|
|
49
|
+
static const auto fieldLocalPath = clazz->getField<jni::JString>("localPath");
|
|
50
|
+
jni::local_ref<jni::JString> localPath = this->getFieldValue(fieldLocalPath);
|
|
51
|
+
static const auto fieldLocalArtworkPath = clazz->getField<JVariant_NullType_String>("localArtworkPath");
|
|
52
|
+
jni::local_ref<JVariant_NullType_String> localArtworkPath = this->getFieldValue(fieldLocalArtworkPath);
|
|
53
|
+
static const auto fieldDownloadedAt = clazz->getField<double>("downloadedAt");
|
|
54
|
+
double downloadedAt = this->getFieldValue(fieldDownloadedAt);
|
|
55
|
+
static const auto fieldFileSize = clazz->getField<double>("fileSize");
|
|
56
|
+
double fileSize = this->getFieldValue(fieldFileSize);
|
|
57
|
+
static const auto fieldStorageLocation = clazz->getField<JStorageLocation>("storageLocation");
|
|
58
|
+
jni::local_ref<JStorageLocation> storageLocation = this->getFieldValue(fieldStorageLocation);
|
|
59
|
+
return DownloadedTrack(
|
|
60
|
+
trackId->toStdString(),
|
|
61
|
+
originalTrack->toCpp(),
|
|
62
|
+
localPath->toStdString(),
|
|
63
|
+
localArtworkPath != nullptr ? std::make_optional(localArtworkPath->toCpp()) : std::nullopt,
|
|
64
|
+
downloadedAt,
|
|
65
|
+
fileSize,
|
|
66
|
+
storageLocation->toCpp()
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public:
|
|
71
|
+
/**
|
|
72
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
73
|
+
*/
|
|
74
|
+
[[maybe_unused]]
|
|
75
|
+
static jni::local_ref<JDownloadedTrack::javaobject> fromCpp(const DownloadedTrack& value) {
|
|
76
|
+
using JSignature = JDownloadedTrack(jni::alias_ref<jni::JString>, jni::alias_ref<JTrackItem>, jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, double, double, jni::alias_ref<JStorageLocation>);
|
|
77
|
+
static const auto clazz = javaClassStatic();
|
|
78
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
79
|
+
return create(
|
|
80
|
+
clazz,
|
|
81
|
+
jni::make_jstring(value.trackId),
|
|
82
|
+
JTrackItem::fromCpp(value.originalTrack),
|
|
83
|
+
jni::make_jstring(value.localPath),
|
|
84
|
+
value.localArtworkPath.has_value() ? JVariant_NullType_String::fromCpp(value.localArtworkPath.value()) : nullptr,
|
|
85
|
+
value.downloadedAt,
|
|
86
|
+
value.fileSize,
|
|
87
|
+
JStorageLocation::fromCpp(value.storageLocation)
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
} // namespace margelo::nitro::nitroplayer
|