Bläddra i källkod

2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Call DownloadContext::setOwnerRequestGroup() in
	RequestGroup::setDownloadContext().
	* src/BtDependency.cc
	* src/RequestGroup.cc
	* src/RequestGroup.h
	* src/download_helper.cc
	* test/DefaultBtMessageDispatcherTest.cc
	* test/DefaultExtensionMessageFactoryTest.cc
	* test/HandshakeExtensionMessageTest.cc
Tatsuhiro Tsujikawa 16 år sedan
förälder
incheckning
88bfe8b084

+ 12 - 0
ChangeLog

@@ -1,3 +1,15 @@
+2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Call DownloadContext::setOwnerRequestGroup() in
+	RequestGroup::setDownloadContext().
+	* src/BtDependency.cc
+	* src/RequestGroup.cc
+	* src/RequestGroup.h
+	* src/download_helper.cc
+	* test/DefaultBtMessageDispatcherTest.cc
+	* test/DefaultExtensionMessageFactoryTest.cc
+	* test/HandshakeExtensionMessageTest.cc
+
 2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Accept BitTorrent Magnet URI in Metalink resource type bittorrent.

+ 0 - 1
src/BtDependency.cc

@@ -107,7 +107,6 @@ bool BtDependency::resolve()
     }
     _logger->debug("Dependency resolved for GID#%d", _dependant->getGID());
     _dependant->setDownloadContext(context);
-    context->setOwnerRequestGroup(_dependant.get());
     return true;
   } else if(_dependee->getNumCommand() == 0) {
     // _dependee's download failed.

+ 9 - 0
src/RequestGroup.cc

@@ -1045,4 +1045,13 @@ void RequestGroup::removeControlFile() const
   _progressInfoFile->removeFile();
 }
 
+void RequestGroup::setDownloadContext
+(const SharedHandle<DownloadContext>& downloadContext)
+{
+  _downloadContext = downloadContext;
+  if(!_downloadContext.isNull()) {
+    _downloadContext->setOwnerRequestGroup(this);
+  }
+}
+
 } // namespace aria2

+ 3 - 4
src/RequestGroup.h

@@ -244,10 +244,9 @@ public:
     return _downloadContext;
   }
 
-  void setDownloadContext(const SharedHandle<DownloadContext>& downloadContext)
-  {
-    _downloadContext = downloadContext;
-  }
+  // This function also calls
+  // downloadContext->setOwnerRequestGroup(this).
+  void setDownloadContext(const SharedHandle<DownloadContext>& downloadContext);
 
   const SharedHandle<PieceStorage>& getPieceStorage() const
   {

+ 0 - 2
src/download_helper.cc

@@ -223,7 +223,6 @@ createBtRequestGroup(const std::string& torrentFilePath,
       ((*i).first, strconcat(dctx->getDir(), "/", (*i).second));
   }
   rg->setDownloadContext(dctx);
-  dctx->setOwnerRequestGroup(rg.get());
   return rg;
 }
 
@@ -246,7 +245,6 @@ createBtMagnetRequestGroup(const std::string& magnetLink,
   dctx->getFirstFileEntry()->setPath
     (dctx->getAttribute(bittorrent::BITTORRENT)[bittorrent::NAME].s());
   rg->setDownloadContext(dctx);
-  dctx->setOwnerRequestGroup(rg.get());
   rg->clearPostDownloadHandler();
   rg->addPostDownloadHandler
     (SharedHandle<UTMetadataPostDownloadHandler>

+ 2 - 1
test/DefaultBtMessageDispatcherTest.cc

@@ -141,7 +141,8 @@ public:
 
     _dctx.reset(new DownloadContext());
     bittorrent::load("test.torrent", _dctx);
-    _dctx->setOwnerRequestGroup(_rg.get());
+
+    _rg->setDownloadContext(_dctx);
 
     peer.reset(new Peer("192.168.0.1", 6969));
     peer->allocateSessionResource

+ 0 - 1
test/DefaultExtensionMessageFactoryTest.cc

@@ -67,7 +67,6 @@ public:
     SharedHandle<Option> option(new Option());
     _requestGroup.reset(new RequestGroup(option));
     _requestGroup->setDownloadContext(_dctx);
-    _dctx->setOwnerRequestGroup(_requestGroup.get());
 
     _factory.reset(new DefaultExtensionMessageFactory());
     _factory->setPeerStorage(_peerStorage);

+ 0 - 1
test/HandshakeExtensionMessageTest.cc

@@ -95,7 +95,6 @@ void HandshakeExtensionMessageTest::testDoReceivedAction()
   SharedHandle<Option> op(new Option());
   RequestGroup rg(op);
   rg.setDownloadContext(dctx);
-  dctx->setOwnerRequestGroup(&rg);
 
   BDE attrs = BDE::dict();
   dctx->setAttribute(bittorrent::BITTORRENT, attrs);