react-native-nitro-player 0.0.1
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/NitroPlayer.podspec +31 -0
- package/README.md +610 -0
- package/android/CMakeLists.txt +29 -0
- package/android/build.gradle +147 -0
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +7 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrary.kt +29 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridAudioDevices.kt +116 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridPlayerQueue.kt +167 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridTrackPlayer.kt +93 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/NitroPlayerPackage.kt +21 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/connection/AndroidAutoConnectionDetector.kt +171 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +639 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaBrowserService.kt +352 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaLibrary.kt +58 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaLibraryManager.kt +77 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaLibraryParser.kt +73 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/media/MediaSessionManager.kt +506 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/Playlist.kt +21 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/PlaylistManager.kt +454 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/queue/Queue.kt +94 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/queue/QueueManager.kt +143 -0
- package/ios/HybridAudioRoutePicker.swift +53 -0
- package/ios/HybridTrackPlayer.swift +100 -0
- package/ios/core/TrackPlayerCore.swift +1040 -0
- package/ios/media/MediaSessionManager.swift +230 -0
- package/ios/playlist/PlaylistManager.swift +446 -0
- package/ios/playlist/PlaylistModel.swift +49 -0
- package/ios/queue/HybridPlayerQueue.swift +95 -0
- package/ios/queue/Queue.swift +126 -0
- package/ios/queue/QueueManager.swift +157 -0
- package/lib/hooks/index.d.ts +6 -0
- package/lib/hooks/index.js +6 -0
- package/lib/hooks/useAndroidAutoConnection.d.ts +13 -0
- package/lib/hooks/useAndroidAutoConnection.js +26 -0
- package/lib/hooks/useAudioDevices.d.ts +26 -0
- package/lib/hooks/useAudioDevices.js +55 -0
- package/lib/hooks/useOnChangeTrack.d.ts +9 -0
- package/lib/hooks/useOnChangeTrack.js +17 -0
- package/lib/hooks/useOnPlaybackProgressChange.d.ts +9 -0
- package/lib/hooks/useOnPlaybackProgressChange.js +19 -0
- package/lib/hooks/useOnPlaybackStateChange.d.ts +9 -0
- package/lib/hooks/useOnPlaybackStateChange.js +17 -0
- package/lib/hooks/useOnSeek.d.ts +8 -0
- package/lib/hooks/useOnSeek.js +17 -0
- package/lib/index.d.ts +14 -0
- package/lib/index.js +24 -0
- package/lib/specs/AndroidAutoMediaLibrary.nitro.d.ts +21 -0
- package/lib/specs/AndroidAutoMediaLibrary.nitro.js +1 -0
- package/lib/specs/AudioDevices.nitro.d.ts +24 -0
- package/lib/specs/AudioDevices.nitro.js +1 -0
- package/lib/specs/AudioRoutePicker.nitro.d.ts +10 -0
- package/lib/specs/AudioRoutePicker.nitro.js +1 -0
- package/lib/specs/TrackPlayer.nitro.d.ts +39 -0
- package/lib/specs/TrackPlayer.nitro.js +1 -0
- package/lib/types/AndroidAutoMediaLibrary.d.ts +44 -0
- package/lib/types/AndroidAutoMediaLibrary.js +1 -0
- package/lib/types/PlayerQueue.d.ts +32 -0
- package/lib/types/PlayerQueue.js +1 -0
- package/lib/utils/androidAutoMediaLibrary.d.ts +47 -0
- package/lib/utils/androidAutoMediaLibrary.js +62 -0
- package/nitro.json +31 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/NitroPlayer+autolinking.cmake +91 -0
- package/nitrogen/generated/android/NitroPlayer+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +88 -0
- package/nitrogen/generated/android/NitroPlayerOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JFunc_void_TrackItem_std__optional_Reason_.hpp +85 -0
- package/nitrogen/generated/android/c++/JFunc_void_TrackPlayerState_std__optional_Reason_.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_double_double_std__optional_bool_.hpp +76 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__string_Playlist_std__optional_QueueOperation_.hpp +88 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_Playlist__std__optional_QueueOperation_.hpp +106 -0
- package/nitrogen/generated/android/c++/JHybridAndroidAutoMediaLibrarySpec.cpp +55 -0
- package/nitrogen/generated/android/c++/JHybridAndroidAutoMediaLibrarySpec.hpp +66 -0
- package/nitrogen/generated/android/c++/JHybridAudioDevicesSpec.cpp +70 -0
- package/nitrogen/generated/android/c++/JHybridAudioDevicesSpec.hpp +66 -0
- package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.cpp +143 -0
- package/nitrogen/generated/android/c++/JHybridPlayerQueueSpec.hpp +77 -0
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +137 -0
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +78 -0
- package/nitrogen/generated/android/c++/JPlayerConfig.hpp +65 -0
- package/nitrogen/generated/android/c++/JPlayerState.hpp +87 -0
- package/nitrogen/generated/android/c++/JPlaylist.hpp +99 -0
- package/nitrogen/generated/android/c++/JQueueOperation.hpp +65 -0
- package/nitrogen/generated/android/c++/JReason.hpp +65 -0
- package/nitrogen/generated/android/c++/JTAudioDevice.hpp +69 -0
- package/nitrogen/generated/android/c++/JTrackItem.hpp +86 -0
- package/nitrogen/generated/android/c++/JTrackPlayerState.hpp +62 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Playlist.hpp +77 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_TrackItem.hpp +74 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_TrackItem_std__optional_Reason_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_TrackPlayerState_std__optional_Reason_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_bool.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_double_double.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_double_double_std__optional_bool_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__string_Playlist_std__optional_QueueOperation_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_Playlist__std__optional_QueueOperation_.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridAndroidAutoMediaLibrarySpec.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridAudioDevicesSpec.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridPlayerQueueSpec.kt +116 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +134 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/NitroPlayerOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerConfig.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerState.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Playlist.kt +50 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/QueueOperation.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Reason.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TAudioDevice.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackItem.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/TrackPlayerState.kt +22 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_Playlist.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_String.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Variant_NullType_TrackItem.kt +59 -0
- package/nitrogen/generated/ios/NitroPlayer+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.cpp +123 -0
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.hpp +531 -0
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Umbrella.hpp +80 -0
- package/nitrogen/generated/ios/NitroPlayerAutolinking.mm +49 -0
- package/nitrogen/generated/ios/NitroPlayerAutolinking.swift +55 -0
- package/nitrogen/generated/ios/c++/HybridAudioRoutePickerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridAudioRoutePickerSpecSwift.hpp +74 -0
- package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridPlayerQueueSpecSwift.hpp +167 -0
- package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +174 -0
- package/nitrogen/generated/ios/swift/Func_void_TrackItem_std__optional_Reason_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_TrackPlayerState_std__optional_Reason_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_double_double.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_double_double_std__optional_bool_.swift +54 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string_Playlist_std__optional_QueueOperation_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_Playlist__std__optional_QueueOperation_.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridAudioRoutePickerSpec.swift +56 -0
- package/nitrogen/generated/ios/swift/HybridAudioRoutePickerSpec_cxx.swift +130 -0
- package/nitrogen/generated/ios/swift/HybridPlayerQueueSpec.swift +68 -0
- package/nitrogen/generated/ios/swift/HybridPlayerQueueSpec_cxx.swift +349 -0
- package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +69 -0
- package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +325 -0
- package/nitrogen/generated/ios/swift/PlayerConfig.swift +115 -0
- package/nitrogen/generated/ios/swift/PlayerState.swift +181 -0
- package/nitrogen/generated/ios/swift/Playlist.swift +182 -0
- package/nitrogen/generated/ios/swift/QueueOperation.swift +48 -0
- package/nitrogen/generated/ios/swift/Reason.swift +48 -0
- package/nitrogen/generated/ios/swift/TrackItem.swift +147 -0
- package/nitrogen/generated/ios/swift/TrackPlayerState.swift +44 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Playlist.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_TrackItem.swift +18 -0
- package/nitrogen/generated/shared/c++/HybridAndroidAutoMediaLibrarySpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridAndroidAutoMediaLibrarySpec.hpp +63 -0
- package/nitrogen/generated/shared/c++/HybridAudioDevicesSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridAudioDevicesSpec.hpp +65 -0
- package/nitrogen/generated/shared/c++/HybridAudioRoutePickerSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridAudioRoutePickerSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/HybridPlayerQueueSpec.cpp +33 -0
- package/nitrogen/generated/shared/c++/HybridPlayerQueueSpec.hpp +87 -0
- package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +34 -0
- package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +91 -0
- package/nitrogen/generated/shared/c++/PlayerConfig.hpp +83 -0
- package/nitrogen/generated/shared/c++/PlayerState.hpp +103 -0
- package/nitrogen/generated/shared/c++/Playlist.hpp +97 -0
- package/nitrogen/generated/shared/c++/QueueOperation.hpp +84 -0
- package/nitrogen/generated/shared/c++/Reason.hpp +84 -0
- package/nitrogen/generated/shared/c++/TAudioDevice.hpp +87 -0
- package/nitrogen/generated/shared/c++/TrackItem.hpp +102 -0
- package/nitrogen/generated/shared/c++/TrackPlayerState.hpp +80 -0
- package/package.json +172 -0
- package/react-native.config.js +16 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/useAndroidAutoConnection.ts +30 -0
- package/src/hooks/useAudioDevices.ts +64 -0
- package/src/hooks/useOnChangeTrack.ts +24 -0
- package/src/hooks/useOnPlaybackProgressChange.ts +30 -0
- package/src/hooks/useOnPlaybackStateChange.ts +24 -0
- package/src/hooks/useOnSeek.ts +25 -0
- package/src/index.ts +47 -0
- package/src/specs/AndroidAutoMediaLibrary.nitro.ts +22 -0
- package/src/specs/AudioDevices.nitro.ts +25 -0
- package/src/specs/AudioRoutePicker.nitro.ts +9 -0
- package/src/specs/TrackPlayer.nitro.ts +81 -0
- package/src/types/AndroidAutoMediaLibrary.ts +58 -0
- package/src/types/PlayerQueue.ts +38 -0
- package/src/utils/androidAutoMediaLibrary.ts +66 -0
|
@@ -0,0 +1,531 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroPlayer-Swift-Cxx-Bridge.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
|
+
// Forward declarations of C++ defined types
|
|
11
|
+
// Forward declaration of `HybridAudioRoutePickerSpec` to properly resolve imports.
|
|
12
|
+
namespace margelo::nitro::nitroplayer { class HybridAudioRoutePickerSpec; }
|
|
13
|
+
// Forward declaration of `HybridPlayerQueueSpec` to properly resolve imports.
|
|
14
|
+
namespace margelo::nitro::nitroplayer { class HybridPlayerQueueSpec; }
|
|
15
|
+
// Forward declaration of `HybridTrackPlayerSpec` to properly resolve imports.
|
|
16
|
+
namespace margelo::nitro::nitroplayer { class HybridTrackPlayerSpec; }
|
|
17
|
+
// Forward declaration of `PlayerState` to properly resolve imports.
|
|
18
|
+
namespace margelo::nitro::nitroplayer { struct PlayerState; }
|
|
19
|
+
// Forward declaration of `Playlist` to properly resolve imports.
|
|
20
|
+
namespace margelo::nitro::nitroplayer { struct Playlist; }
|
|
21
|
+
// Forward declaration of `QueueOperation` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::nitroplayer { enum class QueueOperation; }
|
|
23
|
+
// Forward declaration of `Reason` to properly resolve imports.
|
|
24
|
+
namespace margelo::nitro::nitroplayer { enum class Reason; }
|
|
25
|
+
// Forward declaration of `TrackItem` to properly resolve imports.
|
|
26
|
+
namespace margelo::nitro::nitroplayer { struct TrackItem; }
|
|
27
|
+
// Forward declaration of `TrackPlayerState` to properly resolve imports.
|
|
28
|
+
namespace margelo::nitro::nitroplayer { enum class TrackPlayerState; }
|
|
29
|
+
|
|
30
|
+
// Forward declarations of Swift defined types
|
|
31
|
+
// Forward declaration of `HybridAudioRoutePickerSpec_cxx` to properly resolve imports.
|
|
32
|
+
namespace NitroPlayer { class HybridAudioRoutePickerSpec_cxx; }
|
|
33
|
+
// Forward declaration of `HybridPlayerQueueSpec_cxx` to properly resolve imports.
|
|
34
|
+
namespace NitroPlayer { class HybridPlayerQueueSpec_cxx; }
|
|
35
|
+
// Forward declaration of `HybridTrackPlayerSpec_cxx` to properly resolve imports.
|
|
36
|
+
namespace NitroPlayer { class HybridTrackPlayerSpec_cxx; }
|
|
37
|
+
|
|
38
|
+
// Include C++ defined types
|
|
39
|
+
#include "HybridAudioRoutePickerSpec.hpp"
|
|
40
|
+
#include "HybridPlayerQueueSpec.hpp"
|
|
41
|
+
#include "HybridTrackPlayerSpec.hpp"
|
|
42
|
+
#include "PlayerState.hpp"
|
|
43
|
+
#include "Playlist.hpp"
|
|
44
|
+
#include "QueueOperation.hpp"
|
|
45
|
+
#include "Reason.hpp"
|
|
46
|
+
#include "TrackItem.hpp"
|
|
47
|
+
#include "TrackPlayerState.hpp"
|
|
48
|
+
#include <NitroModules/Null.hpp>
|
|
49
|
+
#include <NitroModules/Result.hpp>
|
|
50
|
+
#include <exception>
|
|
51
|
+
#include <functional>
|
|
52
|
+
#include <memory>
|
|
53
|
+
#include <optional>
|
|
54
|
+
#include <string>
|
|
55
|
+
#include <variant>
|
|
56
|
+
#include <vector>
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Contains specialized versions of C++ templated types so they can be accessed from Swift,
|
|
60
|
+
* as well as helper functions to interact with those C++ types from Swift.
|
|
61
|
+
*/
|
|
62
|
+
namespace margelo::nitro::nitroplayer::bridge::swift {
|
|
63
|
+
|
|
64
|
+
// pragma MARK: std::shared_ptr<HybridAudioRoutePickerSpec>
|
|
65
|
+
/**
|
|
66
|
+
* Specialized version of `std::shared_ptr<HybridAudioRoutePickerSpec>`.
|
|
67
|
+
*/
|
|
68
|
+
using std__shared_ptr_HybridAudioRoutePickerSpec_ = std::shared_ptr<HybridAudioRoutePickerSpec>;
|
|
69
|
+
std::shared_ptr<HybridAudioRoutePickerSpec> create_std__shared_ptr_HybridAudioRoutePickerSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
|
|
70
|
+
void* NON_NULL get_std__shared_ptr_HybridAudioRoutePickerSpec_(std__shared_ptr_HybridAudioRoutePickerSpec_ cppType);
|
|
71
|
+
|
|
72
|
+
// pragma MARK: std::weak_ptr<HybridAudioRoutePickerSpec>
|
|
73
|
+
using std__weak_ptr_HybridAudioRoutePickerSpec_ = std::weak_ptr<HybridAudioRoutePickerSpec>;
|
|
74
|
+
inline std__weak_ptr_HybridAudioRoutePickerSpec_ weakify_std__shared_ptr_HybridAudioRoutePickerSpec_(const std::shared_ptr<HybridAudioRoutePickerSpec>& strong) noexcept { return strong; }
|
|
75
|
+
|
|
76
|
+
// pragma MARK: Result<void>
|
|
77
|
+
using Result_void_ = Result<void>;
|
|
78
|
+
inline Result_void_ create_Result_void_() noexcept {
|
|
79
|
+
return Result<void>::withValue();
|
|
80
|
+
}
|
|
81
|
+
inline Result_void_ create_Result_void_(const std::exception_ptr& error) noexcept {
|
|
82
|
+
return Result<void>::withError(error);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// pragma MARK: std::optional<std::string>
|
|
86
|
+
/**
|
|
87
|
+
* Specialized version of `std::optional<std::string>`.
|
|
88
|
+
*/
|
|
89
|
+
using std__optional_std__string_ = std::optional<std::string>;
|
|
90
|
+
inline std::optional<std::string> create_std__optional_std__string_(const std::string& value) noexcept {
|
|
91
|
+
return std::optional<std::string>(value);
|
|
92
|
+
}
|
|
93
|
+
inline bool has_value_std__optional_std__string_(const std::optional<std::string>& optional) noexcept {
|
|
94
|
+
return optional.has_value();
|
|
95
|
+
}
|
|
96
|
+
inline std::string get_std__optional_std__string_(const std::optional<std::string>& optional) noexcept {
|
|
97
|
+
return *optional;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// pragma MARK: std::variant<nitro::NullType, std::string>
|
|
101
|
+
/**
|
|
102
|
+
* Wrapper struct for `std::variant<nitro::NullType, std::string>`.
|
|
103
|
+
* std::variant cannot be used in Swift because of a Swift bug.
|
|
104
|
+
* Not even specializing it works. So we create a wrapper struct.
|
|
105
|
+
*/
|
|
106
|
+
struct std__variant_nitro__NullType__std__string_ {
|
|
107
|
+
std::variant<nitro::NullType, std::string> variant;
|
|
108
|
+
std__variant_nitro__NullType__std__string_(std::variant<nitro::NullType, std::string> variant): variant(variant) { }
|
|
109
|
+
operator std::variant<nitro::NullType, std::string>() const noexcept {
|
|
110
|
+
return variant;
|
|
111
|
+
}
|
|
112
|
+
inline size_t index() const noexcept {
|
|
113
|
+
return variant.index();
|
|
114
|
+
}
|
|
115
|
+
inline nitro::NullType get_0() const noexcept {
|
|
116
|
+
return std::get<0>(variant);
|
|
117
|
+
}
|
|
118
|
+
inline std::string get_1() const noexcept {
|
|
119
|
+
return std::get<1>(variant);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
inline std__variant_nitro__NullType__std__string_ create_std__variant_nitro__NullType__std__string_(nitro::NullType value) noexcept {
|
|
123
|
+
return std__variant_nitro__NullType__std__string_(value);
|
|
124
|
+
}
|
|
125
|
+
inline std__variant_nitro__NullType__std__string_ create_std__variant_nitro__NullType__std__string_(const std::string& value) noexcept {
|
|
126
|
+
return std__variant_nitro__NullType__std__string_(value);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// pragma MARK: std::optional<std::variant<nitro::NullType, std::string>>
|
|
130
|
+
/**
|
|
131
|
+
* Specialized version of `std::optional<std::variant<nitro::NullType, std::string>>`.
|
|
132
|
+
*/
|
|
133
|
+
using std__optional_std__variant_nitro__NullType__std__string__ = std::optional<std::variant<nitro::NullType, std::string>>;
|
|
134
|
+
inline std::optional<std::variant<nitro::NullType, std::string>> create_std__optional_std__variant_nitro__NullType__std__string__(const std::variant<nitro::NullType, std::string>& value) noexcept {
|
|
135
|
+
return std::optional<std::variant<nitro::NullType, std::string>>(value);
|
|
136
|
+
}
|
|
137
|
+
inline bool has_value_std__optional_std__variant_nitro__NullType__std__string__(const std::optional<std::variant<nitro::NullType, std::string>>& optional) noexcept {
|
|
138
|
+
return optional.has_value();
|
|
139
|
+
}
|
|
140
|
+
inline std::variant<nitro::NullType, std::string> get_std__optional_std__variant_nitro__NullType__std__string__(const std::optional<std::variant<nitro::NullType, std::string>>& optional) noexcept {
|
|
141
|
+
return *optional;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// pragma MARK: std::vector<TrackItem>
|
|
145
|
+
/**
|
|
146
|
+
* Specialized version of `std::vector<TrackItem>`.
|
|
147
|
+
*/
|
|
148
|
+
using std__vector_TrackItem_ = std::vector<TrackItem>;
|
|
149
|
+
inline std::vector<TrackItem> create_std__vector_TrackItem_(size_t size) noexcept {
|
|
150
|
+
std::vector<TrackItem> vector;
|
|
151
|
+
vector.reserve(size);
|
|
152
|
+
return vector;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// pragma MARK: std::variant<nitro::NullType, Playlist>
|
|
156
|
+
/**
|
|
157
|
+
* Wrapper struct for `std::variant<nitro::NullType, Playlist>`.
|
|
158
|
+
* std::variant cannot be used in Swift because of a Swift bug.
|
|
159
|
+
* Not even specializing it works. So we create a wrapper struct.
|
|
160
|
+
*/
|
|
161
|
+
struct std__variant_nitro__NullType__Playlist_ {
|
|
162
|
+
std::variant<nitro::NullType, Playlist> variant;
|
|
163
|
+
std__variant_nitro__NullType__Playlist_(std::variant<nitro::NullType, Playlist> variant): variant(variant) { }
|
|
164
|
+
operator std::variant<nitro::NullType, Playlist>() const noexcept {
|
|
165
|
+
return variant;
|
|
166
|
+
}
|
|
167
|
+
inline size_t index() const noexcept {
|
|
168
|
+
return variant.index();
|
|
169
|
+
}
|
|
170
|
+
inline nitro::NullType get_0() const noexcept {
|
|
171
|
+
return std::get<0>(variant);
|
|
172
|
+
}
|
|
173
|
+
inline Playlist get_1() const noexcept {
|
|
174
|
+
return std::get<1>(variant);
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
inline std__variant_nitro__NullType__Playlist_ create_std__variant_nitro__NullType__Playlist_(nitro::NullType value) noexcept {
|
|
178
|
+
return std__variant_nitro__NullType__Playlist_(value);
|
|
179
|
+
}
|
|
180
|
+
inline std__variant_nitro__NullType__Playlist_ create_std__variant_nitro__NullType__Playlist_(const Playlist& value) noexcept {
|
|
181
|
+
return std__variant_nitro__NullType__Playlist_(value);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// pragma MARK: std::vector<Playlist>
|
|
185
|
+
/**
|
|
186
|
+
* Specialized version of `std::vector<Playlist>`.
|
|
187
|
+
*/
|
|
188
|
+
using std__vector_Playlist_ = std::vector<Playlist>;
|
|
189
|
+
inline std::vector<Playlist> create_std__vector_Playlist_(size_t size) noexcept {
|
|
190
|
+
std::vector<Playlist> vector;
|
|
191
|
+
vector.reserve(size);
|
|
192
|
+
return vector;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// pragma MARK: std::optional<double>
|
|
196
|
+
/**
|
|
197
|
+
* Specialized version of `std::optional<double>`.
|
|
198
|
+
*/
|
|
199
|
+
using std__optional_double_ = std::optional<double>;
|
|
200
|
+
inline std::optional<double> create_std__optional_double_(const double& value) noexcept {
|
|
201
|
+
return std::optional<double>(value);
|
|
202
|
+
}
|
|
203
|
+
inline bool has_value_std__optional_double_(const std::optional<double>& optional) noexcept {
|
|
204
|
+
return optional.has_value();
|
|
205
|
+
}
|
|
206
|
+
inline double get_std__optional_double_(const std::optional<double>& optional) noexcept {
|
|
207
|
+
return *optional;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// pragma MARK: std::optional<QueueOperation>
|
|
211
|
+
/**
|
|
212
|
+
* Specialized version of `std::optional<QueueOperation>`.
|
|
213
|
+
*/
|
|
214
|
+
using std__optional_QueueOperation_ = std::optional<QueueOperation>;
|
|
215
|
+
inline std::optional<QueueOperation> create_std__optional_QueueOperation_(const QueueOperation& value) noexcept {
|
|
216
|
+
return std::optional<QueueOperation>(value);
|
|
217
|
+
}
|
|
218
|
+
inline bool has_value_std__optional_QueueOperation_(const std::optional<QueueOperation>& optional) noexcept {
|
|
219
|
+
return optional.has_value();
|
|
220
|
+
}
|
|
221
|
+
inline QueueOperation get_std__optional_QueueOperation_(const std::optional<QueueOperation>& optional) noexcept {
|
|
222
|
+
return *optional;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// pragma MARK: std::function<void(const std::vector<Playlist>& /* playlists */, std::optional<QueueOperation> /* operation */)>
|
|
226
|
+
/**
|
|
227
|
+
* Specialized version of `std::function<void(const std::vector<Playlist>&, std::optional<QueueOperation>)>`.
|
|
228
|
+
*/
|
|
229
|
+
using Func_void_std__vector_Playlist__std__optional_QueueOperation_ = std::function<void(const std::vector<Playlist>& /* playlists */, std::optional<QueueOperation> /* operation */)>;
|
|
230
|
+
/**
|
|
231
|
+
* Wrapper class for a `std::function<void(const std::vector<Playlist>& / * playlists * /, std::optional<QueueOperation> / * operation * /)>`, this can be used from Swift.
|
|
232
|
+
*/
|
|
233
|
+
class Func_void_std__vector_Playlist__std__optional_QueueOperation__Wrapper final {
|
|
234
|
+
public:
|
|
235
|
+
explicit Func_void_std__vector_Playlist__std__optional_QueueOperation__Wrapper(std::function<void(const std::vector<Playlist>& /* playlists */, std::optional<QueueOperation> /* operation */)>&& func): _function(std::make_unique<std::function<void(const std::vector<Playlist>& /* playlists */, std::optional<QueueOperation> /* operation */)>>(std::move(func))) {}
|
|
236
|
+
inline void call(std::vector<Playlist> playlists, std::optional<QueueOperation> operation) const noexcept {
|
|
237
|
+
_function->operator()(playlists, operation);
|
|
238
|
+
}
|
|
239
|
+
private:
|
|
240
|
+
std::unique_ptr<std::function<void(const std::vector<Playlist>& /* playlists */, std::optional<QueueOperation> /* operation */)>> _function;
|
|
241
|
+
} SWIFT_NONCOPYABLE;
|
|
242
|
+
Func_void_std__vector_Playlist__std__optional_QueueOperation_ create_Func_void_std__vector_Playlist__std__optional_QueueOperation_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
243
|
+
inline Func_void_std__vector_Playlist__std__optional_QueueOperation__Wrapper wrap_Func_void_std__vector_Playlist__std__optional_QueueOperation_(Func_void_std__vector_Playlist__std__optional_QueueOperation_ value) noexcept {
|
|
244
|
+
return Func_void_std__vector_Playlist__std__optional_QueueOperation__Wrapper(std::move(value));
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// pragma MARK: std::function<void(const std::string& /* playlistId */, const Playlist& /* playlist */, std::optional<QueueOperation> /* operation */)>
|
|
248
|
+
/**
|
|
249
|
+
* Specialized version of `std::function<void(const std::string&, const Playlist&, std::optional<QueueOperation>)>`.
|
|
250
|
+
*/
|
|
251
|
+
using Func_void_std__string_Playlist_std__optional_QueueOperation_ = std::function<void(const std::string& /* playlistId */, const Playlist& /* playlist */, std::optional<QueueOperation> /* operation */)>;
|
|
252
|
+
/**
|
|
253
|
+
* Wrapper class for a `std::function<void(const std::string& / * playlistId * /, const Playlist& / * playlist * /, std::optional<QueueOperation> / * operation * /)>`, this can be used from Swift.
|
|
254
|
+
*/
|
|
255
|
+
class Func_void_std__string_Playlist_std__optional_QueueOperation__Wrapper final {
|
|
256
|
+
public:
|
|
257
|
+
explicit Func_void_std__string_Playlist_std__optional_QueueOperation__Wrapper(std::function<void(const std::string& /* playlistId */, const Playlist& /* playlist */, std::optional<QueueOperation> /* operation */)>&& func): _function(std::make_unique<std::function<void(const std::string& /* playlistId */, const Playlist& /* playlist */, std::optional<QueueOperation> /* operation */)>>(std::move(func))) {}
|
|
258
|
+
inline void call(std::string playlistId, Playlist playlist, std::optional<QueueOperation> operation) const noexcept {
|
|
259
|
+
_function->operator()(playlistId, playlist, operation);
|
|
260
|
+
}
|
|
261
|
+
private:
|
|
262
|
+
std::unique_ptr<std::function<void(const std::string& /* playlistId */, const Playlist& /* playlist */, std::optional<QueueOperation> /* operation */)>> _function;
|
|
263
|
+
} SWIFT_NONCOPYABLE;
|
|
264
|
+
Func_void_std__string_Playlist_std__optional_QueueOperation_ create_Func_void_std__string_Playlist_std__optional_QueueOperation_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
265
|
+
inline Func_void_std__string_Playlist_std__optional_QueueOperation__Wrapper wrap_Func_void_std__string_Playlist_std__optional_QueueOperation_(Func_void_std__string_Playlist_std__optional_QueueOperation_ value) noexcept {
|
|
266
|
+
return Func_void_std__string_Playlist_std__optional_QueueOperation__Wrapper(std::move(value));
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// pragma MARK: std::shared_ptr<HybridPlayerQueueSpec>
|
|
270
|
+
/**
|
|
271
|
+
* Specialized version of `std::shared_ptr<HybridPlayerQueueSpec>`.
|
|
272
|
+
*/
|
|
273
|
+
using std__shared_ptr_HybridPlayerQueueSpec_ = std::shared_ptr<HybridPlayerQueueSpec>;
|
|
274
|
+
std::shared_ptr<HybridPlayerQueueSpec> create_std__shared_ptr_HybridPlayerQueueSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
|
|
275
|
+
void* NON_NULL get_std__shared_ptr_HybridPlayerQueueSpec_(std__shared_ptr_HybridPlayerQueueSpec_ cppType);
|
|
276
|
+
|
|
277
|
+
// pragma MARK: std::weak_ptr<HybridPlayerQueueSpec>
|
|
278
|
+
using std__weak_ptr_HybridPlayerQueueSpec_ = std::weak_ptr<HybridPlayerQueueSpec>;
|
|
279
|
+
inline std__weak_ptr_HybridPlayerQueueSpec_ weakify_std__shared_ptr_HybridPlayerQueueSpec_(const std::shared_ptr<HybridPlayerQueueSpec>& strong) noexcept { return strong; }
|
|
280
|
+
|
|
281
|
+
// pragma MARK: Result<std::string>
|
|
282
|
+
using Result_std__string_ = Result<std::string>;
|
|
283
|
+
inline Result_std__string_ create_Result_std__string_(const std::string& value) noexcept {
|
|
284
|
+
return Result<std::string>::withValue(value);
|
|
285
|
+
}
|
|
286
|
+
inline Result_std__string_ create_Result_std__string_(const std::exception_ptr& error) noexcept {
|
|
287
|
+
return Result<std::string>::withError(error);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// pragma MARK: Result<std::variant<nitro::NullType, Playlist>>
|
|
291
|
+
using Result_std__variant_nitro__NullType__Playlist__ = Result<std::variant<nitro::NullType, Playlist>>;
|
|
292
|
+
inline Result_std__variant_nitro__NullType__Playlist__ create_Result_std__variant_nitro__NullType__Playlist__(const std::variant<nitro::NullType, Playlist>& value) noexcept {
|
|
293
|
+
return Result<std::variant<nitro::NullType, Playlist>>::withValue(value);
|
|
294
|
+
}
|
|
295
|
+
inline Result_std__variant_nitro__NullType__Playlist__ create_Result_std__variant_nitro__NullType__Playlist__(const std::exception_ptr& error) noexcept {
|
|
296
|
+
return Result<std::variant<nitro::NullType, Playlist>>::withError(error);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// pragma MARK: Result<std::vector<Playlist>>
|
|
300
|
+
using Result_std__vector_Playlist__ = Result<std::vector<Playlist>>;
|
|
301
|
+
inline Result_std__vector_Playlist__ create_Result_std__vector_Playlist__(const std::vector<Playlist>& value) noexcept {
|
|
302
|
+
return Result<std::vector<Playlist>>::withValue(value);
|
|
303
|
+
}
|
|
304
|
+
inline Result_std__vector_Playlist__ create_Result_std__vector_Playlist__(const std::exception_ptr& error) noexcept {
|
|
305
|
+
return Result<std::vector<Playlist>>::withError(error);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
// pragma MARK: Result<std::variant<nitro::NullType, std::string>>
|
|
309
|
+
using Result_std__variant_nitro__NullType__std__string__ = Result<std::variant<nitro::NullType, std::string>>;
|
|
310
|
+
inline Result_std__variant_nitro__NullType__std__string__ create_Result_std__variant_nitro__NullType__std__string__(const std::variant<nitro::NullType, std::string>& value) noexcept {
|
|
311
|
+
return Result<std::variant<nitro::NullType, std::string>>::withValue(value);
|
|
312
|
+
}
|
|
313
|
+
inline Result_std__variant_nitro__NullType__std__string__ create_Result_std__variant_nitro__NullType__std__string__(const std::exception_ptr& error) noexcept {
|
|
314
|
+
return Result<std::variant<nitro::NullType, std::string>>::withError(error);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// pragma MARK: std::variant<nitro::NullType, TrackItem>
|
|
318
|
+
/**
|
|
319
|
+
* Wrapper struct for `std::variant<nitro::NullType, TrackItem>`.
|
|
320
|
+
* std::variant cannot be used in Swift because of a Swift bug.
|
|
321
|
+
* Not even specializing it works. So we create a wrapper struct.
|
|
322
|
+
*/
|
|
323
|
+
struct std__variant_nitro__NullType__TrackItem_ {
|
|
324
|
+
std::variant<nitro::NullType, TrackItem> variant;
|
|
325
|
+
std__variant_nitro__NullType__TrackItem_(std::variant<nitro::NullType, TrackItem> variant): variant(variant) { }
|
|
326
|
+
operator std::variant<nitro::NullType, TrackItem>() const noexcept {
|
|
327
|
+
return variant;
|
|
328
|
+
}
|
|
329
|
+
inline size_t index() const noexcept {
|
|
330
|
+
return variant.index();
|
|
331
|
+
}
|
|
332
|
+
inline nitro::NullType get_0() const noexcept {
|
|
333
|
+
return std::get<0>(variant);
|
|
334
|
+
}
|
|
335
|
+
inline TrackItem get_1() const noexcept {
|
|
336
|
+
return std::get<1>(variant);
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
inline std__variant_nitro__NullType__TrackItem_ create_std__variant_nitro__NullType__TrackItem_(nitro::NullType value) noexcept {
|
|
340
|
+
return std__variant_nitro__NullType__TrackItem_(value);
|
|
341
|
+
}
|
|
342
|
+
inline std__variant_nitro__NullType__TrackItem_ create_std__variant_nitro__NullType__TrackItem_(const TrackItem& value) noexcept {
|
|
343
|
+
return std__variant_nitro__NullType__TrackItem_(value);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// pragma MARK: std::optional<std::variant<nitro::NullType, TrackItem>>
|
|
347
|
+
/**
|
|
348
|
+
* Specialized version of `std::optional<std::variant<nitro::NullType, TrackItem>>`.
|
|
349
|
+
*/
|
|
350
|
+
using std__optional_std__variant_nitro__NullType__TrackItem__ = std::optional<std::variant<nitro::NullType, TrackItem>>;
|
|
351
|
+
inline std::optional<std::variant<nitro::NullType, TrackItem>> create_std__optional_std__variant_nitro__NullType__TrackItem__(const std::variant<nitro::NullType, TrackItem>& value) noexcept {
|
|
352
|
+
return std::optional<std::variant<nitro::NullType, TrackItem>>(value);
|
|
353
|
+
}
|
|
354
|
+
inline bool has_value_std__optional_std__variant_nitro__NullType__TrackItem__(const std::optional<std::variant<nitro::NullType, TrackItem>>& optional) noexcept {
|
|
355
|
+
return optional.has_value();
|
|
356
|
+
}
|
|
357
|
+
inline std::variant<nitro::NullType, TrackItem> get_std__optional_std__variant_nitro__NullType__TrackItem__(const std::optional<std::variant<nitro::NullType, TrackItem>>& optional) noexcept {
|
|
358
|
+
return *optional;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
// pragma MARK: std::optional<bool>
|
|
362
|
+
/**
|
|
363
|
+
* Specialized version of `std::optional<bool>`.
|
|
364
|
+
*/
|
|
365
|
+
using std__optional_bool_ = std::optional<bool>;
|
|
366
|
+
inline std::optional<bool> create_std__optional_bool_(const bool& value) noexcept {
|
|
367
|
+
return std::optional<bool>(value);
|
|
368
|
+
}
|
|
369
|
+
inline bool has_value_std__optional_bool_(const std::optional<bool>& optional) noexcept {
|
|
370
|
+
return optional.has_value();
|
|
371
|
+
}
|
|
372
|
+
inline bool get_std__optional_bool_(const std::optional<bool>& optional) noexcept {
|
|
373
|
+
return *optional;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// pragma MARK: std::optional<Reason>
|
|
377
|
+
/**
|
|
378
|
+
* Specialized version of `std::optional<Reason>`.
|
|
379
|
+
*/
|
|
380
|
+
using std__optional_Reason_ = std::optional<Reason>;
|
|
381
|
+
inline std::optional<Reason> create_std__optional_Reason_(const Reason& value) noexcept {
|
|
382
|
+
return std::optional<Reason>(value);
|
|
383
|
+
}
|
|
384
|
+
inline bool has_value_std__optional_Reason_(const std::optional<Reason>& optional) noexcept {
|
|
385
|
+
return optional.has_value();
|
|
386
|
+
}
|
|
387
|
+
inline Reason get_std__optional_Reason_(const std::optional<Reason>& optional) noexcept {
|
|
388
|
+
return *optional;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
// pragma MARK: std::function<void(const TrackItem& /* track */, std::optional<Reason> /* reason */)>
|
|
392
|
+
/**
|
|
393
|
+
* Specialized version of `std::function<void(const TrackItem&, std::optional<Reason>)>`.
|
|
394
|
+
*/
|
|
395
|
+
using Func_void_TrackItem_std__optional_Reason_ = std::function<void(const TrackItem& /* track */, std::optional<Reason> /* reason */)>;
|
|
396
|
+
/**
|
|
397
|
+
* Wrapper class for a `std::function<void(const TrackItem& / * track * /, std::optional<Reason> / * reason * /)>`, this can be used from Swift.
|
|
398
|
+
*/
|
|
399
|
+
class Func_void_TrackItem_std__optional_Reason__Wrapper final {
|
|
400
|
+
public:
|
|
401
|
+
explicit Func_void_TrackItem_std__optional_Reason__Wrapper(std::function<void(const TrackItem& /* track */, std::optional<Reason> /* reason */)>&& func): _function(std::make_unique<std::function<void(const TrackItem& /* track */, std::optional<Reason> /* reason */)>>(std::move(func))) {}
|
|
402
|
+
inline void call(TrackItem track, std::optional<Reason> reason) const noexcept {
|
|
403
|
+
_function->operator()(track, reason);
|
|
404
|
+
}
|
|
405
|
+
private:
|
|
406
|
+
std::unique_ptr<std::function<void(const TrackItem& /* track */, std::optional<Reason> /* reason */)>> _function;
|
|
407
|
+
} SWIFT_NONCOPYABLE;
|
|
408
|
+
Func_void_TrackItem_std__optional_Reason_ create_Func_void_TrackItem_std__optional_Reason_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
409
|
+
inline Func_void_TrackItem_std__optional_Reason__Wrapper wrap_Func_void_TrackItem_std__optional_Reason_(Func_void_TrackItem_std__optional_Reason_ value) noexcept {
|
|
410
|
+
return Func_void_TrackItem_std__optional_Reason__Wrapper(std::move(value));
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
// pragma MARK: std::function<void(TrackPlayerState /* state */, std::optional<Reason> /* reason */)>
|
|
414
|
+
/**
|
|
415
|
+
* Specialized version of `std::function<void(TrackPlayerState, std::optional<Reason>)>`.
|
|
416
|
+
*/
|
|
417
|
+
using Func_void_TrackPlayerState_std__optional_Reason_ = std::function<void(TrackPlayerState /* state */, std::optional<Reason> /* reason */)>;
|
|
418
|
+
/**
|
|
419
|
+
* Wrapper class for a `std::function<void(TrackPlayerState / * state * /, std::optional<Reason> / * reason * /)>`, this can be used from Swift.
|
|
420
|
+
*/
|
|
421
|
+
class Func_void_TrackPlayerState_std__optional_Reason__Wrapper final {
|
|
422
|
+
public:
|
|
423
|
+
explicit Func_void_TrackPlayerState_std__optional_Reason__Wrapper(std::function<void(TrackPlayerState /* state */, std::optional<Reason> /* reason */)>&& func): _function(std::make_unique<std::function<void(TrackPlayerState /* state */, std::optional<Reason> /* reason */)>>(std::move(func))) {}
|
|
424
|
+
inline void call(int state, std::optional<Reason> reason) const noexcept {
|
|
425
|
+
_function->operator()(static_cast<TrackPlayerState>(state), reason);
|
|
426
|
+
}
|
|
427
|
+
private:
|
|
428
|
+
std::unique_ptr<std::function<void(TrackPlayerState /* state */, std::optional<Reason> /* reason */)>> _function;
|
|
429
|
+
} SWIFT_NONCOPYABLE;
|
|
430
|
+
Func_void_TrackPlayerState_std__optional_Reason_ create_Func_void_TrackPlayerState_std__optional_Reason_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
431
|
+
inline Func_void_TrackPlayerState_std__optional_Reason__Wrapper wrap_Func_void_TrackPlayerState_std__optional_Reason_(Func_void_TrackPlayerState_std__optional_Reason_ value) noexcept {
|
|
432
|
+
return Func_void_TrackPlayerState_std__optional_Reason__Wrapper(std::move(value));
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
// pragma MARK: std::function<void(double /* position */, double /* totalDuration */)>
|
|
436
|
+
/**
|
|
437
|
+
* Specialized version of `std::function<void(double, double)>`.
|
|
438
|
+
*/
|
|
439
|
+
using Func_void_double_double = std::function<void(double /* position */, double /* totalDuration */)>;
|
|
440
|
+
/**
|
|
441
|
+
* Wrapper class for a `std::function<void(double / * position * /, double / * totalDuration * /)>`, this can be used from Swift.
|
|
442
|
+
*/
|
|
443
|
+
class Func_void_double_double_Wrapper final {
|
|
444
|
+
public:
|
|
445
|
+
explicit Func_void_double_double_Wrapper(std::function<void(double /* position */, double /* totalDuration */)>&& func): _function(std::make_unique<std::function<void(double /* position */, double /* totalDuration */)>>(std::move(func))) {}
|
|
446
|
+
inline void call(double position, double totalDuration) const noexcept {
|
|
447
|
+
_function->operator()(position, totalDuration);
|
|
448
|
+
}
|
|
449
|
+
private:
|
|
450
|
+
std::unique_ptr<std::function<void(double /* position */, double /* totalDuration */)>> _function;
|
|
451
|
+
} SWIFT_NONCOPYABLE;
|
|
452
|
+
Func_void_double_double create_Func_void_double_double(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
453
|
+
inline Func_void_double_double_Wrapper wrap_Func_void_double_double(Func_void_double_double value) noexcept {
|
|
454
|
+
return Func_void_double_double_Wrapper(std::move(value));
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
// pragma MARK: std::function<void(double /* position */, double /* totalDuration */, std::optional<bool> /* isManuallySeeked */)>
|
|
458
|
+
/**
|
|
459
|
+
* Specialized version of `std::function<void(double, double, std::optional<bool>)>`.
|
|
460
|
+
*/
|
|
461
|
+
using Func_void_double_double_std__optional_bool_ = std::function<void(double /* position */, double /* totalDuration */, std::optional<bool> /* isManuallySeeked */)>;
|
|
462
|
+
/**
|
|
463
|
+
* Wrapper class for a `std::function<void(double / * position * /, double / * totalDuration * /, std::optional<bool> / * isManuallySeeked * /)>`, this can be used from Swift.
|
|
464
|
+
*/
|
|
465
|
+
class Func_void_double_double_std__optional_bool__Wrapper final {
|
|
466
|
+
public:
|
|
467
|
+
explicit Func_void_double_double_std__optional_bool__Wrapper(std::function<void(double /* position */, double /* totalDuration */, std::optional<bool> /* isManuallySeeked */)>&& func): _function(std::make_unique<std::function<void(double /* position */, double /* totalDuration */, std::optional<bool> /* isManuallySeeked */)>>(std::move(func))) {}
|
|
468
|
+
inline void call(double position, double totalDuration, std::optional<bool> isManuallySeeked) const noexcept {
|
|
469
|
+
_function->operator()(position, totalDuration, isManuallySeeked);
|
|
470
|
+
}
|
|
471
|
+
private:
|
|
472
|
+
std::unique_ptr<std::function<void(double /* position */, double /* totalDuration */, std::optional<bool> /* isManuallySeeked */)>> _function;
|
|
473
|
+
} SWIFT_NONCOPYABLE;
|
|
474
|
+
Func_void_double_double_std__optional_bool_ create_Func_void_double_double_std__optional_bool_(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
475
|
+
inline Func_void_double_double_std__optional_bool__Wrapper wrap_Func_void_double_double_std__optional_bool_(Func_void_double_double_std__optional_bool_ value) noexcept {
|
|
476
|
+
return Func_void_double_double_std__optional_bool__Wrapper(std::move(value));
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
// pragma MARK: std::function<void(bool /* connected */)>
|
|
480
|
+
/**
|
|
481
|
+
* Specialized version of `std::function<void(bool)>`.
|
|
482
|
+
*/
|
|
483
|
+
using Func_void_bool = std::function<void(bool /* connected */)>;
|
|
484
|
+
/**
|
|
485
|
+
* Wrapper class for a `std::function<void(bool / * connected * /)>`, this can be used from Swift.
|
|
486
|
+
*/
|
|
487
|
+
class Func_void_bool_Wrapper final {
|
|
488
|
+
public:
|
|
489
|
+
explicit Func_void_bool_Wrapper(std::function<void(bool /* connected */)>&& func): _function(std::make_unique<std::function<void(bool /* connected */)>>(std::move(func))) {}
|
|
490
|
+
inline void call(bool connected) const noexcept {
|
|
491
|
+
_function->operator()(connected);
|
|
492
|
+
}
|
|
493
|
+
private:
|
|
494
|
+
std::unique_ptr<std::function<void(bool /* connected */)>> _function;
|
|
495
|
+
} SWIFT_NONCOPYABLE;
|
|
496
|
+
Func_void_bool create_Func_void_bool(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
497
|
+
inline Func_void_bool_Wrapper wrap_Func_void_bool(Func_void_bool value) noexcept {
|
|
498
|
+
return Func_void_bool_Wrapper(std::move(value));
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
// pragma MARK: std::shared_ptr<HybridTrackPlayerSpec>
|
|
502
|
+
/**
|
|
503
|
+
* Specialized version of `std::shared_ptr<HybridTrackPlayerSpec>`.
|
|
504
|
+
*/
|
|
505
|
+
using std__shared_ptr_HybridTrackPlayerSpec_ = std::shared_ptr<HybridTrackPlayerSpec>;
|
|
506
|
+
std::shared_ptr<HybridTrackPlayerSpec> create_std__shared_ptr_HybridTrackPlayerSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
|
|
507
|
+
void* NON_NULL get_std__shared_ptr_HybridTrackPlayerSpec_(std__shared_ptr_HybridTrackPlayerSpec_ cppType);
|
|
508
|
+
|
|
509
|
+
// pragma MARK: std::weak_ptr<HybridTrackPlayerSpec>
|
|
510
|
+
using std__weak_ptr_HybridTrackPlayerSpec_ = std::weak_ptr<HybridTrackPlayerSpec>;
|
|
511
|
+
inline std__weak_ptr_HybridTrackPlayerSpec_ weakify_std__shared_ptr_HybridTrackPlayerSpec_(const std::shared_ptr<HybridTrackPlayerSpec>& strong) noexcept { return strong; }
|
|
512
|
+
|
|
513
|
+
// pragma MARK: Result<PlayerState>
|
|
514
|
+
using Result_PlayerState_ = Result<PlayerState>;
|
|
515
|
+
inline Result_PlayerState_ create_Result_PlayerState_(const PlayerState& value) noexcept {
|
|
516
|
+
return Result<PlayerState>::withValue(value);
|
|
517
|
+
}
|
|
518
|
+
inline Result_PlayerState_ create_Result_PlayerState_(const std::exception_ptr& error) noexcept {
|
|
519
|
+
return Result<PlayerState>::withError(error);
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// pragma MARK: Result<bool>
|
|
523
|
+
using Result_bool_ = Result<bool>;
|
|
524
|
+
inline Result_bool_ create_Result_bool_(bool value) noexcept {
|
|
525
|
+
return Result<bool>::withValue(std::move(value));
|
|
526
|
+
}
|
|
527
|
+
inline Result_bool_ create_Result_bool_(const std::exception_ptr& error) noexcept {
|
|
528
|
+
return Result<bool>::withError(error);
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
} // namespace margelo::nitro::nitroplayer::bridge::swift
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroPlayer-Swift-Cxx-Umbrella.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
|
+
// Forward declarations of C++ defined types
|
|
11
|
+
// Forward declaration of `HybridAudioRoutePickerSpec` to properly resolve imports.
|
|
12
|
+
namespace margelo::nitro::nitroplayer { class HybridAudioRoutePickerSpec; }
|
|
13
|
+
// Forward declaration of `HybridPlayerQueueSpec` to properly resolve imports.
|
|
14
|
+
namespace margelo::nitro::nitroplayer { class HybridPlayerQueueSpec; }
|
|
15
|
+
// Forward declaration of `HybridTrackPlayerSpec` to properly resolve imports.
|
|
16
|
+
namespace margelo::nitro::nitroplayer { class HybridTrackPlayerSpec; }
|
|
17
|
+
// Forward declaration of `PlayerConfig` to properly resolve imports.
|
|
18
|
+
namespace margelo::nitro::nitroplayer { struct PlayerConfig; }
|
|
19
|
+
// Forward declaration of `PlayerState` to properly resolve imports.
|
|
20
|
+
namespace margelo::nitro::nitroplayer { struct PlayerState; }
|
|
21
|
+
// Forward declaration of `Playlist` to properly resolve imports.
|
|
22
|
+
namespace margelo::nitro::nitroplayer { struct Playlist; }
|
|
23
|
+
// Forward declaration of `QueueOperation` to properly resolve imports.
|
|
24
|
+
namespace margelo::nitro::nitroplayer { enum class QueueOperation; }
|
|
25
|
+
// Forward declaration of `Reason` to properly resolve imports.
|
|
26
|
+
namespace margelo::nitro::nitroplayer { enum class Reason; }
|
|
27
|
+
// Forward declaration of `TrackItem` to properly resolve imports.
|
|
28
|
+
namespace margelo::nitro::nitroplayer { struct TrackItem; }
|
|
29
|
+
// Forward declaration of `TrackPlayerState` to properly resolve imports.
|
|
30
|
+
namespace margelo::nitro::nitroplayer { enum class TrackPlayerState; }
|
|
31
|
+
|
|
32
|
+
// Include C++ defined types
|
|
33
|
+
#include "HybridAudioRoutePickerSpec.hpp"
|
|
34
|
+
#include "HybridPlayerQueueSpec.hpp"
|
|
35
|
+
#include "HybridTrackPlayerSpec.hpp"
|
|
36
|
+
#include "PlayerConfig.hpp"
|
|
37
|
+
#include "PlayerState.hpp"
|
|
38
|
+
#include "Playlist.hpp"
|
|
39
|
+
#include "QueueOperation.hpp"
|
|
40
|
+
#include "Reason.hpp"
|
|
41
|
+
#include "TrackItem.hpp"
|
|
42
|
+
#include "TrackPlayerState.hpp"
|
|
43
|
+
#include <NitroModules/Null.hpp>
|
|
44
|
+
#include <NitroModules/Result.hpp>
|
|
45
|
+
#include <exception>
|
|
46
|
+
#include <functional>
|
|
47
|
+
#include <memory>
|
|
48
|
+
#include <optional>
|
|
49
|
+
#include <string>
|
|
50
|
+
#include <variant>
|
|
51
|
+
#include <vector>
|
|
52
|
+
|
|
53
|
+
// C++ helpers for Swift
|
|
54
|
+
#include "NitroPlayer-Swift-Cxx-Bridge.hpp"
|
|
55
|
+
|
|
56
|
+
// Common C++ types used in Swift
|
|
57
|
+
#include <NitroModules/ArrayBufferHolder.hpp>
|
|
58
|
+
#include <NitroModules/AnyMapUtils.hpp>
|
|
59
|
+
#include <NitroModules/RuntimeError.hpp>
|
|
60
|
+
#include <NitroModules/DateToChronoDate.hpp>
|
|
61
|
+
|
|
62
|
+
// Forward declarations of Swift defined types
|
|
63
|
+
// Forward declaration of `HybridAudioRoutePickerSpec_cxx` to properly resolve imports.
|
|
64
|
+
namespace NitroPlayer { class HybridAudioRoutePickerSpec_cxx; }
|
|
65
|
+
// Forward declaration of `HybridPlayerQueueSpec_cxx` to properly resolve imports.
|
|
66
|
+
namespace NitroPlayer { class HybridPlayerQueueSpec_cxx; }
|
|
67
|
+
// Forward declaration of `HybridTrackPlayerSpec_cxx` to properly resolve imports.
|
|
68
|
+
namespace NitroPlayer { class HybridTrackPlayerSpec_cxx; }
|
|
69
|
+
|
|
70
|
+
// Include Swift defined types
|
|
71
|
+
#if __has_include("NitroPlayer-Swift.h")
|
|
72
|
+
// This header is generated by Xcode/Swift on every app build.
|
|
73
|
+
// If it cannot be found, make sure the Swift module's name (= podspec name) is actually "NitroPlayer".
|
|
74
|
+
#include "NitroPlayer-Swift.h"
|
|
75
|
+
// Same as above, but used when building with frameworks (`use_frameworks`)
|
|
76
|
+
#elif __has_include(<NitroPlayer/NitroPlayer-Swift.h>)
|
|
77
|
+
#include <NitroPlayer/NitroPlayer-Swift.h>
|
|
78
|
+
#else
|
|
79
|
+
#error NitroPlayer's autogenerated Swift header cannot be found! Make sure the Swift module's name (= podspec name) is actually "NitroPlayer", and try building the app first.
|
|
80
|
+
#endif
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// NitroPlayerAutolinking.mm
|
|
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/Foundation.h>
|
|
9
|
+
#import <NitroModules/HybridObjectRegistry.hpp>
|
|
10
|
+
#import "NitroPlayer-Swift-Cxx-Umbrella.hpp"
|
|
11
|
+
#import <type_traits>
|
|
12
|
+
|
|
13
|
+
#include "HybridPlayerQueueSpecSwift.hpp"
|
|
14
|
+
#include "HybridTrackPlayerSpecSwift.hpp"
|
|
15
|
+
#include "HybridAudioRoutePickerSpecSwift.hpp"
|
|
16
|
+
|
|
17
|
+
@interface NitroPlayerAutolinking : NSObject
|
|
18
|
+
@end
|
|
19
|
+
|
|
20
|
+
@implementation NitroPlayerAutolinking
|
|
21
|
+
|
|
22
|
+
+ (void) load {
|
|
23
|
+
using namespace margelo::nitro;
|
|
24
|
+
using namespace margelo::nitro::nitroplayer;
|
|
25
|
+
|
|
26
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
27
|
+
"PlayerQueue",
|
|
28
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
29
|
+
std::shared_ptr<HybridPlayerQueueSpec> hybridObject = NitroPlayer::NitroPlayerAutolinking::createPlayerQueue();
|
|
30
|
+
return hybridObject;
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
34
|
+
"TrackPlayer",
|
|
35
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
36
|
+
std::shared_ptr<HybridTrackPlayerSpec> hybridObject = NitroPlayer::NitroPlayerAutolinking::createTrackPlayer();
|
|
37
|
+
return hybridObject;
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
41
|
+
"AudioRoutePicker",
|
|
42
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
43
|
+
std::shared_ptr<HybridAudioRoutePickerSpec> hybridObject = NitroPlayer::NitroPlayerAutolinking::createAudioRoutePicker();
|
|
44
|
+
return hybridObject;
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@end
|