/// /// JHybridOmniViewSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// #include "JHybridOmniViewSpec.hpp" // Forward declaration of `HybridOmniPlayerSpec` to properly resolve imports. namespace margelo::nitro::omni { class HybridOmniPlayerSpec; } // Forward declaration of `SubtitleAssets` to properly resolve imports. namespace margelo::nitro::omni { struct SubtitleAssets; } // Forward declaration of `JassubAssets` to properly resolve imports. namespace margelo::nitro::omni { struct JassubAssets; } // Forward declaration of `PgsAssets` to properly resolve imports. namespace margelo::nitro::omni { struct PgsAssets; } #include #include "HybridOmniPlayerSpec.hpp" #include "JHybridOmniPlayerSpec.hpp" #include #include "SubtitleAssets.hpp" #include "JSubtitleAssets.hpp" #include "JassubAssets.hpp" #include "JJassubAssets.hpp" #include #include "PgsAssets.hpp" #include "JPgsAssets.hpp" namespace margelo::nitro::omni { std::shared_ptr JHybridOmniViewSpec::JavaPart::getJHybridOmniViewSpec() { 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 JHybridOmniViewSpec!"); } return castHybridObject; } jni::local_ref JHybridOmniViewSpec::CxxPart::initHybrid(jni::alias_ref jThis) { return makeCxxInstance(jThis); } std::shared_ptr JHybridOmniViewSpec::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 JHybridOmniViewSpec::JavaPart!"); } return std::make_shared(castJavaPart); } void JHybridOmniViewSpec::CxxPart::registerNatives() { registerHybrid({ makeNativeMethod("initHybrid", JHybridOmniViewSpec::CxxPart::initHybrid), }); } // Properties std::shared_ptr JHybridOmniViewSpec::getPlayer() { static const auto method = _javaPart->javaClassStatic()->getMethod()>("getPlayer"); auto __result = method(_javaPart); return __result->getJHybridOmniPlayerSpec(); } void JHybridOmniViewSpec::setPlayer(const std::shared_ptr& player) { static const auto method = _javaPart->javaClassStatic()->getMethod /* player */)>("setPlayer"); method(_javaPart, std::dynamic_pointer_cast(player)->getJavaPart()); } std::optional JHybridOmniViewSpec::getAutoplay() { static const auto method = _javaPart->javaClassStatic()->getMethod()>("getAutoplay"); auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(static_cast(__result->value())) : std::nullopt; } void JHybridOmniViewSpec::setAutoplay(std::optional autoplay) { static const auto method = _javaPart->javaClassStatic()->getMethod /* autoplay */)>("setAutoplay"); method(_javaPart, autoplay.has_value() ? jni::JBoolean::valueOf(autoplay.value()) : nullptr); } std::optional JHybridOmniViewSpec::getAutoPip() { static const auto method = _javaPart->javaClassStatic()->getMethod()>("getAutoPip"); auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(static_cast(__result->value())) : std::nullopt; } void JHybridOmniViewSpec::setAutoPip(std::optional autoPip) { static const auto method = _javaPart->javaClassStatic()->getMethod /* autoPip */)>("setAutoPip"); method(_javaPart, autoPip.has_value() ? jni::JBoolean::valueOf(autoPip.value()) : nullptr); } std::optional JHybridOmniViewSpec::getSubtitleAssets() { static const auto method = _javaPart->javaClassStatic()->getMethod()>("getSubtitleAssets"); auto __result = method(_javaPart); return __result != nullptr ? std::make_optional(__result->toCpp()) : std::nullopt; } void JHybridOmniViewSpec::setSubtitleAssets(const std::optional& subtitleAssets) { static const auto method = _javaPart->javaClassStatic()->getMethod /* subtitleAssets */)>("setSubtitleAssets"); method(_javaPart, subtitleAssets.has_value() ? JSubtitleAssets::fromCpp(subtitleAssets.value()) : nullptr); } // Methods } // namespace margelo::nitro::omni