Files
react-native/React/Fabric/RCTImageResponseObserverProxy.mm
T
Valentin Shergin 3bc09892c0 Fabric: Enforcing const-correctness around ImageResponseObserverCoordinator
Summary:
`addObserver` and `removeObserver` now accepts const references instead of pointers which indicates the intent (non-nullability and non-owning) clearly. The delegate methods are also marked as `const` to designate the possible concurrent execution (`const` means "thread-safe" here).

All changes are pure syntactical, nothing really changes (besides the fact overall code quality and redability).

Reviewed By: JoshuaGross

Differential Revision: D17535395

fbshipit-source-id: b0c6c872d44fee22e38fd067ccd3320e7231c94a
2019-09-23 15:59:45 -07:00

48 lines
1.3 KiB
Plaintext

/**
* 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.
*/
#import "RCTImageResponseObserverProxy.h"
#import <react/imagemanager/ImageResponse.h>
#import <react/imagemanager/ImageResponseObserver.h>
namespace facebook {
namespace react {
RCTImageResponseObserverProxy::RCTImageResponseObserverProxy(void *delegate)
: delegate_((__bridge id<RCTImageResponseDelegate>)delegate)
{
}
void RCTImageResponseObserverProxy::didReceiveImage(ImageResponse const &imageResponse) const
{
UIImage *image = (__bridge UIImage *)imageResponse.getImage().get();
auto this_ = this;
dispatch_async(dispatch_get_main_queue(), ^{
[delegate_ didReceiveImage:image fromObserver:this_];
});
}
void RCTImageResponseObserverProxy::didReceiveProgress(float progress) const
{
auto this_ = this;
dispatch_async(dispatch_get_main_queue(), ^{
[delegate_ didReceiveProgress:progress fromObserver:this_];
});
}
void RCTImageResponseObserverProxy::didReceiveFailure() const
{
auto this_ = this;
dispatch_async(dispatch_get_main_queue(), ^{
[delegate_ didReceiveFailureFromObserver:this_];
});
}
} // namespace react
} // namespace facebook