X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e677ac4a7bf81391877c909a703e5918ce4a511b..f0443899863b438efb88a57db829ce3ffc87da76:/lib/nav/pcore.cpp diff --git a/lib/nav/pcore.cpp b/lib/nav/pcore.cpp index 7b61ce5c..0ee94cc6 100644 --- a/lib/nav/pcore.cpp +++ b/lib/nav/pcore.cpp @@ -1,15 +1,19 @@ #include #include +#include +#include DEFINE_REF(pNavigation); pNavigation::pNavigation() { - ePtr service_center; + ePtr service_center; eServiceCenter::getInstance(service_center); assert(service_center); m_core = new eNavigation(service_center); + + m_core->connectEvent(slot(*this, &pNavigation::navEvent), m_nav_event_connection); } RESULT pNavigation::playService(const eServiceReference &service) @@ -17,6 +21,11 @@ RESULT pNavigation::playService(const eServiceReference &service) return m_core->playService(service); } +RESULT pNavigation::recordService(const eServiceReference &ref, ePtr &service) +{ + return m_core->recordService(ref, service); +} + RESULT pNavigation::enqueueService(const eServiceReference &service) { return m_core->enqueueService(service); @@ -36,3 +45,34 @@ RESULT pNavigation::pause(int p) { return m_core->pause(p); } + +RESULT pNavigation::stopService() +{ + return m_core->stopService(); +} + +void pNavigation::navEvent(eNavigation *nav, int event) +{ + /* just relay the events here. */ + switch (event) + { + case eNavigation::evStopService: + m_event(evStopService); + break; + case eNavigation::evNewService: + m_event(evNewService); + break; + case eNavigation::evPlayFailed: + m_event(evPlayFailed); + break; + case eNavigation::evPlaylistDone: + m_event(evPlaylistDone); + break; + case eNavigation::evUpdatedEventInfo: + m_event(evUpdatedEventInfo); + break; + case eNavigation::evUpdatedInfo: + m_event(evUpdatedInfo); + break; + } +}