X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5..54bd4123728628a6f77bad2584b70d1353a91666:/lib/dvb/db.h diff --git a/lib/dvb/db.h b/lib/dvb/db.h index 763df7eb..55998ebf 100644 --- a/lib/dvb/db.h +++ b/lib/dvb/db.h @@ -4,25 +4,12 @@ #include #include -class eDVBService: public iObject -{ - DECLARE_REF; -public: - eDVBService(); - eString m_service_name; - eString m_provider_name; - - int m_flags; - std::set m_ca; - std::map m_cache; - virtual ~eDVBService(); -}; - class ServiceDescriptionTable; -class eDVBDB: public virtual iDVBChannelList +class eDVBDB: public iDVBChannelList { DECLARE_REF; + friend class eDVBDBQuery; private: struct channel { @@ -43,6 +30,21 @@ public: RESULT addService(const eServiceReferenceDVB &service, eDVBService *service); RESULT getService(const eServiceReferenceDVB &reference, ePtr &service); + + RESULT startQuery(ePtr &query, eDVBChannelQuery *query); +}; + + // we have to add a possibility to invalidate here. +class eDVBDBQuery: public iDVBChannelListQuery +{ +DECLARE_REF; +private: + std::map >::iterator m_cursor; + ePtr m_db; + ePtr m_query; +public: + eDVBDBQuery(eDVBDB *db, eDVBChannelQuery *query); + virtual RESULT getNextResult(eServiceReferenceDVB &ref); }; #endif