diff options
author | randomdan <randomdan@localhost> | 2011-03-18 17:35:29 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2011-03-18 17:35:29 +0000 |
commit | 6c46db92549568b9167f4e72c6d22eceff0d2c6c (patch) | |
tree | dbaf309307c664f1a9819b1c526bf6fd159b66f9 /p2pvr/scanner/dvbSiReaderHelper.h | |
parent | Second round of tweaks, fixes and XMLTV stripping (diff) | |
download | p2pvr-6c46db92549568b9167f4e72c6d22eceff0d2c6c.tar.bz2 p2pvr-6c46db92549568b9167f4e72c6d22eceff0d2c6c.tar.xz p2pvr-6c46db92549568b9167f4e72c6d22eceff0d2c6c.zip |
Split into DVB SI Base reader for any SI table type
And EIT row source based on SI tables
Use Boost CRC32 for checksums
Bin more spare stuff
Diffstat (limited to 'p2pvr/scanner/dvbSiReaderHelper.h')
-rw-r--r-- | p2pvr/scanner/dvbSiReaderHelper.h | 34 |
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 + |