diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-02-09 22:59:04 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-02-09 22:59:04 +0000 |
| commit | 54bd4123728628a6f77bad2584b70d1353a91666 (patch) | |
| tree | 51fe5fa7108c770670ce4304b6d704eff292722b /lib/dvb | |
| parent | d9ee52e4f0fbe9a1ae00d0e66f9e6f0a07fa319f (diff) | |
| download | enigma2-54bd4123728628a6f77bad2584b70d1353a91666.tar.gz enigma2-54bd4123728628a6f77bad2584b70d1353a91666.zip | |
- fixed console input mode restore
- added "scan" component
- scan possible from main menu
Diffstat (limited to 'lib/dvb')
| -rw-r--r-- | lib/dvb/idvb.h | 6 | ||||
| -rw-r--r-- | lib/dvb/scan.cpp | 9 | ||||
| -rw-r--r-- | lib/dvb/scan.h | 6 |
3 files changed, 19 insertions, 2 deletions
diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h index 15796166..4d728b4c 100644 --- a/lib/dvb/idvb.h +++ b/lib/dvb/idvb.h @@ -223,8 +223,14 @@ public: class iDVBChannelList: public iObject { public: + virtual RESULT addChannelToList(const eDVBChannelID &id, iDVBFrontendParameters *feparm)=0; + virtual RESULT removeChannel(const eDVBChannelID &id)=0; + virtual RESULT getChannelFrontendData(const eDVBChannelID &id, ePtr<iDVBFrontendParameters> &parm)=0; + + virtual RESULT addService(const eServiceReferenceDVB &service, eDVBService *service)=0; virtual RESULT getService(const eServiceReferenceDVB &reference, ePtr<eDVBService> &service)=0; + virtual RESULT startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *query)=0; }; diff --git a/lib/dvb/scan.cpp b/lib/dvb/scan.cpp index 322f35c3..65eb053c 100644 --- a/lib/dvb/scan.cpp +++ b/lib/dvb/scan.cpp @@ -298,7 +298,7 @@ void eDVBScan::start(const std::list<ePtr<iDVBFrontendParameters> > &known_trans nextChannel(); } -void eDVBScan::insertInto(eDVBDB *db) +void eDVBScan::insertInto(iDVBChannelList *db) { for (std::map<eDVBChannelID, ePtr<iDVBFrontendParameters> >::const_iterator ch(m_new_channels.begin()); ch != m_new_channels.end(); ++ch) @@ -377,3 +377,10 @@ RESULT eDVBScan::connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &c connection = new eConnection(this, m_event.connect(event)); return 0; } + +void eDVBScan::getStats(int &transponders_done, int &transponders_total, int &services) +{ + transponders_done = m_ch_scanned.size() + m_ch_unavailable.size(); + transponders_total = m_ch_toScan.size() + transponders_done; + services = m_new_services.size(); +} diff --git a/lib/dvb/scan.h b/lib/dvb/scan.h index f7cb5d26..3556eb20 100644 --- a/lib/dvb/scan.h +++ b/lib/dvb/scan.h @@ -4,6 +4,8 @@ #include <lib/dvb_si/nit.h> #include <lib/dvb_si/sdt.h> #include <lib/dvb_si/bat.h> +#include <lib/dvb/isection.h> +#include <lib/dvb/esection.h> #include <lib/dvb/db.h> class eDVBScan: public Object, public iObject @@ -65,7 +67,9 @@ public: enum { evtUpdate, evtFinish }; RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection); - void insertInto(eDVBDB *db); + void insertInto(iDVBChannelList *db); + + void getStats(int &transponders_done, int &transponders_total, int &services); }; #endif |
