summaryrefslogtreecommitdiff
path: root/p2pvr/scanner/dvbSiReaderHelper.h
diff options
context:
space:
mode:
Diffstat (limited to 'p2pvr/scanner/dvbSiReaderHelper.h')
-rw-r--r--p2pvr/scanner/dvbSiReaderHelper.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/p2pvr/scanner/dvbSiReaderHelper.h b/p2pvr/scanner/dvbSiReaderHelper.h
new file mode 100644
index 0000000..325bc66
--- /dev/null
+++ b/p2pvr/scanner/dvbSiReaderHelper.h
@@ -0,0 +1,34 @@
+#ifndef DVBSIREADERHELPER_H
+#define DVBSIREADERHELPER_H
+
+#include "xmlObjectLoader.h"
+#include "variables.h"
+
+class RowProcessor;
+
+class DvbSiReaderHelper {
+ public:
+ DvbSiReaderHelper(const xmlpp::Element * p);
+ ~DvbSiReaderHelper();
+
+ const Variable demux;
+ const Variable timeout;
+
+ protected:
+ void openInput() const;
+ virtual void filterInput(int fd) const = 0;
+ void readTables(const RowProcessor *) const;
+ virtual bool parseSIT(const u_char *data, size_t len, const RowProcessor *) const = 0;
+ void closeInput() const;
+
+ static VariableType convert(const char * txt, size_t len);
+ static const std::string ISO10646;
+ static const std::string EitEncoding;
+ static const std::string UTF8;
+
+ private:
+ mutable int fd_epg;
+};
+
+#endif
+