X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/49fe6e80f4664c97c95ea73001c3a8b34718b564..40d02f130ec7ce66be08013e33b2006fa1453299:/lib/service/servicedvb.h diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index e27f7ffd..81a6b743 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -33,8 +33,8 @@ class eDVBServiceList: public iListableService, public iMutableServiceList DECLARE_REF(eDVBServiceList); public: virtual ~eDVBServiceList(); + PyObject *getContent(const char* formatstr, bool sorted=false); RESULT getContent(std::list &list, bool sorted=false); - RESULT getContent(PyObject *list, bool sorted=false); RESULT getNext(eServiceReference &ptr); int compareLessEqual(const eServiceReference &a, const eServiceReference &b); @@ -69,6 +69,8 @@ public: RESULT connectEvent(const Slot2 &event, ePtr &connection); RESULT start(); RESULT stop(); + RESULT setTarget(int target); + RESULT seek(ePtr &ptr); RESULT pause(ePtr &ptr); RESULT info(ePtr &ptr); @@ -77,7 +79,6 @@ public: RESULT subServices(ePtr &ptr); RESULT timeshift(ePtr &ptr); RESULT cueSheet(ePtr &ptr); - // iPauseableService RESULT pause(); @@ -98,6 +99,7 @@ public: RESULT getEvent(ePtr &evt, int nownext); int getInfo(int w); std::string getInfoString(int w); + PyObject *getInfoObject(int w); // iAudioTrackSelection int getNumberOfTracks(); @@ -106,6 +108,7 @@ public: // iFrontendStatusInformation int getFrontendInfo(int w); + PyObject *getFrontendData(bool); // iSubserviceList int getNumberOfSubservices(); @@ -119,8 +122,8 @@ public: // iCueSheet PyObject *getCutList(); - RESULT addCut(const pts_t &when, int what); - RESULT removeCut(const pts_t &when, int what); + void setCutList(PyObject *); + void setCutListEnable(int enable); private: friend class eServiceFactoryDVB; @@ -129,6 +132,7 @@ private: ePtr m_dvb_service; ePtr m_decoder; + int m_is_primary; /* in timeshift mode, we essentially have two channels, and thus pmt handlers. */ eDVBServicePMTHandler m_service_handler, m_service_handler_timeshift; @@ -143,6 +147,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; @@ -164,6 +169,29 @@ private: int m_skipmode; ePtr m_cue; + + struct cueEntry + { + pts_t where; + unsigned int what; + + bool operator < (const struct cueEntry &o) const + { + return where < o.where; + } + cueEntry(const pts_t &where, unsigned int what) : + where(where), what(what) + { + } + }; + + std::multiset m_cue_entries; + int m_cuesheet_changed, m_cutlist_enabled; + + void loadCuesheet(); + void saveCuesheet(); + + void cutlistToCuesheet(); }; #endif