diff options
Diffstat (limited to 'p2pvr/scanner/eitRows.h')
-rw-r--r-- | p2pvr/scanner/eitRows.h | 42 |
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 + |