+ int getPVRChannel(ePtr<iDVBPVRChannel> &pvr_channel);
+ int getServiceReference(eServiceReferenceDVB &service) { service = m_reference; return 0; }
+ int getService(ePtr<eDVBService> &service) { service = m_service; return 0; }
+ int getPMT(ePtr<eTable<ProgramMapSection> > &ptr) { return m_PMT.getCurrent(ptr); }
+ int getChannel(eUsePtr<iDVBChannel> &channel);
+
+ int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0);
+ void free();
+private:
+ bool m_have_cached_program;
+ program m_cached_program;