Create types for player & view

This commit is contained in:
2026-04-09 12:52:54 +02:00
parent c71c8fb8f9
commit e1e2fa3f3b
70 changed files with 3499 additions and 369 deletions
@@ -0,0 +1,60 @@
///
/// JHybridOmniPlayerFactorySpec.cpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © Marc Rousavy @ Margelo
///
#include "JHybridOmniPlayerFactorySpec.hpp"
// Forward declaration of `HybridOmniPlayerSpec` to properly resolve imports.
namespace margelo::nitro::omni { class HybridOmniPlayerSpec; }
// Forward declaration of `HybridOmniPlayerPropsSpec` to properly resolve imports.
namespace margelo::nitro::omni { class HybridOmniPlayerPropsSpec; }
#include <memory>
#include "HybridOmniPlayerSpec.hpp"
#include "JHybridOmniPlayerSpec.hpp"
#include "HybridOmniPlayerPropsSpec.hpp"
#include "JHybridOmniPlayerPropsSpec.hpp"
namespace margelo::nitro::omni {
std::shared_ptr<JHybridOmniPlayerFactorySpec> JHybridOmniPlayerFactorySpec::JavaPart::getJHybridOmniPlayerFactorySpec() {
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
auto castHybridObject = std::dynamic_pointer_cast<JHybridOmniPlayerFactorySpec>(hybridObject);
if (castHybridObject == nullptr) [[unlikely]] {
throw std::runtime_error("Failed to downcast JHybridObject to JHybridOmniPlayerFactorySpec!");
}
return castHybridObject;
}
jni::local_ref<JHybridOmniPlayerFactorySpec::CxxPart::jhybriddata> JHybridOmniPlayerFactorySpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
return makeCxxInstance(jThis);
}
std::shared_ptr<JHybridObject> JHybridOmniPlayerFactorySpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
auto castJavaPart = jni::dynamic_ref_cast<JHybridOmniPlayerFactorySpec::JavaPart>(javaPart);
if (castJavaPart == nullptr) [[unlikely]] {
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridOmniPlayerFactorySpec::JavaPart!");
}
return std::make_shared<JHybridOmniPlayerFactorySpec>(castJavaPart);
}
void JHybridOmniPlayerFactorySpec::CxxPart::registerNatives() {
registerHybrid({
makeNativeMethod("initHybrid", JHybridOmniPlayerFactorySpec::CxxPart::initHybrid),
});
}
// Properties
// Methods
std::shared_ptr<HybridOmniPlayerSpec> JHybridOmniPlayerFactorySpec::createPlayer(const std::shared_ptr<HybridOmniPlayerPropsSpec>& props) {
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JHybridOmniPlayerSpec::JavaPart>(jni::alias_ref<JHybridOmniPlayerPropsSpec::JavaPart> /* props */)>("createPlayer");
auto __result = method(_javaPart, std::dynamic_pointer_cast<JHybridOmniPlayerPropsSpec>(props)->getJavaPart());
return __result->getJHybridOmniPlayerSpec();
}
} // namespace margelo::nitro::omni