From 098f1571be6f9d30d394eb83d35cc67f8e9ebcb0 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 30 Jun 2013 16:55:15 +0900 Subject: Wrap BtMessage objects by std::unique_ptr instead of std::shared_ptr --- src/BtMessageFactory.h | 61 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 21 deletions(-) (limited to 'src/BtMessageFactory.h') diff --git a/src/BtMessageFactory.h b/src/BtMessageFactory.h index cb244d9b..a664828a 100644 --- a/src/BtMessageFactory.h +++ b/src/BtMessageFactory.h @@ -43,58 +43,77 @@ namespace aria2 { class BtMessage; class BtHandshakeMessage; -class Piece; +class BtAllowedFastMessage; +class BtBitfieldMessage; +class BtCancelMessage; +class BtChokeMessage; +class BtHaveAllMessage; +class BtHaveMessage; +class BtHaveNoneMessage; +class BtInterestedMessage; +class BtKeepAliveMessage; +class BtNotInterestedMessage; +class BtPieceMessage; +class BtPortMessage; +class BtRejectMessage; +class BtRequestMessage; +class BtUnchokeMessage; +class BtExtendedMessage; class ExtensionMessage; +class Piece; class BtMessageFactory { public: virtual ~BtMessageFactory() {} - virtual std::shared_ptr + virtual std::unique_ptr createBtMessage(const unsigned char* msg, size_t msgLength) = 0; - virtual std::shared_ptr + virtual std::unique_ptr createHandshakeMessage(const unsigned char* msg, size_t msgLength) = 0; - virtual std::shared_ptr + virtual std::unique_ptr createHandshakeMessage(const unsigned char* infoHash, const unsigned char* peerId) = 0; - virtual std::shared_ptr - createRequestMessage(const std::shared_ptr& piece, size_t blockIndex) = 0; + virtual std::unique_ptr + createRequestMessage(const std::shared_ptr& piece, + size_t blockIndex) = 0; - virtual std::shared_ptr + virtual std::unique_ptr createCancelMessage(size_t index, int32_t begin, int32_t length) = 0; - virtual std::shared_ptr + virtual std::unique_ptr createPieceMessage(size_t index, int32_t begin, int32_t length) = 0; - virtual std::shared_ptr createHaveMessage(size_t index) = 0; + virtual std::unique_ptr createHaveMessage(size_t index) = 0; - virtual std::shared_ptr createChokeMessage() = 0; + virtual std::unique_ptr createChokeMessage() = 0; - virtual std::shared_ptr createUnchokeMessage() = 0; + virtual std::unique_ptr createUnchokeMessage() = 0; - virtual std::shared_ptr createInterestedMessage() = 0; + virtual std::unique_ptr createInterestedMessage() = 0; - virtual std::shared_ptr createNotInterestedMessage() = 0; + virtual std::unique_ptr + createNotInterestedMessage() = 0; - virtual std::shared_ptr createBitfieldMessage() = 0; + virtual std::unique_ptr createBitfieldMessage() = 0; - virtual std::shared_ptr createKeepAliveMessage() = 0; + virtual std::unique_ptr createKeepAliveMessage() = 0; - virtual std::shared_ptr createHaveAllMessage() = 0; + virtual std::unique_ptr createHaveAllMessage() = 0; - virtual std::shared_ptr createHaveNoneMessage() = 0; + virtual std::unique_ptr createHaveNoneMessage() = 0; - virtual std::shared_ptr + virtual std::unique_ptr createRejectMessage(size_t index, int32_t begin, int32_t length) = 0; - virtual std::shared_ptr createAllowedFastMessage(size_t index) = 0; + virtual std::unique_ptr + createAllowedFastMessage(size_t index) = 0; - virtual std::shared_ptr createPortMessage(uint16_t port) = 0; + virtual std::unique_ptr createPortMessage(uint16_t port) = 0; - virtual std::shared_ptr + virtual std::unique_ptr createBtExtendedMessage(const std::shared_ptr& msg) = 0; }; -- cgit