X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/f15ee3f6cd34e4552f50dcc92a994198ed3b2dfe..654f9ddcbd850acbd23cb0b568632268cfd26f22:/lib/dvb/db.cpp diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index 8892e4e1..17196f05 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -1,6 +1,8 @@ #include #include +#include #include +#include #include #include #include @@ -138,8 +140,8 @@ void eDVBService::genSortName() RESULT eDVBService::getName(const eServiceReference &ref, std::string &name) { - if (!ref.name.empty()) - name = ref.name; + if (!ref.name.empty()) + name = ref.name; // use renamed service name.. else if (!m_service_name.empty()) name = m_service_name; else @@ -147,9 +149,24 @@ RESULT eDVBService::getName(const eServiceReference &ref, std::string &name) return 0; } -int eDVBService::getLength(const eServiceReference &ref) +RESULT eDVBService::getEvent(const eServiceReference &ref, ePtr &ptr, time_t start_time) { - return -1; + return eEPGCache::getInstance()->lookupEventTime(ref, start_time, ptr); +} + +bool eDVBService::isPlayable(const eServiceReference &ref, const eServiceReference &ignore) +{ + ePtr res_mgr; + if ( eDVBResourceManager::getInstance( res_mgr ) ) + eDebug("isPlayble... no res manager!!"); + else + { + eDVBChannelID chid, chid_ignore; + ((const eServiceReferenceDVB&)ref).getChannelID(chid); + ((const eServiceReferenceDVB&)ignore).getChannelID(chid_ignore); + return res_mgr->canAllocateChannel(chid, chid_ignore); + } + return false; } int eDVBService::checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query)