aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-09-14 22:11:19 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-09-14 22:11:19 +0000
commitafe7d8cacb1875f0e86a9f970dac9280dba20462 (patch)
treeb922a201ee441ed6d032f984ac0fd11cfd8b5502 /lib
parentf5f70f0586875cf34ab93c7abd1cf7165badf399 (diff)
downloadenigma2-afe7d8cacb1875f0e86a9f970dac9280dba20462.tar.gz
enigma2-afe7d8cacb1875f0e86a9f970dac9280dba20462.zip
some changes for new default skin
Diffstat (limited to 'lib')
-rw-r--r--lib/components/scan.cpp8
-rw-r--r--lib/components/scan.h3
-rw-r--r--lib/dvb/scan.cpp8
-rw-r--r--lib/dvb/scan.h1
-rw-r--r--lib/python/Components/ServiceScan.py9
-rw-r--r--lib/python/Components/Sources/FrontendStatus.py6
-rw-r--r--lib/python/Plugins/SystemPlugins/Satfinder/plugin.py2
-rw-r--r--lib/python/Screens/ServiceScan.py4
-rw-r--r--lib/python/enigma_python.i6
9 files changed, 35 insertions, 12 deletions
diff --git a/lib/components/scan.cpp b/lib/components/scan.cpp
index 2870388a..79fe2ef5 100644
--- a/lib/components/scan.cpp
+++ b/lib/components/scan.cpp
@@ -114,6 +114,14 @@ int eComponentScan::start(int feid, int flags)
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)
diff --git a/lib/components/scan.h b/lib/components/scan.h
index fb6b921f..e4bb41ee 100644
--- a/lib/components/scan.h
+++ b/lib/components/scan.h
@@ -46,7 +46,8 @@ public:
/* 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
diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp
index e2bf6215..3915a0c4 100644
--- a/lib/dvb/scan.cpp
+++ b/lib/dvb/scan.cpp
@@ -775,3 +775,11 @@ void eDVBScan::getLastServiceName(std::string &last_service_name)
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
diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h
index 96a1528d..ab7f3b5d 100644
--- a/lib/dvb/scan.h
+++ b/lib/dvb/scan.h
@@ -86,6 +86,7 @@ public:
void getStats(int &transponders_done, int &transponders_total, int &services);
void getLastServiceName(std::string &name);
+ RESULT getFrontend(ePtr<iDVBFrontend> &);
};
#endif
diff --git a/lib/python/Components/ServiceScan.py b/lib/python/Components/ServiceScan.py
index 09498713..26ce763b 100644
--- a/lib/python/Components/ServiceScan.py
+++ b/lib/python/Components/ServiceScan.py
@@ -46,18 +46,19 @@ class ServiceScan:
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
@@ -79,10 +80,10 @@ class ServiceScan:
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):
diff --git a/lib/python/Components/Sources/FrontendStatus.py b/lib/python/Components/Sources/FrontendStatus.py
index e1623ae1..5e096186 100644
--- a/lib/python/Components/Sources/FrontendStatus.py
+++ b/lib/python/Components/Sources/FrontendStatus.py
@@ -29,11 +29,11 @@ class FrontendStatus(Source):
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()
diff --git a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
index 6d177e4c..3c86734a 100644
--- a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
+++ b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
@@ -113,7 +113,7 @@ class Satfinder(ScanSetup):
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):
diff --git a/lib/python/Screens/ServiceScan.py b/lib/python/Screens/ServiceScan.py
index 772141a6..a529e71c 100644
--- a/lib/python/Screens/ServiceScan.py
+++ b/lib/python/Screens/ServiceScan.py
@@ -4,6 +4,7 @@ from Components.ProgressBar import ProgressBar
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):
@@ -23,7 +24,8 @@ class ServiceScan(Screen):
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"],
{
diff --git a/lib/python/enigma_python.i b/lib/python/enigma_python.i
index cef97c36..01a73108 100644
--- a/lib/python/enigma_python.i
+++ b/lib/python/enigma_python.i
@@ -86,6 +86,8 @@ is usually caused by not marking PSignals as immutable.
#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>
@@ -185,8 +187,6 @@ typedef long time_t;
%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>
@@ -200,6 +200,8 @@ typedef long time_t;
%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>