From 244459c4b2588ac9ca4b3fcbac05a2f8a7ee1641 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Fri, 29 Jul 2005 15:33:27 +0000 Subject: - split out meta parser - movie selection works now - service information for pvr services work --- lib/dvb/metaparser.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 lib/dvb/metaparser.cpp (limited to 'lib/dvb/metaparser.cpp') diff --git a/lib/dvb/metaparser.cpp b/lib/dvb/metaparser.cpp new file mode 100644 index 00000000..8c1f0cfd --- /dev/null +++ b/lib/dvb/metaparser.cpp @@ -0,0 +1,44 @@ +#include +#include + +int eDVBMetaParser::parseFile(const std::string &tsname) +{ + /* if it's a PVR channel, recover service id. */ + std::string filename = tsname + ".meta"; + + FILE *f = fopen(filename.c_str(), "r"); + if (!f) + return -ENOENT; + + int linecnt = 0; + + while (1) + { + char line[1024]; + if (!fgets(line, 1024, f)) + break; + if (*line && line[strlen(line)-1] == '\n') + line[strlen(line)-1] = 0; + + if (*line && line[strlen(line)-1] == '\r') + line[strlen(line)-1] = 0; + + switch (linecnt) + { + case 0: + m_ref = (eServiceReferenceDVB&)eServiceReference(line); + break; + case 1: + m_name = line; + break; + case 2: + m_description = line; + break; + default: + break; + } + ++linecnt; + } + fclose(f); + return 0; +} -- cgit v1.2.3