--- /dev/null
+/**\r
+ * @file Analyzer.h\r
+ *\r
+ */\r
+\r
+#pragma once\r
+\r
+#include "Raym/Raym.h"\r
+#include "ry0/device/Tuner.h"\r
+#include "mpeg2/ts/Demultiplexer.h"\r
+\r
+namespace ry0\r
+{\r
+namespace iPTd\r
+{\r
+\r
+class Analyzer : public Raym::Object,\r
+ public ry0::device::Tuner::Listener,\r
+ public MPEG2::TS::Demultiplexer::Listener\r
+{\r
+private:\r
+ MPEG2::TS::Demultiplexer _demux;\r
+ MPEG2::TS::SDT * _sdt;\r
+ MPEG2::TS::EIT * _eit;\r
+\r
+protected:\r
+ Analyzer();\r
+ ~Analyzer();\r
+\r
+public:\r
+ static Analyzer *alloc();\r
+ Analyzer *init();\r
+\r
+ Raym::Dictionary *stationInfo();\r
+ Raym::Array *collectEPGs(time_t limit);\r
+\r
+ // ry0::device::Tuner::Listener\r
+ void put(uint8_t *buffer, uint32_t size);\r
+\r
+ // MPEG2::TS::Demultiplexer::Listener\r
+ void detect(MPEG2::TS::SDT *sdt);\r
+ void detect(MPEG2::TS::EIT *eit);\r
+};\r
+\r
+} // iPTd\r
+} // ry0\r