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

View File

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

View File

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

View File

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

View File

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