#ifndef __servicefs_h #define __servicefs_h #include class eServiceFactoryFS: public iServiceHandler { DECLARE_REF(eServiceFactoryFS); public: eServiceFactoryFS(); virtual ~eServiceFactoryFS(); enum { id = 0x2 }; // iServiceHandler 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 iListableService { DECLARE_REF(eServiceFS); std::string path; friend class eServiceFactoryFS; 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, 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