diff options
Diffstat (limited to 'p2pvr/scanner/eitRows.h')
-rw-r--r-- | p2pvr/scanner/eitRows.h | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/p2pvr/scanner/eitRows.h b/p2pvr/scanner/eitRows.h index bc44568..1d76c2d 100644 --- a/p2pvr/scanner/eitRows.h +++ b/p2pvr/scanner/eitRows.h @@ -1,7 +1,7 @@ #ifndef EITROWS_H #define EITROWS_H -#include "xmlObjectLoader.h" +#include "scripts.h" #include "rowSet.h" #include "variables.h" #include "dvbSiReaderHelper.h" @@ -10,19 +10,11 @@ class EitProgram; class EitRows : public RowSet, DvbSiReaderHelper { public: - EitRows(const xmlpp::Element * p); + EitRows(const ScriptNodePtr p); ~EitRows(); - void execute(const RowProcessor *) const; + void execute(const Glib::ustring &, 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: class SeenProgram { @@ -37,16 +29,27 @@ class EitRows : public RowSet, DvbSiReaderHelper { void filterInput(int fd) const; bool parseInfoTable(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; + void parseEventDescription(const u_char *data, EitProgram * current) const; + void parseLongEventDescription(const u_char *data, EitProgram * current) const; + void parseComponentDescription(const u_char *data, EitProgram * current) const; + void parseContentDescription(const u_char *data, EitProgram * current) const; + void parseRatingDescription(const u_char *data, EitProgram * current) const; + void parseContentIdentifierDescription(const u_char *data, EitProgram * current) const; + void parseDescription(const u_char * data, size_t len, EitProgram * current) const; +}; +class EitRowState : public RowState { + public: + EitRowState(); + const Columns & getColumns() const; + RowAttribute resolveAttr(const Glib::ustring & attrName) const; + + private: + Columns columns; + friend class EitRows; mutable EitProgram * current; }; + #endif |