/// /// JHybridOmniPlayerSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// #include "JHybridOmniPlayerSpec.hpp" // Forward declaration of `PlayerStatus` to properly resolve imports. namespace margelo::nitro::omni { enum class PlayerStatus; } // Forward declaration of `Track` to properly resolve imports. namespace margelo::nitro::omni { struct Track; } // Forward declaration of `Rendition` to properly resolve imports. namespace margelo::nitro::omni { struct Rendition; } #include "PlayerStatus.hpp" #include "JPlayerStatus.hpp" #include "Track.hpp" #include #include "JTrack.hpp" #include #include #include "Rendition.hpp" #include "JRendition.hpp" #include #include #include "JVariant_NullType_Rendition.hpp" #include namespace margelo::nitro::omni { std::shared_ptr JHybridOmniPlayerSpec::JavaPart::getJHybridOmniPlayerSpec() { auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); auto castHybridObject = std::dynamic_pointer_cast(hybridObject); if (castHybridObject == nullptr) [[unlikely]] { throw std::runtime_error("Failed to downcast JHybridObject to JHybridOmniPlayerSpec!"); } return castHybridObject; } jni::local_ref JHybridOmniPlayerSpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } std::shared_ptr JHybridOmniPlayerSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { auto castJavaPart = jni::dynamic_ref_cast(javaPart); if (castJavaPart == nullptr) [[unlikely]] { throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridOmniPlayerSpec::JavaPart!"); } return std::make_shared(castJavaPart); } void JHybridOmniPlayerSpec::CxxPart::registerNatives() { registerHybrid({ makeNativeMethod("initHybrid", JHybridOmniPlayerSpec::CxxPart::initHybrid), }); } // Properties bool JHybridOmniPlayerSpec::getHasPrev() { static const auto method = _javaPart->javaClassStatic()->getMethod("getHasPrev"); auto __result = method(_javaPart); return static_cast(__result); } bool JHybridOmniPlayerSpec::getHasNext() { static const auto method = _javaPart->javaClassStatic()->getMethod("getHasNext"); auto __result = method(_javaPart); return static_cast(__result); } PlayerStatus JHybridOmniPlayerSpec::getStatus() { static const auto method = _javaPart->javaClassStatic()->getMethod()>("getStatus"); auto __result = method(_javaPart); return __result->toCpp(); } bool JHybridOmniPlayerSpec::getIsPlaying() { static const auto method = _javaPart->javaClassStatic()->getMethod("isPlaying"); auto __result = method(_javaPart); return static_cast(__result); } double JHybridOmniPlayerSpec::getCurrentTime() { static const auto method = _javaPart->javaClassStatic()->getMethod("getCurrentTime"); auto __result = method(_javaPart); return __result; } void JHybridOmniPlayerSpec::setCurrentTime(double currentTime) { static const auto method = _javaPart->javaClassStatic()->getMethod("setCurrentTime"); method(_javaPart, currentTime); } double JHybridOmniPlayerSpec::getBuffered() { static const auto method = _javaPart->javaClassStatic()->getMethod("getBuffered"); auto __result = method(_javaPart); return __result; } double JHybridOmniPlayerSpec::getDuration() { static const auto method = _javaPart->javaClassStatic()->getMethod("getDuration"); auto __result = method(_javaPart); return __result; } double JHybridOmniPlayerSpec::getPlaybackRate() { static const auto method = _javaPart->javaClassStatic()->getMethod("getPlaybackRate"); auto __result = method(_javaPart); return __result; } void JHybridOmniPlayerSpec::setPlaybackRate(double playbackRate) { static const auto method = _javaPart->javaClassStatic()->getMethod("setPlaybackRate"); method(_javaPart, playbackRate); } double JHybridOmniPlayerSpec::getVolume() { static const auto method = _javaPart->javaClassStatic()->getMethod("getVolume"); auto __result = method(_javaPart); return __result; } void JHybridOmniPlayerSpec::setVolume(double volume) { static const auto method = _javaPart->javaClassStatic()->getMethod("setVolume"); method(_javaPart, volume); } std::vector JHybridOmniPlayerSpec::getVideos() { static const auto method = _javaPart->javaClassStatic()->getMethod>()>("getVideos"); 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; }(); } std::vector JHybridOmniPlayerSpec::getAudios() { static const auto method = _javaPart->javaClassStatic()->getMethod>()>("getAudios"); 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; }(); } std::vector JHybridOmniPlayerSpec::getSubtitles() { static const auto method = _javaPart->javaClassStatic()->getMethod>()>("getSubtitles"); 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; }(); } std::vector JHybridOmniPlayerSpec::getRendition() { static const auto method = _javaPart->javaClassStatic()->getMethod>()>("getRendition"); 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; }(); } // Methods void JHybridOmniPlayerSpec::play() { static const auto method = _javaPart->javaClassStatic()->getMethod("play"); method(_javaPart); } void JHybridOmniPlayerSpec::pause() { static const auto method = _javaPart->javaClassStatic()->getMethod("pause"); method(_javaPart); } void JHybridOmniPlayerSpec::seekBy(double offset) { static const auto method = _javaPart->javaClassStatic()->getMethod("seekBy"); method(_javaPart, offset); } void JHybridOmniPlayerSpec::playPrev() { static const auto method = _javaPart->javaClassStatic()->getMethod("playPrev"); method(_javaPart); } void JHybridOmniPlayerSpec::playNext() { static const auto method = _javaPart->javaClassStatic()->getMethod("playNext"); method(_javaPart); } void JHybridOmniPlayerSpec::selectVideo(const Track& video) { static const auto method = _javaPart->javaClassStatic()->getMethod /* video */)>("selectVideo"); method(_javaPart, JTrack::fromCpp(video)); } void JHybridOmniPlayerSpec::selectAudio(const Track& audio) { static const auto method = _javaPart->javaClassStatic()->getMethod /* audio */)>("selectAudio"); method(_javaPart, JTrack::fromCpp(audio)); } void JHybridOmniPlayerSpec::selectSubtitle(const Track& subtitle) { static const auto method = _javaPart->javaClassStatic()->getMethod /* subtitle */)>("selectSubtitle"); method(_javaPart, JTrack::fromCpp(subtitle)); } void JHybridOmniPlayerSpec::selectRendition(const std::optional>& rendition) { static const auto method = _javaPart->javaClassStatic()->getMethod /* rendition */)>("selectRendition"); method(_javaPart, rendition.has_value() ? JVariant_NullType_Rendition::fromCpp(rendition.value()) : nullptr); } } // namespace margelo::nitro::omni