summaryrefslogtreecommitdiff
path: root/confdloader.h
diff options
context:
space:
mode:
Diffstat (limited to 'confdloader.h')
-rw-r--r--confdloader.h71
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