X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FSources%2FCurrentService.py;h=2501c176f787226e0b3123ece71ca27b04b43430;hb=7bb93199aef8e8c35f8edce76c91352ecf628a60;hp=2bd493e723a7e1de80771184564d7dc5bfe4e375;hpb=77bb53beb46f6984e1529c4f703523c146956d0f;p=vuplus_dvbapp diff --git a/lib/python/Components/Sources/CurrentService.py b/lib/python/Components/Sources/CurrentService.py index 2bd493e..2501c17 100644 --- a/lib/python/Components/Sources/CurrentService.py +++ b/lib/python/Components/Sources/CurrentService.py @@ -1,22 +1,34 @@ from Components.PerServiceDisplay import PerServiceBase from enigma import iPlayableService from Source import Source +from Components.Element import cached class CurrentService(PerServiceBase, Source): def __init__(self, navcore): Source.__init__(self) PerServiceBase.__init__(self, navcore, { - iPlayableService.evStart: self.changed, - iPlayableService.evEnd: self.changed, + iPlayableService.evStart: self.serviceEvent, + iPlayableService.evEnd: self.serviceEvent, # FIXME: we should check 'interesting_events' # which is not always provided. - iPlayableService.evUpdatedInfo: self.changed, - iPlayableService.evUpdatedEventInfo: self.changed - }) + iPlayableService.evUpdatedInfo: self.serviceEvent, + iPlayableService.evUpdatedEventInfo: self.serviceEvent, + iPlayableService.evCuesheetChanged: self.serviceEvent, + iPlayableService.evVideoSizeChanged: self.serviceEvent + }, with_event=True) self.navcore = navcore + def serviceEvent(self, event): + self.changed((self.CHANGED_SPECIFIC, event)) + + @cached def getCurrentService(self): return self.navcore.getCurrentService() service = property(getCurrentService) + + def destroy(self): + PerServiceBase.destroy(self) + Source.destroy(self) +