/* */ #include "XmlRpcMethodImpl.h" #include #include #include "Logger.h" #include "BDE.h" #include "DlAbortEx.h" #include "Option.h" #include "OptionParser.h" #include "OptionHandler.h" #include "DownloadEngine.h" #include "RequestGroup.h" #include "download_helper.h" #include "Util.h" #include "RequestGroupMan.h" #include "StringFormat.h" #include "XmlRpcRequest.h" #include "PieceStorage.h" #include "PeerStorage.h" #include "BtContext.h" #include "BtRegistry.h" #include "Peer.h" #include "DiskAdaptor.h" #include "FileEntry.h" #include "BtProgressInfoFile.h" #include "BtRuntime.h" #include "BtAnnounce.h" namespace aria2 { namespace xmlrpc { static BDE createGIDResponse(int32_t gid) { return BDE(Util::itos(gid)); } BDE AddUriXmlRpcMethod::process(const XmlRpcRequest& req, DownloadEngine* e) { const BDE& params = req._params; assert(params.isList()); if(params.empty() || !params[0].isList() || params[0].empty()) { throw DlAbortEx("URI is not provided."); } std::deque uris; for(BDE::List::const_iterator i = params[0].listBegin(); i != params[0].listEnd(); ++i) { if((*i).isString()) { uris.push_back((*i).s()); } } SharedHandle