some service scan improovements
[enigma2.git] / lib / components / scan.h
index eb18f10430de34fcddf2840e0540f2ca1da77003..222158bce7dd820252ff17c97fb72f6ee676a64f 100644 (file)
@@ -8,8 +8,7 @@ class eDVBScan;
 
 class eComponentScan: public Object, public iObject
 {
-DECLARE_REF(eComponentScan);
-private:
+       DECLARE_REF(eComponentScan);
 #ifndef SWIG
        void scanEvent(int event);
        ePtr<eConnection> m_scan_event_connection;
@@ -23,6 +22,7 @@ public:
        ~eComponentScan();
        
        PSignal0<void> statusChanged;
+       PSignal0<void> newService;
        
                /* progress between 0 and 100 */
        int getProgress();
@@ -33,6 +33,9 @@ public:
                /* true when done or error */
        int isDone();
        
+               /* get last added service */
+       void getLastServiceName(std::string &SWIG_OUTPUT);
+       
        int getError();
        
        void clear();
@@ -41,8 +44,11 @@ public:
        void addInitial(const eDVBFrontendParametersTerrestrial &p);
        
                /* please keep the flags in sync with lib/dvb/scan.h ! */
-       enum { scanNetworkSearch=1 };
-       int start(int feid, int flags=0);
+       enum { scanNetworkSearch=1, scanRemoveServices=4, scanDontRemoveFeeds=8, scanDontRemoveUnscanned=16, clearToScanOnFirstNIT = 32, scanOnlyFree = 64 };
+
+       int start(int feid, int flags=0 );
+       SWIG_VOID(RESULT) getFrontend(ePtr<iDVBFrontend> &SWIG_OUTPUT);
+       SWIG_VOID(RESULT) getCurrentTransponder(ePtr<iDVBFrontendParameters> &SWIG_OUTPUT);
 };
 
 #endif