allow using other actionmap for InfobarSeekActions, only return MARKS in getNearestCu...
[enigma2.git] / lib / components / scan.h
index ca64f5e2bc28d0f8dc733cd735bb408bc7893b5f..fb6b921fca81ff9d870301f7b259aeabff2860e5 100644 (file)
@@ -2,6 +2,7 @@
 #define __lib_components_scan_h
 
 #include <lib/base/object.h>
+#include <lib/dvb/idvb.h>
 
 class eDVBScan;
 
@@ -9,16 +10,20 @@ class eComponentScan: public Object, public iObject
 {
 DECLARE_REF(eComponentScan);
 private:
+#ifndef SWIG
        void scanEvent(int event);
        ePtr<eConnection> m_scan_event_connection;
        ePtr<eDVBScan> m_scan;
        
        int m_done, m_failed;
+       eSmartPtrList<iDVBFrontendParameters> m_initial;
+#endif
 public:
        eComponentScan();
        ~eComponentScan();
        
        PSignal0<void> statusChanged;
+       PSignal0<void> newService;
        
                /* progress between 0 and 100 */
        int getProgress();
@@ -26,10 +31,22 @@ public:
                /* get number of services */
        int getNumServices();
        
-               /* true when done. */
+               /* true when done or error */
        int isDone();
        
-       int start();
+               /* get last added service */
+       void getLastServiceName(std::string &SWIG_OUTPUT);
+       
+       int getError();
+       
+       void clear();
+       void addInitial(const eDVBFrontendParametersSatellite &p);
+       void addInitial(const eDVBFrontendParametersCable &p);
+       void addInitial(const eDVBFrontendParametersTerrestrial &p);
+       
+               /* please keep the flags in sync with lib/dvb/scan.h ! */
+       enum { scanNetworkSearch=1, scanRemoveServices=4, scanDontRemoveFeeds=8, clearToScanOnFirstNIT = 16 };
+       int start(int feid, int flags=0);
 };
 
 #endif