instance=0;
for (std::map<iDVBChannel*, channel_data>::iterator it=m_knownChannels.begin(); it != m_knownChannels.end(); ++it)
delete it->second.tdt;
+ if (ready())
+ {
+ eDebug("set RTC to previous valid time");
+ setRTC(nowTime());
+ }
}
void eDVBLocalTimeHandler::readTimeOffsetData( const char* filename )
#endif
public:
#ifndef SWIG
- PSignal0<void> m_timeUpdated;
eDVBLocalTimeHandler();
~eDVBLocalTimeHandler();
#endif
+ PSignal0<void> m_timeUpdated;
time_t nowTime() const { return m_time_ready ? ::time(0)+m_time_difference : -1; }
bool ready() const { return m_time_ready; }
int difference() const { return m_time_difference; }
install_DATA = \
FuzzyDate.py XMLTools.py Directories.py NumericalTextInput.py \
KeyBindings.py BoundFunction.py ISO639.py Notifications.py __init__.py \
- RedirectOutput.py DreamboxHardware.py Import.py Event.py CList.py
+ RedirectOutput.py DreamboxHardware.py Import.py Event.py CList.py \
+ RedirectTime.py
--- /dev/null
+import time
+from enigma import eDVBLocalTimeHandler
+
+org_time = time.time
+time_difference = eDVBLocalTimeHandler.getInstance().difference()
+
+def myTime():
+ global time_difference
+ t = org_time()
+ t += time_difference
+ return t
+
+def timeChangedCallback():
+ global time_difference
+ time_difference = eDVBLocalTimeHandler.getInstance().difference()
+
+eDVBLocalTimeHandler.getInstance().m_timeUpdated.get().append(timeChangedCallback)
+time.time = myTime
\ No newline at end of file
-all = ["FuzzyDate.py", "XMLTools.py", "Directories.py", "KeyBindings.py", "BoundFunction.py", "ISO639.py", "Notifications",
+all = ["RedirectTime.py", "FuzzyDate.py", "XMLTools.py", "Directories.py", "KeyBindings.py", "BoundFunction.py", "ISO639.py", "Notifications",
"RedirectOutput.py", "DreamboxHardware.py"]
%immutable eDVBResourceManager::frontendUseMaskChanged;
%immutable eAVSwitch::vcr_sb_notifier;
%immutable ePythonMessagePump::recv_msg;
+%immutable eDVBLocalTimeHandler::m_timeUpdated;
%include <lib/base/message.h>
%include <lib/base/console.h>
%include <lib/base/nconfig.h>
-from Tools import RedirectOutput
+from Tools import RedirectOutput, RedirectTime
from enigma import runMainloop, eDVBDB, eTimer, quitMainloop, eDVBVolumecontrol, \
getDesktop, ePythonConfigQuery, eAVSwitch, eWindow, eServiceEvent
from tools import *