/// /// HybridOmniPlayerPropsSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// #pragma once #include #include #include "HybridOmniPlayerPropsSpec.hpp" namespace margelo::nitro::omni { using namespace facebook; class JHybridOmniPlayerPropsSpec: public virtual HybridOmniPlayerPropsSpec, public virtual JHybridObject { public: struct JavaPart: public jni::JavaClass { static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/omni/HybridOmniPlayerPropsSpec;"; std::shared_ptr getJHybridOmniPlayerPropsSpec(); }; struct CxxPart: public jni::HybridClass { static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/omni/HybridOmniPlayerPropsSpec$CxxPart;"; static jni::local_ref initHybrid(jni::alias_ref jThis); static void registerNatives(); using HybridBase::HybridBase; protected: std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; }; public: explicit JHybridOmniPlayerPropsSpec(const jni::local_ref& javaPart): HybridObject(HybridOmniPlayerPropsSpec::TAG), JHybridObject(javaPart), _javaPart(jni::make_global(javaPart)) {} ~JHybridOmniPlayerPropsSpec() override { // Hermes GC can destroy JS objects on a non-JNI Thread. jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); } public: inline const jni::global_ref& getJavaPart() const noexcept { return _javaPart; } public: // Properties std::vector getSrc() override; void setSrc(const std::vector& src) override; std::optional getStartTime() override; void setStartTime(std::optional startTime) override; std::vector getSubtitles() override; void setSubtitles(const std::vector& subtitles) override; std::optional getMetadata() override; void setMetadata(const std::optional& metadata) override; std::optional getMixAudio() override; void setMixAudio(std::optional mixAudio) override; public: // Methods private: jni::global_ref _javaPart; }; } // namespace margelo::nitro::omni