add missing files, add ability to specify table_id mask and table_id ext mask
[enigma2.git] / lib / dvb / dvb.cpp
index e0df1dc1a889fde7a3a29a61f5d5be65082c016d..f1f5580a6fe67510c008344fcb0cd7ed87448ca2 100644 (file)
@@ -321,6 +321,7 @@ RESULT eDVBResourceManager::addChannel(const eDVBChannelID &chid, eDVBChannel *c
 {
        eDebug("add channel %p", ch);
        m_active_channels.push_back(active_channel(chid, ch));
+       /* emit */ m_channelAdded(ch);
        return 0;
 }
 
@@ -333,6 +334,7 @@ RESULT eDVBResourceManager::removeChannel(eDVBChannel *ch)
                {
                        i = m_active_channels.erase(i);
                        ++cnt;
+                       /* emit */ m_channelRemoved(ch);
                } else
                        ++i;
        }
@@ -342,6 +344,24 @@ RESULT eDVBResourceManager::removeChannel(eDVBChannel *ch)
        return -ENOENT;
 }
 
+RESULT eDVBResourceManager::connectChannelAdded(const Slot1<void,eDVBChannel*> &channelAdded, ePtr<eConnection> &connection)
+{
+       connection = new eConnection((eDVBResourceManager*)this, m_channelAdded.connect(channelAdded));
+       return 0;
+}
+
+RESULT eDVBResourceManager::connectChannelRemoved(const Slot1<void,eDVBChannel*> &channelRemoved, ePtr<eConnection> &connection)
+{
+       connection = new eConnection((eDVBResourceManager*)this, m_channelRemoved.connect(channelRemoved));
+       return 0;
+}
+
+RESULT eDVBResourceManager::connectChannelRunning(const Slot1<void,iDVBChannel*> &channelRunning, ePtr<eConnection> &connection)
+{
+       connection = new eConnection((eDVBResourceManager*)this, m_channelRunning.connect(channelRunning));
+       return 0;
+}
+
 DEFINE_REF(eDVBChannel);
 
 eDVBChannel::eDVBChannel(eDVBResourceManager *mgr, eDVBAllocatedFrontend *frontend, eDVBAllocatedDemux *demux): m_state(state_idle), m_mgr(mgr)