+
+ RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query);
+};
+
+ // we have to add a possibility to invalidate here.
+class eDVBDBQuery: public iDVBChannelListQuery
+{
+DECLARE_REF(eDVBDBQuery);
+private:
+ std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator m_cursor;
+ ePtr<eDVBDB> m_db;
+ ePtr<eDVBChannelQuery> m_query;
+ eServiceReference m_source;
+public:
+ eDVBDBQuery(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query);
+ virtual RESULT getNextResult(eServiceReferenceDVB &ref);