diff options
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | menuitems.c | 4 | ||||
-rw-r--r-- | menuitems.h | 8 | ||||
-rw-r--r-- | timers.c | 14 | ||||
-rw-r--r-- | timers.h | 14 | ||||
-rw-r--r-- | vdr.5 | 6 |
6 files changed, 25 insertions, 23 deletions
@@ -4116,3 +4116,5 @@ Video Disk Recorder Revision History - Any cReceivers still attached to a cDevice when that device switches to a different transponder are now automatically detached (suggested by Patrick Fischer). +- The "flags" of a timer are now handled as an unsigned integer value. In order + to do this, the interface of cMenuEditBitItem also had to be changed. diff --git a/menuitems.c b/menuitems.c index 77f532c1..04b25d58 100644 --- a/menuitems.c +++ b/menuitems.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.c 1.25 2006/01/03 12:47:39 kls Exp $ + * $Id: menuitems.c 1.26 2006/01/06 14:19:06 kls Exp $ */ #include "menuitems.h" @@ -116,7 +116,7 @@ void cMenuEditBoolItem::Set(void) // --- cMenuEditBitItem ------------------------------------------------------ -cMenuEditBitItem::cMenuEditBitItem(const char *Name, int *Value, int Mask, const char *FalseString, const char *TrueString) +cMenuEditBitItem::cMenuEditBitItem(const char *Name, uint *Value, uint Mask, const char *FalseString, const char *TrueString) :cMenuEditBoolItem(Name, &bit, FalseString, TrueString) { value = Value; diff --git a/menuitems.h b/menuitems.h index c54f147e..ce252b1e 100644 --- a/menuitems.h +++ b/menuitems.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.h 1.13 2006/01/03 12:45:38 kls Exp $ + * $Id: menuitems.h 1.14 2006/01/06 14:19:12 kls Exp $ */ #ifndef __MENUITEMS_H @@ -44,12 +44,12 @@ public: class cMenuEditBitItem : public cMenuEditBoolItem { protected: - int *value; + uint *value; + uint mask; int bit; - int mask; virtual void Set(void); public: - cMenuEditBitItem(const char *Name, int *Value, int Mask, const char *FalseString = NULL, const char *TrueString = NULL); + cMenuEditBitItem(const char *Name, uint *Value, uint Mask, const char *FalseString = NULL, const char *TrueString = NULL); }; class cMenuEditNumItem : public cMenuEditItem { @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: timers.c 1.39 2006/01/03 11:45:19 kls Exp $ + * $Id: timers.c 1.40 2006/01/06 14:14:59 kls Exp $ */ #include "timers.h" @@ -110,7 +110,7 @@ cString cTimer::ToText(bool UseChannelID) char *buffer; strreplace(file, ':', '|'); strreplace(summary, '\n', '|'); - asprintf(&buffer, "%d:%s:%s:%04d:%04d:%d:%d:%s:%s\n", flags, UseChannelID ? *Channel()->GetChannelID().ToString() : *itoa(Channel()->Number()), *PrintDay(day, weekdays), start, stop, priority, lifetime, file, summary ? summary : ""); + asprintf(&buffer, "%u:%s:%s:%04d:%04d:%d:%d:%s:%s\n", flags, UseChannelID ? *Channel()->GetChannelID().ToString() : *itoa(Channel()->Number()), *PrintDay(day, weekdays), start, stop, priority, lifetime, file, summary ? summary : ""); strreplace(summary, '|', '\n'); strreplace(file, '|', ':'); return cString(buffer, true); @@ -244,7 +244,7 @@ bool cTimer::Parse(const char *s) s = s2; } bool result = false; - if (8 <= sscanf(s, "%d :%a[^:]:%a[^:]:%d :%d :%d :%d :%a[^:\n]:%a[^\n]", &flags, &channelbuffer, &daybuffer, &start, &stop, &priority, &lifetime, &filebuffer, &summary)) { + if (8 <= sscanf(s, "%u :%a[^:]:%a[^:]:%d :%d :%d :%d :%a[^:\n]:%a[^\n]", &flags, &channelbuffer, &daybuffer, &start, &stop, &priority, &lifetime, &filebuffer, &summary)) { if (summary && !*skipspace(summary)) { free(summary); summary = NULL; @@ -467,22 +467,22 @@ void cTimer::SetPriority(int Priority) priority = Priority; } -void cTimer::SetFlags(int Flags) +void cTimer::SetFlags(uint Flags) { flags |= Flags; } -void cTimer::ClrFlags(int Flags) +void cTimer::ClrFlags(uint Flags) { flags &= ~Flags; } -void cTimer::InvFlags(int Flags) +void cTimer::InvFlags(uint Flags) { flags ^= Flags; } -bool cTimer::HasFlags(int Flags) const +bool cTimer::HasFlags(uint Flags) const { return (flags & Flags) == Flags; } @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: timers.h 1.22 2006/01/03 11:45:26 kls Exp $ + * $Id: timers.h 1.23 2006/01/06 14:13:17 kls Exp $ */ #ifndef __TIMERS_H @@ -29,7 +29,7 @@ class cTimer : public cListObject { private: mutable time_t startTime, stopTime; bool recording, pending, inVpsMargin; - int flags; + uint flags; cChannel *channel; mutable time_t day; ///< midnight of the day this timer shall hit, or of the first day it shall hit in case of a repeating timer int weekdays; ///< bitmask, lowest bits: SSFTWTM (the 'M' is the LSB) @@ -49,7 +49,7 @@ public: bool Recording(void) const { return recording; } bool Pending(void) const { return pending; } bool InVpsMargin(void) const { return inVpsMargin; } - int Flags(void) const { return flags; } + uint Flags(void) const { return flags; } const cChannel *Channel(void) const { return channel; } time_t Day(void) const { return day; } int WeekDays(void) const { return weekdays; } @@ -82,10 +82,10 @@ public: void SetPending(bool Pending); void SetInVpsMargin(bool InVpsMargin); void SetPriority(int Priority); - void SetFlags(int Flags); - void ClrFlags(int Flags); - void InvFlags(int Flags); - bool HasFlags(int Flags) const; + void SetFlags(uint Flags); + void ClrFlags(uint Flags); + void InvFlags(uint Flags); + bool HasFlags(uint Flags) const; void Skip(void); void OnOff(void); cString PrintFirstDay(void) const; @@ -8,7 +8,7 @@ .\" License as specified in the file COPYING that comes with the .\" vdr distribution. .\" -.\" $Id: vdr.5 1.40 2005/12/25 11:08:40 kls Exp $ +.\" $Id: vdr.5 1.41 2006/01/06 14:21:49 kls Exp $ .\" .TH vdr 5 "19 Mar 2005" "1.3.38" "Video Disk Recorder Files" .SH NAME @@ -207,7 +207,7 @@ separated by ':' characters. Example: The fields in a timer definition have the following meaning (from left to right): .TP -.B Status +.B Flags The individual bits in this field have the following meaning: .TS tab (@); @@ -219,7 +219,7 @@ l l. .TE Bits other than these can be used by external programs to mark active timers and recognize if the user has modified them. When a user modifies an active -timer, the upper 16 bits of this 32 bit parameter will be explicitly set to 0. +timer, the upper 16 bits of this unsigned 32 bit parameter will be explicitly set to 0. Note: in order to allow future extensibility, external programs using the \fBstatus\fR parameter should only use the upper 16 bit of this 32 bit parameter |