summaryrefslogtreecommitdiff
path: root/src/BtMessageFactory.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-30 16:55:15 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-30 22:55:43 +0900
commit098f1571be6f9d30d394eb83d35cc67f8e9ebcb0 (patch)
tree1fd7ae9d1173704f39291c5f438c3388a3ab3d65 /src/BtMessageFactory.h
parentabcb0745ed3c60f17942ce65fb63159a157854ea (diff)
Wrap BtMessage objects by std::unique_ptr instead of std::shared_ptr
Diffstat (limited to 'src/BtMessageFactory.h')
-rw-r--r--src/BtMessageFactory.h61
1 files changed, 40 insertions, 21 deletions
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<BtMessage>
+ virtual std::unique_ptr<BtMessage>
createBtMessage(const unsigned char* msg, size_t msgLength) = 0;
- virtual std::shared_ptr<BtHandshakeMessage>
+ virtual std::unique_ptr<BtHandshakeMessage>
createHandshakeMessage(const unsigned char* msg, size_t msgLength) = 0;
- virtual std::shared_ptr<BtHandshakeMessage>
+ virtual std::unique_ptr<BtHandshakeMessage>
createHandshakeMessage(const unsigned char* infoHash,
const unsigned char* peerId) = 0;
- virtual std::shared_ptr<BtMessage>
- createRequestMessage(const std::shared_ptr<Piece>& piece, size_t blockIndex) = 0;
+ virtual std::unique_ptr<BtRequestMessage>
+ createRequestMessage(const std::shared_ptr<Piece>& piece,
+ size_t blockIndex) = 0;
- virtual std::shared_ptr<BtMessage>
+ virtual std::unique_ptr<BtCancelMessage>
createCancelMessage(size_t index, int32_t begin, int32_t length) = 0;
- virtual std::shared_ptr<BtMessage>
+ virtual std::unique_ptr<BtPieceMessage>
createPieceMessage(size_t index, int32_t begin, int32_t length) = 0;
- virtual std::shared_ptr<BtMessage> createHaveMessage(size_t index) = 0;
+ virtual std::unique_ptr<BtHaveMessage> createHaveMessage(size_t index) = 0;
- virtual std::shared_ptr<BtMessage> createChokeMessage() = 0;
+ virtual std::unique_ptr<BtChokeMessage> createChokeMessage() = 0;
- virtual std::shared_ptr<BtMessage> createUnchokeMessage() = 0;
+ virtual std::unique_ptr<BtUnchokeMessage> createUnchokeMessage() = 0;
- virtual std::shared_ptr<BtMessage> createInterestedMessage() = 0;
+ virtual std::unique_ptr<BtInterestedMessage> createInterestedMessage() = 0;
- virtual std::shared_ptr<BtMessage> createNotInterestedMessage() = 0;
+ virtual std::unique_ptr<BtNotInterestedMessage>
+ createNotInterestedMessage() = 0;
- virtual std::shared_ptr<BtMessage> createBitfieldMessage() = 0;
+ virtual std::unique_ptr<BtBitfieldMessage> createBitfieldMessage() = 0;
- virtual std::shared_ptr<BtMessage> createKeepAliveMessage() = 0;
+ virtual std::unique_ptr<BtKeepAliveMessage> createKeepAliveMessage() = 0;
- virtual std::shared_ptr<BtMessage> createHaveAllMessage() = 0;
+ virtual std::unique_ptr<BtHaveAllMessage> createHaveAllMessage() = 0;
- virtual std::shared_ptr<BtMessage> createHaveNoneMessage() = 0;
+ virtual std::unique_ptr<BtHaveNoneMessage> createHaveNoneMessage() = 0;
- virtual std::shared_ptr<BtMessage>
+ virtual std::unique_ptr<BtRejectMessage>
createRejectMessage(size_t index, int32_t begin, int32_t length) = 0;
- virtual std::shared_ptr<BtMessage> createAllowedFastMessage(size_t index) = 0;
+ virtual std::unique_ptr<BtAllowedFastMessage>
+ createAllowedFastMessage(size_t index) = 0;
- virtual std::shared_ptr<BtMessage> createPortMessage(uint16_t port) = 0;
+ virtual std::unique_ptr<BtPortMessage> createPortMessage(uint16_t port) = 0;
- virtual std::shared_ptr<BtMessage>
+ virtual std::unique_ptr<BtExtendedMessage>
createBtExtendedMessage(const std::shared_ptr<ExtensionMessage>& msg) = 0;
};