+////////////////// TODO: we need an interface here, but what exactly?
+
+#include <set>
+// btw, still implemented in db.cpp. FIX THIS, TOO.
+
+class eDVBChannelQuery;
+
+class eDVBService: public iStaticServiceInformation
+{
+ DECLARE_REF(eDVBService);
+public:
+ enum cacheID
+ {
+ cVPID, cAPID, cTPID, cPCRPID, cAC3PID, cacheMax
+ };
+
+ int getCachePID(cacheID);
+ void setCachePID(cacheID, int);
+ bool cacheEmpty() { return m_cache.empty(); }
+
+ eDVBService();
+ std::string m_service_name;
+ std::string m_provider_name;
+
+ int m_flags;
+ std::set<int> m_ca;
+ std::map<int,int> m_cache;
+ virtual ~eDVBService();
+
+ eDVBService &operator=(const eDVBService &);
+
+ // iStaticServiceInformation
+ RESULT getName(const eServiceReference &ref, std::string &name);
+ int getLength(const eServiceReference &ref);
+
+ // for filtering:
+ int checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query);
+};
+
+//////////////////
+