diff options
Diffstat (limited to 'confdloader.h')
-rw-r--r-- | confdloader.h | 71 |
1 files changed, 8 insertions, 63 deletions
diff --git a/confdloader.h b/confdloader.h index 56c858f..12b6909 100644 --- a/confdloader.h +++ b/confdloader.h @@ -20,70 +20,15 @@ The author can be reached at cwieninger@gmx.de The project's page is at http://winni.vdr-developer.org/epgsearch */ -#include "log.h" -#include "uservars.h" -#include "menu_dirselect.h" -#include "templatefile.h" -#include "epgsearchcats.h" + +#ifndef VDR_EPGSEARCH_CONFDLOADER_INC +#define VDR_EPGSEARCH_CONFDLOADER_INC class cConfDLoader { public: - cConfDLoader(const char* FileName) { Load(FileName); } - bool Load(const char *FileName) - { - if (FileName && access(FileName, F_OK) == 0) { - LogFile.Log(1, "loading %s", FileName); - FILE *f = fopen(FileName, "r"); - if (f) { - char *s; - int line = 0; - cReadLine ReadLine; - std::string section; - while ((s = ReadLine.Read(f)) != NULL) { - line++; - char *p = strchr(s, '#'); - if (p) - *p = 0; - stripspace(s); - if (!isempty(s)) { - if (*s == '[' && *(s+strlen(s)-1)==']') // Section? - section = s; - else { - if (EqualsNoCase(section, "[epgsearchuservars]")) - cUserVarLine::Parse(s); - if (EqualsNoCase(section, "[epgsearchdirs]")) - { - cDirExt* D = new cDirExt; - if (D && D->Parse(s)) - ConfDDirExts.Add(D); - else - delete D; - } - if (EqualsNoCase(section, "[epgsearchmenu]")) - { - cTemplLine T; - if (T.Parse(s)) - cTemplFile::Parse(T.Name(), T.Value()); - } - if (EqualsNoCase(section, "[epgsearchcats]")) - { - cSearchExtCat* cat = new cSearchExtCat; - if (cat && cat->Parse(s)) - SearchExtCats.Add(cat); - else - delete cat; - } - } - } - } - } - fclose(f); - return true; - } - else - { - LOG_ERROR_STR(FileName); - return false; - } - } + cConfDLoader() {} + bool Load(); + bool LoadFile(const char *FileName); }; + +#endif |