24 #define ChkDoublePlausibility(Variable, Default) { if (Variable < 0.00001) Variable = Default; } 37 const char *p = strchr(s,
'/');
40 int m = strtoul(p + 1, &error, 10);
41 if (error && *error && !isspace(*error) || m > 32)
51 int result = inet_aton(s, &
addr);
54 return result != 0 && (
mask != 0 ||
addr.s_addr == 0);
59 return addr.s_addr == htonl(INADDR_LOOPBACK);
87 int n = strtol(p, &t, 10);
92 esyslog(
"ERROR: too many sat cable numbers in '%s'", s);
97 esyslog(
"ERROR: invalid sat cable number in '%s'", s);
102 for ( ; i < size; i++)
110 for (
int i = 0; i < size; i++) {
118 if (0 <= DeviceIndex && DeviceIndex < size) {
119 if (
int CableNr = array[DeviceIndex]) {
120 for (
int i = 0; i < size; i++) {
121 if (i < DeviceIndex && array[i] == CableNr)
133 text = strdup(Text ? Text :
"");
145 return strcasecmp(text, ((
cNestedItem *)&ListObject)->text);
159 text = strdup(Text ? Text :
"");
166 else if (!On && subItems) {
188 while ((s = ReadLine.
Read(f)) != NULL) {
190 char *p = strchr(s,
'#');
195 p = s + strlen(s) - 1;
216 if (Item->SubItems()) {
217 fprintf(f,
"%*s%s {\n", Indent,
"", Item->Text());
218 Write(f, Item->SubItems(), Indent + 2);
219 fprintf(f,
"%*s}\n", Indent + 2,
"");
222 fprintf(f,
"%*s%s\n", Indent,
"", Item->Text());
239 fileName = strdup(FileName);
242 if (fileName && access(fileName, F_OK) == 0) {
243 isyslog(
"loading %s", fileName);
244 FILE *f = fopen(fileName,
"r");
247 result =
Parse(f,
this, Line);
263 result = Write(f,
this);
309 plugin = name = value = NULL;
316 plugin = Plugin ?
strreplace(strdup(Plugin),
'\n', 0) : NULL;
329 if (!plugin && !sl->
plugin)
330 return strcasecmp(name, sl->
name);
335 int result = strcasecmp(plugin, sl->
plugin);
337 result = strcasecmp(name, sl->
name);
343 char *p = strchr(s,
'=');
349 p = strchr(Name,
'.');
354 if (!(*Plugin && *Name))
356 plugin = strdup(Plugin);
359 value = strdup(Value);
368 return fprintf(f,
"%s%s%s = %s\n", plugin ? plugin :
"", plugin ?
"." :
"", name, value) > 0;
377 strcpy(OSDLanguage,
"");
378 strcpy(OSDSkin,
"lcars");
379 strcpy(OSDTheme,
"default");
381 ShowInfoOnChSwitch = 1;
382 TimeoutRequChInfo = 1;
386 MarkInstantRecord = 1;
396 PositionerSpeed = 15;
397 PositionerSwing = 650;
398 PositionerLastLon = 0;
405 AudioLanguages[0] = -1;
406 DisplaySubtitles = 0;
408 SubtitleLanguages[0] = -1;
410 SubtitleFgTransparency = 0;
411 SubtitleBgTransparency = 0;
412 EPGLanguages[0] = -1;
418 ChannelEntryTimeout = 1000;
421 DefaultPriority = 50;
423 PauseKeyHandling = 2;
430 FoldersInTimerMenu = 1;
431 AlwaysSortFoldersFirst = 1;
432 NumberKeysForChars = 1;
437 VideoDisplayFormat = 1;
458 FontOsdSizeP = 0.031;
459 FontSmlSizeP = 0.028;
460 FontFixSizeP = 0.030;
465 SplitEditedFiles = 0;
468 MinEventTimeout = 30;
469 MinUserInactivity = 300;
473 ShowRemainingTime = 0;
474 ProgressDisplayTime = 0;
479 AdaptiveSkipInitial = 120;
480 AdaptiveSkipTimeout = 3;
481 AdaptiveSkipAlternate = 0;
482 AdaptiveSkipPrevNext = 0;
484 SkipSecondsRepeat = 60;
495 ShowChannelNamesWithSource = 0;
510 if ((l->Plugin() == NULL) == (Plugin == NULL)) {
511 if ((!Plugin || strcasecmp(l->Plugin(), Plugin) == 0) && strcasecmp(l->Name(), Name) == 0)
518 void cSetup::Store(
const char *Name,
const char *Value,
const char *Plugin,
bool AllowMultiple)
522 if (l && !AllowMultiple)
536 Store(Name,
dtoa(Value), Plugin);
547 if (p && !p->
SetupParse(l->Name(), l->Value()))
551 if (!
Parse(l->Name(), l->Value()))
555 esyslog(
"ERROR: unknown config parameter: %s%s%s = %s", l->Plugin() ? l->Plugin() :
"", l->Plugin() ?
"." :
"", l->Name(), l->Value());
588 strn0cpy(buffer, Value,
sizeof(buffer));
592 if ((Value = strchr(Value,
' ')) != NULL)
601 if (!strcasecmp(Name,
"OSDLanguage")) {
strn0cpy(OSDLanguage, Value,
sizeof(OSDLanguage));
I18nSetLocale(OSDLanguage); }
604 else if (!strcasecmp(Name,
"PrimaryDVB")) PrimaryDVB = atoi(Value);
605 else if (!strcasecmp(Name,
"ShowInfoOnChSwitch")) ShowInfoOnChSwitch = atoi(Value);
606 else if (!strcasecmp(Name,
"TimeoutRequChInfo")) TimeoutRequChInfo = atoi(Value);
607 else if (!strcasecmp(Name,
"MenuScrollPage")) MenuScrollPage = atoi(Value);
608 else if (!strcasecmp(Name,
"MenuScrollWrap")) MenuScrollWrap = atoi(Value);
609 else if (!strcasecmp(Name,
"MenuKeyCloses")) MenuKeyCloses = atoi(Value);
610 else if (!strcasecmp(Name,
"MarkInstantRecord")) MarkInstantRecord = atoi(Value);
611 else if (!strcasecmp(Name,
"NameInstantRecord"))
Utf8Strn0Cpy(NameInstantRecord, Value,
sizeof(NameInstantRecord));
612 else if (!strcasecmp(Name,
"InstantRecordTime")) InstantRecordTime = atoi(Value);
613 else if (!strcasecmp(Name,
"LnbSLOF")) LnbSLOF = atoi(Value);
614 else if (!strcasecmp(Name,
"LnbFrequLo")) LnbFrequLo = atoi(Value);
615 else if (!strcasecmp(Name,
"LnbFrequHi")) LnbFrequHi = atoi(Value);
616 else if (!strcasecmp(Name,
"DiSEqC")) DiSEqC = atoi(Value);
617 else if (!strcasecmp(Name,
"UsePositioner")) UsePositioner = atoi(Value);
618 else if (!strcasecmp(Name,
"SiteLat")) SiteLat = atoi(Value);
619 else if (!strcasecmp(Name,
"SiteLon")) SiteLon = atoi(Value);
620 else if (!strcasecmp(Name,
"PositionerSpeed")) PositionerSpeed = atoi(Value);
621 else if (!strcasecmp(Name,
"PositionerSwing")) PositionerSwing = atoi(Value);
622 else if (!strcasecmp(Name,
"PositionerLastLon")) PositionerLastLon = atoi(Value);
623 else if (!strcasecmp(Name,
"SetSystemTime")) SetSystemTime = atoi(Value);
625 else if (!strcasecmp(Name,
"TimeTransponder")) TimeTransponder = atoi(Value);
626 else if (!strcasecmp(Name,
"StandardCompliance")) StandardCompliance = atoi(Value);
627 else if (!strcasecmp(Name,
"MarginStart")) MarginStart = atoi(Value);
628 else if (!strcasecmp(Name,
"MarginStop")) MarginStop = atoi(Value);
629 else if (!strcasecmp(Name,
"AudioLanguages"))
return ParseLanguages(Value, AudioLanguages);
630 else if (!strcasecmp(Name,
"DisplaySubtitles")) DisplaySubtitles = atoi(Value);
631 else if (!strcasecmp(Name,
"SupportTeletext")) SupportTeletext = atoi(Value);
632 else if (!strcasecmp(Name,
"SubtitleLanguages"))
return ParseLanguages(Value, SubtitleLanguages);
633 else if (!strcasecmp(Name,
"SubtitleOffset")) SubtitleOffset = atoi(Value);
634 else if (!strcasecmp(Name,
"SubtitleFgTransparency")) SubtitleFgTransparency = atoi(Value);
635 else if (!strcasecmp(Name,
"SubtitleBgTransparency")) SubtitleBgTransparency = atoi(Value);
636 else if (!strcasecmp(Name,
"EPGLanguages"))
return ParseLanguages(Value, EPGLanguages);
637 else if (!strcasecmp(Name,
"EPGScanTimeout")) EPGScanTimeout = atoi(Value);
638 else if (!strcasecmp(Name,
"EPGBugfixLevel")) EPGBugfixLevel = atoi(Value);
639 else if (!strcasecmp(Name,
"EPGLinger")) EPGLinger = atoi(Value);
640 else if (!strcasecmp(Name,
"SVDRPTimeout")) SVDRPTimeout = atoi(Value);
641 else if (!strcasecmp(Name,
"ZapTimeout")) ZapTimeout = atoi(Value);
642 else if (!strcasecmp(Name,
"ChannelEntryTimeout")) ChannelEntryTimeout= atoi(Value);
643 else if (!strcasecmp(Name,
"RcRepeatDelay")) RcRepeatDelay = atoi(Value);
644 else if (!strcasecmp(Name,
"RcRepeatDelta")) RcRepeatDelta = atoi(Value);
645 else if (!strcasecmp(Name,
"DefaultPriority")) DefaultPriority = atoi(Value);
646 else if (!strcasecmp(Name,
"DefaultLifetime")) DefaultLifetime = atoi(Value);
647 else if (!strcasecmp(Name,
"PauseKeyHandling")) PauseKeyHandling = atoi(Value);
648 else if (!strcasecmp(Name,
"PausePriority")) PausePriority = atoi(Value);
649 else if (!strcasecmp(Name,
"PauseLifetime")) PauseLifetime = atoi(Value);
650 else if (!strcasecmp(Name,
"UseSubtitle")) UseSubtitle = atoi(Value);
651 else if (!strcasecmp(Name,
"UseVps")) UseVps = atoi(Value);
652 else if (!strcasecmp(Name,
"VpsMargin")) VpsMargin = atoi(Value);
653 else if (!strcasecmp(Name,
"RecordingDirs")) RecordingDirs = atoi(Value);
654 else if (!strcasecmp(Name,
"FoldersInTimerMenu")) FoldersInTimerMenu = atoi(Value);
655 else if (!strcasecmp(Name,
"AlwaysSortFoldersFirst")) AlwaysSortFoldersFirst = atoi(Value);
656 else if (!strcasecmp(Name,
"NumberKeysForChars")) NumberKeysForChars = atoi(Value);
657 else if (!strcasecmp(Name,
"ColorKey0")) ColorKey0 = atoi(Value);
658 else if (!strcasecmp(Name,
"ColorKey1")) ColorKey1 = atoi(Value);
659 else if (!strcasecmp(Name,
"ColorKey2")) ColorKey2 = atoi(Value);
660 else if (!strcasecmp(Name,
"ColorKey3")) ColorKey3 = atoi(Value);
661 else if (!strcasecmp(Name,
"VideoDisplayFormat")) VideoDisplayFormat = atoi(Value);
662 else if (!strcasecmp(Name,
"VideoFormat")) VideoFormat = atoi(Value);
663 else if (!strcasecmp(Name,
"UpdateChannels")) UpdateChannels = atoi(Value);
664 else if (!strcasecmp(Name,
"UseDolbyDigital")) UseDolbyDigital = atoi(Value);
665 else if (!strcasecmp(Name,
"ChannelInfoPos")) ChannelInfoPos = atoi(Value);
666 else if (!strcasecmp(Name,
"ChannelInfoTime")) ChannelInfoTime = atoi(Value);
667 else if (!strcasecmp(Name,
"OSDLeftP")) OSDLeftP =
atod(Value);
668 else if (!strcasecmp(Name,
"OSDTopP")) OSDTopP =
atod(Value);
671 else if (!strcasecmp(Name,
"OSDLeft")) OSDLeft = atoi(Value);
672 else if (!strcasecmp(Name,
"OSDTop")) OSDTop = atoi(Value);
673 else if (!strcasecmp(Name,
"OSDWidth")) { OSDWidth = atoi(Value); OSDWidth &= ~0x07; }
674 else if (!strcasecmp(Name,
"OSDHeight")) OSDHeight = atoi(Value);
675 else if (!strcasecmp(Name,
"OSDAspect")) OSDAspect =
atod(Value);
676 else if (!strcasecmp(Name,
"OSDMessageTime")) OSDMessageTime = atoi(Value);
677 else if (!strcasecmp(Name,
"UseSmallFont")) UseSmallFont = atoi(Value);
678 else if (!strcasecmp(Name,
"AntiAlias")) AntiAlias = atoi(Value);
685 else if (!strcasecmp(Name,
"FontOsdSize")) FontOsdSize = atoi(Value);
686 else if (!strcasecmp(Name,
"FontSmlSize")) FontSmlSize = atoi(Value);
687 else if (!strcasecmp(Name,
"FontFixSize")) FontFixSize = atoi(Value);
688 else if (!strcasecmp(Name,
"MaxVideoFileSize")) MaxVideoFileSize = atoi(Value);
689 else if (!strcasecmp(Name,
"SplitEditedFiles")) SplitEditedFiles = atoi(Value);
690 else if (!strcasecmp(Name,
"DelTimeshiftRec")) DelTimeshiftRec = atoi(Value);
691 else if (!strcasecmp(Name,
"DumpNaluFill")) DumpNaluFill = atoi(Value);
692 else if (!strcasecmp(Name,
"MinEventTimeout")) MinEventTimeout = atoi(Value);
693 else if (!strcasecmp(Name,
"MinUserInactivity")) MinUserInactivity = atoi(Value);
694 else if (!strcasecmp(Name,
"NextWakeupTime")) NextWakeupTime = atoi(Value);
695 else if (!strcasecmp(Name,
"MultiSpeedMode")) MultiSpeedMode = atoi(Value);
696 else if (!strcasecmp(Name,
"ShowReplayMode")) ShowReplayMode = atoi(Value);
697 else if (!strcasecmp(Name,
"ShowRemainingTime")) ShowRemainingTime = atoi(Value);
698 else if (!strcasecmp(Name,
"ProgressDisplayTime")) ProgressDisplayTime= atoi(Value);
699 else if (!strcasecmp(Name,
"PauseOnMarkSet")) PauseOnMarkSet = atoi(Value);
700 else if (!strcasecmp(Name,
"PauseOnMarkJump")) PauseOnMarkJump = atoi(Value);
701 else if (!strcasecmp(Name,
"SkipEdited")) SkipEdited = atoi(Value);
702 else if (!strcasecmp(Name,
"PauseAtLastMark")) PauseAtLastMark = atoi(Value);
703 else if (!strcasecmp(Name,
"AdaptiveSkipInitial")) AdaptiveSkipInitial= atoi(Value);
704 else if (!strcasecmp(Name,
"AdaptiveSkipTimeout")) AdaptiveSkipTimeout= atoi(Value);
705 else if (!strcasecmp(Name,
"AdaptiveSkipAlternate")) AdaptiveSkipAlternate = atoi(Value);
706 else if (!strcasecmp(Name,
"AdaptiveSkipPrevNext")) AdaptiveSkipPrevNext = atoi(Value);
707 else if (!strcasecmp(Name,
"SkipSeconds")) SkipSeconds = atoi(Value);
708 else if (!strcasecmp(Name,
"SkipSecondsRepeat")) SkipSecondsRepeat = atoi(Value);
709 else if (!strcasecmp(Name,
"ResumeID")) ResumeID = atoi(Value);
710 else if (!strcasecmp(Name,
"CurrentChannel")) CurrentChannel = atoi(Value);
711 else if (!strcasecmp(Name,
"CurrentVolume")) CurrentVolume = atoi(Value);
712 else if (!strcasecmp(Name,
"CurrentDolby")) CurrentDolby = atoi(Value);
713 else if (!strcasecmp(Name,
"InitialChannel")) InitialChannel = Value;
714 else if (!strcasecmp(Name,
"VolumeSteps")) VolumeSteps = atoi(Value);
715 else if (!strcasecmp(Name,
"VolumeLinearize")) VolumeLinearize = atoi(Value);
716 else if (!strcasecmp(Name,
"InitialVolume")) InitialVolume = atoi(Value);
717 else if (!strcasecmp(Name,
"DeviceBondings")) DeviceBondings = Value;
718 else if (!strcasecmp(Name,
"ChannelsWrap")) ChannelsWrap = atoi(Value);
719 else if (!strcasecmp(Name,
"ShowChannelNamesWithSource")) ShowChannelNamesWithSource = atoi(Value);
720 else if (!strcasecmp(Name,
"EmergencyExit")) EmergencyExit = atoi(Value);
729 Store(
"OSDLanguage", OSDLanguage);
730 Store(
"OSDSkin", OSDSkin);
731 Store(
"OSDTheme", OSDTheme);
732 Store(
"PrimaryDVB", PrimaryDVB);
733 Store(
"ShowInfoOnChSwitch", ShowInfoOnChSwitch);
734 Store(
"TimeoutRequChInfo", TimeoutRequChInfo);
735 Store(
"MenuScrollPage", MenuScrollPage);
736 Store(
"MenuScrollWrap", MenuScrollWrap);
737 Store(
"MenuKeyCloses", MenuKeyCloses);
738 Store(
"MarkInstantRecord", MarkInstantRecord);
739 Store(
"NameInstantRecord", NameInstantRecord);
740 Store(
"InstantRecordTime", InstantRecordTime);
741 Store(
"LnbSLOF", LnbSLOF);
742 Store(
"LnbFrequLo", LnbFrequLo);
743 Store(
"LnbFrequHi", LnbFrequHi);
744 Store(
"DiSEqC", DiSEqC);
745 Store(
"UsePositioner", UsePositioner);
746 Store(
"SiteLat", SiteLat);
747 Store(
"SiteLon", SiteLon);
748 Store(
"PositionerSpeed", PositionerSpeed);
749 Store(
"PositionerSwing", PositionerSwing);
750 Store(
"PositionerLastLon", PositionerLastLon);
751 Store(
"SetSystemTime", SetSystemTime);
753 Store(
"TimeTransponder", TimeTransponder);
754 Store(
"StandardCompliance", StandardCompliance);
755 Store(
"MarginStart", MarginStart);
756 Store(
"MarginStop", MarginStop);
757 StoreLanguages(
"AudioLanguages", AudioLanguages);
758 Store(
"DisplaySubtitles", DisplaySubtitles);
759 Store(
"SupportTeletext", SupportTeletext);
760 StoreLanguages(
"SubtitleLanguages", SubtitleLanguages);
761 Store(
"SubtitleOffset", SubtitleOffset);
762 Store(
"SubtitleFgTransparency", SubtitleFgTransparency);
763 Store(
"SubtitleBgTransparency", SubtitleBgTransparency);
764 StoreLanguages(
"EPGLanguages", EPGLanguages);
765 Store(
"EPGScanTimeout", EPGScanTimeout);
766 Store(
"EPGBugfixLevel", EPGBugfixLevel);
767 Store(
"EPGLinger", EPGLinger);
768 Store(
"SVDRPTimeout", SVDRPTimeout);
769 Store(
"ZapTimeout", ZapTimeout);
770 Store(
"ChannelEntryTimeout",ChannelEntryTimeout);
771 Store(
"RcRepeatDelay", RcRepeatDelay);
772 Store(
"RcRepeatDelta", RcRepeatDelta);
773 Store(
"DefaultPriority", DefaultPriority);
774 Store(
"DefaultLifetime", DefaultLifetime);
775 Store(
"PauseKeyHandling", PauseKeyHandling);
776 Store(
"PausePriority", PausePriority);
777 Store(
"PauseLifetime", PauseLifetime);
778 Store(
"UseSubtitle", UseSubtitle);
779 Store(
"UseVps", UseVps);
780 Store(
"VpsMargin", VpsMargin);
781 Store(
"RecordingDirs", RecordingDirs);
782 Store(
"FoldersInTimerMenu", FoldersInTimerMenu);
783 Store(
"AlwaysSortFoldersFirst", AlwaysSortFoldersFirst);
784 Store(
"NumberKeysForChars", NumberKeysForChars);
785 Store(
"ColorKey0", ColorKey0);
786 Store(
"ColorKey1", ColorKey1);
787 Store(
"ColorKey2", ColorKey2);
788 Store(
"ColorKey3", ColorKey3);
789 Store(
"VideoDisplayFormat", VideoDisplayFormat);
790 Store(
"VideoFormat", VideoFormat);
791 Store(
"UpdateChannels", UpdateChannels);
792 Store(
"UseDolbyDigital", UseDolbyDigital);
793 Store(
"ChannelInfoPos", ChannelInfoPos);
794 Store(
"ChannelInfoTime", ChannelInfoTime);
795 Store(
"OSDLeftP", OSDLeftP);
796 Store(
"OSDTopP", OSDTopP);
797 Store(
"OSDWidthP", OSDWidthP);
798 Store(
"OSDHeightP", OSDHeightP);
799 Store(
"OSDLeft", OSDLeft);
800 Store(
"OSDTop", OSDTop);
801 Store(
"OSDWidth", OSDWidth);
802 Store(
"OSDHeight", OSDHeight);
803 Store(
"OSDAspect", OSDAspect);
804 Store(
"OSDMessageTime", OSDMessageTime);
805 Store(
"UseSmallFont", UseSmallFont);
806 Store(
"AntiAlias", AntiAlias);
807 Store(
"FontOsd", FontOsd);
808 Store(
"FontSml", FontSml);
809 Store(
"FontFix", FontFix);
810 Store(
"FontOsdSizeP", FontOsdSizeP);
811 Store(
"FontSmlSizeP", FontSmlSizeP);
812 Store(
"FontFixSizeP", FontFixSizeP);
813 Store(
"FontOsdSize", FontOsdSize);
814 Store(
"FontSmlSize", FontSmlSize);
815 Store(
"FontFixSize", FontFixSize);
816 Store(
"MaxVideoFileSize", MaxVideoFileSize);
817 Store(
"SplitEditedFiles", SplitEditedFiles);
818 Store(
"DelTimeshiftRec", DelTimeshiftRec);
819 Store(
"DumpNaluFill", DumpNaluFill);
820 Store(
"MinEventTimeout", MinEventTimeout);
821 Store(
"MinUserInactivity", MinUserInactivity);
822 Store(
"NextWakeupTime", NextWakeupTime);
823 Store(
"MultiSpeedMode", MultiSpeedMode);
824 Store(
"ShowReplayMode", ShowReplayMode);
825 Store(
"ShowRemainingTime", ShowRemainingTime);
826 Store(
"ProgressDisplayTime",ProgressDisplayTime);
827 Store(
"PauseOnMarkSet", PauseOnMarkSet);
828 Store(
"PauseOnMarkJump", PauseOnMarkJump);
829 Store(
"SkipEdited", SkipEdited);
830 Store(
"PauseAtLastMark", PauseAtLastMark);
831 Store(
"AdaptiveSkipInitial",AdaptiveSkipInitial);
832 Store(
"AdaptiveSkipTimeout",AdaptiveSkipTimeout);
833 Store(
"AdaptiveSkipAlternate", AdaptiveSkipAlternate);
834 Store(
"AdaptiveSkipPrevNext", AdaptiveSkipPrevNext);
835 Store(
"SkipSeconds", SkipSeconds);
836 Store(
"SkipSecondsRepeat", SkipSecondsRepeat);
837 Store(
"ResumeID", ResumeID);
838 Store(
"CurrentChannel", CurrentChannel);
839 Store(
"CurrentVolume", CurrentVolume);
840 Store(
"CurrentDolby", CurrentDolby);
841 Store(
"InitialChannel", InitialChannel);
842 Store(
"VolumeSteps", VolumeSteps);
843 Store(
"VolumeLinearize", VolumeLinearize);
844 Store(
"InitialVolume", InitialVolume);
845 Store(
"DeviceBondings", DeviceBondings);
846 Store(
"ChannelsWrap", ChannelsWrap);
847 Store(
"ShowChannelNamesWithSource", ShowChannelNamesWithSource);
848 Store(
"EmergencyExit", EmergencyExit);
854 isyslog(
"saved setup to %s", FileName());
static cString ToString(int Code)
cSetupLine * Get(const char *Name, const char *Plugin=NULL)
bool Parse(FILE *f, cList< cNestedItem > *List, int &Line)
void Add(cListObject *Object, cListObject *After=NULL)
bool Parse(const char *s)
bool Write(FILE *f, cList< cNestedItem > *List, int Indent=0)
void Store(const char *Name, const char *Value, const char *Plugin=NULL, bool AllowMultiple=false)
cNestedItemList TimerCommands
#define TIMERMACRO_EPISODE
static cString sprintf(const char *fmt,...) __attribute__((format(printf
const char * DefaultFontSml
void SetSubItems(bool On)
void SetText(const char *Text)
void I18nSetLocale(const char *Locale)
Sets the current locale to Locale.
cNestedItemList RecordingCommands
#define MAXVIDEOFILESIZEDEFAULT
#define ChkDoublePlausibility(Variable, Default)
cSatCableNumbers(int Size, const char *s=NULL)
static void SetRecording(const char *FileName)
void AddSubItem(cNestedItem *Item)
virtual int Compare(const cListObject &ListObject) const
Must return 0 if this object is equal to ListObject, a positive value if it is "greater", and a negative value if it is "smaller".
T * Next(const T *object) const
virtual bool SetupParse(const char *Name, const char *Value)
cListObject * Next(void) const
bool Parse(const char *Name, const char *Value)
bool FromString(const char *s)
cList< cNestedItem > * SubItems(void)
bool Accepts(in_addr_t Address)
const char * I18nLanguageCode(int Language)
Returns the three letter language code of the given Language (which is an index as returned by I18nCu...
cNestedItem(const char *Text, bool WithSubItems=false)
static const char * LastReplayed(void)
const char * DefaultFontFix
void StoreLanguages(const char *Name, int *Values)
int FirstDeviceIndex(int DeviceIndex) const
Returns the first device index (starting at 0) that uses the same sat cable number as the device with...
virtual int Compare(const cListObject &ListObject) const
Must return 0 if this object is equal to ListObject, a positive value if it is "greater", and a negative value if it is "smaller".
virtual ~cNestedItemList()
bool Load(const char *FileName)
const cStringList * I18nLanguages(void)
Returns the list of available languages.
static int FromString(const char *s)
bool ParseLanguages(const char *Value, int *Values)
cSetup & operator=(const cSetup &s)
static cPlugin * GetPlugin(int Index)
bool Acceptable(in_addr_t Address)
bool Load(const char *FileName)
const char * DefaultFontOsd
int I18nLanguageIndex(const char *Code)
Returns the index of the language with the given three letter language Code.