code cleanup
[enigma2.git] / lib / dvb / epgcache.h
index d27c4b3e0a220ed662c8e9bd0e9a117e234c43b9..fb37b20d2807260b1c0bbfb78c10e5af68e38f13 100644 (file)
@@ -2,7 +2,6 @@
 #define __epgcache_h_
 
 #define ENABLE_PRIVATE_EPG 1
-#define NEED_DEMUX_WORKAROUND 1
 
 #ifndef SWIG
 
@@ -153,7 +152,7 @@ class eEPGCache: public eMainloop, private eThread, public Object
                eEPGCache *cache;
                eTimer abortTimer, zapTimer;
                int prevChannelState;
-               __u8 state, isRunning, haveData, can_delete;
+               __u8 state, isRunning, haveData;
                ePtr<eDVBChannel> channel;
                ePtr<eConnection> m_stateChangedConn, m_NowNextConn, m_ScheduleConn, m_ScheduleOtherConn;
                ePtr<iDVBSectionReader> m_NowNextReader, m_ScheduleReader, m_ScheduleOtherReader;
@@ -168,6 +167,9 @@ class eEPGCache: public eMainloop, private eThread, public Object
                std::set<__u8> seenPrivateSections;
                void readPrivateData(const __u8 *data);
                void startPrivateReader();
+               bool canDelete() { return !isRunning && !m_PrivateConn; }
+#else
+               bool canDelete() { return !isRunning; }
 #endif
                void readData(const __u8 *data);
                void startChannel();
@@ -176,8 +178,9 @@ class eEPGCache: public eMainloop, private eThread, public Object
                void abortEPG();
                void abortNonAvail();
        };
+       void FixOverlapping(std::pair<eventMap,timeMap> &servicemap, time_t TM, int duration, const timeMap::iterator &tm_it, const uniqueEPGKey &service);
 public:
-       enum {NOWNEXT=1, SCHEDULE=2, SCHEDULE_OTHER=4};
+       enum {PRIVATE=0, NOWNEXT=1, SCHEDULE=2, SCHEDULE_OTHER=4};
        struct Message
        {
                enum