m_initial.clear();
}
+void eComponentScan::clearAll()
+{
+ m_scan_event_connection = 0;
+ m_scan = 0;
+
+ m_initial.clear();
+ m_done = -1;
+ m_failed = 0;
+}
+
+
void eComponentScan::addInitial(const eDVBFrontendParametersSatellite &p)
{
ePtr<eDVBFrontendParameters> parm = new eDVBFrontendParameters();
int getError();
void clear();
+ void clearAll();
void addInitial(const eDVBFrontendParametersSatellite &p);
void addInitial(const eDVBFrontendParametersCable &p);
void addInitial(const eDVBFrontendParametersTerrestrial &p);
if self.state == self.Done or self.state == self.Error:
if self.run != len(self.scanList) - 1:
self.foundServices += self.scan.getNumServices()
- self.execEnd()
+ self.execEnd(False) # reset eComponentScan
self.run += 1
self.execBegin()
self.network = network
self.run = 0
self.lcd_summary = lcd_summary
+ self.scan = None
def doRun(self):
- self.scan = eComponentScan()
+ if self.scan is None:
+ 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.errorcode = 0
self.scanStatusChanged()
- def execEnd(self):
+ def execEnd(self, onClose = True):
+ # when closing screen, destroy eComponentScan. otherwise reset.
self.scan.statusChanged.get().remove(self.scanStatusChanged)
self.scan.newService.get().remove(self.newService)
if not self.isDone():
print "*** warning *** scan was not finished!"
-
- del self.scan
+
+ if onClose:
+ self.scan = None
+ else:
+ self.scan.clearAll()
def isDone(self):
return self.state == self.Done or self.state == self.Error