don't crash when no left/right border pixmap defined
[enigma2.git] / lib / dvb / scan.h
index 4cad6a2a4ceade0c7064cbcbdc2ff2c3b8f1b209..fe5e0686fadbbd11ccf620e6a83e2ccea65eba07 100644 (file)
@@ -40,6 +40,7 @@ private:
        
        std::map<eDVBChannelID, ePtr<iDVBFrontendParameters> > m_new_channels;
        std::map<eServiceReferenceDVB, ePtr<eDVBService> > m_new_services;
+       std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator m_last_service;
        
        std::list<ePtr<iDVBFrontendParameters> > m_ch_toScan, m_ch_scanned, m_ch_unavailable;
        ePtr<iDVBFrontendParameters> m_ch_current;
@@ -64,17 +65,18 @@ private:
        
        int m_flags;
 public:
-       eDVBScan(iDVBChannel *channel);
+       eDVBScan(iDVBChannel *channel, bool debug=false);
        ~eDVBScan();
-       
-       enum { scanNetworkSearch = 1, scanSearchBAT = 2 };
+
+       enum { scanNetworkSearch = 1, scanSearchBAT = 2, scanRemoveServices = 4, scanDontRemoveFeeds=8 };
        void start(const eSmartPtrList<iDVBFrontendParameters> &known_transponders, int flags);
 
-       enum { evtUpdate, evtFinish, evtFail };
-  RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection);
-       void insertInto(iDVBChannelList *db);
+       enum { evtUpdate, evtNewService, evtFinish, evtFail };
+       RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection);
+       void insertInto(iDVBChannelList *db, bool dontRemoveNewFlags=false);
        
        void getStats(int &transponders_done, int &transponders_total, int &services);
+       void getLastServiceName(std::string &name);
 };
 
 #endif