show current running event in channelist not only in bouquets
[enigma2.git] / lib / service / servicedvb.h
index 979a9cabae1ca58324a90bfda5b7a491a945240e..c765e0e383ab00b39a5661609758b29c9cd5a2b9 100644 (file)
@@ -71,7 +71,7 @@ inline int eDVBServiceList::compareLessEqual(const eServiceReference &a, const e
 class eDVBServiceBase: public iFrontendInformation
 {
 protected:
-       eDVBServicePMTHandler m_service_handler ;
+       eDVBServicePMTHandler m_service_handler;
 public:
                // iFrontendInformation
        int getFrontendInfo(int w);
@@ -180,6 +180,7 @@ private:
        ePtr<iTSMPEGDecoder> 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;
@@ -266,6 +267,22 @@ private:
        ePtr<eDVBRadioTextParser> m_radiotext_parser;
        ePtr<eConnection> m_radiotext_updated_connection;
        void radioTextUpdated();
+
+       ePtr<eConnection> 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<eServiceEvent> &ptr, time_t start_time);
 };
 
 #endif