4 #include <lib/service/iservice.h>
6 class eServiceFactoryFS: public iServiceHandler
8 DECLARE_REF(eServiceFactoryFS);
11 virtual ~eServiceFactoryFS();
15 RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
16 RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
17 RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
18 RESULT info(const eServiceReference &, ePtr<iStaticServiceInformation> &ptr);
19 RESULT offlineOperations(const eServiceReference &, ePtr<iServiceOfflineOperations> &ptr);
21 ePtr<iStaticServiceInformation> m_service_information;
24 class eServiceFS: public iListableService
26 DECLARE_REF(eServiceFS);
29 friend class eServiceFactoryFS;
30 eServiceFS(const char *path, const char *additional_extensions=0);
31 std::map<int, std::list<std::string> > m_additional_extensions;
34 std::list<eServiceReference> m_list;
35 int getServiceTypeForExtension(const char *str);
36 int getServiceTypeForExtension(const std::string &str);
38 virtual ~eServiceFS();
40 RESULT getContent(std::list<eServiceReference> &list, bool sorted=false);
41 PyObject *getContent(const char *format, bool sorted=false);
42 RESULT getNext(eServiceReference &ptr);
43 int compareLessEqual(const eServiceReference &, const eServiceReference &);
44 RESULT startEdit(ePtr<iMutableServiceList> &);