RESULT eDVBService::getName(const eServiceReference &ref, std::string &name)
{
name = m_service_name;
+ return 0;
+}
+
+int eDVBService::getLength(const eServiceReference &ref)
+{
+ return -1;
}
int eDVBService::checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query)
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()
RESULT eDVBDB::startQuery(ePtr<iDVBChannelListQuery> &query, eDVBChannelQuery *q)
{
- query = new eDVBDBQuery(this, q);
+ query = new eDVBDBQuery(this, eServiceReference(), q);
return 0;
}
DEFINE_REF(eDVBDBQuery);
-eDVBDBQuery::eDVBDBQuery(eDVBDB *db, eDVBChannelQuery *query): m_db(db), m_query(query)
+eDVBDBQuery::eDVBDBQuery(eDVBDB *db, const eServiceReference &source, eDVBChannelQuery *query): m_db(db), m_query(query)
{
+ // TODO: use SOURCE ...
m_cursor = m_db->m_services.begin();
}
return 0;
}
-RESULT eDVBChannelQuery::compile(ePtr<eDVBChannelQuery> &res, const eServiceReferenceDVB &source, std::string query)
+RESULT eDVBChannelQuery::compile(ePtr<eDVBChannelQuery> &res, std::string query)
{
std::list<std::string> tokens;
- m_source = source;
-
std::string current_token;
// eDebug("splitting %s....", query.c_str());