blob: ac8db34d5447600a22310f90e6ecbe458b68577b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
from Source import Source
from Components.Element import cached
from enigma import eServiceReference
class StreamService(Source):
def __init__(self, navcore):
Source.__init__(self)
self.ref = None
self.__service = None
self.navcore = navcore
def serviceEvent(self, event):
pass
@cached
def getService(self):
return self.__service
service = property(getService)
def handleCommand(self, cmd):
print "StreamService handle command", cmd
self.ref = eServiceReference(cmd)
def recordEvent(self, service, event):
if service is self.__service:
return
print "RECORD event for us:", service
self.changed((self.CHANGED_ALL, ))
def execBegin(self):
print "StreamService execBegin", self.ref.toString()
self.__service = self.navcore.recordService(self.ref)
self.navcore.record_event.append(self.recordEvent)
if self.__service is not None:
self.__service.prepareStreaming()
self.__service.start()
def execEnd(self):
print "StreamService execEnd", self.ref.toString()
self.navcore.record_event.remove(self.recordEvent)
if self.__service is not None:
self.navcore.stopRecordService(self.__service)
self.__service = None
|