summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-05-09 21:28:24 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-05-09 21:28:24 +0900
commit8940d2aafdf4de74b88cb1be9659426b933d775d (patch)
treed50b6fb02902f460bf3e50516e65c781c01df7a2 /src
parente4996e563bf542eb900d5892d2d9cae15bd2c16f (diff)
Change the way to receive resulting gids in addUri, addMetalink
Diffstat (limited to 'src')
-rw-r--r--src/aria2api.cc16
-rw-r--r--src/includes/aria2/aria2.h40
2 files changed, 30 insertions, 26 deletions
diff --git a/src/aria2api.cc b/src/aria2api.cc
index 7c61d3be..a23e0fea 100644
--- a/src/aria2api.cc
+++ b/src/aria2api.cc
@@ -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;
diff --git a/src/includes/aria2/aria2.h b/src/includes/aria2/aria2.h
index 9e025866..2aef3d83 100644
--- a/src/includes/aria2/aria2.h
+++ b/src/includes/aria2/aria2.h
@@ -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);