X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/cae42942341da662731d22562ddaf098021b6363..e059d69c2ce61b1ba1ae2e0b9c75eb53bb26f1bb:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index a0c1cbc7..033d13d3 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -233,11 +234,18 @@ RESULT eDVBPVRServiceOfflineOperations::deleteFromDisk(int simulate) if (getListOfFilenames(res)) return -1; + eBackgroundFileEraser *eraser = eBackgroundFileEraser::getInstance(); + if (!eraser) + eDebug("FATAL !! can't get background file eraser"); + /* TODO: deferred removing.. */ for (std::list::iterator i(res.begin()); i != res.end(); ++i) { eDebug("Removing %s...", i->c_str()); - ::unlink(i->c_str()); + if (eraser) + eraser->erase(i->c_str()); + else + ::unlink(i->c_str()); } return 0; @@ -248,10 +256,25 @@ RESULT eDVBPVRServiceOfflineOperations::getListOfFilenames(std::list