X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8d8294b4b354436adde202604fffb55c181d686c..f7e8568b71f16d286223255149f59217376ac345:/lib/dvb/scan.h diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h index 6abc1d0f..4cad6a2a 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,11 +61,14 @@ private: Signal1 m_event; 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);