X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/77bb53beb46f6984e1529c4f703523c146956d0f..1c6adfdbe104773d7a98377de6951da02ae1aac0:/lib/python/Components/Sources/CurrentService.py diff --git a/lib/python/Components/Sources/CurrentService.py b/lib/python/Components/Sources/CurrentService.py index 2bd493e7..2501c176 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) +