return 0;
}
+RESULT eComponentScan::getFrontend(ePtr<iDVBFrontend> &fe)
+{
+ if (m_scan)
+ return m_scan->getFrontend(fe);
+ fe = 0;
+ return -1;
+}
+
int eComponentScan::getProgress()
{
if (!m_scan)
/* 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);
+ int start(int feid, int flags=0 );
+ SWIG_VOID(RESULT) getFrontend(ePtr<iDVBFrontend> &SWIG_OUTPUT);
};
#endif
else
last_service_name = m_last_service->second->m_service_name;
}
+
+RESULT eDVBScan::getFrontend(ePtr<iDVBFrontend> &fe)
+{
+ if (m_channel)
+ return m_channel->getFrontend(fe);
+ fe = 0;
+ return -1;
+}
\ No newline at end of file
void getStats(int &transponders_done, int &transponders_total, int &services);
void getLastServiceName(std::string &name);
+ RESULT getFrontend(ePtr<iDVBFrontend> &);
};
#endif
self.run += 1
self.execBegin()
- def __init__(self, progressbar, text, servicelist, passNumber, scanList):
+ def __init__(self, progressbar, text, servicelist, passNumber, scanList, frontendInfo):
self.foundServices = 0
self.progressbar = progressbar
self.text = text
self.servicelist = servicelist
self.passNumber = passNumber
self.scanList = scanList
+ self.frontendInfo = frontendInfo
self.run = 0
-
+
def doRun(self):
self.scan = eComponentScan()
-
+ self.frontendInfo.frontend_source = lambda : self.scan.getFrontend()
self.feid = self.scanList[self.run]["feid"]
self.flags = self.scanList[self.run]["flags"]
self.state = self.Idle
self.servicelist.clear()
self.state = self.Running
err = self.scan.start(self.feid, self.flags)
+ self.frontendInfo.updateFrontendData()
if err:
self.state = self.Error
self.errorcode = 0
-
self.scanStatusChanged()
def execEnd(self):
def getFrontendStatus(self):
if self.frontend_source:
- frontend = self.frontend_source
+ frontend = self.frontend_source()
+ dict = { }
if frontend:
- dict = { }
frontend.getFrontendStatus(dict)
- return dict
+ return dict
elif self.service_source:
service = self.service_source()
feinfo = service and service.frontendInfo()
ScanSetup.__init__(self, session)
self.tuner = Tuner(self.frontend)
self["introduction"].setText("")
- self["Frontend"] = FrontendStatus(frontend_source = self.frontend, update_interval = 100)
+ self["Frontend"] = FrontendStatus(frontend_source = lambda : self.frontend, update_interval = 100)
self.initcomplete = True
def createSetup(self):
from Components.Label import Label
from Components.ActionMap import ActionMap
from Components.FIFOList import FIFOList
+from Components.Sources.FrontendInfo import FrontendInfo
class ServiceScan(Screen):
def ok(self):
self["scan_state"] = Label(_("scan state"))
self["pass"] = Label("")
self["servicelist"] = FIFOList(len=7)
- self["scan"] = CScan(self["scan_progress"], self["scan_state"], self["servicelist"], self["pass"], scanList)
+ self["FrontendInfo"] = FrontendInfo()
+ self["scan"] = CScan(self["scan_progress"], self["scan_state"], self["servicelist"], self["pass"], scanList, self["FrontendInfo"])
self["actions"] = ActionMap(["OkCancelActions"],
{
#include <lib/dvb/frontendparms.h>
#include <lib/dvb/dvbtime.h>
#include <lib/dvb/pmt.h>
+#include <lib/components/scan.h>
+#include <lib/components/file_eraser.h>
#include <lib/driver/avswitch.h>
#include <lib/driver/rfmod.h>
#include <lib/driver/misc_options.h>
%include <lib/gui/ewidgetanimation.h>
%include <lib/gui/evideo.h>
%include <lib/service/listboxservice.h>
-%include <lib/components/scan.h>
-%include <lib/components/file_eraser.h>
%include <lib/nav/pcore.h>
%include <lib/actions/action.h>
%include <lib/gdi/gfont.h>
%include <lib/dvb/dvb.h>
%include <lib/dvb/frontend.h>
%include <lib/dvb/pmt.h>
+%include <lib/components/scan.h>
+%include <lib/components/file_eraser.h>
%include <lib/driver/avswitch.h>
%include <lib/driver/rfmod.h>
%include <lib/driver/misc_options.h>