main/Makefile.am: support to extract version information from (git) tarballs created...
[enigma2.git] / lib / components / scan.h
index 073919c..222158b 100644 (file)
@@ -2,23 +2,27 @@
 #define __lib_components_scan_h
 
 #include <lib/base/object.h>
+#include <lib/dvb/idvb.h>
 
 class eDVBScan;
 
 class eComponentScan: public Object, public iObject
 {
-DECLARE_REF;
-private:
+       DECLARE_REF(eComponentScan);
+#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 +30,25 @@ 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, 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