summaryrefslogtreecommitdiff
path: root/src/DefaultExtensionMessageFactory.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-04-25 10:48:00 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-04-25 10:48:00 +0000
commite385c68f52ea7cc7cad8484bd6ee4bc3ac8d0f1f (patch)
treed21cf3e86b00087cdd6ead1b42901381dd94ec58 /src/DefaultExtensionMessageFactory.cc
parent3908d8621394511b9a491a48bd62a2d30d564a4e (diff)
2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed ExtendedMessagingAware. Instead of using inheritance, added ExtensionMessageRegistry and it is passed to DefaultExtensionMessageFactory. * src/DefaultBtInteractive.cc * src/DefaultBtInteractive.h * src/DefaultExtensionMessageFactory.cc * src/DefaultExtensionMessageFactory.h * src/ExtendedMessagingAware.h: Removed. * src/ExtensionMessageFactory.h * src/ExtensionMessageRegistry.h: Added. * src/Makefile.am * src/PeerInteractionCommand.cc * test/DefaultExtensionMessageFactoryTest.cc
Diffstat (limited to 'src/DefaultExtensionMessageFactory.cc')
-rw-r--r--src/DefaultExtensionMessageFactory.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/DefaultExtensionMessageFactory.cc b/src/DefaultExtensionMessageFactory.cc
index b8ccee7e..006540b2 100644
--- a/src/DefaultExtensionMessageFactory.cc
+++ b/src/DefaultExtensionMessageFactory.cc
@@ -42,16 +42,20 @@
#include "Logger.h"
#include "StringFormat.h"
#include "PeerStorage.h"
+#include "ExtensionMessageRegistry.h"
namespace aria2 {
DefaultExtensionMessageFactory::DefaultExtensionMessageFactory():
_logger(LogFactory::getInstance()) {}
-DefaultExtensionMessageFactory::DefaultExtensionMessageFactory(const BtContextHandle& btContext,
- const PeerHandle& peer):
+DefaultExtensionMessageFactory::DefaultExtensionMessageFactory
+(const BtContextHandle& btContext,
+ const PeerHandle& peer,
+ const SharedHandle<ExtensionMessageRegistry>& registry):
_btContext(btContext),
_peer(peer),
+ _registry(registry),
_logger(LogFactory::getInstance()) {}
DefaultExtensionMessageFactory::~DefaultExtensionMessageFactory() {}
@@ -67,7 +71,7 @@ DefaultExtensionMessageFactory::createMessage(const unsigned char* data, size_t
m->setPeer(_peer);
return m;
} else {
- std::string extensionName = getExtensionName(extensionMessageID);
+ std::string extensionName = _registry->getExtensionName(extensionMessageID);
if(extensionName.empty()) {
throw DlAbortEx
(StringFormat("No extension registered for extended message ID %u",