X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1c4afca574ce3b3af434b458e52b61871eba5d31..60c8087aa78a5fa24617b0f2ef86fa54f6083101:/lib/dvb/dvb.cpp diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 09c9f5f6..bad0ce1a 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -78,6 +78,14 @@ eDVBResourceManager::eDVBResourceManager() CONNECT(m_releaseCachedChannelTimer.timeout, eDVBResourceManager::releaseCachedChannel); } +void eDVBResourceManager::feStateChanged() +{ + int mask=0; + for (eSmartPtrList::iterator i(m_frontend.begin()); i != m_frontend.end(); ++i) + if (i->m_inuse) + mask |= ( 1 << i->m_frontend->getID() ); + /* emit */ frontendUseMaskChanged(mask); +} DEFINE_REF(eDVBAdapterLinux); eDVBAdapterLinux::eDVBAdapterLinux(int nr): m_nr(nr) @@ -215,6 +223,7 @@ void eDVBResourceManager::addAdapter(iDVBAdapter *adapter) { frontend->setSEC(m_sec); m_frontend.push_back(new eDVBRegisteredFrontend(frontend, adapter)); + CONNECT(m_frontend.back()->stateChanged, eDVBResourceManager::feStateChanged); } } }