refs bug #485
[enigma2.git] / lib / dvb / eit.h
1 #ifndef __lib_dvb_eit_h
2 #define __lib_dvb_eit_h
3
4 #include <lib/dvb/idemux.h>
5 #include <lib/dvb/esection.h>
6 #include <dvbsi++/event_information_section.h>
7 #include <lib/service/event.h>
8
9 class eDVBServiceEITHandler: public Object
10 {
11         ePtr<iDVBDemux> m_demux;
12         eAUTable<eTable<EventInformationSection> > m_EIT;
13         void EITready(int error);
14         
15         RESULT parseEvent(ePtr<eServiceEvent> &serviceevent, const Event &dvbevent);
16         
17         ePtr<eServiceEvent> m_event_now, m_event_next;
18 public:
19         eDVBServiceEITHandler();
20
21         void inject(ePtr<eServiceEvent> &event, int nownext);
22         void start(iDVBDemux *demux, int sid);
23         void startOther(iDVBDemux *demux, int sid);
24         
25         RESULT getEvent(ePtr<eServiceEvent> &event, int nownext);
26         
27         PSignal0<void> m_eit_changed;
28 };
29
30 #endif