(final?) fix in getCurrentIP
[enigma2.git] / Navigation.py
index f1db8cb9ff8b934f08c016e5067e896aafefff85..09daff34eb34de92e1f812e7703a1b12454b2eef 100644 (file)
@@ -11,19 +11,16 @@ class Navigation:
                        raise NavigationInstance.instance
                
                NavigationInstance.instance = self
                        raise NavigationInstance.instance
                
                NavigationInstance.instance = self
-               self.ServiceHandler = eServiceCenterPtr()
                self.ServiceHandler = eServiceCenter.getInstance()
 
                import Navigation as Nav
                Nav.navcore = self
                
                self.ServiceHandler = eServiceCenter.getInstance()
 
                import Navigation as Nav
                Nav.navcore = self
                
-               print "Navcore instance set!"
-               print Nav.navcore
-               
                self.pnav = pNavigation()
                self.pnav.m_event.get().append(self.callEvent)
                self.event = [ ]
                self.currentlyPlayingService = None
                self.pnav = pNavigation()
                self.pnav.m_event.get().append(self.callEvent)
                self.event = [ ]
                self.currentlyPlayingService = None
+               self.currentlyPlayingServiceReference = None
                
                self.RecordTimer = RecordTimer.RecordTimer()
 
                
                self.RecordTimer = RecordTimer.RecordTimer()
 
@@ -33,6 +30,10 @@ class Navigation:
        
        def playService(self, ref):
                self.currentlyPlayingServiceReference = None
        
        def playService(self, ref):
                self.currentlyPlayingServiceReference = None
+               if ref is None:
+                       self.stopService()
+                       return 0
+               
                if not self.pnav.playService(ref):
                        self.currentlyPlayingServiceReference = ref
                        return 0
                if not self.pnav.playService(ref):
                        self.currentlyPlayingServiceReference = ref
                        return 0
@@ -45,12 +46,12 @@ class Navigation:
                print "recording service: %s" % (str(ref))
                if isinstance(ref, ServiceReference.ServiceReference):
                        ref = ref.ref
                print "recording service: %s" % (str(ref))
                if isinstance(ref, ServiceReference.ServiceReference):
                        ref = ref.ref
-               service = iRecordableServicePtr()
-               if self.pnav.recordService(ref, service):
+               service = self.pnav.recordService(ref)
+               
+               if service is None:
                        print "record returned non-zero"
                        return None
                else:
                        print "record returned non-zero"
                        return None
                else:
-                       print "ok, recordService didn't fail"
                        return service
        
        def enqueueService(self, ref):
                        return service
        
        def enqueueService(self, ref):
@@ -64,6 +65,9 @@ class Navigation:
                
                return service
        
                
                return service
        
+       def stopService(self):
+               self.pnav.stopService()
+       
        def getPlaylist(self):
                playlist = ePlaylistPtr()
                if self.pnav.getPlaylist(playlist):
        def getPlaylist(self):
                playlist = ePlaylistPtr()
                if self.pnav.getPlaylist(playlist):
@@ -82,3 +86,6 @@ class Navigation:
        
        def shutdown(self):
                self.RecordTimer.shutdown()
        
        def shutdown(self):
                self.RecordTimer.shutdown()
+
+       def stopUserServices(self):
+               self.stopService()