/* chid helper functions: */
/* heuristically determine if onid/tsid is valid */
- int isValidONIDTSID(eOriginalNetworkID onid, eTransportStreamID tsid);
+ int isValidONIDTSID(int orbital_position, eOriginalNetworkID onid, eTransportStreamID tsid);
/* build dvb namespace */
eDVBNamespace buildNamespace(eOriginalNetworkID onid, eTransportStreamID tsid, unsigned long hash);
std::map<eDVBChannelID, ePtr<iDVBFrontendParameters> > m_new_channels;
std::map<eServiceReferenceDVB, ePtr<eDVBService> > m_new_services;
+ std::map<eServiceReferenceDVB, ePtr<eDVBService> >::iterator m_last_service;
std::list<ePtr<iDVBFrontendParameters> > m_ch_toScan, m_ch_scanned, m_ch_unavailable;
ePtr<iDVBFrontendParameters> m_ch_current;
int m_flags;
public:
- eDVBScan(iDVBChannel *channel);
+ eDVBScan(iDVBChannel *channel, bool debug=false);
~eDVBScan();
-
- enum { scanNetworkSearch = 1, scanSearchBAT = 2 };
+
+ enum { scanNetworkSearch = 1, scanSearchBAT = 2, scanRemoveServices = 4, scanDontRemoveFeeds=8 };
void start(const eSmartPtrList<iDVBFrontendParameters> &known_transponders, int flags);
- enum { evtUpdate, evtFinish, evtFail };
- RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection);
- void insertInto(iDVBChannelList *db);
+ enum { evtUpdate, evtNewService, evtFinish, evtFail };
+ RESULT connectEvent(const Slot1<void,int> &event, ePtr<eConnection> &connection);
+ void insertInto(iDVBChannelList *db, bool dontRemoveNewFlags=false);
void getStats(int &transponders_done, int &transponders_total, int &services);
+ void getLastServiceName(std::string &name);
};
#endif