1 #ifndef __lib_dvb_servicefile_h
2 #define __lib_dvb_servicefile_h
4 #include <lib/dvb/service.h>
5 #include <lib/dvb/servicecache.h>
8 class eServiceFileHandler
: public eServiceHandler
10 eServiceCache
<eServiceFileHandler
> cache
;
11 static eServiceFileHandler
*instance
;
12 eServiceReference result
;
15 Signal2
<void,void*,const eString
&> fileHandlers
, directoryHandlers
;
16 void addReference(void *node
, const eServiceReference
&ref
);
18 static eServiceFileHandler
*getInstance() { return instance
; }
19 void loadNode(eServiceCache
<eServiceFileHandler
>::eNode
&node
, const eServiceReference
&ref
);
20 eService
*createService(const eServiceReference
&node
);
22 eServiceFileHandler();
23 ~eServiceFileHandler();
25 // service list functions
26 void enterDirectory(const eServiceReference
&dir
, Signal1
<void,const eServiceReference
&> &callback
);
27 void leaveDirectory(const eServiceReference
&dir
);
29 int deleteService(const eServiceReference
&dir
, const eServiceReference
&ref
);
31 eService
*addRef(const eServiceReference
&service
);
32 void removeRef(const eServiceReference
&service
);
34 int lookupService(eServiceReference
&, const char *filename
);