mirror of https://github.com/aria2/aria2
				
				
				
			Add DownloadHandle::getInfohash() and getPieceLength()
							parent
							
								
									1b6827b060
								
							
						
					
					
						commit
						1a953d5f93
					
				|  | @ -58,6 +58,10 @@ | |||
| #include "RpcMethodImpl.h" | ||||
| #include "console.h" | ||||
| #include "KeepRunningCommand.h" | ||||
| #include "A2STR.h" | ||||
| #ifdef ENABLE_BITTORRENT | ||||
| # include "bittorrent_helper.h" | ||||
| #endif // ENABLE_BITTORRENT
 | ||||
| 
 | ||||
| namespace aria2 { | ||||
| 
 | ||||
|  | @ -507,6 +511,22 @@ struct RequestGroupDH : public DownloadHandle { | |||
|   { | ||||
|     return ts.uploadSpeed; | ||||
|   } | ||||
|   virtual const std::string& getInfoHash() | ||||
|   { | ||||
| #ifdef ENABLE_BITTORRENT | ||||
|     if(group->getDownloadContext()->hasAttribute(CTX_ATTR_BT)) { | ||||
|       SharedHandle<TorrentAttribute> torrentAttrs = | ||||
|         bittorrent::getTorrentAttrs(group->getDownloadContext()); | ||||
|       return torrentAttrs->infoHash; | ||||
|     } | ||||
| #endif // ENABLE_BITTORRENT
 | ||||
|     return A2STR::NIL; | ||||
|   } | ||||
|   virtual size_t getPieceLength() | ||||
|   { | ||||
|     const SharedHandle<DownloadContext>& dctx = group->getDownloadContext(); | ||||
|     return dctx->getPieceLength(); | ||||
|   } | ||||
|   virtual size_t getNumPieces() | ||||
|   { | ||||
|     return group->getDownloadContext()->getNumPieces(); | ||||
|  | @ -603,6 +623,14 @@ struct DownloadResultDH : public DownloadHandle { | |||
|   { | ||||
|     return 0; | ||||
|   } | ||||
|   virtual const std::string& getInfoHash() | ||||
|   { | ||||
|     return dr->infoHash; | ||||
|   } | ||||
|   virtual size_t getPieceLength() | ||||
|   { | ||||
|     return dr->pieceLength; | ||||
|   } | ||||
|   virtual size_t getNumPieces() | ||||
|   { | ||||
|     return dr->numPieces; | ||||
|  |  | |||
|  | @ -460,6 +460,15 @@ public: | |||
|    * Returns upload speed of this download measured in bytes/sec. | ||||
|    */ | ||||
|   virtual int getUploadSpeed() = 0; | ||||
|   /**
 | ||||
|    * Returns 20 bytes InfoHash if BitTorrent transfer is | ||||
|    * involved. Otherwise the empty string is returned. | ||||
|    */ | ||||
|   virtual const std::string& getInfoHash() = 0; | ||||
|   /**
 | ||||
|    * Returns piece length in bytes. | ||||
|    */ | ||||
|   virtual size_t getPieceLength() = 0; | ||||
|   /**
 | ||||
|    * Returns the number of pieces. | ||||
|    */ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Tatsuhiro Tsujikawa
						Tatsuhiro Tsujikawa