ImageResponseObserverCoordinator does not need to be shared_ptr

Summary: Don't use shared_ptr in this case, it's not needed.

Reviewed By: shergin

Differential Revision: D13965413

fbshipit-source-id: ec98c13f53c7d558a0cb68cea0f97568dd202cd8
This commit is contained in:
Joshua Gross 2019-02-06 11:46:07 -08:00 committed by Facebook Github Bot
parent 1a76f28fb7
commit 550a14c216
5 changed files with 22 additions and 21 deletions

View File

@ -21,7 +21,7 @@
@implementation RCTImageComponentView {
UIImageView *_imageView;
SharedImageLocalData _imageLocalData;
std::shared_ptr<const ImageResponseObserverCoordinator> _coordinator;
const ImageResponseObserverCoordinator *_coordinator;
std::unique_ptr<RCTImageResponseObserverProxy> _imageResponseObserverProxy;
}
@ -92,7 +92,7 @@
}
}
- (void)setCoordinator:(std::shared_ptr<const ImageResponseObserverCoordinator>)coordinator {
- (void)setCoordinator:(const ImageResponseObserverCoordinator *)coordinator {
if (_coordinator) {
_coordinator->removeObserver(_imageResponseObserverProxy.get());
}

View File

@ -27,16 +27,18 @@ using namespace facebook::react;
UIImage *_maximumTrackImage;
UIImage *_thumbImage;
std::shared_ptr<const ImageResponseObserverCoordinator> _trackImageCoordinator;
const ImageResponseObserverCoordinator *_trackImageCoordinator;
const ImageResponseObserverCoordinator *_minimumTrackImageCoordinator;
const ImageResponseObserverCoordinator *_maximumTrackImageCoordinator;
const ImageResponseObserverCoordinator *_thumbImageCoordinator;
std::unique_ptr<RCTImageResponseObserverProxy> _trackImageResponseObserverProxy;
std::shared_ptr<const ImageResponseObserverCoordinator> _minimumTrackImageCoordinator;
std::unique_ptr<RCTImageResponseObserverProxy> _minimumTrackImageResponseObserverProxy;
std::shared_ptr<const ImageResponseObserverCoordinator> _maximumTrackImageCoordinator;
std::unique_ptr<RCTImageResponseObserverProxy> _maximumTrackImageResponseObserverProxy;
std::shared_ptr<const ImageResponseObserverCoordinator> _thumbImageCoordinator;
std::unique_ptr<RCTImageResponseObserverProxy> _thumbImageResponseObserverProxy;
}
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
@ -140,42 +142,42 @@ using namespace facebook::react;
}
}
- (void)setTrackImageCoordinator:(std::shared_ptr<const ImageResponseObserverCoordinator>)coordinator {
- (void)setTrackImageCoordinator:(const ImageResponseObserverCoordinator *)coordinator {
if (_trackImageCoordinator) {
_trackImageCoordinator->removeObserver(_trackImageResponseObserverProxy.get());
}
_trackImageCoordinator = coordinator;
if (_trackImageCoordinator != nullptr) {
if (_trackImageCoordinator) {
_trackImageCoordinator->addObserver(_trackImageResponseObserverProxy.get());
}
}
- (void)setMinimumTrackImageCoordinator:(std::shared_ptr<const ImageResponseObserverCoordinator>)coordinator {
- (void)setMinimumTrackImageCoordinator:(const ImageResponseObserverCoordinator *)coordinator {
if (_minimumTrackImageCoordinator) {
_minimumTrackImageCoordinator->removeObserver(_minimumTrackImageResponseObserverProxy.get());
}
_minimumTrackImageCoordinator = coordinator;
if (_minimumTrackImageCoordinator != nullptr) {
if (_minimumTrackImageCoordinator) {
_minimumTrackImageCoordinator->addObserver(_minimumTrackImageResponseObserverProxy.get());
}
}
- (void)setMaximumTrackImageCoordinator:(std::shared_ptr<const ImageResponseObserverCoordinator>)coordinator {
- (void)setMaximumTrackImageCoordinator:(const ImageResponseObserverCoordinator *)coordinator {
if (_maximumTrackImageCoordinator) {
_maximumTrackImageCoordinator->removeObserver(_maximumTrackImageResponseObserverProxy.get());
}
_maximumTrackImageCoordinator = coordinator;
if (_maximumTrackImageCoordinator != nullptr) {
if (_maximumTrackImageCoordinator) {
_maximumTrackImageCoordinator->addObserver(_maximumTrackImageResponseObserverProxy.get());
}
}
- (void)setThumbImageCoordinator:(std::shared_ptr<const ImageResponseObserverCoordinator>)coordinator {
- (void)setThumbImageCoordinator:(const ImageResponseObserverCoordinator *)coordinator {
if (_thumbImageCoordinator) {
_thumbImageCoordinator->removeObserver(_thumbImageResponseObserverProxy.get());
}
_thumbImageCoordinator = coordinator;
if (_thumbImageCoordinator != nullptr) {
if (_thumbImageCoordinator) {
_thumbImageCoordinator->addObserver(_thumbImageResponseObserverProxy.get());
}
}

View File

@ -55,8 +55,7 @@ class ImageRequest final {
/*
* Get observer coordinator.
*/
std::shared_ptr<const ImageResponseObserverCoordinator>
getObserverCoordinator() const;
const ImageResponseObserverCoordinator *getObserverCoordinator() const;
private:
/*

View File

@ -25,8 +25,8 @@ ImageRequest::~ImageRequest() {
// Not implemented.
}
std::shared_ptr<const ImageResponseObserverCoordinator>
ImageRequest::getObserverCoordinator() const {
const ImageResponseObserverCoordinator *ImageRequest::getObserverCoordinator()
const {
// Not implemented
abort();
}

View File

@ -40,9 +40,9 @@ void ImageRequest::setCancelationFunction(
cancelRequest_ = cancelationFunction;
}
std::shared_ptr<const ImageResponseObserverCoordinator>
ImageRequest::getObserverCoordinator() const {
return coordinator_;
const ImageResponseObserverCoordinator *ImageRequest::getObserverCoordinator()
const {
return coordinator_.get();
}
} // namespace react