add lcd-includes
[enigma2.git] / lib / dvb / idvb.h
index 764c4556d800daa0de4ca92ba107ce4433536cc1..d353611d01d815b2e0aed29a575bd9f88688a382 100644 (file)
 #include <libsig_comp.h>
 #include <connection.h>
 
+struct eBouquet
+{
+       std::string m_bouquet_name;
+       std::string m_path;
+       std::list<eServiceReference> m_services;
+};
+
                // bitte KEINE operator int() definieren, sonst bringt das ganze nix!
 struct eTransportStreamID
 {
@@ -237,6 +244,7 @@ public:
        
                /* sort is only valid in root, and must be from the enum above. */
        int m_sort;
+       std::string m_bouquet_name;
        
        static RESULT compile(ePtr<eDVBChannelQuery> &res, std::string query);
        
@@ -254,7 +262,9 @@ public:
        virtual RESULT addService(const eServiceReferenceDVB &service, eDVBService *service)=0;
        virtual RESULT getService(const eServiceReferenceDVB &reference, ePtr<eDVBService> &service)=0;
 
-       virtual RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query)=0;
+       virtual RESULT getBouquet(const eServiceReference &ref, const eBouquet* &bouquet)=0;
+
+       virtual RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query, const eServiceReference &source)=0;
 };
 
 class SatelliteDeliverySystemDescriptor;
@@ -468,6 +478,7 @@ public:
        
        virtual RESULT getLength(pts_t &pts) = 0;
        virtual RESULT getCurrentPosition(pts_t &pos) = 0;
+       virtual RESULT seekTo(pts_t &pts) = 0;
        
        // seekTo ...
 };
@@ -484,6 +495,7 @@ public:
        virtual RESULT getMPEGDecoder(ePtr<iTSMPEGDecoder> &reader)=0;
        virtual RESULT getSTC(pts_t &pts)=0;
        virtual RESULT getCADemuxID(uint8_t &id)=0;
+       virtual RESULT flush()=0;
 };
 
 class iTSMPEGDecoder: public iObject