use e2 functions to merge config and services
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Wed, 30 Apr 2008 00:40:12 +0000 (00:40 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Wed, 30 Apr 2008 00:40:12 +0000 (00:40 +0000)
lib/dvb/db.cpp
lib/dvb/db.h

index b9d1108f9dda534f80668988974e624da651b02b..e1b19175d62fb00227e3d720423c04797f9bda47 100644 (file)
@@ -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) )
index 44393afdfec43d5eae0e3d78e0545ab27c2b7712..27ac368c26b4b028c7f05e1c843b86fb5d8eb1f4 100644 (file)
@@ -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();
 };