add transfer bps to service interface (requires touching enigma_python.i)
[enigma2.git] / lib / service / servicefs.h
index 9d49b42..eabdd3c 100644 (file)
@@ -3,9 +3,9 @@
 
 #include <lib/service/iservice.h>
 
-class eServiceFactoryFS: public virtual iServiceHandler, public virtual iObject
+class eServiceFactoryFS: public iServiceHandler
 {
-DECLARE_REF;
+       DECLARE_REF(eServiceFactoryFS);
 public:
        eServiceFactoryFS();
        virtual ~eServiceFactoryFS();
@@ -15,19 +15,32 @@ public:
        RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
        RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
        RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
+       RESULT info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr);
+       RESULT offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &ptr);
+private:
+       ePtr<iStaticServiceInformation> m_service_information;
 };
 
-class eServiceFS: public virtual iListableService, public virtual iObject
+class eServiceFS: public iListableService
 {
-DECLARE_REF;
-private:
-       eString path;
+       DECLARE_REF(eServiceFS);
+       std::string path;
        friend class eServiceFactoryFS;
-       eServiceFS(const char *path);
+       eServiceFS(const char *path, const char *additional_extensions=0);
+       std::map<int, std::list<std::string> > m_additional_extensions;
+       
+       int m_list_valid;
+       std::list<eServiceReference> m_list;
+       int getServiceTypeForExtension(const char *str);
+       int getServiceTypeForExtension(const std::string &str);
 public:
        virtual ~eServiceFS();
-       
-       RESULT getContent(std::list<eServiceReference> &list);
+
+       RESULT getContent(std::list<eServiceReference> &list, bool sorted=false);
+       PyObject *getContent(const char *format, bool sorted=false);
+       RESULT getNext(eServiceReference &ptr);
+       int compareLessEqual(const eServiceReference &, const eServiceReference &);
+       RESULT startEdit(ePtr<iMutableServiceList> &);
 };
 
 #endif