4 import NavigationInstance
5 import ServiceReference
7 # TODO: remove pNavgation, eNavigation and rewrite this stuff in python.
10 if NavigationInstance.instance is not None:
11 raise NavigationInstance.instance
13 NavigationInstance.instance = self
14 self.ServiceHandler = eServiceCenterPtr()
15 eServiceCenter.getInstance(self.ServiceHandler)
17 import Navigation as Nav
20 print "Navcore instance set!"
23 self.pnav = pNavigation()
24 self.pnav.m_event.get().append(self.callEvent)
26 self.currentlyPlayingService = None
28 self.RecordTimer = RecordTimer.RecordTimer()
30 def callEvent(self, i):
34 def playService(self, ref):
35 self.currentlyPlayingServiceReference = None
36 if not self.pnav.playService(ref):
37 self.currentlyPlayingServiceReference = ref
41 def getCurrentlyPlayingServiceReference(self):
42 return self.currentlyPlayingServiceReference
44 def recordService(self, ref):
45 print "recording service: %s" % (str(ref))
46 if isinstance(ref, ServiceReference.ServiceReference):
48 service = iRecordableServicePtr()
49 if self.pnav.recordService(ref, service):
50 print "record returned non-zero"
53 print "ok, recordService didn't fail"
56 def enqueueService(self, ref):
57 return self.pnav.enqueueService(ref)
59 def getCurrentService(self):
60 service = iPlayableServicePtr()
61 if self.pnav.getCurrentService(service):
65 def getPlaylist(self):
66 playlist = ePlaylistPtr()
67 if self.pnav.getPlaylist(playlist):
72 return self.pnav.pause(p)
74 def recordWithTimer(self, begin, end, ref, epg):
75 if isinstance(ref, eServiceReference):
76 ref = ServiceReference.ServiceReference(ref)
77 entry = RecordTimer.RecordTimerEntry(begin, end, ref, epg)
78 self.RecordTimer.record(entry)
82 self.RecordTimer.shutdown()