From 4ed3a1ba4db2e01d717149e350e867d23cdd1b7b Mon Sep 17 00:00:00 2001 From: ghost Date: Sun, 7 Nov 2010 10:36:59 +0100 Subject: [PATCH] use a notifier to immediate apply changed epg data file/path (it is then use on e2 shutdown to store the epg at the new position) --- lib/dvb/epgcache.cpp | 7 +++---- mytest.py | 4 +++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index 15248a6..8ac0c71 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -234,15 +234,14 @@ eEPGCache::eEPGCache() void eEPGCache::setCacheFile(const char *path) { - if (!strlen(m_filename)) + bool inited = !!strlen(m_filename); + strncpy(m_filename, path, 1024); + if (!inited) { - strncpy(m_filename, path, 1024); eDebug("[EPGC] setCacheFile read/write epg data from/to '%s'", m_filename); if (eDVBLocalTimeHandler::getInstance()->ready()) timeUpdated(); } - else - eDebug("[EPGC] setCacheFile already called... ignore '%s'", path); } void eEPGCache::timeUpdated() diff --git a/mytest.py b/mytest.py index 92e49ba..d34924b 100755 --- a/mytest.py +++ b/mytest.py @@ -58,7 +58,9 @@ config.misc.startCounter = ConfigInteger(default=0) # number of e2 starts... config.misc.standbyCounter = NoSave(ConfigInteger(default=0)) # number of standby config.misc.epgcache_filename = ConfigText(default = "/hdd/epg.dat") -eEPGCache.getInstance().setCacheFile(config.misc.epgcache_filename.value) +def setEPGCachePath(configElement): + eEPGCache.getInstance().setCacheFile(configElement.value) +config.misc.epgcache_filename.addNotifier(setEPGCachePath) #demo code for use of standby enter leave callbacks #def leaveStandby(): -- 2.7.4