diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2003-08-31 11:26:46 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2003-08-31 11:26:46 +0200 |
commit | 105825f3127e4edc5c490d67baf34abe2983b611 (patch) | |
tree | 3c81927b271b09ed6299ded2b0339340ff4a95a3 | |
parent | cf45c66062b61e46cb796702dad85854528a3a16 (diff) | |
download | vdr-105825f3127e4edc5c490d67baf34abe2983b611.tar.gz vdr-105825f3127e4edc5c490d67baf34abe2983b611.tar.bz2 |
Actually implemented the SVDRP command DELC
-rw-r--r-- | HISTORY | 3 | ||||
-rw-r--r-- | svdrp.c | 28 |
2 files changed, 27 insertions, 4 deletions
@@ -2330,7 +2330,7 @@ Video Disk Recorder Revision History - Avoiding an unnecessary stop of an ongoing Transfer Mode when starting a recording on the primary device. -2003-08-30: Version 1.2.5pre1 +2003-08-31: Version 1.2.5pre1 - Now explicitly handling exit value 0 and 2 in 'runvdr'. - Added a missing 'w' to the allowed characters for Finnish and Swedish (thanks @@ -2345,3 +2345,4 @@ Video Disk Recorder Revision History directly (thanks to Oliver Endriss). This also improves navigating through DVD menus with the DVD plugin. - Fixed handling extra blanks in plugin command lines. +- Actually implemented the SVDRP command DELC. @@ -10,7 +10,7 @@ * and interact with the Video Disk Recorder - or write a full featured * graphical interface that sits on top of an SVDRP connection. * - * $Id: svdrp.c 1.54 2003/08/30 09:35:00 kls Exp $ + * $Id: svdrp.c 1.55 2003/08/31 11:24:47 kls Exp $ */ #include "svdrp.h" @@ -464,8 +464,30 @@ void cSVDRP::CmdCLRE(const char *Option) void cSVDRP::CmdDELC(const char *Option) { - //TODO combine this with menu action (timers must be updated) - Reply(502, "DELC not yet implemented"); + if (*Option) { + if (isnumber(Option)) { + cChannel *channel = Channels.GetByNumber(strtol(Option, NULL, 10)); + if (channel) { + for (cTimer *timer = Timers.First(); timer; timer = Timers.Next(timer)) { + if (timer->Channel() == channel) { + Reply(550, "Channel \"%s\" is in use by timer %d", Option, timer->Index() + 1); + return; + } + } + Channels.Del(channel); + Channels.ReNumber(); + Channels.Save(); + isyslog("channel %s deleted", Option); + Reply(250, "Channel \"%s\" deleted", Option); + } + else + Reply(501, "Channel \"%s\" not defined", Option); + } + else + Reply(501, "Error in channel number \"%s\"", Option); + } + else + Reply(501, "Missing channel number"); } void cSVDRP::CmdDELR(const char *Option) |