From a18bba7c66bd8b5539963227ba43f5b9d296e196 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 23 Jun 2013 12:29:18 +0900 Subject: [PATCH] DefaultBtMessageReceiver: Use raw pointer for non-owning object --- src/DefaultBtMessageReceiver.cc | 3 ++- src/DefaultBtMessageReceiver.h | 4 ++-- src/PeerInteractionCommand.cc | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/DefaultBtMessageReceiver.cc b/src/DefaultBtMessageReceiver.cc index 1e90f016..60433f03 100644 --- a/src/DefaultBtMessageReceiver.cc +++ b/src/DefaultBtMessageReceiver.cc @@ -55,6 +55,7 @@ namespace aria2 { DefaultBtMessageReceiver::DefaultBtMessageReceiver(): handshakeSent_(false), + downloadContext_{0}, peerConnection_(0), dispatcher_(0), messageFactory_(0) @@ -132,7 +133,7 @@ std::shared_ptr DefaultBtMessageReceiver::receiveMessage() { } void DefaultBtMessageReceiver::setDownloadContext -(const std::shared_ptr& downloadContext) +(DownloadContext* downloadContext) { downloadContext_ = downloadContext; } diff --git a/src/DefaultBtMessageReceiver.h b/src/DefaultBtMessageReceiver.h index 5624545a..fb5492ab 100644 --- a/src/DefaultBtMessageReceiver.h +++ b/src/DefaultBtMessageReceiver.h @@ -49,7 +49,7 @@ class BtMessageFactory; class DefaultBtMessageReceiver : public BtMessageReceiver { private: bool handshakeSent_; - std::shared_ptr downloadContext_; + DownloadContext* downloadContext_; PeerConnection* peerConnection_; BtMessageDispatcher* dispatcher_; BtMessageFactory* messageFactory_; @@ -65,7 +65,7 @@ public: virtual std::shared_ptr receiveMessage(); - void setDownloadContext(const std::shared_ptr& downloadContext); + void setDownloadContext(DownloadContext* downloadContext); void setPeerConnection(PeerConnection* peerConnection); diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc index d1e9842f..8aba2f85 100644 --- a/src/PeerInteractionCommand.cc +++ b/src/PeerInteractionCommand.cc @@ -204,11 +204,11 @@ PeerInteractionCommand::PeerInteractionCommand std::shared_ptr dispatcher(dispatcherPtr); DefaultBtMessageReceiver* receiverPtr(new DefaultBtMessageReceiver()); - receiverPtr->setDownloadContext(requestGroup_->getDownloadContext()); + std::shared_ptr receiver(receiverPtr); + receiverPtr->setDownloadContext(requestGroup_->getDownloadContext().get()); receiverPtr->setPeerConnection(peerConnection.get()); receiverPtr->setDispatcher(dispatcherPtr); receiverPtr->setBtMessageFactory(factoryPtr); - std::shared_ptr receiver(receiverPtr); DefaultBtRequestFactory* reqFactoryPtr(new DefaultBtRequestFactory()); reqFactoryPtr->setPeer(getPeer());