/// /// JHybridVideoPlayerSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © 2025 Marc Rousavy @ Margelo /// #include "JHybridVideoPlayerSpec.hpp" // Forward declaration of `HybridVideoPlayerSourceSpec` to properly resolve imports. namespace margelo::nitro::video { class HybridVideoPlayerSourceSpec; } // Forward declaration of `HybridVideoPlayerEventEmitterSpec` to properly resolve imports. namespace margelo::nitro::video { class HybridVideoPlayerEventEmitterSpec; } // Forward declaration of `VideoPlayerStatus` to properly resolve imports. namespace margelo::nitro::video { enum class VideoPlayerStatus; } // Forward declaration of `MixAudioMode` to properly resolve imports. namespace margelo::nitro::video { enum class MixAudioMode; } // Forward declaration of `IgnoreSilentSwitchMode` to properly resolve imports. namespace margelo::nitro::video { enum class IgnoreSilentSwitchMode; } // Forward declaration of `TextTrack` to properly resolve imports. namespace margelo::nitro::video { struct TextTrack; } #include #include "HybridVideoPlayerSourceSpec.hpp" #include "JHybridVideoPlayerSourceSpec.hpp" #include "HybridVideoPlayerEventEmitterSpec.hpp" #include "JHybridVideoPlayerEventEmitterSpec.hpp" #include "VideoPlayerStatus.hpp" #include "JVideoPlayerStatus.hpp" #include "MixAudioMode.hpp" #include "JMixAudioMode.hpp" #include "IgnoreSilentSwitchMode.hpp" #include "JIgnoreSilentSwitchMode.hpp" #include "TextTrack.hpp" #include #include "JTextTrack.hpp" #include #include #include #include namespace margelo::nitro::video { jni::local_ref JHybridVideoPlayerSpec::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } void JHybridVideoPlayerSpec::registerNatives() { registerHybrid({ makeNativeMethod("initHybrid", JHybridVideoPlayerSpec::initHybrid), }); } size_t JHybridVideoPlayerSpec::getExternalMemorySize() noexcept { static const auto method = javaClassStatic()->getMethod("getMemorySize"); return method(_javaPart); } void JHybridVideoPlayerSpec::dispose() noexcept { static const auto method = javaClassStatic()->getMethod("dispose"); method(_javaPart); } // Properties std::shared_ptr JHybridVideoPlayerSpec::getSource() { static const auto method = javaClassStatic()->getMethod()>("getSource"); auto __result = method(_javaPart); return __result->cthis()->shared_cast(); } std::shared_ptr JHybridVideoPlayerSpec::getEventEmitter() { static const auto method = javaClassStatic()->getMethod()>("getEventEmitter"); auto __result = method(_javaPart); return __result->cthis()->shared_cast(); } bool JHybridVideoPlayerSpec::getShowNotificationControls() { static const auto method = javaClassStatic()->getMethod("getShowNotificationControls"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setShowNotificationControls(bool showNotificationControls) { static const auto method = javaClassStatic()->getMethod("setShowNotificationControls"); method(_javaPart, showNotificationControls); } VideoPlayerStatus JHybridVideoPlayerSpec::getStatus() { static const auto method = javaClassStatic()->getMethod()>("getStatus"); auto __result = method(_javaPart); return __result->toCpp(); } double JHybridVideoPlayerSpec::getDuration() { static const auto method = javaClassStatic()->getMethod("getDuration"); auto __result = method(_javaPart); return __result; } double JHybridVideoPlayerSpec::getVolume() { static const auto method = javaClassStatic()->getMethod("getVolume"); auto __result = method(_javaPart); return __result; } void JHybridVideoPlayerSpec::setVolume(double volume) { static const auto method = javaClassStatic()->getMethod("setVolume"); method(_javaPart, volume); } double JHybridVideoPlayerSpec::getCurrentTime() { static const auto method = javaClassStatic()->getMethod("getCurrentTime"); auto __result = method(_javaPart); return __result; } void JHybridVideoPlayerSpec::setCurrentTime(double currentTime) { static const auto method = javaClassStatic()->getMethod("setCurrentTime"); method(_javaPart, currentTime); } bool JHybridVideoPlayerSpec::getMuted() { static const auto method = javaClassStatic()->getMethod("getMuted"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setMuted(bool muted) { static const auto method = javaClassStatic()->getMethod("setMuted"); method(_javaPart, muted); } bool JHybridVideoPlayerSpec::getLoop() { static const auto method = javaClassStatic()->getMethod("getLoop"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setLoop(bool loop) { static const auto method = javaClassStatic()->getMethod("setLoop"); method(_javaPart, loop); } double JHybridVideoPlayerSpec::getRate() { static const auto method = javaClassStatic()->getMethod("getRate"); auto __result = method(_javaPart); return __result; } void JHybridVideoPlayerSpec::setRate(double rate) { static const auto method = javaClassStatic()->getMethod("setRate"); method(_javaPart, rate); } MixAudioMode JHybridVideoPlayerSpec::getMixAudioMode() { static const auto method = javaClassStatic()->getMethod()>("getMixAudioMode"); auto __result = method(_javaPart); return __result->toCpp(); } void JHybridVideoPlayerSpec::setMixAudioMode(MixAudioMode mixAudioMode) { static const auto method = javaClassStatic()->getMethod /* mixAudioMode */)>("setMixAudioMode"); method(_javaPart, JMixAudioMode::fromCpp(mixAudioMode)); } IgnoreSilentSwitchMode JHybridVideoPlayerSpec::getIgnoreSilentSwitchMode() { static const auto method = javaClassStatic()->getMethod()>("getIgnoreSilentSwitchMode"); auto __result = method(_javaPart); return __result->toCpp(); } void JHybridVideoPlayerSpec::setIgnoreSilentSwitchMode(IgnoreSilentSwitchMode ignoreSilentSwitchMode) { static const auto method = javaClassStatic()->getMethod /* ignoreSilentSwitchMode */)>("setIgnoreSilentSwitchMode"); method(_javaPart, JIgnoreSilentSwitchMode::fromCpp(ignoreSilentSwitchMode)); } bool JHybridVideoPlayerSpec::getPlayInBackground() { static const auto method = javaClassStatic()->getMethod("getPlayInBackground"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setPlayInBackground(bool playInBackground) { static const auto method = javaClassStatic()->getMethod("setPlayInBackground"); method(_javaPart, playInBackground); } bool JHybridVideoPlayerSpec::getPlayWhenInactive() { static const auto method = javaClassStatic()->getMethod("getPlayWhenInactive"); auto __result = method(_javaPart); return static_cast(__result); } void JHybridVideoPlayerSpec::setPlayWhenInactive(bool playWhenInactive) { static const auto method = javaClassStatic()->getMethod("setPlayWhenInactive"); method(_javaPart, playWhenInactive); } bool JHybridVideoPlayerSpec::getIsPlaying() { static const auto method = javaClassStatic()->getMethod("isPlaying"); auto __result = method(_javaPart); return static_cast(__result); } std::optional JHybridVideoPlayerSpec::getSelectedTrack() { static const auto method = javaClassStatic()->getMethod()>("getSelectedTrack"); auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt; } // Methods std::shared_ptr> JHybridVideoPlayerSpec::replaceSourceAsync(const std::optional>& source) { static const auto method = javaClassStatic()->getMethod(jni::alias_ref /* source */)>("replaceSourceAsync"); auto __result = method(_javaPart, source.has_value() ? std::dynamic_pointer_cast(source.value())->getJavaPart() : nullptr); return [&]() { auto __promise = Promise::create(); __result->cthis()->addOnResolvedListener([=](const jni::alias_ref& /* unit */) { __promise->resolve(); }); __result->cthis()->addOnRejectedListener([=](const jni::alias_ref& __throwable) { jni::JniException __jniError(__throwable); __promise->reject(std::make_exception_ptr(__jniError)); }); return __promise; }(); } std::vector JHybridVideoPlayerSpec::getAvailableTextTracks() { static const auto method = javaClassStatic()->getMethod>()>("getAvailableTextTracks"); auto __result = method(_javaPart); return [&]() { size_t __size = __result->size(); std::vector __vector; __vector.reserve(__size); for (size_t __i = 0; __i < __size; __i++) { auto __element = __result->getElement(__i); __vector.push_back(__element->toCpp()); } return __vector; }(); } void JHybridVideoPlayerSpec::selectTextTrack(const std::optional& textTrack) { static const auto method = javaClassStatic()->getMethod /* textTrack */)>("selectTextTrack"); method(_javaPart, textTrack.has_value() ? JTextTrack::fromCpp(textTrack.value()) : nullptr); } std::shared_ptr> JHybridVideoPlayerSpec::initialize() { static const auto method = javaClassStatic()->getMethod()>("initialize"); auto __result = method(_javaPart); return [&]() { auto __promise = Promise::create(); __result->cthis()->addOnResolvedListener([=](const jni::alias_ref& /* unit */) { __promise->resolve(); }); __result->cthis()->addOnRejectedListener([=](const jni::alias_ref& __throwable) { jni::JniException __jniError(__throwable); __promise->reject(std::make_exception_ptr(__jniError)); }); return __promise; }(); } std::shared_ptr> JHybridVideoPlayerSpec::preload() { static const auto method = javaClassStatic()->getMethod()>("preload"); auto __result = method(_javaPart); return [&]() { auto __promise = Promise::create(); __result->cthis()->addOnResolvedListener([=](const jni::alias_ref& /* unit */) { __promise->resolve(); }); __result->cthis()->addOnRejectedListener([=](const jni::alias_ref& __throwable) { jni::JniException __jniError(__throwable); __promise->reject(std::make_exception_ptr(__jniError)); }); return __promise; }(); } void JHybridVideoPlayerSpec::play() { static const auto method = javaClassStatic()->getMethod("play"); method(_javaPart); } void JHybridVideoPlayerSpec::pause() { static const auto method = javaClassStatic()->getMethod("pause"); method(_javaPart); } void JHybridVideoPlayerSpec::seekBy(double time) { static const auto method = javaClassStatic()->getMethod("seekBy"); method(_javaPart, time); } void JHybridVideoPlayerSpec::seekTo(double time) { static const auto method = javaClassStatic()->getMethod("seekTo"); method(_javaPart, time); } } // namespace margelo::nitro::video