X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdvb%2Fepgcache.h;h=4d45d87ee0459f881501746217441ca932354eed;hp=dfd19482ca252b379e1e03e576e9e6c965489d3e;hb=864bab84ceacbaa2cf2814aa74f1379a0b9c8426;hpb=75b6f719972578d2bc553db3f30fa8a86c440df7 diff --git a/lib/dvb/epgcache.h b/lib/dvb/epgcache.h index dfd1948..4d45d87 100644 --- a/lib/dvb/epgcache.h +++ b/lib/dvb/epgcache.h @@ -6,10 +6,23 @@ #ifndef SWIG +/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ +#if defined (__GNUC__) && defined (__GNUC_MINOR__) +#define __GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +#define __GNUC_PREREQ(maj, min) 0 +#endif + #include #include +#if 0 && __GNUC_PREREQ(4,3) +#include +#include +#else #include #include +#endif #include @@ -92,7 +105,14 @@ struct hash_uniqueEPGKey }; #define tidMap std::set<__u32> -#if defined(__GNUC__) && ((__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || __GNUC__ == 4 ) // check if gcc version >= 3.1 +#if 0 && __GNUC_PREREQ(4,3) + #define eventCache std::unordered_map, hash_uniqueEPGKey, uniqueEPGKey::equal> + #ifdef ENABLE_PRIVATE_EPG + #define contentTimeMap std::unordered_map > + #define contentMap std::unordered_map + #define contentMaps std::unordered_map + #endif +#elif __GNUC_PREREQ(3,1) #define eventCache __gnu_cxx::hash_map, hash_uniqueEPGKey, uniqueEPGKey::equal> #ifdef ENABLE_PRIVATE_EPG #define contentTimeMap __gnu_cxx::hash_map > @@ -182,6 +202,7 @@ class eEPGCache: public eMainloop, private eThread, public Object ePtr m_MHWReader, m_MHWReader2; eDVBSectionFilterMask m_MHWFilterMask, m_MHWFilterMask2; ePtr m_MHWTimeoutTimer; + __u16 m_mhw2_channel_pid, m_mhw2_title_pid, m_mhw2_summary_pid; bool m_MHWTimeoutet; void MHWTimeout() { m_MHWTimeoutet=true; } void readMHWData(const __u8 *data); @@ -222,6 +243,9 @@ public: leaveChannel, quit, got_private_pid, + got_mhw2_channel_pid, + got_mhw2_title_pid, + got_mhw2_summary_pid, timeChanged }; int type;