fix locks ?!?
[enigma2.git] / lib / dvb / idvb.h
index 2c80a9b8368774d38c860cd562980a9b4c882649..997b2a882f7d129e49662f3c276c9a7b9d082557 100644 (file)
@@ -34,7 +34,7 @@ struct eBouquet
        list m_services;
 // the following five methods are implemented in db.cpp
        RESULT flushChanges();
-       RESULT addService(const eServiceReference &);
+       RESULT addService(const eServiceReference &, eServiceReference before=eServiceReference());
        RESULT removeService(const eServiceReference &);
        RESULT moveService(const eServiceReference &, unsigned int);
        RESULT setListName(const std::string &name);
@@ -235,7 +235,8 @@ public:
        enum cacheID
        {
                cVPID, cAPID, cTPID, cPCRPID, cAC3PID,
-               cVTYPE, cACHANNEL, cAC3DELAY, cPCMDELAY, cacheMax
+               cVTYPE, cACHANNEL, cAC3DELAY, cPCMDELAY,
+               cSUBTITLE, cacheMax
        };
 
        int getCacheEntry(cacheID);
@@ -271,7 +272,7 @@ public:
        // iStaticServiceInformation
        RESULT getName(const eServiceReference &ref, std::string &name);
        RESULT getEvent(const eServiceReference &ref, ePtr<eServiceEvent> &ptr, time_t start_time);
-       bool isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
+       int isPlayable(const eServiceReference &ref, const eServiceReference &ignore);
 
                /* for filtering: */
        int checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQuery &query);
@@ -362,7 +363,7 @@ public:
        virtual RESULT getDVBC(eDVBFrontendParametersCable &SWIG_OUTPUT) const = 0;
        virtual RESULT getDVBT(eDVBFrontendParametersTerrestrial &SWIG_OUTPUT) const = 0;
        
-       virtual RESULT calculateDifference(const iDVBFrontendParameters *parm, int &SWIG_OUTPUT) const = 0;
+       virtual RESULT calculateDifference(const iDVBFrontendParameters *parm, int &SWIG_OUTPUT, bool exact) const = 0;
        virtual RESULT getHash(unsigned long &SWIG_OUTPUT) const = 0;
 };