- fix initialisation
[enigma2.git] / lib / dvb / db.cpp
index fb41df91138bc99c2236a916a28d6614f9973f3c..6e3207e07b6b8373e90b7ed2bdf67b3419c67739 100644 (file)
@@ -2,6 +2,7 @@
 #include <lib/dvb/db.h>
 #include <lib/dvb/frontend.h>
 #include <lib/base/eerror.h>
+#include <lib/base/estring.h>
 #include <lib/dvb_si/sdt.h>
 #include <lib/dvb_si/descriptor_tag.h>
 #include <lib/dvb_si/service_descriptor.h>
@@ -29,7 +30,13 @@ eDVBService &eDVBService::operator=(const eDVBService &s)
 
 RESULT eDVBService::getName(const eServiceReference &ref, std::string &name)
 {
-       name = m_service_name;
+       name = convertDVBUTF8(m_service_name);
+       return 0;
+}
+
+int eDVBService::getLength(const eServiceReference &ref)
+{
+       return -1;
 }
 
 int eDVBService::checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query)
@@ -73,6 +80,19 @@ int eDVBService::checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQ
                return res;
 }
 
+int eDVBService::getCachePID(cacheID id)
+{
+       std::map<int, int>::iterator it = m_cache.find(id);
+       if ( it != m_cache.end() )
+               return it->second;
+       return -1;
+}
+
+void eDVBService::setCachePID(cacheID id, int pid)
+{
+       m_cache[id] = pid;
+}
+
 DEFINE_REF(eDVBDB);
 
 eDVBDB::eDVBDB()