X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e4f0c4a7ce688f65fa8493a51eff2b1bb2123453..f3b1a20b183c612caf5122ebc4540a8fe4fff486:/lib/dvb/scan.h diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h index 07422a46..11d0efdc 100644 --- a/lib/dvb/scan.h +++ b/lib/dvb/scan.h @@ -15,7 +15,7 @@ private: /* chid helper functions: */ /* heuristically determine if onid/tsid is valid */ - int isValidONIDTSID(eOriginalNetworkID onid, eTransportStreamID tsid); + int isValidONIDTSID(int orbital_position, eOriginalNetworkID onid, eTransportStreamID tsid); /* build dvb namespace */ eDVBNamespace buildNamespace(eOriginalNetworkID onid, eTransportStreamID tsid, unsigned long hash); @@ -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; @@ -61,14 +61,17 @@ private: Signal1 m_event; RESULT processSDT(eDVBNamespace dvbnamespace, const ServiceDescriptionSection &sdt); + + int m_flags; public: eDVBScan(iDVBChannel *channel); ~eDVBScan(); - void start(const eSmartPtrList &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); + RESULT connectEvent(const Slot1 &event, ePtr &connection); void insertInto(iDVBChannelList *db); void getStats(int &transponders_done, int &transponders_total, int &services);