summaryrefslogtreecommitdiff
path: root/src/MultiUrlRequestInfo.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-03-20 21:42:09 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-03-20 21:42:09 +0900
commitf4e2c7f0603fdb0609bf163ee5ea683a44b98d69 (patch)
tree18227134780ec9417ecc7b24969f35725a377e04 /src/MultiUrlRequestInfo.cc
parentf16511012e28d1303e300e695b310d01b6200c2c (diff)
Added JSON-RPC over WebSocket.
Wslay library must be placed under deps/wslay.
Diffstat (limited to 'src/MultiUrlRequestInfo.cc')
-rw-r--r--src/MultiUrlRequestInfo.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/MultiUrlRequestInfo.cc b/src/MultiUrlRequestInfo.cc
index a754c1c6..0053a99d 100644
--- a/src/MultiUrlRequestInfo.cc
+++ b/src/MultiUrlRequestInfo.cc
@@ -61,6 +61,9 @@
#include "SocketCore.h"
#include "OutputFile.h"
#include "UriListParser.h"
+#include "SingletonHolder.h"
+#include "Notifier.h"
+#include "WebSocketSessionMan.h"
#ifdef ENABLE_SSL
# include "TLSContext.h"
#endif // ENABLE_SSL
@@ -167,6 +170,13 @@ error_code::Value MultiUrlRequestInfo::execute()
{
error_code::Value returnValue = error_code::FINISHED;
try {
+ SharedHandle<rpc::WebSocketSessionMan> wsSessionMan;
+ if(option_->getAsBool(PREF_ENABLE_RPC)) {
+ wsSessionMan.reset(new rpc::WebSocketSessionMan());
+ }
+ Notifier notifier(wsSessionMan);
+ SingletonHolder<Notifier>::instance(&notifier);
+
DownloadEngineHandle e =
DownloadEngineFactory().newDownloadEngine(option_.get(), requestGroups_);
@@ -290,6 +300,7 @@ error_code::Value MultiUrlRequestInfo::execute()
}
A2_LOG_ERROR_EX(EX_EXCEPTION_CAUGHT, e);
}
+ SingletonHolder<Notifier>::instance(0);
#ifdef SIGHUP
util::setGlobalSignalHandler(SIGHUP, SIG_DFL, 0);
#endif // SIGHUP