X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e2375bfc1b4681915791b7e667277ddebfb82e02..ecf05a2de9a95814a3efdc3dafa0a10ad343f82a:/lib/dvb/db.cpp diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index 19339470..72977e73 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -476,6 +476,7 @@ void eDVBDB::saveServicelist() 0); fprintf(f, "%s\n", i->second->m_service_name.c_str()); + fprintf(f, "p:%s", i->second->m_provider_name.c_str()); // write cached pids @@ -488,6 +489,9 @@ void eDVBDB::saveServicelist() ca != i->second->m_ca.end(); ++ca) fprintf(f, ",C:%04x", *ca); + if (i->second->m_flags) + fprintf(f, ",f:%x", i->second->m_flags); + fprintf(f, "\n"); services++; } @@ -760,6 +764,22 @@ RESULT eDVBDB::startQuery(ePtr &query, eDVBChannelQuery *q return 0; } +eServiceReference eDVBDB::searchReference(int tsid, int onid, int sid) +{ + eServiceID Sid(sid); + eTransportStreamID Tsid(tsid); + eOriginalNetworkID Onid(onid); + for (std::map >::iterator sit(m_services.begin()); + sit != m_services.end(); ++sit) + { + if (sit->first.getTransportStreamID() == Tsid && + sit->first.getOriginalNetworkID() == Onid && + sit->first.getServiceID() == Sid) + return sit->first; + } + return eServiceReference(); +} + DEFINE_REF(eDVBDBQueryBase); eDVBDBQueryBase::eDVBDBQueryBase(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query)