/// /// JHybridOmniPlayerPropsSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// #include "JHybridOmniPlayerPropsSpec.hpp" // Forward declaration of `VideoSrc` to properly resolve imports. namespace margelo::nitro::omni { struct VideoSrc; } // Forward declaration of `Subtitle` to properly resolve imports. namespace margelo::nitro::omni { struct Subtitle; } // Forward declaration of `Metadata` to properly resolve imports. namespace margelo::nitro::omni { struct Metadata; } // Forward declaration of `MixAudioMode` to properly resolve imports. namespace margelo::nitro::omni { enum class MixAudioMode; } #include "VideoSrc.hpp" #include #include "JVideoSrc.hpp" #include #include #include #include "Subtitle.hpp" #include "JSubtitle.hpp" #include "Metadata.hpp" #include "JMetadata.hpp" #include "MixAudioMode.hpp" #include "JMixAudioMode.hpp" namespace margelo::nitro::omni { std::shared_ptr JHybridOmniPlayerPropsSpec::JavaPart::getJHybridOmniPlayerPropsSpec() { 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 JHybridOmniPlayerPropsSpec!"); } return castHybridObject; } jni::local_ref JHybridOmniPlayerPropsSpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } std::shared_ptr JHybridOmniPlayerPropsSpec::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 JHybridOmniPlayerPropsSpec::JavaPart!"); } return std::make_shared(castJavaPart); } void JHybridOmniPlayerPropsSpec::CxxPart::registerNatives() { registerHybrid({ makeNativeMethod("initHybrid", JHybridOmniPlayerPropsSpec::CxxPart::initHybrid), }); } // Properties std::vector JHybridOmniPlayerPropsSpec::getSrc() { static const auto method = _javaPart->javaClassStatic()->getMethod>()>("getSrc"); 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 JHybridOmniPlayerPropsSpec::setSrc(const std::vector& src) { static const auto method = _javaPart->javaClassStatic()->getMethod> /* src */)>("setSrc"); method(_javaPart, [&]() { size_t __size = src.size(); jni::local_ref> __array = jni::JArrayClass::newArray(__size); for (size_t __i = 0; __i < __size; __i++) { const auto& __element = src[__i]; auto __elementJni = JVideoSrc::fromCpp(__element); __array->setElement(__i, *__elementJni); } return __array; }()); } std::optional JHybridOmniPlayerPropsSpec::getStartTime() { static const auto method = _javaPart->javaClassStatic()->getMethod()>("getStartTime"); auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(__result->value()) : std::nullopt; } void JHybridOmniPlayerPropsSpec::setStartTime(std::optional startTime) { static const auto method = _javaPart->javaClassStatic()->getMethod /* startTime */)>("setStartTime"); method(_javaPart, startTime.has_value() ? jni::JDouble::valueOf(startTime.value()) : nullptr); } std::vector JHybridOmniPlayerPropsSpec::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; }(); } void JHybridOmniPlayerPropsSpec::setSubtitles(const std::vector& subtitles) { static const auto method = _javaPart->javaClassStatic()->getMethod> /* subtitles */)>("setSubtitles"); method(_javaPart, [&]() { size_t __size = subtitles.size(); jni::local_ref> __array = jni::JArrayClass::newArray(__size); for (size_t __i = 0; __i < __size; __i++) { const auto& __element = subtitles[__i]; auto __elementJni = JSubtitle::fromCpp(__element); __array->setElement(__i, *__elementJni); } return __array; }()); } std::optional JHybridOmniPlayerPropsSpec::getMetadata() { static const auto method = _javaPart->javaClassStatic()->getMethod()>("getMetadata"); auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt; } void JHybridOmniPlayerPropsSpec::setMetadata(const std::optional& metadata) { static const auto method = _javaPart->javaClassStatic()->getMethod /* metadata */)>("setMetadata"); method(_javaPart, metadata.has_value() ? JMetadata::fromCpp(metadata.value()) : nullptr); } std::optional JHybridOmniPlayerPropsSpec::getMixAudio() { static const auto method = _javaPart->javaClassStatic()->getMethod()>("getMixAudio"); auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt; } void JHybridOmniPlayerPropsSpec::setMixAudio(std::optional mixAudio) { static const auto method = _javaPart->javaClassStatic()->getMethod /* mixAudio */)>("setMixAudio"); method(_javaPart, mixAudio.has_value() ? JMixAudioMode::fromCpp(mixAudio.value()) : nullptr); } // Methods } // namespace margelo::nitro::omni