/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import #import #import #import #import #import #import #import #import NS_ASSUME_NONNULL_BEGIN @class RCTComponentViewRegistry; /** * Manages mounting process. */ @interface RCTMountingManager : NSObject @property (nonatomic, weak) id delegate; @property (nonatomic, strong) RCTComponentViewRegistry *componentViewRegistry; - (void)setContextContainer:(facebook::react::ContextContainer::Shared)contextContainer; /** * Designates the view as a rendering viewport of a React Native surface. * The provided view must not have any subviews, and the caller is not supposed to interact with the view hierarchy * inside the provided view. The view hierarchy created by mounting infrastructure inside the provided view does not * influence the intrinsic size of the view and cannot be measured using UIView/UIKit layout API. * Must be called on the main thead. */ - (void)attachSurfaceToView:(UIView *)view surfaceId:(facebook::react::SurfaceId)surfaceId; /** * Stops designating the view as a rendering viewport of a React Native surface. */ - (void)detachSurfaceFromView:(UIView *)view surfaceId:(facebook::react::SurfaceId)surfaceId; /** * Schedule a mounting transaction to be performed on the main thread. * Can be called from any thread. */ - (void)scheduleTransaction:(facebook::react::MountingCoordinator::Shared)mountingCoordinator; /** * Dispatch a command to be performed on the main thread. * Can be called from any thread. */ - (void)dispatchCommand:(ReactTag)reactTag commandName:(NSString *)commandName args:(NSArray *)args; /** * Dispatch an accessibility event to be performed on the main thread. * Can be called from any thread. */ - (void)sendAccessibilityEvent:(ReactTag)reactTag eventType:(NSString *)eventType; - (void)setIsJSResponder:(BOOL)isJSResponder blockNativeResponder:(BOOL)blockNativeResponder forShadowView:(facebook::react::ShadowView const &)shadowView; - (void)synchronouslyUpdateViewOnUIThread:(ReactTag)reactTag changedProps:(NSDictionary *)props componentDescriptor:(facebook::react::ComponentDescriptor const &)componentDescriptor; @end NS_ASSUME_NONNULL_END