X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdvb%2Fdvbtime.h;h=c49e67e3905f3a38bc42a8060e9ac0acb257e769;hb=3607b109c546c9bbd030168e45733666433ffca0;hp=debbbff9cdc3a5bf2ce33937c5329da9e8f1047e;hpb=17f0a48b8816b223f684b8deb227ab333e9e8725;p=vuplus_dvbapp diff --git a/lib/dvb/dvbtime.h b/lib/dvb/dvbtime.h index debbbff..c49e67e 100644 --- a/lib/dvb/dvbtime.h +++ b/lib/dvb/dvbtime.h @@ -25,13 +25,13 @@ inline int toBCD(int dec) return int(dec/10)*0x10 + dec%10; } -time_t parseDVBtime(__u8 t1, __u8 t2, __u8 t3, __u8 t4, __u8 t5); +time_t parseDVBtime(__u8 t1, __u8 t2, __u8 t3, __u8 t4, __u8 t5, __u16 *hash=0); class TDT: public eGTable { eDVBChannel *chan; ePtr demux; - eTimer m_interval_timer; + ePtr m_interval_timer; int createTable(unsigned int nr, const __u8 *data, unsigned int max); void ready(int); int update_count; @@ -46,15 +46,17 @@ public: class eDVBLocalTimeHandler: public Object { + DECLARE_REF(eDVBLocalTimeHandler); struct channel_data { - TDT *tdt; + ePtr tdt; ePtr channel; ePtr m_stateChangedConn; int m_prevChannelState; }; + bool m_use_dvb_time; + ePtr m_updateNonTunedTimer; friend class TDT; - DECLARE_REF(eDVBLocalTimeHandler) std::map m_knownChannels; std::map m_timeOffsetMap; ePtr m_chanAddedConn; @@ -66,6 +68,7 @@ class eDVBLocalTimeHandler: public Object void readTimeOffsetData(const char*); void writeTimeOffsetData(const char*); void updateTime(time_t tp_time, eDVBChannel*, int updateCount); + void updateNonTuned(); static eDVBLocalTimeHandler *instance; #ifdef SWIG eDVBLocalTimeHandler(); @@ -76,6 +79,8 @@ public: eDVBLocalTimeHandler(); ~eDVBLocalTimeHandler(); #endif + bool getUseDVBTime() { return m_use_dvb_time; } + void setUseDVBTime(bool b); PSignal0 m_timeUpdated; bool ready() const { return m_time_ready; } static eDVBLocalTimeHandler *getInstance() { return instance; }