+bool eDVBService::cacheEmpty()
+{
+ if (m_cache)
+ for (int i=0; i < cacheMax; ++i)
+ if (m_cache[i] != -1)
+ return false;
+ return true;
+}
+
+void eDVBService::initCache()
+{
+ m_cache = new int[cacheMax];
+ memset(m_cache, -1, sizeof(int) * cacheMax);
+}
+
+void eDVBService::copyCache(int *source)
+{
+ if (source)
+ {
+ if (!m_cache)
+ m_cache = new int[cacheMax];
+ memcpy(m_cache, source, cacheMax * sizeof(int));
+ }
+ else
+ {
+ delete [] m_cache;
+ m_cache = 0;
+ }
+}
+
+int eDVBService::getCacheEntry(cacheID id)