summaryrefslogtreecommitdiff
path: root/p2pvr/scanner/eitRows.h
diff options
context:
space:
mode:
Diffstat (limited to 'p2pvr/scanner/eitRows.h')
-rw-r--r--p2pvr/scanner/eitRows.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/p2pvr/scanner/eitRows.h b/p2pvr/scanner/eitRows.h
new file mode 100644
index 0000000..9078b53
--- /dev/null
+++ b/p2pvr/scanner/eitRows.h
@@ -0,0 +1,42 @@
+#ifndef P2SCAN_H
+#define P2SCAN_H
+
+#include "xmlObjectLoader.h"
+#include "rowSet.h"
+#include "variables.h"
+#include "dvbSiReaderHelper.h"
+
+class EitProgram;
+
+class EitRows : public RowSet, DvbSiReaderHelper {
+ public:
+ EitRows(const xmlpp::Element * p);
+ ~EitRows();
+
+ void execute(const RowProcessor *) const;
+ void loadComplete(const CommonObjects *);
+ void setFilter(const Glib::ustring &);
+ unsigned int columnCount() const;
+ const Glib::ustring & getColumnName(unsigned int) const;
+ VariableType getCurrentValue(const Glib::ustring &) const;
+ VariableType getCurrentValue(unsigned int) const;
+ bool isNull(unsigned int ) const;
+ bool isNull(const Glib::ustring & ) const;
+ RowAttribute resolveAttr(const Glib::ustring & attrName) const;
+
+ private:
+ void filterInput(int fd) const;
+ bool parseSIT(const u_char *data, size_t len, const RowProcessor *) const;
+ void parseEventDescription(const u_char *data) const;
+ void parseLongEventDescription(const u_char *data) const;
+ void parseComponentDescription(const u_char *data) const;
+ void parseContentDescription(const u_char *data) const;
+ void parseRatingDescription(const u_char *data) const;
+ void parseContentIdentifierDescription(const u_char *data) const;
+ void parseDescription(const u_char * data, size_t len) const;
+
+ mutable EitProgram * current;
+};
+
+#endif
+