load alternatives.xml in autostart plugin
[enigma2.git] / lib / nav / core.cpp
index 957983d9acfd1f9f4002d19d08af4c230f1322d0..edc63c1881d9fa84f96ea3777a586509fc8053e5 100644 (file)
@@ -9,26 +9,7 @@ void eNavigation::serviceEvent(iPlayableService* service, int event)
                return;
        }
 
-       switch (event)
-       {       
-       case iPlayableService::evEnd:
-//             m_event(this, ev);
-               break;
-       case iPlayableService::evStart:
-               m_event(this, evNewService);
-               break;
-       case iPlayableService::evUpdatedEventInfo:
-               m_event(this, evUpdatedEventInfo);
-               break;
-       case iPlayableService::evUpdatedInfo:
-               m_event(this, evUpdatedInfo);
-               break;
-       case iPlayableService::evSeekableStatusChanged:
-               m_event(this, evSeekableStatusChanged);
-               break;
-       default:
-               break;
-       }
+       m_event(this, event);
 }
 
 RESULT eNavigation::playService(const eServiceReference &service)
@@ -63,8 +44,9 @@ RESULT eNavigation::stopService(void)
        if (!m_runningService)
                return 1;
                        /* send stop event */
-       m_event(this, evStopService);
+       m_event(this, iPlayableService::evEnd);
 
+       m_runningService->stop();
                /* kill service. */
        m_runningService = 0;
        m_service_event_conn = 0;
@@ -102,6 +84,7 @@ eNavigation::eNavigation(iServiceHandler *serviceHandler)
 
 eNavigation::~eNavigation()
 {
+       stopService();
 }
 
 DEFINE_REF(eNavigation);