summaryrefslogtreecommitdiff
path: root/src/RpcMethodImpl.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-05-01 16:58:34 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-05-01 16:58:34 +0900
commitbbc8866cfb28c1ca867672f963b23803a65877f1 (patch)
tree5b74bcec51f3e39a0ee1deda174b571702bb8848 /src/RpcMethodImpl.cc
parent4c50544f1aff35ffbe467e6aaf74c9f57ec73a57 (diff)
Add removeDownload, pauseDownload and unpauseDownload API function
Diffstat (limited to 'src/RpcMethodImpl.cc')
-rw-r--r--src/RpcMethodImpl.cc50
1 files changed, 24 insertions, 26 deletions
diff --git a/src/RpcMethodImpl.cc b/src/RpcMethodImpl.cc
index 56b5bbcf..fa6d5a3b 100644
--- a/src/RpcMethodImpl.cc
+++ b/src/RpcMethodImpl.cc
@@ -422,32 +422,6 @@ SharedHandle<ValueBase> ForceRemoveRpcMethod::process
}
namespace {
-bool pauseRequestGroup
-(const SharedHandle<RequestGroup>& group, bool reserved, bool forcePause)
-{
- if((reserved && !group->isPauseRequested()) ||
- (!reserved &&
- !group->isForceHaltRequested() &&
- ((forcePause && group->isHaltRequested() && group->isPauseRequested()) ||
- (!group->isHaltRequested() && !group->isPauseRequested())))) {
- if(!reserved) {
- // Call setHaltRequested before setPauseRequested because
- // setHaltRequested calls setPauseRequested(false) internally.
- if(forcePause) {
- group->setForceHaltRequested(true, RequestGroup::NONE);
- } else {
- group->setHaltRequested(true, RequestGroup::NONE);
- }
- }
- group->setPauseRequested(true);
- return true;
- } else {
- return false;
- }
-}
-} // namespace
-
-namespace {
SharedHandle<ValueBase> pauseDownload
(const RpcRequest& req, DownloadEngine* e, bool forcePause)
{
@@ -1546,4 +1520,28 @@ SharedHandle<ValueBase> NoSuchMethodRpcMethod::process
} // namespace rpc
+bool pauseRequestGroup
+(const SharedHandle<RequestGroup>& group, bool reserved, bool forcePause)
+{
+ if((reserved && !group->isPauseRequested()) ||
+ (!reserved &&
+ !group->isForceHaltRequested() &&
+ ((forcePause && group->isHaltRequested() && group->isPauseRequested()) ||
+ (!group->isHaltRequested() && !group->isPauseRequested())))) {
+ if(!reserved) {
+ // Call setHaltRequested before setPauseRequested because
+ // setHaltRequested calls setPauseRequested(false) internally.
+ if(forcePause) {
+ group->setForceHaltRequested(true, RequestGroup::NONE);
+ } else {
+ group->setHaltRequested(true, RequestGroup::NONE);
+ }
+ }
+ group->setPauseRequested(true);
+ return true;
+ } else {
+ return false;
+ }
+}
+
} // namespace aria2