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.h39
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