X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/3bad22d5566624804a73b3791980bab2d84c8266..d7d291938c45893e28715fb12ae5b83d334084e9:/lib/service/servicefs.cpp diff --git a/lib/service/servicefs.cpp b/lib/service/servicefs.cpp index 4bdc11a9..5a945679 100644 --- a/lib/service/servicefs.cpp +++ b/lib/service/servicefs.cpp @@ -11,6 +11,21 @@ #include #include + +class eStaticServiceFSInformation: public iStaticServiceInformation +{ + DECLARE_REF; +public: + RESULT getName(const eServiceReference &ref, std::string &name); +}; + +DEFINE_REF(eStaticServiceFSInformation); + +RESULT eStaticServiceFSInformation::getName(const eServiceReference &ref, std::string &name) +{ + name = ref.path; +} + // eServiceFactoryFS eServiceFactoryFS::eServiceFactoryFS() @@ -20,6 +35,8 @@ eServiceFactoryFS::eServiceFactoryFS() eServiceCenter::getInstance(sc); if (sc) sc->addServiceFactory(eServiceFactoryFS::id, this); + + m_service_information = new eStaticServiceFSInformation(); } eServiceFactoryFS::~eServiceFactoryFS() @@ -52,6 +69,12 @@ RESULT eServiceFactoryFS::list(const eServiceReference &ref, ePtr &ptr) +{ + ptr = m_service_information; + return 0; +} + // eServiceFS DEFINE_REF(eServiceFS); @@ -74,7 +97,7 @@ RESULT eServiceFS::getContent(std::list &list) if (!(strcmp(e->d_name, ".") && strcmp(e->d_name, ".."))) continue; - eString filename; + std::string filename; filename = path; filename += e->d_name;