X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fservice%2Fservicefs.h;h=eabdd3c711e099fdb02dad671e8f35ddd4e11d81;hp=9d49b42d71194d13c3c172d6c6f7f853a67971b6;hb=2e0270746af934180499931f95ed91c444c8233e;hpb=d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5 diff --git a/lib/service/servicefs.h b/lib/service/servicefs.h index 9d49b42..eabdd3c 100644 --- a/lib/service/servicefs.h +++ b/lib/service/servicefs.h @@ -3,9 +3,9 @@ #include -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 &ptr); RESULT record(const eServiceReference &, ePtr &ptr); RESULT list(const eServiceReference &, ePtr &ptr); + RESULT info(const eServiceReference &, ePtr &ptr); + RESULT offlineOperations(const eServiceReference &, ePtr &ptr); +private: + ePtr 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 > m_additional_extensions; + + int m_list_valid; + std::list m_list; + int getServiceTypeForExtension(const char *str); + int getServiceTypeForExtension(const std::string &str); public: virtual ~eServiceFS(); - - RESULT getContent(std::list &list); + + RESULT getContent(std::list &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 &); }; #endif