X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4bc08995411e21f3564f09e136809be68ddf96a8..d2ceae9583bc62daa872c316f8952b9a6a416a69:/lib/service/servicemp3.cpp diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index 1f883f94..dc038a85 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -13,18 +13,18 @@ eServiceFactoryMP3::eServiceFactoryMP3() { ePtr sc; - eServiceCenter::getInstance(sc); + eServiceCenter::getPrivInstance(sc); if (sc) sc->addServiceFactory(eServiceFactoryMP3::id, this); - m_service_info = new eServiceMP3Info(); + m_service_info = new eStaticServiceMP3Info(); } eServiceFactoryMP3::~eServiceFactoryMP3() { ePtr sc; - eServiceCenter::getInstance(sc); + eServiceCenter::getPrivInstance(sc); if (sc) sc->removeServiceFactory(eServiceFactoryMP3::id); } @@ -51,34 +51,46 @@ RESULT eServiceFactoryMP3::list(const eServiceReference &, ePtr &ptr) +RESULT eServiceFactoryMP3::info(const eServiceReference &ref, ePtr &ptr) { ptr = m_service_info; return 0; } -// eServiceMP3Info +RESULT eServiceFactoryMP3::offlineOperations(const eServiceReference &, ePtr &ptr) +{ + ptr = 0; + return -1; +} + + +// eStaticServiceMP3Info -// eServiceMP3Info is seperated from eServiceMP3 to give information +// eStaticServiceMP3Info is seperated from eServiceMP3 to give information // about unopened files. -// probably eServiceMP3 should use this class as well, and eServiceMP3Info +// probably eServiceMP3 should use this class as well, and eStaticServiceMP3Info // should have a database backend where ID3-files etc. are cached. // this would allow listing the mp3 database based on certain filters. -DEFINE_REF(eServiceMP3Info) +DEFINE_REF(eStaticServiceMP3Info) -eServiceMP3Info::eServiceMP3Info() +eStaticServiceMP3Info::eStaticServiceMP3Info() { } -RESULT eServiceMP3Info::getName(const eServiceReference &ref, std::string &name) +RESULT eStaticServiceMP3Info::getName(const eServiceReference &ref, std::string &name) { name = "MP3 file: " + ref.path; return 0; } +int eStaticServiceMP3Info::getLength(const eServiceReference &ref) +{ + return -1; +} + // eServiceMP3 void eServiceMP3::test_end() @@ -134,15 +146,18 @@ RESULT eServiceMP3::stop() return 0; } -RESULT eServiceMP3::getIPausableService(ePtr &ptr) { ptr=this; return 0; } +RESULT eServiceMP3::pause(ePtr &ptr) { ptr=this; return 0; } +RESULT eServiceMP3::seek(ePtr &ptr) { ptr = 0; return -1; } + +RESULT eServiceMP3::audioTracks(ePtr &ptr) { ptr = 0; return -1; }; // iPausableService RESULT eServiceMP3::pause() { printf("mp3 pauses!\n"); return 0; } RESULT eServiceMP3::unpause() { printf("mp3 unpauses!\n"); return 0; } -RESULT eServiceMP3::getIServiceInformation(ePtr&i) { i = this; return 0; } +RESULT eServiceMP3::info(ePtr&i) { i = this; return 0; } -RESULT eServiceMP3::getName(const eServiceReference &ref, std::string &name) +RESULT eServiceMP3::getName(std::string &name) { name = "MP3 File: " + filename; return 0;