aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dvb/db.cpp11
-rw-r--r--lib/dvb/db.h3
2 files changed, 10 insertions, 4 deletions
diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp
index b9d1108f..e1b19175 100644
--- a/lib/dvb/db.cpp
+++ b/lib/dvb/db.cpp
@@ -260,12 +260,17 @@ void eDVBService::setCacheEntry(cacheID id, int pid)
DEFINE_REF(eDVBDB);
- /* THIS CODE IS BAD. it should be replaced by somethine better. */
void eDVBDB::reloadServicelist()
{
+ loadServicelist(CONFIGDIR"/enigma2/lamedb");
+}
+
+ /* THIS CODE IS BAD. it should be replaced by somethine better. */
+void eDVBDB::loadServicelist(const char *file)
+{
eDebug("---- opening lame channel db");
- FILE *f=fopen(CONFIGDIR"/enigma2/lamedb", "rt");
- if (!f)
+ FILE *f=fopen(file, "rt");
+ if (!f && strcmp(file, CONFIGDIR"/enigma2/lamedb") == 0)
{
struct stat s;
if ( !stat("lamedb", &s) )
diff --git a/lib/dvb/db.h b/lib/dvb/db.h
index 44393afd..27ac368c 100644
--- a/lib/dvb/db.h
+++ b/lib/dvb/db.h
@@ -58,14 +58,15 @@ public:
RESULT getBouquet(const eServiceReference &ref, eBouquet* &bouquet);
//////
- void saveServicelist();
void loadBouquet(const char *path);
eServiceReference searchReference(int tsid, int onid, int sid);
eDVBDB();
virtual ~eDVBDB();
#endif
+ void loadServicelist(const char *filename);
static eDVBDB *getInstance() { return instance; }
void reloadServicelist();
+ void saveServicelist();
void reloadBouquets();
};