X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d0899514fa9495013cb73c8ead8c5a5baaf49111..96bef29b4b14fa91d6cf7ff1439d5a8b4325e149:/lib/service/servicefs.cpp diff --git a/lib/service/servicefs.cpp b/lib/service/servicefs.cpp index 5b5957eb..c5846abd 100644 --- a/lib/service/servicefs.cpp +++ b/lib/service/servicefs.cpp @@ -33,7 +33,7 @@ eServiceFactoryFS::eServiceFactoryFS() { ePtr sc; - eServiceCenter::getInstance(sc); + eServiceCenter::getPrivInstance(sc); if (sc) sc->addServiceFactory(eServiceFactoryFS::id, this); @@ -44,7 +44,7 @@ eServiceFactoryFS::~eServiceFactoryFS() { ePtr sc; - eServiceCenter::getInstance(sc); + eServiceCenter::getPrivInstance(sc); if (sc) sc->removeServiceFactory(eServiceFactoryFS::id); } @@ -163,4 +163,16 @@ RESULT eServiceFS::getNext(eServiceReference &ptr) return 0; } +int eServiceFS::compareLessEqual(const eServiceReference &a, const eServiceReference &b) +{ + /* directories first */ + if ((a.flags & ~b.flags) & eServiceReference::isDirectory) + return 1; + else if ((~a.flags & b.flags) & eServiceReference::isDirectory) + return 0; + /* sort by filename */ + else + return a.path < b.path; +} + eAutoInitPtr init_eServiceFactoryFS(eAutoInitNumbers::service+1, "eServiceFactoryFS");