make delete working in movieMenu
[enigma2.git] / lib / service / servicemp3.cpp
index 1f883f944bfcf3632c83cba7098e37cb6da76b5b..f7a9fddc0082bd2fa0eadcb93405e427ef87f3f8 100644 (file)
@@ -13,18 +13,18 @@ eServiceFactoryMP3::eServiceFactoryMP3()
 {
        ePtr<eServiceCenter> 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<eServiceCenter> sc;
        
-       eServiceCenter::getInstance(sc);
+       eServiceCenter::getPrivInstance(sc);
        if (sc)
                sc->removeServiceFactory(eServiceFactoryMP3::id);
 }
@@ -51,34 +51,46 @@ RESULT eServiceFactoryMP3::list(const eServiceReference &, ePtr<iListableService
        return -1;
 }
 
-RESULT eServiceFactoryMP3::info(const eServiceReference &ref, ePtr<iServiceInformation> &ptr)
+RESULT eServiceFactoryMP3::info(const eServiceReference &ref, ePtr<iStaticServiceInformation> &ptr)
 {
        ptr = m_service_info;
        return 0;
 }
 
-// eServiceMP3Info
+RESULT eServiceFactoryMP3::offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &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,16 @@ RESULT eServiceMP3::stop()
        return 0;
 }
 
-RESULT eServiceMP3::getIPausableService(ePtr<iPauseableService> &ptr) { ptr=this; return 0; }
+RESULT eServiceMP3::pause(ePtr<iPauseableService> &ptr) { ptr=this; return 0; }
+RESULT eServiceMP3::seek(ePtr<iSeekableService> &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<iServiceInformation>&i) { i = this; return 0; }
+RESULT eServiceMP3::info(ePtr<iServiceInformation>&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;