mirror of https://github.com/aria2/aria2
Change the way to receive resulting gids in addUri, addMetalink
parent
e4996e563b
commit
8940d2aafd
|
@ -54,8 +54,7 @@ int main()
|
|||
// Download files are stored in the current directory
|
||||
aria2::KeyVals options = { std::make_pair("dir", ".") };
|
||||
// Add URI
|
||||
aria2::A2Gid gid;
|
||||
aria2::addUri(session, gid, uris, options);
|
||||
aria2::addUri(session, 0, uris, options);
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
for(;;) {
|
||||
int rv = aria2::run(session, aria2::RUN_ONCE);
|
||||
|
|
|
@ -113,9 +113,8 @@ struct AddUriJob : public Job {
|
|||
{}
|
||||
virtual void execute(aria2::Session* session)
|
||||
{
|
||||
aria2::A2Gid gid;
|
||||
// TODO check return value
|
||||
aria2::addUri(session, gid, uris, options);
|
||||
aria2::addUri(session, 0, uris, options);
|
||||
}
|
||||
std::vector<std::string> uris;
|
||||
aria2::KeyVals options;
|
||||
|
|
|
@ -226,7 +226,7 @@ void addRequestGroup(const SharedHandle<RequestGroup>& group,
|
|||
} // namespace
|
||||
|
||||
int addUri(Session* session,
|
||||
A2Gid& gid,
|
||||
A2Gid* gid,
|
||||
const std::vector<std::string>& uris,
|
||||
const KeyVals& options,
|
||||
int position)
|
||||
|
@ -246,14 +246,16 @@ int addUri(Session* session,
|
|||
/* ignoreForceSeq = */ true,
|
||||
/* ignoreLocalPath = */ true);
|
||||
if(!result.empty()) {
|
||||
gid = result.front()->getGID();
|
||||
addRequestGroup(result.front(), e, position);
|
||||
if(gid) {
|
||||
*gid = result.front()->getGID();
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int addMetalink(Session* session,
|
||||
std::vector<A2Gid>& gids,
|
||||
std::vector<A2Gid>* gids,
|
||||
const std::string& metalinkFile,
|
||||
const KeyVals& options,
|
||||
int position)
|
||||
|
@ -278,9 +280,11 @@ int addMetalink(Session* session,
|
|||
} else {
|
||||
e->getRequestGroupMan()->addReservedGroup(result);
|
||||
}
|
||||
for(std::vector<SharedHandle<RequestGroup> >::const_iterator i =
|
||||
result.begin(), eoi = result.end(); i != eoi; ++i) {
|
||||
gids.push_back((*i)->getGID());
|
||||
if(gids) {
|
||||
for(std::vector<SharedHandle<RequestGroup> >::const_iterator i =
|
||||
result.begin(), eoi = result.end(); i != eoi; ++i) {
|
||||
(*gids).push_back((*i)->getGID());
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
|
|
@ -138,33 +138,33 @@ A2Gid hexToGid(const std::string& hex);
|
|||
bool isNull(const A2Gid& gid);
|
||||
|
||||
// Adds new HTTP(S)/FTP/BitTorrent Magnet URI. On successful return,
|
||||
// the |gid| includes the GID of newly added download. The |uris|
|
||||
// includes URI to be downloaded. For BitTorrent Magnet URI, the
|
||||
// |uris| must have only one element and it should be BitTorrent
|
||||
// Magnet URI. URIs in uris must point to the same file. If you mix
|
||||
// other URIs which point to another file, aria2 does not complain but
|
||||
// download may fail. The |options| is a pair of option name and
|
||||
// value. If the |position| is not negative integer, the new download
|
||||
// is inserted at position in the waiting queue. If the |position| is
|
||||
// negative or the |position| is larger than the size of the queue, it
|
||||
// is appended at the end of the queue. This function returns 0 if it
|
||||
// succeeds, or -1.
|
||||
// if the |gid| is not NULL, the GID of added download will be
|
||||
// assigned to the |*gid|. The |uris| includes URI to be downloaded.
|
||||
// For BitTorrent Magnet URI, the |uris| must have only one element
|
||||
// and it should be BitTorrent Magnet URI. URIs in uris must point to
|
||||
// the same file. If you mix other URIs which point to another file,
|
||||
// aria2 does not complain but download may fail. The |options| is a
|
||||
// pair of option name and value. If the |position| is not negative
|
||||
// integer, the new download is inserted at position in the waiting
|
||||
// queue. If the |position| is negative or the |position| is larger
|
||||
// than the size of the queue, it is appended at the end of the queue.
|
||||
// This function returns 0 if it succeeds, or -1.
|
||||
int addUri(Session* session,
|
||||
A2Gid& gid,
|
||||
A2Gid* gid,
|
||||
const std::vector<std::string>& uris,
|
||||
const KeyVals& options,
|
||||
int position = -1);
|
||||
|
||||
// Adds Metalink download. The path to Metalink file is specified by
|
||||
// the |metalinkFile|. On successful return, the GID of added
|
||||
// download is appended to the |gids|. The |options| is a pair of
|
||||
// option name and value. If the |position| is not negative integer,
|
||||
// the new download is inserted at position in the waiting queue. If
|
||||
// the |position| is negative or the |position| is larger than the
|
||||
// size of the queue, it is appended at the end of the queue. This
|
||||
// function returns 0 if it succeeds, or -1.
|
||||
// the |metalinkFile|. On successful return, if the |gids| is not
|
||||
// NULL, the GIDs of added downloads are appended to the |*gids|. The
|
||||
// |options| is a pair of option name and value. If the |position| is
|
||||
// not negative integer, the new download is inserted at position in
|
||||
// the waiting queue. If the |position| is negative or the |position|
|
||||
// is larger than the size of the queue, it is appended at the end of
|
||||
// the queue. This function returns 0 if it succeeds, or -1.
|
||||
int addMetalink(Session* session,
|
||||
std::vector<A2Gid>& gids,
|
||||
std::vector<A2Gid>* gids,
|
||||
const std::string& metalinkFile,
|
||||
const KeyVals& options,
|
||||
int position = -1);
|
||||
|
|
Loading…
Reference in New Issue