git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
set frontend state to stateTuning when tuneloop starts.. ( to avoid false lostlock...
[enigma2.git]
/
lib
/
dvb
/
db.cpp
diff --git
a/lib/dvb/db.cpp
b/lib/dvb/db.cpp
index 65b42def034e07c8575ac41556249b3d8916c595..ad2996f913fa7f1ca984c29494119b260d5eccdc 100644
(file)
--- a/
lib/dvb/db.cpp
+++ b/
lib/dvb/db.cpp
@@
-220,13
+220,16
@@
int eDVBService::getCachePID(cacheID id)
void eDVBService::setCachePID(cacheID id, int pid)
{
void eDVBService::setCachePID(cacheID id, int pid)
{
- m_cache[id] = pid;
+ if (pid == -1)
+ m_cache.erase(id);
+ else
+ m_cache[id] = pid;
}
DEFINE_REF(eDVBDB);
/* THIS CODE IS BAD. it should be replaced by somethine better. */
}
DEFINE_REF(eDVBDB);
/* THIS CODE IS BAD. it should be replaced by somethine better. */
-void eDVBDB::
load
()
+void eDVBDB::
reloadServicelist
()
{
eDebug("---- opening lame channel db");
FILE *f=fopen(CONFIGDIR"/enigma2/lamedb", "rt");
{
eDebug("---- opening lame channel db");
FILE *f=fopen(CONFIGDIR"/enigma2/lamedb", "rt");
@@
-236,7
+239,7
@@
void eDVBDB::load()
if ( !stat("lamedb", &s) )
{
rename("lamedb", CONFIGDIR"/enigma2/lamedb" );
if ( !stat("lamedb", &s) )
{
rename("lamedb", CONFIGDIR"/enigma2/lamedb" );
-
load
();
+
reloadServicelist
();
}
return;
}
}
return;
}
@@
-357,7
+360,6
@@
void eDVBDB::load()
fgets(line, 256, f);
if (strlen(line))
line[strlen(line)-1]=0;
fgets(line, 256, f);
if (strlen(line))
line[strlen(line)-1]=0;
-
std::string str=line;
if (str[1]!=':') // old ... (only service_provider)
std::string str=line;
if (str[1]!=':') // old ... (only service_provider)
@@
-404,7
+406,7
@@
void eDVBDB::load()
fclose(f);
}
fclose(f);
}
-void eDVBDB::save()
+void eDVBDB::save
Servicelist
()
{
eDebug("---- saving lame channel db");
FILE *f=fopen(CONFIGDIR"/enigma2/lamedb", "w");
{
eDebug("---- saving lame channel db");
FILE *f=fopen(CONFIGDIR"/enigma2/lamedb", "w");
@@
-581,8
+583,9
@@
void eDVBDB::loadBouquet(const char *path)
eDebug("%d entries in Bouquet %s", entries, bouquet_name.c_str());
}
eDebug("%d entries in Bouquet %s", entries, bouquet_name.c_str());
}
-void eDVBDB::loadBouquets()
+void eDVBDB::
re
loadBouquets()
{
{
+ m_bouquets.clear();
loadBouquet("bouquets.tv");
loadBouquet("bouquets.radio");
// create default bouquets when missing
loadBouquet("bouquets.tv");
loadBouquet("bouquets.radio");
// create default bouquets when missing
@@
-620,15
+623,17
@@
void eDVBDB::loadBouquets()
}
}
}
}
+eDVBDB *eDVBDB::instance;
+
eDVBDB::eDVBDB()
{
eDVBDB::eDVBDB()
{
-
load()
;
-
loadBouquets
();
+
instance = this
;
+
reloadServicelist
();
}
eDVBDB::~eDVBDB()
{
}
eDVBDB::~eDVBDB()
{
-
// save()
;
+
instance=NULL
;
}
RESULT eDVBDB::addChannelToList(const eDVBChannelID &id, iDVBFrontendParameters *feparm)
}
RESULT eDVBDB::addChannelToList(const eDVBChannelID &id, iDVBFrontendParameters *feparm)
@@
-679,7
+684,7
@@
RESULT eDVBDB::getService(const eServiceReferenceDVB &reference, ePtr<eDVBServic
RESULT eDVBDB::flush()
{
RESULT eDVBDB::flush()
{
- save();
+ save
Servicelist
();
return 0;
}
return 0;
}