X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/28ddb2c21514dc49826847b38f60bf3a663be551..b96f203b700c91e463eff20889d734119530bce0:/lib/service/servicedvb.h diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index a07e4410..42e38013 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -58,7 +58,8 @@ private: class eDVBServicePlay: public iPlayableService, public iPauseableService, public iSeekableService, public Object, public iServiceInformation, public iAudioTrackSelection, public iFrontendStatusInformation, - public iSubserviceList, public iTimeshiftService + public iSubserviceList, public iTimeshiftService, + public iCueSheet { DECLARE_REF(eDVBServicePlay); public: @@ -75,6 +76,8 @@ public: RESULT frontendStatusInfo(ePtr &ptr); RESULT subServices(ePtr &ptr); RESULT timeshift(ePtr &ptr); + RESULT cueSheet(ePtr &ptr); + // iPauseableService RESULT pause(); @@ -114,6 +117,10 @@ public: int isTimeshiftActive(); RESULT activateTimeshift(); + // iCueSheet + PyObject *getCutList(); + void setCutList(PyObject *); + private: friend class eServiceFactoryDVB; eServiceReference m_reference; @@ -135,6 +142,7 @@ private: Signal2 m_event; int m_is_pvr, m_is_paused, m_timeshift_enabled, m_timeshift_active; + int m_first_program_info; std::string m_timeshift_file; int m_timeshift_fd; @@ -156,6 +164,27 @@ private: int m_skipmode; ePtr m_cue; + + struct cueEntry + { + pts_t where; + unsigned int what; + + bool operator < (const struct cueEntry &o) const + { + return what < o.what; + } + cueEntry(const pts_t &where, unsigned int what) : + where(where), what(what) + { + } + }; + + std::multiset m_cue_entries; + int m_cuesheet_changed; + + void loadCuesheet(); + void saveCuesheet(); }; #endif