/** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import "RCTFabricUIManagerWrapper.h" #include #include #include #include #include #import "RCTFabricPlatformUIOperationManager.h" // This file contains experimental placeholders, nothing is finalized. @implementation RCTFabricUIManagerWrapper { std::shared_ptr _manager; std::shared_ptr _platformUIOperationManager; } - (instancetype)init { self = [super init]; if (self) { _platformUIOperationManager = std::make_shared(); auto componentDescriptorRegistry = std::make_shared(); SharedComponentDescriptor viewComponentDescriptor = std::make_shared(); componentDescriptorRegistry->registerComponentDescriptor(viewComponentDescriptor); _manager = std::make_shared(componentDescriptorRegistry); } return self; } - (std::shared_ptr)manager { return _manager; } - (void)invalidate { } @end @implementation RCTBridge (RCTFabricUIManagerWrapper) - (std::shared_ptr)fabricUIManager { RCTFabricUIManagerWrapper *wrapper = [self jsBoundExtraModuleForClass:[RCTFabricUIManagerWrapper class]]; if (wrapper) { return [wrapper manager]; } return nullptr; } @end