4 #include <lib/dvb/idvb.h>
7 class ServiceDescriptionTable;
9 class eDVBDB: public iDVBChannelList
12 friend class eDVBDBQuery;
16 ePtr<iDVBFrontendParameters> m_frontendParameters;
19 std::map<eDVBChannelID, channel> m_channels;
21 std::map<eServiceReferenceDVB, ePtr<eDVBService> > m_services;
26 RESULT addChannelToList(const eDVBChannelID &id, iDVBFrontendParameters *feparm);
27 RESULT removeChannel(const eDVBChannelID &id);
29 RESULT getChannelFrontendData(const eDVBChannelID &id, ePtr<iDVBFrontendParameters> &parm);
31 RESULT addService(const eServiceReferenceDVB &service, eDVBService *service);
32 RESULT getService(const eServiceReferenceDVB &reference, ePtr<eDVBService> &service);
34 RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query);
37 // we have to add a possibility to invalidate here.
38 class eDVBDBQuery: public iDVBChannelListQuery
40 DECLARE_REF(eDVBDBQuery);
42 std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator m_cursor;
44 ePtr<eDVBChannelQuery> m_query;
46 eDVBDBQuery(eDVBDB *db, eDVBChannelQuery *query);
47 virtual RESULT getNextResult(eServiceReferenceDVB &ref);