- hopefully fixed some python/refcount stuff (__deref__ is still evil!)
[enigma2.git] / lib / service / servicefs.h
1 #ifndef __servicefs_h
2 #define __servicefs_h
3
4 #include <lib/service/iservice.h>
5
6 class eServiceFactoryFS: public iServiceHandler
7 {
8 DECLARE_REF(eServiceFactoryFS);
9 public:
10         eServiceFactoryFS();
11         virtual ~eServiceFactoryFS();
12         enum { id = 0x2 };
13
14                 // iServiceHandler
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 private:
20         ePtr<iStaticServiceInformation> m_service_information;
21 };
22
23 class eServiceFS: public iListableService
24 {
25 DECLARE_REF(eServiceFS);
26 private:
27         std::string path;
28         friend class eServiceFactoryFS;
29         eServiceFS(const char *path);
30 public:
31         virtual ~eServiceFS();
32         
33         RESULT getContent(std::list<eServiceReference> &list);
34 };
35
36 #endif