X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d5e22a275d2ecdf3205bfefa927be6e125ac27b8..6697d92b1ff23a236c7ebdf706fb6d6c32a399b1:/lib/service/servicefs.cpp diff --git a/lib/service/servicefs.cpp b/lib/service/servicefs.cpp index 739dd0a6..057498d7 100644 --- a/lib/service/servicefs.cpp +++ b/lib/service/servicefs.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include @@ -11,12 +12,12 @@ #include #include - class eStaticServiceFSInformation: public iStaticServiceInformation { DECLARE_REF(eStaticServiceFSInformation); public: RESULT getName(const eServiceReference &ref, std::string &name); + int getLength(const eServiceReference &ref) { return -1; } }; DEFINE_REF(eStaticServiceFSInformation); @@ -32,7 +33,7 @@ eServiceFactoryFS::eServiceFactoryFS() { ePtr sc; - eServiceCenter::getInstance(sc); + eServiceCenter::getPrivInstance(sc); if (sc) sc->addServiceFactory(eServiceFactoryFS::id, this); @@ -43,7 +44,7 @@ eServiceFactoryFS::~eServiceFactoryFS() { ePtr sc; - eServiceCenter::getInstance(sc); + eServiceCenter::getPrivInstance(sc); if (sc) sc->removeServiceFactory(eServiceFactoryFS::id); } @@ -75,6 +76,12 @@ RESULT eServiceFactoryFS::info(const eServiceReference &ref, ePtr &ptr) +{ + ptr = 0; + return -1; +} + // eServiceFS DEFINE_REF(eServiceFS); @@ -121,13 +128,15 @@ RESULT eServiceFS::getContent(std::list &list) list.push_back(service); } else { - eServiceReference service(eServiceFactoryFS::id, - eServiceReference::isDirectory| - eServiceReference::canDescent|eServiceReference::mustDescent| - eServiceReference::shouldSort|eServiceReference::sort1, - filename); - service.data[0] = 0; - list.push_back(service); + /* FIIIIIX ME */ + if (filename.substr(filename.size()-3) == ".ts") + { + eServiceReference service(eServiceFactoryDVB::id, + 0, + filename); + service.data[0] = 0; + list.push_back(service); + } } } return 0; @@ -144,7 +153,10 @@ RESULT eServiceFS::getNext(eServiceReference &ptr) } if (!m_list.size()) + { + ptr = eServiceReference(); return -ERANGE; + } ptr = m_list.front(); m_list.pop_front();