12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /*
- * 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 <folly/dynamic.h>
- #include <react/imagemanager/ImageRequest.h>
- #include <react/imagemanager/primitives.h>
- namespace facebook {
- namespace react {
- /*
- * State for <Image> component.
- */
- class ImageState final {
- public:
- ImageState(ImageSource const &imageSource, ImageRequest imageRequest)
- : imageSource_(imageSource),
- imageRequest_(
- std::make_shared<ImageRequest>(std::move(imageRequest))){};
- /*
- * Returns stored ImageSource object.
- */
- ImageSource getImageSource() const;
- /*
- * Exposes for reading stored `ImageRequest` object.
- * `ImageRequest` object cannot be copied or moved from `ImageLocalData`.
- */
- ImageRequest const &getImageRequest() const;
- #ifdef ANDROID
- ImageState(ImageState const &previousState, folly::dynamic data){};
- /*
- * Empty implementation for Android because it doesn't use this class.
- */
- folly::dynamic getDynamic() const {
- return {};
- };
- #endif
- private:
- ImageSource imageSource_;
- std::shared_ptr<ImageRequest> imageRequest_;
- };
- } // namespace react
- } // namespace facebook
|