X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e677ac4a7bf81391877c909a703e5918ce4a511b..e09118574a32038b352e01a2ed085175406778d7:/lib/nav/pcore.h diff --git a/lib/nav/pcore.h b/lib/nav/pcore.h index 3bb8f4ef..20d7f94b 100644 --- a/lib/nav/pcore.h +++ b/lib/nav/pcore.h @@ -6,22 +6,36 @@ /* a subset of eNavigation */ -class pNavigation: public iObject +class pNavigation: public iObject, public Object { -DECLARE_REF; -private: - ePtr m_core; +DECLARE_REF(pNavigation); public: - PSignal1 event; + PSignal1 m_event; + + enum + { + 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 */ + }; pNavigation(); RESULT playService(const eServiceReference &service); + SWIG_VOID(RESULT) recordService(const eServiceReference &ref, ePtr &SWIG_OUTPUT); + RESULT enqueueService(const eServiceReference &service); - RESULT getCurrentService(ePtr &service); - RESULT getPlaylist(ePtr &playlist); + SWIG_VOID(RESULT) getCurrentService(ePtr &SWIG_OUTPUT); + SWIG_VOID(RESULT) getPlaylist(ePtr &SWIG_OUTPUT); + RESULT stopService(); RESULT pause(int p); +private: + ePtr m_core; + ePtr m_nav_event_connection; + void navEvent(eNavigation *nav, int event); }; #endif