+ RESULT getNextResult(eServiceReferenceDVB &ref);
+};
+
+class eDVBDBBouquetQuery: public eDVBDBQueryBase
+{
+ std::list<eServiceReference>::iterator m_cursor;
+public:
+ eDVBDBBouquetQuery(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query);
+ RESULT getNextResult(eServiceReferenceDVB &ref);
+};
+
+class eDVBDBListQuery: public eDVBDBQueryBase
+{
+protected:
+ std::list<eServiceReferenceDVB> m_list;
+ std::list<eServiceReferenceDVB>::iterator m_cursor;
+public:
+ eDVBDBListQuery(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query);
+ RESULT getNextResult(eServiceReferenceDVB &ref);
+ int compareLessEqual(const eServiceReferenceDVB &a, const eServiceReferenceDVB &b);
+};
+
+class eDVBDBSatellitesQuery: public eDVBDBListQuery
+{
+public:
+ eDVBDBSatellitesQuery(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query);
+};
+
+class eDVBDBProvidersQuery: public eDVBDBListQuery
+{
+public:
+ eDVBDBProvidersQuery(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query);