diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-05 22:40:29 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-06 15:56:08 +0900 |
| commit | ae84ff26e2ded61e19d38ddbd23bcbdb0279cc8a (patch) | |
| tree | 0f1c6729408791c40b6cdc72b89be659f3ecc590 /src | |
| parent | f8d305fe639a2a458106f3f233f696157c6ab06d (diff) | |
AbstractSingleDiskAdaptor: Use std::unique_ptr for diskWriter_
Diffstat (limited to 'src')
| -rw-r--r-- | src/AbstractSingleDiskAdaptor.cc | 4 | ||||
| -rw-r--r-- | src/AbstractSingleDiskAdaptor.h | 6 | ||||
| -rw-r--r-- | src/BtPostDownloadHandler.cc | 9 |
3 files changed, 9 insertions, 10 deletions
diff --git a/src/AbstractSingleDiskAdaptor.cc b/src/AbstractSingleDiskAdaptor.cc index 197f00db..90c82ee0 100644 --- a/src/AbstractSingleDiskAdaptor.cc +++ b/src/AbstractSingleDiskAdaptor.cc @@ -188,9 +188,9 @@ void AbstractSingleDiskAdaptor::cutTrailingGarbage() } void AbstractSingleDiskAdaptor::setDiskWriter -(const std::shared_ptr<DiskWriter>& diskWriter) +(std::unique_ptr<DiskWriter> diskWriter) { - diskWriter_ = diskWriter; + diskWriter_ = std::move(diskWriter); } void AbstractSingleDiskAdaptor::setTotalLength(int64_t totalLength) diff --git a/src/AbstractSingleDiskAdaptor.h b/src/AbstractSingleDiskAdaptor.h index 6a6ea3de..0a23e84a 100644 --- a/src/AbstractSingleDiskAdaptor.h +++ b/src/AbstractSingleDiskAdaptor.h @@ -44,7 +44,7 @@ class FileAllocationIterator; class AbstractSingleDiskAdaptor : public DiskAdaptor { private: - std::shared_ptr<DiskWriter> diskWriter_; + std::unique_ptr<DiskWriter> diskWriter_; int64_t totalLength_; bool readOnly_; public: @@ -89,9 +89,9 @@ public: virtual const std::string& getFilePath() = 0; - void setDiskWriter(const std::shared_ptr<DiskWriter>& diskWriter); + void setDiskWriter(std::unique_ptr<DiskWriter> diskWriter); - const std::shared_ptr<DiskWriter>& getDiskWriter() const + const std::unique_ptr<DiskWriter>& getDiskWriter() const { return diskWriter_; } diff --git a/src/BtPostDownloadHandler.cc b/src/BtPostDownloadHandler.cc index 9c432192..05d09f2e 100644 --- a/src/BtPostDownloadHandler.cc +++ b/src/BtPostDownloadHandler.cc @@ -73,11 +73,10 @@ void BtPostDownloadHandler::getNextRequestGroups requestGroup->getFirstFilePath().c_str())); std::shared_ptr<ValueBase> torrent; if(requestGroup->inMemoryDownload()) { - const std::shared_ptr<DiskWriter>& dw = - std::static_pointer_cast<AbstractSingleDiskAdaptor> - (requestGroup->getPieceStorage()->getDiskAdaptor())->getDiskWriter(); - const std::shared_ptr<bittorrent::BencodeDiskWriter>& bdw = - std::static_pointer_cast<bittorrent::BencodeDiskWriter>(dw); + auto& dw = static_cast<AbstractSingleDiskAdaptor*> + (requestGroup->getPieceStorage()->getDiskAdaptor().get()) + ->getDiskWriter(); + auto bdw = static_cast<bittorrent::BencodeDiskWriter*>(dw.get()); int error = bdw->finalize(); if(error == 0) { torrent = bdw->getResult(); |
