1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Actually implemented the SVDRP command DELC

This commit is contained in:
Klaus Schmidinger 2003-08-31 11:26:46 +02:00
parent cf45c66062
commit 105825f312
2 changed files with 27 additions and 4 deletions

View File

@ -2330,7 +2330,7 @@ Video Disk Recorder Revision History
- Avoiding an unnecessary stop of an ongoing Transfer Mode when starting a - Avoiding an unnecessary stop of an ongoing Transfer Mode when starting a
recording on the primary device. 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'. - Now explicitly handling exit value 0 and 2 in 'runvdr'.
- Added a missing 'w' to the allowed characters for Finnish and Swedish (thanks - 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 directly (thanks to Oliver Endriss). This also improves navigating through DVD
menus with the DVD plugin. menus with the DVD plugin.
- Fixed handling extra blanks in plugin command lines. - Fixed handling extra blanks in plugin command lines.
- Actually implemented the SVDRP command DELC.

28
svdrp.c
View File

@ -10,7 +10,7 @@
* and interact with the Video Disk Recorder - or write a full featured * and interact with the Video Disk Recorder - or write a full featured
* graphical interface that sits on top of an SVDRP connection. * 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" #include "svdrp.h"
@ -464,8 +464,30 @@ void cSVDRP::CmdCLRE(const char *Option)
void cSVDRP::CmdDELC(const char *Option) void cSVDRP::CmdDELC(const char *Option)
{ {
//TODO combine this with menu action (timers must be updated) if (*Option) {
Reply(502, "DELC not yet implemented"); 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) void cSVDRP::CmdDELR(const char *Option)