X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/865b494130c35c6bda653b196fdbc61890ea76b5..b0e09a2cd9a05a002222d79fb71848f4c7820ff3:/lib/dvb/scan.h diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h index 743ea8d9..df832bd6 100644 --- a/lib/dvb/scan.h +++ b/lib/dvb/scan.h @@ -1,9 +1,9 @@ #ifndef __lib_dvb_scan_h #define __lib_dvb_scan_h -#include -#include -#include +#include +#include +#include #include #include #include @@ -31,12 +31,12 @@ private: RESULT nextChannel(); RESULT startFilter(); - enum { readySDT=1, readyNIT=2, readyBAT=4, readyAll=7, + enum { readySDT=1, readyNIT=2, readyBAT=4, validSDT=8, validNIT=16, validBAT=32}; /* scan state variables */ int m_channel_state; - int m_ready; + int m_ready, m_ready_all; std::map > m_new_channels; std::map > m_new_services; @@ -45,9 +45,9 @@ private: ePtr m_ch_current; eDVBChannelID m_chid_current; - ePtr > m_SDT; - ePtr > m_NIT; - ePtr > m_BAT; + ePtr > m_SDT; + ePtr > m_NIT; + ePtr > m_BAT; void SDTready(int err); void NITready(int err); @@ -60,12 +60,15 @@ private: void channelDone(); Signal1 m_event; - RESULT processSDT(eDVBNamespace dvbnamespace, const ServiceDescriptionTable &sdt); + RESULT processSDT(eDVBNamespace dvbnamespace, const ServiceDescriptionSection &sdt); + + int m_flags; public: eDVBScan(iDVBChannel *channel); ~eDVBScan(); - void start(const std::list > &known_transponders); + enum { scanNetworkSearch = 1, scanSearchBAT = 2 }; + void start(const eSmartPtrList &known_transponders, int flags); enum { evtUpdate, evtFinish, evtFail }; RESULT connectEvent(const Slot1 &event, ePtr &connection);