#ifndef __lib_dvb_scan_h
#define __lib_dvb_scan_h
-#include <lib/dvb_si/nit.h>
-#include <lib/dvb_si/sdt.h>
-#include <lib/dvb_si/bat.h>
+#include <dvbsi++/network_information_section.h>
+#include <dvbsi++/service_description_section.h>
+#include <dvbsi++/bouquet_association_section.h>
#include <lib/dvb/idemux.h>
#include <lib/dvb/esection.h>
#include <lib/dvb/db.h>
eDVBNamespace buildNamespace(eOriginalNetworkID onid, eTransportStreamID tsid, unsigned long hash);
/* scan resources */
- ePtr<iDVBChannel> m_channel;
+ eUsePtr<iDVBChannel> m_channel;
ePtr<iDVBDemux> m_demux;
/* infrastructure */
std::list<ePtr<iDVBFrontendParameters> > m_ch_toScan, m_ch_scanned, m_ch_unavailable;
ePtr<iDVBFrontendParameters> m_ch_current;
+ eDVBChannelID m_chid_current;
- ePtr<eTable<ServiceDescriptionTable> > m_SDT;
- ePtr<eTable<NetworkInformationTable> > m_NIT;
- ePtr<eTable<BouquetAssociationTable> > m_BAT;
+ ePtr<eTable<ServiceDescriptionSection> > m_SDT;
+ ePtr<eTable<NetworkInformationSection> > m_NIT;
+ ePtr<eTable<BouquetAssociationSection> > m_BAT;
void SDTready(int err);
void NITready(int err);
void BATready(int err);
- void addChannel(const eDVBChannelID &chid, iDVBFrontendParameters *feparm);
+ void addKnownGoodChannel(const eDVBChannelID &chid, iDVBFrontendParameters *feparm);
+ void addChannelToScan(const eDVBChannelID &chid, iDVBFrontendParameters *feparm);
int sameChannel(iDVBFrontendParameters *ch1, iDVBFrontendParameters *ch2) const;
void channelDone();
Signal1<void,int> m_event;
- RESULT processSDT(eDVBNamespace dvbnamespace, const ServiceDescriptionTable &sdt);
+ RESULT processSDT(eDVBNamespace dvbnamespace, const ServiceDescriptionSection &sdt);
public:
eDVBScan(iDVBChannel *channel);
~eDVBScan();