/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #pragma once #include "AndroidSwitchMeasurementsManager.h" #include #include #include namespace facebook { namespace react { extern const char AndroidSwitchComponentName[]; /* * `ShadowNode` for component. */ class AndroidSwitchShadowNode final : public ConcreteViewShadowNode< AndroidSwitchComponentName, AndroidSwitchProps, AndroidSwitchEventEmitter> { public: using ConcreteViewShadowNode::ConcreteViewShadowNode; // Associates a shared `AndroidSwitchMeasurementsManager` with the node. void setAndroidSwitchMeasurementsManager( const std::shared_ptr &measurementsManager); #pragma mark - LayoutableShadowNode Size measureContent( LayoutContext const &layoutContext, LayoutConstraints const &layoutConstraints) const override; private: std::shared_ptr measurementsManager_; }; } // namespace react } // namespace facebook