Scaffold player

This commit is contained in:
2026-04-09 18:38:04 +02:00
parent e1e2fa3f3b
commit 014c75d575
9 changed files with 120 additions and 57 deletions
+2 -16
View File
@@ -31,23 +31,15 @@ int initialize(JavaVM* vm) {
}
struct JHybridOmniViewSpecImpl: public jni::JavaClass<JHybridOmniViewSpecImpl, JHybridOmniViewSpec::JavaPart> {
static constexpr auto kJavaDescriptor = "Ldev/zoriya/omni/OmniView;";
static constexpr auto kJavaDescriptor = "Ldev/zoriya/omni/HybridOmniView;";
static std::shared_ptr<JHybridOmniViewSpec> create() {
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOmniViewSpecImpl::javaobject()>();
jni::local_ref<JHybridOmniViewSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
return javaPart->getJHybridOmniViewSpec();
}
};
struct JHybridOmniPlayerSpecImpl: public jni::JavaClass<JHybridOmniPlayerSpecImpl, JHybridOmniPlayerSpec::JavaPart> {
static constexpr auto kJavaDescriptor = "Ldev/zoriya/omni/OmniPlayer;";
static std::shared_ptr<JHybridOmniPlayerSpec> create() {
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOmniPlayerSpecImpl::javaobject()>();
jni::local_ref<JHybridOmniPlayerSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
return javaPart->getJHybridOmniPlayerSpec();
}
};
struct JHybridOmniPlayerFactorySpecImpl: public jni::JavaClass<JHybridOmniPlayerFactorySpecImpl, JHybridOmniPlayerFactorySpec::JavaPart> {
static constexpr auto kJavaDescriptor = "Ldev/zoriya/omni/OmniPlayerFactory;";
static constexpr auto kJavaDescriptor = "Ldev/zoriya/omni/HybridOmniPlayerFactory;";
static std::shared_ptr<JHybridOmniPlayerFactorySpec> create() {
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridOmniPlayerFactorySpecImpl::javaobject()>();
jni::local_ref<JHybridOmniPlayerFactorySpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
@@ -73,12 +65,6 @@ void registerAllNatives() {
return JHybridOmniViewSpecImpl::create();
}
);
HybridObjectRegistry::registerHybridObjectConstructor(
"OmniPlayer",
[]() -> std::shared_ptr<HybridObject> {
return JHybridOmniPlayerSpecImpl::create();
}
);
HybridObjectRegistry::registerHybridObjectConstructor(
"OmniPlayerFactory",
[]() -> std::shared_ptr<HybridObject> {