From: fredrik Date: Sun, 29 Apr 2007 18:11:29 +0000 (+0000) Subject: Added reset command for downloads. X-Git-Tag: 0.4~91 X-Git-Url: http://dolda2000.com/gitweb/?p=doldaconnect.git;a=commitdiff_plain;h=4a9a79b305b928f53b8820c1cf5372afb8f7a421 Added reset command for downloads. git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@979 959494ce-11ee-0310-bf91-de5d638817bd --- diff --git a/daemon/ui.c b/daemon/ui.c index 467970e..bdff17b 100644 --- a/daemon/ui.c +++ b/daemon/ui.c @@ -361,7 +361,7 @@ static void cmd_connect(struct socket *sk, struct uidata *data, int argc, wchar_ return; } } - sq(sk, 0, L"201", L"1", L"1", L"Dolda Connect daemon v" VERSION, NULL); + sq(sk, 0, L"201", L"1", L"2", L"Dolda Connect daemon v" VERSION, NULL); } static void cmd_notfound(struct socket *sk, struct uidata *data, int argc, wchar_t **argv) @@ -839,6 +839,26 @@ static void cmd_cancel(struct socket *sk, struct uidata *data, int argc, wchar_t sq(sk, 0, L"200", L"Transfer cancelled", NULL); } +static void cmd_reset(struct socket *sk, struct uidata *data, int argc, wchar_t **argv) +{ + struct transfer *transfer; + + haveargs(2); + havepriv(PERM_TRANS); + if((transfer = findtransfer(wcstol(argv[1], NULL, 0))) == NULL) + { + sq(sk, 0, L"512", L"No such transfer", NULL); + return; + } + if(transfer->dir == TRNSD_UP) + { + sq(sk, 0, L"512", L"Only applicable to downloads", NULL); + return; + } + resettransfer(transfer); + sq(sk, 0, L"200", L"Transfer reset", NULL); +} + static void cmd_notify(struct socket *sk, struct uidata *data, int argc, wchar_t **argv) { int i, val; @@ -1344,6 +1364,7 @@ static struct command commands[] = {L"download", cmd_download}, {L"lstrans", cmd_lstrans}, {L"cancel", cmd_cancel}, + {L"reset", cmd_reset}, {L"notify", cmd_notify}, {L"sendchat", cmd_sendchat}, {L"search", cmd_search},