X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/3ecd3b8d7f2d52fd7b5956c1fe08f926cc2a2858..eba98a3843d8358cd66d3d8a31b08771899ce705:/lib/service/servicedvb.h diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index 62d34169..34ed9720 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -44,7 +44,7 @@ public: PyObject *getContent(const char* formatstr, bool sorted=false); RESULT getContent(std::list &list, bool sorted=false); RESULT getNext(eServiceReference &ptr); - int compareLessEqual(const eServiceReference &a, const eServiceReference &b); + inline int compareLessEqual(const eServiceReference &a, const eServiceReference &b); RESULT startEdit(ePtr &); RESULT flushChanges(); @@ -63,14 +63,22 @@ private: eBouquet *m_bouquet; }; +inline int eDVBServiceList::compareLessEqual(const eServiceReference &a, const eServiceReference &b) +{ + return m_query->compareLessEqual((const eServiceReferenceDVB&)a, (const eServiceReferenceDVB&)b); +} + class eDVBServiceBase: public iFrontendInformation { protected: - eDVBServicePMTHandler m_service_handler ; + eDVBServicePMTHandler m_service_handler; public: // iFrontendInformation int getFrontendInfo(int w); - PyObject *getFrontendData(bool); + PyObject *getFrontendData(); + PyObject *getFrontendStatus(); + PyObject *getTransponderData(bool); + PyObject *getAll(bool original); // a sum of getFrontendData/Status/TransponderData }; class eSubtitleWidget; @@ -151,13 +159,14 @@ public: // iCueSheet PyObject *getCutList(); - void setCutList(PyObject *); + void setCutList(SWIG_PYOBJECT(ePyObject)); void setCutListEnable(int enable); // iSubtitleOutput - RESULT enableSubtitles(eWidget *parent, PyObject *entry); + RESULT enableSubtitles(eWidget *parent, SWIG_PYOBJECT(ePyObject) entry); RESULT disableSubtitles(eWidget *parent); PyObject *getSubtitleList(); + PyObject *getCachedSubtitle(); // iAudioDelay int getAC3Delay(); @@ -174,6 +183,7 @@ private: ePtr m_decoder; int m_is_primary; int m_have_video_pid; + int m_tune_state; /* in timeshift mode, we essentially have two channels, and thus pmt handlers. */ eDVBServicePMTHandler m_service_handler_timeshift; @@ -260,6 +270,22 @@ private: ePtr m_radiotext_parser; ePtr m_radiotext_updated_connection; void radioTextUpdated(); + + ePtr m_video_event_connection; + void video_event(struct iTSMPEGDecoder::videoEvent); + struct iTSMPEGDecoder::videoEvent m_videoEventData; +}; + +class eStaticServiceDVBBouquetInformation: public iStaticServiceInformation +{ + DECLARE_REF(eStaticServiceDVBBouquetInformation); + eServiceReference m_playable_service; +public: + eServiceReference &getPlayableService() { return m_playable_service; } + RESULT getName(const eServiceReference &ref, std::string &name); + int getLength(const eServiceReference &ref); + int isPlayable(const eServiceReference &ref, const eServiceReference &ignore); + RESULT getEvent(const eServiceReference &ref, ePtr &ptr, time_t start_time); }; #endif