aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicefs.h
blob: 9d49b42d71194d13c3c172d6c6f7f853a67971b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef __servicefs_h
#define __servicefs_h

#include <lib/service/iservice.h>

class eServiceFactoryFS: public virtual iServiceHandler, public virtual iObject
{
DECLARE_REF;
public:
	eServiceFactoryFS();
	virtual ~eServiceFactoryFS();
	enum { id = 0x2 };

		// iServiceHandler
	RESULT play(const eServiceReference &, ePtr<iPlayableService> &ptr);
	RESULT record(const eServiceReference &, ePtr<iRecordableService> &ptr);
	RESULT list(const eServiceReference &, ePtr<iListableService> &ptr);
};

class eServiceFS: public virtual iListableService, public virtual iObject
{
DECLARE_REF;
private:
	eString path;
	friend class eServiceFactoryFS;
	eServiceFS(const char *path);
public:
	virtual ~eServiceFS();
	
	RESULT getContent(std::list<eServiceReference> &list);
};

#endif