/// /// OmniOnLoad.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// #ifndef BUILDING_OMNI_WITH_GENERATED_CMAKE_PROJECT #error OmniOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this? #endif #include "OmniOnLoad.hpp" #include #include #include #include "JHybridOmniSpec.hpp" #include "views/JHybridOmniStateUpdater.hpp" #include namespace margelo::nitro::omni { int initialize(JavaVM* vm) { return facebook::jni::initialize(vm, []() { ::margelo::nitro::omni::registerAllNatives(); }); } struct JHybridOmniSpecImpl: public jni::JavaClass { static constexpr auto kJavaDescriptor = "Lcom/omni/HybridOmni;"; static std::shared_ptr create() { static const auto constructorFn = javaClassStatic()->getConstructor(); jni::local_ref javaPart = javaClassStatic()->newObject(constructorFn); return javaPart->getJHybridOmniSpec(); } }; void registerAllNatives() { using namespace margelo::nitro; using namespace margelo::nitro::omni; // Register native JNI methods margelo::nitro::omni::JHybridOmniSpec::CxxPart::registerNatives(); margelo::nitro::omni::views::JHybridOmniStateUpdater::registerNatives(); // Register Nitro Hybrid Objects HybridObjectRegistry::registerHybridObjectConstructor( "Omni", []() -> std::shared_ptr { return JHybridOmniSpecImpl::create(); } ); } } // namespace margelo::nitro::omni