#include "MainComponentsRegistry.h" #include #include #include #include namespace facebook { namespace react { MainComponentsRegistry::MainComponentsRegistry(ComponentFactory *delegate) {} std::shared_ptr MainComponentsRegistry::sharedProviderRegistry() { auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); // Custom Fabric Components go here. You can register custom // components coming from your App or from 3rd party libraries here. // // providerRegistry->add(concreteComponentDescriptorProvider< // AocViewerComponentDescriptor>()); return providerRegistry; } jni::local_ref MainComponentsRegistry::initHybrid( jni::alias_ref, ComponentFactory *delegate) { auto instance = makeCxxInstance(delegate); auto buildRegistryFunction = [](EventDispatcher::Weak const &eventDispatcher, ContextContainer::Shared const &contextContainer) -> ComponentDescriptorRegistry::Shared { auto registry = MainComponentsRegistry::sharedProviderRegistry() ->createComponentDescriptorRegistry( {eventDispatcher, contextContainer}); auto mutableRegistry = std::const_pointer_cast(registry); mutableRegistry->setFallbackComponentDescriptor( std::make_shared( ComponentDescriptorParameters{ eventDispatcher, contextContainer, nullptr})); return registry; }; delegate->buildRegistryFunction = buildRegistryFunction; return instance; } void MainComponentsRegistry::registerNatives() { registerHybrid({ makeNativeMethod("initHybrid", MainComponentsRegistry::initHybrid), }); } } // namespace react } // namespace facebook