/* * 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. */ #include "ImageRequest.h" namespace facebook { namespace react { ImageRequest::ImageRequest( ImageSource imageSource, std::shared_ptr telemetry) : imageSource_(std::move(imageSource)), telemetry_(std::move(telemetry)) { coordinator_ = std::make_shared(); } ImageRequest::ImageRequest(ImageRequest &&other) noexcept : imageSource_(std::move(other.imageSource_)), telemetry_(std::move(other.telemetry_)), coordinator_(std::move(other.coordinator_)) { other.coordinator_ = nullptr; other.cancelRequest_ = nullptr; other.telemetry_ = nullptr; other.imageSource_ = {}; } ImageRequest::~ImageRequest() { if (cancelRequest_) { cancelRequest_(); } } void ImageRequest::setCancelationFunction( std::function cancelationFunction) { cancelRequest_ = cancelationFunction; } const ImageSource &ImageRequest::getImageSource() const { return imageSource_; } const std::shared_ptr &ImageRequest::getSharedTelemetry() const { return telemetry_; } const ImageResponseObserverCoordinator &ImageRequest::getObserverCoordinator() const { return *coordinator_; } const std::shared_ptr &ImageRequest::getSharedObserverCoordinator() const { return coordinator_; } } // namespace react } // namespace facebook