change iFrontendInformation api
[enigma2.git] / lib / service / servicedvb.h
index 979a9cabae1ca58324a90bfda5b7a491a945240e..34ed9720f082393997e6dbdb521e1d16d090bb65 100644 (file)
@@ -71,11 +71,14 @@ 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);
-       PyObject *getFrontendData(bool);
+       PyObject *getFrontendData();
+       PyObject *getFrontendStatus();
+       PyObject *getTransponderData(bool);
+       PyObject *getAll(bool original); // a sum of getFrontendData/Status/TransponderData
 };
 
 class eSubtitleWidget; 
@@ -180,6 +183,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 +270,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