X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fnav%2Fcore.h;h=b055bc83f7b7775e2a243e63cec1fe83e2361ce1;hp=c049e43d2fc17a41293fe251cb73e5911e0d324a;hb=4911a0121954f6b6657ba28fab8d9dd9031d9a59;hpb=1cdf6cb021fcaa6548b90ba7b6765cf1e8b8b37b diff --git a/lib/nav/core.h b/lib/nav/core.h index c049e43..b055bc8 100644 --- a/lib/nav/core.h +++ b/lib/nav/core.h @@ -3,40 +3,46 @@ #include #include -#include #include +#include +#include +#include class eNavigation: public iObject, public Object { - DECLARE_REF; -private: - ePtr m_runningService; + DECLARE_REF(eNavigation); + int m_decoder; ePtr m_servicehandler; - Signal2 m_event; + + ePtr m_runningService; + Signal1 m_event; ePtr m_service_event_conn; void serviceEvent(iPlayableService* service, int event); - - ePtr m_playlist; + + std::map, ePtr, std::less > m_recordings; + std::set, std::less > m_simulate_recordings; + + Signal2,int> m_record_event; + void recordEvent(iRecordableService* service, int event); + + friend class eFCCServiceManager; + ePtr m_fccmgr; + public: - 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 */ - }; RESULT playService(const eServiceReference &service); - RESULT enqueueService(const eServiceReference &service); - RESULT connectEvent(const Slot2 &event, ePtr &connection); + RESULT connectEvent(const Slot1 &event, ePtr &connection); + RESULT connectRecordEvent(const Slot2,int> &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, bool simulate=false); + RESULT stopRecordService(ePtr &service); + PyObject *getRecordings(bool simulate=false); + RESULT pause(int p); - eNavigation(iServiceHandler *serviceHandler); + eNavigation(iServiceHandler *serviceHandler, int decoder = 0); virtual ~eNavigation(); };