X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c0f5089ea04bd04fe25148e712fa62cd49dc17da..9abfba44b394a64d978edebb58dc4f445cac2623:/lib/nav/core.h diff --git a/lib/nav/core.h b/lib/nav/core.h index 056c150b..8b9502d3 100644 --- a/lib/nav/core.h +++ b/lib/nav/core.h @@ -3,31 +3,40 @@ #include #include +#include #include class eNavigation: public iObject, public Object { - DECLARE_REF; + DECLARE_REF(eNavigation); private: ePtr m_runningService; + ePtr m_servicehandler; Signal2 m_event; ePtr m_service_event_conn; void serviceEvent(iPlayableService* service, int event); - std::list m_playlist; + ePtr m_playlist; public: enum { - evNewService, - evPlayFailed, - evPlaylistDone + evStopService, /** the "current" service was just stopped and likes to be deallocated (clear refs!) */ + evNewService, /** a new "current" service was just started */ + evPlayFailed, /** the next service (in playlist) or the one given in playService failed to play */ + evPlaylistDone, /** the last service in the playlist was just played */ + evUpdatedEventInfo /** the "currently running" event info was updated */ }; + RESULT playService(const eServiceReference &service); RESULT enqueueService(const eServiceReference &service); RESULT connectEvent(const Slot2 &event, ePtr &connection); /* int connectServiceEvent(const Slot1 &event, ePtr &connection); */ RESULT getCurrentService(ePtr &service); + RESULT getPlaylist(ePtr &playlist); + RESULT stopService(void); + + RESULT recordService(const eServiceReference &ref, ePtr &service); RESULT pause(int p); eNavigation(iServiceHandler *serviceHandler);