fix segfault
[enigma2.git] / lib / dvb / scan.h
index 3556eb20774937e80c2664286ec3a339977ed4b0..fb6b56f405cce9d0faa31b9a6042eefd1420fbde 100644 (file)
@@ -4,13 +4,13 @@
 #include <lib/dvb_si/nit.h>
 #include <lib/dvb_si/sdt.h>
 #include <lib/dvb_si/bat.h>
-#include <lib/dvb/isection.h>
+#include <lib/dvb/idemux.h>
 #include <lib/dvb/esection.h>
 #include <lib/dvb/db.h>
 
 class eDVBScan: public Object, public iObject
 {
-DECLARE_REF;
+DECLARE_REF(eDVBScan);
 private:
                /* chid helper functions: */
                
@@ -20,7 +20,7 @@ private:
        eDVBNamespace buildNamespace(eOriginalNetworkID onid, eTransportStreamID tsid, unsigned long hash);
        
                /* scan resources */    
-       ePtr<iDVBChannel> m_channel;
+       eUsePtr<iDVBChannel> m_channel;
        ePtr<iDVBDemux> m_demux;
        
                /* infrastructure */
@@ -65,7 +65,7 @@ public:
        
        void start(const std::list<ePtr<iDVBFrontendParameters> > &known_transponders);
 
-       enum { evtUpdate, evtFinish };
+       enum { evtUpdate, evtFinish, evtFail };
   RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection);
        void insertInto(iDVBChannelList *db);