X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fcomponents%2Fscan.cpp;fp=lib%2Fcomponents%2Fscan.cpp;h=fc2470f7a735947d3a1bfe06def7d40a34f21633;hb=d6e0b1fd881d459036f5b7ace9fa7a61f6bcce8f;hp=cfbff6d8be62e75528fb6d0478dd092a3fd11e30;hpb=a8644e3e187fa0301e72ad752b1c8f2a20e848e5;p=vuplus_dvbapp diff --git a/lib/components/scan.cpp b/lib/components/scan.cpp index cfbff6d..fc2470f 100644 --- a/lib/components/scan.cpp +++ b/lib/components/scan.cpp @@ -50,8 +50,38 @@ eComponentScan::~eComponentScan() { } +void eComponentScan::clear() +{ + m_initial.clear(); +} + +void eComponentScan::addInitial(const eDVBFrontendParametersSatellite &p) +{ + ePtr parm = new eDVBFrontendParameters(); + parm->setDVBS(p); + m_initial.push_back(parm); +} + +void eComponentScan::addInitial(const eDVBFrontendParametersCable &p) +{ + ePtr parm = new eDVBFrontendParameters(); + parm->setDVBC(p); + m_initial.push_back(parm); +} + +void eComponentScan::addInitial(const eDVBFrontendParametersTerrestrial &p) +{ + ePtr parm = new eDVBFrontendParameters(); + parm->setDVBT(p); + m_initial.push_back(parm); +} + + int eComponentScan::start() { + if (m_initial.empty()) + return -2; + if (m_done != -1) return -1; @@ -60,7 +90,8 @@ int eComponentScan::start() eDVBResourceManager::getInstance(mgr); - eDVBFrontendParameters *fe = new eDVBFrontendParameters(); +#if 0 + ePtr fe = new eDVBFrontendParameters(); #if 1 eDVBFrontendParametersSatellite fesat; @@ -86,6 +117,8 @@ int eComponentScan::start() fet.hierarchy = eDVBFrontendParametersTerrestrial::Hierarchy::HNone; fe->setDVBT(fet); #endif +#endif + eUsePtr channel; if (mgr->allocateRawChannel(channel)) @@ -96,11 +129,9 @@ int eComponentScan::start() std::list > list; - list.push_back(fe); - m_scan = new eDVBScan(channel); m_scan->connectEvent(slot(*this, &eComponentScan::scanEvent), m_scan_event_connection); - m_scan->start(list); + m_scan->start(m_initial); return 0; }